move file to red-domain
This commit is contained in:
parent
a8f0e558e4
commit
3616d56a2e
@ -1,9 +1,8 @@
|
|||||||
import { File } from './file';
|
import { Dictionary, File, IRedactionLog, IRedactionLogEntry, IViewedPage, User } from '@red/domain';
|
||||||
import { AnnotationWrapper } from './annotation.wrapper';
|
import { AnnotationWrapper } from './annotation.wrapper';
|
||||||
import { RedactionLogEntryWrapper } from './redaction-log-entry.wrapper';
|
import { RedactionLogEntryWrapper } from './redaction-log-entry.wrapper';
|
||||||
import { ViewMode } from './view-mode';
|
import { ViewMode } from './view-mode';
|
||||||
import * as moment from 'moment';
|
import * as moment from 'moment';
|
||||||
import { Dictionary, IRedactionLog, IRedactionLogEntry, IViewedPage, User } from '@red/domain';
|
|
||||||
|
|
||||||
export class AnnotationData {
|
export class AnnotationData {
|
||||||
visibleAnnotations: AnnotationWrapper[];
|
visibleAnnotations: AnnotationWrapper[];
|
||||||
|
|||||||
@ -1,13 +1,12 @@
|
|||||||
import { Component, Inject, OnDestroy } from '@angular/core';
|
import { Component, Inject, OnDestroy } from '@angular/core';
|
||||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||||
import { FileAttributeConfigTypes } from '@redaction/red-ui-http';
|
import { DossierAttributeConfigTypes, FileAttributeConfigTypes, IDossierAttributeConfig } from '@red/domain';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { AutoUnsubscribe, LoadingService, Toaster } from '@iqser/common-ui';
|
import { AutoUnsubscribe, LoadingService, Toaster } from '@iqser/common-ui';
|
||||||
import { HttpErrorResponse } from '@angular/common/http';
|
import { HttpErrorResponse } from '@angular/common/http';
|
||||||
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
|
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
|
||||||
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
|
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { DossierAttributeConfigTypes, IDossierAttributeConfig } from '@red/domain';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
templateUrl: './add-edit-dossier-attribute-dialog.component.html',
|
templateUrl: './add-edit-dossier-attribute-dialog.component.html',
|
||||||
|
|||||||
@ -1,9 +1,9 @@
|
|||||||
import { Component, EventEmitter, forwardRef, Injector, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
|
import { Component, EventEmitter, forwardRef, Injector, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
|
||||||
import { Field } from '../file-attributes-csv-import-dialog.component';
|
import { Field } from '../file-attributes-csv-import-dialog.component';
|
||||||
import { FileAttributeConfigTypes } from '@redaction/red-ui-http';
|
|
||||||
import { CircleButtonTypes, DefaultListingServices, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
|
import { CircleButtonTypes, DefaultListingServices, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
|
||||||
import { fileAttributeTypesTranslations } from '../../../translations/file-attribute-types-translations';
|
import { fileAttributeTypesTranslations } from '../../../translations/file-attribute-types-translations';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
|
import { FileAttributeConfigTypes } from '@red/domain';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-active-fields-listing',
|
selector: 'redaction-active-fields-listing',
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { FileAttributeConfigType } from '@redaction/red-ui-http';
|
import { FileAttributeConfigType } from '@red/domain';
|
||||||
|
|
||||||
export const fileAttributeTypesTranslations: { [key in FileAttributeConfigType]: string } = {
|
export const fileAttributeTypesTranslations: { [key in FileAttributeConfigType]: string } = {
|
||||||
TEXT: _('file-attribute-types.text'),
|
TEXT: _('file-attribute-types.text'),
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||||
import { IFileAttributesConfig } from '@red/domain';
|
import { File, IFileAttributesConfig } from '@red/domain';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
||||||
import { AutoUnsubscribe } from '@iqser/common-ui';
|
import { AutoUnsubscribe } from '@iqser/common-ui';
|
||||||
import { File } from '@models/file/file';
|
|
||||||
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
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';
|
||||||
|
|||||||
@ -2,9 +2,8 @@ import { Component, EventEmitter, Input, OnChanges, Output, ViewChild } from '@a
|
|||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { InputWithActionComponent, LoadingService, Toaster } from '@iqser/common-ui';
|
import { InputWithActionComponent, LoadingService, Toaster } from '@iqser/common-ui';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { File } from '@models/file/file';
|
import { File, IPageRange } from '@red/domain';
|
||||||
import { ReanalysisService } from '@services/reanalysis.service';
|
import { ReanalysisService } from '@services/reanalysis.service';
|
||||||
import { IPageRange } from '@red/domain';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-page-exclusion',
|
selector: 'redaction-page-exclusion',
|
||||||
|
|||||||
@ -11,13 +11,12 @@ import {
|
|||||||
SimpleChanges,
|
SimpleChanges,
|
||||||
ViewChild,
|
ViewChild,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import { IManualRedactionEntry } from '@red/domain';
|
import { File, IManualRedactionEntry } from '@red/domain';
|
||||||
import WebViewer, { Core, WebViewerInstance } from '@pdftron/webviewer';
|
import WebViewer, { Core, WebViewerInstance } from '@pdftron/webviewer';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { ManualRedactionEntryWrapper } from '@models/file/manual-redaction-entry.wrapper';
|
import { ManualRedactionEntryWrapper } from '@models/file/manual-redaction-entry.wrapper';
|
||||||
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
|
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
|
||||||
import { ManualAnnotationService } from '../../services/manual-annotation.service';
|
import { ManualAnnotationService } from '../../services/manual-annotation.service';
|
||||||
import { File } from '@models/file/file';
|
|
||||||
import { environment } from '@environments/environment';
|
import { environment } from '@environments/environment';
|
||||||
import { AnnotationDrawService } from '../../services/annotation-draw.service';
|
import { AnnotationDrawService } from '../../services/annotation-draw.service';
|
||||||
import { AnnotationActionsService } from '../../services/annotation-actions.service';
|
import { AnnotationActionsService } from '../../services/annotation-actions.service';
|
||||||
|
|||||||
@ -4,8 +4,7 @@ import { AppStateService } from '@state/app-state.service';
|
|||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { Toaster } from '@iqser/common-ui';
|
import { Toaster } from '@iqser/common-ui';
|
||||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||||
import { File } from '@models/file/file';
|
import { Dossier, File } from '@red/domain';
|
||||||
import { Dossier } from '@red/domain';
|
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { FilesService } from '@services/entity-services/files.service';
|
import { FilesService } from '@services/entity-services/files.service';
|
||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { Component, Inject, OnInit } from '@angular/core';
|
import { Component, Inject, OnInit } from '@angular/core';
|
||||||
import { FormBuilder, FormGroup } from '@angular/forms';
|
import { FormBuilder, FormGroup } from '@angular/forms';
|
||||||
import { IFile } from '@redaction/red-ui-http';
|
import { Dossier, IFile, IFileAttributeConfig } from '@red/domain';
|
||||||
import { Dossier, IFileAttributeConfig } from '@red/domain';
|
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||||
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { Component, EventEmitter, forwardRef, Injector, Input, OnInit, Output } from '@angular/core';
|
import { Component, EventEmitter, forwardRef, Injector, Input, OnInit, Output } from '@angular/core';
|
||||||
import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
|
import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
|
||||||
import { Dossier } from '@red/domain';
|
import { Dossier, IFile } from '@red/domain';
|
||||||
import {
|
import {
|
||||||
CircleButtonTypes,
|
CircleButtonTypes,
|
||||||
ConfirmationDialogInput,
|
ConfirmationDialogInput,
|
||||||
@ -12,7 +12,6 @@ import {
|
|||||||
TableColumnConfig,
|
TableColumnConfig,
|
||||||
TitleColors,
|
TitleColors,
|
||||||
} from '@iqser/common-ui';
|
} from '@iqser/common-ui';
|
||||||
import { IFile } from '@redaction/red-ui-http';
|
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import * as moment from 'moment';
|
import * as moment from 'moment';
|
||||||
import { ConfigService } from '@services/config.service';
|
import { ConfigService } from '@services/config.service';
|
||||||
|
|||||||
@ -1,14 +1,13 @@
|
|||||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { File } from '@models/file/file';
|
import { Dossier, File } from '@red/domain';
|
||||||
import { FileActionService } from '../../../../shared/services/file-action.service';
|
import { FileActionService } from '../../../../shared/services/file-action.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { DossiersDialogService } from '../../../../services/dossiers-dialog.service';
|
import { DossiersDialogService } from '../../../../services/dossiers-dialog.service';
|
||||||
import { CircleButtonTypes, ConfirmationDialogInput, ListingService, LoadingService } from '@iqser/common-ui';
|
import { CircleButtonTypes, ConfirmationDialogInput, ListingService, LoadingService } from '@iqser/common-ui';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { Dossier } from '@red/domain';
|
|
||||||
import { LongPressEvent } from '@shared/directives/long-press.directive';
|
import { LongPressEvent } from '@shared/directives/long-press.directive';
|
||||||
import { UserPreferenceService } from '@services/user-preference.service';
|
import { UserPreferenceService } from '@services/user-preference.service';
|
||||||
import { FileManagementService } from '../../../../shared/services/file-management.service';
|
import { FileManagementService } from '../../../../shared/services/file-management.service';
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { groupBy, StatusSorter } from '@utils/index';
|
import { groupBy } from '@utils/index';
|
||||||
import { DoughnutChartConfig } from '@shared/components/simple-doughnut-chart/simple-doughnut-chart.component';
|
import { DoughnutChartConfig } from '@shared/components/simple-doughnut-chart/simple-doughnut-chart.component';
|
||||||
import { TranslateChartService } from '@services/translate-chart.service';
|
import { TranslateChartService } from '@services/translate-chart.service';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { FilterService, Toaster } from '@iqser/common-ui';
|
import { FilterService, Toaster } from '@iqser/common-ui';
|
||||||
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 { DossierAttributeWithValue, IDossierRequest, User } from '@red/domain';
|
import { DossierAttributeWithValue, IDossierRequest, StatusSorter, User } from '@red/domain';
|
||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
@ -61,7 +61,7 @@ export class DossierDetailsComponent implements OnInit {
|
|||||||
label: fileStatusTranslations[status],
|
label: fileStatusTranslations[status],
|
||||||
key: status,
|
key: status,
|
||||||
}));
|
}));
|
||||||
documentsChartData.sort(StatusSorter.byStatus);
|
documentsChartData.sort((a, b) => StatusSorter.byStatus(a.key, b.key));
|
||||||
documentsChartData = this.translateChartService.translateStatus(documentsChartData);
|
documentsChartData = this.translateChartService.translateStatus(documentsChartData);
|
||||||
this.documentsChartData = documentsChartData;
|
this.documentsChartData = documentsChartData;
|
||||||
this._changeDetectorRef.detectChanges();
|
this._changeDetectorRef.detectChanges();
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';
|
||||||
import { File } from '@models/file/file';
|
import { File, IFileAttributeConfig } from '@red/domain';
|
||||||
import { Required } from '@iqser/common-ui';
|
import { Required } from '@iqser/common-ui';
|
||||||
import { IFileAttributeConfig } from '@red/domain';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-table-item',
|
selector: 'redaction-table-item',
|
||||||
|
|||||||
@ -10,10 +10,8 @@ import {
|
|||||||
TableColumnConfig,
|
TableColumnConfig,
|
||||||
WorkflowConfig,
|
WorkflowConfig,
|
||||||
} from '@iqser/common-ui';
|
} from '@iqser/common-ui';
|
||||||
import { File } from '@models/file/file';
|
import { File, FileStatus, FileStatuses, IFileAttributeConfig, StatusSorter } from '@red/domain';
|
||||||
import { fileStatusTranslations } from '../../translations/file-status-translations';
|
import { fileStatusTranslations } from '../../translations/file-status-translations';
|
||||||
import { IFileAttributeConfig } from '@red/domain';
|
|
||||||
import { FileStatus, FileStatuses } from '@redaction/red-ui-http';
|
|
||||||
import { FileActionService } from '../../shared/services/file-action.service';
|
import { FileActionService } from '../../shared/services/file-action.service';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
@ -21,7 +19,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
|||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
||||||
import { annotationFilterChecker, RedactionFilterSorter, StatusSorter } from '@utils/index';
|
import { annotationFilterChecker, RedactionFilterSorter } from '@utils/index';
|
||||||
import { workloadTranslations } from '../../translations/workload-translations';
|
import { workloadTranslations } from '../../translations/workload-translations';
|
||||||
import * as moment from 'moment';
|
import * as moment from 'moment';
|
||||||
import { ConfigService as AppConfigService } from '@services/config.service';
|
import { ConfigService as AppConfigService } from '@services/config.service';
|
||||||
|
|||||||
@ -11,8 +11,7 @@ import {
|
|||||||
TemplateRef,
|
TemplateRef,
|
||||||
ViewChild,
|
ViewChild,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import { FileStatus } from '@redaction/red-ui-http';
|
import { Dossier, DossierAttributeWithValue, File, FileStatus, IFileAttributeConfig } from '@red/domain';
|
||||||
import { Dossier, DossierAttributeWithValue, IFileAttributeConfig } from '@red/domain';
|
|
||||||
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';
|
||||||
@ -21,7 +20,6 @@ import { StatusOverlayService } from '@upload-download/services/status-overlay.s
|
|||||||
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 { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { timer } from 'rxjs';
|
import { timer } from 'rxjs';
|
||||||
import { take, tap } from 'rxjs/operators';
|
import { take, tap } from 'rxjs/operators';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { StatusSorter } from '@utils/sorters/status-sorter';
|
import { StatusSorter } from '../../../../../../../../../../libs/red-domain/src/lib/shared/sorters/status-sorter';
|
||||||
import { CircleButtonTypes, StatusBarConfig } from '@iqser/common-ui';
|
import { CircleButtonTypes, StatusBarConfig } from '@iqser/common-ui';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { Injectable, TemplateRef } from '@angular/core';
|
import { Injectable, TemplateRef } from '@angular/core';
|
||||||
import { ButtonConfig, IFilterGroup, keyChecker, NestedFilter, TableColumnConfig } from '@iqser/common-ui';
|
import { ButtonConfig, IFilterGroup, keyChecker, NestedFilter, TableColumnConfig } from '@iqser/common-ui';
|
||||||
import { Dossier, User } from '@red/domain';
|
import { Dossier, StatusSorter, User } from '@red/domain';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
import { UserPreferenceService } from '@services/user-preference.service';
|
import { UserPreferenceService } from '@services/user-preference.service';
|
||||||
@ -12,7 +12,6 @@ import {
|
|||||||
dossierStatusChecker,
|
dossierStatusChecker,
|
||||||
dossierTemplateChecker,
|
dossierTemplateChecker,
|
||||||
RedactionFilterSorter,
|
RedactionFilterSorter,
|
||||||
StatusSorter,
|
|
||||||
} from '@utils/index';
|
} from '@utils/index';
|
||||||
import { workloadTranslations } from '../../translations/workload-translations';
|
import { workloadTranslations } from '../../translations/workload-translations';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
|
|||||||
@ -10,7 +10,7 @@ import {
|
|||||||
ViewChild,
|
ViewChild,
|
||||||
} from '@angular/core';
|
} from '@angular/core';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { Dossier, DossierStatuses } from '@red/domain';
|
import { Dossier, DossierStatuses, StatusSorter } from '@red/domain';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { TranslateChartService } from '@services/translate-chart.service';
|
import { TranslateChartService } from '@services/translate-chart.service';
|
||||||
@ -19,7 +19,7 @@ import { timer } from 'rxjs';
|
|||||||
import { tap } from 'rxjs/operators';
|
import { tap } from 'rxjs/operators';
|
||||||
import { Router } from '@angular/router';
|
import { Router } from '@angular/router';
|
||||||
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
|
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
|
||||||
import { groupBy, StatusSorter } from '@utils/index';
|
import { groupBy } from '@utils/index';
|
||||||
import { DefaultListingServicesTmp, EntitiesService, ListingComponent, OnAttach, OnDetach, TableComponent } from '@iqser/common-ui';
|
import { DefaultListingServicesTmp, EntitiesService, ListingComponent, OnAttach, OnDetach, TableComponent } from '@iqser/common-ui';
|
||||||
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';
|
||||||
@ -38,7 +38,8 @@ import { DossiersService } from '@services/entity-services/dossiers.service';
|
|||||||
})
|
})
|
||||||
export class DossiersListingScreenComponent
|
export class DossiersListingScreenComponent
|
||||||
extends ListingComponent<Dossier>
|
extends ListingComponent<Dossier>
|
||||||
implements OnInit, AfterViewInit, OnDestroy, OnAttach, OnDetach {
|
implements OnInit, AfterViewInit, OnDestroy, OnAttach, OnDetach
|
||||||
|
{
|
||||||
readonly currentUser = this._userService.currentUser;
|
readonly currentUser = this._userService.currentUser;
|
||||||
readonly tableColumnConfigs = this._configService.tableConfig;
|
readonly tableColumnConfigs = this._configService.tableConfig;
|
||||||
readonly tableHeaderLabel = _('dossier-listing.table-header.title');
|
readonly tableHeaderLabel = _('dossier-listing.table-header.title');
|
||||||
@ -136,7 +137,7 @@ export class DossiersListingScreenComponent
|
|||||||
key: status,
|
key: status,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
this.documentsChartData.sort(StatusSorter.byStatus);
|
this.documentsChartData.sort((a, b) => StatusSorter.byStatus(a.key, b.key));
|
||||||
this.documentsChartData = this._translateChartService.translateStatus(this.documentsChartData);
|
this.documentsChartData = this._translateChartService.translateStatus(this.documentsChartData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -24,12 +24,11 @@ import { AnnotationData, FileDataModel } from '@models/file/file-data.model';
|
|||||||
import { FileActionService } from '../../shared/services/file-action.service';
|
import { FileActionService } from '../../shared/services/file-action.service';
|
||||||
import { AnnotationDrawService } from '../../services/annotation-draw.service';
|
import { AnnotationDrawService } from '../../services/annotation-draw.service';
|
||||||
import { AnnotationProcessingService } from '../../services/annotation-processing.service';
|
import { AnnotationProcessingService } from '../../services/annotation-processing.service';
|
||||||
import { File } from '@models/file/file';
|
import { Dossier, File, FileStatus, User } from '@red/domain';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { timer } from 'rxjs';
|
import { timer } from 'rxjs';
|
||||||
import { UserPreferenceService } from '@services/user-preference.service';
|
import { UserPreferenceService } from '@services/user-preference.service';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { FileStatus } from '@redaction/red-ui-http';
|
|
||||||
import { PdfViewerDataService } from '../../services/pdf-viewer-data.service';
|
import { PdfViewerDataService } from '../../services/pdf-viewer-data.service';
|
||||||
import { download } from '@utils/file-download-utils';
|
import { download } from '@utils/file-download-utils';
|
||||||
import { ViewMode } from '@models/file/view-mode';
|
import { ViewMode } from '@models/file/view-mode';
|
||||||
@ -41,7 +40,6 @@ import { fileStatusTranslations } from '../../translations/file-status-translati
|
|||||||
import { handleFilterDelta } from '@utils/filter-utils';
|
import { handleFilterDelta } from '@utils/filter-utils';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { FileActionsComponent } from '../../shared/components/file-actions/file-actions.component';
|
import { FileActionsComponent } from '../../shared/components/file-actions/file-actions.component';
|
||||||
import { Dossier, User } from '@red/domain';
|
|
||||||
import { FilesService } from '@services/entity-services/files.service';
|
import { FilesService } from '@services/entity-services/files.service';
|
||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||||
import { FileManagementService } from '../../shared/services/file-management.service';
|
import { FileManagementService } from '../../shared/services/file-management.service';
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import { catchError, map, tap } from 'rxjs/operators';
|
|||||||
import { FileDataModel } from '@models/file/file-data.model';
|
import { FileDataModel } from '@models/file/file-data.model';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { File } from '@models/file/file';
|
import { File } from '@red/domain';
|
||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||||
import { FileManagementService } from '../shared/services/file-management.service';
|
import { FileManagementService } from '../shared/services/file-management.service';
|
||||||
import { RedactionLogService } from './redaction-log.service';
|
import { RedactionLogService } from './redaction-log.service';
|
||||||
@ -23,16 +23,14 @@ export class PdfViewerDataService {
|
|||||||
|
|
||||||
loadActiveFileRedactionLog() {
|
loadActiveFileRedactionLog() {
|
||||||
return this._redactionLogService.getRedactionLog(this._dossiersService.activeDossierId, this._appStateService.activeFileId).pipe(
|
return this._redactionLogService.getRedactionLog(this._dossiersService.activeDossierId, this._appStateService.activeFileId).pipe(
|
||||||
tap(
|
tap(redactionLog => redactionLog.redactionLogEntry.sort((a, b) => a.positions[0].page - b.positions[0].page)),
|
||||||
redactionLog => redactionLog.redactionLogEntry.sort((a, b) => a.positions[0].page - b.positions[0].page),
|
catchError(() => of({})),
|
||||||
catchError(() => of({})),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
loadActiveFileData(): Observable<FileDataModel> {
|
loadActiveFileData(): Observable<FileDataModel> {
|
||||||
const file$ = this.downloadOriginalFile(this._appStateService.activeFile);
|
const file$ = this.downloadOriginalFile(this._appStateService.activeFile);
|
||||||
const reactionLog$ = this.loadActiveFileRedactionLog().pipe(catchError(() => of({})));
|
const reactionLog$ = this.loadActiveFileRedactionLog();
|
||||||
const viewedPages$ = this.getViewedPagesForActiveFile();
|
const viewedPages$ = this.getViewedPagesForActiveFile();
|
||||||
|
|
||||||
return forkJoin([file$, reactionLog$, viewedPages$]).pipe(
|
return forkJoin([file$, reactionLog$, viewedPages$]).pipe(
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';
|
import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { File } from '@models/file/file';
|
import { File, FileStatus } from '@red/domain';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
|
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
|
||||||
import {
|
import {
|
||||||
@ -13,7 +13,6 @@ import {
|
|||||||
StatusBarConfig,
|
StatusBarConfig,
|
||||||
Toaster,
|
Toaster,
|
||||||
} from '@iqser/common-ui';
|
} from '@iqser/common-ui';
|
||||||
import { FileStatus } from '@redaction/red-ui-http';
|
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { filter } from 'rxjs/operators';
|
import { filter } from 'rxjs/operators';
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { Component, Input } from '@angular/core';
|
import { Component, Input } from '@angular/core';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { File } from '@models/file/file';
|
import { Dossier, File } from '@red/domain';
|
||||||
import { Dossier } from '@red/domain';
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'redaction-needs-work-badge',
|
selector: 'redaction-needs-work-badge',
|
||||||
@ -46,7 +45,7 @@ export class NeedsWorkBadgeComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get hasAnnotationComments(): boolean {
|
get hasAnnotationComments(): boolean {
|
||||||
return this.needsWorkInput instanceof File && (<any> this.needsWorkInput).hasAnnotationComments;
|
return this.needsWorkInput instanceof File && (<any>this.needsWorkInput).hasAnnotationComments;
|
||||||
}
|
}
|
||||||
|
|
||||||
reanalysisRequired() {
|
reanalysisRequired() {
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { UserService } from '@services/user.service';
|
import { UserService } from '@services/user.service';
|
||||||
import { File } from '@models/file/file';
|
import { File } from '@red/domain';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
import { Injectable, Injector } from '@angular/core';
|
import { Injectable, Injector } from '@angular/core';
|
||||||
import { GenericService, RequiredParam, Validate } from '@iqser/common-ui';
|
import { GenericService, RequiredParam, Validate } from '@iqser/common-ui';
|
||||||
import { map } from 'rxjs/operators';
|
import { catchError, map } from 'rxjs/operators';
|
||||||
import { IViewedPage, IViewedPagesRequest } from '@red/domain';
|
import { IViewedPage, IViewedPagesRequest } from '@red/domain';
|
||||||
|
import { of } from 'rxjs';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
@ -23,6 +24,9 @@ export class ViewedPagesService extends GenericService<unknown> {
|
|||||||
|
|
||||||
@Validate()
|
@Validate()
|
||||||
getViewedPages(@RequiredParam() dossierId: string, @RequiredParam() fileId: string) {
|
getViewedPages(@RequiredParam() dossierId: string, @RequiredParam() fileId: string) {
|
||||||
return this._getOne<{ pages?: IViewedPage[] }>([dossierId, fileId]).pipe(map(res => res.pages));
|
return this._getOne<{ pages?: IViewedPage[] }>([dossierId, fileId]).pipe(
|
||||||
|
map(res => res.pages),
|
||||||
|
catchError(() => of([])),
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { FileStatus } from '@redaction/red-ui-http';
|
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
|
import { FileStatus } from '@red/domain';
|
||||||
|
|
||||||
export const fileStatusTranslations: { [key in FileStatus]: string } = {
|
export const fileStatusTranslations: { [key in FileStatus]: string } = {
|
||||||
APPROVED: _('file-status.approved'),
|
APPROVED: _('file-status.approved'),
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core';
|
import { ChangeDetectionStrategy, Component, Input, OnDestroy } from '@angular/core';
|
||||||
import { PermissionsService } from '@services/permissions.service';
|
import { PermissionsService } from '@services/permissions.service';
|
||||||
import { Dossier } from '@red/domain';
|
import { Dossier, File } from '@red/domain';
|
||||||
import { File } from '@models/file/file';
|
|
||||||
import { FileDownloadService } from '@upload-download/services/file-download.service';
|
import { FileDownloadService } from '@upload-download/services/file-download.service';
|
||||||
import { AutoUnsubscribe, CircleButtonType, CircleButtonTypes, List, Toaster } from '@iqser/common-ui';
|
import { AutoUnsubscribe, CircleButtonType, CircleButtonTypes, List, Toaster } from '@iqser/common-ui';
|
||||||
import { TranslateService } from '@ngx-translate/core';
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
import { Injectable, Injector } from '@angular/core';
|
import { Injectable, Injector } from '@angular/core';
|
||||||
import { EntitiesService, List, QueryParam, RequiredParam, Toaster, Validate } from '@iqser/common-ui';
|
import { EntitiesService, List, QueryParam, RequiredParam, Toaster, Validate } from '@iqser/common-ui';
|
||||||
import { Dossier, IDossier, IDossierRequest } from '@red/domain';
|
import { Dossier, File, IDossier, IDossierRequest } from '@red/domain';
|
||||||
import { catchError, map, tap } from 'rxjs/operators';
|
import { catchError, map, tap } from 'rxjs/operators';
|
||||||
import { BehaviorSubject, Observable, of } from 'rxjs';
|
import { BehaviorSubject, Observable, of } from 'rxjs';
|
||||||
import { ActivationEnd, Router } from '@angular/router';
|
import { ActivationEnd, Router } from '@angular/router';
|
||||||
import { File } from '@models/file/file';
|
|
||||||
import { DictionaryService } from '@shared/services/dictionary.service';
|
import { DictionaryService } from '@shared/services/dictionary.service';
|
||||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||||
import { currentComponentRoute } from '@utils/functions';
|
import { currentComponentRoute } from '@utils/functions';
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
import { Injectable, Injector } from '@angular/core';
|
import { Injectable, Injector } from '@angular/core';
|
||||||
import { EntitiesService, List, RequiredParam, Validate } from '@iqser/common-ui';
|
import { EntitiesService, List, RequiredParam, Validate } from '@iqser/common-ui';
|
||||||
import { IFile } from '@redaction/red-ui-http';
|
import { File, IFile } from '@red/domain';
|
||||||
import { File } from '@models/file/file';
|
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { map } from 'rxjs/operators';
|
import { map } from 'rxjs/operators';
|
||||||
import { UserService } from '../user.service';
|
import { UserService } from '../user.service';
|
||||||
|
|||||||
@ -1,8 +1,7 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { AppStateService } from '@state/app-state.service';
|
import { AppStateService } from '@state/app-state.service';
|
||||||
import { UserService } from './user.service';
|
import { UserService } from './user.service';
|
||||||
import { File } from '@models/file/file';
|
import { Dossier, File, IComment } from '@red/domain';
|
||||||
import { Dossier, IComment } from '@red/domain';
|
|
||||||
import { DossiersService } from './entity-services/dossiers.service';
|
import { DossiersService } from './entity-services/dossiers.service';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
|
|||||||
@ -1,12 +1,11 @@
|
|||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Colors, IFile } from '@redaction/red-ui-http';
|
import { Colors } from '@redaction/red-ui-http';
|
||||||
import { ActivationEnd, Router } from '@angular/router';
|
import { ActivationEnd, 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, filter, first, map, tap } from 'rxjs/operators';
|
import { catchError, filter, first, map, tap } from 'rxjs/operators';
|
||||||
import { currentComponentRoute, FALLBACK_COLOR, hexToRgb } from '@utils/functions';
|
import { currentComponentRoute, FALLBACK_COLOR, hexToRgb } from '@utils/functions';
|
||||||
import { File } from '@models/file/file';
|
import { Dictionary, Dossier, DossierTemplate, File, IDossier, IFile } from '@red/domain';
|
||||||
import { Dictionary, Dossier, DossierTemplate, IDossier } from '@red/domain';
|
|
||||||
import { DossiersService } from '@services/entity-services/dossiers.service';
|
import { DossiersService } from '@services/entity-services/dossiers.service';
|
||||||
import { UserPreferenceService } from '@services/user-preference.service';
|
import { UserPreferenceService } from '@services/user-preference.service';
|
||||||
import { FilesService } from '@services/entity-services/files.service';
|
import { FilesService } from '@services/entity-services/files.service';
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
import { File } from '@models/file/file';
|
import { Dossier, File, User, UserType } from '@red/domain';
|
||||||
import { Dossier, User, UserType } from '@red/domain';
|
|
||||||
import { handleCheckedValue, INestedFilter } from '@iqser/common-ui';
|
import { handleCheckedValue, INestedFilter } from '@iqser/common-ui';
|
||||||
|
|
||||||
export function handleFilterDelta(oldFilters: INestedFilter[], newFilters: INestedFilter[], allFilters: INestedFilter[]) {
|
export function handleFilterDelta(oldFilters: INestedFilter[], newFilters: INestedFilter[], allFilters: INestedFilter[]) {
|
||||||
|
|||||||
@ -1,5 +1,4 @@
|
|||||||
export * from './sorters/redaction-filter-sorter';
|
export * from './sorters/redaction-filter-sorter';
|
||||||
export * from './sorters/status-sorter';
|
|
||||||
export * from './sorters/super-type-sorter';
|
export * from './sorters/super-type-sorter';
|
||||||
|
|
||||||
export * from './api-path-interceptor';
|
export * from './api-path-interceptor';
|
||||||
|
|||||||
@ -1,23 +0,0 @@
|
|||||||
type StatusSorterItem = { key?: string } | string;
|
|
||||||
|
|
||||||
export const StatusSorter = {
|
|
||||||
ERROR: 0,
|
|
||||||
UNPROCESSED: 1,
|
|
||||||
REPROCESS: 5,
|
|
||||||
PROCESSING: 5,
|
|
||||||
OCR_PROCESSING: 7,
|
|
||||||
|
|
||||||
UNASSIGNED: 10,
|
|
||||||
UNDER_REVIEW: 15,
|
|
||||||
UNDER_APPROVAL: 20,
|
|
||||||
APPROVED: 25,
|
|
||||||
byStatus: (a: StatusSorterItem, b: StatusSorterItem): number => {
|
|
||||||
if (typeof a !== typeof b) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const x = typeof a === 'string' ? a : a.key;
|
|
||||||
const y = typeof b === 'string' ? b : b.key;
|
|
||||||
return StatusSorter[x] - StatusSorter[y];
|
|
||||||
},
|
|
||||||
};
|
|
||||||
@ -1,6 +1,6 @@
|
|||||||
export * from './lib/dossiers';
|
export * from './lib/dossiers';
|
||||||
export * from './lib/search';
|
export * from './lib/search';
|
||||||
export * from './lib/shared/types';
|
export * from './lib/shared';
|
||||||
export * from './lib/dossier-attributes';
|
export * from './lib/dossier-attributes';
|
||||||
export * from './lib/users';
|
export * from './lib/users';
|
||||||
export * from './lib/pages';
|
export * from './lib/pages';
|
||||||
@ -11,3 +11,4 @@ export * from './lib/dictionaries';
|
|||||||
export * from './lib/redaction-log';
|
export * from './lib/redaction-log';
|
||||||
export * from './lib/geometry';
|
export * from './lib/geometry';
|
||||||
export * from './lib/file-attributes';
|
export * from './lib/file-attributes';
|
||||||
|
export * from './lib/files';
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { List } from '@iqser/common-ui';
|
import { List } from '@iqser/common-ui';
|
||||||
import { DownloadFileType } from '../shared/types';
|
import { DownloadFileType } from '../shared';
|
||||||
|
|
||||||
export interface IDossierTemplate {
|
export interface IDossierTemplate {
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
import { IListable, List } from '@iqser/common-ui';
|
import { IListable, List } from '@iqser/common-ui';
|
||||||
import { IDossierTemplate } from './dossier-template.interface';
|
import { IDossierTemplate } from './dossier-template.interface';
|
||||||
import { DownloadFileType } from '../shared/types';
|
import { DownloadFileType } from '../shared';
|
||||||
|
|
||||||
export class DossierTemplate implements IDossierTemplate, IListable {
|
export class DossierTemplate implements IDossierTemplate, IListable {
|
||||||
readonly createdBy: string;
|
readonly createdBy: string;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { DossierStatus } from './types';
|
import { DossierStatus } from './types';
|
||||||
import { DownloadFileType } from '../shared/types';
|
import { DownloadFileType } from '../shared';
|
||||||
import { List } from '@iqser/common-ui';
|
import { List } from '@iqser/common-ui';
|
||||||
|
|
||||||
export interface IDossier {
|
export interface IDossier {
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import { File } from '@models/file/file';
|
import { File } from '../files';
|
||||||
import { IListable, List } from '@iqser/common-ui';
|
import { IListable, List } from '@iqser/common-ui';
|
||||||
import { IDossier } from './dossier.interface';
|
import { IDossier } from './dossier.interface';
|
||||||
import { DossierStatus } from './types';
|
import { DossierStatus } from './types';
|
||||||
import { DownloadFileType } from '../shared/types';
|
import { DownloadFileType } from '../shared';
|
||||||
import { IDictionary } from '../dictionaries';
|
import { IDictionary } from '../dictionaries';
|
||||||
|
|
||||||
export class Dossier implements IDossier, IListable {
|
export class Dossier implements IDossier, IListable {
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { List } from '@iqser/common-ui';
|
import { List } from '@iqser/common-ui';
|
||||||
import { DownloadFileType } from '../shared/types';
|
import { DownloadFileType } from '../shared';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Object containing information about a dossier.
|
* Object containing information about a dossier.
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
export * from './dossier.interface';
|
export * from './dossier.interface';
|
||||||
|
export * from './dossier.request';
|
||||||
export * from './dossier.model';
|
export * from './dossier.model';
|
||||||
export * from './types';
|
export * from './types';
|
||||||
export { IDossierRequest } from './dossier.request';
|
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
export interface FileAttributes {
|
export interface FileAttributes {
|
||||||
attributeIdToValue?: any;
|
attributeIdToValue?: Record<string, string>;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
import { IListable, List } from '@iqser/common-ui';
|
import { IListable, List } from '@iqser/common-ui';
|
||||||
import { FileStatus, FileStatuses, IFile } from '@redaction/red-ui-http';
|
import { StatusSorter } from '../shared';
|
||||||
import { FileAttributes, IFileAttributesConfig } from '@red/domain';
|
import { FileStatus, FileStatuses } from './types';
|
||||||
import { StatusSorter } from '@utils/sorters/status-sorter';
|
import { IFile } from './file';
|
||||||
|
import { FileAttributes, IFileAttributesConfig } from '../file-attributes';
|
||||||
|
|
||||||
const processingStatuses: List<FileStatus> = [
|
const processingStatuses: List<FileStatus> = [
|
||||||
FileStatuses.REPROCESS,
|
FileStatuses.REPROCESS,
|
||||||
@ -44,10 +45,10 @@ export class File implements IFile, IListable {
|
|||||||
readonly excludedPages?: number[];
|
readonly excludedPages?: number[];
|
||||||
readonly hasSuggestions: boolean;
|
readonly hasSuggestions: boolean;
|
||||||
|
|
||||||
readonly primaryAttribute: string;
|
readonly primaryAttribute?: string;
|
||||||
lastOpened: boolean;
|
lastOpened = false;
|
||||||
readonly statusSort: number;
|
readonly statusSort: number;
|
||||||
readonly cacheIdentifier: string;
|
readonly cacheIdentifier?: string;
|
||||||
readonly hintsOnly: boolean;
|
readonly hintsOnly: boolean;
|
||||||
readonly hasNone: boolean;
|
readonly hasNone: boolean;
|
||||||
readonly isUnassigned: boolean;
|
readonly isUnassigned: boolean;
|
||||||
@ -98,7 +99,7 @@ export class File implements IFile, IListable {
|
|||||||
|
|
||||||
this.statusSort = StatusSorter[this.status];
|
this.statusSort = StatusSorter[this.status];
|
||||||
if (this.lastUpdated && this.lastOCRTime) {
|
if (this.lastUpdated && this.lastOCRTime) {
|
||||||
this.cacheIdentifier = btoa(this.lastUploaded + this.lastOCRTime);
|
this.cacheIdentifier = btoa((this.lastUploaded ?? '') + this.lastOCRTime);
|
||||||
}
|
}
|
||||||
this.hintsOnly = this.hasHints && !this.hasRedactions;
|
this.hintsOnly = this.hasHints && !this.hasRedactions;
|
||||||
this.hasNone = !this.hasRedactions && !this.hasHints && !this.hasSuggestions;
|
this.hasNone = !this.hasRedactions && !this.hasHints && !this.hasSuggestions;
|
||||||
@ -1,8 +1,9 @@
|
|||||||
import { FileAttributes } from '@red/domain';
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Object containing information on a specific file.
|
* Object containing information on a specific file.
|
||||||
*/
|
*/
|
||||||
|
import { FileStatus } from './types';
|
||||||
|
import { FileAttributes } from '../file-attributes';
|
||||||
|
|
||||||
export interface IFile {
|
export interface IFile {
|
||||||
/**
|
/**
|
||||||
* Date and time when the file was added to the system.
|
* Date and time when the file was added to the system.
|
||||||
@ -138,21 +139,3 @@ export interface IFile {
|
|||||||
*/
|
*/
|
||||||
readonly uploader?: string;
|
readonly uploader?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const FileStatuses = {
|
|
||||||
APPROVED: 'APPROVED',
|
|
||||||
DELETED: 'DELETED',
|
|
||||||
ERROR: 'ERROR',
|
|
||||||
EXCLUDED: 'EXCLUDED',
|
|
||||||
FULLREPROCESS: 'FULLREPROCESS',
|
|
||||||
INDEXING: 'INDEXING',
|
|
||||||
OCR_PROCESSING: 'OCR_PROCESSING',
|
|
||||||
PROCESSING: 'PROCESSING',
|
|
||||||
REPROCESS: 'REPROCESS',
|
|
||||||
UNASSIGNED: 'UNASSIGNED',
|
|
||||||
UNDER_APPROVAL: 'UNDER_APPROVAL',
|
|
||||||
UNDER_REVIEW: 'UNDER_REVIEW',
|
|
||||||
UNPROCESSED: 'UNPROCESSED',
|
|
||||||
} as const;
|
|
||||||
|
|
||||||
export type FileStatus = keyof typeof FileStatuses;
|
|
||||||
3
libs/red-domain/src/lib/files/index.ts
Normal file
3
libs/red-domain/src/lib/files/index.ts
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
export * from './file';
|
||||||
|
export * from './file.model';
|
||||||
|
export * from './types';
|
||||||
17
libs/red-domain/src/lib/files/types.ts
Normal file
17
libs/red-domain/src/lib/files/types.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
export const FileStatuses = {
|
||||||
|
APPROVED: 'APPROVED',
|
||||||
|
DELETED: 'DELETED',
|
||||||
|
ERROR: 'ERROR',
|
||||||
|
EXCLUDED: 'EXCLUDED',
|
||||||
|
FULLREPROCESS: 'FULLREPROCESS',
|
||||||
|
INDEXING: 'INDEXING',
|
||||||
|
OCR_PROCESSING: 'OCR_PROCESSING',
|
||||||
|
PROCESSING: 'PROCESSING',
|
||||||
|
REPROCESS: 'REPROCESS',
|
||||||
|
UNASSIGNED: 'UNASSIGNED',
|
||||||
|
UNDER_APPROVAL: 'UNDER_APPROVAL',
|
||||||
|
UNDER_REVIEW: 'UNDER_REVIEW',
|
||||||
|
UNPROCESSED: 'UNPROCESSED',
|
||||||
|
} as const;
|
||||||
|
|
||||||
|
export type FileStatus = keyof typeof FileStatuses;
|
||||||
2
libs/red-domain/src/lib/shared/index.ts
Normal file
2
libs/red-domain/src/lib/shared/index.ts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
export * from './sorters/status-sorter';
|
||||||
|
export * from './types';
|
||||||
32
libs/red-domain/src/lib/shared/sorters/status-sorter.ts
Normal file
32
libs/red-domain/src/lib/shared/sorters/status-sorter.ts
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
import { FileStatus } from '../../files';
|
||||||
|
|
||||||
|
type StatusSorterItem = { key: FileStatus } | FileStatus | string;
|
||||||
|
type Sorter = Record<FileStatus, number> & {
|
||||||
|
byStatus: <T extends StatusSorterItem>(a: T, b: T) => number;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const StatusSorter: Sorter = {
|
||||||
|
ERROR: 0,
|
||||||
|
DELETED: 0,
|
||||||
|
FULLREPROCESS: 0,
|
||||||
|
EXCLUDED: 0,
|
||||||
|
INDEXING: 0,
|
||||||
|
UNPROCESSED: 1,
|
||||||
|
REPROCESS: 5,
|
||||||
|
PROCESSING: 5,
|
||||||
|
OCR_PROCESSING: 7,
|
||||||
|
|
||||||
|
UNASSIGNED: 10,
|
||||||
|
UNDER_REVIEW: 15,
|
||||||
|
UNDER_APPROVAL: 20,
|
||||||
|
APPROVED: 25,
|
||||||
|
byStatus: (a: StatusSorterItem, b: StatusSorterItem): number => {
|
||||||
|
if (typeof a !== typeof b) {
|
||||||
|
throw TypeError('Used different types when calling StatusSorter.byStatus1');
|
||||||
|
}
|
||||||
|
|
||||||
|
const x = typeof a === 'string' ? (a as FileStatus) : a.key;
|
||||||
|
const y = typeof b === 'string' ? (b as FileStatus) : b.key;
|
||||||
|
return StatusSorter[x] - StatusSorter[y];
|
||||||
|
},
|
||||||
|
};
|
||||||
@ -7,10 +7,6 @@ export * from './digitalSignatureViewModel';
|
|||||||
export * from './downloadResponse';
|
export * from './downloadResponse';
|
||||||
export * from './downloadStatus';
|
export * from './downloadStatus';
|
||||||
export * from './downloadStatusResponse';
|
export * from './downloadStatusResponse';
|
||||||
export * from '../../../../red-domain/src/lib/file-attributes/file-attribute-config';
|
|
||||||
export * from '../../../../red-domain/src/lib/file-attributes/file-attributes';
|
|
||||||
export * from '../../../../red-domain/src/lib/file-attributes/file-attributes-config';
|
|
||||||
export * from './file';
|
|
||||||
export * from './fileUploadResult';
|
export * from './fileUploadResult';
|
||||||
export * from './generalConfigurationModel';
|
export * from './generalConfigurationModel';
|
||||||
export * from './idRemoval';
|
export * from './idRemoval';
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user