api compatibility

This commit is contained in:
Timo Bejan 2021-09-29 09:48:30 +03:00
parent 935ed65734
commit 0caca39752
5 changed files with 65 additions and 77 deletions

View File

@ -4,7 +4,7 @@ import {FormBuilder, FormGroup, Validators} from '@angular/forms';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog'; import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material/dialog';
import * as moment from 'moment'; import * as moment from 'moment';
import {Moment} from 'moment'; import {Moment} from 'moment';
import {DossierTemplateControllerService, DossierTemplateModel, DownloadFileType, IDossierTemplate} from '@redaction/red-ui-http'; import {DossierTemplateControllerService, DownloadFileType, IDossierTemplate} from '@redaction/red-ui-http';
import {applyIntervalConstraints} from '@utils/date-inputs-utils'; import {applyIntervalConstraints} from '@utils/date-inputs-utils';
import {downloadTypesTranslations} from '../../../../translations/download-types-translations'; import {downloadTypesTranslations} from '../../../../translations/download-types-translations';

View File

@ -1,14 +1,6 @@
import {Component} from '@angular/core'; import {Component} from '@angular/core';
import {MatDialogRef} from '@angular/material/dialog'; import {MatDialogRef} from '@angular/material/dialog';
import { import {DossierRequest, DownloadFileType, IDossierTemplate, ReportTemplate, ReportTemplateControllerService} from '@redaction/red-ui-http';
DossierRequest,
DossierTemplateModel,
DownloadFileType,
IDossier,
IDossierTemplate,
ReportTemplate,
ReportTemplateControllerService
} from '@redaction/red-ui-http';
import {FormBuilder, FormGroup, Validators} from '@angular/forms'; import {FormBuilder, FormGroup, Validators} from '@angular/forms';
import {AppStateService} from '@state/app-state.service'; import {AppStateService} from '@state/app-state.service';
import * as moment from 'moment'; import * as moment from 'moment';

View File

