Merge remote-tracking branch 'origin/master' into new-state-concept

This commit is contained in:
Dan Percic 2021-10-04 16:47:10 +03:00
commit 36f25629d5
21 changed files with 24 additions and 177 deletions

View File

@ -17,10 +17,6 @@
z-index: 1;
max-width: 100%;
}
.stats-subtitle {
margin-top: 4px;
}
}
.right-container {

View File

@ -1,7 +1,3 @@
.stats-subtitle {
margin-top: 4px;
}
.table-item-title {
max-width: 100%;
}

View File

@ -3,16 +3,14 @@ import { ActivatedRoute } from '@angular/router';
import { AppStateService } from '@state/app-state.service';
import { PlaceholdersResponse, ReportTemplate, ReportTemplateControllerService } from '@redaction/red-ui-http';
import { download } from '@utils/file-download-utils';
import { LoadingService } from '@iqser/common-ui';
import { ConfirmationDialogInput, LoadingService, Toaster } from '@iqser/common-ui';
import { PermissionsService } from '@services/permissions.service';
import {
generalPlaceholdersDescriptionsTranslations,
placeholdersDescriptionsTranslations
} from '../../translations/placeholders-descriptions-translations';
import { removeBraces } from '@utils/functions';
import { Toaster } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { AdminDialogService } from '../../services/admin-dialog.service';
interface Placeholder {

View File

@ -1,3 +0,0 @@
.stats-subtitle {
margin-top: 4px;
}

View File

@ -2,18 +2,19 @@ import { ChangeDetectionStrategy, Component, forwardRef, Injector, OnInit } from
import { IDossier } from '@redaction/red-ui-http';
import {
CircleButtonTypes,
ConfirmationDialogInput,
DefaultListingServices,
IListable,
ListingComponent,
LoadingService,
SortingOrders,
TableColumnConfig
TableColumnConfig,
TitleColors
} from '@iqser/common-ui';
import { ConfigService } from '@services/config.service';
import * as moment from 'moment';
import { DossiersService } from '../../../dossier/services/dossiers.service';
import { AdminDialogService } from '../../services/admin-dialog.service';
import { ConfirmationDialogInput, TitleColors } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { Observable } from 'rxjs';
import { distinctUntilChanged, map } from 'rxjs/operators';

View File

@ -3,7 +3,6 @@ import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
import { AddEditFileAttributeDialogComponent } from '../dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component';
import { AddEditDictionaryDialogComponent } from '../dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component';
import { AddEditDossierTemplateDialogComponent } from '../dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component';
import { ConfirmationDialogComponent } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { ConfirmDeleteFileAttributeDialogComponent } from '../dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component';
import { EditColorDialogComponent } from '../dialogs/edit-color-dialog/edit-color-dialog.component';
import { SmtpAuthDialogComponent } from '../dialogs/smtp-auth-dialog/smtp-auth-dialog.component';
@ -13,6 +12,7 @@ import { FileAttributesCsvImportDialogComponent } from '../dialogs/file-attribut
import { ComponentType } from '@angular/cdk/portal';
import { DialogService, largeDialogConfig } from '@shared/services/dialog.service';
import { AddEditDossierAttributeDialogComponent } from '../dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component';
import { ConfirmationDialogComponent } from '@iqser/common-ui';
type DialogType =
| 'confirm'

View File

@ -24,9 +24,8 @@ import { AnnotationActionsService } from '../../services/annotation-actions.serv
import { UserPreferenceService } from '@services/user-preference.service';
import { BASE_HREF } from '../../../../tokens';
import { ConfigService } from '@services/config.service';
import { LoadingService } from '@iqser/common-ui';
import { ConfirmationDialogInput, LoadingService } from '@iqser/common-ui';
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { loadCompareDocumentWrapper } from '../../utils/compare-mode.utils';
import { PdfViewerUtils } from '../../utils/pdf-viewer.utils';
import { ViewMode } from '@models/file/view-mode';

View File

@ -3,12 +3,14 @@ import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { Dossier } from '@state/model/dossier';
import {
CircleButtonTypes,
ConfirmationDialogInput,
DefaultListingServices,
IListable,
ListingComponent,
LoadingService,
SortingOrders,
TableColumnConfig
TableColumnConfig,
TitleColors
} from '@iqser/common-ui';
import { FileManagementControllerService, IFile } from '@redaction/red-ui-http';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
@ -17,7 +19,6 @@ import { ConfigService } from '@services/config.service';
import { getLeftDateTime } from '@utils/functions';
import { Observable } from 'rxjs';
import { distinctUntilChanged, map } from 'rxjs/operators';
import { ConfirmationDialogInput, TitleColors } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
import { AppStateService } from '@state/app-state.service';
import { FilesService } from '../../../services/files.service';

View File

@ -10,9 +10,8 @@ import { PermissionsService } from '@services/permissions.service';
import { Router } from '@angular/router';
import { MatDialogRef } from '@angular/material/dialog';
import { EditDossierDialogComponent } from '../edit-dossier-dialog.component';
import { IconButtonTypes, Toaster } from '@iqser/common-ui';
import { ConfirmationDialogInput, IconButtonTypes, TitleColors, Toaster } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { ConfirmationDialogInput, TitleColors } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { DossiersService } from '../../../services/dossiers.service';
@Component({

View File

@ -6,8 +6,7 @@ import { File } from '../../../../../../models/file/file';
import { FileActionService } from '../../../../shared/services/file-action.service';
import { Observable } from 'rxjs';
import { DossiersDialogService } from '../../../../services/dossiers-dialog.service';
import { CircleButtonTypes, EntitiesService, LoadingService } from '@iqser/common-ui';
import { ConfirmationDialogInput } from '../../../../../shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { CircleButtonTypes, ConfirmationDialogInput, EntitiesService, LoadingService } from '@iqser/common-ui';
import { TranslateService } from '@ngx-translate/core';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { Dossier } from '@state/model/dossier';

View File

@ -92,7 +92,3 @@
display: block;
}
}
.stats-subtitle {
margin-top: 4px;
}

View File

@ -3,7 +3,6 @@ import { MatDialog, MatDialogConfig } from '@angular/material/dialog';
import { AddDossierDialogComponent } from '../dialogs/add-dossier-dialog/add-dossier-dialog.component';
import { RemoveAnnotationsDialogComponent } from '../dialogs/remove-annotations-dialog/remove-annotations-dialog.component';
import { ForceRedactionDialogComponent } from '../dialogs/force-redaction-dialog/force-redaction-dialog.component';
import { ConfirmationDialogComponent } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { DocumentInfoDialogComponent } from '../dialogs/document-info-dialog/document-info-dialog.component';
import { AppStateService } from '@state/app-state.service';
import { ManualAnnotationService } from './manual-annotation.service';
@ -15,6 +14,7 @@ import { ChangeLegalBasisDialogComponent } from '../dialogs/change-legal-basis-d
import { RecategorizeImageDialogComponent } from '../dialogs/recategorize-image-dialog/recategorize-image-dialog.component';
import { DialogService, largeDialogConfig } from '@shared/services/dialog.service';
import { ComponentType } from '@angular/cdk/portal';
import { ConfirmationDialogComponent } from '@iqser/common-ui';
type DialogType =
| 'confirm'

View File

@ -3,8 +3,16 @@ import { PermissionsService } from '@services/permissions.service';
import { File } from '@models/file/file';
import { AppStateService } from '@state/app-state.service';
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { AutoUnsubscribe, CircleButtonType, CircleButtonTypes, LoadingService, Required, StatusBarConfig, Toaster } from '@iqser/common-ui';
import {
AutoUnsubscribe,
CircleButtonType,
CircleButtonTypes,
ConfirmationDialogInput,
LoadingService,
Required,
StatusBarConfig,
Toaster
} from '@iqser/common-ui';
import { FileManagementControllerService, FileStatus } from '@redaction/red-ui-http';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';

View File

@ -5,9 +5,9 @@ import { ReanalysisControllerService } from '@redaction/red-ui-http';
import { File } from '@models/file/file';
import { PermissionsService } from '@services/permissions.service';
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { FilesService } from '../../services/files.service';
import { ConfirmationDialogInput } from '@iqser/common-ui';
import { DossiersService } from '../../services/dossiers.service';
@Injectable()

View File

@ -1,37 +0,0 @@
<section class="dialog">
<div [class.primary]="isDeleteAction" class="dialog-header heading-l">
{{ config.title }}
</div>
<div class="dialog-content">
<p [class.heading]="isDeleteAction" [innerHTML]="config.question" class="mt-0 mb-8"></p>
<p *ngIf="config.details" [innerHTML]="config.details" class="mt-0"></p>
<div *ngIf="config.requireInput" class="iqser-input-group required w-300 mt-24">
<label>{{ inputLabel }}</label>
<input [(ngModel)]="inputValue" />
</div>
</div>
<div class="dialog-actions">
<button (click)="confirm(1)" [disabled]="config.requireInput && confirmationDoesNotMatch()" color="primary" mat-flat-button>
{{ config.confirmationText }}
</button>
<button
(click)="confirm(2)"
[disabled]="config.requireInput && confirmationDoesNotMatch()"
color="primary"
mat-flat-button
*ngIf="config.alternativeConfirmationText"
>
{{ config.alternativeConfirmationText }}
</button>
<div (click)="deny()" class="all-caps-label cancel">
{{ config.denyText }}
</div>
</div>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -1,91 +0,0 @@
import { Component, HostListener, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { TranslateService } from '@ngx-translate/core';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
export type TitleColor = 'default' | 'primary';
export enum TitleColors {
DEFAULT = 'default',
PRIMARY = 'primary'
}
export class ConfirmationDialogInput {
title?: string;
titleColor?: TitleColor;
question?: string;
details?: string;
confirmationText?: string;
alternativeConfirmationText?: string;
requireInput?: boolean;
denyText?: string;
translateParams?: Record<string, unknown>;
constructor(options?: ConfirmationDialogInput) {
this.title = options?.title || _('common.confirmation-dialog.title');
this.titleColor = options?.titleColor || TitleColors.DEFAULT;
this.question = options?.question || _('common.confirmation-dialog.description');
this.details = options?.details || '';
this.confirmationText = options?.confirmationText || _('common.confirmation-dialog.confirm');
this.alternativeConfirmationText = options?.alternativeConfirmationText;
this.requireInput = options?.requireInput || false;
this.denyText = options?.denyText || _('common.confirmation-dialog.deny');
this.translateParams = options?.translateParams || {};
}
}
@Component({
templateUrl: './confirmation-dialog.component.html',
styleUrls: ['./confirmation-dialog.component.scss']
})
export class ConfirmationDialogComponent {
config: ConfirmationDialogInput;
inputValue = '';
readonly inputLabel: string;
constructor(
private readonly _dialogRef: MatDialogRef<ConfirmationDialogComponent>,
private readonly _translateService: TranslateService,
@Inject(MAT_DIALOG_DATA) private readonly _confirmationDialogInput: ConfirmationDialogInput
) {
this.config = _confirmationDialogInput ?? new ConfirmationDialogInput();
this.config = this.translate(this.config);
this.inputLabel = this._translateService.instant('confirmation-dialog.input-label') + ` '${this.config.confirmationText}'`;
}
get isDeleteAction() {
return this.config?.titleColor === TitleColors.PRIMARY;
}
@HostListener('window:keyup.enter')
onKeyupEnter() {
if (this.config.requireInput && !this.confirmationDoesNotMatch()) {
this.confirm(1);
}
}
confirmationDoesNotMatch(): boolean {
return this.inputValue.toLowerCase() !== this.config.confirmationText.toLowerCase();
}
deny(): void {
this._dialogRef.close();
}
confirm(option: number): void {
this._dialogRef.close(option);
}
translate<T extends ConfirmationDialogInput | string>(obj: T): T {
const translateKeys = ['title', 'question', 'details', 'confirmationText', 'alternativeConfirmationText', 'denyText'];
if (typeof obj === 'string') {
return this._translateService.instant(obj, this.config.translateParams);
}
const stringKeys = Object.keys(obj).filter(key => typeof key === 'string' && !!obj[key] && translateKeys.includes(key));
stringKeys.forEach(key => (obj[key] = this.translate(obj[key])));
return obj;
}
}

View File

@ -11,7 +11,6 @@ import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { AnnotationIconComponent } from './components/annotation-icon/annotation-icon.component';
import { SimpleDoughnutChartComponent } from './components/simple-doughnut-chart/simple-doughnut-chart.component';
import { DictionaryAnnotationIconComponent } from './components/dictionary-annotation-icon/dictionary-annotation-icon.component';
import { ConfirmationDialogComponent } from './dialogs/confirmation-dialog/confirmation-dialog.component';
import { CommonUiModule } from '@iqser/common-ui';
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';
import { MomentDateAdapter } from '@angular/material-moment-adapter';
@ -35,7 +34,6 @@ const components = [
AnnotationIconComponent,
SimpleDoughnutChartComponent,
DictionaryAnnotationIconComponent,
ConfirmationDialogComponent,
SelectComponent,
SideNavComponent,
DictionaryManagerComponent,

View File

@ -1,19 +1,6 @@
@use 'variables';
@use 'common-mixins';
.pill {
padding: 2px 5px;
border-radius: 9px;
background-color: variables.$primary;
color: variables.$white;
font-size: 10px;
font-weight: 600;
line-height: 12px;
height: 12px;
text-align: center;
white-space: pre;
}
.UNASSIGNED {
stroke: variables.$grey-5;
background-color: variables.$grey-5;

View File

@ -1,6 +1,6 @@
{
"name": "redaction",
"version": "2.250.0",
"version": "2.252.0",
"private": true,
"license": "MIT",
"scripts": {

Binary file not shown.