unfuck circular imports
This commit is contained in:
parent
04e3f5b522
commit
b7dbac0695
@ -20,9 +20,9 @@
|
||||
<iqser-circle-button
|
||||
(action)="editingOwner = true"
|
||||
*allow="roles.dossiers.edit; if: currentUser.isManager"
|
||||
[attr.help-mode-key]="'dashboard_in_dossier'"
|
||||
[icon]="'iqser:edit'"
|
||||
[tooltip]="'dossier-details.edit-owner' | translate"
|
||||
[attr.help-mode-key]="'dashboard_in_dossier'"
|
||||
class="ml-14"
|
||||
></iqser-circle-button>
|
||||
</ng-container>
|
||||
@ -49,7 +49,7 @@
|
||||
[strokeWidth]="15"
|
||||
[subtitles]="[
|
||||
'dossier-overview.dossier-details.charts.documents-in-dossier' | translate,
|
||||
'dossier-overview.dossier-details.charts.pages-in-dossier' | translate
|
||||
'dossier-overview.dossier-details.charts.pages-in-dossier' | translate,
|
||||
]"
|
||||
direction="row"
|
||||
></redaction-donut-chart>
|
||||
@ -59,8 +59,8 @@
|
||||
<div class="all-caps-label mb-8" translate="dossier-details.document-status"></div>
|
||||
<iqser-progress-bar
|
||||
*ngFor="let config of statusConfig"
|
||||
[config]="config"
|
||||
[attr.help-mode-key]="'dashboard_in_dossier'"
|
||||
[config]="config"
|
||||
filterKey="processingTypeFilters"
|
||||
></iqser-progress-bar>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,19 @@
|
||||
import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
|
||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
CircleButtonComponent,
|
||||
CircleButtonTypes,
|
||||
getConfig,
|
||||
IqserAllowDirective,
|
||||
IqserLoadingModule,
|
||||
ProgressBarConfigModel,
|
||||
Toaster,
|
||||
} from '@iqser/common-ui';
|
||||
import { FilterService, INestedFilter } from '@iqser/common-ui/lib/filtering';
|
||||
import { getCurrentUser, InitialsAvatarComponent } from '@iqser/common-ui/lib/users';
|
||||
import { ContextComponent, getParam, IqserTooltipPositions, shareLast } from '@iqser/common-ui/lib/utils';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import {
|
||||
DonutChartConfig,
|
||||
Dossier,
|
||||
@ -11,34 +26,20 @@ import {
|
||||
StatusSorter,
|
||||
User,
|
||||
} from '@red/domain';
|
||||
import { TranslateChartService } from '@services/translate-chart.service';
|
||||
import { UserService } from '@users/user.service';
|
||||
import {
|
||||
CircleButtonComponent,
|
||||
getConfig,
|
||||
IqserAllowDirective,
|
||||
IqserLoadingModule,
|
||||
ProgressBarConfigModel,
|
||||
Toaster,
|
||||
} from '@iqser/common-ui';
|
||||
import { workflowFileStatusTranslations } from '@translations/file-status-translations';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { combineLatestWith, firstValueFrom } from 'rxjs';
|
||||
import { DossierStatsService } from '@services/dossiers/dossier-stats.service';
|
||||
import { map, tap } from 'rxjs/operators';
|
||||
import { DossiersService } from '@services/dossiers/dossiers.service';
|
||||
import { FilesMapService } from '@services/files/files-map.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { getCurrentUser, InitialsAvatarComponent } from '@iqser/common-ui/lib/users';
|
||||
import { FilterService, INestedFilter } from '@iqser/common-ui/lib/filtering';
|
||||
import { ContextComponent, getParam, IqserTooltipPositions, shareLast } from '@iqser/common-ui/lib/utils';
|
||||
import { AsyncPipe, NgForOf, NgIf, NgTemplateOutlet } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { TeamMembersComponent } from '@shared/components/team-members/team-members.component';
|
||||
import { DonutChartComponent } from '@shared/components/donut-chart/donut-chart.component';
|
||||
import { TypeFilterComponent } from '@shared/components/type-filter/type-filter.component';
|
||||
import { DossierDetailsStatsComponent } from '../dossier-details-stats/dossier-details-stats.component';
|
||||
import { TranslateChartService } from '@services/translate-chart.service';
|
||||
import { AssignUserDropdownComponent } from '@shared/components/assign-user-dropdown/assign-user-dropdown.component';
|
||||
import { DonutChartComponent } from '@shared/components/donut-chart/donut-chart.component';
|
||||
import { TeamMembersComponent } from '@shared/components/team-members/team-members.component';
|
||||
import { TypeFilterComponent } from '@shared/components/type-filter/type-filter.component';
|
||||
import { workflowFileStatusTranslations } from '@translations/file-status-translations';
|
||||
import { Roles } from '@users/roles';
|
||||
import { UserService } from '@users/user.service';
|
||||
import { combineLatestWith, firstValueFrom } from 'rxjs';
|
||||
import { map, tap } from 'rxjs/operators';
|
||||
import { DossierDetailsStatsComponent } from '../dossier-details-stats/dossier-details-stats.component';
|
||||
|
||||
interface DossierDetailsContext {
|
||||
needsWorkFilters: INestedFilter[] | undefined;
|
||||
@ -59,7 +60,6 @@ interface DossierDetailsContext {
|
||||
CircleButtonComponent,
|
||||
IqserAllowDirective,
|
||||
TranslateModule,
|
||||
TeamMembersComponent,
|
||||
DonutChartComponent,
|
||||
IqserLoadingModule,
|
||||
NgForOf,
|
||||
@ -67,11 +67,13 @@ interface DossierDetailsContext {
|
||||
DossierDetailsStatsComponent,
|
||||
AssignUserDropdownComponent,
|
||||
InitialsAvatarComponent,
|
||||
TeamMembersComponent,
|
||||
],
|
||||
})
|
||||
export class DossierDetailsComponent extends ContextComponent<DossierDetailsContext> {
|
||||
#currentChartSubtitleIndex = 0;
|
||||
readonly #dossierId = getParam(DOSSIER_ID);
|
||||
protected readonly circleButtonTypes = CircleButtonTypes;
|
||||
@Input() dossierAttributes: DossierAttributeWithValue[];
|
||||
@Output() readonly toggleCollapse = new EventEmitter();
|
||||
editingOwner = false;
|
||||
|
||||
@ -42,7 +42,7 @@
|
||||
[dossier]="dossier()"
|
||||
></redaction-edit-dossier-download-package>
|
||||
|
||||
@defer (when activeNav() === 'dossierDictionary') {
|
||||
@if (activeNav() === 'dossierDictionary') {
|
||||
<redaction-edit-dossier-dictionary [dossier]="dossier()"></redaction-edit-dossier-dictionary>
|
||||
}
|
||||
|
||||
|
||||
@ -27,7 +27,6 @@ import { EditDossierDictionaryComponent } from './dictionary/edit-dossier-dictio
|
||||
import { EditDossierDownloadPackageComponent } from './download-package/edit-dossier-download-package.component';
|
||||
import { EditDossierSectionInterface } from './edit-dossier-section.interface';
|
||||
import { EditDossierTeamComponent } from './edit-dossier-team/edit-dossier-team.component';
|
||||
import { EditDossierTeamModule } from './edit-dossier-team/edit-dossier-team.module';
|
||||
import { EditDossierGeneralInfoComponent } from './general-info/edit-dossier-general-info.component';
|
||||
|
||||
type Section = 'dossierInfo' | 'downloadPackage' | 'dossierDictionary' | 'members' | 'dossierAttributes';
|
||||
@ -55,12 +54,12 @@ interface NavItem {
|
||||
EditDossierGeneralInfoComponent,
|
||||
EditDossierDownloadPackageComponent,
|
||||
EditDossierDictionaryComponent,
|
||||
EditDossierTeamModule,
|
||||
EditDossierAttributesComponent,
|
||||
IconButtonComponent,
|
||||
HelpButtonComponent,
|
||||
IqserDenyDirective,
|
||||
CircleButtonComponent,
|
||||
EditDossierTeamComponent,
|
||||
],
|
||||
})
|
||||
export class EditDossierDialogComponent extends BaseDialogComponent implements AfterViewInit {
|
||||
|
||||
@ -1,11 +1,19 @@
|
||||
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
|
||||
import { ChangeDetectionStrategy, Component, inject, Input, OnChanges, SimpleChanges } from '@angular/core';
|
||||
import { FormControl, FormGroup, Validators } from '@angular/forms';
|
||||
import { getConfig } from '@iqser/common-ui';
|
||||
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
||||
import { MatFormField } from '@angular/material/form-field';
|
||||
import { MatIcon } from '@angular/material/icon';
|
||||
import { MatOption, MatSelect } from '@angular/material/select';
|
||||
import { InitialsAvatarComponent } from '@common-ui/users';
|
||||
import { NamePipe } from '@common-ui/users/name.pipe';
|
||||
import { getConfig, InputWithActionComponent, RoundCheckboxComponent, StopPropagationDirective } from '@iqser/common-ui';
|
||||
import { Debounce } from '@iqser/common-ui/lib/utils';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { Dossier, IDossierRequest } from '@red/domain';
|
||||
import { DossiersService } from '@services/dossiers/dossiers.service';
|
||||
import { FilesService } from '@services/files/files.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { TeamMembersComponent } from '@shared/components/team-members/team-members.component';
|
||||
import { UserService } from '@users/user.service';
|
||||
import { compareLists } from '@utils/functions';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
@ -17,6 +25,24 @@ import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-doss
|
||||
templateUrl: './edit-dossier-team.component.html',
|
||||
styleUrls: ['./edit-dossier-team.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
standalone: true,
|
||||
imports: [
|
||||
ReactiveFormsModule,
|
||||
TranslateModule,
|
||||
MatFormField,
|
||||
MatSelect,
|
||||
MatOption,
|
||||
NgForOf,
|
||||
NamePipe,
|
||||
NgIf,
|
||||
AsyncPipe,
|
||||
TeamMembersComponent,
|
||||
InputWithActionComponent,
|
||||
InitialsAvatarComponent,
|
||||
RoundCheckboxComponent,
|
||||
MatIcon,
|
||||
StopPropagationDirective,
|
||||
],
|
||||
})
|
||||
export class EditDossierTeamComponent implements EditDossierSectionInterface, OnChanges {
|
||||
readonly #userService = inject(UserService);
|
||||
|
||||
@ -1,42 +0,0 @@
|
||||
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
|
||||
import { NgModule } from '@angular/core';
|
||||
import { ReactiveFormsModule } from '@angular/forms';
|
||||
import { MatFormField } from '@angular/material/form-field';
|
||||
import { MatIcon } from '@angular/material/icon';
|
||||
import { MatOption, MatSelect } from '@angular/material/select';
|
||||
import { InitialsAvatarComponent } from '@common-ui/users';
|
||||
import { NamePipe } from '@common-ui/users/name.pipe';
|
||||
import {
|
||||
CircleButtonComponent,
|
||||
InputWithActionComponent,
|
||||
IqserAllowDirective,
|
||||
RoundCheckboxComponent,
|
||||
StopPropagationDirective,
|
||||
} from '@iqser/common-ui';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { TeamMembersComponent } from '@shared/components/team-members/team-members.component';
|
||||
import { EditDossierTeamComponent } from './edit-dossier-team.component';
|
||||
|
||||
@NgModule({
|
||||
declarations: [EditDossierTeamComponent, TeamMembersComponent],
|
||||
exports: [EditDossierTeamComponent, TeamMembersComponent],
|
||||
imports: [
|
||||
ReactiveFormsModule,
|
||||
MatFormField,
|
||||
MatSelect,
|
||||
MatOption,
|
||||
NamePipe,
|
||||
NgForOf,
|
||||
NgIf,
|
||||
AsyncPipe,
|
||||
TranslateModule,
|
||||
InputWithActionComponent,
|
||||
InitialsAvatarComponent,
|
||||
StopPropagationDirective,
|
||||
RoundCheckboxComponent,
|
||||
MatIcon,
|
||||
CircleButtonComponent,
|
||||
IqserAllowDirective,
|
||||
],
|
||||
})
|
||||
export class EditDossierTeamModule {}
|
||||
@ -1,17 +1,21 @@
|
||||
import { NgForOf, NgIf } from '@angular/common';
|
||||
import { Component, ElementRef, EventEmitter, inject, Input, OnChanges, Output, ViewChild } from '@angular/core';
|
||||
import { CircleButtonTypes, largeDialogConfig } from '@iqser/common-ui';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { MatIcon } from '@angular/material/icon';
|
||||
import { CircleButtonComponent, CircleButtonTypes, IqserAllowDirective, largeDialogConfig } from '@iqser/common-ui';
|
||||
import { getCurrentUser, InitialsAvatarComponent } from '@iqser/common-ui/lib/users';
|
||||
import { List } from '@iqser/common-ui/lib/utils';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { User } from '@red/domain';
|
||||
import { Roles } from '@users/roles';
|
||||
import { UserService } from '@users/user.service';
|
||||
import { EditDossierDialogComponent } from '../../../shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-dialog.component';
|
||||
import { DossiersDialogService } from '../../../shared-dossiers/services/dossiers-dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-team-members',
|
||||
templateUrl: './team-members.component.html',
|
||||
styleUrls: ['./team-members.component.scss'],
|
||||
standalone: true,
|
||||
imports: [NgForOf, InitialsAvatarComponent, NgIf, MatIcon, CircleButtonComponent, IqserAllowDirective, TranslateModule],
|
||||
})
|
||||
export class TeamMembersComponent implements OnChanges {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
@ -59,8 +63,11 @@ export class TeamMembersComponent implements OnChanges {
|
||||
return this.canRemove && !this.unremovableMembers.includes(userId);
|
||||
}
|
||||
|
||||
openEditDossierDialog(): void {
|
||||
async openEditDossierDialog() {
|
||||
const data = { dossierId: this.dossierId, section: 'members' };
|
||||
this._dialogService.open(EditDossierDialogComponent, data, { ...largeDialogConfig, width: '98vw', maxWidth: '98vw' });
|
||||
const editDossierDialogComponent = await import(
|
||||
'../../../shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-dialog.component'
|
||||
).then(m => m.EditDossierDialogComponent);
|
||||
this._dialogService.open(editDossierDialogComponent, data, { ...largeDialogConfig, width: '98vw', maxWidth: '98vw' });
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user