@ -10,26 +10,26 @@ import {
TemplateRef, TemplateRef,
ViewChild ViewChild
} from '@angular/core'; } from '@angular/core';
import { FileStatus, FileStatuses, IFileAttributeConfig } from '@redaction/red-ui-http'; import {FileStatus, FileStatuses, IFileAttributeConfig} from '@redaction/red-ui-http';
import { AppStateService } from '@state/app-state.service'; import {AppStateService} from '@state/app-state.service';
import { FileDropOverlayService } from '@upload-download/services/file-drop-overlay.service'; import {FileDropOverlayService} from '@upload-download/services/file-drop-overlay.service';
import { FileUploadModel } from '@upload-download/model/file-upload.model'; import {FileUploadModel} from '@upload-download/model/file-upload.model';
import { FileUploadService } from '@upload-download/services/file-upload.service'; import {FileUploadService} from '@upload-download/services/file-upload.service';
import { StatusOverlayService } from '@upload-download/services/status-overlay.service'; import {StatusOverlayService} from '@upload-download/services/status-overlay.service';
import { TranslateService } from '@ngx-translate/core'; import {TranslateService} from '@ngx-translate/core';
import * as moment from 'moment'; import * as moment from 'moment';
import { DossierDetailsComponent } from '../../components/dossier-details/dossier-details.component'; import {DossierDetailsComponent} from '../../components/dossier-details/dossier-details.component';
import { File } from '@models/file/file'; import {File} from '@models/file/file';
import { UserService } from '@services/user.service'; import {UserService} from '@services/user.service';
import { timer } from 'rxjs'; import {timer} from 'rxjs';
import { tap } from 'rxjs/operators'; import {tap} from 'rxjs/operators';
import { RedactionFilterSorter } from '@utils/sorters/redaction-filter-sorter'; import {RedactionFilterSorter} from '@utils/sorters/redaction-filter-sorter';
import { StatusSorter } from '@utils/sorters/status-sorter'; import {StatusSorter} from '@utils/sorters/status-sorter';
import { convertFiles, Files, handleFileDrop } from '@utils/file-drop-utils'; import {convertFiles, Files, handleFileDrop} from '@utils/file-drop-utils';
import { DossiersDialogService } from '../../services/dossiers-dialog.service'; import {DossiersDialogService} from '../../services/dossiers-dialog.service';
import { OnAttach, OnDetach } from '@utils/custom-route-reuse.strategy'; import {OnAttach, OnDetach} from '@utils/custom-route-reuse.strategy';
import { ConfigService } from '@services/config.service'; import {ConfigService} from '@services/config.service';
import { ActionConfig } from '@shared/components/page-header/models/action-config.model'; import {ActionConfig} from '@shared/components/page-header/models/action-config.model';
import { import {
CircleButtonTypes, CircleButtonTypes,
DefaultListingServices, DefaultListingServices,
@ -44,22 +44,22 @@ import {
Toaster, Toaster,
WorkflowConfig WorkflowConfig
} from '@iqser/common-ui'; } from '@iqser/common-ui';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service'; import {DossierAttributesService} from '@shared/services/controller-wrappers/dossier-attributes.service';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model'; import {DossierAttributeWithValue} from '@models/dossier-attributes.model';
import { workloadTranslations } from '../../translations/workload-translations'; import {workloadTranslations} from '../../translations/workload-translations';
import { fileStatusTranslations } from '../../translations/file-status-translations'; import {fileStatusTranslations} from '../../translations/file-status-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import {marker as _} from '@biesbjerg/ngx-translate-extract-marker';
import { annotationFilterChecker } from '@utils/filter-utils'; import {annotationFilterChecker} from '@utils/filter-utils';
import { PermissionsService } from '@services/permissions.service'; import {PermissionsService} from '@services/permissions.service';
import { RouterHistoryService } from '@services/router-history.service'; import {RouterHistoryService} from '@services/router-history.service';
import { Dossier } from '@state/model/dossier'; import {Dossier} from '@state/model/dossier';
import { Router } from '@angular/router'; import {Router} from '@angular/router';
import { FileActionService } from '../../services/file-action.service'; import {FileActionService} from '../../services/file-action.service';
@Component({ @Component({
templateUrl: './dossier-overview-screen.component.html', templateUrl: './dossier-overview-screen.component.html',
styleUrls: ['./dossier-overview-screen.component.scss'], styleUrls: ['./dossier-overview-screen.component.scss'],
providers: [...DefaultListingServices, { provide: ListingComponent, useExisting: forwardRef(() => DossierOverviewScreenComponent) }] providers: [...DefaultListingServices, {provide: ListingComponent, useExisting: forwardRef(() => DossierOverviewScreenComponent)}]
}) })
export class DossierOverviewScreenComponent extends ListingComponent<File> implements OnInit, OnDestroy, OnDetach, OnAttach { export class DossierOverviewScreenComponent extends ListingComponent<File> implements OnInit, OnDestroy, OnDetach, OnAttach {
readonly listingModes = ListingModes; readonly listingModes = ListingModes;
@ -79,18 +79,18 @@ export class DossierOverviewScreenComponent extends ListingComponent<File> imple
collapsedDetails = false; collapsedDetails = false;
dossierAttributes: DossierAttributeWithValue[] = []; dossierAttributes: DossierAttributeWithValue[] = [];
fileAttributeConfigs: IFileAttributeConfig[]; fileAttributeConfigs: IFileAttributeConfig[];
@ViewChild('filenameTemplate', { static: true }) filenameTemplate: TemplateRef<unknown>; @ViewChild('filenameTemplate', {static: true}) filenameTemplate: TemplateRef<unknown>;
@ViewChild('addedOnTemplate', { static: true }) addedOnTemplate: TemplateRef<unknown>; @ViewChild('addedOnTemplate', {static: true}) addedOnTemplate: TemplateRef<unknown>;
@ViewChild('attributeTemplate', { static: true }) attributeTemplate: TemplateRef<unknown>; @ViewChild('attributeTemplate', {static: true}) attributeTemplate: TemplateRef<unknown>;
@ViewChild('needsWorkTemplate', { static: true }) needsWorkTemplate: TemplateRef<unknown>; @ViewChild('needsWorkTemplate', {static: true}) needsWorkTemplate: TemplateRef<unknown>;
@ViewChild('reviewerTemplate', { static: true }) reviewerTemplate: TemplateRef<unknown>; @ViewChild('reviewerTemplate', {static: true}) reviewerTemplate: TemplateRef<unknown>;
@ViewChild('pagesTemplate', { static: true }) pagesTemplate: TemplateRef<unknown>; @ViewChild('pagesTemplate', {static: true}) pagesTemplate: TemplateRef<unknown>;
@ViewChild('statusTemplate', { static: true }) statusTemplate: TemplateRef<unknown>; @ViewChild('statusTemplate', {static: true}) statusTemplate: TemplateRef<unknown>;
readonly workflowConfig: WorkflowConfig<File, FileStatus>; readonly workflowConfig: WorkflowConfig<File, FileStatus>;
@ViewChild(DossierDetailsComponent, { static: false }) @ViewChild(DossierDetailsComponent, {static: false})
private readonly _dossierDetailsComponent: DossierDetailsComponent; private readonly _dossierDetailsComponent: DossierDetailsComponent;
private _lastScrolledIndex: number; private _lastScrolledIndex: number;
@ViewChild('needsWorkFilterTemplate', { read: TemplateRef, static: true }) @ViewChild('needsWorkFilterTemplate', {read: TemplateRef, static: true})
private readonly _needsWorkFilterTemplate: TemplateRef<unknown>; private readonly _needsWorkFilterTemplate: TemplateRef<unknown>;
@ViewChild('fileInput') private readonly _fileInput: ElementRef; @ViewChild('fileInput') private readonly _fileInput: ElementRef;
@ViewChild(TableComponent) private readonly _tableComponent: TableComponent<Dossier>; @ViewChild(TableComponent) private readonly _tableComponent: TableComponent<Dossier>;
@ -315,12 +315,12 @@ export class DossierOverviewScreenComponent extends ListingComponent<File> imple
} }
openAssignDossierMembersDialog(): void { openAssignDossierMembersDialog(): void {
const data = { dossier: this.currentDossier, section: 'members' }; const data = {dossier: this.currentDossier, section: 'members'};
this._dialogService.openDialog('editDossier', null, data, async () => await this.reloadDossiers()); this._dialogService.openDialog('editDossier', null, data, async () => await this.reloadDossiers());
} }
openDossierDictionaryDialog() { openDossierDictionaryDialog() {
const data = { dossier: this.currentDossier, section: 'dossierDictionary' }; const data = {dossier: this.currentDossier, section: 'dossierDictionary'};
this._dialogService.openDialog('editDossier', null, data, async () => { this._dialogService.openDialog('editDossier', null, data, async () => {
await this.reloadDossiers(); await this.reloadDossiers();
}); });
@ -337,7 +337,7 @@ export class DossierOverviewScreenComponent extends ListingComponent<File> imple
const dynamicColumns: TableColumnConfig<File>[] = []; const dynamicColumns: TableColumnConfig<File>[] = [];
for (const config of this.displayedInFileListAttributes) { for (const config of this.displayedInFileListAttributes) {
if (config.displayedInFileList) { if (config.displayedInFileList) {
dynamicColumns.push({ label: config.label, notTranslatable: true, template: this.attributeTemplate, extra: config }); dynamicColumns.push({label: config.label, notTranslatable: true, template: this.attributeTemplate, extra: config});
} }
} }
this.tableColumnConfigs = [ this.tableColumnConfigs = [

View File

@ -2,10 +2,8 @@ import {Injectable} from '@angular/core';
import { import {
DossierAttribute, DossierAttribute,
DossierAttributeConfig, DossierAttributeConfig,
DossierAttributeReq,
DossierAttributes, DossierAttributes,
DossierAttributesControllerService, DossierAttributesControllerService,
DossierAttributesRes,
IDossierAttributeConfig IDossierAttributeConfig
} from '@redaction/red-ui-http'; } from '@redaction/red-ui-http';
import {Dossier} from '@state/model/dossier'; import {Dossier} from '@state/model/dossier';

View File

@ -1,8 +1,6 @@
import { Injectable } from '@angular/core'; import {Injectable} from '@angular/core';
import { import {
Colors, Colors,
DictionaryControllerService,
DossierRequest,
DossierTemplateControllerService, DossierTemplateControllerService,
FileAttributesConfig, FileAttributesConfig,
FileAttributesControllerService, FileAttributesControllerService,
@ -10,22 +8,22 @@ import {
IFile, IFile,
ReanalysisControllerService ReanalysisControllerService
} from '@redaction/red-ui-http'; } from '@redaction/red-ui-http';
import { Toaster } from '@iqser/common-ui'; import {Toaster} from '@iqser/common-ui';
import { TranslateService } from '@ngx-translate/core'; import {TranslateService} from '@ngx-translate/core';
import { Event, NavigationEnd, ResolveStart, Router } from '@angular/router'; import {Event, NavigationEnd, ResolveStart, Router} from '@angular/router';
import { UserService } from '@services/user.service'; import {UserService} from '@services/user.service';
import { forkJoin, Observable, of, Subject } from 'rxjs'; import {forkJoin, Observable, of, Subject} from 'rxjs';
import { catchError, map, tap } from 'rxjs/operators'; import {catchError, map, tap} from 'rxjs/operators';
import { FALLBACK_COLOR, hexToRgb } from '@utils/functions'; import {FALLBACK_COLOR, hexToRgb} from '@utils/functions';
import { File } from '@models/file/file'; import {File} from '@models/file/file';
import { Dossier } from './model/dossier'; import {Dossier} from './model/dossier';
import { TypeValue } from '@models/file/type-value'; import {TypeValue} from '@models/file/type-value';
import { DossierTemplate } from '@models/file/dossier-template'; import {DossierTemplate} from '@models/file/dossier-template';
import { DossiersService } from '../modules/dossier/services/dossiers.service'; import {DossiersService} from '../modules/dossier/services/dossiers.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import {marker as _} from '@biesbjerg/ngx-translate-extract-marker';
import { UserPreferenceService } from '@services/user-preference.service'; import {UserPreferenceService} from '@services/user-preference.service';
import { FilesService } from '../modules/dossier/services/files.service'; import {FilesService} from '../modules/dossier/services/files.service';
import { DictionaryService } from '@shared/services/dictionary.service'; import {DictionaryService} from '@shared/services/dictionary.service';
export interface AppState { export interface AppState {
dossiers: Dossier[]; dossiers: Dossier[];
@ -94,7 +92,7 @@ export class AppStateService {
} }
get aggregatedFiles(): File[] { get aggregatedFiles(): File[] {
return this.allDossiers.reduce((acc, { files }) => [...acc, ...files], []); return this.allDossiers.reduce((acc, {files}) => [...acc, ...files], []);
} }
get activeDossierTemplateId(): string { get activeDossierTemplateId(): string {
@ -265,7 +263,7 @@ export class AppStateService {
return this._processFiles(dossier, files, emitEvents); return this._processFiles(dossier, files, emitEvents);
} }
async reanalyzeDossier({ id }: Dossier = this.activeDossier) { async reanalyzeDossier({id}: Dossier = this.activeDossier) {
await this._reanalysisControllerService.reanalyzeDossier(id, true).toPromise(); await this._reanalysisControllerService.reanalyzeDossier(id, true).toPromise();
} }
@ -342,7 +340,7 @@ export class AppStateService {
const index = this.allDossiers.findIndex(p => p.id === dossier.id); const index = this.allDossiers.findIndex(p => p.id === dossier.id);
this._appState.dossiers.splice(index, 1); this._appState.dossiers.splice(index, 1);
}, },
() => this._toaster.error(_('dossier-listing.delete.delete-failed'), { params: dossier }) () => this._toaster.error(_('dossier-listing.delete.delete-failed'), {params: dossier})
); );
} }