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