Entity url param constant
This commit is contained in:
parent
56b93d908a
commit
d3d8b16f8e
@ -4,6 +4,7 @@ import { DossiersService } from '@services/entity-services/dossiers.service';
|
|||||||
import { FilesMapService } from '@services/entity-services/files-map.service';
|
import { FilesMapService } from '@services/entity-services/files-map.service';
|
||||||
import { FilesService } from '@services/entity-services/files.service';
|
import { FilesService } from '@services/entity-services/files.service';
|
||||||
import { firstValueFrom } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
|
import { DOSSIER_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Injectable({ providedIn: 'root' })
|
@Injectable({ providedIn: 'root' })
|
||||||
export class DossierFilesGuard implements CanActivate {
|
export class DossierFilesGuard implements CanActivate {
|
||||||
@ -15,7 +16,7 @@ export class DossierFilesGuard implements CanActivate {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {
|
async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {
|
||||||
const dossierId = route.paramMap.get('dossierId');
|
const dossierId = route.paramMap.get(DOSSIER_ID);
|
||||||
|
|
||||||
if (!this._dossiersService.has(dossierId)) {
|
if (!this._dossiersService.has(dossierId)) {
|
||||||
await this._router.navigate(['/main', 'dossiers']);
|
await this._router.navigate(['/main', 'dossiers']);
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
|
|||||||
import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';
|
import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router';
|
||||||
import { FilesMapService } from '@services/entity-services/files-map.service';
|
import { FilesMapService } from '@services/entity-services/files-map.service';
|
||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||||
|
import { DOSSIER_ID, FILE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Injectable({ providedIn: 'root' })
|
@Injectable({ providedIn: 'root' })
|
||||||
export class FilePreviewGuard implements CanActivate {
|
export class FilePreviewGuard implements CanActivate {
|
||||||
@ -12,8 +13,8 @@ export class FilePreviewGuard implements CanActivate {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {
|
async canActivate(route: ActivatedRouteSnapshot): Promise<boolean> {
|
||||||
const dossierId = route.paramMap.get('dossierId');
|
const dossierId = route.paramMap.get(DOSSIER_ID);
|
||||||
const fileId = route.paramMap.get('fileId');
|
const fileId = route.paramMap.get(FILE_ID);
|
||||||
|
|
||||||
const dossier = this._dossiersService.find(dossierId);
|
const dossier = this._dossiersService.find(dossierId);
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
|||||||
import { adminSideNavTranslations } from '../translations/admin-side-nav-translations';
|
import { adminSideNavTranslations } from '../translations/admin-side-nav-translations';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { DICTIONARY_TYPE } from '@utils/constants';
|
||||||
|
|
||||||
type Type = 'settings' | 'dossierTemplates';
|
type Type = 'settings' | 'dossierTemplates';
|
||||||
|
|
||||||
@ -77,6 +78,6 @@ export class AdminSideNavComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
this.prefix = this._route.snapshot.paramMap.get('dictionary') ? '../../' : '../';
|
this.prefix = this._route.snapshot.paramMap.get(DICTIONARY_TYPE) ? '../../' : '../';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import { map, switchMap } from 'rxjs/operators';
|
|||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { Dictionary, DossierTemplate } from '@red/domain';
|
import { Dictionary, DossierTemplate } from '@red/domain';
|
||||||
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
|
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-dossier-template-breadcrumbs',
|
selector: 'redaction-dossier-template-breadcrumbs',
|
||||||
@ -22,11 +23,11 @@ export class DossierTemplateBreadcrumbsComponent {
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
this.dossierTemplate$ = _route.paramMap.pipe(
|
this.dossierTemplate$ = _route.paramMap.pipe(
|
||||||
map(params => params.get('dossierTemplateId')),
|
map(params => params.get(DOSSIER_TEMPLATE_ID)),
|
||||||
switchMap((dossierTemplateId: string) => this._dossierTemplatesService.getEntityChanged$(dossierTemplateId)),
|
switchMap((dossierTemplateId: string) => this._dossierTemplatesService.getEntityChanged$(dossierTemplateId)),
|
||||||
);
|
);
|
||||||
this.activeDictionary$ = _route.paramMap.pipe(
|
this.activeDictionary$ = _route.paramMap.pipe(
|
||||||
map(params => [params.get('dossierTemplateId'), params.get('dictionary')]),
|
map(params => [params.get(DOSSIER_TEMPLATE_ID), params.get('dictionary')]),
|
||||||
switchMap(([dossierTemplateId, dictionary]: [string, string]) =>
|
switchMap(([dossierTemplateId, dictionary]: [string, string]) =>
|
||||||
dictionary ? this._dictionariesMapService.watch$(dossierTemplateId, dictionary) : of(undefined),
|
dictionary ? this._dictionariesMapService.watch$(dossierTemplateId, dictionary) : of(undefined),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import { DictionaryService } from '@shared/services/dictionary.service';
|
|||||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||||
import { firstValueFrom } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
interface ListItem extends IListable {
|
interface ListItem extends IListable {
|
||||||
readonly key: string;
|
readonly key: string;
|
||||||
@ -50,7 +51,7 @@ export class DefaultColorsScreenComponent extends ListingComponent<ListItem> {
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
super(_injector);
|
super(_injector);
|
||||||
this.#dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
openEditColorDialog($event: MouseEvent, color: { key: DefaultColorType | string; value: string }) {
|
openEditColorDialog($event: MouseEvent, color: { key: DefaultColorType | string; value: string }) {
|
||||||
@ -79,7 +80,7 @@ export class DefaultColorsScreenComponent extends ListingComponent<ListItem> {
|
|||||||
searchKey: key,
|
searchKey: key,
|
||||||
value: data[key],
|
value: data[key],
|
||||||
}))
|
}))
|
||||||
.filter(entry => entry.id !== 'dossierTemplateId');
|
.filter(entry => entry.id !== DOSSIER_TEMPLATE_ID);
|
||||||
this.entitiesService.setEntities(entities);
|
this.entitiesService.setEntities(entities);
|
||||||
this._loadingService.stop();
|
this._loadingService.stop();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import { DossierTemplateStatsService } from '@services/entity-services/dossier-t
|
|||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { tap } from 'rxjs/operators';
|
import { tap } from 'rxjs/operators';
|
||||||
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
|
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './dictionary-listing-screen.component.html',
|
templateUrl: './dictionary-listing-screen.component.html',
|
||||||
@ -54,7 +55,7 @@ export class DictionaryListingScreenComponent extends ListingComponent<Dictionar
|
|||||||
) {
|
) {
|
||||||
super(_injector);
|
super(_injector);
|
||||||
_loadingService.start();
|
_loadingService.start();
|
||||||
this.#dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
this.templateStats$ = this._dossierTemplateStatsService
|
this.templateStats$ = this._dossierTemplateStatsService
|
||||||
.watch$(this.#dossierTemplateId)
|
.watch$(this.#dossierTemplateId)
|
||||||
.pipe(tap(templateStats => this._loadDictionaryData(templateStats)));
|
.pipe(tap(templateStats => this._loadDictionaryData(templateStats)));
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import { Dictionary } from '@red/domain';
|
|||||||
import { firstValueFrom, Observable, of } from 'rxjs';
|
import { firstValueFrom, Observable, of } from 'rxjs';
|
||||||
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
|
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
|
||||||
import { map, switchMap } from 'rxjs/operators';
|
import { map, switchMap } from 'rxjs/operators';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './dictionary-overview-screen.component.html',
|
templateUrl: './dictionary-overview-screen.component.html',
|
||||||
@ -41,7 +42,7 @@ export class DictionaryOverviewScreenComponent {
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
this.dictionary$ = _route.paramMap.pipe(
|
this.dictionary$ = _route.paramMap.pipe(
|
||||||
map(params => [params.get('dossierTemplateId'), params.get('dictionary')]),
|
map(params => [params.get(DOSSIER_TEMPLATE_ID), params.get('dictionary')]),
|
||||||
switchMap(([dossierTemplateId, dictionary]: [string, string]) =>
|
switchMap(([dossierTemplateId, dictionary]: [string, string]) =>
|
||||||
dossierTemplateId ? this._dictionariesMapService.watch$(dossierTemplateId, dictionary) : of(undefined),
|
dossierTemplateId ? this._dictionariesMapService.watch$(dossierTemplateId, dictionary) : of(undefined),
|
||||||
),
|
),
|
||||||
|
|||||||
@ -17,6 +17,7 @@ import { DossierAttributeConfig, IDossierAttributeConfig } from '@red/domain';
|
|||||||
import { firstValueFrom } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
import { ReportTemplateService } from '../../../../services/report-template.service';
|
import { ReportTemplateService } from '../../../../services/report-template.service';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './dossier-attributes-listing-screen.component.html',
|
templateUrl: './dossier-attributes-listing-screen.component.html',
|
||||||
@ -50,7 +51,7 @@ export class DossierAttributesListingScreenComponent extends ListingComponent<Do
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
super(_injector);
|
super(_injector);
|
||||||
this.#dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
async ngOnInit(): Promise<void> {
|
async ngOnInit(): Promise<void> {
|
||||||
|
|||||||
@ -19,6 +19,7 @@ import { firstValueFrom } from 'rxjs';
|
|||||||
import { ReportTemplateService } from '../../../../services/report-template.service';
|
import { ReportTemplateService } from '../../../../services/report-template.service';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './file-attributes-listing-screen.component.html',
|
templateUrl: './file-attributes-listing-screen.component.html',
|
||||||
@ -65,7 +66,7 @@ export class FileAttributesListingScreenComponent extends ListingComponent<FileA
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
super(_injector);
|
super(_injector);
|
||||||
this.#dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
private get _numberOfDisplayedAttrs(): number {
|
private get _numberOfDisplayedAttrs(): number {
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { DossierTemplate, DossierTemplateStats } from '@red/domain';
|
|||||||
import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service';
|
import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service';
|
||||||
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './dossier-template-info-screen.component.html',
|
templateUrl: './dossier-template-info-screen.component.html',
|
||||||
@ -23,7 +24,7 @@ export class DossierTemplateInfoScreenComponent {
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
readonly permissionsService: PermissionsService,
|
readonly permissionsService: PermissionsService,
|
||||||
) {
|
) {
|
||||||
const dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
const dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
this.dossierTemplate$ = this._dossierTemplatesService.getEntityChanged$(dossierTemplateId);
|
this.dossierTemplate$ = this._dossierTemplatesService.getEntityChanged$(dossierTemplateId);
|
||||||
this.dossierTemplateStats$ = this._dossierTemplateStatsService.watch$(dossierTemplateId);
|
this.dossierTemplateStats$ = this._dossierTemplateStatsService.watch$(dossierTemplateId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -16,6 +16,7 @@ import { UserService } from '@services/user.service';
|
|||||||
import { UserPreferenceService } from '@services/user-preference.service';
|
import { UserPreferenceService } from '@services/user-preference.service';
|
||||||
import { firstValueFrom } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-justifications-screen',
|
selector: 'redaction-justifications-screen',
|
||||||
@ -50,7 +51,7 @@ export class JustificationsScreenComponent extends ListingComponent<Justificatio
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
super(_injector);
|
super(_injector);
|
||||||
this.#dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
async ngOnInit(): Promise<void> {
|
async ngOnInit(): Promise<void> {
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import { JustificationsDialogService } from '../justifications-dialog.service';
|
|||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { UserPreferenceService } from '@services/user-preference.service';
|
import { UserPreferenceService } from '@services/user-preference.service';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-table-item',
|
selector: 'redaction-table-item',
|
||||||
@ -25,7 +26,7 @@ export class TableItemComponent {
|
|||||||
readonly userService: UserService,
|
readonly userService: UserService,
|
||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
this.#dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
openEditJustificationDialog() {
|
openEditJustificationDialog() {
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import { DossierTemplatesService } from '@services/entity-services/dossier-templ
|
|||||||
import { ReportTemplateService } from '@services/report-template.service';
|
import { ReportTemplateService } from '@services/report-template.service';
|
||||||
import { BehaviorSubject, firstValueFrom } from 'rxjs';
|
import { BehaviorSubject, firstValueFrom } from 'rxjs';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
interface Placeholder {
|
interface Placeholder {
|
||||||
placeholder: string;
|
placeholder: string;
|
||||||
@ -46,7 +47,7 @@ export class ReportsScreenComponent implements OnInit {
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
readonly permissionsService: PermissionsService,
|
readonly permissionsService: PermissionsService,
|
||||||
) {
|
) {
|
||||||
this.#dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
async ngOnInit() {
|
async ngOnInit() {
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
|||||||
import { RulesService } from '../../../services/rules.service';
|
import { RulesService } from '../../../services/rules.service';
|
||||||
import { firstValueFrom } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
import ICodeEditor = monaco.editor.ICodeEditor;
|
import ICodeEditor = monaco.editor.ICodeEditor;
|
||||||
import IModelDeltaDecoration = monaco.editor.IModelDeltaDecoration;
|
import IModelDeltaDecoration = monaco.editor.IModelDeltaDecoration;
|
||||||
import IStandaloneEditorConstructionOptions = monaco.editor.IStandaloneEditorConstructionOptions;
|
import IStandaloneEditorConstructionOptions = monaco.editor.IStandaloneEditorConstructionOptions;
|
||||||
@ -47,7 +48,7 @@ export class RulesScreenComponent implements OnInit {
|
|||||||
private readonly _loadingService: LoadingService,
|
private readonly _loadingService: LoadingService,
|
||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
this.#dossierTemplateId = _route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = _route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
set isLeavingPage(isLeaving: boolean) {
|
set isLeavingPage(isLeaving: boolean) {
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import { WatermarkService } from '@shared/services/watermark.service';
|
|||||||
import { firstValueFrom, Observable, of, switchMap } from 'rxjs';
|
import { firstValueFrom, Observable, of, switchMap } from 'rxjs';
|
||||||
import { catchError, tap } from 'rxjs/operators';
|
import { catchError, tap } from 'rxjs/operators';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
export const DEFAULT_WATERMARK: IWatermark = {
|
export const DEFAULT_WATERMARK: IWatermark = {
|
||||||
text: null,
|
text: null,
|
||||||
@ -51,7 +52,7 @@ export class WatermarkScreenComponent {
|
|||||||
private readonly _route: ActivatedRoute,
|
private readonly _route: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
this._loadingService.start();
|
this._loadingService.start();
|
||||||
this.#dossierTemplateId = this._route.snapshot.paramMap.get('dossierTemplateId');
|
this.#dossierTemplateId = this._route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
get changed(): boolean {
|
get changed(): boolean {
|
||||||
|
|||||||
@ -6,6 +6,7 @@ import { UserService } from '@services/user.service';
|
|||||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||||
import { firstValueFrom } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
import { DictionaryService } from '../../../../shared/services/dictionary.service';
|
import { DictionaryService } from '../../../../shared/services/dictionary.service';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-dossier-template-actions',
|
selector: 'redaction-dossier-template-actions',
|
||||||
@ -30,7 +31,7 @@ export class DossierTemplateActionsComponent implements OnInit {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.dossierTemplateId ??= this._route.snapshot.paramMap.get('dossierTemplateId');
|
this.dossierTemplateId ??= this._route.snapshot.paramMap.get(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
openEditDossierTemplateDialog($event: MouseEvent) {
|
openEditDossierTemplateDialog($event: MouseEvent) {
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import { DossiersService } from '@services/entity-services/dossiers.service';
|
|||||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||||
import { ReportTemplateService } from '@services/report-template.service';
|
import { ReportTemplateService } from '@services/report-template.service';
|
||||||
import { firstValueFrom } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './add-dossier-dialog.component.html',
|
templateUrl: './add-dossier-dialog.component.html',
|
||||||
@ -129,7 +130,7 @@ export class AddDossierDialogComponent extends BaseDialogComponent {
|
|||||||
dossierName: this.form.get('dossierName').value,
|
dossierName: this.form.get('dossierName').value,
|
||||||
description: this.form.get('description').value,
|
description: this.form.get('description').value,
|
||||||
dueDate: this.hasDueDate ? this.form.get('dueDate').value : undefined,
|
dueDate: this.hasDueDate ? this.form.get('dueDate').value : undefined,
|
||||||
dossierTemplateId: this.form.get('dossierTemplateId').value,
|
dossierTemplateId: this.form.get(DOSSIER_TEMPLATE_ID).value,
|
||||||
downloadFileTypes: this.form.get('downloadFileTypes').value,
|
downloadFileTypes: this.form.get('downloadFileTypes').value,
|
||||||
reportTemplateIds: this.form.get('reportTemplateIds').value,
|
reportTemplateIds: this.form.get('reportTemplateIds').value,
|
||||||
watermarkEnabled: this.form.get('watermarkEnabled').value,
|
watermarkEnabled: this.form.get('watermarkEnabled').value,
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import { DossiersService } from '@services/entity-services/dossiers.service';
|
|||||||
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service';
|
||||||
import { DossierStatsService } from '@services/entity-services/dossier-stats.service';
|
import { DossierStatsService } from '@services/entity-services/dossier-stats.service';
|
||||||
import { firstValueFrom } from 'rxjs';
|
import { firstValueFrom } from 'rxjs';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-edit-dossier-general-info',
|
selector: 'redaction-edit-dossier-general-info',
|
||||||
@ -94,7 +95,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti
|
|||||||
watermarkEnabled: this.form.get('watermarkEnabled').value,
|
watermarkEnabled: this.form.get('watermarkEnabled').value,
|
||||||
watermarkPreviewEnabled: this.form.get('watermarkPreviewEnabled').value,
|
watermarkPreviewEnabled: this.form.get('watermarkPreviewEnabled').value,
|
||||||
dueDate: this.hasDueDate ? this.form.get('dueDate').value : undefined,
|
dueDate: this.hasDueDate ? this.form.get('dueDate').value : undefined,
|
||||||
dossierTemplateId: this.form.get('dossierTemplateId').value,
|
dossierTemplateId: this.form.get(DOSSIER_TEMPLATE_ID).value,
|
||||||
} as IDossierRequest;
|
} as IDossierRequest;
|
||||||
try {
|
try {
|
||||||
await firstValueFrom(this._dossiersService.createOrUpdate(dossier));
|
await firstValueFrom(this._dossiersService.createOrUpdate(dossier));
|
||||||
|
|||||||
@ -13,6 +13,7 @@ import { DossierStatsService } from '@services/entity-services/dossier-stats.ser
|
|||||||
import { pluck, switchMap } from 'rxjs/operators';
|
import { pluck, switchMap } from 'rxjs/operators';
|
||||||
import { DossiersDialogService } from '../../../../services/dossiers-dialog.service';
|
import { DossiersDialogService } from '../../../../services/dossiers-dialog.service';
|
||||||
import { FilesService } from '@services/entity-services/files.service';
|
import { FilesService } from '@services/entity-services/files.service';
|
||||||
|
import { DOSSIER_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-dossier-details',
|
selector: 'redaction-dossier-details',
|
||||||
@ -45,7 +46,7 @@ export class DossierDetailsComponent {
|
|||||||
private readonly _dialogService: DossiersDialogService,
|
private readonly _dialogService: DossiersDialogService,
|
||||||
activatedRoute: ActivatedRoute,
|
activatedRoute: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
this.dossierId = activatedRoute.snapshot.paramMap.get('dossierId');
|
this.dossierId = activatedRoute.snapshot.paramMap.get(DOSSIER_ID);
|
||||||
this.dossier$ = this.dossiersService.getEntityChanged$(this.dossierId).pipe(shareLast());
|
this.dossier$ = this.dossiersService.getEntityChanged$(this.dossierId).pipe(shareLast());
|
||||||
this.dossierStats$ = this.dossier$.pipe(
|
this.dossierStats$ = this.dossier$.pipe(
|
||||||
pluck('dossierId'),
|
pluck('dossierId'),
|
||||||
|
|||||||
@ -44,6 +44,7 @@ import { LongPressEvent } from '@shared/directives/long-press.directive';
|
|||||||
import { UserPreferenceService } from '@services/user-preference.service';
|
import { UserPreferenceService } from '@services/user-preference.service';
|
||||||
import { FilesMapService } from '@services/entity-services/files-map.service';
|
import { FilesMapService } from '@services/entity-services/files-map.service';
|
||||||
import { FilesService } from '@services/entity-services/files.service';
|
import { FilesService } from '@services/entity-services/files.service';
|
||||||
|
import { DOSSIER_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './dossier-overview-screen.component.html',
|
templateUrl: './dossier-overview-screen.component.html',
|
||||||
@ -93,7 +94,7 @@ export class DossierOverviewScreenComponent extends ListingComponent<File> imple
|
|||||||
readonly activatedRoute: ActivatedRoute,
|
readonly activatedRoute: ActivatedRoute,
|
||||||
) {
|
) {
|
||||||
super(_injector);
|
super(_injector);
|
||||||
this.dossierId = activatedRoute.snapshot.paramMap.get('dossierId');
|
this.dossierId = activatedRoute.snapshot.paramMap.get(DOSSIER_ID);
|
||||||
this.dossier$ = this._dossiersService
|
this.dossier$ = this._dossiersService
|
||||||
.getEntityChanged$(this.dossierId)
|
.getEntityChanged$(this.dossierId)
|
||||||
.pipe(tap(dossier => (this.dossierTemplateId = dossier.dossierTemplateId)));
|
.pipe(tap(dossier => (this.dossierTemplateId = dossier.dossierTemplateId)));
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import { PermissionsService } from '../../../../../services/permissions.service'
|
|||||||
import { boolFactory, shareLast } from '@iqser/common-ui';
|
import { boolFactory, shareLast } from '@iqser/common-ui';
|
||||||
import { filter, startWith } from 'rxjs/operators';
|
import { filter, startWith } from 'rxjs/operators';
|
||||||
import { FileManagementService } from '@services/entity-services/file-management.service';
|
import { FileManagementService } from '@services/entity-services/file-management.service';
|
||||||
|
import { DOSSIER_ID, FILE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class FilePreviewStateService {
|
export class FilePreviewStateService {
|
||||||
@ -32,8 +33,8 @@ export class FilePreviewStateService {
|
|||||||
activatedRoute: ActivatedRoute,
|
activatedRoute: ActivatedRoute,
|
||||||
private readonly _fileManagementService: FileManagementService,
|
private readonly _fileManagementService: FileManagementService,
|
||||||
) {
|
) {
|
||||||
this.fileId = activatedRoute.snapshot.paramMap.get('fileId');
|
this.fileId = activatedRoute.snapshot.paramMap.get(FILE_ID);
|
||||||
this.dossierId = activatedRoute.snapshot.paramMap.get('dossierId');
|
this.dossierId = activatedRoute.snapshot.paramMap.get(DOSSIER_ID);
|
||||||
this.dossierTemplateId = dossiersService.find(this.dossierId).dossierTemplateId;
|
this.dossierTemplateId = dossiersService.find(this.dossierId).dossierTemplateId;
|
||||||
|
|
||||||
this.dossier$ = dossiersService.getEntityChanged$(this.dossierId);
|
this.dossier$ = dossiersService.getEntityChanged$(this.dossierId);
|
||||||
|
|||||||
@ -7,6 +7,7 @@ import { FilesMapService } from '@services/entity-services/files-map.service';
|
|||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { BreadcrumbTypes } from '@red/domain';
|
import { BreadcrumbTypes } from '@red/domain';
|
||||||
|
import { DOSSIER_ID, FILE_ID } from '@utils/constants';
|
||||||
|
|
||||||
export type RouterLinkActiveOptions = { exact: boolean } | IsActiveMatchOptions;
|
export type RouterLinkActiveOptions = { exact: boolean } | IsActiveMatchOptions;
|
||||||
|
|
||||||
@ -82,7 +83,7 @@ export class BreadcrumbsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _addDossierBreadcrumb(route: ActivatedRouteSnapshot): void {
|
private _addDossierBreadcrumb(route: ActivatedRouteSnapshot): void {
|
||||||
const dossierId = route.paramMap.get('dossierId');
|
const dossierId = route.paramMap.get(DOSSIER_ID);
|
||||||
this._append({
|
this._append({
|
||||||
name$: this._dossiersService.getEntityChanged$(dossierId).pipe(pluck('dossierName')),
|
name$: this._dossiersService.getEntityChanged$(dossierId).pipe(pluck('dossierName')),
|
||||||
routerLink: ['/main', 'dossiers', dossierId],
|
routerLink: ['/main', 'dossiers', dossierId],
|
||||||
@ -91,8 +92,8 @@ export class BreadcrumbsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private _addFileBreadcrumb(route: ActivatedRouteSnapshot): void {
|
private _addFileBreadcrumb(route: ActivatedRouteSnapshot): void {
|
||||||
const dossierId = route.paramMap.get('dossierId');
|
const dossierId = route.paramMap.get(DOSSIER_ID);
|
||||||
const fileId = route.paramMap.get('fileId');
|
const fileId = route.paramMap.get(FILE_ID);
|
||||||
this._append({
|
this._append({
|
||||||
name$: this._filesMapService.watch$(dossierId, fileId).pipe(pluck('filename')),
|
name$: this._filesMapService.watch$(dossierId, fileId).pipe(pluck('filename')),
|
||||||
routerLink: ['/main', 'dossiers', dossierId, 'file', fileId],
|
routerLink: ['/main', 'dossiers', dossierId, 'file', fileId],
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Dictionary, IDictionary } from '@red/domain';
|
import { Dictionary, IDictionary } from '@red/domain';
|
||||||
import { EntitiesMapService } from '@iqser/common-ui';
|
import { EntitiesMapService } from '@iqser/common-ui';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Injectable({ providedIn: 'root' })
|
@Injectable({ providedIn: 'root' })
|
||||||
export class DictionariesMapService extends EntitiesMapService<Dictionary, IDictionary> {
|
export class DictionariesMapService extends EntitiesMapService<Dictionary, IDictionary> {
|
||||||
constructor() {
|
constructor() {
|
||||||
super('dossierTemplateId');
|
super(DOSSIER_TEMPLATE_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** If the type is not found, it returns the 'default' type. */
|
/** If the type is not found, it returns the 'default' type. */
|
||||||
|
|||||||
@ -1,12 +1,13 @@
|
|||||||
import { Injectable, Injector } from '@angular/core';
|
import { Injectable, Injector } from '@angular/core';
|
||||||
import { StatsService } from '@iqser/common-ui';
|
import { StatsService } from '@iqser/common-ui';
|
||||||
import { DossierStats, IDossierStats } from '@red/domain';
|
import { DossierStats, IDossierStats } from '@red/domain';
|
||||||
|
import { DOSSIER_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
})
|
})
|
||||||
export class DossierStatsService extends StatsService<DossierStats, IDossierStats> {
|
export class DossierStatsService extends StatsService<DossierStats, IDossierStats> {
|
||||||
constructor(protected readonly _injector: Injector) {
|
constructor(protected readonly _injector: Injector) {
|
||||||
super(_injector, 'dossierId', DossierStats, 'dossier-stats');
|
super(_injector, DOSSIER_ID, DossierStats, 'dossier-stats');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,12 +1,13 @@
|
|||||||
import { Injectable, Injector } from '@angular/core';
|
import { Injectable, Injector } from '@angular/core';
|
||||||
import { StatsService } from '@iqser/common-ui';
|
import { StatsService } from '@iqser/common-ui';
|
||||||
import { DossierTemplateStats, IDossierTemplateStats } from '@red/domain';
|
import { DossierTemplateStats, IDossierTemplateStats } from '@red/domain';
|
||||||
|
import { DOSSIER_TEMPLATE_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
})
|
})
|
||||||
export class DossierTemplateStatsService extends StatsService<DossierTemplateStats, IDossierTemplateStats> {
|
export class DossierTemplateStatsService extends StatsService<DossierTemplateStats, IDossierTemplateStats> {
|
||||||
constructor(protected readonly _injector: Injector) {
|
constructor(protected readonly _injector: Injector) {
|
||||||
super(_injector, 'dossierTemplateId', DossierTemplateStats, 'dossier-template-stats');
|
super(_injector, DOSSIER_TEMPLATE_ID, DossierTemplateStats, 'dossier-template-stats');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,11 +1,12 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { File, IFile } from '@red/domain';
|
import { File, IFile } from '@red/domain';
|
||||||
import { EntitiesMapService } from '@iqser/common-ui';
|
import { EntitiesMapService } from '@iqser/common-ui';
|
||||||
|
import { DOSSIER_ID } from '@utils/constants';
|
||||||
|
|
||||||
@Injectable({ providedIn: 'root' })
|
@Injectable({ providedIn: 'root' })
|
||||||
export class FilesMapService extends EntitiesMapService<File, IFile> {
|
export class FilesMapService extends EntitiesMapService<File, IFile> {
|
||||||
constructor() {
|
constructor() {
|
||||||
super('dossierId');
|
super(DOSSIER_ID);
|
||||||
}
|
}
|
||||||
|
|
||||||
replaceFiles(files: File[], property: keyof IFile, generateValue: Function) {
|
replaceFiles(files: File[], property: keyof IFile, generateValue: Function) {
|
||||||
|
|||||||
@ -1,2 +1,6 @@
|
|||||||
export const CHANGED_CHECK_INTERVAL = 5000;
|
export const CHANGED_CHECK_INTERVAL = 5000;
|
||||||
export const FALLBACK_COLOR = '#CCCCCC';
|
export const FALLBACK_COLOR = '#CCCCCC';
|
||||||
|
export const DOSSIER_ID = 'dossierId';
|
||||||
|
export const FILE_ID = 'fileId';
|
||||||
|
export const DOSSIER_TEMPLATE_ID = 'dossierTemplateId';
|
||||||
|
export const DICTIONARY_TYPE = 'dictionary';
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user