From 54c4995f6129629e3ddf9ae33e1304e801b160e6 Mon Sep 17 00:00:00 2001 From: Valentin Date: Wed, 15 Dec 2021 10:37:48 +0200 Subject: [PATCH 001/260] WIP on warning the user before leaving the page with unsaved changes --- .../add-edit-dictionary-dialog.component.ts | 10 +-- ...-edit-dossier-template-dialog.component.ts | 12 ++-- ...dd-edit-file-attribute-dialog.component.ts | 11 ++-- .../edit-color-dialog.component.ts | 10 +-- .../edit-dossier-dialog.component.html | 2 +- .../edit-dossier-dialog.component.ts | 10 +-- .../shared/dialog/base-dialog.component.ts | 65 +++++++++++++++++++ .../dialog/confirmation-dialog.service.ts | 36 ++++++++++ .../shared/dialog/form-dialog.component.ts | 33 ++++++++++ .../src/app/modules/shared/shared.module.ts | 2 + apps/red-ui/src/assets/i18n/en.json | 7 ++ 11 files changed, 175 insertions(+), 23 deletions(-) create mode 100644 apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts create mode 100644 apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts create mode 100644 apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index 737d96915..7af17f9e4 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -1,8 +1,8 @@ -import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Observable } from 'rxjs'; -import { BaseDialogComponent, shareDistinctLast, Toaster } from '@iqser/common-ui'; +import { shareDistinctLast, Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { AppStateService } from '@state/app-state.service'; @@ -12,6 +12,7 @@ import { Dictionary, IDictionary } from '@red/domain'; import { UserService } from '@services/user.service'; import { map } from 'rxjs/operators'; import { HttpStatusCode } from '@angular/common/http'; +import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; @Component({ selector: 'redaction-add-edit-dictionary-dialog', @@ -39,11 +40,12 @@ export class AddEditDictionaryDialogComponent extends BaseDialogComponent { private readonly _appStateService: AppStateService, private readonly _translateService: TranslateService, private readonly _dictionaryService: DictionaryService, - private readonly _dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) private readonly _data: { readonly dictionary: Dictionary; readonly dossierTemplateId: string }, ) { - super(); + super(_injector, _dialogRef); this.hasColor$ = this._colorEmpty$; this.technicalName$ = this.form.get('label').valueChanges.pipe(map(value => this._toTechnicalName(value))); } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index 39025d390..9755a2839 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, Injector } from '@angular/core'; import { AppStateService } from '@state/app-state.service'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; @@ -7,10 +7,11 @@ import { Moment } from 'moment'; import { applyIntervalConstraints } from '@utils/date-inputs-utils'; import { downloadTypesTranslations } from '../../../../translations/download-types-translations'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; -import { BaseDialogComponent, Toaster } from '@iqser/common-ui'; +import { Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DownloadFileType, IDossierTemplate } from '@red/domain'; import { HttpStatusCode } from '@angular/common/http'; +import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; @Component({ templateUrl: './add-edit-dossier-template-dialog.component.html', @@ -34,10 +35,11 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { private readonly _toaster: Toaster, private readonly _dossierTemplatesService: DossierTemplatesService, private readonly _formBuilder: FormBuilder, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) readonly dossierTemplate: IDossierTemplate, ) { - super(); + super(_injector, _dialogRef); this.hasValidFrom = !!this.dossierTemplate?.validFrom; this.hasValidTo = !!this.dossierTemplate?.validTo; @@ -97,7 +99,7 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { await this._dossierTemplatesService.createOrUpdate(dossierTemplate).toPromise(); await this._dossierTemplatesService.loadAll().toPromise(); await this._appStateService.loadDictionaryData(); - this.dialogRef.close(true); + this._dialogRef.close(true); } catch (error: any) { const message = error.status === HttpStatusCode.Conflict diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index 7346bf384..2ad60ad14 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -1,10 +1,10 @@ -import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { FileAttributeConfigTypes, IFileAttributeConfig } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { fileAttributeTypesTranslations } from '../../translations/file-attribute-types-translations'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; -import { BaseDialogComponent } from '@iqser/common-ui'; +import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; @Component({ selector: 'redaction-add-edit-file-attribute-dialog', @@ -26,7 +26,8 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { constructor( private readonly _formBuilder: FormBuilder, private readonly _fileAttributesService: FileAttributesService, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: { fileAttribute: IFileAttributeConfig; @@ -35,7 +36,7 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { numberOfFilterableAttrs: number; }, ) { - super(); + super(_injector, _dialogRef); this.canSetDisplayed = data.numberOfDisplayedAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.displayedInFileList; this.canSetFilterable = data.numberOfFilterableAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.filterable; this.form = this._getForm(this.fileAttribute); @@ -69,7 +70,7 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { editable: !this.form.get('readonly').value, ...this.form.getRawValue(), }; - this.dialogRef.close(fileAttribute); + this._dialogRef.close(fileAttribute); } private _getForm(fileAttribute: IFileAttributeConfig): FormGroup { diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index 519eb2dd2..2af506f39 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -1,12 +1,13 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, Injector } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { DefaultColorType, IColors } from '@red/domain'; -import { BaseDialogComponent, Toaster } from '@iqser/common-ui'; +import { Toaster } from '@iqser/common-ui'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; import { defaultColorsTranslations } from '../../translations/default-colors-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DictionaryService } from '@shared/services/dictionary.service'; +import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; interface IEditColorData { colors: IColors; @@ -30,11 +31,12 @@ export class EditColorDialogComponent extends BaseDialogComponent { private readonly _dictionaryService: DictionaryService, private readonly _toaster: Toaster, private readonly _translateService: TranslateService, - private readonly _dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) readonly data: IEditColorData, ) { - super(); + super(_injector, _dialogRef); this._dossierTemplateId = data.dossierTemplateId; this._initialColor = data.colors[data.colorKey]; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html index 8b9f90c77..2500c6cd4 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html @@ -65,5 +65,5 @@ - + diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index 87235becf..864d98dcb 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -1,10 +1,10 @@ -import { ChangeDetectorRef, Component, Inject, ViewChild } from '@angular/core'; +import { ChangeDetectorRef, Component, Inject, Injector, ViewChild } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Dossier } from '@red/domain'; import { EditDossierGeneralInfoComponent } from './general-info/edit-dossier-general-info.component'; import { EditDossierDownloadPackageComponent } from './download-package/edit-dossier-download-package.component'; import { EditDossierSectionInterface } from './edit-dossier-section.interface'; -import { BaseDialogComponent, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { EditDossierDictionaryComponent } from './dictionary/edit-dossier-dictionary.component'; import { EditDossierAttributesComponent } from './attributes/edit-dossier-attributes.component'; @@ -14,6 +14,7 @@ import { DossiersService } from '@services/entity-services/dossiers.service'; import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { EditDossierTeamComponent } from './edit-dossier-team/edit-dossier-team.component'; +import { BaseDialogComponent } from '@shared/dialog/base-dialog.component'; type Section = 'dossierInfo' | 'downloadPackage' | 'dossierDictionary' | 'members' | 'dossierAttributes' | 'deletedDocuments'; @@ -39,15 +40,16 @@ export class EditDossierDialogComponent extends BaseDialogComponent { private readonly _toaster: Toaster, private readonly _dossiersService: DossiersService, private readonly _changeRef: ChangeDetectorRef, - private readonly _dialogRef: MatDialogRef, private readonly _loadingService: LoadingService, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) private readonly _data: { dossierId: string; section?: Section; }, ) { - super(); + super(_injector, _dialogRef); this.navItems = [ { key: 'dossierInfo', diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts new file mode 100644 index 000000000..efdd9ba5a --- /dev/null +++ b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts @@ -0,0 +1,65 @@ +import { Directive, HostListener, Injector, OnInit } from '@angular/core'; +import { AutoUnsubscribe, IqserEventTarget } from '../../../../../../../libs/common-ui/src'; +import { MatDialogRef } from '@angular/material/dialog'; +import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; + +@Directive() +/** + * Extend this component when you want to submit the form after pressing enter. + * + * This could be done by adding properties (submit)="save()" on the form and type="submit" on the save button. + * However, some components (e.g. redaction-select, color picker) don't set focus on the input after choosing a value. + * Also, other components (e.g. dropdown select) trigger a different action on enter, instead of submit. + * + * Make sure to remove property type="submit" from the save button and the (submit)="save()" property from the form + * (otherwise the save request will be triggered twice). + * */ +export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnInit { + abstract changed: boolean; + abstract valid: boolean; + abstract disabled: boolean; + + private readonly _dialogService: ConfirmationDialogService = this._injector.get(ConfirmationDialogService); + + private _waitingForConfirmation = false; + + constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { + super(); + } + + abstract save(): void; + + ngOnInit(): void { + this.addSubscription = this._dialogRef.backdropClick().subscribe(() => { + this.close(); + }); + } + + close(): void { + if (this.changed) { + this._waitingForConfirmation = true; + const dialogRef = this._dialogService.openDialog(() => this._dialogRef.close()); + dialogRef + .afterClosed() + .toPromise() + .then(() => (this._waitingForConfirmation = false)); + return; + } + this._dialogRef.close(); + } + + @HostListener('window:keydown.Enter', ['$event']) + onEnter(event: KeyboardEvent): void { + const node = (event.target as IqserEventTarget).localName; + if (this.valid && !this.disabled && this.changed && node !== 'textarea') { + this.save(); + } + } + + @HostListener('window:keydown.Escape', ['$event']) + onEscape(): void { + if (!this._waitingForConfirmation) { + this.close(); + } + } +} diff --git a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts new file mode 100644 index 000000000..508bb40a4 --- /dev/null +++ b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts @@ -0,0 +1,36 @@ +import { Injectable } from '@angular/core'; +import { ConfirmationDialogComponent, ConfirmationDialogInput, DialogConfig, DialogService, TitleColors } from '@iqser/common-ui'; +import { MatDialog, MatDialogRef } from '@angular/material/dialog'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; + +type DialogType = 'confirm'; + +@Injectable() +export class ConfirmationDialogService extends DialogService { + protected readonly _config: DialogConfig = { + confirm: { + component: ConfirmationDialogComponent, + dialogConfig: { disableClose: false }, + }, + }; + + constructor(protected readonly _dialog: MatDialog) { + super(_dialog); + } + + openDialog(cb: any): MatDialogRef { + return super.openDialog( + 'confirm', + null, + new ConfirmationDialogInput({ + title: _('confirmation-dialog.unsaved-changes.title'), + question: _('confirmation-dialog.unsaved-changes.question'), + details: _('confirmation-dialog.unsaved-changes.details'), + confirmationText: _('confirmation-dialog.unsaved-changes.confirmation-text'), + denyText: _('confirmation-dialog.unsaved-changes.deny-text'), + titleColor: TitleColors.WARN, + }), + cb, + ); + } +} diff --git a/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts new file mode 100644 index 000000000..63072f58b --- /dev/null +++ b/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts @@ -0,0 +1,33 @@ +// import { BaseDialogComponent } from './base-dialog.component'; +// import { Injector, OnInit } from '@angular/core'; +// import { MatDialogRef } from '@angular/material/dialog'; +// import { FormGroup } from '@angular/forms'; +// +// export abstract class FormDialogComponent extends BaseDialogComponent implements OnInit { +// +// abstract readonly form: FormGroup; +// private _hasChange = false; +// +// constructor( +// protected readonly _injector: Injector, +// protected readonly _dialogRef: MatDialogRef, +// ) { +// super(_injector, _dialogRef); +// } +// +// get changed(): boolean { +// return this._hasChange; +// } +// +// onFormGroupValueChange() { +// const initialValue = this.form.value; +// this.createGroupForm.valueChanges.subscribe(value => { +// this.hasChange = Object.keys(initialValue).some(key => this.form.value[key] != +// initialValue[key]); +// }); +// } +// +// get valid(): boolean { +// return this.form.valid; +// } +// } diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts index 4f606ceb9..81e3e3122 100644 --- a/apps/red-ui/src/app/modules/shared/shared.module.ts +++ b/apps/red-ui/src/app/modules/shared/shared.module.ts @@ -26,6 +26,7 @@ import { TypeFilterComponent } from './components/type-filter/type-filter.compon import { TeamMembersComponent } from './components/team-members/team-members.component'; import { EditorComponent } from './components/editor/editor.component'; import { ExpandableFileActionsComponent } from './components/expandable-file-actions/expandable-file-actions.component'; +import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; const buttons = [FileDownloadBtnComponent, UserButtonComponent]; @@ -69,6 +70,7 @@ const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, Rea }, }, }, + ConfirmationDialogService, ], }) export class SharedModule {} diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index aeec13bf8..4b1931c00 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -436,6 +436,13 @@ "question": "Are you sure you want to delete {filesCount, plural, one{this document} other{these documents}}?", "title": "Delete {filesCount, plural, one{{fileName}} other{Selected Documents}}" }, + "unsaved-changes": { + "confirmation-text": "Save and Leave", + "deny-text": "DISCARD CHANGES", + "details": "If you leave the tab without saving, all the unsaved changes will be lost.", + "question": "Are you sure you want to leave the tab? You have unsaved changes.", + "title": "You have unsaved changes" + }, "upload-report-template": { "alternate-confirmation-text": "Upload as multi-file report", "confirmation-text": "Upload as single-file report", From d0395dd3bcf2596039ea9f1c934ffd437a6af06c Mon Sep 17 00:00:00 2001 From: Valentin Date: Mon, 20 Dec 2021 10:28:37 +0200 Subject: [PATCH 002/260] updated base dialog component to display the confirmation dialog whenever the user wants to leave the modal or change its tab with unsaved changes --- .../edit-dossier-dialog.component.ts | 19 +++++++++++++++++-- .../shared/dialog/base-dialog.component.ts | 19 ++++++++++++++----- .../dialog/confirmation-dialog.service.ts | 5 ++--- apps/red-ui/src/assets/i18n/en.json | 5 ++--- libs/common-ui | 2 +- 5 files changed, 36 insertions(+), 14 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index 864d98dcb..d17d8ed99 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -4,7 +4,7 @@ import { Dossier } from '@red/domain'; import { EditDossierGeneralInfoComponent } from './general-info/edit-dossier-general-info.component'; import { EditDossierDownloadPackageComponent } from './download-package/edit-dossier-download-package.component'; import { EditDossierSectionInterface } from './edit-dossier-section.interface'; -import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { ConfirmOptions, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { EditDossierDictionaryComponent } from './dictionary/edit-dossier-dictionary.component'; import { EditDossierAttributesComponent } from './attributes/edit-dossier-attributes.component'; @@ -146,7 +146,22 @@ export class EditDossierDialogComponent extends BaseDialogComponent { changeTab(key: Section) { if (this.changed) { - this._toaster.error(_('edit-dossier-dialog.unsaved-changes')); + this._waitingForConfirmation = true; + const dialogRef = this._dialogService.openDialog(); + dialogRef + .afterClosed() + .toPromise() + .then(async result => { + if (result in ConfirmOptions) { + if (result === ConfirmOptions.CONFIRM) { + await this.save(); + } else { + this.revert(); + } + this.activeNav = key; + } + this._waitingForConfirmation = false; + }); return; } this.activeNav = key; diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts index efdd9ba5a..a192a3832 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts @@ -1,5 +1,5 @@ import { Directive, HostListener, Injector, OnInit } from '@angular/core'; -import { AutoUnsubscribe, IqserEventTarget } from '../../../../../../../libs/common-ui/src'; +import { AutoUnsubscribe, ConfirmOptions, IqserEventTarget } from '../../../../../../../libs/common-ui/src'; import { MatDialogRef } from '@angular/material/dialog'; import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; @@ -19,9 +19,9 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI abstract valid: boolean; abstract disabled: boolean; - private readonly _dialogService: ConfirmationDialogService = this._injector.get(ConfirmationDialogService); + protected readonly _dialogService: ConfirmationDialogService = this._injector.get(ConfirmationDialogService); - private _waitingForConfirmation = false; + protected _waitingForConfirmation = false; constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { super(); @@ -38,11 +38,20 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI close(): void { if (this.changed) { this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog(() => this._dialogRef.close()); + const dialogRef = this._dialogService.openDialog(); dialogRef .afterClosed() .toPromise() - .then(() => (this._waitingForConfirmation = false)); + .then(result => { + if (result in ConfirmOptions) { + if (result === ConfirmOptions.CONFIRM) { + this.save(); + } else { + this._dialogRef.close(); + } + } + this._waitingForConfirmation = false; + }); return; } this._dialogRef.close(); diff --git a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts index 508bb40a4..9a4c68c8f 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts @@ -18,7 +18,7 @@ export class ConfirmationDialogService extends DialogService { super(_dialog); } - openDialog(cb: any): MatDialogRef { + openDialog(): MatDialogRef { return super.openDialog( 'confirm', null, @@ -27,10 +27,9 @@ export class ConfirmationDialogService extends DialogService { question: _('confirmation-dialog.unsaved-changes.question'), details: _('confirmation-dialog.unsaved-changes.details'), confirmationText: _('confirmation-dialog.unsaved-changes.confirmation-text'), - denyText: _('confirmation-dialog.unsaved-changes.deny-text'), + discardChangesText: _('confirmation-dialog.unsaved-changes.discard-changes-text'), titleColor: TitleColors.WARN, }), - cb, ); } } diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 771207a5f..2c97ec621 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -446,8 +446,8 @@ }, "unsaved-changes": { "confirmation-text": "Save and Leave", - "deny-text": "DISCARD CHANGES", "details": "If you leave the tab without saving, all the unsaved changes will be lost.", + "discard-changes-text": "DISCARD CHANGES", "question": "Are you sure you want to leave the tab? You have unsaved changes.", "title": "You have unsaved changes" }, @@ -931,8 +931,7 @@ "members": "Members", "team-members": "Team Members" }, - "side-nav-title": "Configurations", - "unsaved-changes": "You have unsaved changes. Save or revert before changing the tab." + "side-nav-title": "Configurations" }, "error": { "http": { diff --git a/libs/common-ui b/libs/common-ui index 0610684e8..09008130e 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 0610684e8fb963fab1f7dd51fd850a7b47287fca +Subproject commit 09008130e81e3ddf1a7434c9ef14e41678f6e2a9 From cea10d1396580e3a6ece2aae17cb778880d4aa19 Mon Sep 17 00:00:00 2001 From: Valentin Date: Tue, 4 Jan 2022 20:32:33 +0200 Subject: [PATCH 003/260] updated general logic for 'valid' and 'changed' methods to be used by more classes that inherit BaseDialog --- .../add-edit-dictionary-dialog.component.html | 2 +- .../add-edit-dictionary-dialog.component.ts | 25 +------- ...dit-dossier-template-dialog.component.html | 11 +--- ...-edit-dossier-template-dialog.component.ts | 63 ++++++++----------- ...-edit-file-attribute-dialog.component.html | 4 +- ...dd-edit-file-attribute-dialog.component.ts | 24 +------ .../edit-color-dialog.component.html | 2 +- .../edit-color-dialog.component.ts | 12 +--- .../edit-dossier-attributes.component.ts | 2 +- .../edit-dossier-dialog.component.ts | 2 +- .../shared/dialog/base-dialog.component.ts | 53 ++++++++++++++-- .../dialog/confirmation-dialog.service.ts | 3 +- .../shared/dialog/form-dialog.component.ts | 33 ---------- libs/common-ui | 2 +- 14 files changed, 88 insertions(+), 150 deletions(-) delete mode 100644 apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html index 2e69716c7..abcf375f0 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html @@ -101,5 +101,5 @@ - + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index 7af17f9e4..89e15164e 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -22,7 +22,6 @@ import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.componen }) export class AddEditDictionaryDialogComponent extends BaseDialogComponent { readonly dictionary = this._data.dictionary; - readonly form: FormGroup = this._getForm(this.dictionary); readonly canEditLabel$ = this._canEditLabel$; readonly technicalName$: Observable; readonly dialogHeader = this._translateService.instant('add-edit-dictionary.title', { @@ -46,32 +45,12 @@ export class AddEditDictionaryDialogComponent extends BaseDialogComponent { private readonly _data: { readonly dictionary: Dictionary; readonly dossierTemplateId: string }, ) { super(_injector, _dialogRef); + this.form = this._getForm(this.dictionary); + this.initialForm = this._getForm(this.dictionary); this.hasColor$ = this._colorEmpty$; this.technicalName$ = this.form.get('label').valueChanges.pipe(map(value => this._toTechnicalName(value))); } - get valid(): boolean { - return this.form.valid; - } - - get changed(): boolean { - if (!this.dictionary) { - return true; - } - - for (const key of Object.keys(this.form.getRawValue())) { - if (key === 'caseSensitive') { - if (this.getDictCaseSensitive(this.dictionary) !== this.form.get(key).value) { - return true; - } - } else if (this.dictionary[key] !== this.form.get(key).value) { - return true; - } - } - - return false; - } - private get _canEditLabel$() { return this.userService.currentUser$.pipe( map(user => user.isAdmin || !this._data.dictionary), diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html index a8ee5cdf2..fe2e2f28c 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html @@ -33,16 +33,11 @@
- + {{ 'add-edit-dossier-template.form.valid-from' | translate }} - + {{ 'add-edit-dossier-template.form.valid-to' | translate }}
@@ -93,5 +88,5 @@
- + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index 9755a2839..2c40876fc 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -18,7 +18,6 @@ import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.componen styleUrls: ['./add-edit-dossier-template-dialog.component.scss'], }) export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { - readonly form: FormGroup = this._getForm(); hasValidFrom: boolean; hasValidTo: boolean; downloadTypesEnum: DownloadFileType[] = ['ORIGINAL', 'PREVIEW', 'REDACTED']; @@ -29,6 +28,8 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { readonly disabled = false; private _previousValidFrom: Moment; private _previousValidTo: Moment; + private _lastValidFrom: Moment; + private _lastValidTo: Moment; constructor( private readonly _appStateService: AppStateService, @@ -40,52 +41,38 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { @Inject(MAT_DIALOG_DATA) readonly dossierTemplate: IDossierTemplate, ) { super(_injector, _dialogRef); + this.form = this._getForm(); + this.initialForm = this._getForm(); this.hasValidFrom = !!this.dossierTemplate?.validFrom; this.hasValidTo = !!this.dossierTemplate?.validTo; - this._previousValidFrom = this.form.get('validFrom').value; - this._previousValidTo = this.form.get('validTo').value; + this._previousValidFrom = this._lastValidFrom = this.form.get('validFrom').value; + this._previousValidTo = this._lastValidTo = this.form.get('validTo').value; - this.form.valueChanges.subscribe(value => { + this.addSubscription = this.form.valueChanges.subscribe(value => { this._applyValidityIntervalConstraints(value); }); + + this.addSubscription = this.form.controls['validFrom'].valueChanges.subscribe(value => { + if (value) { + this._lastValidFrom = value; + } + }); + this.addSubscription = this.form.controls['validTo'].valueChanges.subscribe(value => { + if (value) { + this._lastValidTo = value; + } + }); } - get valid(): boolean { - return this.form.valid; - } - - get changed(): boolean { - if (!this.dossierTemplate) { - return true; + toggleHasValid(extremity: string) { + if (extremity === 'from') { + this.hasValidFrom = !this.hasValidFrom; + this.form.controls['validFrom'].setValue(this.hasValidFrom ? this._lastValidFrom : null); + } else { + this.hasValidTo = !this.hasValidTo; + this.form.controls['validTo'].setValue(this.hasValidTo ? this._lastValidTo : null); } - - for (const key of Object.keys(this.form.getRawValue())) { - const formValue = this.form.get(key).value; - const objectValue = this.dossierTemplate[key]; - if (key === 'validFrom') { - if (this.hasValidFrom !== !!objectValue || (this.hasValidFrom && !moment(objectValue).isSame(moment(formValue)))) { - return true; - } - } else if (key === 'validTo') { - if (this.hasValidTo !== !!objectValue || (this.hasValidTo && !moment(objectValue).isSame(moment(formValue)))) { - return true; - } - } else if (formValue instanceof Array) { - if (objectValue.length !== formValue.length) { - return true; - } - for (const item of objectValue) { - if (!formValue.includes(item)) { - return true; - } - } - } else if (objectValue !== formValue) { - return true; - } - } - - return false; } async save() { diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html index 4715598f6..169d826ac 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html @@ -84,11 +84,11 @@
-
- + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index 2ad60ad14..1e17d2d58 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -18,7 +18,6 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { translations = fileAttributeTypesTranslations; fileAttribute: IFileAttributeConfig = this.data.fileAttribute; dossierTemplateId: string = this.data.dossierTemplateId; - readonly form!: FormGroup; readonly typeOptions = Object.keys(FileAttributeConfigTypes); readonly canSetDisplayed!: boolean; readonly canSetFilterable!: boolean; @@ -40,28 +39,7 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { this.canSetDisplayed = data.numberOfDisplayedAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.displayedInFileList; this.canSetFilterable = data.numberOfFilterableAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.filterable; this.form = this._getForm(this.fileAttribute); - } - - get valid(): boolean { - return this.form.valid; - } - - get changed(): boolean { - if (!this.fileAttribute) { - return true; - } - - for (const key of Object.keys(this.form.getRawValue())) { - if (key === 'readonly') { - if (this.fileAttribute.editable === this.form.get(key).value) { - return true; - } - } else if (this.fileAttribute[key] !== this.form.get(key).value) { - return true; - } - } - - return false; + this.initialForm = this._getForm(this.fileAttribute); } save() { diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html index 1d42f37a4..873c58145 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html @@ -34,5 +34,5 @@ - + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index 2af506f39..bbef7e13d 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -20,10 +20,8 @@ interface IEditColorData { styleUrls: ['./edit-color-dialog.component.scss'], }) export class EditColorDialogComponent extends BaseDialogComponent { - readonly form: FormGroup; translations = defaultColorsTranslations; readonly disabled = false; - private readonly _initialColor: string; private readonly _dossierTemplateId: string; constructor( @@ -38,17 +36,9 @@ export class EditColorDialogComponent extends BaseDialogComponent { ) { super(_injector, _dialogRef); this._dossierTemplateId = data.dossierTemplateId; - this._initialColor = data.colors[data.colorKey]; this.form = this._getForm(); - } - - get changed(): boolean { - return this.form.get('color').value !== this._initialColor; - } - - get valid(): boolean { - return this.form.valid; + this.initialForm = this._getForm(); } async save() { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts index bb7541497..d9fd47b83 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts @@ -53,7 +53,7 @@ export class EditDossierAttributesComponent implements EditDossierSectionInterfa } get valid(): boolean { - return this.form.valid; + return this.form?.valid; } async ngOnInit() { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index d17d8ed99..657fd4092 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -147,7 +147,7 @@ export class EditDossierDialogComponent extends BaseDialogComponent { changeTab(key: Section) { if (this.changed) { this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog(); + const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); dialogRef .afterClosed() .toPromise() diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts index a192a3832..3cb2db26c 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts @@ -2,6 +2,8 @@ import { Directive, HostListener, Injector, OnInit } from '@angular/core'; import { AutoUnsubscribe, ConfirmOptions, IqserEventTarget } from '../../../../../../../libs/common-ui/src'; import { MatDialogRef } from '@angular/material/dialog'; import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; +import { FormGroup } from '@angular/forms'; +import * as moment from 'moment'; @Directive() /** @@ -15,19 +17,19 @@ import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.se * (otherwise the save request will be triggered twice). * */ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnInit { - abstract changed: boolean; - abstract valid: boolean; abstract disabled: boolean; protected readonly _dialogService: ConfirmationDialogService = this._injector.get(ConfirmationDialogService); - protected _waitingForConfirmation = false; + form!: FormGroup; + initialForm!: FormGroup; + constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { super(); } - abstract save(): void; + abstract save(closeAfterSave?: boolean): void; ngOnInit(): void { this.addSubscription = this._dialogRef.backdropClick().subscribe(() => { @@ -35,17 +37,56 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI }); } + get valid(): boolean { + return this.form.valid; + } + + get changed(): boolean { + // console.log('-------------------------------------------------------'); + // console.log('initialForm: ', this.initialForm.value); + // console.log('form: ', this.form.value); + + for (const key of Object.keys(this.form.getRawValue())) { + const initialValue = this.initialForm.get(key).value; + const updatedValue = this.form.get(key).value; + + if (initialValue == null && updatedValue != null) { + const updatedValueType = typeof updatedValue; + if (updatedValueType !== 'string' && updatedValueType !== 'boolean') { + return true; + } else if (updatedValueType === 'string' && updatedValue.length > 0) { + return true; + } else if (updatedValueType === 'boolean' && updatedValue === true) { + return true; + } + } else if (initialValue !== updatedValue) { + if (Array.isArray(updatedValue)) { + if (JSON.stringify(initialValue) !== JSON.stringify(updatedValue)) { + return true; + } + } else if (updatedValue instanceof moment) { + if (!moment(updatedValue).isSame(moment(initialValue))) { + return true; + } + } else { + return true; + } + } + } + return false; + } + close(): void { if (this.changed) { this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog(); + const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); dialogRef .afterClosed() .toPromise() .then(result => { if (result in ConfirmOptions) { if (result === ConfirmOptions.CONFIRM) { - this.save(); + this.save(true); } else { this._dialogRef.close(); } diff --git a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts index 9a4c68c8f..efab94dbd 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts @@ -18,7 +18,7 @@ export class ConfirmationDialogService extends DialogService { super(_dialog); } - openDialog(): MatDialogRef { + openDialog(data?): MatDialogRef { return super.openDialog( 'confirm', null, @@ -28,6 +28,7 @@ export class ConfirmationDialogService extends DialogService { details: _('confirmation-dialog.unsaved-changes.details'), confirmationText: _('confirmation-dialog.unsaved-changes.confirmation-text'), discardChangesText: _('confirmation-dialog.unsaved-changes.discard-changes-text'), + disableConfirm: data.disableConfirm, titleColor: TitleColors.WARN, }), ); diff --git a/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts deleted file mode 100644 index 63072f58b..000000000 --- a/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts +++ /dev/null @@ -1,33 +0,0 @@ -// import { BaseDialogComponent } from './base-dialog.component'; -// import { Injector, OnInit } from '@angular/core'; -// import { MatDialogRef } from '@angular/material/dialog'; -// import { FormGroup } from '@angular/forms'; -// -// export abstract class FormDialogComponent extends BaseDialogComponent implements OnInit { -// -// abstract readonly form: FormGroup; -// private _hasChange = false; -// -// constructor( -// protected readonly _injector: Injector, -// protected readonly _dialogRef: MatDialogRef, -// ) { -// super(_injector, _dialogRef); -// } -// -// get changed(): boolean { -// return this._hasChange; -// } -// -// onFormGroupValueChange() { -// const initialValue = this.form.value; -// this.createGroupForm.valueChanges.subscribe(value => { -// this.hasChange = Object.keys(initialValue).some(key => this.form.value[key] != -// initialValue[key]); -// }); -// } -// -// get valid(): boolean { -// return this.form.valid; -// } -// } diff --git a/libs/common-ui b/libs/common-ui index 09008130e..b3a820ca9 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 09008130e81e3ddf1a7434c9ef14e41678f6e2a9 +Subproject commit b3a820ca960c4cb5d8afa6b4949a720b3075fb85 From f8127278c24269bbef74053b7980ad896ae3b786 Mon Sep 17 00:00:00 2001 From: Valentin Date: Wed, 5 Jan 2022 12:27:01 +0200 Subject: [PATCH 004/260] removed commented code, updated 'close' and 'changeTab' methods --- ...-edit-dossier-template-dialog.component.ts | 8 +--- ...-edit-file-attribute-dialog.component.html | 2 +- .../edit-dossier-dialog.component.ts | 29 ++++++--------- .../shared/dialog/base-dialog.component.ts | 37 +++++++++---------- 4 files changed, 32 insertions(+), 44 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index 2c40876fc..f263a5904 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -54,14 +54,10 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { }); this.addSubscription = this.form.controls['validFrom'].valueChanges.subscribe(value => { - if (value) { - this._lastValidFrom = value; - } + this._lastValidFrom = value ? value : this._lastValidFrom; }); this.addSubscription = this.form.controls['validTo'].valueChanges.subscribe(value => { - if (value) { - this._lastValidTo = value; - } + this._lastValidFrom = value ? value : this._lastValidFrom; }); } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html index 169d826ac..7a8b7aa38 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html @@ -84,7 +84,7 @@
-
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index 657fd4092..d6afc85dd 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -146,24 +146,19 @@ export class EditDossierDialogComponent extends BaseDialogComponent { changeTab(key: Section) { if (this.changed) { - this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); - dialogRef - .afterClosed() - .toPromise() - .then(async result => { - if (result in ConfirmOptions) { - if (result === ConfirmOptions.CONFIRM) { - await this.save(); - } else { - this.revert(); - } - this.activeNav = key; + this._openConfirmDialog().then(async result => { + if (result in ConfirmOptions) { + if (result === ConfirmOptions.CONFIRM) { + await this.save(); + } else { + this.revert(); } - this._waitingForConfirmation = false; - }); - return; + this.activeNav = key; + } + this._waitingForConfirmation = false; + }); + } else { + this.activeNav = key; } - this.activeNav = key; } } diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts index 3cb2db26c..486aded3f 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts @@ -42,10 +42,6 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI } get changed(): boolean { - // console.log('-------------------------------------------------------'); - // console.log('initialForm: ', this.initialForm.value); - // console.log('form: ', this.form.value); - for (const key of Object.keys(this.form.getRawValue())) { const initialValue = this.initialForm.get(key).value; const updatedValue = this.form.get(key).value; @@ -78,24 +74,25 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI close(): void { if (this.changed) { - this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); - dialogRef - .afterClosed() - .toPromise() - .then(result => { - if (result in ConfirmOptions) { - if (result === ConfirmOptions.CONFIRM) { - this.save(true); - } else { - this._dialogRef.close(); - } + this._openConfirmDialog().then(result => { + if (result in ConfirmOptions) { + if (result === ConfirmOptions.CONFIRM) { + this.save(true); + } else { + this._dialogRef.close(); } - this._waitingForConfirmation = false; - }); - return; + } + this._waitingForConfirmation = false; + }); + } else { + this._dialogRef.close(); } - this._dialogRef.close(); + } + + protected _openConfirmDialog() { + this._waitingForConfirmation = true; + const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); + return dialogRef.afterClosed().toPromise(); } @HostListener('window:keydown.Enter', ['$event']) From a3b6d683a0f335923fc6f5126ae93243adc3ab13 Mon Sep 17 00:00:00 2001 From: Valentin Date: Mon, 10 Jan 2022 11:18:11 +0200 Subject: [PATCH 005/260] RED-2471 updated the notifications messages as they are specified in the ticket description --- apps/red-ui/src/assets/i18n/en.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 1f3977ece..640b61a18 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1300,19 +1300,19 @@ "sep": "Sep." }, "notification": { - "assign-approver": "You have been assigned as approver for {fileName} in the {dossierName}!", - "assign-reviewer": "You have been assigned as reviewer for {fileName} in the {dossierName}!", + "assign-approver": "You have been assigned as approver for {fileName} in dossier: {dossierName}!", + "assign-reviewer": "You have been assigned as reviewer for {fileName} in dossier: {dossierName}!", "document-approved": " {fileName} has been approved!", "dossier-deleted": "Dossier: {dossierName} has been deleted!", "dossier-owner-removed": "{dossierName} owner removed!", "dossier-owner-set": " {dossierName} owner changed to {user}!", "download-ready": "Your download is ready!", "no-data": "You currently have no notifications", - "unassigned-from-file": "You have been unassigned from {fileName} in the {dossierName}!", - "user-becomes-dossier-member": "{user} joined dossier: {dossierName}!", - "user-demoted-to-reviewer": "{user} demoted to reviewer in dossier: {dossierName}!", - "user-promoted-to-approver": "{user} promoted to approver in dossier: {dossierName}!", - "user-removed-as-dossier-member": "{user} removed as a member of: {dossierName} !" + "unassigned-from-file": "You have been unassigned from {fileName} in dossier: {dossierName}!", + "user-becomes-dossier-member": "You have been added to dossier: {dossierName}!", + "user-demoted-to-reviewer": "You have been demoted to reviewer in dossier: {dossierName}!", + "user-promoted-to-approver": "You have been promoted to approver in dossier: {dossierName}!", + "user-removed-as-dossier-member": "You have been removed as a member from dossier: {dossierName} !" }, "notifications": "Notifications", "notifications-screen": { From 46e9bb0f4932cc572eb059fc68d3693ce6496228 Mon Sep 17 00:00:00 2001 From: Valentin Date: Mon, 10 Jan 2022 15:40:16 +0200 Subject: [PATCH 006/260] WIP on dossier editor permissions - added 'dossier info' button instead of 'edit dossier' when user is not a manager - disabled 'dossier info' tab when user is not a manager; - disabled 'download package' tab when user is not a manager; --- .../edit-dossier-download-package.component.ts | 5 +++++ .../edit-dossier-dialog/edit-dossier-dialog.component.ts | 4 +++- .../edit-dossier-general-info.component.html | 8 +++++++- .../general-info/edit-dossier-general-info.component.ts | 3 +++ .../dossiers-listing-actions.component.html | 6 +++--- .../shared/components/select/select.component.html | 9 +++++++-- .../shared/components/select/select.component.scss | 5 +++++ apps/red-ui/src/app/services/permissions.service.ts | 4 ++++ apps/red-ui/src/assets/i18n/en.json | 3 +++ libs/common-ui | 2 +- 10 files changed, 41 insertions(+), 8 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts index 9ddc8a127..30155eaf4 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts @@ -5,6 +5,7 @@ import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-doss import { downloadTypesTranslations } from '../../../../../translations/download-types-translations'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { ReportTemplateService } from '@services/report-template.service'; +import { PermissionsService } from '@services/permissions.service'; @Component({ selector: 'redaction-edit-dossier-download-package', @@ -25,6 +26,7 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS private readonly _dossiersService: DossiersService, private readonly _reportTemplateController: ReportTemplateService, private readonly _formBuilder: FormBuilder, + private readonly _permissionsService: PermissionsService, ) {} get reportTypesLength() { @@ -71,6 +73,9 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS (await this._reportTemplateController.getAvailableReportTemplates(this.dossier.dossierTemplateId).toPromise()) || []; this.form = this._getForm(); + if (!this._permissionsService.canEditDossier()) { + this.form.disable(); + } } async save(): EditDossierSaveResult { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index 87235becf..e319283ab 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -14,6 +14,7 @@ import { DossiersService } from '@services/entity-services/dossiers.service'; import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { EditDossierTeamComponent } from './edit-dossier-team/edit-dossier-team.component'; +import { PermissionsService } from '@services/permissions.service'; type Section = 'dossierInfo' | 'downloadPackage' | 'dossierDictionary' | 'members' | 'dossierAttributes' | 'deletedDocuments'; @@ -41,6 +42,7 @@ export class EditDossierDialogComponent extends BaseDialogComponent { private readonly _changeRef: ChangeDetectorRef, private readonly _dialogRef: MatDialogRef, private readonly _loadingService: LoadingService, + private readonly _permissionsService: PermissionsService, @Inject(MAT_DIALOG_DATA) private readonly _data: { dossierId: string; @@ -109,7 +111,7 @@ export class EditDossierDialogComponent extends BaseDialogComponent { } get showActionButtons(): boolean { - return !['deletedDocuments'].includes(this.activeNav); + return !['deletedDocuments'].includes(this.activeNav) && this._permissionsService.canEditDossier(); } get changed(): boolean { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.html index 4e2abec05..aebea6535 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.html @@ -50,7 +50,13 @@
- + {{ 'edit-dossier-dialog.general-info.form.due-date' | translate }} diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts index 4f7d35d7d..833c2161c 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts @@ -68,6 +68,9 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti ngOnInit() { this._filterInvalidDossierTemplates(); this.form = this._getForm(); + if (!this.permissionsService.canEditDossier()) { + this.form.disable(); + } this.hasDueDate = !!this.dossier.dueDate; } diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html index 7ab3ea424..6dec76bb6 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html @@ -9,10 +9,10 @@ > diff --git a/apps/red-ui/src/app/modules/shared/components/select/select.component.html b/apps/red-ui/src/app/modules/shared/components/select/select.component.html index 1e85e12df..b10177749 100644 --- a/apps/red-ui/src/app/modules/shared/components/select/select.component.html +++ b/apps/red-ui/src/app/modules/shared/components/select/select.component.html @@ -1,8 +1,13 @@
{{ label }}
-
-
+
+
diff --git a/apps/red-ui/src/app/modules/shared/components/select/select.component.scss b/apps/red-ui/src/app/modules/shared/components/select/select.component.scss index 1cc0bc590..6cda04188 100644 --- a/apps/red-ui/src/app/modules/shared/components/select/select.component.scss +++ b/apps/red-ui/src/app/modules/shared/components/select/select.component.scss @@ -69,3 +69,8 @@ mat-chip { .mat-standard-chip:focus::after { opacity: 0; } + +.disabled { + pointer-events: none; + color: variables.$grey-5; +} diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index c982c699e..e40be51ac 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -122,6 +122,10 @@ export class PermissionsService { return dossier.ownerId === this._userService.currentUser.id; } + canEditDossier(user = this._userService.currentUser) { + return user.isManager; + } + isAdmin(user = this._userService.currentUser): boolean { return user.isAdmin; } diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 640b61a18..a24cca958 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -632,6 +632,9 @@ "action": "Delete Dossier", "delete-failed": "Failed to delete dossier: {dossierName}" }, + "dossier-info": { + "action": "Dossier Info" + }, "edit": { "action": "Edit Dossier" }, diff --git a/libs/common-ui b/libs/common-ui index 0610684e8..45a12070b 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 0610684e8fb963fab1f7dd51fd850a7b47287fca +Subproject commit 45a12070bfe5c9aa36f24c4e08da157796e881ab From f0767204fc644b25aa38f53b055393188b4d2bf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Mon, 10 Jan 2022 15:59:42 +0200 Subject: [PATCH 007/260] RED-2994: Adjust 'Deleted documents' tab in 'Edit Dossier' --- .../screens/audit/audit-screen.component.html | 4 +-- ...t-dossier-deleted-documents.component.html | 21 ++++++++++- ...dit-dossier-deleted-documents.component.ts | 36 +++++++++++++++---- .../assign-user-dropdown.component.html | 2 +- .../user-button/user-button.component.html | 2 +- .../initials-avatar.component.html | 2 +- apps/red-ui/src/assets/i18n/en.json | 2 ++ libs/common-ui | 2 +- 8 files changed, 56 insertions(+), 15 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html index 296eb49c8..0d7278f2d 100644 --- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.html @@ -60,7 +60,6 @@ *ngIf="form.get('userId').value !== ALL_USERS" [user]="form.get('userId').value" [withName]="true" - size="small" >
@@ -69,7 +68,6 @@ *ngIf="userId !== ALL_USERS" [user]="userId" [withName]="true" - size="small" >
@@ -109,7 +107,7 @@
- +
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.html index 7319b9040..ce1c54ddc 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.html @@ -28,7 +28,7 @@ +
+ +
+ +
+ +
+
{{ file.softDeleted | date: 'exactDate' }}
@@ -65,6 +83,7 @@ implements EditDossierSectionInterface, OnInit { + readonly fileStatusTranslations = workflowFileStatusTranslations; @Input() dossier: Dossier; readonly changed = false; readonly valid = false; readonly canRestoreSelected$ = this._canRestoreSelected$; + readonly canDeleteSelected$ = this._canDeleteSelected$; disabled: boolean; readonly tableColumnConfigs: TableColumnConfig[] = [ { label: _('edit-dossier-dialog.deleted-documents.table-col-names.name'), width: '3fr' }, { label: _('edit-dossier-dialog.deleted-documents.table-col-names.pages') }, + { label: _('edit-dossier-dialog.deleted-documents.table-col-names.assignee'), class: 'user-column' }, + { label: _('edit-dossier-dialog.deleted-documents.table-col-names.status') }, { label: _('edit-dossier-dialog.deleted-documents.table-col-names.deleted-on'), sortByKey: 'softDeleted', width: '2fr' }, { label: _('edit-dossier-dialog.deleted-documents.table-col-names.time-to-restore'), sortByKey: 'softDeleted', width: '2fr' }, ]; @@ -59,6 +67,8 @@ export class EditDossierDeletedDocumentsComponent extends ListingComponent { + return this.listingService.selectedEntities$.pipe( + map(entities => entities.length && !entities.find(file => !file.canHardDelete)), + distinctUntilChanged(), + ); + } + hardDelete(files = this.listingService.selected) { const data = new ConfirmationDialogInput({ title: _('confirmation-dialog.permanently-delete-file.title'), @@ -133,21 +150,26 @@ export class EditDossierDeletedDocumentsComponent extends ListingComponent this._toListItem(file)); } - private _toListItem(file: IFile): FileListItem { - const restoreDate = this._getRestoreDate(file.softDeleted); + private _toListItem(_file: IFile): FileListItem { + const file = new File(_file, this._userService.getNameForId(_file.assignee)); + const restoreDate = this._getRestoreDate(_file.softDeleted); return { id: file.fileId, ...file, restoreDate, searchKey: file.filename, - canRestore: this._canRestoreFile(restoreDate), + canRestore: this._canRestore(file, restoreDate), + canHardDelete: this._canPerformActions(file), }; } - private _canRestoreFile(restoreDate: string): boolean { - const { daysLeft, hoursLeft, minutesLeft } = getLeftDateTime(restoreDate); + private _canPerformActions(file: File): boolean { + return this._userService.currentUser.isManager || this._permissionsService.canDeleteFile(file); + } - return daysLeft >= 0 && hoursLeft >= 0 && minutesLeft >= 0; + private _canRestore(file: File, restoreDate: string): boolean { + const { daysLeft, hoursLeft, minutesLeft } = getLeftDateTime(restoreDate); + return this._canPerformActions(file) && daysLeft + hoursLeft + minutesLeft > 0; } private _getRestoreDate(softDeletedTime: string): string { diff --git a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html index 50fd141f2..4db38fa1d 100644 --- a/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html +++ b/apps/red-ui/src/app/modules/shared/components/assign-user-dropdown/assign-user-dropdown.component.html @@ -28,5 +28,5 @@ - + diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html index d336757c6..f06bc81c8 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html +++ b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.html @@ -1,5 +1,5 @@
diff --git a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.html b/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.html index 538181b7c..027c9a0dd 100644 --- a/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.html +++ b/apps/red-ui/src/app/modules/shared/components/initials-avatar/initials-avatar.component.html @@ -6,7 +6,7 @@ > {{ _user | name: { showInitials: true } }} -
+
{{ userName }}
diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 640b61a18..62ad70561 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -875,9 +875,11 @@ "title": "There are no deleted documents." }, "table-col-names": { + "assignee": "Assignee", "deleted-on": "Deleted On", "name": "Name", "pages": "Pages", + "status": "Status", "time-to-restore": "Time To Restore" }, "table-header": { diff --git a/libs/common-ui b/libs/common-ui index 0610684e8..3d7d8d3d2 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 0610684e8fb963fab1f7dd51fd850a7b47287fca +Subproject commit 3d7d8d3d28a682cd26df7af4e6c1bbc90f640521 From 1094afd0aa5bc650b11b341440ce5667da43fd81 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20=C2=A0Schabert?= Date: Mon, 10 Jan 2022 15:06:21 +0100 Subject: [PATCH 008/260] build.sh edited online with Bitbucket --- .../src/main/resources/scripts/build.sh | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/bamboo-specs/src/main/resources/scripts/build.sh b/bamboo-specs/src/main/resources/scripts/build.sh index d145c55e2..7cb67b2a4 100755 --- a/bamboo-specs/src/main/resources/scripts/build.sh +++ b/bamboo-specs/src/main/resources/scripts/build.sh @@ -5,13 +5,21 @@ set -e imageName="nexus.iqser.com:5001/red/$PROJECT" dockerfileLocation="docker/$PROJECT/Dockerfile" +echo "submodul stats" git submodule status -commonUIVersion=$(git submodule status | awk '{ print $1 }' | sed 's|-||g') -echo $commonUIVersion -cd ../common-ui -git checkout $commonUIVersion -cd ../redaction-ui -mv ../common-ui ./libs/ +echo "submodul init" +git submodule init +echo "submodul update" +git submodule update --remote --merge +echo "submodul stats" +git submodule status + +#commonUIVersion=$(git submodule status | awk '{ print $1 }' | sed 's|-||g') +#echo $commonUIVersion +#cd ../common-ui +#git checkout $commonUIVersion +#cd ../redaction-ui +#mv ../common-ui ./libs/ echo "On branch $bamboo_planRepository_branchName building project $PROJECT" # shellcheck disable=SC2154 From 4b65e6b8a940e19c3c0f51e3fa277ef1f041001d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20=C2=A0Schabert?= Date: Mon, 10 Jan 2022 15:10:04 +0100 Subject: [PATCH 009/260] PlanSpec.java edited online with Bitbucket --- bamboo-specs/src/main/java/buildjob/PlanSpec.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/bamboo-specs/src/main/java/buildjob/PlanSpec.java b/bamboo-specs/src/main/java/buildjob/PlanSpec.java index a6d1eb83f..4a3751939 100644 --- a/bamboo-specs/src/main/java/buildjob/PlanSpec.java +++ b/bamboo-specs/src/main/java/buildjob/PlanSpec.java @@ -78,6 +78,13 @@ public class PlanSpec { .checkoutItems(new CheckoutItem().defaultRepository().path("redaction-ui")), new VcsCheckoutTask().description("Checkout UI Shared Lib") .checkoutItems(new CheckoutItem().repository("Shared Libraries / common-ui").path("common-ui")), + new ScriptTask() + .description("Set config and keys.") + .inlineBody("mkdir -p ~/.ssh\n" + + "echo \"${bamboo.bamboo_agent_ssh}\" | base64 -d >> ~/.ssh/id_rsa\n" + + "echo \"host vector.iqser.com\" > ~/.ssh/config\n" + + "echo \" user bamboo-agent\" >> ~/.ssh/config\n" + + "chmod 600 ~/.ssh/config ~/.ssh/id_rsa"), // Build new ScriptTask().description("Build") From d47786bad648f327c292cc54c5fa0adde020c1b7 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 10 Jan 2022 15:17:34 +0100 Subject: [PATCH 010/260] build.sh edited online with Bitbucket --- bamboo-specs/src/main/resources/scripts/build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/bamboo-specs/src/main/resources/scripts/build.sh b/bamboo-specs/src/main/resources/scripts/build.sh index 7cb67b2a4..f5b1f7618 100755 --- a/bamboo-specs/src/main/resources/scripts/build.sh +++ b/bamboo-specs/src/main/resources/scripts/build.sh @@ -5,6 +5,7 @@ set -e imageName="nexus.iqser.com:5001/red/$PROJECT" dockerfileLocation="docker/$PROJECT/Dockerfile" +ls libs/common-ui echo "submodul stats" git submodule status echo "submodul init" From f3f0951776cdde9f3a1ad9760751e3e494ea1c6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20=C2=A0Schabert?= Date: Mon, 10 Jan 2022 15:20:19 +0100 Subject: [PATCH 011/260] build.sh edited online with Bitbucket --- bamboo-specs/src/main/resources/scripts/build.sh | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/bamboo-specs/src/main/resources/scripts/build.sh b/bamboo-specs/src/main/resources/scripts/build.sh index f5b1f7618..14c9597bc 100755 --- a/bamboo-specs/src/main/resources/scripts/build.sh +++ b/bamboo-specs/src/main/resources/scripts/build.sh @@ -5,22 +5,8 @@ set -e imageName="nexus.iqser.com:5001/red/$PROJECT" dockerfileLocation="docker/$PROJECT/Dockerfile" -ls libs/common-ui -echo "submodul stats" +echo "submodule status" git submodule status -echo "submodul init" -git submodule init -echo "submodul update" -git submodule update --remote --merge -echo "submodul stats" -git submodule status - -#commonUIVersion=$(git submodule status | awk '{ print $1 }' | sed 's|-||g') -#echo $commonUIVersion -#cd ../common-ui -#git checkout $commonUIVersion -#cd ../redaction-ui -#mv ../common-ui ./libs/ echo "On branch $bamboo_planRepository_branchName building project $PROJECT" # shellcheck disable=SC2154 From 98c8eabc9add2a8ba38f5c2ad24c4397ef4e496a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20=C2=A0Schabert?= Date: Mon, 10 Jan 2022 15:23:00 +0100 Subject: [PATCH 012/260] PlanSpec.java edited online with Bitbucket --- bamboo-specs/src/main/java/buildjob/PlanSpec.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/bamboo-specs/src/main/java/buildjob/PlanSpec.java b/bamboo-specs/src/main/java/buildjob/PlanSpec.java index 4a3751939..13272bee2 100644 --- a/bamboo-specs/src/main/java/buildjob/PlanSpec.java +++ b/bamboo-specs/src/main/java/buildjob/PlanSpec.java @@ -76,15 +76,6 @@ public class PlanSpec { // Checkout new VcsCheckoutTask().description("Checkout Default Repository") .checkoutItems(new CheckoutItem().defaultRepository().path("redaction-ui")), - new VcsCheckoutTask().description("Checkout UI Shared Lib") - .checkoutItems(new CheckoutItem().repository("Shared Libraries / common-ui").path("common-ui")), - new ScriptTask() - .description("Set config and keys.") - .inlineBody("mkdir -p ~/.ssh\n" + - "echo \"${bamboo.bamboo_agent_ssh}\" | base64 -d >> ~/.ssh/id_rsa\n" + - "echo \"host vector.iqser.com\" > ~/.ssh/config\n" + - "echo \" user bamboo-agent\" >> ~/.ssh/config\n" + - "chmod 600 ~/.ssh/config ~/.ssh/id_rsa"), // Build new ScriptTask().description("Build") From 725c748ea28a94b411a6bfea70bdd610642966c5 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 10 Jan 2022 15:31:37 +0100 Subject: [PATCH 013/260] package.json edited online with Bitbucket --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 63e4bbe64..3f08a5db8 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "license": "MIT", "scripts": { "build": "nx build", - "build-lint-all": "ng lint --project=red-ui --fix && ng lint --project=common-ui --fix && ng build --project=red-ui --configuration production --base-href /ui/", + "build-lint-all": "ng build --project=red-ui --configuration production --base-href /ui/", "build-paligo-styles": "mkdir -p dist/paligo-styles && sass --load-path=. paligo-styles/style.scss > dist/paligo-styles/redacto-theme.css", "i18n:extract": "ngx-translate-extract --input ./apps/red-ui/src ./libs/common-ui/src --output apps/red-ui/src/assets/i18n/en.json --clean --sort --format namespaced-json && prettier apps/red-ui/src/assets/i18n/*.json --write", "postinstall": "ngcc --properties es2015 browser module main", From e6945469b2f5854f2b8795455f91f39d359e6564 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20=C2=A0Schabert?= Date: Mon, 10 Jan 2022 16:05:16 +0100 Subject: [PATCH 014/260] Update bamboo maven specs --- bamboo-specs/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bamboo-specs/pom.xml b/bamboo-specs/pom.xml index b32dbf5f6..5be92c2cb 100644 --- a/bamboo-specs/pom.xml +++ b/bamboo-specs/pom.xml @@ -5,7 +5,7 @@ com.atlassian.bamboo bamboo-specs-parent - 8.0.2 + 8.1.1 From 9e348d50a1d5b15884bf8337cb886ecf07773378 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20=C2=A0Schabert?= Date: Mon, 10 Jan 2022 16:11:57 +0100 Subject: [PATCH 015/260] PlanSpec.java edited online with Bitbucket --- bamboo-specs/src/main/java/buildjob/PlanSpec.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/bamboo-specs/src/main/java/buildjob/PlanSpec.java b/bamboo-specs/src/main/java/buildjob/PlanSpec.java index 13272bee2..108ccb99e 100644 --- a/bamboo-specs/src/main/java/buildjob/PlanSpec.java +++ b/bamboo-specs/src/main/java/buildjob/PlanSpec.java @@ -59,7 +59,8 @@ public class PlanSpec { public Plan createDockerBuildPlan() { return new Plan(project(), "Redaction UI", new BambooKey("UI")) .description("Docker build for Redaction UI.") - .stages(new Stage("Build Stage").jobs(creatGinCloudPlatformImagesJob("red-ui"))) + .stages(new Stage("UI Build Stage") + .jobs(creatGinCloudPlatformImagesJob("red-ui"))) .stages(new Stage("Release") .manual(true) .jobs(createRelease())) @@ -70,7 +71,7 @@ public class PlanSpec { } public Job creatGinCloudPlatformImagesJob(String project) { - return new Job("Build Job: " + project, new BambooKey(project.toUpperCase().replaceAll("-", ""))) + return new Job("Build Job UI" , new BambooKey("UIBUILD")) .tasks( new CleanWorkingDirectoryTask().description("My clean working directory task"), // Checkout From 4c55e19d5d120230b8eba8f50d5523137535782e Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 16:35:55 +0100 Subject: [PATCH 016/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3200 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3f08a5db8..f56ca4873 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.115.0", + "version": "3.116.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 99fc58a1057a262819618909eb4a6a7e6a14fbd0..f9fdd08629f6c0e7dbb90fb25e0d191944c269cc 100644 GIT binary patch delta 3182 zcmV-!43YDX8GspoABzY80000000ZqC$#Uejbh?(xgyZndkZ8E7x;>XRiMW&3+JS2CbmNznGu(|6{bh`macgBPPeDQC)xB8eGBi(5C;ua~F#K z10VE1pTP%mzh73(?f+c=Z=w`eHDT!TFW-FWEHCda-q3AXR17s$c6FIDR@SSVo21BD zJ>3+=CL_3ir1dl^wl`o9{%;bzrP#uQMuPDRWHMT?RQPNpd1Bs}&eRMA9Pb6kn7$qU>pf-09*(WRsVzJhT?gE<9-$ znhki%V-!0Ueu?9l<{LoZgS@@PQCQZ0EN_8({o^&Ls$qoFRkaieJKdq@>h!GoVij!f z5?3T=cSioBrmA^YS< z|F561!9apPV12Nf7Cz*drYS{#DjJ*pM&k=eH*fT%#3v!Sy&L;ojYpeDwQJHq*ean_ z&73Hu(%A?xwDN&Nc6BGYG)2(slPljmIiY@)VU{+ zhwupmVxyx!VXfAEowB0h@Wu|7kw@mlBq}Q0x^&Pzskm(HR5jUncl3sTxJPms)!@RN z&o<8<8IroGeRq!ua^MV`V8j zu=k|elKjJWT*1gGt0JM<09k0I$6ct%aFkXwN*UdlNSax(Btehm>n2K*CchU!Scjk6 zsqlOFFV-Z7m1&N6^3yR`tVxw*AHI!J0{u1mN)-Qp#5vxOsvfL=v#@F|T=wgHRb&~g z!)5k4sfd;7rIqMq*dzO0QP&j61zH&C@xtDGz!@8%ytSfSL<-9L2Gq(3T0_RU1{38{ z*`hCE%8F`etFF~rX3>aB$hD(1qvXSXB%vv(8lDtqkZ=x(^{o5A^>&8%rPO%+;XBY& z&24Ci$G#^5+~fIweFik*5qs9n;QH~7hTs1AzyJDojjqxU-!=)|5cFjQ=8<0yvDtUS zOmd_r`%XpbCS$e)GMT}@MGGeZI8sbIUnV13A2DPWxp$pD3NBq9-1t8M(PVOsc5baC z$CfPZv`kD7je*}1I$E`3G=)%=@o=T&OZ<3_$AoH&GeL8IMm1=#|}R;eEwxv917D<%>=-JzJm=i>E=$OqI?p^9cEm+arK~U#_KK6+p2=eV!(0e z+Zr@fRup)Lj7;pwb=HXUl)4wyVpko^3)W9?82@lB_-5ta>Ndg2TAjOQkbZ9*k^Qbz zJJcs|SU2$!jlBn4<$NGs$F4@eLkjDykdqAu9DmP29R8Ba1O($wZ?DzqZyOrjJCL$5 z;rLodt{hl)^EMTEf}B*XxU?akGZnUxXfPDO5XLxK2cx0TC_XVXvy(A5N>&UljLH>5 zOQS9~yh;#^xo(oULogWQoXsLKyVX{Ef;_8u5P(UtUIuH!pl?((FM&O+RNAS!A%gE{ z7Jmms!jAU00?4on|S=9y>Y?vq)r81tsug! z?v~qn1<5<`caS?J{gPTgK*;_phQJHrkXVpFeN5jGNJoZzeKaEdAWIezTB6G@M~z5c^MCWI z4nrryj3jEBWdmxmec)Y*as>E(L}6c)u_8j#P4-l#{k?&(ftg&1k4r?VY+nz7RI>|r z$cx@lu8T*fPH|j3bZ2O)8|FU3*Nd{w>ShY9eEsfvX1dGv2Q{chi`z3|0UlO0drjJC z0d~~ZbL%}IFFEM6qgADqLu|LzM}J!oBf=Gc0y48Z77dgNcEDL27zxC>qxCuWAYxp|wjnQ(fP2a3d zf1pia8p3+TxA}o=r5BZSwo3lfE7@{0D4CImc9N&vub#DCm*jBQ0gUQrenb0`X__x> zwm$-J6%*pG&p2i))nulm?Rc_FGSQ`%@C#{@|KP zgV8yHz7eec*LaXIQt48cFDg6gN{zTup{v0y@pF4^huYY3w4`9-Mv#3t$ zeC)o{*UlX&`2iGUe6Mk#fMK;q3!yuKRA7SUGk&h%h1a9SKy#%ge1ju38@GCv%U{jW zXh5C_F*&z^p$NdSL9E1ChqTFS!gi6g$R_QV;q9*$y_DVI|sa~}i`;eW{k0~PlX?+VoE*5?HJq~l%@3}B9YJTM^V#cu|N z_+FAh>)P#J2n_h#`!L`XLG}guNrLSCaak1+iNX3ri8ienDGxlUwWN5SDMcB}P8WZF z4)L}jb^id)SRwT@ULzKdf}^+&!wnjzI}+jLYMq0HsVjQFDIym52q#-6@K?8J{A@1rQQUIFH`s? zyZpY(@4AA%E9knyzANmyW_{PJ>zemnbJmzc5df(Zs&Gx=XP%Ac5df(Zs&Gx=XP%Ac5df( UZs&Gx=VovJ18sVsS^!W0023BHbN~PV delta 3182 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 Date: Mon, 10 Jan 2022 16:39:34 +0100 Subject: [PATCH 017/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3200 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f56ca4873..0247d7870 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.116.0", + "version": "3.117.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index f9fdd08629f6c0e7dbb90fb25e0d191944c269cc..dba617869d4f4dfc6e5c78771e2c2414d5ff7cb7 100644 GIT binary patch delta 3199 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 PW^exkZF- Date: Mon, 10 Jan 2022 17:45:50 +0200 Subject: [PATCH 018/260] RED-2992: RED_USER should have no editing options in dossier's members --- .../notifications.component.scss | 5 +- .../users-stats/users-stats.component.scss | 4 -- .../add-edit-dictionary-dialog.component.scss | 4 -- .../screens/audit/audit-screen.component.scss | 8 --- .../watermark/watermark-screen.component.scss | 4 -- .../edit-dossier-team.component.html | 57 +++++++++---------- .../edit-dossier-team.component.scss | 4 -- .../edit-dossier-team.component.ts | 7 ++- .../workflow-item.component.scss | 4 -- .../file-preview-screen.component.scss | 4 -- .../dictionary-manager.component.scss | 4 -- .../expandable-file-actions.component.scss | 4 -- apps/red-ui/src/assets/i18n/en.json | 4 +- libs/common-ui | 2 +- 14 files changed, 37 insertions(+), 78 deletions(-) diff --git a/apps/red-ui/src/app/components/notifications/notifications.component.scss b/apps/red-ui/src/app/components/notifications/notifications.component.scss index ae5488b69..41d696e1c 100644 --- a/apps/red-ui/src/app/components/notifications/notifications.component.scss +++ b/apps/red-ui/src/app/components/notifications/notifications.component.scss @@ -1,9 +1,5 @@ @use 'variables'; -.mt-2 { - margin-top: 2px; -} - ::ng-deep .notifications-backdrop + .cdk-overlay-connected-position-bounding-box { right: 0 !important; @@ -20,6 +16,7 @@ .view-all { cursor: pointer; + &:hover { color: var(--iqser-primary); } diff --git a/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.scss b/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.scss index 11153dd15..baf2e798b 100644 --- a/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.scss +++ b/apps/red-ui/src/app/modules/admin/components/users-stats/users-stats.component.scss @@ -13,7 +13,3 @@ left: 270px; } } - -.mt-44 { - margin-top: 44px; -} diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.scss b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.scss index d630c483b..b057ad746 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.scss +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.scss @@ -10,10 +10,6 @@ } } -.mb-14 { - margin-bottom: 14px; -} - .technical-name { font-weight: 600; } diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.scss index 010d52fd9..fee44202a 100644 --- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.scss @@ -17,11 +17,3 @@ form { font-size: 16px; opacity: 0.7; } - -.mr-0 { - margin-right: 0; -} - -.mr-20 { - margin-right: 20px; -} diff --git a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.scss index a6a1f2223..9e316aa55 100644 --- a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.scss @@ -84,7 +84,3 @@ } } } - -.mb-5 { - margin-bottom: 5px; -} diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html index 26d46072e..eb2b33bdc 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html @@ -13,7 +13,7 @@ -

-
     
-

+    
+        
{{ 'assign-dossier-owner.dialog.no-reviewers' | translate }}
+
{{ 'assign-dossier-owner.dialog.select-below' | translate }}
+
- + + -
-
- -
-
- - +
+
+ +
+
+ + +
+
-
-
+ diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.scss b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.scss index fad35d935..8dcbfe2fc 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.scss +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.scss @@ -60,7 +60,3 @@ redaction-team-members { } } } - -.info { - margin-top: 4px; -} diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts index 0d9f1a7cc..89c2697ca 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit } from '@angular/core'; import { UserService } from '@services/user.service'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { FormBuilder, FormGroup } from '@angular/forms'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { Dossier, IDossierRequest } from '@red/domain'; import { AutoUnsubscribe } from '@iqser/common-ui'; @@ -146,7 +146,10 @@ export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDos private _loadData() { this.form = this._formBuilder.group({ - owner: [this.dossier?.ownerId, Validators.required], + owner: { + value: this.dossier?.ownerId, + disabled: this.disabled, + }, approvers: [[...this.dossier?.approverIds]], members: [[...this.dossier?.memberIds]], }); diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/workflow-item/workflow-item.component.scss b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/workflow-item/workflow-item.component.scss index 9468a2610..3f2e7cc60 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/workflow-item/workflow-item.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/workflow-item/workflow-item.component.scss @@ -54,7 +54,3 @@ redaction-file-workload { redaction-file-actions:not(.keep-visible) { display: none; } - -.mt-4 { - margin-top: 4px; -} diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.scss index bfbe391d2..49b83de09 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.scss @@ -53,10 +53,6 @@ margin-right: 8px; } -.ml-2 { - margin-left: 2px; -} - .analysis-progress { padding: 12px 20px; max-width: 400px; diff --git a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.scss b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.scss index c753d664f..f9b6d62e8 100644 --- a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.scss +++ b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.scss @@ -50,10 +50,6 @@ form { align-items: center; } - .mr-32 { - margin-right: 32px; - } - .w-450 { width: 100%; max-width: 450px; diff --git a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.scss b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.scss index 0bc36396d..822b7dc96 100644 --- a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.scss +++ b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.scss @@ -21,7 +21,3 @@ mat-slide-toggle { color: rgba(var(--iqser-accent-rgb), 0.3); } } - -.ml-0 { - margin-left: 0; -} diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 62ad70561..b4b61c56f 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -296,10 +296,10 @@ "dialog": { "approvers": "Approvers", "make-approver": "Make Approver", - "no-approvers": "No approvers yet.\nSelect from the list below.", - "no-reviewers": "No reviewers yet.\nSelect from the list below.", + "no-reviewers": "No members with \"review only\" permission.", "reviewers": "Reviewers", "search": "Search...", + "select-below": "Select from the list below.", "single-user": "Owner" } }, diff --git a/libs/common-ui b/libs/common-ui index 3d7d8d3d2..6527ccd30 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 3d7d8d3d28a682cd26df7af4e6c1bbc90f640521 +Subproject commit 6527ccd3077bfcb4bedf729bf09edc5bd1449502 From eb204a529500479ff0d68f1c495ccda7fd67ca3f Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 16:50:02 +0100 Subject: [PATCH 019/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0247d7870..162c28c08 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.117.0", + "version": "3.118.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index dba617869d4f4dfc6e5c78771e2c2414d5ff7cb7..67a4f89810d76b4c227d341057a5ca066911b7e9 100644 GIT binary patch delta 3112 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 Date: Mon, 10 Jan 2022 16:53:29 +0100 Subject: [PATCH 020/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 162c28c08..0c4041d53 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.118.0", + "version": "3.119.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 67a4f89810d76b4c227d341057a5ca066911b7e9..b545bf9daea0748dd8a0097f8d5faeb6e84db0e5 100644 GIT binary patch delta 3111 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 delta 3112 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 Date: Mon, 10 Jan 2022 16:56:57 +0100 Subject: [PATCH 021/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0c4041d53..6061030a1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.119.0", + "version": "3.120.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index b545bf9daea0748dd8a0097f8d5faeb6e84db0e5..397565abafd3a889f38a27916405b4070b197150 100644 GIT binary patch delta 3113 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 DVaOGc delta 3112 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 C+!Im& From 9751495f43667c78a43f4c90a8f12b005c6fa8de Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 17:00:32 +0100 Subject: [PATCH 022/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6061030a1..b2a4058ea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.120.0", + "version": "3.121.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 397565abafd3a889f38a27916405b4070b197150..73d5e4803363dbbc072e94537068331c5537fe57 100644 GIT binary patch delta 3082 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 Y&h6aJ?cC1o+@{?(40NxG=zW@LL delta 3082 zcmV+l4E6JZ8G;#*c?ewBePug#V0)2)A%EQE@~rhJY%+pNTF;|mdjkgH{wBd&nmv8?r;_Bq{u<}?nlhZt9yTd^V}H*) z+rG1BzW5u6zYFnqDgLhDuOsF-VvZx`IAV??<~V%LuVPx48Gib#e!%7B_1(ps(}y!F zB{(J(`sW2g?=70g z?WdJclEq>rxr$@kzvM{6qT+HyPWg!HBBL?-B=+JU#=AkQ!ZB@X;Jl^FAb;m1Nlv6? zy#_;wNLpl_;)@bTls&DHJzt)PZ1%F1ht{Img(K}kvjJyyjAF;aFL4~xd; z5dYc7v9L~ycT(O41Bzom4u1rui#J;mQ;do{dqQBn|X(SOk$S??7!gXy8? zG|#1dbdFExrx)O+qA~B_pB5uq=w*Zx)@&hGAt$N$fBlRN1`^x>>x0#_@FB-EO({~* z*z7kNUqHHfqc0^c@yYGo*zamQPI=U6O&SPWC$y@W6{S=<8zF{PKCtc$m{5+~NpO_< zI}2u%Wn?xn5!_lNdVg3EwKIpY)Lk7JOTC32>g*H9L-+&&vC+|=uvY87PFYcLcw-04 z$Ro325)~D0T{`HVR9rUGR5jUncl3t1M{*g};QXD>HqRazlDer~dyffn;0&8!#~INC zrMjXzccVw-g&`ul`?iKaY|zIJ{m1Ad^%37wQ#JvzP~FQo5Py7JpffqleNM3rW&*)6 zPGjIUy4;h8!<$dh7c|cZWlg?8pWa-|0ht97AerSDJ?Z7&6Da>L1-AhGx1zdFvf^O? z>rTPik<-Ke6*SY-P~NkA|zFk zefTy?3G~W>Y4(% zKno*1Uf7!tIAbG}x05KBk%IER0ktxMLdZBnFi|d*Er0qVrmU!jwrWpWOAw8ygj_pH zGfF=EM-rNns^Lj-1_|eoSZ8t{*v`%nzmyuUKYRz8s<{mf@l5Xt5BGR}p8<_{#NOm) zu-$k^!*Bom-+%qPMpx;FZ<~Z}2>P-D^T@A<*rsLeXAmMld-7;G6~?{vW1fX z94V%qFMpE}t&bQoi`=_T9|c!74{rRQfM_zgMmx7wlH-Xi?X*lx4~?GN5;|J7V>E?O zmGN+;m**i!(uUMm1=#+rnI{YgovOBWJ4tM$h2P2U`25STI25LznhAgb zeFqz4(#@SmMfoI-JIuIt-=h`#mdg707n&qw$Bq$IO)j=FZ!dVVcxBV?<$Mpo#8FCy)odo$J4l@#i_1${6 zD{QNSdBOS#7ULfl->lqQ-6l8*)wv;q^m}88?02o&p+14b+KH2B>^U@*ox3nCKSYO6g#o>e>uz$6J*UT7F}jf&B?*+Ur4b1U7YqTA;oMIuD8O@x-IE}!s=l5FL-hw$T z$)jA}QS!Zm+$rgo)cOHJ_Fpl0ju-o60twW|^c{h8WXRV?BhnADWD%hyx_|s~)QIFY zKdKuxv}yem% z(nbrIMm>3My$9qa2c6SsRex#a5ZkBfqb-OL;fm2n)_ddIpJBRxAy3bRiSRnH#2X^N zY9)#cwp~RBke}!TzeYw>scS%HEAi=K4tdIkSnnu#5Kku5iR~Ha^Jos;ZpMXXHyLUe ze%dxNC(nE*)^!gABayV*aHjnf*Ewb#8*FiGc0>ETZ6^x*5Y>HBRDVEN1NC$j;hGGo zJNi^$w_8o81R96COBS6^#iIAw?+I7kYC+G79N-F;g|dp@di6=%jGu%xd>#14XgSuV zYu2Va(55gAVZGwp;y||2i%L3MCI9J_JaIE9nURNflBeCTp0!<<D&~4ujsPRjNhzMuV71Za*LJowBYn1_%dXo6|TTgiVQxe_& z;F?Lj(K&*?5hnew@gQTQ(v>b>RCd&r8gZpUTPaCv%|>5jA|$E)tJIx~+xxt^IGHuP zCz-U1;Z}U^aI_!5Wc)N(ahJ1oDT5JW4Klcrmq1PUyl|8&6S$)4UW`o-0E2_ ze>F#=0eK?CEiFtA>KBm?jOJzE2MtLYsBJFa1@tYwum#xFn=V$u78%5Zzp>x`Oqj_iUxfGSmw-2$`=#oFhM*J!E Date: Mon, 10 Jan 2022 17:04:06 +0100 Subject: [PATCH 023/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b2a4058ea..7a82b07da 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.121.0", + "version": "3.122.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 73d5e4803363dbbc072e94537068331c5537fe57..08c5c34fd371df7934726807c6069fbdcb14d002 100644 GIT binary patch delta 3194 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 delta 3195 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 From 8032567e4507457230a6082b2d0ba0b5acdab70f Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 17:07:35 +0100 Subject: [PATCH 024/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7a82b07da..63a04918c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.122.0", + "version": "3.123.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 08c5c34fd371df7934726807c6069fbdcb14d002..12cf4719c2b307722bb92c6d052acc70502e52dc 100644 GIT binary patch delta 3100 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 oS`j2g)Yxvcf9n5l<&$3w7n5)d29t0M1q Date: Mon, 10 Jan 2022 17:11:10 +0100 Subject: [PATCH 025/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3203 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 63a04918c..3fa3b827f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.123.0", + "version": "3.124.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 12cf4719c2b307722bb92c6d052acc70502e52dc..44842bc3ccc410f42fd727842c30b8e5466f6dc2 100644 GIT binary patch delta 3048 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 delta 3047 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 From e75f2e04bf383c3c7b1a15b6b686adb05a77191f Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 17:14:52 +0100 Subject: [PATCH 026/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3203 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3fa3b827f..ef1f9bbb1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.124.0", + "version": "3.125.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 44842bc3ccc410f42fd727842c30b8e5466f6dc2..bfe5eb1cb0c67b6e24298cb55fcababe5784b9ca 100644 GIT binary patch delta 102 zcmV-s0Ga=T8G#v)cv1-5rSr;m?7(qeq2LFhX3(0N;R>N2W2v8Go9p_QKWg@rk^1|x zhST-$d3JEt|Buo3>c1i}j+h*qM|J&iYj6cG{3-o=j=kLJKL{3}|3v`9vCOXv2-^ns IU;t160FY`n<^TWy delta 104 zcmV-u0GI!P8G{*+cvSG0zVpgN2W2v8Go9p_QKWg@rk^1|x zhST-$dG_M0{~x36)qh1|95FdIkLvp4*5C?W_*44#9DCX8KX75=+s-2Jf>*K1uL}sZ KbsfV1Pyhgs`#T)~ From ba34f77d9044054baa05b263b772700933cd54f9 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 17:18:32 +0100 Subject: [PATCH 027/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ef1f9bbb1..7a783d193 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.125.0", + "version": "3.126.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index bfe5eb1cb0c67b6e24298cb55fcababe5784b9ca..e5743f6a1e7f867c225d9ab6298ab8d37b1f96b2 100644 GIT binary patch delta 3111 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 B70Cbq delta 3111 zcmV+?4A}F58G#v)d4Jrc^U8MYz;Rxo;0K{*(3+az3ZWlksh?w;>-v{JYW9?o`unnm z)AjFpc5v4JkJ0w(zalY?m>io&b^UQ`a0M^?DgAqnz1-xemynB#~! zj+ohjeRnbE^x@1(364pH{&|7WdyD2Vd0Zps4t}MC!uo6E z2X^^*ckw)cSbwiWk`xsYkRgulH&xN(u@x0rQLWJ@?#gq0XAFl@M}Tl)ST%i5)@b4L z1!UKQT$XbLeHqP()seDVwiCCw+R)r$MG3$wtuHJXE4Dzjk!aNYtO>57R1mVokJbZ? zSqivpTSc};xM2nVT^2QEw1A$9WSG%+SY!GPk}j{||};?0)C z6r&=~o=_cCgyab4F}hN=$dd23Yk|wWuQd(&ZYu}#-X3T+kh}YtGnEj`8VH?0CWrxG zGaQmktROwv8s$YU_ThN;)VxkMps9>lWfNvJ!hc+`6T;E7^}G-MHNq_pU01$tW(L5y z^24IhBq^$%I&_lTTKch_Q*?Ak)_X@o{Xv{nKr^Uz?dKuw_ zHCu>P$Vn>xUq54mfdqHJ`d~FJe8@3PQ;JkHHv5gn7m#k==u3%9d~$m?_PZL7Qyz6% zlYa)n)(Nd@W<@EL&PIr#l@F|Y116LscM=?>{?39KWf_@GOa!+Ui5^x&?aW~;byr8m zQg5M$I{O6j5I%uGY;^P|tkt@&Q&vrTPik<-Ke6*SY-P~NOY#rjaRno*tcrwY17!XrJ@!&XhNHBiQOfAXL{cz`CGmPJUpG;j zH2J*kA|zFkefTy?3G~)5Zl(&;8myv?E?OmGN+;m**i!(uUMm1=#!X#(Tv zLYpj2LrY__!V1dBsA{%hZA=stD@=-liG&b}aw31J#aCMb?bV4^2(=jYVb{l|%B>+r znI{YgovOBWJ4tM$h2P2U`25STI25LznhAgbeFqz4(#@SmMfoI-JAcf$cH`lqQ-6l8*)wv;q z^m}88?02o&p+14b+JA|YXzV@UD(3@n7~2{F4=Jp-M&d)mm4U0^9K(m&pS4ypnqL!e zBAD?_2I9b1uDbwnxGOFb5R5&)y;i5cZD@3FLCVI2<7*wca$wob+f?KUa#FS8(uQ2l zl;1|8!H@?-7~?4PMnk?)d}1h=CSzfgtQcAvl`Do;MqO@rm46@@v+X3YhhQ+qISV2Z z+-j>mL7r7S2*4x>S6*lsbd8GUC9tEFN;_3IMDQI2u}3tFDap!h5tH2(6U0f6%Xe-~ zV-n)YQvzM8X{bHPr-|JlxXMij`W`gU@RtR)#bJ} zGkpxU6k^?8Y$h3x6{+53?0oqyDwyW}$afP5NjTz4;vkOMN3HXM3y9+c+pA>B?*+Ur z4b1U7YqTA;oMIuD8O@x-IE}!s=l5FL-hw$T$)jA}QGfEigWM_Um(=Kuxv}yem%scS%HEAi=K z4tdIkSnnu#5Kku5iR~Ha^Jos;ZpMXXHyLUeet+6FGAGY`C)RZj1S65O+i<4+6xTUs z9UE+MY<5HYylp26`w-QAQdB@#1NC$j;hGGoJNi^$w_8o81R96COBS6^#iIAw?+I7k zYC+G79N-F;g|dp@di6=%jGu%xd>#14XgSuVYu2Va(55gAVZGwp;y||2i%L3MCI9J_ zJb!UBD4CImc9N&vub#DCm*jBQ0gUQrenb0`X__l-wm$-}6%*pG&pb>RCd&r z8gZpUTPaCv%|>5jA|$E)tJIx~+xxt^IDeTnyeFBoi{Vy$?r^jpz-0V1SaFxLbt!`p zVhu95l9xzDVzH-^T#vKJ{@hXAcopG4fXV5bMRii=WA~lDcJ4^Y51=69dyNYP468j_ z@a-9-0yDG-__>1PUyl|8&6S$)4UW`o-0E2_e>F#=0eK?Cx`Oqj_iUxfGSmw-2$` z=#oFhM*J!Ee>=WgREFmi8kLV<)Dbb_P3% Date: Mon, 10 Jan 2022 17:22:05 +0100 Subject: [PATCH 028/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3200 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7a783d193..cde47f8d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.126.0", + "version": "3.127.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index e5743f6a1e7f867c225d9ab6298ab8d37b1f96b2..76aa16a8c36b15747cddf29fde0c815756434c86 100644 GIT binary patch delta 3035 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 )25-t7w8 z>R?{5euBmLhs8H5_g1$FPC|8V$RPdRSR(sft9GbQ;IMY$BpQ1UxXSrJ9LBarz(We_ zt&#Z9aAn{sILGjz_Ghh?jONz_oCs!olYuz!mFq4*9PWzC1O#KxZ?DzqZyOrjTadCb z;rLodt{hl)^EMTKd4il&t+=!ymow$Jk!UdF!4Sqc3cb;gZxo*x3Z}_e7$qx)mPX}@ zp_NgW8(t*{#%w!D>>(J8an6E>1h?91PmpI74+1br!j%^q23@0~c?s-jrP5B-4H0}t zLF^F?V@k4eTf}6y#RPHE}ws7 zbPOz|IUj&z=$i^i;E9j;^#`cJAXdT8=K;0ztk@KW10aaWZQ}8Z_QnOvlR6c6y@m)E z-c#_R9VOa%yd(YR0T_!3T6MXt%}gJIErnRO7n@1OV@0ZW89QITiwdT>Kl0tgK@yI* zk~oNC_EGD9yx;=jIKlQRS@L@UuS)}S{LUI}M=hsV$Yn+|=P*tq@ay@#mbSNGPD}DA zmv@wW?;v+d`X#k~fRO!H44&h~KAAuQ^)Y=%ARQU<_0fp*gDhD@Xo)Vr95o_&&Cjbk z44n)!lBj9c6i}1x1Mfez2Q{chi`_Fa0X(c~_L{WO z0;W+uKxN_@JQL!PoB){{^P8xF}c--&hI1Hnin z?KYfglX(eAf8!@%4POVoF6*3a4zwvuLs+l)wm6Wj^rDi^R>^;QB~RQ8N@nDt zo#bivt7mQ3B{|%60HgYu-_X8fn&wKI?T-L##f13lGtdq%bldj>YW$KRBEng81@$?y zkOSf3T4eyGo+Q5g))U_Tlti~bxMossbdI2Jgh~Hve>}(-sdS~w7nL1#rAAz-&{j&) zTC>p?nFvX$|0;Fo;`TmoE>30*?@1=@Vz?EbI~?r?Fd07$R@~)mUCLmDSc43%9qQJvKJ*nOw3ojX$U11QM&UgJUm!)lKfe0v6|zzi({ zey-s7f7heMKy#%ge1ju38@GCv%U{jWXh5C_F*&z^p$NdSL9E1ChqTFS!gi6g$Y$-A z;q9*$y_D5r2w( ze>p=nd{{N9sPMZ#@v*32FLh=}e3`>H+2!_KZrA1YU0&Da_g#M174%&}*R|-o7P71C zJ}WYIS;vX4rTxgm*omp9oxx5b`RJq9k@Sb5@5Hz4&tv5cF?Mfg4`K{7jEe4u7` Date: Mon, 10 Jan 2022 17:25:34 +0100 Subject: [PATCH 029/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3200 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cde47f8d0..b74043a22 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.127.0", + "version": "3.128.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 76aa16a8c36b15747cddf29fde0c815756434c86..f2bf03539b3dc0aee0ea4353fe2c2fe976c6ca11 100644 GIT binary patch delta 3050 zcmVW206_{ML0#6l%~aTlB>^}G=Z13ukoirC zGrB1(mXa;GdG$jy8`?6k`KL4Z?Aj~GcNR-KSOoUsmF?Jnf#bbG!4E>spfxqa6+%D8 zQa{Hw*Yz)d)a)rE_4j2Br|aMI?B!YiKStZD|BA#oVsdOA)%C}%!4SyT))Rd#imGFH~>o13J_ zSv}tr#U>+vxTN(wDz-OZ5bkdhyrtRGXMZY5{_C%CUau*`+3aDHvN!h3v+X;3=8M09 z_`48)m*VdV{yJigBjz|_jw9wcVvfV-{3@n(nc=6;>IYn2Uf*5JIej>@Qi5Yrp?_W= z^xmR*Odi+Bxr1LRp|JiM`GH+N-d#KoAlB=UBt=Dk1Z0S#`%P6ed2B^RR#a>BiM#S# z-xUa zZ6q3XKWl=kC>4Zk@uT%XW0nFg+g6dS5pGz)f0so~87-ivA{l1%9XX79-hNsMC0Q(1 zlB+m>w*5RSkS0rbDcSioBrmA^YS^e_|JTphU?9OAus&E#3m_e@dc!t zH~LcI5}(}Ojs3313bwaCunpsgwrLz%YXypUz-hc_^$ejd7slT&eMp;H? z6BEI$MWTllQ9E-OOWoCxvD91Wq0T;mJcLgm5E~u+32U|P>y#B0hc|Yxj65BZ1e1qA*q|%wfC4H2hOkwcAODSP^v3`s&hAb zL|zyovb%3<2*d_`?9hLVK2jg?JvC($APd#Kj03^P1v-<%+~*YAU?vb8<1_|tqsu*c zIK253eL?e#P}bxd^y$sT9FSQc0g_pc(UV^OJ#m-IOTjHb|E;L*ldO0cz`9egcI5Q1 ze+A7nHIz5+VR4X@j>4Nl;n=r-J&Mms-mv$i+LHXkcU-~9Dyt%)*#Mb8Nsql$k>Mz< zXp}O#F_9EZVoAIn%hyemCQW`Xg0K$1n5M$*;lBt;4lC0f@#Lptun0+&WFNkbQUd)o z`brf4f5bW7kg6W6vz*kNzv|cds>m`}hs*49QjtlfSCd4q{2tlwin^w2KrYb2NRJox z<^#^y2<7c0%4MXWyl+6QjGz!Q&JawLOJ$3`h$$kr?7rfP0OLp;-a!oxkD-)BH09OL6WNa#dOal0~Y~dsTM~Z3Z%Vb3BBZkZ(_pZ}N!IjN}8~-ODnoO?I z&aIW?cp^(XEfdp2qvy7Sj#lj$O(9feJX|UH5o;Xh6^i}GdmL*}Dz<9dQCQH-M z(wMBUf-*9ynr&E8EA_U_jr& z2AOno=TT8UiQ^74uHCqL&=v4{3-q?GV6qsnEc&(v4V4uI-XS9sdos)#ah@_5wW>`B z+`0A)xt{prn`XId1PKa6M0F5Hk#Lqn)NOx@*>OFAbcP(qQ71uvzKFw )25-t7w8 z>R?{5euBmLhs8H5_g1$FPC|8V$RPdRSR(sft9GbQ;IMY$BpQ1UxXSrJ9LBarz(We_ zt&#Z9aAn{sILGjz_Ghh?jONz_oCs!olYuz!mFq4*9PWzC1O#KxZ?DzqZyOrjTadCb z;rLodt{hl)^EMTKd4il&t+=!ymow$Jk!UdF!4Sqc3cb;gZxo*x3Z}_e7$qx)mPX}@ zp_NgW8(t*{#%w!D>>(J8an6E>1h?91PmpI74+1br!j%^q23@0~c?s-jrP5B-4H0}t zLF^F?V@k4eTf}6y#RPHE}ws7 zbPOz|IUj&z=$i^i;E9j;^#`cJAXdT8=K;0ztk@KW10aaWZQ}8Z_QnOvlR6c6y@m)E z-c#_R9VOa%yd(YR0T_!3T6MXt%}gJIErnRO7n@1OV@0ZW89QITiwdT>Kl0tgK@yI* zk~oNC_EGD9yx;=jIKlQRS@L@UuS)}S{LUI}M=hsV$Yn+|=P*tq@ay@#mbSNGPD}DA zmv@wW?;v+d`X#k~fRO!H44&h~KAAuQ^)Y=%ARQU<_0fp*gDhD@Xo)Vr95o_&&Cjbk z44n)!lBj9c6i}1x1Mfez2Q{chi`_Fa0X(c~_L{WO z0;W+uKxN_@JQL!PoB){{^P8xF}c--&hI1Hnin z?KYfglX(eAf8!@%4POVoF6*3a4zwvuLs+l)wm6Wj^rDi^R>^;QB~RQ8N@nDt zo#bivt7mQ3B{|%60HgYu-_X8fn&wKI?T-L##f13lGtdq%bldj>YW$KRBEng81@$?y zkOSf3T4eyGo+Q5g))U_Tlti~bxMossbdI2Jgh~Hve>}(-sdS~w7nL1#rAAz-&{j&) zTC>p?nFvX$|0;Fo;`TmoE>30*?@1=@Vz?EbI~?r?Fd07$R@~)mUCLmDSc43%9qQJvKJ*nOw3ojX$U11QM&UgJUm!)lKfe0v6|zzi({ zey-s7f7heMKy#%ge1ju38@GCv%U{jWXh5C_F*&z^p$NdSL9E1ChqTFS!gi6g$Y$-A z;q9*$y_D5r2w( ze>p=nd{{N9sPMZ#@v*32FLh=}e3`>H+2!_KZrA1YU0&Da_g#M174%&}*R|-o7P71C zJ}WYIS;vX4rTxgm*omp9oxx5b`RJq9k@Sb5@5Hz4&tv5cF?Mfg4`K{7jEe4u7`t<8 delta 3035 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 d&h6aJ?cC1o+|KRX&h6an?SJ6@cR>J9002Ys Date: Mon, 10 Jan 2022 17:29:33 +0100 Subject: [PATCH 030/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b74043a22..3642a278a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.128.0", + "version": "3.129.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index f2bf03539b3dc0aee0ea4353fe2c2fe976c6ca11..3b82df74a84f05223e992ae39cf0085d58f3feda 100644 GIT binary patch delta 3061 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 Date: Mon, 10 Jan 2022 18:47:16 +0200 Subject: [PATCH 031/260] Translation fix --- apps/red-ui/src/assets/i18n/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index b4b61c56f..2b2cd6bfc 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1308,7 +1308,7 @@ "dossier-deleted": "Dossier: {dossierName} has been deleted!", "dossier-owner-removed": "{dossierName} owner removed!", "dossier-owner-set": " {dossierName} owner changed to {user}!", - "download-ready": "Your download is ready!", + "download-ready": "Your download is ready!", "no-data": "You currently have no notifications", "unassigned-from-file": "You have been unassigned from {fileName} in dossier: {dossierName}!", "user-becomes-dossier-member": "You have been added to dossier: {dossierName}!", From 8c3efce7efc358605253ca5ef6646dfd31fca819 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Mon, 10 Jan 2022 18:54:06 +0200 Subject: [PATCH 032/260] RED-3137: Pages from an approved file should not be excludable --- apps/red-ui/src/app/services/permissions.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/services/permissions.service.ts b/apps/red-ui/src/app/services/permissions.service.ts index c982c699e..43b50c28e 100644 --- a/apps/red-ui/src/app/services/permissions.service.ts +++ b/apps/red-ui/src/app/services/permissions.service.ts @@ -131,7 +131,7 @@ export class PermissionsService { } canExcludePages(file: File): boolean { - return this.isFileAssignee(file); + return this.canPerformAnnotationActions(file); } canDeleteComment(comment: IComment, file: File) { From 4c2c822dbd28a6215f4405ee559778b502711764 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 17:57:59 +0100 Subject: [PATCH 033/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3200 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3642a278a..d5667e89a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.129.0", + "version": "3.130.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 3b82df74a84f05223e992ae39cf0085d58f3feda..a887c019ef83afba2fde08f4cbdf41c735f1ab0b 100644 GIT binary patch delta 3192 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 Date: Mon, 10 Jan 2022 20:11:22 +0200 Subject: [PATCH 034/260] RED-2991: RED_USER permissions for dossier dictionary --- .../components/editor/editor.component.ts | 40 ++++++++++++++----- apps/red-ui/src/assets/styles/red-editor.scss | 34 ++++++++++++++++ apps/red-ui/src/styles.scss | 22 ---------- 3 files changed, 65 insertions(+), 31 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared/components/editor/editor.component.ts b/apps/red-ui/src/app/modules/shared/components/editor/editor.component.ts index 30f8d45d4..f2cdbe2f2 100644 --- a/apps/red-ui/src/app/modules/shared/components/editor/editor.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/editor/editor.component.ts @@ -68,6 +68,7 @@ export class EditorComponent implements OnInit, OnChanges { glyphMargin: true, automaticLayout: true, readOnly: !this.canEdit, + extraEditorClassName: this.canEdit ? '' : 'disabled', }; } @@ -79,19 +80,12 @@ export class EditorComponent implements OnInit, OnChanges { this._diffEditor.getModifiedEditor().onDidChangeModelContent(() => { this.value = this._diffEditor.getModel().modified.getValue(); }); + this._setTheme(); } onCodeEditorInit(editor: ICodeEditor): void { this.codeEditor = editor; - (window as any).monaco.editor.defineTheme('redaction', { - base: 'vs', - inherit: true, - rules: [], - colors: { - 'editor.lineHighlightBackground': '#f4f5f7', - }, - }); - (window as any).monaco.editor.setTheme('redaction'); + this._setTheme(); } @Debounce() @@ -107,6 +101,34 @@ export class EditorComponent implements OnInit, OnChanges { this._diffEditor?.getModifiedEditor().setValue(this.diffValue); } + private _defineThemes(): void { + (window as any).monaco.editor.defineTheme('redaction', { + base: 'vs', + inherit: true, + rules: [], + colors: { + 'editor.lineHighlightBackground': '#f4f5f7', + }, + }); + (window as any).monaco.editor.defineTheme('redaction-disabled', { + base: 'vs', + inherit: true, + rules: [], + colors: { + 'editor.background': '#f4f5f7', + 'editor.foreground': '#9398a0', + 'editor.lineHighlightBackground': '#f4f5f7', + 'editorLineNumber.foreground': '#9398a0', + 'editorActiveLineNumber.foreground': '#9398a0', + }, + }); + } + + private _setTheme(): void { + this._defineThemes(); + (window as any).monaco.editor.setTheme(this.canEdit ? 'redaction' : 'redaction-disabled'); + } + private _handleMarginButtonClick(event: IEditorMouseEvent) { const isMarginButtonClick = event.target.detail.glyphMarginWidth && event.target.detail.glyphMarginWidth !== 0; if (isMarginButtonClick) { diff --git a/apps/red-ui/src/assets/styles/red-editor.scss b/apps/red-ui/src/assets/styles/red-editor.scss index 1150600de..447ecdc50 100644 --- a/apps/red-ui/src/assets/styles/red-editor.scss +++ b/apps/red-ui/src/assets/styles/red-editor.scss @@ -1,5 +1,39 @@ @use 'variables'; +.monaco-diff-editor { + .editor.original { + right: 30px !important; // diffOverviewRuler size + left: unset !important; + } + + .editor.modified { + left: 0 !important; + width: unset !important; + } + + .diffOverview { + .diffOverviewRuler.original { + left: 15px !important; + } + + .diffOverviewRuler.modified { + right: 15px !important; + } + } +} + +.monaco-editor.disabled { + cursor: default; + + .monaco-mouse-cursor-text { + cursor: default; + } + + .cursors-layer > .cursor { + display: none !important; + } +} + .changed-row-marker { background: rgba(variables.$primary, 0.1); } diff --git a/apps/red-ui/src/styles.scss b/apps/red-ui/src/styles.scss index 91c598cbb..4b83d585b 100644 --- a/apps/red-ui/src/styles.scss +++ b/apps/red-ui/src/styles.scss @@ -32,25 +32,3 @@ $iqser-yellow-2: vars.$yellow-2, $iqser-helpmode-primary: vars.$green-2 ); - -.monaco-diff-editor { - .editor.original { - right: 30px !important; // diffOverviewRuler size - left: unset !important; - } - - .editor.modified { - left: 0 !important; - width: unset !important; - } - - .diffOverview { - .diffOverviewRuler.original { - left: 15px !important; - } - - .diffOverviewRuler.modified { - right: 15px !important; - } - } -} From fc849196e3fd1c15e4a923fe8ef073774ed139bd Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 19:15:06 +0100 Subject: [PATCH 035/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3200 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d5667e89a..74d9b0eea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.130.0", + "version": "3.131.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index a887c019ef83afba2fde08f4cbdf41c735f1ab0b..542704671c0cab15408593d044f968708ccf48c7 100644 GIT binary patch delta 3075 zcmV+e4E*ze8G;#qABzY80000000ZqC+j8T!b)Wqes59-@sVMU*$?{~o%`|CWI-MqI z`_dPX1Vz*o$tA(Hy&cc=H~Q3W206_{ML0#6l%~aTlB>^}G=Z13ukoirC zGrB1(mXa;GdG$jy8`?6k`KL4Z?Aj~GcNR-~>3PB8mF?JnffKw!!4E>spfxqa6+%D8 zQa{Hw*Yz)d)a)rE_4j2Br|aMI9Otb6AEWKne??*(F*!Dm>iXl>;0j*&Q~LKDd%4s9 z!VN(Gi@=BdZ-2k6n%n=m{@+9?u4=;2&vZxqps_g1AWvr~%H#bR< zvwFTMicLm;a7pWVRBUg+Al%<1cuTXV&;C@B{MTROyk1j=v)RKYWpC`6XWMu7%ol$H z@pmEqF2&y!{B^_}N6c}=97oJ?#2kmu`BhBoGQ&@w)epG5yuQ1bbNX;*r3A;MLjSx# z=)Fbrm^`kLa|gdtLSg+i@&mhkyt{ZFK&;mxNs5Yp2*?me_nWF{^4N-stf{E!&A(Ty1D>v7!XvmDU#)j1^m; z+DJ6&e%1t6Q7Q=8;z#R&#w-O~wyh#tBiyip|1OJ~GFm`SMKa9jJ8~HJy#2HiO0rn2 zBv)~NZ2OlSX;@TTj>st=QC(y-MxVr99K?7xXjM3-O%0s4bQ$EFB*}@itk+-&5lM@z zQ+!e4h_a_OvggYako0F7yEELdum=M8_-lntg;C+8ey*33E^me z+Irpx{~F;IhpsDMH!}m^T=`+qXp$6FPaQhRZ7u!S&M7*&BkR4QW-vYUoaVW-kIwN4 z{qzFdR5a!t{L^A&3%!hR!kR6_D&!;;|F561!9apLV12Nf7Cz*drYS`#8k_w_;|oYP zZ}g?aB|f>m8~a_2$0?6Gtw{r6>x5Q+HM63WN@pX)(8>qay#W)-kvj>FQh#T`jIxZ( zCMJSgi$o7AqITvmmb$AWW2v{$L!EsBc?h3CAT~Ps6V__o*C{J14sYyW8F^$@OroN~ ztxE^plZwk`nyMxn?~dLO_ed_I8l1oL+2+|JLsB=jYws~Z4xC{V>^LKupj20XROfE= zh`caFWOv`z5Qq)>*rERzeWX6(duqxiKo+Wd83%%o3v?!jxz8!K!Au}H#%T=PMwff? zaCq}6`hw;ep{&U_=+m2vIUut@0wl8>qbI%md*Uvamx5b>{##MqCt2|@fOV%}?a1k2 z{|cIEYAA2s!{Q(*9fdcA!m)3Edla9OykYN2wI%t7@3?}IRaQkpvjH-Hk{)}hBEwNy z(I{nfVl0PU=flk$v%7=r3CtG z^pz<7|A=$EAyqwCXE~`kf7P$^Rgq<|4wu>Iq#~0{uO^9J`8~4V6?IL2fn1=4ksdGX z%?F&Z5z5<1l*>p#dEbCq89^aroFSMfm&z7>5mQ!FLtC{cttE&?R6?#Dr5Pn3{v!!Z zN!9SAID>?9NUSrt4{T>=h+j&L*B`zEP1W3nhIpp;gok@Pzt4b1JYsKhGuUptqv5xI z{_ns3U8Ae?!?#UBHw1luS%G=v*F$X6yCIMq>B+uTk-Ev)R05d<@Ne0|NdS%%)6SR4 zh}K68nMLkhr;mawn+G@kPe3%8T%(;^E6MRhmUdburiVt)Z3!K%+A*3!sLFV_Qt~B! zJjY`~wZ)mBIinghSn^g6`*NM0qFzuYetOApAhhZvIa~ocGRR^X{Q{~nWqs$WqgicjkyPYI9(!%d#cYOY3SR4w|Pt63tfWCtbGU?{d zqoRBg#~o%|yK(h@pex|@7U*qV!DKODS@dlU8Y(LayhBDN_GFkf;yh(AYE_#MxO43p zay{|KH_dX_2oe;Ci0UAYBH=8DsN4P)v*UUK=?poJqfUZ+5r-Lx!TN5!+ZDFe!MtGo z1dH(xi*Hu$t!@*XgzDUoLHfP1ME1K@?NFb!tu3^ zTsg4p=4~qS1Uac%acM&?XUcCQ(O}4fA&hYpdZQuVC_XV1Op~!NN>&Uljmi~6E2Azq zyh;#^*>;ja*h4TFUE9t2>LgexyJ47x@|^Agz6N~N8u8zT6Qg4iP( z#*}2`wus4YiwWYS$K^Y>rZEZeu_+7(KoFDL#N!w3jSH41bt>?B4G}K9 zr{G09O0@HMNBYkLFcuTE>T+9~nLY+v3bAf4Hj|9Uid641cD{TU6-;w~%D*R z?awgXzmTWr!bEtTSmF(lU$qiN2HUQp1ISNwf?p#es?;?gvz7RCF^4>5L#%g{JcuU~ z>csX8^m#OgZa3pXvzrVx3_oofnUiO}6YIJMf{{qtZ8+0@it8M+jt#arHoKvH-nJ8k zeTeElDJmeWfqJ@%a7~8P9epaW+pT}5Qv!{{-6f08r()6j?DvGLZndE2MGkNU%R*Vj zZ@u~?ZpKf-8omyEW3(J=(=}_;9cWXShOl1oZE+x5=|v@-t&;!rN}jkGl+4IOJIT}T zSI^q6OLDmD07msQzoC7}G|iPZ+aCegiV5-8XP_Nk=(g_%)c7SsM1-^G3hIAzWFZH_ z#kI-+NiLu{V9oVe{jvD-sl`b-w2cb*LaXIQt3*UFDg6gN{zTup{Ka2MX3Oy%0OHjEmy+%;SfAB{Ldx;Uj_y9SRsoMd}eGoi^|0N0!3{>1lyem+r zPm?AKHGg@{NO|B%?L>;_m{OFn>~!(>=MZljQuhzwj1^Kp<27ROC^(ACEnCDHWSBpa zU{}k^x0AgaP3R-vhqCCDMNAu_(VD?xg!P#BKOGbC(Y!PFT#8EO+lSa|bjhD$BmNZo za)xU7uxe6K;dg)HV^P6g>dcV%GKX)n%k8_|u1w48yS%Q;@4Ni2E9kp|u4~bEEo4{O zeO6@bvW^p7OZ$^3g}HBk2!A--&P8pU27@V(i|~9>f@E7!}h z^gWX%3?Ms`2$CXdrf#%<>i=)$+|KRX&h6aJ?cC1o+|KRX&h6aJ?cC1o+|KRX&h6aJ R?cAo@{{Y1RvzGu+005PZ2~Ge2 delta 3073 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 Date: Mon, 10 Jan 2022 21:21:27 +0200 Subject: [PATCH 036/260] RED-3158: Fixed disabled accounts, again --- apps/red-ui/src/app/i18n/language.service.ts | 1 + .../user-button/user-button.component.scss | 1 + .../app/services/general-settings.service.ts | 6 +++--- .../src/app/utils/configuration.initializer.ts | 18 ++++++++++++------ 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/apps/red-ui/src/app/i18n/language.service.ts b/apps/red-ui/src/app/i18n/language.service.ts index d7a5b0c98..3a48ca225 100644 --- a/apps/red-ui/src/app/i18n/language.service.ts +++ b/apps/red-ui/src/app/i18n/language.service.ts @@ -8,6 +8,7 @@ import { UserPreferenceService } from '@services/user-preference.service'; export class LanguageService { constructor(private readonly _translateService: TranslateService, private readonly _userPreferenceService: UserPreferenceService) { _translateService.addLangs(['en', 'de']); + _translateService.setDefaultLang('en'); } get currentLanguage() { diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.scss b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.scss index 76c347ec3..eb363230f 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.scss +++ b/apps/red-ui/src/app/modules/shared/components/buttons/user-button/user-button.component.scss @@ -3,6 +3,7 @@ :host { @extend .user-button; + min-width: fit-content; button { padding: 0 10px 0 5px; diff --git a/apps/red-ui/src/app/services/general-settings.service.ts b/apps/red-ui/src/app/services/general-settings.service.ts index 10353d8c2..2f5b18de8 100644 --- a/apps/red-ui/src/app/services/general-settings.service.ts +++ b/apps/red-ui/src/app/services/general-settings.service.ts @@ -1,17 +1,17 @@ import { Injectable, Injector } from '@angular/core'; import { GenericService, RequiredParam, Validate } from '@iqser/common-ui'; import { IGeneralConfiguration } from '@red/domain'; -import { UserService } from '@services/user.service'; +import { Observable } from 'rxjs'; @Injectable({ providedIn: 'root', }) export class GeneralSettingsService extends GenericService { - constructor(protected readonly _injector: Injector, private readonly _userService: UserService) { + constructor(protected readonly _injector: Injector) { super(_injector, 'configuration'); } - getGeneralConfigurations() { + getGeneralConfigurations(): Observable { return this._getOne(['general']); } diff --git a/apps/red-ui/src/app/utils/configuration.initializer.ts b/apps/red-ui/src/app/utils/configuration.initializer.ts index 2f4bc4faf..8dab62065 100644 --- a/apps/red-ui/src/app/utils/configuration.initializer.ts +++ b/apps/red-ui/src/app/utils/configuration.initializer.ts @@ -1,11 +1,11 @@ -import { catchError, filter, mergeMap, switchMap, take, tap } from 'rxjs/operators'; +import { catchError, filter, mapTo, switchMap, take, tap } from 'rxjs/operators'; import { ConfigService } from '@services/config.service'; import { Title } from '@angular/platform-browser'; -import { from, of, throwError } from 'rxjs'; import { KeycloakEventType, KeycloakService } from 'keycloak-angular'; import { GeneralSettingsService } from '@services/general-settings.service'; import { LanguageService } from '@i18n/language.service'; import { UserPreferenceService } from '@services/user-preference.service'; +import { from, iif, of, throwError } from 'rxjs'; export function configurationInitializer( keycloakService: KeycloakService, @@ -15,16 +15,22 @@ export function configurationInitializer( languageService: LanguageService, userPreferenceService: UserPreferenceService, ) { + const userConfig$ = generalSettingsService.getGeneralConfigurations().pipe( + switchMap(config => from(userPreferenceService.reload()).pipe(mapTo(config))), + tap(() => languageService.chooseAndSetInitialLanguage()), + ); + return () => keycloakService.keycloakEvents$ .pipe( filter(event => event.type === KeycloakEventType.OnReady), switchMap(() => from(keycloakService.isLoggedIn())), - switchMap(loggedIn => (!loggedIn ? throwError('Not Logged In') : of({}))), - mergeMap(() => generalSettingsService.getGeneralConfigurations()), + switchMap(loggedIn => { + const hasAnyRedRoles = !!keycloakService.getUserRoles().find(role => role.startsWith('RED_')); + return !loggedIn ? throwError('Not Logged In') : of(hasAnyRedRoles); + }), + switchMap(hasRoles => iif(() => !!hasRoles, userConfig$, of({ displayName: 'RedactManager' }))), tap(configuration => configService.updateDisplayName(configuration.displayName)), - switchMap(() => userPreferenceService.reload()), - tap(() => languageService.chooseAndSetInitialLanguage()), catchError(() => { title.setTitle('RedactManager'); return of({}); From 5bcf7c8f0255cd67c71b8424dfe99c67d39d35b6 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 10 Jan 2022 20:25:29 +0100 Subject: [PATCH 037/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 74d9b0eea..2870cb5d8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.131.0", + "version": "3.132.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 542704671c0cab15408593d044f968708ccf48c7..bbc96829c46f5d5a76c89dde8678df1acc182a46 100644 GIT binary patch delta 3114 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 Date: Tue, 11 Jan 2022 10:19:49 +0100 Subject: [PATCH 038/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 2870cb5d8..24b80f623 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.132.0", + "version": "3.133.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index bbc96829c46f5d5a76c89dde8678df1acc182a46..bcfc8d21e038d58c5f8efb8dcc7f034d34b0754f 100644 GIT binary patch delta 3075 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 R+|JG3{s*$QF2ev&004s)7eD|2 delta 3075 zcmV+e4E*zg8G;#qABzY80000000ZqC+j8T!b)Wqes59-@sVMU*$?{~o%`|CWI-MqI z`_dPX1Vz*o$tA(Hy&cc=H~Q3W206_{ML0#6l%~aTlB>^}G=Z13ukoirC zGrB1(mXa;GdG$jy8`?6k`KL4Z?Aj~GcNR;>_JUyX%69C3z;Rxo;0K{*(3+az3ZWlk zsh?w;>-v{JYW9?o`unnm)AjFpc5v4JkJ0w(zalY?m>io&b^UQ`a0M^?DgAqnz3lbx z+in2*Uj&}}3fbQ;tLFB9uKzbtimRG1borNWzO+`CcNcHywk#@!nku`xOc^Wd_03IE z9aqTB>(l-IIq`~;cWJ>N!c5F=Gpe0J@dui zK>S^Zzf19V1%Dke#}RWJF~<>e95Kh?bAA=my3Fv?XY~UvFR$+|=A1s9St-FWsn9nmo3mA}gvj`ovv% zuJ4TDQ0fQ}E)1)t@5vf1e7=C}dXURQQQ;`fa`i>mNJ#Rm)gpw>4 zE6G)V9NYdSM;aCtmm_k@M^qOXjnOBu7Y8xk4O$hBX;TB|EnNmVCrNT5E$cNHLPXLc z>l9y{Hh6UYQH0BnXsl8F_hCtIVu$i+S!&z_ps$p$o)5vy#%j7FF%c0xFR znzo+z!M{eh#i8rU*UiiTI9GmHG@2wu)l-K~a$8G3wsVS(?#Ozts2NNTJ*Rmt?W1#i zLO;C#Hx-R}2miDf*+MTPoUmpKu?jg!#sBMPY%q}E4p<+oriBkVrfEu%ipFNY(f9(= z%^Q6wafwfE@5X*t<8jKPPHWOY*gBzqRn4p@rPA35F|_i5b#K6ga^y~eqtxG7FrzFZ zvx$k|)*{ivim07AjHT}C$XMzv^iXG?Kpw&;5QvSA{)Dw!_jSsOio+W_SVkV16_co_ zaO=`R_oU*onWn1A#=E08#66PBs0Qcne71S^$dJ@c?b>@xkOODf1Ut@%CMeZ^71g;L zJt8j*5!v0hH3VXVK6dCoMjxq<_@0`w36O>AUdDmo;{u(@VeWH^Z7>rEj&T|Tx6$RE zJRIJ9ioT$EMks6Y4f^!vVh+eGkO0Xn$LL8f|DL$Z<)z>jp#N4>_eoYf3}D?USUYlh z*uR2ini|TR_pmrfN=M;Mp>XVf+aAT|ByZSzQf*28;XAHiWR+Es&}@LrpQOiLs>pDZ zRy0Z(-Iz!UCb1-5kLBwoN|PqP7eQEuUrbZs_V8bXB!`u0j(GCZF<6A8O0o~%Mk#^* z8hs^-|3Bg!Z%9=S)>%$!&R_NGd{tx_tixsYIjP7b)2m6MSALJ|cST))Qy>>;VWh_k zd-DNjY=rW566G>dP~JD7Rz^?=8D|J4%B8YJU&NFZ)zDV$NoxtB5tWc@M`=dMhyO@I zQ&KfNDb66_91`nH?gQJ|8RC~xJ>lUV&+jv!5s%oL+zhrG?`Zh# zpa1)>f7j?L{qSv*&<#OGZ{iJx9F90;vCNe)+ljtnw?7)W=FYags2hsEJ| zmG37{94B!4Ds@iFk}yqRJY8s$rDjkNGP*&UyM85W1a^iwkdFre>XgG{=) z^Qb7F#Bqli*KS;YJ?IK}y#;z(S1?%&SQdR-gNDkA0`HKKi9H!+jW|ykj9S$u1nyjW zhFnkl@lCVbHG%{MBBDBoqewW*A?mij#q7AAKsrN?n4TG*x(Yyq9v{GrO>V^ouqagN( zhA|~sxh-O{+hT$^>2dkat!Yd`Jb9C}2Q`0rR%{Bx0T9IGHu3mHd*g!TNu3J3UPFWn z?1t-9RSW~Pt9mO`xCi_IkCu_D#GjGZsvMFrE`ANg+LAPGlY zNgTv6`>1tZZ~<|gV0)D;`MrSGrGYtqXN|U_mQyU`GNYMu7^e~V_55B-+gmWFC3zQ= z%R5TGcaS?J{gPTgK*;_p2G8+gpG=c~2qk}O3aH8Ufp;a!5#aj~`F&BwiU`d&*;ASJ z_XffS0=W_&mxxr^z8(UpX6Nsa7rmnli$|+Yaa=rfXK1P$=03vJi?Yt@0)m!M3aD0P+)^;Md5ADs>IWY$ZNj%pp(N5bGT!58}y$ zI?T7E!%y2r=H!|0#JcW*U?h@u8_u+!;yTByV}mV@&2DI)x9vn> zAELTXiV6s8pq{QGT$3SnN1qDpcB_BsltANfcgdpjsaW(r`#s^RTP^5$kpo=8vQSp> zTdzKeoAHydhOYzP7%j)zbj{jy2ig>-A*@$?TO7z%dQnMdtK>huk|%BkB{TBSPV%(- z)w8zik{s?jfKmO-Z)jgKO>?Eq_D2A=VnY1&8EA(Wy6yV`HGatu5#cPlg8F|PS;&EK zaji0dQcn`!e(MQue@dd;A6zr3H#$eqH^QX@)D^?EcR5A z>v0y@pF4^huOj>hFgbm*s7`zfsuMyPoAN&!*USdQrK0wZ7>UIEg9|RBKf5{310~PlX?+VoE zlanY5HGf_+QXY6xJCWi!rW9o?J6-(!ImFwB)cpfEV};buc#T**3XbA(%NB748Rm~9 z*wwP~?PTvp6Z**ap)5LO5z~ffv}UjvVLj&kPsc=jH1Etkm!gvS_96BfUGk^ch(E=? zoS_;%teR9*_}!oQSX8i=Ix{4`%;B5ta{Df~>rC?cF0bqI`!2uh3i_^~>ss_(3)xk6 zpA{Lqtm8!2(thM&?8Ma5&R{2zeDu-lNczLjcj8<2=dtpJ7`r#L2Qda3Mn(5SjNY*r zeNU4p3?Do1B!Z-fnyDM@pZfn>Ik$5=w{ttUb33<~007fM_+tP7 From e05bbb017ea8e5e7ac719d1af52eee431e1acb5f Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 10 Jan 2022 17:32:17 +0200 Subject: [PATCH 039/260] Ignored hint port and fix for no red roles --- apps/red-ui/src/app/app.module.ts | 62 +- .../app/models/file/annotation.permissions.ts | 4 +- .../src/app/models/file/annotation.wrapper.ts | 35 +- .../src/app/models/file/file-data.model.ts | 5 +- .../file/redaction-log-entry.wrapper.ts | 1 + .../default-colors-translations.ts | 1 + ...=> force-annotation-dialog.component.html} | 11 +- ...=> force-annotation-dialog.component.scss} | 0 ...s => force-annotation-dialog.component.ts} | 20 +- .../remove-annotations-dialog.component.html | 4 +- .../remove-annotations-dialog.component.ts | 1 + .../app/modules/dossier/dossiers.module.ts | 4 +- .../annotation-actions.component.html | 11 +- .../type-annotation-icon.component.ts | 2 +- .../file-preview-screen.component.html | 2 +- .../services/annotation-actions.service.ts | 35 +- .../services/annotation-processing.service.ts | 18 +- .../services/dossiers-dialog.service.ts | 8 +- .../type-filter/type-filter.component.html | 6 + .../file-upload-download.module.ts | 1 - apps/red-ui/src/app/services/user.service.ts | 6 +- .../red-ui/src/app/state/app-state.service.ts | 8 + .../annotation-types-translations.ts | 1 + .../app/utils/configuration.initializer.ts | 22 +- .../app/utils/sorters/super-type-sorter.ts | 1 + apps/red-ui/src/assets/config/config.json | 4 +- apps/red-ui/src/assets/i18n/de.json | 3 +- apps/red-ui/src/assets/i18n/en.json | 10 +- bamboo-specs/bamboo-specs.iml | 32 - .../red-domain/src/lib/dictionaries/colors.ts | 1 + .../src/lib/shared/default-color-type.ts | 1 + package-lock.json | 0 package.json | 42 +- tsconfig.base.json | 6 +- yarn.lock | 1948 +++++++++-------- 35 files changed, 1324 insertions(+), 992 deletions(-) rename apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/{force-redaction-dialog.component.html => force-annotation-dialog.component.html} (76%) rename apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/{force-redaction-dialog.component.scss => force-annotation-dialog.component.scss} (100%) rename apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/{force-redaction-dialog.component.ts => force-annotation-dialog.component.ts} (83%) delete mode 100644 bamboo-specs/bamboo-specs.iml delete mode 100644 package-lock.json diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index a1d31741d..5fc3530a6 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -36,6 +36,9 @@ import { KeycloakService } from 'keycloak-angular'; import { GeneralSettingsService } from '@services/general-settings.service'; import { BreadcrumbsComponent } from '@components/breadcrumbs/breadcrumbs.component'; import { UserPreferenceService } from '@services/user-preference.service'; +import * as german from '../assets/i18n/de.json'; +import * as english from '../assets/i18n/en.json'; +import { UserService } from '@services/user.service'; export function httpLoaderFactory(httpClient: HttpClient): PruningTranslationLoader { return new PruningTranslationLoader(httpClient, '/assets/i18n/', '.json'); @@ -114,7 +117,7 @@ const components = [AppComponent, AuthErrorComponent, NotificationsComponent, Sp provide: APP_INITIALIZER, multi: true, useFactory: configurationInitializer, - deps: [KeycloakService, Title, ConfigService, GeneralSettingsService, LanguageService, UserPreferenceService], + deps: [KeycloakService, Title, ConfigService, GeneralSettingsService, LanguageService, UserService, UserPreferenceService], }, { provide: MissingTranslationHandler, @@ -136,6 +139,7 @@ const components = [AppComponent, AuthErrorComponent, NotificationsComponent, Sp export class AppModule { constructor(private readonly _router: Router, private readonly _route: ActivatedRoute) { this._configureKeyCloakRouteHandling(); + // this._test(); } private _configureKeyCloakRouteHandling() { @@ -152,4 +156,60 @@ export class AppModule { } }); } + + // private _test(){ + // + // const flatGerman = flatten(german); + // + // + // const flatEnglish = flatten(english); + // + // const tmfc = new TranslateMessageFormatCompiler(); + // + // + // + // for (const key of Object.keys(flatGerman)) { + // try { + // const result = tmfc.compile(flatGerman[key], 'de'); + // //console.log(result); + // } catch (e) { + // console.error('ERROR AT: ', flatGerman[key]); + // } + // } + // + // for (const key of Object.keys(flatEnglish)) { + // try { + // const result = tmfc.compile(flatEnglish[key], 'de'); + // //console.log(result); + // } catch (e) { + // console.error('ERROR AT: ', flatEnglish[key]); + // } + // } + // console.log('done'); + // } } + +// +// function flatten(data: any) { +// const result: any = {}; +// +// function recurse(cur: any, prop: any) { +// if (Object(cur) !== cur) { +// result[prop] = cur; +// } else if (Array.isArray(cur)) { +// let l = 0; +// for (let i = 0, l = cur.length; i < l; i++) recurse(cur[i], prop + '[' + i + ']'); +// if (l === 0) result[prop] = []; +// } else { +// let isEmpty = true; +// for (const p in cur) { +// isEmpty = false; +// recurse(cur[p], prop ? prop + '.' + p : p); +// } +// if (isEmpty && prop) result[prop] = {}; +// } +// } +// +// recurse(data, ''); +// return result; +// } diff --git a/apps/red-ui/src/app/models/file/annotation.permissions.ts b/apps/red-ui/src/app/models/file/annotation.permissions.ts index ca2f1f911..95bf99e30 100644 --- a/apps/red-ui/src/app/models/file/annotation.permissions.ts +++ b/apps/red-ui/src/app/models/file/annotation.permissions.ts @@ -14,6 +14,7 @@ export class AnnotationPermissions { canChangeLegalBasis = true; canResizeAnnotation = true; canRecategorizeImage = true; + canForceHint = true; static forUser(isApprover: boolean, user: User, annotations: AnnotationWrapper | AnnotationWrapper[]) { if (!isArray(annotations)) { @@ -29,12 +30,13 @@ export class AnnotationPermissions { permissions.canAcceptSuggestion = isApprover && (annotation.isSuggestion || annotation.isDeclinedSuggestion); permissions.canRejectSuggestion = isApprover && annotation.isSuggestion; + permissions.canForceHint = annotation.isIgnoredHint; permissions.canForceRedaction = annotation.isSkipped && !annotation.isFalsePositive; permissions.canAcceptRecommendation = annotation.isRecommendation; permissions.canMarkAsFalsePositive = annotation.canBeMarkedAsFalsePositive; - permissions.canRemoveOrSuggestToRemoveOnlyHere = annotation.isRedacted; + permissions.canRemoveOrSuggestToRemoveOnlyHere = annotation.isRedacted || annotation.isHint; permissions.canRemoveOrSuggestToRemoveFromDictionary = annotation.isModifyDictionary && (annotation.isRedacted || annotation.isSkipped || annotation.isHint); diff --git a/apps/red-ui/src/app/models/file/annotation.wrapper.ts b/apps/red-ui/src/app/models/file/annotation.wrapper.ts index 51a75e509..94bd2ad99 100644 --- a/apps/red-ui/src/app/models/file/annotation.wrapper.ts +++ b/apps/red-ui/src/app/models/file/annotation.wrapper.ts @@ -12,6 +12,7 @@ export type AnnotationSuperType = | 'suggestion-remove-dictionary' | 'suggestion-add' | 'suggestion-remove' + | 'ignored-hint' | 'skipped' | 'redaction' | 'manual-redaction' @@ -43,6 +44,7 @@ export class AnnotationWrapper { legalBasisChangeValue?: string; resizing?: boolean; rectangle?: boolean; + hintDictionary?: boolean; section?: string; manual?: boolean; @@ -87,7 +89,7 @@ export class AnnotationWrapper { } get isSuperTypeBasedColor() { - return this.isSkipped || this.isSuggestion || this.isDeclinedSuggestion; + return this.isSkipped || this.isSuggestion || this.isDeclinedSuggestion || this.isIgnoredHint; } get isSkipped() { @@ -106,6 +108,20 @@ export class AnnotationWrapper { return this.recategorizationType || this.typeValue; } + get topLevelFilter() { + return ( + this.superType !== 'hint' && + this.superType !== 'redaction' && + this.superType !== 'recommendation' && + this.superType !== 'ignored-hint' && + this.superType !== 'skipped' + ); + } + + get filterKey() { + return this.topLevelFilter ? this.superType : this.superType + this.type; + } + get isManuallySkipped() { return this.isSkipped && this.manual; } @@ -113,7 +129,10 @@ export class AnnotationWrapper { get isFalsePositive() { return ( this.type?.toLowerCase() === 'false_positive' && - (this.superType === 'skipped' || this.superType === 'hint' || this.superType === 'redaction') + (this.superType === 'skipped' || + this.superType === 'hint' || + this.superType === 'ignored-hint' || + this.superType === 'redaction') ); } @@ -133,6 +152,10 @@ export class AnnotationWrapper { return this.superType === 'hint'; } + get isIgnoredHint() { + return this.superType === 'ignored-hint'; + } + get isRedacted() { return this.superType === 'redaction' || this.superType === 'manual-redaction'; } @@ -242,6 +265,7 @@ export class AnnotationWrapper { annotationWrapper.hasLegalBasisChanged = redactionLogEntry.hasLegalBasisChanged; annotationWrapper.hasBeenForced = redactionLogEntry.hasBeenForced; annotationWrapper.hasBeenRemovedByManualOverride = redactionLogEntry.hasBeenRemovedByManualOverride; + annotationWrapper.hintDictionary = redactionLogEntry.hintDictionary; this._createContent(annotationWrapper, redactionLogEntry); this._setSuperType(annotationWrapper, redactionLogEntry); @@ -280,7 +304,7 @@ export class AnnotationWrapper { if (redactionLogEntryWrapper.status === 'REQUESTED') { annotationWrapper.superType = 'suggestion-force-redaction'; } else if (redactionLogEntryWrapper.status === 'APPROVED') { - annotationWrapper.superType = 'redaction'; + annotationWrapper.superType = redactionLogEntryWrapper.hint ? 'hint' : 'redaction'; } else { annotationWrapper.superType = 'skipped'; } @@ -408,6 +432,11 @@ export class AnnotationWrapper { if (!annotationWrapper.superType) { annotationWrapper.superType = annotationWrapper.redaction ? 'redaction' : annotationWrapper.hint ? 'hint' : 'skipped'; } + if (annotationWrapper.superType === 'skipped') { + if (redactionLogEntryWrapper.hintDictionary) { + annotationWrapper.superType = 'ignored-hint'; + } + } } private static _createContent(annotationWrapper: AnnotationWrapper, entry: RedactionLogEntryWrapper) { diff --git a/apps/red-ui/src/app/models/file/file-data.model.ts b/apps/red-ui/src/app/models/file/file-data.model.ts index 1c0d3b920..8a3d50aa3 100644 --- a/apps/red-ui/src/app/models/file/file-data.model.ts +++ b/apps/red-ui/src/app/models/file/file-data.model.ts @@ -21,7 +21,7 @@ export class FileDataModel { viewMode: ViewMode, areDevFeaturesEnabled: boolean, ): AnnotationData { - const entries: RedactionLogEntryWrapper[] = this._convertData(); + const entries: RedactionLogEntryWrapper[] = this._convertData(dictionaryData); let allAnnotations = entries .map(entry => AnnotationWrapper.fromData(entry)) .filter(ann => ann.manual || !this.file.excludedPages.includes(ann.pageNumber)); @@ -46,7 +46,7 @@ export class FileDataModel { }; } - private _convertData(): RedactionLogEntryWrapper[] { + private _convertData(dictionaryData: { [p: string]: Dictionary }): RedactionLogEntryWrapper[] { let result: RedactionLogEntryWrapper[] = []; const reasonAnnotationIds: { [key: string]: RedactionLogEntryWrapper[] } = {}; @@ -55,6 +55,7 @@ export class FileDataModel { const redactionLogEntryWrapper: RedactionLogEntryWrapper = {}; Object.assign(redactionLogEntryWrapper, redactionLogEntry); redactionLogEntryWrapper.type = redactionLogEntry.type; + redactionLogEntryWrapper.hintDictionary = dictionaryData[redactionLogEntry.type].hint; this._isChangeLogEntry(redactionLogEntry, redactionLogEntryWrapper); diff --git a/apps/red-ui/src/app/models/file/redaction-log-entry.wrapper.ts b/apps/red-ui/src/app/models/file/redaction-log-entry.wrapper.ts index f3bcacbd8..a406aba68 100644 --- a/apps/red-ui/src/app/models/file/redaction-log-entry.wrapper.ts +++ b/apps/red-ui/src/app/models/file/redaction-log-entry.wrapper.ts @@ -11,6 +11,7 @@ export interface RedactionLogEntryWrapper { startOffset?: number; type?: string; rectangle?: boolean; + hintDictionary?: boolean; color?: Array; dictionaryEntry?: boolean; diff --git a/apps/red-ui/src/app/modules/admin/translations/default-colors-translations.ts b/apps/red-ui/src/app/modules/admin/translations/default-colors-translations.ts index 9e5408ee1..f40ebd20b 100644 --- a/apps/red-ui/src/app/modules/admin/translations/default-colors-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/default-colors-translations.ts @@ -11,4 +11,5 @@ export const defaultColorsTranslations: { [key in DefaultColorType]: string } = requestAdd: _('default-colors-screen.types.requestAdd'), requestRemove: _('default-colors-screen.types.requestRemove'), updatedColor: _('default-colors-screen.types.updatedColor'), + ignoredHintColor: _('default-colors-screen.types.ignoredHintColor'), }; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.html similarity index 76% rename from apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.html rename to apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.html index cb10c3df8..fb2d27da6 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.html @@ -1,9 +1,10 @@
-
-
+ +
+
-
+
-
+
- +
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.scss similarity index 100% rename from apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.scss rename to apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.scss diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts similarity index 83% rename from apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.ts rename to apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts index b6b0f0191..66fa3e626 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-redaction-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts @@ -17,11 +17,11 @@ export interface LegalBasisOption { } @Component({ - selector: 'redaction-force-redaction-dialog', - templateUrl: './force-redaction-dialog.component.html', - styleUrls: ['./force-redaction-dialog.component.scss'], + selector: 'redaction-force-annotation-dialog', + templateUrl: './force-annotation-dialog.component.html', + styleUrls: ['./force-annotation-dialog.component.scss'], }) -export class ForceRedactionDialogComponent implements OnInit { +export class ForceAnnotationDialogComponent implements OnInit { redactionForm: FormGroup; isDocumentAdmin: boolean; legalOptions: LegalBasisOption[] = []; @@ -35,17 +35,21 @@ export class ForceRedactionDialogComponent implements OnInit { private readonly _justificationsService: JustificationsService, private readonly _manualAnnotationService: ManualAnnotationService, private readonly _permissionsService: PermissionsService, - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) private readonly _data: { readonly dossier: Dossier }, + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) private readonly _data: { readonly dossier: Dossier; readonly hint: boolean }, ) { this.redactionForm = this._getForm(); } + get isHintDialog() { + return this._data.hint; + } + private _getForm(): FormGroup { this.isDocumentAdmin = this._permissionsService.isApprover(this._data.dossier); return this._formBuilder.group({ - reason: [null, Validators.required], + reason: this._data.hint ? ['Forced Hint'] : [null, Validators.required], comment: this.isDocumentAdmin ? [null] : [null, Validators.required], }); } @@ -62,7 +66,7 @@ export class ForceRedactionDialogComponent implements OnInit { this.legalOptions.sort((a, b) => a.label.localeCompare(b.label)); } - handleForceRedaction() { + handleForceAnnotation() { this.dialogRef.close(this._createForceRedactionRequest()); } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html index 5a7e4f1a5..9f40bf629 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html @@ -4,7 +4,7 @@ (data.removeFromDictionary ? 'remove-annotations-dialog.remove-from-dictionary.title' : 'remove-annotations-dialog.remove-only-here.title' - ) | translate + ) | translate: { hint: data.hint } }}
@@ -13,7 +13,7 @@ (data.removeFromDictionary ? 'remove-annotations-dialog.remove-from-dictionary.question' : 'remove-annotations-dialog.remove-only-here.question' - ) | translate + ) | translate: { hint: data.hint } }}
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts index 8c8f00246..f6ecb7ab3 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts @@ -10,6 +10,7 @@ import { Dossier } from '@red/domain'; export interface RemoveAnnotationsDialogInput { annotationsToRemove: AnnotationWrapper[]; removeFromDictionary: boolean; + hint: boolean; dossier: Dossier; } diff --git a/apps/red-ui/src/app/modules/dossier/dossiers.module.ts b/apps/red-ui/src/app/modules/dossier/dossiers.module.ts index 44c107c38..495eb2a96 100644 --- a/apps/red-ui/src/app/modules/dossier/dossiers.module.ts +++ b/apps/red-ui/src/app/modules/dossier/dossiers.module.ts @@ -3,7 +3,7 @@ import { CommonModule } from '@angular/common'; import { AddDossierDialogComponent } from './dialogs/add-dossier-dialog/add-dossier-dialog.component'; import { AssignReviewerApproverDialogComponent } from './dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component'; import { ManualAnnotationDialogComponent } from './dialogs/manual-redaction-dialog/manual-annotation-dialog.component'; -import { ForceRedactionDialogComponent } from './dialogs/force-redaction-dialog/force-redaction-dialog.component'; +import { ForceAnnotationDialogComponent } from './dialogs/force-redaction-dialog/force-annotation-dialog.component'; import { RemoveAnnotationsDialogComponent } from './dialogs/remove-annotations-dialog/remove-annotations-dialog.component'; import { DocumentInfoDialogComponent } from './dialogs/document-info-dialog/document-info-dialog.component'; import { SharedModule } from '@shared/shared.module'; @@ -35,7 +35,7 @@ const dialogs = [ AddDossierDialogComponent, EditDossierDialogComponent, ManualAnnotationDialogComponent, - ForceRedactionDialogComponent, + ForceAnnotationDialogComponent, RemoveAnnotationsDialogComponent, ResizeAnnotationDialogComponent, DocumentInfoDialogComponent, diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 4ede0e6b6..1dc525fb2 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -88,7 +88,7 @@ > + + - {{ filter.id | humanize: false }} + {{ filter.label | humanize: false }} diff --git a/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts b/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts index 87f773043..170566f58 100644 --- a/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts @@ -59,9 +59,15 @@ export class AnnotationActionsService { }); } - forceRedaction($event: MouseEvent, annotations: AnnotationWrapper[], file: File, annotationsChanged: EventEmitter) { - const data = { dossier: this._dossier(file) }; - this._dialogService.openDialog('forceRedaction', $event, data, (request: ILegalBasisChangeRequest) => { + forceAnnotation( + $event: MouseEvent, + annotations: AnnotationWrapper[], + file: File, + annotationsChanged: EventEmitter, + hint: boolean = false, + ) { + const data = { dossier: this._dossier(file), hint }; + this._dialogService.openDialog('forceAnnotation', $event, data, (request: ILegalBasisChangeRequest) => { annotations.forEach(annotation => { this._processObsAndEmit( this._manualAnnotationService.force( @@ -114,7 +120,12 @@ export class AnnotationActionsService { removeFromDictionary: boolean, annotationsChanged: EventEmitter, ) { - const data = { annotationsToRemove: annotations, removeFromDictionary, dossier: this._dossier(file) }; + const data = { + annotationsToRemove: annotations, + removeFromDictionary, + dossier: this._dossier(file), + hint: annotations[0].hintDictionary, + }; this._dialogService.openDialog('removeAnnotations', $event, data, (result: { comment: string }) => { annotations.forEach(annotation => { this._processObsAndEmit( @@ -349,7 +360,21 @@ export class AnnotationActionsService { title: this._translateService.instant('annotation-actions.force-redaction.label'), onClick: () => { this._ngZone.run(() => { - this.forceRedaction(null, annotations, file, annotationsChanged); + this.forceAnnotation(null, annotations, file, annotationsChanged); + }); + }, + }); + } + + const canForceHint = annotationPermissions.reduce((acc, next) => acc && next.permissions.canForceHint, true); + if (canForceHint) { + availableActions.push({ + type: 'actionButton', + img: this._convertPath('/assets/icons/general/thumb-up.svg'), + title: this._translateService.instant('annotation-actions.force-hint.label'), + onClick: () => { + this._ngZone.run(() => { + this.forceAnnotation(null, annotations, file, annotationsChanged, true); }); }, }); diff --git a/apps/red-ui/src/app/modules/dossier/services/annotation-processing.service.ts b/apps/red-ui/src/app/modules/dossier/services/annotation-processing.service.ts index a8c467bd8..5c1ea0c65 100644 --- a/apps/red-ui/src/app/modules/dossier/services/annotation-processing.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/annotation-processing.service.ts @@ -42,27 +42,26 @@ export class AnnotationProcessingService { const filters: INestedFilter[] = []; annotations?.forEach(a => { - const topLevelFilter = !['hint', 'redaction', 'recommendation', 'skipped'].includes(a.superType); - const key = topLevelFilter ? a.superType : a.superType + a.type; - const filter = filterMap.get(key); + const topLevelFilter = a.topLevelFilter; + const filter = filterMap.get(a.filterKey); if (filter) { filter.matches += 1; } else { // top level filter if (topLevelFilter) { - this._createParentFilter(key, filterMap, filters); + this._createParentFilter(a.superType, filterMap, filters); } else { let parentFilter = filterMap.get(a.superType); if (!parentFilter) { parentFilter = this._createParentFilter(a.superType, filterMap, filters); } const childFilter: IFilter = { - id: a.type, + id: a.filterKey, label: a.type, checked: false, matches: 1, }; - filterMap.set(key, childFilter); + filterMap.set(a.filterKey, childFilter); parentFilter.children.push(new Filter(childFilter)); } } @@ -173,12 +172,7 @@ export class AnnotationProcessingService { return true; }; - private _checkByFilterKey = (filter: INestedFilter, annotation: AnnotationWrapper) => { - const superType = annotation.superType; - const isNotTopLevelFilter = superType === 'hint' || superType === 'redaction' || superType === 'recommendation'; - - return filter.id === superType || (filter.id === annotation.type && isNotTopLevelFilter); - }; + private _checkByFilterKey = (filter: NestedFilter | IFilter, annotation: AnnotationWrapper) => filter.id === annotation.filterKey; private _sortAnnotations(annotations: AnnotationWrapper[]): AnnotationWrapper[] { return annotations.sort((ann1, ann2) => { diff --git a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts index 4e14a62ba..5a6feb045 100644 --- a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts @@ -2,7 +2,7 @@ import { Injectable } from '@angular/core'; import { MatDialog } 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 { ForceAnnotationDialogComponent } from '../dialogs/force-redaction-dialog/force-annotation-dialog.component'; import { DocumentInfoDialogComponent } from '../dialogs/document-info-dialog/document-info-dialog.component'; import { ManualAnnotationDialogComponent } from '../dialogs/manual-redaction-dialog/manual-annotation-dialog.component'; import { EditDossierDialogComponent } from '../dialogs/edit-dossier-dialog/edit-dossier-dialog.component'; @@ -22,7 +22,7 @@ type DialogType = | 'changeLegalBasis' | 'removeAnnotations' | 'resizeAnnotation' - | 'forceRedaction' + | 'forceAnnotation' | 'manualAnnotation'; @Injectable() @@ -58,8 +58,8 @@ export class DossiersDialogService extends DialogService { resizeAnnotation: { component: ResizeAnnotationDialogComponent, }, - forceRedaction: { - component: ForceRedactionDialogComponent, + forceAnnotation: { + component: ForceAnnotationDialogComponent, }, manualAnnotation: { component: ManualAnnotationDialogComponent, diff --git a/apps/red-ui/src/app/modules/shared/components/type-filter/type-filter.component.html b/apps/red-ui/src/app/modules/shared/components/type-filter/type-filter.component.html index 8de42a9c4..2c08380b1 100644 --- a/apps/red-ui/src/app/modules/shared/components/type-filter/type-filter.component.html +++ b/apps/red-ui/src/app/modules/shared/components/type-filter/type-filter.component.html @@ -24,6 +24,12 @@ label="S" type="square" > + { ); } - async loadCurrentUser() { + async loadCurrentUser(): Promise { const token = await this._keycloakService.getToken(); const decoded = jwt_decode(token); const userId = (<{ sub: string }>decoded).sub; const roles = this._keycloakService.getUserRoles(true).filter(role => role.startsWith('RED_')); - this.replace(new User(await this._keycloakService.loadUserProfile(true), roles, userId)); + const user = new User(await this._keycloakService.loadUserProfile(true), roles, userId); + this.replace(user); this._currentUser$.next(this.find(userId)); + return user; } getNameForId(userId: string): string | undefined { diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index 1e16193d8..f91ec9212 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -176,6 +176,14 @@ export class AppStateService { true, ); + dictionaryData['ignored-hint'] = new Dictionary( + { + hexColor: colors.ignoredHintColor, + type: 'ignored-hint', + }, + true, + ); + dictionaryData['manual-redaction'] = new Dictionary( { hexColor: colors.manualRedactionColor || FALLBACK_COLOR, diff --git a/apps/red-ui/src/app/translations/annotation-types-translations.ts b/apps/red-ui/src/app/translations/annotation-types-translations.ts index 25bc736f1..c8113674f 100644 --- a/apps/red-ui/src/app/translations/annotation-types-translations.ts +++ b/apps/red-ui/src/app/translations/annotation-types-translations.ts @@ -4,6 +4,7 @@ import { AnnotationSuperType } from '../models/file/annotation.wrapper'; export const annotationTypesTranslations: { [key in AnnotationSuperType]: string } = { 'declined-suggestion': _('annotation-type.declined-suggestion'), hint: _('annotation-type.hint'), + 'ignored-hint': _('annotation-type.ignored-hint'), 'manual-redaction': _('annotation-type.manual-redaction'), recommendation: _('annotation-type.recommendation'), redaction: _('annotation-type.redaction'), diff --git a/apps/red-ui/src/app/utils/configuration.initializer.ts b/apps/red-ui/src/app/utils/configuration.initializer.ts index 8dab62065..d5d0c60ee 100644 --- a/apps/red-ui/src/app/utils/configuration.initializer.ts +++ b/apps/red-ui/src/app/utils/configuration.initializer.ts @@ -1,11 +1,12 @@ -import { catchError, filter, mapTo, switchMap, take, tap } from 'rxjs/operators'; +import { catchError, filter, mergeMap, switchMap, take, tap } from 'rxjs/operators'; import { ConfigService } from '@services/config.service'; import { Title } from '@angular/platform-browser'; +import { from, of, throwError } from 'rxjs'; import { KeycloakEventType, KeycloakService } from 'keycloak-angular'; import { GeneralSettingsService } from '@services/general-settings.service'; import { LanguageService } from '@i18n/language.service'; import { UserPreferenceService } from '@services/user-preference.service'; -import { from, iif, of, throwError } from 'rxjs'; +import { UserService } from '@services/user.service'; export function configurationInitializer( keycloakService: KeycloakService, @@ -13,28 +14,25 @@ export function configurationInitializer( configService: ConfigService, generalSettingsService: GeneralSettingsService, languageService: LanguageService, + userService: UserService, userPreferenceService: UserPreferenceService, ) { - const userConfig$ = generalSettingsService.getGeneralConfigurations().pipe( - switchMap(config => from(userPreferenceService.reload()).pipe(mapTo(config))), - tap(() => languageService.chooseAndSetInitialLanguage()), - ); - return () => keycloakService.keycloakEvents$ .pipe( filter(event => event.type === KeycloakEventType.OnReady), switchMap(() => from(keycloakService.isLoggedIn())), - switchMap(loggedIn => { - const hasAnyRedRoles = !!keycloakService.getUserRoles().find(role => role.startsWith('RED_')); - return !loggedIn ? throwError('Not Logged In') : of(hasAnyRedRoles); - }), - switchMap(hasRoles => iif(() => !!hasRoles, userConfig$, of({ displayName: 'RedactManager' }))), + switchMap(loggedIn => (!loggedIn ? throwError('Not Logged In') : of({}))), + switchMap(() => from(userService.loadCurrentUser())), + switchMap(user => (!user.hasAnyREDRoles ? throwError('Not user has no red roles') : of({}))), + mergeMap(() => generalSettingsService.getGeneralConfigurations()), tap(configuration => configService.updateDisplayName(configuration.displayName)), + switchMap(() => userPreferenceService.reload()), catchError(() => { title.setTitle('RedactManager'); return of({}); }), + tap(() => languageService.chooseAndSetInitialLanguage()), take(1), ) .toPromise(); diff --git a/apps/red-ui/src/app/utils/sorters/super-type-sorter.ts b/apps/red-ui/src/app/utils/sorters/super-type-sorter.ts index 1be4b46d7..4c04efa20 100644 --- a/apps/red-ui/src/app/utils/sorters/super-type-sorter.ts +++ b/apps/red-ui/src/app/utils/sorters/super-type-sorter.ts @@ -10,6 +10,7 @@ export const SuperTypeSorter: { [key in AnnotationSuperType]: number } = { 'suggestion-remove-dictionary': 13, 'suggestion-add': 10, 'suggestion-remove': 11, + 'ignored-hint': 45, skipped: 50, redaction: 1, 'manual-redaction': 2, diff --git a/apps/red-ui/src/assets/config/config.json b/apps/red-ui/src/assets/config/config.json index 6befaaf58..c5a78443c 100644 --- a/apps/red-ui/src/assets/config/config.json +++ b/apps/red-ui/src/assets/config/config.json @@ -1,7 +1,7 @@ { "ADMIN_CONTACT_NAME": null, "ADMIN_CONTACT_URL": null, - "API_URL": "https://dev-03.iqser.cloud/redaction-gateway-v1", + "API_URL": "https://dev-08.iqser.cloud/redaction-gateway-v1", "APP_NAME": "RedactManager", "AUTO_READ_TIME": 1.5, "BACKEND_APP_VERSION": "4.4.40", @@ -17,7 +17,7 @@ "MAX_RETRIES_ON_SERVER_ERROR": 3, "OAUTH_CLIENT_ID": "redaction", "OAUTH_IDP_HINT": null, - "OAUTH_URL": "https://dev-03.iqser.cloud/auth/realms/redaction", + "OAUTH_URL": "https://dev-08.iqser.cloud/auth/realms/redaction", "RECENT_PERIOD_IN_HOURS": 24, "SELECTION_MODE": "structural" } diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index d480549e2..3d1ce9f6f 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -473,7 +473,8 @@ "previewColor": "Vorschau", "requestAdd": "Neuen Wörterbucheintrag vorschlagen", "requestRemove": "Anfrage entfernt", - "updatedColor": "Aktualisiert" + "updatedColor": "Aktualisiert", + "ignoredHintColor": "Ignorierter Hinweis" } }, "dev-mode": "DEV", diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 93642ab72..535aba2ac 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -142,6 +142,9 @@ }, "annotation": "Annotation", "annotation-actions": { + "force-hint": { + "label": "Force Hint" + }, "accept-recommendation": { "label": "Accept Recommendation" }, @@ -277,6 +280,7 @@ "annotation-type": { "declined-suggestion": "Declined Suggestion", "hint": "Hint", + "ignored-hint": "Ignored Hint", "manual-redaction": "Manual Redaction", "recommendation": "Recommendation", "redaction": "Redaction", @@ -474,7 +478,8 @@ "previewColor": "Preview", "requestAdd": "Request Add", "requestRemove": "Request Remove", - "updatedColor": "Updated" + "updatedColor": "Updated", + "ignoredHintColor": "Ignored Hint" } }, "dev-mode": "DEV", @@ -1282,7 +1287,8 @@ "header": { "dictionary": "Add to dictionary", "false-positive": "Set false positive", - "force": "Force Redaction", + "force-redaction": "Force Redaction", + "force-hint": "Force Hint", "redaction": "Redaction", "request-dictionary": "Request add to dictionary", "request-false-positive": "Request false positive", diff --git a/bamboo-specs/bamboo-specs.iml b/bamboo-specs/bamboo-specs.iml deleted file mode 100644 index c6a124a72..000000000 --- a/bamboo-specs/bamboo-specs.iml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/libs/red-domain/src/lib/dictionaries/colors.ts b/libs/red-domain/src/lib/dictionaries/colors.ts index 8e7f10800..bb34f3369 100644 --- a/libs/red-domain/src/lib/dictionaries/colors.ts +++ b/libs/red-domain/src/lib/dictionaries/colors.ts @@ -9,4 +9,5 @@ export interface IColors { requestAdd?: string; requestRemove?: string; updatedColor?: string; + ignoredHintColor?: string; } diff --git a/libs/red-domain/src/lib/shared/default-color-type.ts b/libs/red-domain/src/lib/shared/default-color-type.ts index 086eade16..de948c164 100644 --- a/libs/red-domain/src/lib/shared/default-color-type.ts +++ b/libs/red-domain/src/lib/shared/default-color-type.ts @@ -3,6 +3,7 @@ export type DefaultColorType = | 'defaultColor' | 'dictionaryRequestColor' | 'manualRedactionColor' + | 'ignoredHintColor' | 'notRedacted' | 'previewColor' | 'requestAdd' diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index e69de29bb..000000000 diff --git a/package.json b/package.json index 24b80f623..01ed2ef16 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.133.0", + "version": "3.134.0", "private": true, "license": "MIT", "scripts": { @@ -23,36 +23,36 @@ } }, "dependencies": { - "@angular/animations": "13.0.2", - "@angular/cdk": "13.0.2", - "@angular/common": "13.0.2", - "@angular/compiler": "13.0.2", - "@angular/core": "13.0.2", - "@angular/forms": "13.0.2", - "@angular/material": "13.0.2", + "@angular/animations": "13.1.1", + "@angular/cdk": "13.1.1", + "@angular/common": "13.1.1", + "@angular/compiler": "13.1.1", + "@angular/core": "13.1.1", + "@angular/forms": "13.1.1", + "@angular/material": "13.1.1", "@angular/material-moment-adapter": "^13.0.2", - "@angular/platform-browser": "13.0.2", - "@angular/platform-browser-dynamic": "13.0.2", - "@angular/router": "13.0.2", - "@angular/service-worker": "13.0.2", + "@angular/platform-browser": "13.1.1", + "@angular/platform-browser-dynamic": "13.1.1", + "@angular/router": "13.1.1", + "@angular/service-worker": "13.1.1", "@biesbjerg/ngx-translate-extract-marker": "^1.0.0", "@materia-ui/ngx-monaco-editor": "^6.0.0-beta.1", - "@ngx-translate/core": "^13.0.0", - "@ngx-translate/http-loader": "^6.0.0", + "@ngx-translate/core": "^14.0.0", + "@ngx-translate/http-loader": "^7.0.0", "@nrwl/angular": "13.2.3", "@pdftron/webviewer": "8.2.0", "@swimlane/ngx-charts": "^17.0.1", "file-saver": "^2.0.5", "jwt-decode": "^3.1.2", - "keycloak-angular": "^8.4.0", - "keycloak-js": "15.0.2", + "keycloak-angular": "^9.0.0", + "keycloak-js": "^16.0.0", "lodash.orderby": "^4.6.0", "messageformat": "^2.3.0", "moment": "^2.29.1", "monaco-editor": "^0.30.1", "ngx-color-picker": "^11.0.0", "ngx-toastr": "^14.1.3", - "ngx-translate-messageformat-compiler": "^4.10.0", + "ngx-translate-messageformat-compiler": "^4.11.0", "papaparse": "^5.3.1", "rxjs": "~6.6.7", "sass": "^1.39.2", @@ -62,13 +62,13 @@ "zone.js": "0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "13.0.3", + "@angular-devkit/build-angular": "13.1.2", "@angular-eslint/eslint-plugin": "13.0.1", "@angular-eslint/eslint-plugin-template": "13.0.1", "@angular-eslint/template-parser": "13.0.1", - "@angular/cli": "13.0.3", - "@angular/compiler-cli": "13.0.2", - "@angular/language-service": "13.0.2", + "@angular/cli": "13.1.2", + "@angular/compiler-cli": "13.1.1", + "@angular/language-service": "13.1.1", "@nrwl/cli": "13.2.3", "@nrwl/cypress": "13.2.3", "@nrwl/eslint-plugin-nx": "13.2.3", diff --git a/tsconfig.base.json b/tsconfig.base.json index 7266ccaf4..5104abb9e 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -9,10 +9,10 @@ "emitDecoratorMetadata": true, "experimentalDecorators": true, "importHelpers": true, - "target": "es2015", - "module": "esnext", + "target": "es2017", + "module": "es2020", "typeRoots": ["node_modules/@types"], - "lib": ["es2019", "dom"], + "lib": ["es2020", "dom"], "skipLibCheck": true, "skipDefaultLibCheck": true, "baseUrl": ".", diff --git a/yarn.lock b/yarn.lock index 6e6bb5530..0ac04972e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,100 +2,100 @@ # yarn lockfile v1 -"@ampproject/remapping@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.0.1.tgz#1398e73e567c2a7992df6554c15bb94a89b68ba2" - integrity sha512-Ta9bMA3EtUHDaZJXqUoT5cn/EecwOp+SXpKJqxDbDuMbLvEMu6YTyDDuvTWeStODfdmXyfMo7LymQyPkN3BicA== +"@ampproject/remapping@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.0.2.tgz#a7ebbadb71517dd63298420868f27d98fe230a0a" + integrity sha512-SncaVxs+E3EdoA9xJgHfWPxZfowAgeIsd71VpqCKP6KNKm6s7zSqqvUc70UpKUFsrV3dAmy6qxHoIj5NG+3DiA== dependencies: "@jridgewell/resolve-uri" "1.0.0" sourcemap-codec "1.4.8" -"@angular-devkit/architect@0.1300.3": - version "0.1300.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1300.3.tgz#8d74a0f3cc3a0e4ecb0c6723e13fc0fee4790363" - integrity sha512-XY3sjRLk06Q+uAU0BePuIWcK1n3Jr0ksNV0ACNAct+MnI3QFfPPaYA/Tdhp9uWobuZ4lUrL0drc2uppNu0wKmA== +"@angular-devkit/architect@0.1301.2": + version "0.1301.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1301.2.tgz#a646862b7ef388e4912473c14d336dde94cfc517" + integrity sha512-v8e6OF80Ezo5MTHtFcq1AZJH+Wq+hN9pMZ1iLGkODIfKIW9zx6aPhx0JY0b7sZkfNVL8ay8JA8f339eBMnOE9A== dependencies: - "@angular-devkit/core" "13.0.3" + "@angular-devkit/core" "13.1.2" rxjs "6.6.7" -"@angular-devkit/build-angular@13.0.3": - version "13.0.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.0.3.tgz#763db8882ff86612462a2b6bcdf441ba8e4b29a5" - integrity sha512-5KFsknpnq3mc0KwcIDjvmqB3trz5cMt48dB0nrc23zkFI9v4hkpalc/OEg/H3G93K0c9g6dcyxmHkNfsU1+CHw== +"@angular-devkit/build-angular@13.1.2": + version "13.1.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.1.2.tgz#77004c925aced5ff9993c42cc098aaf47e06ec76" + integrity sha512-0FeDqfjWJjgIU42T3136RNYb7Yv2as6Z8rAnfUlX6RjRGZf98+6ZQZ80yREgrLkm7L8G1qWJc1sn3NyVMDwf9A== dependencies: - "@ampproject/remapping" "1.0.1" - "@angular-devkit/architect" "0.1300.3" - "@angular-devkit/build-webpack" "0.1300.3" - "@angular-devkit/core" "13.0.3" - "@babel/core" "7.15.8" - "@babel/generator" "7.15.8" - "@babel/helper-annotate-as-pure" "7.15.4" - "@babel/plugin-proposal-async-generator-functions" "7.15.8" - "@babel/plugin-transform-async-to-generator" "7.14.5" - "@babel/plugin-transform-runtime" "7.15.8" - "@babel/preset-env" "7.15.8" - "@babel/runtime" "7.15.4" - "@babel/template" "7.15.4" - "@discoveryjs/json-ext" "0.5.5" - "@ngtools/webpack" "13.0.3" + "@ampproject/remapping" "1.0.2" + "@angular-devkit/architect" "0.1301.2" + "@angular-devkit/build-webpack" "0.1301.2" + "@angular-devkit/core" "13.1.2" + "@babel/core" "7.16.0" + "@babel/generator" "7.16.0" + "@babel/helper-annotate-as-pure" "7.16.0" + "@babel/plugin-proposal-async-generator-functions" "7.16.4" + "@babel/plugin-transform-async-to-generator" "7.16.0" + "@babel/plugin-transform-runtime" "7.16.4" + "@babel/preset-env" "7.16.4" + "@babel/runtime" "7.16.3" + "@babel/template" "7.16.0" + "@discoveryjs/json-ext" "0.5.6" + "@ngtools/webpack" "13.1.2" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" cacache "15.3.0" - caniuse-lite "^1.0.30001032" circular-dependency-plugin "5.2.2" - copy-webpack-plugin "9.0.1" - core-js "3.19.0" - critters "0.0.14" - css-loader "6.5.0" - esbuild-wasm "0.13.12" + copy-webpack-plugin "10.0.0" + core-js "3.19.3" + critters "0.0.15" + css-loader "6.5.1" + esbuild-wasm "0.14.2" glob "7.2.0" https-proxy-agent "5.0.0" inquirer "8.2.0" + jsonc-parser "3.0.0" karma-source-map-support "1.4.0" less "4.1.2" less-loader "10.2.0" license-webpack-plugin "4.0.0" - loader-utils "3.0.0" - mini-css-extract-plugin "2.4.3" + loader-utils "3.2.0" + mini-css-extract-plugin "2.4.5" minimatch "3.0.4" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" piscina "3.1.0" - postcss "8.3.11" + postcss "8.4.4" postcss-import "14.0.2" - postcss-loader "6.2.0" + postcss-loader "6.2.1" postcss-preset-env "6.7.0" regenerator-runtime "0.13.9" resolve-url-loader "4.0.0" rxjs "6.6.7" - sass "1.43.4" - sass-loader "12.3.0" + sass "1.44.0" + sass-loader "12.4.0" semver "7.3.5" source-map-loader "3.0.0" - source-map-support "0.5.20" + source-map-support "0.5.21" stylus "0.55.0" stylus-loader "6.2.0" - terser "5.9.0" + terser "5.10.0" text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.64.1" - webpack-dev-middleware "5.2.1" - webpack-dev-server "4.4.0" + webpack "5.65.0" + webpack-dev-middleware "5.2.2" + webpack-dev-server "4.6.0" webpack-merge "5.8.0" webpack-subresource-integrity "5.0.0" optionalDependencies: - esbuild "0.13.12" + esbuild "0.14.2" -"@angular-devkit/build-webpack@0.1300.3": - version "0.1300.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1300.3.tgz#c0464b6c0d5d09cdd613ed17173a7f3822da1aa3" - integrity sha512-3DNo8575FFPMqJaVMXxrIduWkrcKm5zYSCvkMOmzHLp+gx+RXQiwnoXfVJpukcE/jwK/4SWyRE8Tw75sfPJ71A== +"@angular-devkit/build-webpack@0.1301.2": + version "0.1301.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1301.2.tgz#e1035aefc696232497d5c3024308b3b0175be109" + integrity sha512-Xk0k0tMcLOy2HI1/YrfWeLUrtKvk7/E7fhG3XoozT/pXBQgiZGoPuCt34HNPDkx3WNSedzvh5DNv8kPlILfjIw== dependencies: - "@angular-devkit/architect" "0.1300.3" + "@angular-devkit/architect" "0.1301.2" rxjs "6.6.7" "@angular-devkit/core@13.0.3": @@ -110,6 +110,18 @@ rxjs "6.6.7" source-map "0.7.3" +"@angular-devkit/core@13.1.2": + version "13.1.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.1.2.tgz#7ff959aaff4206daa141d6139aed06947bf74ad1" + integrity sha512-uXVesIRiCL/Nv+RSV8JM4j8IoZiGCGnqV2FOJ1hvH7DPxIjhjPMdG/B54xMydZpeASW3ofuxeORyAXxFIBm8Zg== + dependencies: + ajv "8.8.2" + ajv-formats "2.1.1" + fast-json-stable-stringify "2.1.0" + magic-string "0.25.7" + rxjs "6.6.7" + source-map "0.7.3" + "@angular-devkit/schematics@13.0.3", "@angular-devkit/schematics@~13.0.0": version "13.0.3" resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-13.0.3.tgz#255895e10c2b025df8ee4ff93428cb2249ae5fc0" @@ -121,6 +133,17 @@ ora "5.4.1" rxjs "6.6.7" +"@angular-devkit/schematics@13.1.2": + version "13.1.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-13.1.2.tgz#4e6d25e1b2a3360f5a7ef434615ed895ce0bb8de" + integrity sha512-ayYbHGU8QpMGx8ZyhKOBupz+Zfv/2H1pNQErahYV3qg7hA9hfjTGmNmDQ4iw0fiT04NajjUxuomlKsCsg7oXDw== + dependencies: + "@angular-devkit/core" "13.1.2" + jsonc-parser "3.0.0" + magic-string "0.25.7" + ora "5.4.1" + rxjs "6.6.7" + "@angular-eslint/bundled-angular-compiler@13.0.1": version "13.0.1" resolved "https://registry.yarnpkg.com/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-13.0.1.tgz#fc0a568f915948fc4eb701abb331dc2f0e3ebc71" @@ -160,34 +183,34 @@ "@angular-eslint/bundled-angular-compiler" "13.0.1" "@typescript-eslint/experimental-utils" "5.3.0" -"@angular/animations@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.0.2.tgz#afa38f32bfa40be94730905e187279e6af69999d" - integrity sha512-ROR70rM6E13pIJzaYf0Su/ALSoBm5fIMjozey636pAq21TxTy5IfhgaBjv/vflC9psbpaySGw2H5XnwejP0gSw== +"@angular/animations@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.1.1.tgz#13adfd4d8c2fbf36b87b1b6714ed5121267ea092" + integrity sha512-6ECC9Dn5gmV4U1cz1pRJ2p5lo0BET2CjG1RbhTaZR8lOsoMsmlV/JdBAp8eyYTiGii3MLS6Q2P/hN/YG2SRGQQ== dependencies: tslib "^2.3.0" -"@angular/cdk@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.0.2.tgz#48b9c00d24c9e764c0a718873acf8c6779241a35" - integrity sha512-m7RHIAXpFpgsrydhWXX1hAXRmQpQ+m9eRCYAoz8QiDCchYyVvTaxkZ8J7XGS8RtJ2EiocXSp4TlwQQrpXe+4lg== +"@angular/cdk@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.1.1.tgz#bfc1050df357a26bda03410d821ae05826dcf88e" + integrity sha512-66PyWg+zKdxTe3b1pc1RduT8hsMs/hJ0aD0JX0pSEWVq7O0OJWJ5f0z+Mk03T9tAERA3NK1GifcKEDq5k7R2Zw== dependencies: tslib "^2.3.0" optionalDependencies: parse5 "^5.0.0" -"@angular/cli@13.0.3": - version "13.0.3" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-13.0.3.tgz#7d357a80dc612421115b1288291ce6278720d0a4" - integrity sha512-LDXDXDbQ1MBHVUstu4aNjFbyg5f9hLP52gEKB8Z6fQlf5CB1X5zD6UPcR4IvoYt03EFxg3DHco+ueJQ20oZUWQ== +"@angular/cli@13.1.2": + version "13.1.2" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-13.1.2.tgz#e83f593dd78020a328f1bc94b88cfab6267fde4e" + integrity sha512-jEsQWzHgODFpppWGb49jfqlN8YYhphsKY3MPHlrjmd05qWgKItUGSgA46hSoDqjaJKVUN9koUnJBFCc9utERYA== dependencies: - "@angular-devkit/architect" "0.1300.3" - "@angular-devkit/core" "13.0.3" - "@angular-devkit/schematics" "13.0.3" - "@schematics/angular" "13.0.3" + "@angular-devkit/architect" "0.1301.2" + "@angular-devkit/core" "13.1.2" + "@angular-devkit/schematics" "13.1.2" + "@schematics/angular" "13.1.2" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" - debug "4.3.2" + debug "4.3.3" ini "2.0.0" inquirer "8.2.0" jsonc-parser "3.0.0" @@ -201,17 +224,17 @@ symbol-observable "4.0.0" uuid "8.3.2" -"@angular/common@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.0.2.tgz#794cea4e1e626012e69ca5fc6ddb78d613b8004f" - integrity sha512-UxWzNAU/o9pP02AYB5MrnIlShirfO631NolmvP0jTSEmym1nAeDOwZIYlkgfcJMHFXFc7DBnE2XOGaTZ8if3kw== +"@angular/common@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.1.1.tgz#e8b659d6376d6764cd2516a4c6d604aafe24cb88" + integrity sha512-FQwRZ1XgTH2PbPjBmq2jAZzETVNX9yWQt21MuNGtokC7V4eS0NYlFIDbhy3UPWCzRgd3+P7P4+HdX15VxCjf9g== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.0.2.tgz#36757ecb6c7ea63a7a053791737ff39e11b4e45d" - integrity sha512-KVDntMBoPoAPdpyO3LxR2U3BO3ja5fY5Im5rzynjBCC3dnwAPPKoIlYZlFY/5ov6yVoVleeb/BOovYxHuxZBsA== +"@angular/compiler-cli@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.1.1.tgz#b01114eb6256085f086e95bdfe832f5c5f447730" + integrity sha512-ycdXN2urBZepbXn2xx1oxF1i6g0Dq/Rb8ySQeELdL9qr6hiZF9fkvIwd91d8uhFG2PvoM4O8/U/3x4yA2bXzew== dependencies: "@babel/core" "^7.8.6" canonical-path "1.0.0" @@ -225,71 +248,78 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@13.0.2", "@angular/compiler@^13.0.2": +"@angular/compiler@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.1.1.tgz#56d1889fbe837ebfe595287cc5aa188cea9be615" + integrity sha512-WS+BB4h2LOBAGQ+P+RcKDw43Z7yAB5m1RY2/MAI+qI339V97WlWEQXxSMvBhCuzJnww1SSZfHMADaB54Jdjx2g== + dependencies: + tslib "^2.3.0" + +"@angular/compiler@^13.0.2": version "13.0.2" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.0.2.tgz#5bc1bfc1931f1ff2813f8fff8b8ceaa57b47d717" integrity sha512-EvIFT8y5VNICrnPgiamv/z9hfQ7KjLCM52g4ssXGCeGPVj58OEfslEc3jO4BCJG7xuLm7dCuSRV0pBlJNTSYFg== dependencies: tslib "^2.3.0" -"@angular/core@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.0.2.tgz#786bb1242d69e8b7a2cbae224448c27e2f1fc064" - integrity sha512-6Jbct50lncMqzwLILzfmwQRK8eOEMv0quCL3pQptEpYPSlPqKz6QRxD76BykSUOs7XYJ/KdZmu3uGcT2Q/DUVg== +"@angular/core@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.1.1.tgz#bc01b1d7e1d21749a595b0ae8cab5b8f51fb7dbc" + integrity sha512-oLGKgzUbHqte/q7EokOJWUiXAtBjwuZM6c9Or2a7WDJNeImQilxk5qy91RPSbP8FhOBysebqAayrfiCYexlShg== dependencies: tslib "^2.3.0" -"@angular/forms@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.0.2.tgz#c4779636639b9a3c7166b223f3d5c39149b7c72d" - integrity sha512-JGgEOTH/OYr7/RlqJUPSzKQF/a55UM5PD6CgpUjAXKrCV18+zhofO05g+ibIZH3OfONntthcbKEXxMTX2EEQqg== +"@angular/forms@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.1.1.tgz#d298ea9324929521c5fb7d4f8c0892bdfbe5e4b6" + integrity sha512-wtYzRHPv4mf1Vsi4GEal5qcI2wjqUW+lu8Fsd2Aoe8NqkwtY3fq+iWEP/4pnvmH0RlC+3QbNNV/01D5UKolvgg== dependencies: tslib "^2.3.0" -"@angular/language-service@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-13.0.2.tgz#edc2ff3f7fdaa679c69d98728924539480119694" - integrity sha512-Q0pvN1cwrUz1qjTis0jsuaZ/NmByKvlLaecDfluOsf4y8AoL509A1Ih5bsN+RNR74EdYj9AmBpBx37Mf7SygWQ== +"@angular/language-service@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-13.1.1.tgz#1e0fcf07a8cf1600ac5dc45837b05b83465fd1a6" + integrity sha512-ilMwR7tv/nANTj5nkEY2/F2VtERi2BFJJEBlfzWrD9yt73pPhPg84o4GPeax07jydBwN0tYOK8jlioCm3MckQg== "@angular/material-moment-adapter@^13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/material-moment-adapter/-/material-moment-adapter-13.0.2.tgz#8992e759e0e5aa1d89171ff814ef843111726320" - integrity sha512-cpwxJMwJ+WtF59cD2vSkPor1iiKmmciOaichDhqAx5ZfVLcyYX27+lz9wLrTKinpkvzIx7gRMViu/DYrrwbBMA== + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/material-moment-adapter/-/material-moment-adapter-13.1.1.tgz#97647eccc13e9409e0fd89ac25dcba22bafa0f0a" + integrity sha512-Q9vzU0ZIdVaEHy+IuKprN6WVumud9xu6FHO5qFAGKvHmxUfHlAyVbPMNCv6vW6qguPgaLY66TQgy+SUG5jASKg== dependencies: tslib "^2.3.0" -"@angular/material@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-13.0.2.tgz#bbab63f69c9227110b7e22d694fe984528b3d5c2" - integrity sha512-DbbkQFpZ73oxOuR9LkkpeUPWP31DNIG3Z94sOrtdBhX3HfbLLOCaAJAIwMl8+bEuzDgtWBmx3taUR8l4WKCO8g== +"@angular/material@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-13.1.1.tgz#4d2d5a1ea6527b282beb26de6491eb3a221fab2a" + integrity sha512-kKWZBhnzuBYAVO1nrkqEaVTCJ2onEWs+tzAJDIlmbo9USiQyVCnFXx+rs86m4kRUxeAAZ9mcW5BGJr6oy5ClCA== dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.0.2.tgz#596dfbf5041210d2ecb959d2f298e86940a2adec" - integrity sha512-2wZX2oop3A1kWFcbRYqe8AxBQjT35DXf1qlGyFQoMn7D0vOAprg6X1hUK2XBItRrvwRWh3hSVhzkustTIl+r6g== +"@angular/platform-browser-dynamic@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.1.tgz#452c9b1a61998400674f6ee03bc46326ae1295a4" + integrity sha512-ujHJMhJk93hjLx/SQ67y7xiGh2UDL+toVi3OlorWvnYGgPR26ufyL+J73BA+RAKHSP2WPiXU+/87vSz8r+BEgA== dependencies: tslib "^2.3.0" -"@angular/platform-browser@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.0.2.tgz#b4fd97e67321e15a4b6d3f0dcb10b11e8f024cb5" - integrity sha512-fkLGr9Vj2cvFzXefyhNaqwXX90+WbpYj5cCii7S1HcbJ9qSM5ZenLp1t8mGRhmWI7odY4BrFskWOChlWFrLEkA== +"@angular/platform-browser@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.1.1.tgz#d9687beec9c9af63097b1bcb91920bda6d1ea0b2" + integrity sha512-jk9MGwnaVc98wmw5dRBicduI/a8dHtUzaAi1dV003fUWldS9a5FBuj/ym7DJubaD5Njl8l79SFbjrP9aAsqM5A== dependencies: tslib "^2.3.0" -"@angular/router@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-13.0.2.tgz#08f80a55d594fdc1c3e75f8fffacff6d4121a5ce" - integrity sha512-AfmT845dcYPvNbUdV2ALlf++szZP3ie2d0eu7JyGWe3anV1fbDcg76RhjxFK8yVUxryrCQtEnot1VEEVlhGkyw== +"@angular/router@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-13.1.1.tgz#656919d3c186f46310a0825d62bbc712c20890d7" + integrity sha512-rlz5BBgNX+G2vVu2Gb5avx3LL08i7R/xZO7zPwh0HhXz/Vp8XFlWwaqAGb6Hgat772K2uCxF1/JBLQCUBY2MNQ== dependencies: tslib "^2.3.0" -"@angular/service-worker@13.0.2": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-13.0.2.tgz#599812f7bb47c2716e1d4d721f3a15035ef077d8" - integrity sha512-cH5adbvwI+cr6qKVdvNfQ5B0I//3NJwXkP04ifllPUIw7Te1pUfVb8eIN8UI/80aqG0uu/uIes7QoovSIayqOA== +"@angular/service-worker@13.1.1": + version "13.1.1" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-13.1.1.tgz#4b28e8898d32178107db6a40b453cc9fc6523c2b" + integrity sha512-R/Qkl4zC6OmSUN+pRrQaWAwZnW09wKaAPOAMfuLCUZjjBzRi2ClP8UdjhCe0Aq3Vmq9TYoagDM0JHNFevCFoMQ== dependencies: tslib "^2.3.0" @@ -305,40 +335,26 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.15.8", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.8.3": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.8.3": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== dependencies: "@babel/highlight" "^7.16.0" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.15.0", "@babel/compat-data@^7.16.0": +"@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== -"@babel/core@7.15.8": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.8.tgz#195b9f2bffe995d2c6c159e72fe525b4114e8c10" - integrity sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og== - dependencies: - "@babel/code-frame" "^7.15.8" - "@babel/generator" "^7.15.8" - "@babel/helper-compilation-targets" "^7.15.4" - "@babel/helper-module-transforms" "^7.15.8" - "@babel/helpers" "^7.15.4" - "@babel/parser" "^7.15.8" - "@babel/template" "^7.15.4" - "@babel/traverse" "^7.15.4" - "@babel/types" "^7.15.6" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.1.2" - semver "^6.3.0" - source-map "^0.5.0" - -"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@^7.8.6": +"@babel/core@7.16.0", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@^7.8.6": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== @@ -359,16 +375,7 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@7.15.8": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.8.tgz#fa56be6b596952ceb231048cf84ee499a19c0cd1" - integrity sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g== - dependencies: - "@babel/types" "^7.15.6" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/generator@^7.15.8", "@babel/generator@^7.16.0", "@babel/generator@^7.7.2": +"@babel/generator@7.16.0", "@babel/generator@^7.16.0", "@babel/generator@^7.7.2": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== @@ -377,29 +384,47 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" - integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== +"@babel/generator@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.7.tgz#b42bf46a3079fa65e1544135f32e7958f048adbb" + integrity sha512-/ST3Sg8MLGY5HVYmrjOgL60ENux/HfO/CsUh7y4MalThufhE/Ff/6EibFDHi4jiDCaWfJKoqbE6oTh21c5hrRg== dependencies: - "@babel/types" "^7.15.4" + "@babel/types" "^7.16.7" + jsesc "^2.5.1" + source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.16.0": +"@babel/generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" + integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== + dependencies: + "@babel/types" "^7.16.8" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/helper-annotate-as-pure@7.16.0", "@babel/helper-annotate-as-pure@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== dependencies: "@babel/types" "^7.16.0" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" - integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== +"@babel/helper-annotate-as-pure@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" + integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== dependencies: - "@babel/helper-explode-assignable-expression" "^7.16.0" - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.15.4", "@babel/helper-compilation-targets@^7.16.0": +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" + integrity sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== @@ -409,17 +434,28 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" - integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== +"@babel/helper-compilation-targets@^7.16.3", "@babel/helper-compilation-targets@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" + integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-member-expression-to-functions" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/compat-data" "^7.16.4" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + +"@babel/helper-create-class-features-plugin@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" + integrity sha512-kIFozAvVfK05DM4EVQYKK+zteWvY85BFdGBRQBytRyY3y+6PX0DkDOn/CZ3lEuczCfrCxEzwt0YtP/87YPTWSw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" "@babel/helper-create-regexp-features-plugin@^7.16.0": version "7.16.0" @@ -429,10 +465,18 @@ "@babel/helper-annotate-as-pure" "^7.16.0" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.2.2", "@babel/helper-define-polyfill-provider@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz#8867aed79d3ea6cade40f801efb7ac5c66916b10" - integrity sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ== +"@babel/helper-create-regexp-features-plugin@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz#0cb82b9bac358eb73bfbd73985a776bfa6b14d48" + integrity sha512-fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + regexpu-core "^4.7.1" + +"@babel/helper-define-polyfill-provider@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" + integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" @@ -443,12 +487,19 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-explode-assignable-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" - integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== dependencies: - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.7" + +"@babel/helper-explode-assignable-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz#12a6d8522fdd834f194e868af6354e8650242b7a" + integrity sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ== + dependencies: + "@babel/types" "^7.16.7" "@babel/helper-function-name@^7.16.0": version "7.16.0" @@ -459,6 +510,15 @@ "@babel/template" "^7.16.0" "@babel/types" "^7.16.0" +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== + dependencies: + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" + "@babel/helper-get-function-arity@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" @@ -466,6 +526,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-hoist-variables@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" @@ -473,6 +540,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-member-expression-to-functions@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" @@ -480,14 +554,28 @@ dependencies: "@babel/types" "^7.16.0" -"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4", "@babel/helper-module-imports@^7.16.0": +"@babel/helper-member-expression-to-functions@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.7.tgz#42b9ca4b2b200123c3b7e726b0ae5153924905b0" + integrity sha512-VtJ/65tYiU/6AbMTDwyoXGPKHgTsfRarivm+YbB5uAzKUyuPjgZSgAFeG87FCigc7KNHu2Pegh1XIT3lXjvz3Q== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== dependencies: "@babel/types" "^7.16.0" -"@babel/helper-module-transforms@^7.15.8", "@babel/helper-module-transforms@^7.16.0": +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + +"@babel/helper-module-transforms@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== @@ -501,6 +589,20 @@ "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" +"@babel/helper-module-transforms@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz#7665faeb721a01ca5327ddc6bba15a5cb34b6a41" + integrity sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + "@babel/helper-optimise-call-expression@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" @@ -508,19 +610,31 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-optimise-call-expression@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz#a34e3560605abbd31a18546bd2aad3e6d9a174f2" + integrity sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== -"@babel/helper-remap-async-to-generator@^7.14.5", "@babel/helper-remap-async-to-generator@^7.15.4", "@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" - integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== +"@babel/helper-plugin-utils@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" + integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== + +"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4", "@babel/helper-remap-async-to-generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" + integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-wrap-function" "^7.16.0" - "@babel/types" "^7.16.0" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-wrap-function" "^7.16.8" + "@babel/types" "^7.16.8" "@babel/helper-replace-supers@^7.16.0": version "7.16.0" @@ -532,6 +646,17 @@ "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" +"@babel/helper-replace-supers@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz#e9f5f5f32ac90429c1a4bdec0f231ef0c2838ab1" + integrity sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/traverse" "^7.16.7" + "@babel/types" "^7.16.7" + "@babel/helper-simple-access@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" @@ -539,6 +664,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-simple-access@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" + integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" @@ -553,27 +685,44 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-validator-identifier@^7.15.7": version "7.15.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== -"@babel/helper-wrap-function@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" - integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== - dependencies: - "@babel/helper-function-name" "^7.16.0" - "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" - "@babel/types" "^7.16.0" +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== -"@babel/helpers@^7.15.4", "@babel/helpers@^7.16.0": +"@babel/helper-wrap-function@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz#58afda087c4cd235de92f7ceedebca2c41274200" + integrity sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw== + dependencies: + "@babel/helper-function-name" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.8" + "@babel/types" "^7.16.8" + +"@babel/helpers@^7.16.0": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== @@ -591,30 +740,47 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.15.4", "@babel/parser@^7.15.8", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.2": +"@babel/highlight@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.7.tgz#81a01d7d675046f0d96f82450d9d9578bdfd6b0b" + integrity sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.2": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" - integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== +"@babel/parser@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.7.tgz#d372dda9c89fcec340a82630a9f533f2fe15877e" + integrity sha512-sR4eaSrnM7BV7QPzGfEX5paG/6wrZM3I0HDzfIAK06ESvo9oy3xBuVBxE3MbQaKNhvg8g/ixjMWo2CGpzpHsDA== + +"@babel/parser@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" + integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== + +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" + integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" + integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== + dependencies: + "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" -"@babel/plugin-proposal-async-generator-functions@7.15.8": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz#a3100f785fab4357987c4223ab1b02b599048403" - integrity sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.15.4" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-async-generator-functions@^7.15.8": +"@babel/plugin-proposal-async-generator-functions@7.16.4": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== @@ -623,118 +789,135 @@ "@babel/helper-remap-async-to-generator" "^7.16.4" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" - integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== +"@babel/plugin-proposal-async-generator-functions@^7.16.4": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" + integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" + "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-static-block@^7.15.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" - integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== +"@babel/plugin-proposal-class-properties@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" + integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-class-static-block@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" + integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" - integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== +"@babel/plugin-proposal-dynamic-import@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" + integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" - integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== +"@babel/plugin-proposal-export-namespace-from@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" + integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" - integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== +"@babel/plugin-proposal-json-strings@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" + integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" - integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== +"@babel/plugin-proposal-logical-assignment-operators@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" + integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" - integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" + integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" - integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== +"@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" + integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.15.6": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" - integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== +"@babel/plugin-proposal-object-rest-spread@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" + integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/compat-data" "^7.16.4" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.7" -"@babel/plugin-proposal-optional-catch-binding@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" - integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== +"@babel/plugin-proposal-optional-catch-binding@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" + integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.14.5", "@babel/plugin-proposal-optional-chaining@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" - integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== +"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" + integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" - integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== +"@babel/plugin-proposal-private-methods@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" + integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-private-property-in-object@^7.15.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" - integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== +"@babel/plugin-proposal-private-property-in-object@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" + integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-create-class-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.14.5", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": +"@babel/plugin-proposal-unicode-property-regex@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" + integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-proposal-unicode-property-regex@^7.4.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== @@ -861,23 +1044,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" - integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== +"@babel/plugin-transform-arrow-functions@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" + integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-async-to-generator@7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" - integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== - dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" - -"@babel/plugin-transform-async-to-generator@^7.14.5": +"@babel/plugin-transform-async-to-generator@7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== @@ -886,48 +1060,66 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-remap-async-to-generator" "^7.16.0" -"@babel/plugin-transform-block-scoped-functions@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" - integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== +"@babel/plugin-transform-async-to-generator@^7.16.0": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" + integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-remap-async-to-generator" "^7.16.8" -"@babel/plugin-transform-block-scoping@^7.15.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" - integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== +"@babel/plugin-transform-block-scoped-functions@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" + integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-classes@^7.15.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" - integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== +"@babel/plugin-transform-block-scoping@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" + integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.16.0" - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-optimise-call-expression" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.16.0" - "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-classes@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" + integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" - integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== +"@babel/plugin-transform-computed-properties@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" + integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-destructuring@^7.14.7": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" - integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== +"@babel/plugin-transform-destructuring@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" + integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-dotall-regex@^7.14.5", "@babel/plugin-transform-dotall-regex@^7.4.4": +"@babel/plugin-transform-dotall-regex@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" + integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + +"@babel/plugin-transform-dotall-regex@^7.4.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== @@ -935,226 +1127,228 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-duplicate-keys@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" - integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== +"@babel/plugin-transform-duplicate-keys@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" + integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-exponentiation-operator@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" - integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== +"@babel/plugin-transform-exponentiation-operator@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" + integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-for-of@^7.15.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" - integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== +"@babel/plugin-transform-for-of@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" + integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-function-name@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" - integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== +"@babel/plugin-transform-function-name@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" + integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== dependencies: - "@babel/helper-function-name" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-literals@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" - integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== +"@babel/plugin-transform-literals@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" + integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-member-expression-literals@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" - integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== +"@babel/plugin-transform-member-expression-literals@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" + integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-modules-amd@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" - integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== +"@babel/plugin-transform-modules-amd@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" + integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.15.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" - integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== +"@babel/plugin-transform-modules-commonjs@^7.16.0": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" + integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.15.4": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" - integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== +"@babel/plugin-transform-modules-systemjs@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" + integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== dependencies: - "@babel/helper-hoist-variables" "^7.16.0" - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-identifier" "^7.15.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" - integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== +"@babel/plugin-transform-modules-umd@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" + integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== dependencies: - "@babel/helper-module-transforms" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.14.9": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" - integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" + integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" + "@babel/helper-create-regexp-features-plugin" "^7.16.7" -"@babel/plugin-transform-new-target@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" - integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== +"@babel/plugin-transform-new-target@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" + integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-object-super@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" - integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== +"@babel/plugin-transform-object-super@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" + integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.15.4", "@babel/plugin-transform-parameters@^7.16.0": - version "7.16.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" - integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== +"@babel/plugin-transform-parameters@^7.16.3", "@babel/plugin-transform-parameters@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" + integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-property-literals@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" - integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== +"@babel/plugin-transform-property-literals@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" + integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" - integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== +"@babel/plugin-transform-regenerator@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" + integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" - integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== +"@babel/plugin-transform-reserved-words@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" + integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-runtime@7.15.8": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.8.tgz#9d15b1e94e1c7f6344f65a8d573597d93c6cd886" - integrity sha512-+6zsde91jMzzvkzuEA3k63zCw+tm/GvuuabkpisgbDMTPQsIMHllE3XczJFFtEHLjjhKQFZmGQVRdELetlWpVw== +"@babel/plugin-transform-runtime@7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8" + integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A== dependencies: - "@babel/helper-module-imports" "^7.15.4" + "@babel/helper-module-imports" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.5" - babel-plugin-polyfill-regenerator "^0.2.2" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" - integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== +"@babel/plugin-transform-shorthand-properties@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" + integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-spread@^7.15.8": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" - integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== +"@babel/plugin-transform-spread@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" + integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" - integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== +"@babel/plugin-transform-sticky-regex@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" + integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" - integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== +"@babel/plugin-transform-template-literals@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" + integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-typeof-symbol@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" - integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== +"@babel/plugin-transform-typeof-symbol@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" + integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-escapes@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" - integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== +"@babel/plugin-transform-unicode-escapes@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" + integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== dependencies: - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-regex@^7.14.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" - integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== +"@babel/plugin-transform-unicode-regex@^7.16.0": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" + integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.15.8": - version "7.15.8" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.15.8.tgz#f527ce5bcb121cd199f6b502bf23e420b3ff8dba" - integrity sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA== +"@babel/preset-env@7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" + integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== dependencies: - "@babel/compat-data" "^7.15.0" - "@babel/helper-compilation-targets" "^7.15.4" + "@babel/compat-data" "^7.16.4" + "@babel/helper-compilation-targets" "^7.16.3" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.15.4" - "@babel/plugin-proposal-async-generator-functions" "^7.15.8" - "@babel/plugin-proposal-class-properties" "^7.14.5" - "@babel/plugin-proposal-class-static-block" "^7.15.4" - "@babel/plugin-proposal-dynamic-import" "^7.14.5" - "@babel/plugin-proposal-export-namespace-from" "^7.14.5" - "@babel/plugin-proposal-json-strings" "^7.14.5" - "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" - "@babel/plugin-proposal-numeric-separator" "^7.14.5" - "@babel/plugin-proposal-object-rest-spread" "^7.15.6" - "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-private-methods" "^7.14.5" - "@babel/plugin-proposal-private-property-in-object" "^7.15.4" - "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-async-generator-functions" "^7.16.4" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-class-static-block" "^7.16.0" + "@babel/plugin-proposal-dynamic-import" "^7.16.0" + "@babel/plugin-proposal-export-namespace-from" "^7.16.0" + "@babel/plugin-proposal-json-strings" "^7.16.0" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-object-rest-spread" "^7.16.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-proposal-private-property-in-object" "^7.16.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -1169,47 +1363,47 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.14.5" - "@babel/plugin-transform-async-to-generator" "^7.14.5" - "@babel/plugin-transform-block-scoped-functions" "^7.14.5" - "@babel/plugin-transform-block-scoping" "^7.15.3" - "@babel/plugin-transform-classes" "^7.15.4" - "@babel/plugin-transform-computed-properties" "^7.14.5" - "@babel/plugin-transform-destructuring" "^7.14.7" - "@babel/plugin-transform-dotall-regex" "^7.14.5" - "@babel/plugin-transform-duplicate-keys" "^7.14.5" - "@babel/plugin-transform-exponentiation-operator" "^7.14.5" - "@babel/plugin-transform-for-of" "^7.15.4" - "@babel/plugin-transform-function-name" "^7.14.5" - "@babel/plugin-transform-literals" "^7.14.5" - "@babel/plugin-transform-member-expression-literals" "^7.14.5" - "@babel/plugin-transform-modules-amd" "^7.14.5" - "@babel/plugin-transform-modules-commonjs" "^7.15.4" - "@babel/plugin-transform-modules-systemjs" "^7.15.4" - "@babel/plugin-transform-modules-umd" "^7.14.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.9" - "@babel/plugin-transform-new-target" "^7.14.5" - "@babel/plugin-transform-object-super" "^7.14.5" - "@babel/plugin-transform-parameters" "^7.15.4" - "@babel/plugin-transform-property-literals" "^7.14.5" - "@babel/plugin-transform-regenerator" "^7.14.5" - "@babel/plugin-transform-reserved-words" "^7.14.5" - "@babel/plugin-transform-shorthand-properties" "^7.14.5" - "@babel/plugin-transform-spread" "^7.15.8" - "@babel/plugin-transform-sticky-regex" "^7.14.5" - "@babel/plugin-transform-template-literals" "^7.14.5" - "@babel/plugin-transform-typeof-symbol" "^7.14.5" - "@babel/plugin-transform-unicode-escapes" "^7.14.5" - "@babel/plugin-transform-unicode-regex" "^7.14.5" - "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.15.6" - babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.5" - babel-plugin-polyfill-regenerator "^0.2.2" - core-js-compat "^3.16.0" + "@babel/plugin-transform-arrow-functions" "^7.16.0" + "@babel/plugin-transform-async-to-generator" "^7.16.0" + "@babel/plugin-transform-block-scoped-functions" "^7.16.0" + "@babel/plugin-transform-block-scoping" "^7.16.0" + "@babel/plugin-transform-classes" "^7.16.0" + "@babel/plugin-transform-computed-properties" "^7.16.0" + "@babel/plugin-transform-destructuring" "^7.16.0" + "@babel/plugin-transform-dotall-regex" "^7.16.0" + "@babel/plugin-transform-duplicate-keys" "^7.16.0" + "@babel/plugin-transform-exponentiation-operator" "^7.16.0" + "@babel/plugin-transform-for-of" "^7.16.0" + "@babel/plugin-transform-function-name" "^7.16.0" + "@babel/plugin-transform-literals" "^7.16.0" + "@babel/plugin-transform-member-expression-literals" "^7.16.0" + "@babel/plugin-transform-modules-amd" "^7.16.0" + "@babel/plugin-transform-modules-commonjs" "^7.16.0" + "@babel/plugin-transform-modules-systemjs" "^7.16.0" + "@babel/plugin-transform-modules-umd" "^7.16.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" + "@babel/plugin-transform-new-target" "^7.16.0" + "@babel/plugin-transform-object-super" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.3" + "@babel/plugin-transform-property-literals" "^7.16.0" + "@babel/plugin-transform-regenerator" "^7.16.0" + "@babel/plugin-transform-reserved-words" "^7.16.0" + "@babel/plugin-transform-shorthand-properties" "^7.16.0" + "@babel/plugin-transform-spread" "^7.16.0" + "@babel/plugin-transform-sticky-regex" "^7.16.0" + "@babel/plugin-transform-template-literals" "^7.16.0" + "@babel/plugin-transform-typeof-symbol" "^7.16.0" + "@babel/plugin-transform-unicode-escapes" "^7.16.0" + "@babel/plugin-transform-unicode-regex" "^7.16.0" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.0" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.19.1" semver "^6.3.0" -"@babel/preset-modules@^0.1.4": +"@babel/preset-modules@^0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== @@ -1228,30 +1422,14 @@ core-js-pure "^3.19.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" - integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.8.4": +"@babel/runtime@7.16.3", "@babel/runtime@^7.10.2", "@babel/runtime@^7.8.4": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.15.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" - integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.15.4" - "@babel/types" "^7.15.4" - -"@babel/template@^7.15.4", "@babel/template@^7.16.0", "@babel/template@^7.3.3": +"@babel/template@7.16.0", "@babel/template@^7.16.0", "@babel/template@^7.3.3": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== @@ -1260,7 +1438,16 @@ "@babel/parser" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.7.2": +"@babel/template@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.7.2": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== @@ -1275,7 +1462,39 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": +"@babel/traverse@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.7.tgz#dac01236a72c2560073658dd1a285fe4e0865d76" + integrity sha512-8KWJPIb8c2VvY8AJrydh6+fVRo2ODx1wYBU2398xJVq0JomuLBZmVQzLPBblJgHIGYG4znCpUZUZ0Pt2vdmVYQ== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/traverse@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.8.tgz#bab2f2b09a5fe8a8d9cad22cbfe3ba1d126fef9c" + integrity sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.16.8" + "@babel/types" "^7.16.8" + debug "^4.1.0" + globals "^11.1.0" + +"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== @@ -1283,6 +1502,22 @@ "@babel/helper-validator-identifier" "^7.15.7" to-fast-properties "^2.0.0" +"@babel/types@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.7.tgz#4ed19d51f840ed4bd5645be6ce40775fecf03159" + integrity sha512-E8HuV7FO9qLpx6OtoGfUQ2cjIYnbFwvZWYBS+87EwtdMvmUPJSwykpovFB+8insbpF0uJcpr8KMUi64XZntZcg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + +"@babel/types@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" + integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + "@bartholomej/ngx-translate-extract@^8.0.1": version "8.0.1" resolved "https://registry.yarnpkg.com/@bartholomej/ngx-translate-extract/-/ngx-translate-extract-8.0.1.tgz#4d9cc6ffbc2ce7f34d88cd15b28da2f382f58f43" @@ -1386,10 +1621,10 @@ debug "^3.1.0" lodash.once "^4.1.1" -"@discoveryjs/json-ext@0.5.5": - version "0.5.5" - resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz#9283c9ce5b289a3c4f61c12757469e59377f81f3" - integrity sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA== +"@discoveryjs/json-ext@0.5.6": + version "0.5.6" + resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" + integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== "@eslint/eslintrc@^0.4.3": version "0.4.3" @@ -1662,24 +1897,24 @@ dependencies: tslib "^2.0.0" -"@ngtools/webpack@13.0.3": - version "13.0.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.0.3.tgz#ec31dfa49dae79aeee68cc970fea6f5fd9ebc76d" - integrity sha512-sVi1Xk8pyy6Y6JODySucYfvuxb5k3IIX/oIWy8QxlFVzpeB2UMqEOevrgvtmiEbQNB1W+aYSTph6oeV+PRX5YA== +"@ngtools/webpack@13.1.2": + version "13.1.2" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.1.2.tgz#58d8bfe8b3d4ee3b5aa1ceb3f7911b77410c6c6b" + integrity sha512-F/KraxCCUjSn5nWVEQSuyVfnoE9j/bTcpIb+6e38/Hq/saPfsUoNiRjWlTAxCD44vHbMuVkJ/ZRZT6hdICAslw== -"@ngx-translate/core@^13.0.0": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@ngx-translate/core/-/core-13.0.0.tgz#60547cb8a0845a2a0abfde6b0bf5ec6516a63fd6" - integrity sha512-+tzEp8wlqEnw0Gc7jtVRAJ6RteUjXw6JJR4O65KlnxOmJrCGPI0xjV/lKRnQeU0w4i96PQs/jtpL921Wrb7PWg== +"@ngx-translate/core@^14.0.0": + version "14.0.0" + resolved "https://registry.yarnpkg.com/@ngx-translate/core/-/core-14.0.0.tgz#af421d0e1a28376843f0fed375cd2fae7630a5ff" + integrity sha512-UevdwNCXMRCdJv//0kC8h2eSfmi02r29xeE8E9gJ1Al4D4jEJ7eiLPdjslTMc21oJNGguqqWeEVjf64SFtvw2w== dependencies: - tslib "^2.0.0" + tslib "^2.3.0" -"@ngx-translate/http-loader@^6.0.0": - version "6.0.0" - resolved "https://registry.yarnpkg.com/@ngx-translate/http-loader/-/http-loader-6.0.0.tgz#041393ab5753f50ecf64262d624703046b8c7570" - integrity sha512-LCekn6qCbeXWlhESCxU1rAbZz33WzDG0lI7Ig0pYC1o5YxJWrkU9y3Y4tNi+jakQ7R6YhTR2D3ox6APxDtA0wA== +"@ngx-translate/http-loader@^7.0.0": + version "7.0.0" + resolved "https://registry.yarnpkg.com/@ngx-translate/http-loader/-/http-loader-7.0.0.tgz#905f38d8d13342621516635bf480ff9a4f73e9fc" + integrity sha512-j+NpXXlcGVdyUNyY/qsJrqqeAdJdizCd+GKh3usXExSqy1aE9866jlAIL+xrfDU4w+LiMoma5pgE4emvFebZmA== dependencies: - tslib "^2.0.0" + tslib "^2.3.0" "@nodelib/fs.scandir@2.1.5": version "2.1.5" @@ -1985,7 +2220,16 @@ dependencies: any-observable "^0.3.0" -"@schematics/angular@13.0.3", "@schematics/angular@~13.0.0": +"@schematics/angular@13.1.2": + version "13.1.2" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-13.1.2.tgz#bd3fd2fd1bb225bffb24fedad1409b64b1d08323" + integrity sha512-OMbuOsnzUFjIGeo99NYwIPwjX6udJAiT5Sj5K7QZZYj66HuAqNBMV57J8GPA56edx5mOHZZApWMjXLlOxRXbJA== + dependencies: + "@angular-devkit/core" "13.1.2" + "@angular-devkit/schematics" "13.1.2" + jsonc-parser "3.0.0" + +"@schematics/angular@~13.0.0": version "13.0.3" resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-13.0.3.tgz#08c5511b0e72a9934ac84545d3e49e05bd0dbf6c" integrity sha512-qH6mnmGaDCuG1FM3vLdvSFDG394TeZO0ZvRDrw3iCYlX5Nkbz0Kvt0MPtWNZmlohwFhGlbXKVQiR++1dxa6eEA== @@ -2773,6 +3017,16 @@ ajv@8.6.3: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@8.8.2, ajv@^8.0.0, ajv@^8.0.1, ajv@^8.8.0: + version "8.8.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb" + integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -2783,16 +3037,6 @@ ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3, ajv@^6.12.4, ajv json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.0, ajv@^8.0.1, ajv@^8.8.0: - version "8.8.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.2.tgz#01b4fef2007a28bf75f0b7fc009f62679de4abbb" - integrity sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ansi-align@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" @@ -3000,6 +3244,11 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +array-union@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-3.0.1.tgz#da52630d327f8b88cfbfb57728e2af5cd9b6b975" + integrity sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw== + array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -3203,29 +3452,29 @@ babel-plugin-jest-hoist@^27.2.0: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-plugin-polyfill-corejs2@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f" - integrity sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA== +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" + integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== dependencies: "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.4" + "@babel/helper-define-polyfill-provider" "^0.3.0" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz#2779846a16a1652244ae268b1e906ada107faf92" - integrity sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw== +babel-plugin-polyfill-corejs3@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" + integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.16.2" + "@babel/helper-define-polyfill-provider" "^0.3.0" + core-js-compat "^3.18.0" -babel-plugin-polyfill-regenerator@^0.2.2: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz#2e9808f5027c4336c994992b48a4262580cb8d6d" - integrity sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g== +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" + integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.4" + "@babel/helper-define-polyfill-provider" "^0.3.0" babel-preset-current-node-syntax@^1.0.0: version "1.0.1" @@ -3298,11 +3547,6 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -big.js@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.1.1.tgz#63b35b19dc9775c94991ee5db7694880655d5537" - integrity sha512-1vObw81a8ylZO5ePrtMay0n018TcftpTA5HFKDaSuiUDBo8biRBtjIobw60OpwuvrGk+FsxKamqN4cnmj/eXdg== - binary-extensions@^1.0.0: version "1.13.1" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" @@ -3506,7 +3750,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.6.4, browserslist@^4.9.1: +browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.6.4, browserslist@^4.9.1: version "4.18.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== @@ -3517,6 +3761,17 @@ browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^ node-releases "^2.0.1" picocolors "^1.0.0" +browserslist@^4.19.1: + version "4.19.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== + dependencies: + caniuse-lite "^1.0.30001286" + electron-to-chromium "^1.4.17" + escalade "^3.1.1" + node-releases "^2.0.1" + picocolors "^1.0.0" + bs-logger@0.x, bs-logger@^0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -3699,11 +3954,16 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== -caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001032, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001280: +caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001272, caniuse-lite@^1.0.30001280: version "1.0.30001283" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz#8573685bdae4d733ef18f78d44ba0ca5fe9e896b" integrity sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg== +caniuse-lite@^1.0.30001286: + version "1.0.30001298" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001298.tgz#0e690039f62e91c3ea581673d716890512e7ec52" + integrity sha512-AcKqikjMLlvghZL/vfTHorlQsLDhGRalYf1+GmWCf5SCMziSGjRYQW/JEksj14NaYHIR6KIhrFAy0HV5C25UzQ== + canonical-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/canonical-path/-/canonical-path-1.0.0.tgz#fcb470c23958def85081856be7a86e904f180d1d" @@ -4204,25 +4464,24 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-9.0.1.tgz#b71d21991599f61a4ee00ba79087b8ba279bbb59" - integrity sha512-14gHKKdYIxF84jCEgPgYXCPpldbwpxxLbCmA7LReY7gvbaT555DgeBWBgBZM116tv/fO6RRJrsivBqRyRlukhw== +copy-webpack-plugin@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.0.0.tgz#f25a29ca2398a6ca31183b62e76adacb53b981d1" + integrity sha512-tuCVuFMBbRsb7IH0q1CUb50/Skv+7a6c7DJ+xi4fAbOzNLTYVMUTPnf8uGvKPtmqTvzYBrfEFo7YgP4TsUWmtg== dependencies: - fast-glob "^3.2.5" - glob-parent "^6.0.0" - globby "^11.0.3" + fast-glob "^3.2.7" + glob-parent "^6.0.1" + globby "^12.0.2" normalize-path "^3.0.0" - p-limit "^3.1.0" - schema-utils "^3.0.0" + schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.16.0, core-js-compat@^3.16.2: - version "3.19.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" - integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== +core-js-compat@^3.18.0, core-js-compat@^3.19.1: + version "3.20.2" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.2.tgz#d1ff6936c7330959b46b2e08b122a8b14e26140b" + integrity sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg== dependencies: - browserslist "^4.17.6" + browserslist "^4.19.1" semver "7.0.0" core-js-pure@^3.19.0: @@ -4230,10 +4489,10 @@ core-js-pure@^3.19.0: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4" integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ== -core-js@3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.0.tgz#9e40098a9bc326c7e81b486abbd5e12b9d275176" - integrity sha512-L1TpFRWXZ76vH1yLM+z6KssLZrP8Z6GxxW4auoCj+XiViOzNPJCAuTIkn03BGdFe6Z5clX5t64wRIRypsZQrUg== +core-js@3.19.3: + version "3.19.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.3.tgz#6df8142a996337503019ff3235a7022d7cdf4559" + integrity sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g== core-js@^3.6.5: version "3.19.1" @@ -4318,10 +4577,10 @@ create-require@^1.1.0: resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== -critters@0.0.14: - version "0.0.14" - resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.14.tgz#08e585ce9cb9b9a3eab88cafda7bde7f6cd0763f" - integrity sha512-YiBoGKfU8/xg+tVMw0KfMBgmr0TWa1JGmRXDzbQRQQaDarGUcZZtZEB25QyYrLasQZAnvqoZhSg2GW0zdsQkYQ== +critters@0.0.15: + version "0.0.15" + resolved "https://registry.yarnpkg.com/critters/-/critters-0.0.15.tgz#b1c8d18fd18e614471733d7d749deac0f386b738" + integrity sha512-AE7hkXb3eZUbEvS1SKZa+OU4o2kUOXtzVeE/2E/mjU/0mV1wpBT1HfUCWVRS4zwvkBNJ0AQYsVjAoFm+kIhfdw== dependencies: chalk "^4.1.0" css-select "^4.1.3" @@ -4394,10 +4653,10 @@ css-has-pseudo@^2.0.0: dependencies: postcss-selector-parser "^6" -css-loader@6.5.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.0.tgz#9d1cf7766a9a8f0b3c6e1638309b964dbdab46d3" - integrity sha512-VmuSdQa3K+wJsl39i7X3qGBM5+ZHmtTnv65fqMGI+fzmHoYmszTVvTqC1XN8JwWDViCB1a8wgNim5SV4fb37xg== +css-loader@6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.5.1.tgz#0c43d4fbe0d97f699c91e9818cb585759091d1b1" + integrity sha512-gEy2w9AnJNnD9Kuo4XAP9VflW/ujKoS9c/syO+uWMlm5igc7LysKzPXaDoR2vroROkSwsTS2tGr1yGGEbZOYZQ== dependencies: icss-utils "^5.1.0" postcss "^8.2.15" @@ -4754,7 +5013,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: +debug@4, debug@4.3.3, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -4884,7 +5143,7 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -default-gateway@^6.0.0: +default-gateway@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" integrity sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg== @@ -5153,6 +5412,11 @@ electron-to-chromium@^1.3.896: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.4.tgz#57311918524c1a26878c330537f967804d43788a" integrity sha512-teHtgwcmVcL46jlFvAaqjyiTLWuMrUQO1JqV303JKB4ysXG6m8fXSFhbjal9st0r9mNskI22AraJZorb1VcLVg== +electron-to-chromium@^1.4.17: + version "1.4.38" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.38.tgz#10ea58d73d36b13e78d5024f3b74a352d3958d01" + integrity sha512-WhHt3sZazKj0KK/UpgsbGQnUUoFeAHVishzHFExMxagpZgjiGYSC9S0ZlbhCfSH2L2i+2A1yyqOIliTctMx7KQ== + elegant-spinner@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e" @@ -5303,11 +5567,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-arm64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.12.tgz#e1f199dc05405cdc6670c00fb6c793822bf8ae4c" - integrity sha512-TSVZVrb4EIXz6KaYjXfTzPyyRpXV5zgYIADXtQsIenjZ78myvDGaPi11o4ZSaHIwFHsuwkB6ne5SZRBwAQ7maw== - esbuild-android-arm64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.13.tgz#da07b5fb2daf7d83dcd725f7cf58a6758e6e702a" @@ -5318,10 +5577,10 @@ esbuild-android-arm64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.15.tgz#3fc3ff0bab76fe35dd237476b5d2b32bb20a3d44" integrity sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg== -esbuild-darwin-64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.12.tgz#f5c59e622955c01f050e5a7ac9c1d41db714b94d" - integrity sha512-c51C+N+UHySoV2lgfWSwwmlnLnL0JWj/LzuZt9Ltk9ub1s2Y8cr6SQV5W3mqVH1egUceew6KZ8GyI4nwu+fhsw== +esbuild-android-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.2.tgz#256b7cf2f9d382a2a92a4ff4e13187587c9b7c6a" + integrity sha512-hEixaKMN3XXCkoe+0WcexO4CcBVU5DCSUT+7P8JZiWZCbAjSkc9b6Yz2X5DSfQmRCtI/cQRU6TfMYrMQ5NBfdw== esbuild-darwin-64@0.13.13: version "0.13.13" @@ -5333,10 +5592,10 @@ esbuild-darwin-64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.15.tgz#8e9169c16baf444eacec60d09b24d11b255a8e72" integrity sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ== -esbuild-darwin-arm64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.12.tgz#8abae74c2956a8aa568fc52c78829338c4a4b988" - integrity sha512-JvAMtshP45Hd8A8wOzjkY1xAnTKTYuP/QUaKp5eUQGX+76GIie3fCdUUr2ZEKdvpSImNqxiZSIMziEiGB5oUmQ== +esbuild-darwin-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.2.tgz#891a59ce6bc3aded0265f982469b3eb9571b92f8" + integrity sha512-Uq8t0cbJQkxkQdbUfOl2wZqZ/AtLZjvJulR1HHnc96UgyzG9YlCLSDMiqjM+NANEy7/zzvwKJsy3iNC9wwqLJA== esbuild-darwin-arm64@0.13.13: version "0.13.13" @@ -5348,10 +5607,10 @@ esbuild-darwin-arm64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.15.tgz#1b07f893b632114f805e188ddfca41b2b778229a" integrity sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ== -esbuild-freebsd-64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.12.tgz#6ad2ab8c0364ee7dd2d6e324d876a8e60ae75d12" - integrity sha512-r6On/Skv9f0ZjTu6PW5o7pdXr8aOgtFOEURJZYf1XAJs0IQ+gW+o1DzXjVkIoT+n1cm3N/t1KRJfX71MPg/ZUA== +esbuild-darwin-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.2.tgz#ab834fffa9c612b2901ca1e77e4695d4d8aa63a2" + integrity sha512-619MSa17sr7YCIrUj88KzQu2ESA4jKYtIYfLU/smX6qNgxQt3Y/gzM4s6sgJ4fPQzirvmXgcHv1ZNQAs/Xh48A== esbuild-freebsd-64@0.13.13: version "0.13.13" @@ -5363,10 +5622,10 @@ esbuild-freebsd-64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.15.tgz#0b8b7eca1690c8ec94c75680c38c07269c1f4a85" integrity sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA== -esbuild-freebsd-arm64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.12.tgz#6f38155f4c300ac4c8adde1fde3cc6a4440a8294" - integrity sha512-F6LmI2Q1gii073kmBE3NOTt/6zLL5zvZsxNLF8PMAwdHc+iBhD1vzfI8uQZMJA1IgXa3ocr3L3DJH9fLGXy6Yw== +esbuild-freebsd-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.2.tgz#f7fc87a83f02de27d5a48472571efa1a432ae86d" + integrity sha512-aP6FE/ZsChZpUV6F3HE3x1Pz0paoYXycJ7oLt06g0G9dhJKknPawXCqQg/WMyD+ldCEZfo7F1kavenPdIT/SGQ== esbuild-freebsd-arm64@0.13.13: version "0.13.13" @@ -5378,10 +5637,10 @@ esbuild-freebsd-arm64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.15.tgz#2e1a6c696bfdcd20a99578b76350b41db1934e52" integrity sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ== -esbuild-linux-32@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.12.tgz#b1d15e330188a8c21de75c3f0058628a3eefade7" - integrity sha512-U1UZwG3UIwF7/V4tCVAo/nkBV9ag5KJiJTt+gaCmLVWH3bPLX7y+fNlhIWZy8raTMnXhMKfaTvWZ9TtmXzvkuQ== +esbuild-freebsd-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.2.tgz#bc8758420431106751f3180293cac0b5bc4ce2ee" + integrity sha512-LSm98WTb1QIhyS83+Po0KTpZNdd2XpVpI9ua5rLWqKWbKeNRFwOsjeiuwBaRNc+O32s9oC2ZMefETxHBV6VNkQ== esbuild-linux-32@0.13.13: version "0.13.13" @@ -5393,10 +5652,10 @@ esbuild-linux-32@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.15.tgz#6fd39f36fc66dd45b6b5f515728c7bbebc342a69" integrity sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g== -esbuild-linux-64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.12.tgz#25bd64b66162b02348e32d8f12e4c9ee61f1d070" - integrity sha512-YpXSwtu2NxN3N4ifJxEdsgd6Q5d8LYqskrAwjmoCT6yQnEHJSF5uWcxv783HWN7lnGpJi9KUtDvYsnMdyGw71Q== +esbuild-linux-32@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.2.tgz#0cc2dcd816d6d66e255bc7aeac139b1d04246812" + integrity sha512-8VxnNEyeUbiGflTKcuVc5JEPTqXfsx2O6ABwUbfS1Hp26lYPRPC7pKQK5Dxa0MBejGc50jy7YZae3EGQUQ8EkQ== esbuild-linux-64@0.13.13: version "0.13.13" @@ -5408,10 +5667,10 @@ esbuild-linux-64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.15.tgz#9cb8e4bcd7574e67946e4ee5f1f1e12386bb6dd3" integrity sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA== -esbuild-linux-arm64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.12.tgz#ba582298457cc5c9ac823a275de117620c06537f" - integrity sha512-sgDNb8kb3BVodtAlcFGgwk+43KFCYjnFOaOfJibXnnIojNWuJHpL6aQJ4mumzNWw8Rt1xEtDQyuGK9f+Y24jGA== +esbuild-linux-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.2.tgz#c790f739aa75b15c153609ea3457153fbe4db93d" + integrity sha512-4bzMS2dNxOJoFIiHId4w+tqQzdnsch71JJV1qZnbnErSFWcR9lRgpSqWnTTFtv6XM+MvltRzSXC5wQ7AEBY6Hg== esbuild-linux-arm64@0.13.13: version "0.13.13" @@ -5423,10 +5682,10 @@ esbuild-linux-arm64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.15.tgz#3891aa3704ec579a1b92d2a586122e5b6a2bfba1" integrity sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA== -esbuild-linux-arm@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.12.tgz#6bc81c957bff22725688cc6359c29a25765be09b" - integrity sha512-SyiT/JKxU6J+DY2qUiSLZJqCAftIt3uoGejZ0HDnUM2MGJqEGSGh7p1ecVL2gna3PxS4P+j6WAehCwgkBPXNIw== +esbuild-linux-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.2.tgz#96858a1f89ad30274dec780d0e3dd8b5691c6b0c" + integrity sha512-RlIVp0RwJrdtasDF1vTFueLYZ8WuFzxoQ1OoRFZOTyJHCGCNgh7xJIC34gd7B7+RT0CzLBB4LcM5n0LS+hIoww== esbuild-linux-arm@0.13.13: version "0.13.13" @@ -5438,10 +5697,10 @@ esbuild-linux-arm@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.15.tgz#8a00e99e6a0c6c9a6b7f334841364d8a2b4aecfe" integrity sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA== -esbuild-linux-mips64le@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.12.tgz#ef3c4aba3e585d847cbade5945a8b4a5c62c7ce2" - integrity sha512-qQJHlZBG+QwVIA8AbTEtbvF084QgDi4DaUsUnA+EolY1bxrG+UyOuGflM2ZritGhfS/k7THFjJbjH2wIeoKA2g== +esbuild-linux-arm@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.2.tgz#03e193225afa9b1215d2ec6efe8edf0c03eeed6f" + integrity sha512-PaylahvMHhH8YMfJPMKEqi64qA0Su+d4FNfHKvlKes/2dUe4QxgbwXT9oLVgy8iJdcFMrO7By4R8fS8S0p8aVQ== esbuild-linux-mips64le@0.13.13: version "0.13.13" @@ -5453,10 +5712,10 @@ esbuild-linux-mips64le@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.15.tgz#36b07cc47c3d21e48db3bb1f4d9ef8f46aead4f7" integrity sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg== -esbuild-linux-ppc64le@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.12.tgz#a21fb64e80c38bef06122e48283990fc6db578e1" - integrity sha512-2dSnm1ldL7Lppwlo04CGQUpwNn5hGqXI38OzaoPOkRsBRWFBozyGxTFSee/zHFS+Pdh3b28JJbRK3owrrRgWNw== +esbuild-linux-mips64le@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.2.tgz#972f218d2cb5125237376d40ad60a6e5356a782c" + integrity sha512-Fdwrq2roFnO5oetIiUQQueZ3+5soCxBSJswg3MvYaXDomj47BN6oAWMZgLrFh1oVrtWrxSDLCJBenYdbm2s+qQ== esbuild-linux-ppc64le@0.13.13: version "0.13.13" @@ -5468,10 +5727,10 @@ esbuild-linux-ppc64le@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.15.tgz#f7e6bba40b9a11eb9dcae5b01550ea04670edad2" integrity sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ== -esbuild-netbsd-64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.12.tgz#1ea7fc8cfce88a20a4047b867ef184049a6641ae" - integrity sha512-D4raxr02dcRiQNbxOLzpqBzcJNFAdsDNxjUbKkDMZBkL54Z0vZh4LRndycdZAMcIdizC/l/Yp/ZsBdAFxc5nbA== +esbuild-linux-ppc64le@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.2.tgz#20b71622ac09142b0e523f633af0829def7fed6b" + integrity sha512-vxptskw8JfCDD9QqpRO0XnsM1osuWeRjPaXX1TwdveLogYsbdFtcuiuK/4FxGiNMUr1ojtnCS2rMPbY8puc5NA== esbuild-netbsd-64@0.13.13: version "0.13.13" @@ -5483,10 +5742,10 @@ esbuild-netbsd-64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.15.tgz#a2fedc549c2b629d580a732d840712b08d440038" integrity sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w== -esbuild-openbsd-64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.12.tgz#adde32f2f1b05dc4bd4fc544d6ea5a4379f9ca4d" - integrity sha512-KuLCmYMb2kh05QuPJ+va60bKIH5wHL8ypDkmpy47lzwmdxNsuySeCMHuTv5o2Af1RUn5KLO5ZxaZeq4GEY7DaQ== +esbuild-netbsd-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.2.tgz#dbd6a25117902ef67aa11d8779dd9c6bca7fbe82" + integrity sha512-I8+LzYK5iSNpspS9eCV9sW67Rj8FgMHimGri4mKiGAmN0pNfx+hFX146rYtzGtewuxKtTsPywWteHx+hPRLDsw== esbuild-openbsd-64@0.13.13: version "0.13.13" @@ -5498,10 +5757,10 @@ esbuild-openbsd-64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.15.tgz#b22c0e5806d3a1fbf0325872037f885306b05cd7" integrity sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g== -esbuild-sunos-64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.12.tgz#a7ecaf52b7364fbee76dc8aa707fa3e1cff3342c" - integrity sha512-jBsF+e0woK3miKI8ufGWKG3o3rY9DpHvCVRn5eburMIIE+2c+y3IZ1srsthKyKI6kkXLvV4Cf/E7w56kLipMXw== +esbuild-openbsd-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.2.tgz#3c5f199eed459b2f88865548394c0b77383d9ca4" + integrity sha512-120HgMe9elidWUvM2E6mMf0csrGwx8sYDqUIJugyMy1oHm+/nT08bTAVXuwYG/rkMIqsEO9AlMxuYnwR6En/3Q== esbuild-sunos-64@0.13.13: version "0.13.13" @@ -5513,21 +5772,21 @@ esbuild-sunos-64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.15.tgz#d0b6454a88375ee8d3964daeff55c85c91c7cef4" integrity sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw== -esbuild-wasm@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.13.12.tgz#1f78316c12e66ca7dffded832d5a9630b34b7657" - integrity sha512-eGdiSewbnJffEvyA0qQmr+w3HurBMVp4QhOfICzeeoL9naC8qC3PFaw6hZaqSgks5DXnQONtUGUFLsX3eXpq8A== +esbuild-sunos-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.2.tgz#900a681db6b76c6a7f60fc28d2bfe5b11698641c" + integrity sha512-Q3xcf9Uyfra9UuCFxoLixVvdigo0daZaKJ97TL2KNA4bxRUPK18wwGUk3AxvgDQZpRmg82w9PnkaNYo7a+24ow== + +esbuild-wasm@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.2.tgz#49c59c610a0be48becec87a7d9019d143468f2f9" + integrity sha512-Rs8NjWoo1UdsVjhxT2o6kLCX9Sh65pyd3/h4XeJ3jjQNM6NgL+/CSowuJgvOIjDAXMLXpc6fdGnyZQDil9IUJA== esbuild-wasm@^0.13.0: version "0.13.15" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.13.15.tgz#3e1f075f6d3a2203caebaf6371578f2741539111" integrity sha512-QO/ZqlnpXtiMKrPp8lgwsNJFKGKwm0EcIN6Og3vbhkFaauRTgGsX0t96gW7pFIY5UAARW/O+i1B/YLid6jW6eQ== -esbuild-windows-32@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.12.tgz#a8756033dc905c4b7bea19be69f7ee68809f8770" - integrity sha512-L9m4lLFQrFeR7F+eLZXG82SbXZfUhyfu6CexZEil6vm+lc7GDCE0Q8DiNutkpzjv1+RAbIGVva9muItQ7HVTkQ== - esbuild-windows-32@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.13.tgz#a3820fc86631ca594cb7b348514b5cc3f058cfd6" @@ -5538,10 +5797,10 @@ esbuild-windows-32@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.15.tgz#c96d0b9bbb52f3303322582ef8e4847c5ad375a7" integrity sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw== -esbuild-windows-64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.12.tgz#ae694aa66ca078acb8509b2da31197ed1f40f798" - integrity sha512-k4tX4uJlSbSkfs78W5d9+I9gpd+7N95W7H2bgOMFPsYREVJs31+Q2gLLHlsnlY95zBoPQMIzHooUIsixQIBjaQ== +esbuild-windows-32@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.2.tgz#61e0ba5bd95b277a55d2b997ac4c04dfe2559220" + integrity sha512-TW7O49tPsrq+N1sW8mb3m24j/iDGa4xzAZH4wHWwoIzgtZAYPKC0hpIhufRRG/LA30bdMChO9pjJZ5mtcybtBQ== esbuild-windows-64@0.13.13: version "0.13.13" @@ -5553,10 +5812,10 @@ esbuild-windows-64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.15.tgz#1f79cb9b1e1bb02fb25cd414cb90d4ea2892c294" integrity sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ== -esbuild-windows-arm64@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.12.tgz#782c5a8bd6d717ea55aaafe648f9926ca36a4a88" - integrity sha512-2tTv/BpYRIvuwHpp2M960nG7uvL+d78LFW/ikPItO+2GfK51CswIKSetSpDii+cjz8e9iSPgs+BU4o8nWICBwQ== +esbuild-windows-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.2.tgz#6ab59ef721ff75c682a1c8ae0570dabb637abddb" + integrity sha512-Rym6ViMNmi1E2QuQMWy0AFAfdY0wGwZD73BnzlsQBX5hZBuy/L+Speh7ucUZ16gwsrMM9v86icZUDrSN/lNBKg== esbuild-windows-arm64@0.13.13: version "0.13.13" @@ -5568,28 +5827,10 @@ esbuild-windows-arm64@0.13.15: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.15.tgz#482173070810df22a752c686509c370c3be3b3c3" integrity sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA== -esbuild@0.13.12: - version "0.13.12" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.12.tgz#9cac641594bf03cf34145258c093d743ebbde7ca" - integrity sha512-vTKKUt+yoz61U/BbrnmlG9XIjwpdIxmHB8DlPR0AAW6OdS+nBQBci6LUHU2q9WbBobMEIQxxDpKbkmOGYvxsow== - optionalDependencies: - esbuild-android-arm64 "0.13.12" - esbuild-darwin-64 "0.13.12" - esbuild-darwin-arm64 "0.13.12" - esbuild-freebsd-64 "0.13.12" - esbuild-freebsd-arm64 "0.13.12" - esbuild-linux-32 "0.13.12" - esbuild-linux-64 "0.13.12" - esbuild-linux-arm "0.13.12" - esbuild-linux-arm64 "0.13.12" - esbuild-linux-mips64le "0.13.12" - esbuild-linux-ppc64le "0.13.12" - esbuild-netbsd-64 "0.13.12" - esbuild-openbsd-64 "0.13.12" - esbuild-sunos-64 "0.13.12" - esbuild-windows-32 "0.13.12" - esbuild-windows-64 "0.13.12" - esbuild-windows-arm64 "0.13.12" +esbuild-windows-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.2.tgz#aca2a4f83d2f0d1592ad4be832ed0045fc888cda" + integrity sha512-ZrLbhr0vX5Em/P1faMnHucjVVWPS+m3tktAtz93WkMZLmbRJevhiW1y4CbulBd2z0MEdXZ6emDa1zFHq5O5bSA== esbuild@0.13.13: version "0.13.13" @@ -5614,6 +5855,29 @@ esbuild@0.13.13: esbuild-windows-64 "0.13.13" esbuild-windows-arm64 "0.13.13" +esbuild@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.2.tgz#9c1e1a652549cc33e44885eea42ea2cc6267edc2" + integrity sha512-l076A6o/PIgcyM24s0dWmDI/b8RQf41uWoJu9I0M71CtW/YSw5T5NUeXxs5lo2tFQD+O4CW4nBHJXx3OY5NpXg== + optionalDependencies: + esbuild-android-arm64 "0.14.2" + esbuild-darwin-64 "0.14.2" + esbuild-darwin-arm64 "0.14.2" + esbuild-freebsd-64 "0.14.2" + esbuild-freebsd-arm64 "0.14.2" + esbuild-linux-32 "0.14.2" + esbuild-linux-64 "0.14.2" + esbuild-linux-arm "0.14.2" + esbuild-linux-arm64 "0.14.2" + esbuild-linux-mips64le "0.14.2" + esbuild-linux-ppc64le "0.14.2" + esbuild-netbsd-64 "0.14.2" + esbuild-openbsd-64 "0.14.2" + esbuild-sunos-64 "0.14.2" + esbuild-windows-32 "0.14.2" + esbuild-windows-64 "0.14.2" + esbuild-windows-arm64 "0.14.2" + esbuild@^0.13.0: version "0.13.15" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.15.tgz#db56a88166ee373f87dbb2d8798ff449e0450cdf" @@ -6129,7 +6393,7 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== -fast-glob@^3.1.1, fast-glob@^3.2.5, fast-glob@^3.2.7: +fast-glob@^3.1.1, fast-glob@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== @@ -6666,7 +6930,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob-parent@^6.0.0: +glob-parent@^6.0.1: version "6.0.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== @@ -6740,6 +7004,18 @@ globby@^11.0.1, globby@^11.0.3, globby@^11.0.4: merge2 "^1.3.0" slash "^3.0.0" +globby@^12.0.2: + version "12.0.2" + resolved "https://registry.yarnpkg.com/globby/-/globby-12.0.2.tgz#53788b2adf235602ed4cabfea5c70a1139e1ab11" + integrity sha512-lAsmb/5Lww4r7MM9nCCliDZVIKbZTavrsunAsHLr9oHthrZP1qi7/gAnHOsUs9bLvEt2vKVJhHmxuL7QbDuPdQ== + dependencies: + array-union "^3.0.1" + dir-glob "^3.0.1" + fast-glob "^3.2.7" + ignore "^5.1.8" + merge2 "^1.4.1" + slash "^4.0.0" + google-translate-api-browser@^1.1.71: version "1.1.71" resolved "https://registry.yarnpkg.com/google-translate-api-browser/-/google-translate-api-browser-1.1.71.tgz#08f4098f0bc09b11d389b82d50f6a7f5945df482" @@ -7153,6 +7429,11 @@ image-size@~0.5.0: resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= +immutable@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" + integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== + import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" @@ -7259,16 +7540,6 @@ inquirer@8.2.0: strip-ansi "^6.0.0" through "^2.3.6" -internal-ip@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-6.2.0.tgz#d5541e79716e406b74ac6b07b856ef18dc1621c1" - integrity sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg== - dependencies: - default-gateway "^6.0.0" - ipaddr.js "^1.9.1" - is-ip "^3.1.0" - p-event "^4.2.0" - internal-slot@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" @@ -7283,17 +7554,12 @@ internmap@^1.0.0: resolved "https://registry.yarnpkg.com/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" integrity sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw== -ip-regex@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-4.3.0.tgz#687275ab0f57fa76978ff8f4dddc8a23d5990db5" - integrity sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q== - ip@^1.1.0, ip@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= -ipaddr.js@1.9.1, ipaddr.js@^1.9.1: +ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== @@ -7523,13 +7789,6 @@ is-interactive@^1.0.0: resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== -is-ip@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-ip/-/is-ip-3.1.0.tgz#2ae5ddfafaf05cb8008a62093cf29734f657c5d8" - integrity sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q== - dependencies: - ip-regex "^4.0.0" - is-lambda@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" @@ -8440,17 +8699,17 @@ karma-source-map-support@1.4.0: dependencies: source-map-support "^0.5.5" -keycloak-angular@^8.4.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/keycloak-angular/-/keycloak-angular-8.4.0.tgz#405cb93cae8f01f3612d98caa5967e2c03372d04" - integrity sha512-3zBKzPf+ZG+16EfOdp1uxa/XTGElTOQSq5UkfFJzFcJe1D6p696hKIUJHNJECcYNUtt4XhYwUEolMIR+VySqgA== +keycloak-angular@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/keycloak-angular/-/keycloak-angular-9.0.0.tgz#079934d826158db5b7327d15d5f6d8a8ee57db1a" + integrity sha512-47ugycwEuheoVmeyQMnkW+s3dHzx3ipJ+88iDxhP+gPjVtV2s7lyNtUCw3dErHVTSbhqEhZJ8CrWwPk1qyiE5w== dependencies: tslib "^2.0.0" -keycloak-js@15.0.2: - version "15.0.2" - resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-15.0.2.tgz#9d12dd8860953a267b9b18f351ad2e76b8e94a9c" - integrity sha512-dv2a4NcPSH3AzGWG3ZtB+VrHpuQLdFBYXtQBj/+oBzm6XNwnVAMdL6LIC0OzCLQpn3rKTQJtNSATAGhbKJgewQ== +keycloak-js@^16.0.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-16.1.0.tgz#631b548192c4f4fe65c58f6c98fa23f0f25ac061" + integrity sha512-ydD0SJ+cLmtlor5MvyIOJygnGHueWwnAtXvqniv19k4TslcSpAEACTsnsvENdKa7/NTC4/erg6NctS4uF3nMdw== dependencies: base64-js "1.3.1" js-sha256 "0.9.0" @@ -8484,7 +8743,7 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== -klona@^2.0.4: +klona@^2.0.4, klona@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== @@ -8639,12 +8898,10 @@ loader-runner@^4.2.0: resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.2.0.tgz#d7022380d66d14c5fb1d496b89864ebcfd478384" integrity sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw== -loader-utils@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.0.0.tgz#dfcd9d1101bc4512d4956e1d5d67577c647b47fe" - integrity sha512-ry4RE7qen73BFLgihlbyllGIW9SVWLUD5Cq9VWtzrqhntOMOJl8yEjA89d5mCUTT0puCnHo4EecO6bz+BOAS8w== - dependencies: - big.js "^6.1.1" +loader-utils@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-3.2.0.tgz#bcecc51a7898bee7473d4bc6b845b23af8304d4f" + integrity sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ== loader-utils@^1.2.3, loader-utils@^1.4.0: version "1.4.0" @@ -8926,7 +9183,7 @@ merge-stream@^2.0.0: resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -merge2@^1.3.0: +merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== @@ -9032,12 +9289,12 @@ mimic-response@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mini-css-extract-plugin@2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.3.tgz#be742943c192b028645d4389084ef187615fff82" - integrity sha512-zekavl9mZuGyk7COjsfFY/f655AX61EKE0AthXPrmDk+oZyjZ9WzO4WPjXnnO9xl8obK2kmM6rAQrBEmk+WK1g== +mini-css-extract-plugin@2.4.5: + version "2.4.5" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.5.tgz#191d6c170226037212c483af1180b4010b7b9eef" + integrity sha512-oEIhRucyn1JbT/1tU2BhnwO6ft1jjH1iCX9Gc59WFMg0n5773rQU0oyQ0zzeYFFuBfONaRbQJyGoPtuNseMxjA== dependencies: - schema-utils "^3.1.0" + schema-utils "^4.0.0" minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: version "1.0.1" @@ -9332,7 +9589,7 @@ ngx-toastr@^14.1.3: dependencies: tslib "^2.3.0" -ngx-translate-messageformat-compiler@^4.10.0: +ngx-translate-messageformat-compiler@^4.11.0: version "4.11.0" resolved "https://registry.yarnpkg.com/ngx-translate-messageformat-compiler/-/ngx-translate-messageformat-compiler-4.11.0.tgz#c9b71dd139ba5fcdcd809001e22622de589fd707" integrity sha512-OdGfWV4fF3DhZqGIHcLmOnQDufugmZ+E90NYr1UPGRZgT10lilr9oLmIrisy3lW4THnZFNo9JXsX7+fX84LbDw== @@ -9795,13 +10052,6 @@ p-event@^1.0.0: dependencies: p-timeout "^1.1.1" -p-event@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" - integrity sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ== - dependencies: - p-timeout "^3.1.0" - p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" @@ -9821,7 +10071,7 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2, p-limit@^3.1.0: +p-limit@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -9883,13 +10133,6 @@ p-timeout@^1.1.1: dependencies: p-finally "^1.0.0" -p-timeout@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-3.2.0.tgz#c7e17abc971d2a7962ef83626b35d635acf23dfe" - integrity sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg== - dependencies: - p-finally "^1.0.0" - p-try@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" @@ -10514,13 +10757,13 @@ postcss-lab-function@^4.0.1: "@csstools/convert-colors" "2.0.0" postcss-values-parser "6.0.1" -postcss-loader@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.0.tgz#714370a3f567141cf4cadcdf9575f5234d186bc5" - integrity sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA== +postcss-loader@6.2.1: + version "6.2.1" + resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-6.2.1.tgz#0895f7346b1702103d30fdc66e4d494a93c008ef" + integrity sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q== dependencies: cosmiconfig "^7.0.0" - klona "^2.0.4" + klona "^2.0.5" semver "^7.3.5" postcss-logical@^3.0.0: @@ -10811,14 +11054,14 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@8.3.11: - version "8.3.11" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" - integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== +postcss@8.4.4, postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3, postcss@^8.3.7, postcss@^8.3.9: + version "8.4.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.4.tgz#d53d4ec6a75fd62557a66bb41978bf47ff0c2869" + integrity sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q== dependencies: nanoid "^3.1.30" picocolors "^1.0.0" - source-map-js "^0.6.2" + source-map-js "^1.0.1" postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: version "7.0.39" @@ -10828,15 +11071,6 @@ postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0. picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3, postcss@^8.3.7, postcss@^8.3.9: - version "8.4.4" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.4.tgz#d53d4ec6a75fd62557a66bb41978bf47ff0c2869" - integrity sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q== - dependencies: - nanoid "^3.1.30" - picocolors "^1.0.0" - source-map-js "^1.0.1" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -11481,20 +11715,21 @@ safe-regex@^1.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sass-loader@12.3.0: - version "12.3.0" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.3.0.tgz#93278981c189c36a58cbfc37d4b9cef0cdc02871" - integrity sha512-6l9qwhdOb7qSrtOu96QQ81LVl8v6Dp9j1w3akOm0aWHyrTYtagDt5+kS32N4yq4hHk3M+rdqoRMH+lIdqvW6HA== +sass-loader@12.4.0: + version "12.4.0" + resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-12.4.0.tgz#260b0d51a8a373bb8e88efc11f6ba5583fea0bcf" + integrity sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg== dependencies: klona "^2.0.4" neo-async "^2.6.2" -sass@1.43.4: - version "1.43.4" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f" - integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg== +sass@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.44.0.tgz#619aa0a2275c097f9af5e6b8fe8a95e3056430fb" + integrity sha512-0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw== dependencies: chokidar ">=3.0.0 <4.0.0" + immutable "^4.0.0" sass@^1.32.8, sass@^1.39.2: version "1.43.5" @@ -11542,7 +11777,7 @@ schema-utils@^2.6.5: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1: +schema-utils@^3.1.0, schema-utils@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== @@ -11780,6 +12015,11 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== +slash@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" + integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== + slice-ansi@0.0.4: version "0.0.4" resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35" @@ -11941,15 +12181,7 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@0.5.20: - version "0.5.20" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" - integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@0.5.21, source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -12462,10 +12694,10 @@ terser-webpack-plugin@^5.1.3: source-map "^0.6.1" terser "^5.7.2" -terser@5.9.0: - version "5.9.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.9.0.tgz#47d6e629a522963240f2b55fcaa3c99083d2c351" - integrity sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ== +terser@5.10.0, terser@^5.7.2: + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== dependencies: commander "^2.20.0" source-map "~0.7.2" @@ -12480,15 +12712,6 @@ terser@^4.1.2: source-map "~0.6.1" source-map-support "~0.5.12" -terser@^5.7.2: - version "5.10.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" - integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== - dependencies: - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -13104,10 +13327,10 @@ watchpack@^1.7.4: chokidar "^3.4.1" watchpack-chokidar2 "^2.0.1" -watchpack@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.0.tgz#a41bca3da6afaff31e92a433f4c856a0c25ea0c4" - integrity sha512-MnN0Q1OsvB/GGHETrFeZPQaOelWh/7O+EiFlj8sM9GPjtQkis7k01aAxrg/18kTfoIVcLL+haEVFlXDaSRwKRw== +watchpack@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.3.1.tgz#4200d9447b401156eeca7767ee610f8809bc9d25" + integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA== dependencies: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" @@ -13136,18 +13359,7 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-dev-middleware@5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.1.tgz#97c948144349177856a3d2d9c612cc3fee180cf1" - integrity sha512-Kx1X+36Rn9JaZcQMrJ7qN3PMAuKmEDD9ZISjUj3Cgq4A6PtwYsC4mpaKotSRYH3iOF6HsUa8viHKS59FlyVifQ== - dependencies: - colorette "^2.0.10" - memfs "^3.2.2" - mime-types "^2.1.31" - range-parser "^1.2.1" - schema-utils "^3.1.0" - -webpack-dev-middleware@^5.2.1: +webpack-dev-middleware@5.2.2, webpack-dev-middleware@^5.2.1: version "5.2.2" resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz#eb5193faa5479ca1086b9f7bed68b89c731bff62" integrity sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w== @@ -13158,10 +13370,10 @@ webpack-dev-middleware@^5.2.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.4.0.tgz#10ec17088f840c9ccb2ebb0b43c49ec293206f7e" - integrity sha512-+S0XRIbsopVjPFjCO8I07FXYBWYqkFmuP56ucGMTs2hA/gV4q2M9xTmNo5Tg4o8ffRR+Nm3AsXnQXxKRyYovrA== +webpack-dev-server@4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.6.0.tgz#e8648601c440172d9b6f248d28db98bed335315a" + integrity sha512-oojcBIKvx3Ya7qs1/AVWHDgmP1Xml8rGsEBnSobxU/UJSX1xP1GPM3MwsAnDzvqcVmVki8tV7lbcsjEjk0PtYg== dependencies: ansi-html-community "^0.0.8" bonjour "^3.5.0" @@ -13169,17 +13381,17 @@ webpack-dev-server@4.4.0: colorette "^2.0.10" compression "^1.7.4" connect-history-api-fallback "^1.6.0" + default-gateway "^6.0.3" del "^6.0.0" express "^4.17.1" graceful-fs "^4.2.6" html-entities "^2.3.2" http-proxy-middleware "^2.0.0" - internal-ip "^6.2.0" ipaddr.js "^2.0.1" open "^8.0.9" p-retry "^4.5.0" portfinder "^1.0.28" - schema-utils "^3.1.0" + schema-utils "^4.0.0" selfsigned "^1.10.11" serve-index "^1.9.1" sockjs "^0.3.21" @@ -13230,10 +13442,10 @@ webpack-subresource-integrity@5.0.0: dependencies: typed-assert "^1.0.8" -webpack@5.64.1: - version "5.64.1" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.64.1.tgz#fd59840c16f04fe315f2b2598a85026f12dfa1bb" - integrity sha512-b4FHmRgaaAjP+aVOVz41a9Qa5SmkUPQ+u8FntTQ1roPHahSComB6rXnLwc976VhUY4CqTaLu5mCswuHiNhOfVw== +webpack@5.65.0: + version "5.65.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" + integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -13257,7 +13469,7 @@ webpack@5.64.1: schema-utils "^3.1.0" tapable "^2.1.1" terser-webpack-plugin "^5.1.3" - watchpack "^2.2.0" + watchpack "^2.3.1" webpack-sources "^3.2.2" webpack@^4.18.1: From 3470c15778d735543493f30990fdf4be9752715e Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 11 Jan 2022 11:00:58 +0100 Subject: [PATCH 040/260] chore(release) --- package-lock.json | 0 package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3201 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..e69de29bb diff --git a/package.json b/package.json index 01ed2ef16..dccc20358 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.134.0", + "version": "3.135.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index bcfc8d21e038d58c5f8efb8dcc7f034d34b0754f..56ff2c7fe6c1e6fdc6bd76375caf9184b2cd08c1 100644 GIT binary patch delta 3195 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 delta 3196 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 Date: Tue, 11 Jan 2022 16:55:06 +0200 Subject: [PATCH 041/260] delta view corrections --- .../src/app/models/file/file-data.model.ts | 73 ++++++++++++------- .../annotation-actions.component.html | 4 +- .../annotation-actions.component.ts | 10 ++- .../page-indicator.component.ts | 7 +- .../pdf-viewer/pdf-viewer.component.ts | 2 +- .../file-preview-screen.component.html | 7 +- .../file-preview-screen.component.ts | 71 ++++-------------- .../services/annotation-actions.service.ts | 8 +- .../services/pdf-viewer-data.service.ts | 24 +++++- .../file-actions/file-actions.component.ts | 2 - .../platform-search.service.ts | 4 +- libs/common-ui | 2 +- .../file-attributes/file-attributes-config.ts | 4 +- libs/red-domain/src/lib/files/file.model.ts | 4 +- 14 files changed, 111 insertions(+), 111 deletions(-) diff --git a/apps/red-ui/src/app/models/file/file-data.model.ts b/apps/red-ui/src/app/models/file/file-data.model.ts index 8a3d50aa3..8c5f7e34b 100644 --- a/apps/red-ui/src/app/models/file/file-data.model.ts +++ b/apps/red-ui/src/app/models/file/file-data.model.ts @@ -3,34 +3,34 @@ import { AnnotationWrapper } from './annotation.wrapper'; import { RedactionLogEntryWrapper } from './redaction-log-entry.wrapper'; import * as moment from 'moment'; -export class AnnotationData { - visibleAnnotations: AnnotationWrapper[]; - allAnnotations: AnnotationWrapper[]; -} - export class FileDataModel { static readonly DELTA_VIEW_TIME = 10 * 60 * 1000; // 10 minutes; hasChangeLog: boolean; + allAnnotations: AnnotationWrapper[]; - constructor(public file: File, public fileData: Blob, public redactionLog: IRedactionLog, public viewedPages?: IViewedPage[]) {} + constructor( + public file: File, + public fileData: Blob, + private _redactionLog: IRedactionLog, + public viewedPages?: IViewedPage[], + private _dictionaryData?: { [p: string]: Dictionary }, + private _areDevFeaturesEnabled?: boolean, + ) { + this._buildAllAnnotations(); + } - getAnnotations( - dictionaryData: { [p: string]: Dictionary }, - currentUser: User, - viewMode: ViewMode, - areDevFeaturesEnabled: boolean, - ): AnnotationData { - const entries: RedactionLogEntryWrapper[] = this._convertData(dictionaryData); - let allAnnotations = entries - .map(entry => AnnotationWrapper.fromData(entry)) - .filter(ann => ann.manual || !this.file.excludedPages.includes(ann.pageNumber)); + set redactionLog(redactionLog: IRedactionLog) { + this._redactionLog = redactionLog; + this._buildAllAnnotations(); + } - if (!areDevFeaturesEnabled) { - allAnnotations = allAnnotations.filter(annotation => !annotation.isFalsePositive); - } + get redactionLog() { + return this._redactionLog; + } - const visibleAnnotations = allAnnotations.filter(annotation => { + getVisibleAnnotations(viewMode: ViewMode) { + return this.allAnnotations.filter(annotation => { if (viewMode === 'STANDARD') { return !annotation.isChangeLogRemoved; } else if (viewMode === 'DELTA') { @@ -39,14 +39,33 @@ export class FileDataModel { return annotation.isRedacted; } }); - - return { - visibleAnnotations: visibleAnnotations, - allAnnotations: allAnnotations, - }; } - private _convertData(dictionaryData: { [p: string]: Dictionary }): RedactionLogEntryWrapper[] { + private _buildAllAnnotations() { + const entries: RedactionLogEntryWrapper[] = this._convertData(); + + const previousAnnotations = this.allAnnotations || []; + this.allAnnotations = entries + .map(entry => AnnotationWrapper.fromData(entry)) + .filter(ann => ann.manual || !this.file.excludedPages.includes(ann.pageNumber)); + + if (!this._areDevFeaturesEnabled) { + this.allAnnotations = this.allAnnotations.filter(annotation => !annotation.isFalsePositive); + } + + this._setHiddenPropertyToNewAnnotations(this.allAnnotations, previousAnnotations); + } + + private _setHiddenPropertyToNewAnnotations(newAnnotations: AnnotationWrapper[], oldAnnotations: AnnotationWrapper[]) { + newAnnotations.forEach(newAnnotation => { + const oldAnnotation = oldAnnotations.find(a => a.annotationId === newAnnotation.annotationId); + if (oldAnnotation) { + newAnnotation.hidden = oldAnnotation.hidden; + } + }); + } + + private _convertData(): RedactionLogEntryWrapper[] { let result: RedactionLogEntryWrapper[] = []; const reasonAnnotationIds: { [key: string]: RedactionLogEntryWrapper[] } = {}; @@ -55,7 +74,7 @@ export class FileDataModel { const redactionLogEntryWrapper: RedactionLogEntryWrapper = {}; Object.assign(redactionLogEntryWrapper, redactionLogEntry); redactionLogEntryWrapper.type = redactionLogEntry.type; - redactionLogEntryWrapper.hintDictionary = dictionaryData[redactionLogEntry.type].hint; + redactionLogEntryWrapper.hintDictionary = this._dictionaryData[redactionLogEntry.type].hint; this._isChangeLogEntry(redactionLogEntry, redactionLogEntryWrapper); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 1dc525fb2..c3d7d4599 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -124,7 +124,7 @@ >
- + { - const ocrAnnotationIds = this.annotationData.allAnnotations.filter(a => a.isOCR).map(a => a.id); + const ocrAnnotationIds = this.fileData.allAnnotations.filter(a => a.isOCR).map(a => a.id); const annotations = this._getAnnotations(a => a.getCustomData('redact-manager')); const redactions = annotations.filter(a => a.getCustomData('redaction')); @@ -251,18 +243,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni console.log(`[REDACTION] Delete previous annotations time: ${new Date().getTime() - startTime} ms`); } const processStartTime = new Date().getTime(); - const dossier = this._dossiersService.find(this.dossierId); - const newAnnotationsData = this.fileData.getAnnotations( - this._appStateService.dictionaryData[dossier.dossierTemplateId], - this._userService.currentUser, - this.viewModeService.viewMode, - this.userPreferenceService.areDevFeaturesEnabled, - ); - if (this.annotationData) { - this._setHiddenPropertyToNewAnnotations(newAnnotationsData.visibleAnnotations, this.annotationData.visibleAnnotations); - this._setHiddenPropertyToNewAnnotations(newAnnotationsData.allAnnotations, this.annotationData.allAnnotations); - } - this.annotationData = newAnnotationsData; + const annotationFilters = this._annotationProcessingService.getAnnotationFilter(this.annotations); const primaryFilters = this._filterService.getGroup('primaryFilters')?.filters; this._filterService.addFilterGroup({ @@ -324,7 +305,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni response.manualRedactionEntryWrapper.rectId, ); this._instance.Core.annotationManager.deleteAnnotation(annotation); - // await this._filesService.reload(this.dossierId, this.fileId).toPromise(); + // await this._filesService.reload(this.dossierId, this.fileId).toPromise(); const distinctPages = manualRedactionEntryWrapper.manualRedactionEntry.positions .map(p => p.page) .filter((item, pos, self) => self.indexOf(item) === pos); @@ -431,10 +412,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni await this._reloadAnnotationsForPage(annotation?.pageNumber || this.activeViewerPage); } - ocredFile(): void { - this._reloadFileOnReanalysis = true; - } - closeFullScreen() { if (!!document.fullscreenElement && document.exitFullscreen) { document.exitFullscreen().then(); @@ -480,19 +457,10 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } private async _reloadFile(file: File): Promise { - await this._loadFileData(file, true); + await this._loadFileData(file); await this._stampPDF(); } - private _setHiddenPropertyToNewAnnotations(newAnnotations: AnnotationWrapper[], oldAnnotations: AnnotationWrapper[]) { - newAnnotations.forEach(newAnnotation => { - const oldAnnotation = oldAnnotations.find(a => a.annotationId === newAnnotation.annotationId); - if (oldAnnotation) { - newAnnotation.hidden = oldAnnotation.hidden; - } - }); - } - private async _stampPDF() { if (!this._instance) { return; @@ -554,36 +522,26 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni this.addSubscription = this._filesMapService.fileReanalysed$ .pipe(filter(file => file.fileId === this.fileId)) .subscribe(async file => { - await this._loadFileData(file, !this._reloadFileOnReanalysis); - this._reloadFileOnReanalysis = false; - await this._reloadAnnotations(); + if (file.lastProcessed !== this.fileData?.file.lastProcessed) { + await this._loadFileData(file); + await this._reloadAnnotations(); + } this._loadingService.stop(); }); } - private async _loadFileData(file: File, performUpdate = false): Promise { + private async _loadFileData(file: File): Promise { if (!file || file.isError) { return this._router.navigate([this._dossiersService.find(this.dossierId).routerLink]); } - const fileData = await this._fileDownloadService.loadDataFor(file).toPromise(); + const fileData = await this._fileDownloadService.loadDataFor(file, this.fileData).toPromise(); if (file.isPending) { return; } - if (performUpdate && !!this.fileData) { - this.fileData.redactionLog = fileData.redactionLog; - this.fileData.viewedPages = fileData.viewedPages; - const excludedOrIncludedPages = new Set(diff(this.fileData.file.excludedPages, file.excludedPages)); - const currentPageAnnotations = this.annotations.filter(a => excludedOrIncludedPages.has(a.pageNumber)); - this.fileData.file = file; - if (excludedOrIncludedPages?.size) { - await this._cleanupAndRedrawAnnotations(currentPageAnnotations, a => excludedOrIncludedPages.has(a.pageNumber)); - } - } else { - this.fileData = fileData; - } + this.fileData = fileData; } @Debounce(0) @@ -600,6 +558,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni private async _reloadAnnotationsForPage(page: number) { const currentPageAnnotations = this.annotations.filter(a => a.pageNumber === page); + this.fileData.file = await this._filesService.reload(this.dossierId, this.fileId).toPromise(); this.fileData.redactionLog = await this._fileDownloadService.loadRedactionLogFor(this.dossierId, this.fileId).toPromise(); await this._cleanupAndRedrawAnnotations(currentPageAnnotations, annotation => annotation.pageNumber === page); @@ -625,7 +584,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } } - private _redrawAnnotations(annotations = this.annotationData.allAnnotations) { + private _redrawAnnotations(annotations = this.fileData.allAnnotations) { return this._annotationDrawService.drawAnnotations( this._instance, annotations, diff --git a/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts b/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts index 170566f58..003b14a86 100644 --- a/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/annotation-actions.service.ts @@ -113,7 +113,7 @@ export class AnnotationActionsService { ); } - suggestRemoveAnnotation( + removeOrSuggestRemoveAnnotation( $event: MouseEvent, annotations: AnnotationWrapper[], file: File, @@ -290,7 +290,7 @@ export class AnnotationActionsService { title: this._translateService.instant('annotation-actions.remove-annotation.remove-from-dict'), onClick: () => { this._ngZone.run(() => { - this.suggestRemoveAnnotation(null, annotations, file, true, annotationsChanged); + this.removeOrSuggestRemoveAnnotation(null, annotations, file, true, annotationsChanged); }); }, }); @@ -405,7 +405,7 @@ export class AnnotationActionsService { title: this._translateService.instant('annotation-actions.remove-annotation.only-here'), onClick: () => { this._ngZone.run(() => { - this.suggestRemoveAnnotation(null, annotations, file, false, annotationsChanged); + this.removeOrSuggestRemoveAnnotation(null, annotations, file, false, annotationsChanged); }); }, }); @@ -441,7 +441,7 @@ export class AnnotationActionsService { viewer: WebViewerInstance, file: File, annotationWrapper: AnnotationWrapper, - annotationsChanged: EventEmitter, + annotationsChanged?: EventEmitter, ) { const data = { dossier: this._dossier(file) }; this._dialogService.openDialog('resizeAnnotation', $event, data, async (result: { comment: string }) => { diff --git a/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts b/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts index fb20bd16c..6625f138f 100644 --- a/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts @@ -7,14 +7,20 @@ import { File } from '@red/domain'; import { FileManagementService } from '@services/entity-services/file-management.service'; import { RedactionLogService } from './redaction-log.service'; import { ViewedPagesService } from '@services/entity-services/viewed-pages.service'; +import { AppStateService } from '../../../state/app-state.service'; +import { DossiersService } from '../../../services/entity-services/dossiers.service'; +import { UserPreferenceService } from '../../../services/user-preference.service'; @Injectable() export class PdfViewerDataService { constructor( + private readonly _dossiersService: DossiersService, private readonly _permissionsService: PermissionsService, private readonly _fileManagementService: FileManagementService, private readonly _redactionLogService: RedactionLogService, private readonly _viewedPagesService: ViewedPagesService, + private readonly _appStateService: AppStateService, + private readonly _userPreferenceService: UserPreferenceService, ) {} loadRedactionLogFor(dossierId: string, fileId: string) { @@ -24,12 +30,24 @@ export class PdfViewerDataService { ); } - loadDataFor(file: File): Observable { - const file$ = this.downloadOriginalFile(file); + loadDataFor(file: File, fileData?: FileDataModel): Observable { + const file$ = fileData?.file.cacheIdentifier === file.cacheIdentifier ? of(fileData.fileData) : this.downloadOriginalFile(file); const reactionLog$ = this.loadRedactionLogFor(file.dossierId, file.fileId); const viewedPages$ = this.getViewedPagesFor(file); - return forkJoin([file$, reactionLog$, viewedPages$]).pipe(map(data => new FileDataModel(file, ...data))); + const dossier = this._dossiersService.find(file.dossierId); + + return forkJoin([file$, reactionLog$, viewedPages$]).pipe( + map( + data => + new FileDataModel( + file, + ...data, + this._appStateService.dictionaryData[dossier.dossierTemplateId], + this._userPreferenceService.areDevFeaturesEnabled, + ), + ), + ); } getViewedPagesFor(file: File) { diff --git a/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts b/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts index 964825091..150f44c55 100644 --- a/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts @@ -51,7 +51,6 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, @Input() file: File; @Input() type: 'file-preview' | 'dossier-overview-list' | 'dossier-overview-workflow'; @Input() maxWidth: number; - @Output() readonly ocredFile = new EventEmitter(); toggleTooltip?: string; assignTooltip?: string; @@ -308,7 +307,6 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, $event.stopPropagation(); this._loadingService.start(); await this._reanalysisService.ocrFiles([this.file.fileId], this.file.dossierId).toPromise(); - this.ocredFile.emit(); this._loadingService.stop(); } diff --git a/apps/red-ui/src/app/services/entity-services/platform-search.service.ts b/apps/red-ui/src/app/services/entity-services/platform-search.service.ts index 752b6f07d..000d563c1 100644 --- a/apps/red-ui/src/app/services/entity-services/platform-search.service.ts +++ b/apps/red-ui/src/app/services/entity-services/platform-search.service.ts @@ -15,7 +15,7 @@ export class PlatformSearchService extends GenericService { private readonly _dossiersService: DossiersService, private readonly _filesMapService: FilesMapService, ) { - super(_injector, 'search'); + super(_injector, 'search-v2'); } search({ dossierIds, query }: ISearchInput): Observable { @@ -29,7 +29,7 @@ export class PlatformSearchService extends GenericService { const body: ISearchRequest = { dossierIds, queryString: query ?? '', - page: 1, + page: 0, returnSections: false, pageSize: 300, }; diff --git a/libs/common-ui b/libs/common-ui index 6527ccd30..3f1c419e0 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 6527ccd3077bfcb4bedf729bf09edc5bd1449502 +Subproject commit 3f1c419e0acdc92514b615611bdaa29e000a0b32 diff --git a/libs/red-domain/src/lib/file-attributes/file-attributes-config.ts b/libs/red-domain/src/lib/file-attributes/file-attributes-config.ts index e3363aebe..7aa96c500 100644 --- a/libs/red-domain/src/lib/file-attributes/file-attributes-config.ts +++ b/libs/red-domain/src/lib/file-attributes/file-attributes-config.ts @@ -2,6 +2,8 @@ import { IFileAttributeConfig } from './file-attribute-config'; export interface IFileAttributesConfig { delimiter?: string; - fileAttributeConfigs?: IFileAttributeConfig[]; + encoding?: string; filenameMappingColumnHeaderName?: string; + + fileAttributeConfigs?: IFileAttributeConfig[]; } diff --git a/libs/red-domain/src/lib/files/file.model.ts b/libs/red-domain/src/lib/files/file.model.ts index 81148059e..aa3f705da 100644 --- a/libs/red-domain/src/lib/files/file.model.ts +++ b/libs/red-domain/src/lib/files/file.model.ts @@ -93,9 +93,7 @@ export class File extends Entity implements IFile { this.hasSuggestions = !!file.hasSuggestions; this.statusSort = StatusSorter[this.workflowStatus]; - 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.hasNone = !this.hasRedactions && !this.hasHints && !this.hasSuggestions; this.isPending = this.processingStatus === ProcessingFileStatuses.UNPROCESSED; From f31917cdd5fc7a058526d2a7358f40b83fa52f14 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 11 Jan 2022 15:59:17 +0100 Subject: [PATCH 042/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dccc20358..a3ffe46d0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.135.0", + "version": "3.136.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 56ff2c7fe6c1e6fdc6bd76375caf9184b2cd08c1..e5fa769248108bff394575c2773b6739780c31de 100644 GIT binary patch delta 3114 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 E0J3Nc5dZ)H delta 3113 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 DK{_9< From 509db85b897cb518d65eb375aa7753628d06210d Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Tue, 11 Jan 2022 17:23:08 +0200 Subject: [PATCH 043/260] cleanup and i18n --- .../file-preview-screen.component.html | 4 ++-- .../file-preview-screen.component.ts | 21 ++++++++++++------- apps/red-ui/src/assets/i18n/en.json | 8 +++---- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html index ddcaa05a7..9e859f0f8 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html @@ -72,7 +72,7 @@ (pageChanged)="viewerPageChanged($event)" (viewerReady)="viewerReady($event)" *ngIf="displayPdfViewer" - [annotations]="annotations" + [annotations]="visibleAnnotations" [canPerformActions]="canPerformAnnotationActions$ | async" [class.hidden]="!ready" [dossier]="dossier" @@ -107,7 +107,7 @@ [(shouldDeselectAnnotationsOnPageChange)]="shouldDeselectAnnotationsOnPageChange" [activeViewerPage]="activeViewerPage" [annotationActionsTemplate]="annotationActionsTemplate" - [annotations]="annotations" + [annotations]="visibleAnnotations" [dialogRef]="dialogRef" [file]="file" [hideSkipped]="hideSkipped" diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 23550fee4..89d93bed1 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -132,10 +132,14 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni }); } - get annotations(): AnnotationWrapper[] { + get visibleAnnotations(): AnnotationWrapper[] { return this.fileData ? this.fileData.getVisibleAnnotations(this.viewModeService.viewMode) : []; } + get allAnnotations(): AnnotationWrapper[] { + return this.fileData ? this.fileData.allAnnotations : []; + } + get activeViewer(): WebViewerInstance { return this._instance; } @@ -244,7 +248,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } const processStartTime = new Date().getTime(); - const annotationFilters = this._annotationProcessingService.getAnnotationFilter(this.annotations); + const annotationFilters = this._annotationProcessingService.getAnnotationFilter(this.visibleAnnotations); const primaryFilters = this._filterService.getGroup('primaryFilters')?.filters; this._filterService.addFilterGroup({ slug: 'primaryFilters', @@ -265,7 +269,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni handleAnnotationSelected(annotationIds: string[]) { // TODO: use includes() here this.selectedAnnotations = annotationIds - .map(id => this.annotations.find(annotationWrapper => annotationWrapper.id === id)) + .map(id => this.visibleAnnotations.find(annotationWrapper => annotationWrapper.id === id)) .filter(ann => ann !== undefined); if (this.selectedAnnotations.length > 1) { this.multiSelectService.activate(); @@ -552,11 +556,12 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni private async _reloadAnnotations() { this.fileData.redactionLog = await this._fileDownloadService.loadRedactionLogFor(this.dossierId, this.fileId).toPromise(); - await this._cleanupAndRedrawAnnotations(this.annotations); + this._instance.Core.annotationManager.deleteAnnotations(this._instance.Core.annotationManager.getAnnotationsList()); + await this._cleanupAndRedrawAnnotations(); } private async _reloadAnnotationsForPage(page: number) { - const currentPageAnnotations = this.annotations.filter(a => a.pageNumber === page); + const currentPageAnnotations = this.visibleAnnotations.filter(a => a.pageNumber === page); this.fileData.file = await this._filesService.reload(this.dossierId, this.fileId).toPromise(); this.fileData.redactionLog = await this._fileDownloadService.loadRedactionLogFor(this.dossierId, this.fileId).toPromise(); @@ -565,7 +570,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } private async _cleanupAndRedrawAnnotations( - annotationsToDelete: AnnotationWrapper[], + annotationsToDelete?: AnnotationWrapper[], newAnnotationsFilter?: (annotation: AnnotationWrapper) => boolean, ) { this.rebuildFilters(); @@ -575,7 +580,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni annotationsToDelete?.forEach(annotation => { this._findAndDeleteAnnotation(annotation.id); }); - const newAnnotations = newAnnotationsFilter ? this.annotations.filter(newAnnotationsFilter) : this.annotations; + const newAnnotations = newAnnotationsFilter ? this.allAnnotations.filter(newAnnotationsFilter) : this.allAnnotations; this._handleDeltaAnnotationFilters(annotationsToDelete ?? [], newAnnotations); await this._redrawAnnotations(newAnnotations); console.log( @@ -584,7 +589,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } } - private _redrawAnnotations(annotations = this.fileData.allAnnotations) { + private _redrawAnnotations(annotations = this.allAnnotations) { return this._annotationDrawService.drawAnnotations( this._instance, annotations, diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 535aba2ac..0b40d292e 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -355,10 +355,10 @@ "to": "to" }, "auth-error": { - "heading": "Your user doesn't have the required RED-* roles to access this application. Please contact your admin for access!", - "heading-with-link": "Your user doesn't have the required RED-* roles to access this application. Please contact your admin for access!", - "heading-with-name": "Your user doesn't have the required RED-* roles to access this application. Please contact {adminName} for access!", - "heading-with-name-and-link": "Your user doesn't have the required RED-* roles to access this application. Please contact {adminName} for access!", + "heading": "Your user is successfully logged in but has no role assigned yet. Please contact your RedactManager administrator to assign appropriate roles.", + "heading-with-link": "Your user is successfully logged in but has no role assigned yet. Please contact your RedactManager administrator to assign appropriate roles!", + "heading-with-name": "Your user is successfully logged in but has no role assigned yet. Please contact {adminName} to assign appropriate roles.", + "heading-with-name-and-link": "Your user is successfully logged in but has no role assigned yet. Please contact {adminName} to assign appropriate roles.", "logout": "Logout" }, "by": "by", From 94e79831e793bcf0fc8f5c1b592a937a7effa732 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 11 Jan 2022 16:26:54 +0100 Subject: [PATCH 044/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a3ffe46d0..fc39baa18 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.136.0", + "version": "3.137.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index e5fa769248108bff394575c2773b6739780c31de..12af5e94bbba6a6daf11e8062e9bcef7ad4846b6 100644 GIT binary patch delta 3178 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 delta 3179 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 RZs#`L{s&0Z>mLA6004EwBlG|O From fb1ad24cb6e5d90d544441c4234ec81c5b81a0c8 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Tue, 11 Jan 2022 17:30:43 +0200 Subject: [PATCH 045/260] redraw current page only of not already procexxing --- .../file-preview-screen.component.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 89d93bed1..53216bbbc 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -561,9 +561,15 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } private async _reloadAnnotationsForPage(page: number) { - const currentPageAnnotations = this.visibleAnnotations.filter(a => a.pageNumber === page); - this.fileData.file = await this._filesService.reload(this.dossierId, this.fileId).toPromise(); + + // if this action triggered a re-processing, + // we don't want to redraw for this page since they will get redrawn as soon as processing ends; + if (this.fileData.file.isProcessing) { + return; + } + + const currentPageAnnotations = this.visibleAnnotations.filter(a => a.pageNumber === page); this.fileData.redactionLog = await this._fileDownloadService.loadRedactionLogFor(this.dossierId, this.fileId).toPromise(); await this._cleanupAndRedrawAnnotations(currentPageAnnotations, annotation => annotation.pageNumber === page); From 743835ccfe903e3e96d8c756d8107ecbdccf682e Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 11 Jan 2022 16:34:37 +0100 Subject: [PATCH 046/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fc39baa18..b57649065 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.137.0", + "version": "3.138.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 12af5e94bbba6a6daf11e8062e9bcef7ad4846b6..7fd527c0fdbae07aefdac6d2ac6e2ac2a729916a 100644 GIT binary patch delta 3112 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 Date: Tue, 11 Jan 2022 17:34:28 +0200 Subject: [PATCH 047/260] fallback color for ignored hint --- apps/red-ui/src/app/state/app-state.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index f91ec9212..42f1d8861 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -178,7 +178,7 @@ export class AppStateService { dictionaryData['ignored-hint'] = new Dictionary( { - hexColor: colors.ignoredHintColor, + hexColor: colors.ignoredHintColor || FALLBACK_COLOR, type: 'ignored-hint', }, true, From 07a57e8101f0d8a4cd849fbc4a9bdc5214be343d Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Tue, 11 Jan 2022 17:46:19 +0200 Subject: [PATCH 048/260] cleanup fix --- .../file-preview-screen/file-preview-screen.component.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 53216bbbc..61a18608d 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -556,7 +556,10 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni private async _reloadAnnotations() { this.fileData.redactionLog = await this._fileDownloadService.loadRedactionLogFor(this.dossierId, this.fileId).toPromise(); - this._instance.Core.annotationManager.deleteAnnotations(this._instance.Core.annotationManager.getAnnotationsList()); + this._instance.Core.annotationManager.deleteAnnotations(this._instance.Core.annotationManager.getAnnotationsList(), { + imported: true, + force: true, + }); await this._cleanupAndRedrawAnnotations(); } From ad50aa12b6be075194f2f9e9c37118c185915ed8 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 11 Jan 2022 16:50:15 +0100 Subject: [PATCH 049/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b57649065..9aa2b3175 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.138.0", + "version": "3.139.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 7fd527c0fdbae07aefdac6d2ac6e2ac2a729916a..9336ae523b8445b1ef7a67aae41ba1ecf232d53e 100644 GIT binary patch delta 3074 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 delta 3075 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 R+|JG3{s&5rkG23%002pA5^w+j From 9a95847d0e5ecf4adf224d5a04681f01d0a29418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Wed, 12 Jan 2022 00:31:43 +0200 Subject: [PATCH 050/260] RED-3146: Added new IMAGE_ANALYZING state --- .../translations/file-status-translations.ts | 1 + apps/red-ui/src/assets/i18n/en.json | 13 +++++++------ libs/red-domain/src/lib/files/types.ts | 2 ++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/translations/file-status-translations.ts b/apps/red-ui/src/app/modules/dossier/translations/file-status-translations.ts index 6591e01a1..5dd0404d3 100644 --- a/apps/red-ui/src/app/modules/dossier/translations/file-status-translations.ts +++ b/apps/red-ui/src/app/modules/dossier/translations/file-status-translations.ts @@ -14,6 +14,7 @@ export const processingFileStatusTranslations: { [key in ProcessingFileStatus]: DELETED: _('file-status.deleted'), ERROR: _('file-status.error'), FULLREPROCESS: _('file-status.full-reprocess'), + IMAGE_ANALYZING: _('file-status.image-analyzing'), INDEXING: _('file-status.indexing'), OCR_PROCESSING: _('file-status.ocr-processing'), PROCESSING: _('file-status.processing'), diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 0b40d292e..510458983 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -142,9 +142,6 @@ }, "annotation": "Annotation", "annotation-actions": { - "force-hint": { - "label": "Force Hint" - }, "accept-recommendation": { "label": "Accept Recommendation" }, @@ -154,6 +151,9 @@ "edit-reason": { "label": "Edit Reason" }, + "force-hint": { + "label": "Force Hint" + }, "force-redaction": { "label": "Force Redaction" }, @@ -473,13 +473,13 @@ "analysisColor": "Analysis", "defaultColor": "Default Color", "dictionaryRequestColor": "Dictionary Request", + "ignoredHintColor": "Ignored Hint", "manualRedactionColor": "Manual Redaction", "notRedacted": "Skipped", "previewColor": "Preview", "requestAdd": "Request Add", "requestRemove": "Request Remove", - "updatedColor": "Updated", - "ignoredHintColor": "Ignored Hint" + "updatedColor": "Updated" } }, "dev-mode": "DEV", @@ -1114,6 +1114,7 @@ "deleted": "Deleted", "error": "Re-processing required", "full-reprocess": "Processing", + "image-analyzing": "Image Analyzing", "indexing": "Processing", "new": "New", "ocr-processing": "OCR Processing", @@ -1287,8 +1288,8 @@ "header": { "dictionary": "Add to dictionary", "false-positive": "Set false positive", - "force-redaction": "Force Redaction", "force-hint": "Force Hint", + "force-redaction": "Force Redaction", "redaction": "Redaction", "request-dictionary": "Request add to dictionary", "request-false-positive": "Request false positive", diff --git a/libs/red-domain/src/lib/files/types.ts b/libs/red-domain/src/lib/files/types.ts index dce23e0a1..2cb697783 100644 --- a/libs/red-domain/src/lib/files/types.ts +++ b/libs/red-domain/src/lib/files/types.ts @@ -14,6 +14,7 @@ export const ProcessingFileStatuses = { DELETED: 'DELETED', ERROR: 'ERROR', FULLREPROCESS: 'FULLREPROCESS', + IMAGE_ANALYZING: 'IMAGE_ANALYZING', INDEXING: 'INDEXING', OCR_PROCESSING: 'OCR_PROCESSING', PROCESSED: 'PROCESSED', @@ -28,6 +29,7 @@ export const isProcessingStatuses: List = [ ProcessingFileStatuses.REPROCESS, ProcessingFileStatuses.FULLREPROCESS, ProcessingFileStatuses.OCR_PROCESSING, + ProcessingFileStatuses.IMAGE_ANALYZING, ProcessingFileStatuses.INDEXING, ProcessingFileStatuses.PROCESSING, ] as const; From e2fae352ce62186a89ebc46b5f12076e6adb2ce8 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 11 Jan 2022 23:35:33 +0100 Subject: [PATCH 051/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9aa2b3175..311d988d8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.139.0", + "version": "3.140.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 9336ae523b8445b1ef7a67aae41ba1ecf232d53e..ac9d35ffd862c0d9268708cd5e2aac1d5dcdb6c1 100644 GIT binary patch delta 3180 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 S+qs>az5NgH2eLN+Pyhh$`BZlR delta 3171 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 Date: Wed, 12 Jan 2022 10:16:28 +0200 Subject: [PATCH 052/260] changed 'click' to 'action' --- .../add-edit-dictionary-dialog.component.html | 2 +- .../add-edit-dossier-template-dialog.component.html | 2 +- .../add-edit-file-attribute-dialog.component.html | 2 +- .../dialogs/edit-color-dialog/edit-color-dialog.component.html | 2 +- .../edit-dossier-dialog/edit-dossier-dialog.component.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html index abcf375f0..fdef99666 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html @@ -101,5 +101,5 @@
- +
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html index fe2e2f28c..9fa14f36b 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html @@ -88,5 +88,5 @@
- + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html index 7a8b7aa38..1113f5e46 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html @@ -90,5 +90,5 @@
- + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html index 873c58145..0cf76231a 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html @@ -34,5 +34,5 @@
- + diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html index 2500c6cd4..ef9f87ce3 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html @@ -65,5 +65,5 @@ - + From 3f847c21a61744f7164f1fb973e3011fd6bc2b6c Mon Sep 17 00:00:00 2001 From: Valentin Date: Wed, 12 Jan 2022 10:38:07 +0200 Subject: [PATCH 053/260] stored initial form as a simple object instead of a form --- .../add-edit-dictionary-dialog.component.ts | 2 +- .../add-edit-dossier-template-dialog.component.ts | 2 +- .../add-edit-file-attribute-dialog.component.ts | 2 +- .../dialogs/edit-color-dialog/edit-color-dialog.component.ts | 2 +- .../src/app/modules/shared/dialog/base-dialog.component.ts | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index 89e15164e..9327ec6bc 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -46,7 +46,7 @@ export class AddEditDictionaryDialogComponent extends BaseDialogComponent { ) { super(_injector, _dialogRef); this.form = this._getForm(this.dictionary); - this.initialForm = this._getForm(this.dictionary); + this.initialFormValue = this.form.getRawValue(); this.hasColor$ = this._colorEmpty$; this.technicalName$ = this.form.get('label').valueChanges.pipe(map(value => this._toTechnicalName(value))); } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index f263a5904..fb541d419 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -42,7 +42,7 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { ) { super(_injector, _dialogRef); this.form = this._getForm(); - this.initialForm = this._getForm(); + this.initialFormValue = this.form.getRawValue(); this.hasValidFrom = !!this.dossierTemplate?.validFrom; this.hasValidTo = !!this.dossierTemplate?.validTo; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index 1e17d2d58..387c78462 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -39,7 +39,7 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { this.canSetDisplayed = data.numberOfDisplayedAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.displayedInFileList; this.canSetFilterable = data.numberOfFilterableAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.filterable; this.form = this._getForm(this.fileAttribute); - this.initialForm = this._getForm(this.fileAttribute); + this.initialFormValue = this.form.getRawValue(); } save() { diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index bbef7e13d..ebc4e483d 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -38,7 +38,7 @@ export class EditColorDialogComponent extends BaseDialogComponent { this._dossierTemplateId = data.dossierTemplateId; this.form = this._getForm(); - this.initialForm = this._getForm(); + this.initialFormValue = this.form.getRawValue(); } async save() { diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts index 486aded3f..f1452b5bb 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts @@ -23,7 +23,7 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI protected _waitingForConfirmation = false; form!: FormGroup; - initialForm!: FormGroup; + initialFormValue; constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { super(); @@ -43,7 +43,7 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI get changed(): boolean { for (const key of Object.keys(this.form.getRawValue())) { - const initialValue = this.initialForm.get(key).value; + const initialValue = this.initialFormValue[key]; const updatedValue = this.form.get(key).value; if (initialValue == null && updatedValue != null) { From 230d7814c084dc1ccb72febb2e31378a3021773e Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 12 Jan 2022 10:26:08 +0200 Subject: [PATCH 054/260] fixed ocr doc reload issue --- .../file-preview-screen.component.ts | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 61a18608d..bf35e0ffd 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -389,6 +389,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni async viewerReady($event: WebViewerInstance) { this._instance = $event; this.ready = true; + await this._stampPDF(); await this._reloadAnnotations(); this._setExcludedPageStyles(); @@ -410,6 +411,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } else { this._loadingService.stop(); } + this._changeDetectorRef.markForCheck(); } async annotationsChangedByReviewAction(annotation: AnnotationWrapper) { @@ -469,19 +471,25 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni if (!this._instance) { return; } + + const document = this._instance.Core.documentViewer.getDocument(); + if (!document) { + return; + } + const pdfNet = this._instance.Core.PDFNet; - const document = await this._instance.Core.documentViewer.getDocument().getPDFDoc(); + const pdfDoc = await this._instance.Core.documentViewer.getDocument().getPDFDoc(); const file = this._filesMapService.get(this.dossierId, this.fileId); const allPages = [...Array(file.numberOfPages).keys()].map(page => page + 1); - await clearStamps(document, pdfNet, allPages); + await clearStamps(pdfDoc, pdfNet, allPages); if (this.viewModeService.viewMode === 'REDACTED') { const dossier = this._dossiersService.find(this.dossierId); if (dossier.watermarkPreviewEnabled) { - await this._stampPreview(document, dossier.dossierTemplateId); + await this._stampPreview(pdfDoc, dossier.dossierTemplateId); } } else { - await this._stampExcludedPages(document, file.excludedPages); + await this._stampExcludedPages(pdfDoc, file.excludedPages); } this._instance.Core.documentViewer.refreshAll(); this._instance.Core.documentViewer.updateView([this.activeViewerPage], this.activeViewerPage); From 55946c55b7ffb48174f76d1ce42ed575fef14fbf Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 12 Jan 2022 10:44:54 +0200 Subject: [PATCH 055/260] download notification --- .../components/base-screen/base-screen.component.html | 2 -- .../components/base-screen/base-screen.component.ts | 5 ----- .../upload-download/services/file-download.service.ts | 10 ---------- 3 files changed, 17 deletions(-) diff --git a/apps/red-ui/src/app/components/base-screen/base-screen.component.html b/apps/red-ui/src/app/components/base-screen/base-screen.component.html index 534a5c4fb..1f7abb691 100644 --- a/apps/red-ui/src/app/components/base-screen/base-screen.component.html +++ b/apps/red-ui/src/app/components/base-screen/base-screen.component.html @@ -27,7 +27,6 @@ @@ -36,7 +35,6 @@ diff --git a/apps/red-ui/src/app/components/base-screen/base-screen.component.ts b/apps/red-ui/src/app/components/base-screen/base-screen.component.ts index 1771c2bdd..759273a83 100644 --- a/apps/red-ui/src/app/components/base-screen/base-screen.component.ts +++ b/apps/red-ui/src/app/components/base-screen/base-screen.component.ts @@ -36,26 +36,22 @@ export class BaseScreenComponent { routerLink: '/main/account', show: true, action: this.appStateService.reset, - showDot: () => false, }, { name: _('top-bar.navigation-items.my-account.children.admin'), routerLink: '/main/admin', show: this.currentUser.isManager || this.currentUser.isUserAdmin, action: this.appStateService.reset, - showDot: () => false, }, { name: _('top-bar.navigation-items.my-account.children.downloads'), routerLink: '/main/downloads', show: this.currentUser.isUser, - showDot: () => this.fileDownloadService.hasPendingDownloads, }, { name: _('top-bar.navigation-items.my-account.children.trash'), routerLink: '/main/admin/trash', show: this.currentUser.isManager, - showDot: () => false, }, ]; readonly searchActions: readonly SpotlightSearchAction[] = [ @@ -85,7 +81,6 @@ export class BaseScreenComponent { readonly userService: UserService, readonly userPreferenceService: UserPreferenceService, readonly titleService: Title, - readonly fileDownloadService: FileDownloadService, private readonly _router: Router, private readonly _translateService: TranslateService, readonly breadcrumbsService: BreadcrumbsService, diff --git a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts index ede23950a..bbc3e3acd 100644 --- a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts +++ b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts @@ -16,8 +16,6 @@ import { EntitiesService, List, mapEach, RequiredParam, Validate } from '@iqser/ @Injectable() export class FileDownloadService extends EntitiesService { - hasPendingDownloads = false; - constructor( private readonly _userService: UserService, private readonly _keycloakService: KeycloakService, @@ -25,13 +23,6 @@ export class FileDownloadService extends EntitiesService user.isUser), - switchMap(() => this.loadAll()), - ) - .subscribe(); } downloadFiles(fileIds: List, dossierId: string): Observable { @@ -45,7 +36,6 @@ export class FileDownloadService extends EntitiesService new DownloadStatus(entity)), tap(entities => this.setEntities(entities)), - tap(() => (this.hasPendingDownloads = !!this.all.find(f => !f.lastDownload && f.isReady))), ); } From 0369bf55779f1b04df927de7f705d38f3736c214 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 12 Jan 2022 09:48:36 +0100 Subject: [PATCH 056/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 311d988d8..d8ac1638b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.140.0", + "version": "3.141.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index ac9d35ffd862c0d9268708cd5e2aac1d5dcdb6c1..ba13b99237a61e23b55a2b9dc0647ebde5530af5 100644 GIT binary patch delta 3101 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 Date: Wed, 12 Jan 2022 10:55:56 +0200 Subject: [PATCH 057/260] dl screen --- .../downloads-list-screen/downloads-list-screen.component.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts b/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts index 73cee8af0..2e8cd19ce 100644 --- a/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts +++ b/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts @@ -11,6 +11,8 @@ import { } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { RouterHistoryService } from '@services/router-history.service'; +import { interval } from 'rxjs'; +import { switchMap } from 'rxjs/operators'; @Component({ selector: 'redaction-downloads-list-screen', @@ -43,6 +45,9 @@ export class DownloadsListScreenComponent extends ListingComponent this._loadData())) + .subscribe(); } downloadItem(download: DownloadStatus) { From 95e898c03c8bb8585bfb066e47679bf49b7b60f6 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 12 Jan 2022 09:59:40 +0100 Subject: [PATCH 058/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3200 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d8ac1638b..b0ec78d81 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.141.0", + "version": "3.142.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index ba13b99237a61e23b55a2b9dc0647ebde5530af5..40e1c49bfcb916035f1f888d6e777e27aaed8509 100644 GIT binary patch delta 3112 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 Date: Wed, 12 Jan 2022 13:09:06 +0200 Subject: [PATCH 059/260] Fixed arrow navigation --- .../file-preview-screen.component.html | 2 +- .../file-preview-screen.component.ts | 41 ++++++++++--------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html index 9e859f0f8..33575b2ea 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html @@ -67,7 +67,7 @@ this.permissionsService.canPerformAnnotationActions(file) && viewMode === 'STANDARD'), @@ -331,6 +318,14 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } } + handleArrowEvent($event: KeyboardEvent): void { + if (['ArrowUp', 'ArrowDown'].includes($event.key)) { + if (this.selectedAnnotations.length === 1) { + this._workloadComponent.navigateAnnotations($event); + } + } + } + @HostListener('window:keyup', ['$event']) handleKeyEvent($event: KeyboardEvent) { if (this._router.url.indexOf('/file/') < 0) { @@ -341,13 +336,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni return; } - if (['ArrowUp', 'ArrowDown'].includes($event.key)) { - if (this.selectedAnnotations.length === 1) { - this._workloadComponent.navigateAnnotations($event); - } - return; - } - if (['Escape'].includes($event.key)) { this.fullScreen = false; this.closeFullScreen(); @@ -447,6 +435,19 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni return false; } + private _setActiveViewerPage() { + const currentPage = this._instance?.Core.documentViewer?.getCurrentPage(); + if (!currentPage) { + this.activeViewerPage = 1; + } else { + this.activeViewerPage = this.viewModeService.isCompare + ? currentPage % 2 === 0 + ? currentPage / 2 + : (currentPage + 1) / 2 + : currentPage; + } + } + private _setExcludedPageStyles() { const file = this._filesMapService.get(this.dossierId, this.fileId); setTimeout(() => { From 33f93592f68ac9784e14ff61c44bea4d74030bbc Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 12 Jan 2022 12:13:38 +0100 Subject: [PATCH 060/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3200 -> 3202 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b0ec78d81..3fb6881a0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.142.0", + "version": "3.143.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 40e1c49bfcb916035f1f888d6e777e27aaed8509..e07249f0a9eca0d02c26cb4e514880860e951e50 100644 GIT binary patch delta 3150 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 delta 3112 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 Date: Wed, 12 Jan 2022 13:13:41 +0200 Subject: [PATCH 061/260] moved 'base-dialog component' and 'confirmation-dialog service' in common --- .../add-edit-dictionary-dialog.component.ts | 3 +- ...-edit-dossier-template-dialog.component.ts | 3 +- ...dd-edit-file-attribute-dialog.component.ts | 2 +- .../edit-color-dialog.component.ts | 3 +- .../edit-dossier-dialog.component.ts | 3 +- .../shared/dialog/base-dialog.component.ts | 112 ------------------ .../dialog/confirmation-dialog.service.ts | 36 ------ .../src/app/modules/shared/shared.module.ts | 2 - libs/common-ui | 2 +- 9 files changed, 6 insertions(+), 160 deletions(-) delete mode 100644 apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts delete mode 100644 apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index 9327ec6bc..c30dbe9e9 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/c import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Observable } from 'rxjs'; -import { shareDistinctLast, Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, shareDistinctLast, Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { AppStateService } from '@state/app-state.service'; @@ -12,7 +12,6 @@ import { Dictionary, IDictionary } from '@red/domain'; import { UserService } from '@services/user.service'; import { map } from 'rxjs/operators'; import { HttpStatusCode } from '@angular/common/http'; -import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; @Component({ selector: 'redaction-add-edit-dictionary-dialog', diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index fb541d419..c7e6e6905 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -7,11 +7,10 @@ import { Moment } from 'moment'; import { applyIntervalConstraints } from '@utils/date-inputs-utils'; import { downloadTypesTranslations } from '../../../../translations/download-types-translations'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; -import { Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DownloadFileType, IDossierTemplate } from '@red/domain'; import { HttpStatusCode } from '@angular/common/http'; -import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; @Component({ templateUrl: './add-edit-dossier-template-dialog.component.html', diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index 387c78462..cea36c802 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -4,7 +4,7 @@ import { FileAttributeConfigTypes, IFileAttributeConfig } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { fileAttributeTypesTranslations } from '../../translations/file-attribute-types-translations'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; -import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; +import { BaseDialogComponent } from '../../../../../../../../libs/common-ui/src'; @Component({ selector: 'redaction-add-edit-file-attribute-dialog', diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index ebc4e483d..c98d2b51a 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -1,13 +1,12 @@ import { Component, Inject, Injector } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { DefaultColorType, IColors } from '@red/domain'; -import { Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, Toaster } from '@iqser/common-ui'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; import { defaultColorsTranslations } from '../../translations/default-colors-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DictionaryService } from '@shared/services/dictionary.service'; -import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; interface IEditColorData { colors: IColors; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index 763bf3539..0330560ca 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -4,7 +4,7 @@ import { Dossier } from '@red/domain'; import { EditDossierGeneralInfoComponent } from './general-info/edit-dossier-general-info.component'; import { EditDossierDownloadPackageComponent } from './download-package/edit-dossier-download-package.component'; import { EditDossierSectionInterface } from './edit-dossier-section.interface'; -import { ConfirmOptions, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, ConfirmOptions, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { EditDossierDictionaryComponent } from './dictionary/edit-dossier-dictionary.component'; import { EditDossierAttributesComponent } from './attributes/edit-dossier-attributes.component'; @@ -14,7 +14,6 @@ import { DossiersService } from '@services/entity-services/dossiers.service'; import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { EditDossierTeamComponent } from './edit-dossier-team/edit-dossier-team.component'; -import { BaseDialogComponent } from '@shared/dialog/base-dialog.component'; import { PermissionsService } from '@services/permissions.service'; type Section = 'dossierInfo' | 'downloadPackage' | 'dossierDictionary' | 'members' | 'dossierAttributes' | 'deletedDocuments'; diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts deleted file mode 100644 index f1452b5bb..000000000 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { Directive, HostListener, Injector, OnInit } from '@angular/core'; -import { AutoUnsubscribe, ConfirmOptions, IqserEventTarget } from '../../../../../../../libs/common-ui/src'; -import { MatDialogRef } from '@angular/material/dialog'; -import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; -import { FormGroup } from '@angular/forms'; -import * as moment from 'moment'; - -@Directive() -/** - * Extend this component when you want to submit the form after pressing enter. - * - * This could be done by adding properties (submit)="save()" on the form and type="submit" on the save button. - * However, some components (e.g. redaction-select, color picker) don't set focus on the input after choosing a value. - * Also, other components (e.g. dropdown select) trigger a different action on enter, instead of submit. - * - * Make sure to remove property type="submit" from the save button and the (submit)="save()" property from the form - * (otherwise the save request will be triggered twice). - * */ -export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnInit { - abstract disabled: boolean; - - protected readonly _dialogService: ConfirmationDialogService = this._injector.get(ConfirmationDialogService); - protected _waitingForConfirmation = false; - - form!: FormGroup; - initialFormValue; - - constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { - super(); - } - - abstract save(closeAfterSave?: boolean): void; - - ngOnInit(): void { - this.addSubscription = this._dialogRef.backdropClick().subscribe(() => { - this.close(); - }); - } - - get valid(): boolean { - return this.form.valid; - } - - get changed(): boolean { - for (const key of Object.keys(this.form.getRawValue())) { - const initialValue = this.initialFormValue[key]; - const updatedValue = this.form.get(key).value; - - if (initialValue == null && updatedValue != null) { - const updatedValueType = typeof updatedValue; - if (updatedValueType !== 'string' && updatedValueType !== 'boolean') { - return true; - } else if (updatedValueType === 'string' && updatedValue.length > 0) { - return true; - } else if (updatedValueType === 'boolean' && updatedValue === true) { - return true; - } - } else if (initialValue !== updatedValue) { - if (Array.isArray(updatedValue)) { - if (JSON.stringify(initialValue) !== JSON.stringify(updatedValue)) { - return true; - } - } else if (updatedValue instanceof moment) { - if (!moment(updatedValue).isSame(moment(initialValue))) { - return true; - } - } else { - return true; - } - } - } - return false; - } - - close(): void { - if (this.changed) { - this._openConfirmDialog().then(result => { - if (result in ConfirmOptions) { - if (result === ConfirmOptions.CONFIRM) { - this.save(true); - } else { - this._dialogRef.close(); - } - } - this._waitingForConfirmation = false; - }); - } else { - this._dialogRef.close(); - } - } - - protected _openConfirmDialog() { - this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); - return dialogRef.afterClosed().toPromise(); - } - - @HostListener('window:keydown.Enter', ['$event']) - onEnter(event: KeyboardEvent): void { - const node = (event.target as IqserEventTarget).localName; - if (this.valid && !this.disabled && this.changed && node !== 'textarea') { - this.save(); - } - } - - @HostListener('window:keydown.Escape', ['$event']) - onEscape(): void { - if (!this._waitingForConfirmation) { - this.close(); - } - } -} diff --git a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts deleted file mode 100644 index efab94dbd..000000000 --- a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Injectable } from '@angular/core'; -import { ConfirmationDialogComponent, ConfirmationDialogInput, DialogConfig, DialogService, TitleColors } from '@iqser/common-ui'; -import { MatDialog, MatDialogRef } from '@angular/material/dialog'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; - -type DialogType = 'confirm'; - -@Injectable() -export class ConfirmationDialogService extends DialogService { - protected readonly _config: DialogConfig = { - confirm: { - component: ConfirmationDialogComponent, - dialogConfig: { disableClose: false }, - }, - }; - - constructor(protected readonly _dialog: MatDialog) { - super(_dialog); - } - - openDialog(data?): MatDialogRef { - return super.openDialog( - 'confirm', - null, - new ConfirmationDialogInput({ - title: _('confirmation-dialog.unsaved-changes.title'), - question: _('confirmation-dialog.unsaved-changes.question'), - details: _('confirmation-dialog.unsaved-changes.details'), - confirmationText: _('confirmation-dialog.unsaved-changes.confirmation-text'), - discardChangesText: _('confirmation-dialog.unsaved-changes.discard-changes-text'), - disableConfirm: data.disableConfirm, - titleColor: TitleColors.WARN, - }), - ); - } -} diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts index 81e3e3122..4f606ceb9 100644 --- a/apps/red-ui/src/app/modules/shared/shared.module.ts +++ b/apps/red-ui/src/app/modules/shared/shared.module.ts @@ -26,7 +26,6 @@ import { TypeFilterComponent } from './components/type-filter/type-filter.compon import { TeamMembersComponent } from './components/team-members/team-members.component'; import { EditorComponent } from './components/editor/editor.component'; import { ExpandableFileActionsComponent } from './components/expandable-file-actions/expandable-file-actions.component'; -import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; const buttons = [FileDownloadBtnComponent, UserButtonComponent]; @@ -70,7 +69,6 @@ const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, Rea }, }, }, - ConfirmationDialogService, ], }) export class SharedModule {} diff --git a/libs/common-ui b/libs/common-ui index b3a820ca9..afed41403 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit b3a820ca960c4cb5d8afa6b4949a720b3075fb85 +Subproject commit afed414030f936da36aa993a1945591b5c451861 From fb0cf403d10d8d4c40eec802da7b14c8a3aed57c Mon Sep 17 00:00:00 2001 From: Valentin Date: Wed, 12 Jan 2022 13:42:08 +0200 Subject: [PATCH 062/260] removed 'dossier-info' icon --- .../dossiers-listing-actions.component.html | 2 +- libs/common-ui | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html index 6dec76bb6..c37bd2a84 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.html @@ -12,7 +12,7 @@ *ngIf="currentUser.isUser" [tooltip]="(currentUser.isManager ? 'dossier-listing.edit.action' : 'dossier-listing.dossier-info.action') | translate" [type]="circleButtonTypes.dark" - [icon]="currentUser.isManager ? 'iqser:edit' : 'iqser:dossier-info'" + [icon]="currentUser.isManager ? 'iqser:edit' : 'red:info'" iqserHelpMode="edit-dossier-from-list" >
diff --git a/libs/common-ui b/libs/common-ui index 3f1c419e0..10ed48587 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 3f1c419e0acdc92514b615611bdaa29e000a0b32 +Subproject commit 10ed48587427e7e6e4015dd905253ac87514d3db From 8a1122ef890c2eea522e0ab533cdf48a4367b241 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 12 Jan 2022 12:46:07 +0100 Subject: [PATCH 063/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3202 -> 3201 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3fb6881a0..325e6fab1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.143.0", + "version": "3.144.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index e07249f0a9eca0d02c26cb4e514880860e951e50..9de28d828a2c602eb4dfa803d589fc7a92def731 100644 GIT binary patch delta 3112 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 Do?RUN From 21e900d34e6a55c0ba10111cc0995783dba6931c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Wed, 12 Jan 2022 14:43:12 +0200 Subject: [PATCH 064/260] RED-3165: Due date approaching/passed indicator --- .../dossiers-listing-dossier-name.component.html | 12 ++++++------ .../dossiers-listing-dossier-name.component.ts | 15 +++++++++++++++ libs/common-ui | 2 +- 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.html index 7f8d42a1e..c12eabe47 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.html @@ -9,28 +9,28 @@ -
-
+
+
{{ dossierStats.numberOfFiles }}
-
+
{{ dossierStats.numberOfPages }}
-
+
{{ dossier.memberIds.length }}
-
+
{{ dossier.date | date: 'mediumDate' }}
-
+
{{ dossier.dueDate | date: 'mediumDate' }}
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.ts index 5a270d9fc..3e5d2afc9 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.ts @@ -3,6 +3,9 @@ import { Dossier, DossierStats } from '@red/domain'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { DossierStatsService } from '@services/entity-services/dossier-stats.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; +import * as moment from 'moment'; + +const DUE_DATE_WARN_DAYS = 14; @Component({ selector: 'redaction-dossiers-listing-dossier-name', @@ -20,6 +23,18 @@ export class DossiersListingDossierNameComponent { private readonly _dossiersService: DossiersService, ) {} + get approachingDueDate(): boolean { + return this._dueDateDaysDiff >= 0 && this._dueDateDaysDiff <= DUE_DATE_WARN_DAYS; + } + + get passedDueDate(): boolean { + return this._dueDateDaysDiff < 0; + } + + private get _dueDateDaysDiff(): number { + return moment(this.dossier.dueDate).diff(moment(), 'days') + 1; + } + getDossierTemplateNameFor(dossierTemplateId: string): string { return this._dossierTemplatesService.find(dossierTemplateId).name; } diff --git a/libs/common-ui b/libs/common-ui index 10ed48587..5341338d3 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 10ed48587427e7e6e4015dd905253ac87514d3db +Subproject commit 5341338d36d55b63fb0ff08b0d5779b80ed5902f From 9d554fd11173720bb17589722408d136b6c9c68f Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 12 Jan 2022 13:53:27 +0100 Subject: [PATCH 065/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3201 -> 3214 bytes paligo-theme/paligo-styles/redacto-theme.css | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 325e6fab1..e43b3cad2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.144.0", + "version": "3.145.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 9de28d828a2c602eb4dfa803d589fc7a92def731..64245b5465f2eb988a994189b4b751a602fc72f8 100644 GIT binary patch literal 3214 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 A`~Uy| delta 3200 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 diff --git a/paligo-theme/paligo-styles/redacto-theme.css b/paligo-theme/paligo-styles/redacto-theme.css index 5ceef3777..fc5511db6 100644 --- a/paligo-theme/paligo-styles/redacto-theme.css +++ b/paligo-theme/paligo-styles/redacto-theme.css @@ -324,6 +324,7 @@ li.searchresultitem { --iqser-green-2: #5ce594; --iqser-yellow-1: #ffb83b; --iqser-yellow-2: #fdbd00; + --iqser-yellow-rgb: 253, 189, 0; --iqser-red-1: #dd4d50; --iqser-blue-5: #c5d3eb; --iqser-helpmode-primary: green; From 99316c2cab246cf153a0894c495534068908351e Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 12 Jan 2022 15:51:09 +0200 Subject: [PATCH 066/260] detect changes --- .../modules/admin/screens/rules/rules-screen.component.ts | 5 ++++- .../src/app/modules/dossier/utils/pdf-viewer.utils.ts | 8 +++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts index b691bd9c5..9e4809505 100644 --- a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Component, ElementRef, OnInit, ViewChild } from '@angular/core'; +import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, OnInit, ViewChild } from '@angular/core'; import { PermissionsService } from '@services/permissions.service'; import { Debounce, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; @@ -38,6 +38,7 @@ export class RulesScreenComponent extends ComponentHasChanges implements OnInit constructor( readonly permissionsService: PermissionsService, private readonly _rulesService: RulesService, + private readonly _changeDetectorRef: ChangeDetectorRef, private readonly _dossierTemplatesService: DossierTemplatesService, private readonly _toaster: Toaster, protected readonly _translateService: TranslateService, @@ -74,6 +75,7 @@ export class RulesScreenComponent extends ComponentHasChanges implements OnInit }, }); (window as any).monaco.editor.setTheme('redaction'); + this._changeDetectorRef.detectChanges(); } @Debounce() @@ -106,6 +108,7 @@ export class RulesScreenComponent extends ComponentHasChanges implements OnInit revert(): void { this.currentLines = this.initialLines; this._decorations = this._codeEditor?.deltaDecorations(this._decorations, []) || []; + this._changeDetectorRef.detectChanges(); this._loadingService.stop(); } diff --git a/apps/red-ui/src/app/modules/dossier/utils/pdf-viewer.utils.ts b/apps/red-ui/src/app/modules/dossier/utils/pdf-viewer.utils.ts index e441e1dd1..54ea63b1f 100644 --- a/apps/red-ui/src/app/modules/dossier/utils/pdf-viewer.utils.ts +++ b/apps/red-ui/src/app/modules/dossier/utils/pdf-viewer.utils.ts @@ -109,6 +109,12 @@ export class PdfViewerUtils { for (const hotkey of DISABLED_HOTKEYS) { this.instance.UI.hotkeys.off(hotkey); } + console.log('disable', this.instance); + this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.DOWN); + this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.UP); + this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.PAGE_UP); + this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.PAGE_DOWN); + this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.P); } translateQuads(page: number, quads: any) { @@ -121,7 +127,7 @@ export class PdfViewerUtils { } selectAnnotations(annotations?: AnnotationWrapper[], multiSelectActive: boolean = false) { - if (!annotations){ + if (!annotations) { return; } if (!multiSelectActive) { From 69650775540b4292c0129b083eea679439d6adf7 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 12 Jan 2022 15:51:45 +0200 Subject: [PATCH 067/260] revert --- .../src/app/modules/dossier/utils/pdf-viewer.utils.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/utils/pdf-viewer.utils.ts b/apps/red-ui/src/app/modules/dossier/utils/pdf-viewer.utils.ts index 54ea63b1f..90fc310e4 100644 --- a/apps/red-ui/src/app/modules/dossier/utils/pdf-viewer.utils.ts +++ b/apps/red-ui/src/app/modules/dossier/utils/pdf-viewer.utils.ts @@ -109,12 +109,6 @@ export class PdfViewerUtils { for (const hotkey of DISABLED_HOTKEYS) { this.instance.UI.hotkeys.off(hotkey); } - console.log('disable', this.instance); - this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.DOWN); - this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.UP); - this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.PAGE_UP); - this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.PAGE_DOWN); - this.instance.UI.hotkeys.off(this.instance.UI.hotkeys.Keys.P); } translateQuads(page: number, quads: any) { From 3224a1d9aed3883cae13154e5a82c0589cbe436b Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 12 Jan 2022 14:56:40 +0100 Subject: [PATCH 068/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e43b3cad2..b7451d28e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.145.0", + "version": "3.146.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 64245b5465f2eb988a994189b4b751a602fc72f8..77cea4bdd80b87c4f39ccaa2c7a7f39480b28ebd 100644 GIT binary patch delta 3097 zcmV+!4CeEW8IBo{cM1?J0uTBfJ8*(mk%1w9zpz%9cNcHywk#@!nku`x zOc^Wd_03IEeuh*2}Z1%88*&BO* z=Gpe0J@duiK>S^Zzf19V1%Dke#}RWJF~<>e95Kh?bAA)ky3Fv?C-nm^FR$+|=A1s9 zSt-FWsnEYJ5PE0PJSLB8Ie`n46CN^$Qmtwe7=C}dXURQQQ;`fa`j#BV zJ#Rm)gpw>4E6G(H+x|628Wt6oBXY_|R2LbI(MPct2Ql6aS{06IQv>HMT?RRSCrNT5 zE$cNHLPXLc>l9y{Hh6UYQH0BnXsl8F_hCtIVu$i+S!&z_ps$p$o)5vy#% zj7FF%c0xFswx0LFzec#lq3g=m&CCEeSAJMDnj}TlQ-@A+TT4H-bBd0C?#Ozts2NNT zJ*Rmt?W1#iLO;C#Hx-R}2miDf*+MTPoUmpKu?jg!#sBMPY%q}E4p<+oriBkVrfEu% zipFNY(f9(=%^Q6wafwfE@5X*t<8jKPPHWOY*gBzA&8#S;(%A?xwDN&@xkOODf1Ut@% zCMeYv)wvrzA}`=kcH}A#)05}!vdYjVeWH^Z7>rE zj&T|Tx6$REJRIJ9j6SD%Mks6Y4f^=zVh+eGkO0Xn$LL8f|B<-M<)z>jp#NS}_eoYf z3}D?USUYlh*uQ~hni|TRcd$4}N=M;Mp>XWm9>r%QZ`eChZAt$AJFZ}4l~s|@Y=F$4 zq{m*W$Z(WaG)ftN-Iz!UCb1-5kL9Z-N|PqP7eQEuUrbZs_VAyFB!`u0j(GCZF<6A8 zO0xIgMk#^*8ht5>|3BdzZ%9=S)>%$!&R_NGd|6}}tixsY8L7x5)2m6MSALJ|_eEV( zAQxz1q{j<;^8sgUgz|P0J>lUV&mS_N5s%oL z+zhrG?`Zh+FaP`Ze`<7-14@W%J<1{|SgDlWVkdYb80J$kI;B#PrbUxhnB!??NM+O-Tq&vp7 z4_1)F;&8mm_md}%6F7a9I;Ukxm?kiuF0{$gG_*8-CM&F>(J8an6E>1h?91PmpI74+1br!j%^q23@0~x+XV9C2%L5XbC;)_K7l#c_h|RkGw)2VR#c=J>5O+KyV}Mn8D=C=GqEY4Cff(zRWV0^??>eKbsH-pG~Z-TW!hgY z2pb6GN_<=*Qf2#k2&9^wze8U1jxsDBtvbbV@z5Q!scxA22v@J$I;#s5TKW3j4bFU5 z5DdyxjTXCSWCD0t`0O=lqXkTVqn2|C<65+v3}p^KkQyx+{KP+qbI`ECra;#0)tW9^IO<@|sdd0WJfo!E0m2|dB{?jXY;_^^3BhU3DPrF|| zYr8JV;jRN1)sF>-_9fGQG*{Yee@b90Cd418fp&N;+&(c-B=POHp78dkB)a{*?5Ha>;!1_KQj*r1jlRf4 zNK*Y*sXG_9_jz-1cx!laGHDmXt@zyGXg`3-_-U}>E@$gf1|!6O8f0)K@0p6kVoxQx z9%qsL(WJN(E5d&Qlhc=v>ZH!c?mM9E+>w$WKtaa$8W#!}R(ty3+cQW7W@r)cqX);o z9xVo%D>dO89I4s3)#G0Nu#QFp@;LGTd%m%KqxaUb#YK%GAM z;y|Bt+(Ux_%#rU42IRc>S-}wBOEPF(yWJy#0iS!{4xA#$zCb@oki9=Ht0E#XSf41- z<~1YbfmgQ^DV}3WQO2^<#owPpeAAG+egyGgQNe zRg;Pezxxv(iwgEqXNJU=Iee2{Zr|m0U0&bibzOen<#$~{-xYLSi@s|iyUOmfB4d|z zoakEGk35WjotS#s8SEsI4?cPwNq-pnPJHhEJXYQiWB1JVAjUw$sOWx((K{BS@2MCS z(|KXQe;!-jDCs+`Xpk7kx#PazBS6d%tQ$PK{GCLQ6j3vE>HSmxuPx_xZs&Gx=XP%A nc5df(Zs&Gx=XP%Ac5df(Zs&Gx=XP$t*!F*DpQ92408jt`#SQgz delta 3097 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 Date: Wed, 12 Jan 2022 18:09:21 +0200 Subject: [PATCH 069/260] RED-3165 fix --- .../dossiers-listing-dossier-name.component.ts | 2 +- libs/common-ui | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.ts index 3e5d2afc9..bbc7be107 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-dossier-name/dossiers-listing-dossier-name.component.ts @@ -32,7 +32,7 @@ export class DossiersListingDossierNameComponent { } private get _dueDateDaysDiff(): number { - return moment(this.dossier.dueDate).diff(moment(), 'days') + 1; + return moment(this.dossier.dueDate).diff(moment().startOf('day'), 'days'); } getDossierTemplateNameFor(dossierTemplateId: string): string { diff --git a/libs/common-ui b/libs/common-ui index 5341338d3..51f3d7502 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 5341338d36d55b63fb0ff08b0d5779b80ed5902f +Subproject commit 51f3d7502b5545663afa2fa0a62abc3578f92905 From 7b05faec83e3b855ac6c6ed6a0464f53dde796da Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 12 Jan 2022 17:13:19 +0100 Subject: [PATCH 070/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3216 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b7451d28e..47767ae8d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.146.0", + "version": "3.147.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 77cea4bdd80b87c4f39ccaa2c7a7f39480b28ebd..0e85ebbd650282119240f6e49a30be9f567ef119 100644 GIT binary patch delta 3102 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 QZok;}e`ueh5&%#D058=E!~g&Q From 844971e241e0312479ea67859db80dbfc6e98d7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Tue, 21 Dec 2021 16:32:02 +0200 Subject: [PATCH 071/260] Dossier template info --- .../base-screen/base-screen.component.ts | 2 - .../modules/account/account-routing.module.ts | 2 +- .../user-profile-screen.component.ts | 22 ++-- .../notification-preferences.service.ts | 18 ++-- .../app/modules/admin/admin-routing.module.ts | 18 +++- .../admin-side-nav.component.ts | 1 + .../src/app/modules/admin/admin.module.ts | 17 +-- .../base-admin-screen.component.html | 27 +---- .../base-admin-screen.component.scss | 3 + .../base-admin-screen.component.ts | 1 - ...ase-dossier-template-screen.component.html | 26 +++++ .../base-dossier-template-screen.component.ts | 7 ++ .../admin-breadcrumbs.component.ts | 21 ---- ...ssier-template-breadcrumbs.component.html} | 11 +- ...ssier-template-breadcrumbs.component.scss} | 0 .../dossier-template-breadcrumbs.component.ts | 32 ++++++ .../add-edit-dictionary-dialog.component.html | 2 +- ...it-dossier-attribute-dialog.component.html | 2 +- ...dit-dossier-template-dialog.component.html | 2 +- ...-edit-dossier-template-dialog.component.ts | 1 - ...-edit-file-attribute-dialog.component.html | 2 +- .../edit-color-dialog.component.html | 2 +- .../default-colors-screen.component.html | 2 +- .../dictionary-listing-screen.component.html | 80 +++++++------- .../dictionary-listing-screen.component.ts | 77 +++++--------- .../dictionary-overview-screen.component.html | 2 +- ...r-attributes-listing-screen.component.html | 2 +- ...er-templates-listing-screen.component.html | 100 ------------------ ...er-templates-listing-screen.component.html | 47 ++++++++ ...er-templates-listing-screen.component.scss | 6 ++ ...sier-templates-listing-screen.component.ts | 30 +----- .../dossier-templates-listing.module.ts | 16 +++ .../table-item/table-item.component.html | 35 ++++++ .../table-item/table-item.component.scss} | 0 .../table-item/table-item.component.ts | 28 +++++ ...e-attributes-listing-screen.component.html | 2 +- .../info/dossier-template-info.module.ts | 13 +++ ...ossier-template-info-screen.component.html | 41 +++++++ ...ossier-template-info-screen.component.scss | 30 ++++++ .../dossier-template-info-screen.component.ts | 26 +++++ .../reports/reports-screen.component.html | 2 +- .../screens/rules/rules-screen.component.html | 2 +- .../watermark/watermark-screen.component.html | 2 +- .../dossier-template-actions.component.html | 0 .../dossier-template-actions.component.scss | 0 .../dossier-template-actions.component.ts | 10 +- .../admin/shared/shared-admin.module.ts | 14 +++ .../edit-dossier-dialog.component.html | 2 +- .../document-info/document-info.component.ts | 2 +- .../shared/services/dictionary.service.ts | 98 +++++++++-------- .../entity-services/dossier-stats.service.ts | 46 +------- .../dossier-template-stats.service.ts | 12 +++ .../dossier-templates.service.ts | 23 ++-- .../entity-services/dossiers.service.ts | 2 +- apps/red-ui/src/assets/config/config.json | 4 +- apps/red-ui/src/assets/i18n/en.json | 9 ++ libs/common-ui | 2 +- .../dossier-template-stats.model.ts | 23 ++++ .../dossier-template-stats.ts | 12 +++ .../dossier-template.model.ts | 4 +- .../src/lib/dossier-templates/index.ts | 2 + 61 files changed, 608 insertions(+), 419 deletions(-) create mode 100644 apps/red-ui/src/app/modules/admin/base-dossier-templates-screen/base-dossier-template-screen.component.html create mode 100644 apps/red-ui/src/app/modules/admin/base-dossier-templates-screen/base-dossier-template-screen.component.ts delete mode 100644 apps/red-ui/src/app/modules/admin/components/breadcrumbs/admin-breadcrumbs.component.ts rename apps/red-ui/src/app/modules/admin/components/{breadcrumbs/admin-breadcrumbs.component.html => dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.html} (72%) rename apps/red-ui/src/app/modules/admin/components/{breadcrumbs/admin-breadcrumbs.component.scss => dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.scss} (100%) create mode 100644 apps/red-ui/src/app/modules/admin/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.ts delete mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.html create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.html create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.scss rename apps/red-ui/src/app/modules/admin/screens/{dossier-template-listing => dossier-templates-listing/dossier-templates-listing-screen}/dossier-templates-listing-screen.component.ts (78%) create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing.module.ts create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/table-item/table-item.component.html rename apps/red-ui/src/app/modules/admin/screens/{dossier-template-listing/dossier-templates-listing-screen.component.scss => dossier-templates-listing/table-item/table-item.component.scss} (100%) create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/table-item/table-item.component.ts create mode 100644 apps/red-ui/src/app/modules/admin/screens/info/dossier-template-info.module.ts create mode 100644 apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html create mode 100644 apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.scss create mode 100644 apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts rename apps/red-ui/src/app/modules/admin/{ => shared}/components/dossier-template-actions/dossier-template-actions.component.html (100%) rename apps/red-ui/src/app/modules/admin/{ => shared}/components/dossier-template-actions/dossier-template-actions.component.scss (100%) rename apps/red-ui/src/app/modules/admin/{ => shared}/components/dossier-template-actions/dossier-template-actions.component.ts (87%) create mode 100644 apps/red-ui/src/app/modules/admin/shared/shared-admin.module.ts create mode 100644 apps/red-ui/src/app/services/entity-services/dossier-template-stats.service.ts create mode 100644 libs/red-domain/src/lib/dossier-templates/dossier-template-stats.model.ts create mode 100644 libs/red-domain/src/lib/dossier-templates/dossier-template-stats.ts diff --git a/apps/red-ui/src/app/components/base-screen/base-screen.component.ts b/apps/red-ui/src/app/components/base-screen/base-screen.component.ts index 759273a83..3392423a7 100644 --- a/apps/red-ui/src/app/components/base-screen/base-screen.component.ts +++ b/apps/red-ui/src/app/components/base-screen/base-screen.component.ts @@ -9,7 +9,6 @@ import { TranslateService } from '@ngx-translate/core'; import { SpotlightSearchAction } from '@components/spotlight-search/spotlight-search-action'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { filter, map, startWith } from 'rxjs/operators'; -import { DossiersService } from '@services/entity-services/dossiers.service'; import { shareDistinctLast } from '@iqser/common-ui'; import { BreadcrumbsService } from '@services/breadcrumbs.service'; @@ -77,7 +76,6 @@ export class BaseScreenComponent { constructor( readonly appStateService: AppStateService, - readonly dossiersService: DossiersService, readonly userService: UserService, readonly userPreferenceService: UserPreferenceService, readonly titleService: Title, diff --git a/apps/red-ui/src/app/modules/account/account-routing.module.ts b/apps/red-ui/src/app/modules/account/account-routing.module.ts index 9c77d73a2..56164ffa9 100644 --- a/apps/red-ui/src/app/modules/account/account-routing.module.ts +++ b/apps/red-ui/src/app/modules/account/account-routing.module.ts @@ -3,7 +3,7 @@ import { RouterModule } from '@angular/router'; import { CompositeRouteGuard } from '@iqser/common-ui'; import { AuthGuard } from '../auth/auth.guard'; import { RedRoleGuard } from '../auth/red-role.guard'; -import { AppStateGuard } from '../../state/app-state.guard'; +import { AppStateGuard } from '@state/app-state.guard'; import { BaseAccountScreenComponent } from './base-account-screen/base-account-screen-component'; const routes = [ diff --git a/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts b/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts index 8c3d896bf..6531660b4 100644 --- a/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts +++ b/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts @@ -5,8 +5,8 @@ import { TranslateService } from '@ngx-translate/core'; import { LoadingService } from '@iqser/common-ui'; import { IProfile } from '@red/domain'; import { languagesTranslations } from '../../../translations/languages-translations'; -import { PermissionsService } from '../../../../../services/permissions.service'; -import { UserService } from '../../../../../services/user.service'; +import { PermissionsService } from '@services/permissions.service'; +import { UserService } from '@services/user.service'; import { ConfigService } from '../../../../../services/config.service'; import { LanguageService } from '../../../../../i18n/language.service'; @@ -40,15 +40,6 @@ export class UserProfileScreenComponent implements OnInit { ); } - private _getForm(): FormGroup { - return this._formBuilder.group({ - email: [undefined, [Validators.required, Validators.email]], - firstName: [undefined], - lastName: [undefined], - language: [undefined], - }); - } - get languageChanged(): boolean { return this._profileModel['language'] !== this.form.get('language').value; } @@ -98,6 +89,15 @@ export class UserProfileScreenComponent implements OnInit { this._initializeForm(); } + private _getForm(): FormGroup { + return this._formBuilder.group({ + email: [undefined, [Validators.required, Validators.email]], + firstName: [undefined], + lastName: [undefined], + language: [undefined], + }); + } + private _initializeForm(): void { try { this._profileModel = { diff --git a/apps/red-ui/src/app/modules/account/services/notification-preferences.service.ts b/apps/red-ui/src/app/modules/account/services/notification-preferences.service.ts index acd23a718..0d875dfed 100644 --- a/apps/red-ui/src/app/modules/account/services/notification-preferences.service.ts +++ b/apps/red-ui/src/app/modules/account/services/notification-preferences.service.ts @@ -1,7 +1,7 @@ import { Injectable, Injector } from '@angular/core'; import { GenericService } from '@iqser/common-ui'; import { Observable, of } from 'rxjs'; -import { UserService } from '../../../services/user.service'; +import { UserService } from '@services/user.service'; import { EmailNotificationScheduleTypes, INotificationPreferences } from '@red/domain'; import { catchError } from 'rxjs/operators'; @@ -11,14 +11,6 @@ export class NotificationPreferencesService extends GenericService { - return super.get().pipe(catchError(() => of(this._defaultPreferences))); - } - - update(notificationPreferences: INotificationPreferences): Observable { - return super._post(notificationPreferences); - } - private get _defaultPreferences(): INotificationPreferences { return { emailNotificationType: EmailNotificationScheduleTypes.INSTANT, @@ -28,4 +20,12 @@ export class NotificationPreferencesService extends GenericService { + return super.get().pipe(catchError(() => of(this._defaultPreferences))); + } + + update(notificationPreferences: INotificationPreferences): Observable { + return super._post(notificationPreferences); + } } diff --git a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts index 74ee574cc..f9335bfd3 100644 --- a/apps/red-ui/src/app/modules/admin/admin-routing.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin-routing.module.ts @@ -3,7 +3,6 @@ import { AuthGuard } from '../auth/auth.guard'; import { CompositeRouteGuard } from '@iqser/common-ui'; import { RedRoleGuard } from '../auth/red-role.guard'; import { AppStateGuard } from '@state/app-state.guard'; -import { DossierTemplatesListingScreenComponent } from './screens/dossier-template-listing/dossier-templates-listing-screen.component'; import { DictionaryListingScreenComponent } from './screens/dictionary-listing/dictionary-listing-screen.component'; import { DictionaryOverviewScreenComponent } from './screens/dictionary-overview/dictionary-overview-screen.component'; import { PendingChangesGuard } from '@guards/can-deactivate.guard'; @@ -21,6 +20,7 @@ import { DossierAttributesListingScreenComponent } from './screens/dossier-attri import { TrashScreenComponent } from './screens/trash/trash-screen.component'; import { GeneralConfigScreenComponent } from './screens/general-config/general-config-screen.component'; import { BaseAdminScreenComponent } from './base-admin-screen/base-admin-screen.component'; +import { BaseDossierTemplateScreenComponent } from './base-dossier-templates-screen/base-dossier-template-screen.component'; const routes: Routes = [ { path: '', redirectTo: 'dossier-templates', pathMatch: 'full' }, @@ -29,15 +29,25 @@ const routes: Routes = [ children: [ { path: '', - component: DossierTemplatesListingScreenComponent, + component: BaseAdminScreenComponent, canActivate: [CompositeRouteGuard], data: { routeGuards: [AuthGuard, RedRoleGuard, AppStateGuard], }, + loadChildren: () => + import('./screens/dossier-templates-listing/dossier-templates-listing.module').then( + m => m.DossierTemplatesListingModule, + ), }, { path: ':dossierTemplateId', children: [ + { + path: 'info', + canActivate: [CompositeRouteGuard], + component: BaseDossierTemplateScreenComponent, + loadChildren: () => import('./screens/info/dossier-template-info.module').then(m => m.DossierTemplateInfoModule), + }, { path: 'dictionaries', children: [ @@ -111,11 +121,11 @@ const routes: Routes = [ }, { path: 'justifications', - component: BaseAdminScreenComponent, + component: BaseDossierTemplateScreenComponent, canActivate: [CompositeRouteGuard], loadChildren: () => import('./screens/justifications/justifications.module').then(m => m.JustificationsModule), }, - { path: '', redirectTo: 'dictionaries', pathMatch: 'full' }, + { path: '', redirectTo: 'info', pathMatch: 'full' }, ], }, ], diff --git a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts index 8dd9f629d..382f10309 100644 --- a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts +++ b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts @@ -50,6 +50,7 @@ export class AdminSideNavComponent implements OnInit { }, ], dossierTemplates: [ + { screen: 'info', label: _('dossier-template-info') }, { screen: 'dictionaries', label: _('dictionaries') }, { screen: 'rules', diff --git a/apps/red-ui/src/app/modules/admin/admin.module.ts b/apps/red-ui/src/app/modules/admin/admin.module.ts index 7fcf4642b..81a7a91b0 100644 --- a/apps/red-ui/src/app/modules/admin/admin.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin.module.ts @@ -3,7 +3,6 @@ import { CommonModule } from '@angular/common'; import { AdminRoutingModule } from './admin-routing.module'; import { RulesScreenComponent } from './screens/rules/rules-screen.component'; import { SharedModule } from '@shared/shared.module'; -import { DossierTemplatesListingScreenComponent } from './screens/dossier-template-listing/dossier-templates-listing-screen.component'; import { AuditScreenComponent } from './screens/audit/audit-screen.component'; import { DefaultColorsScreenComponent } from './screens/default-colors/default-colors-screen.component'; import { DictionaryListingScreenComponent } from './screens/dictionary-listing/dictionary-listing-screen.component'; @@ -13,8 +12,7 @@ import { FileAttributesListingScreenComponent } from './screens/file-attributes- import { LicenseInformationScreenComponent } from './screens/license-information/license-information-screen.component'; import { UserListingScreenComponent } from './screens/user-listing/user-listing-screen.component'; import { WatermarkScreenComponent } from './screens/watermark/watermark-screen.component'; -import { AdminBreadcrumbsComponent } from './components/breadcrumbs/admin-breadcrumbs.component'; -import { DossierTemplateActionsComponent } from './components/dossier-template-actions/dossier-template-actions.component'; +import { DossierTemplateBreadcrumbsComponent } from './components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component'; import { ColorPickerModule } from 'ngx-color-picker'; import { AddEditFileAttributeDialogComponent } from './dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component'; import { AddEditDossierTemplateDialogComponent } from './dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component'; @@ -48,6 +46,8 @@ import { SmtpConfigService } from './services/smtp-config.service'; import { UploadDictionaryDialogComponent } from './dialogs/upload-dictionary-dialog/upload-dictionary-dialog.component'; import { GeneralConfigFormComponent } from './screens/general-config/general-config-form/general-config-form.component'; import { SmtpFormComponent } from './screens/general-config/smtp-form/smtp-form.component'; +import { SharedAdminModule } from './shared/shared-admin.module'; +import { BaseDossierTemplateScreenComponent } from './base-dossier-templates-screen/base-dossier-template-screen.component'; const dialogs = [ AddEditDossierTemplateDialogComponent, @@ -64,7 +64,6 @@ const dialogs = [ ]; const screens = [ - DossierTemplatesListingScreenComponent, RulesScreenComponent, AuditScreenComponent, DefaultColorsScreenComponent, @@ -82,8 +81,7 @@ const screens = [ ]; const components = [ - AdminBreadcrumbsComponent, - DossierTemplateActionsComponent, + DossierTemplateBreadcrumbsComponent, ComboChartComponent, ComboSeriesVerticalComponent, UsersStatsComponent, @@ -92,14 +90,17 @@ const components = [ ResetPasswordComponent, UserDetailsComponent, BaseAdminScreenComponent, + BaseDossierTemplateScreenComponent, + GeneralConfigFormComponent, + SmtpFormComponent, ...dialogs, ...screens, ]; @NgModule({ - declarations: [...components, GeneralConfigFormComponent, SmtpFormComponent], + declarations: [...components], providers: [AdminDialogService, AuditService, DigitalSignatureService, LicenseReportService, RulesService, SmtpConfigService], - imports: [CommonModule, SharedModule, AdminRoutingModule, NgxChartsModule, ColorPickerModule, MonacoEditorModule], + imports: [CommonModule, SharedModule, AdminRoutingModule, SharedAdminModule, NgxChartsModule, ColorPickerModule, MonacoEditorModule], }) export class AdminModule {} diff --git a/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.html b/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.html index e4f858437..4f54ba8f4 100644 --- a/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.html @@ -1,26 +1,5 @@ - +
-
- - -
-
- - - - -
-
+ diff --git a/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.scss b/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.scss index e69de29bb..e7a72018d 100644 --- a/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.scss @@ -0,0 +1,3 @@ +:host { + display: flex; +} diff --git a/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.ts b/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.ts index fd4af2801..f15acbbb4 100644 --- a/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/base-admin-screen/base-admin-screen.component.ts @@ -1,7 +1,6 @@ import { ChangeDetectionStrategy, Component } from '@angular/core'; @Component({ - selector: 'redaction-base-admin-screen', templateUrl: './base-admin-screen.component.html', styleUrls: ['./base-admin-screen.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, diff --git a/apps/red-ui/src/app/modules/admin/base-dossier-templates-screen/base-dossier-template-screen.component.html b/apps/red-ui/src/app/modules/admin/base-dossier-templates-screen/base-dossier-template-screen.component.html new file mode 100644 index 000000000..ee08d19cc --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/base-dossier-templates-screen/base-dossier-template-screen.component.html @@ -0,0 +1,26 @@ + + +
+ + +
+
+ + + + +
+
diff --git a/apps/red-ui/src/app/modules/admin/base-dossier-templates-screen/base-dossier-template-screen.component.ts b/apps/red-ui/src/app/modules/admin/base-dossier-templates-screen/base-dossier-template-screen.component.ts new file mode 100644 index 000000000..298ec017c --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/base-dossier-templates-screen/base-dossier-template-screen.component.ts @@ -0,0 +1,7 @@ +import { ChangeDetectionStrategy, Component } from '@angular/core'; + +@Component({ + templateUrl: './base-dossier-template-screen.component.html', + changeDetection: ChangeDetectionStrategy.OnPush, +}) +export class BaseDossierTemplateScreenComponent {} diff --git a/apps/red-ui/src/app/modules/admin/components/breadcrumbs/admin-breadcrumbs.component.ts b/apps/red-ui/src/app/modules/admin/components/breadcrumbs/admin-breadcrumbs.component.ts deleted file mode 100644 index 3c1d06a08..000000000 --- a/apps/red-ui/src/app/modules/admin/components/breadcrumbs/admin-breadcrumbs.component.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Component, Input } from '@angular/core'; -import { AppStateService } from '@state/app-state.service'; -import { UserPreferenceService } from '@services/user-preference.service'; -import { PermissionsService } from '@services/permissions.service'; -import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; - -@Component({ - selector: 'redaction-admin-breadcrumbs', - templateUrl: './admin-breadcrumbs.component.html', - styleUrls: ['./admin-breadcrumbs.component.scss'], -}) -export class AdminBreadcrumbsComponent { - @Input() root = false; - - constructor( - readonly userPreferenceService: UserPreferenceService, - readonly permissionService: PermissionsService, - readonly appStateService: AppStateService, - readonly dossierTemplatesService: DossierTemplatesService, - ) {} -} diff --git a/apps/red-ui/src/app/modules/admin/components/breadcrumbs/admin-breadcrumbs.component.html b/apps/red-ui/src/app/modules/admin/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.html similarity index 72% rename from apps/red-ui/src/app/modules/admin/components/breadcrumbs/admin-breadcrumbs.component.html rename to apps/red-ui/src/app/modules/admin/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.html index 1afff1dac..4378310a0 100644 --- a/apps/red-ui/src/app/modules/admin/components/breadcrumbs/admin-breadcrumbs.component.html +++ b/apps/red-ui/src/app/modules/admin/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.html @@ -6,10 +6,11 @@ translate="dossier-templates" > - - - - {{ activeDossierTemplate.name }} + + + + + {{ dossierTemplate.name }} @@ -17,7 +18,7 @@ ; + + constructor( + readonly userPreferenceService: UserPreferenceService, + readonly permissionService: PermissionsService, + readonly appStateService: AppStateService, + readonly dossierTemplatesService: DossierTemplatesService, + private readonly _route: ActivatedRoute, + ) { + this.dossierTemplate$ = _route.paramMap.pipe( + map(params => params.get('dossierTemplateId')), + switchMap((dossierTemplateId: string) => this.dossierTemplatesService.getEntityChanged$(dossierTemplateId)), + ); + } +} diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html index 2e69716c7..903caceaf 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html @@ -95,7 +95,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.html index ab55a854a..0eaf795a8 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.html @@ -35,7 +35,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html index a8ee5cdf2..abf0d181d 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html @@ -87,7 +87,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index 39025d390..bcc25ee74 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -95,7 +95,6 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { validTo: this.hasValidTo ? this.form.get('validTo').value : null, }; await this._dossierTemplatesService.createOrUpdate(dossierTemplate).toPromise(); - await this._dossierTemplatesService.loadAll().toPromise(); await this._appStateService.loadDictionaryData(); this.dialogRef.close(true); } catch (error: any) { diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html index 4715598f6..82f32ef3e 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html @@ -84,7 +84,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html index 1d42f37a4..9e4bcb124 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html @@ -28,7 +28,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.html index 8e7cd2833..747671e52 100644 --- a/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.html @@ -1,6 +1,6 @@
-
- +
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index 2ad60ad14..1e17d2d58 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -18,7 +18,6 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { translations = fileAttributeTypesTranslations; fileAttribute: IFileAttributeConfig = this.data.fileAttribute; dossierTemplateId: string = this.data.dossierTemplateId; - readonly form!: FormGroup; readonly typeOptions = Object.keys(FileAttributeConfigTypes); readonly canSetDisplayed!: boolean; readonly canSetFilterable!: boolean; @@ -40,28 +39,7 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { this.canSetDisplayed = data.numberOfDisplayedAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.displayedInFileList; this.canSetFilterable = data.numberOfFilterableAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.filterable; this.form = this._getForm(this.fileAttribute); - } - - get valid(): boolean { - return this.form.valid; - } - - get changed(): boolean { - if (!this.fileAttribute) { - return true; - } - - for (const key of Object.keys(this.form.getRawValue())) { - if (key === 'readonly') { - if (this.fileAttribute.editable === this.form.get(key).value) { - return true; - } - } else if (this.fileAttribute[key] !== this.form.get(key).value) { - return true; - } - } - - return false; + this.initialForm = this._getForm(this.fileAttribute); } save() { diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html index 1d42f37a4..873c58145 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html @@ -34,5 +34,5 @@ - + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index 2af506f39..bbef7e13d 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -20,10 +20,8 @@ interface IEditColorData { styleUrls: ['./edit-color-dialog.component.scss'], }) export class EditColorDialogComponent extends BaseDialogComponent { - readonly form: FormGroup; translations = defaultColorsTranslations; readonly disabled = false; - private readonly _initialColor: string; private readonly _dossierTemplateId: string; constructor( @@ -38,17 +36,9 @@ export class EditColorDialogComponent extends BaseDialogComponent { ) { super(_injector, _dialogRef); this._dossierTemplateId = data.dossierTemplateId; - this._initialColor = data.colors[data.colorKey]; this.form = this._getForm(); - } - - get changed(): boolean { - return this.form.get('color').value !== this._initialColor; - } - - get valid(): boolean { - return this.form.valid; + this.initialForm = this._getForm(); } async save() { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index d9e0ca50d..827962c04 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -149,7 +149,7 @@ export class EditDossierDialogComponent extends BaseDialogComponent { changeTab(key: Section) { if (this.changed) { this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog(); + const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); dialogRef .afterClosed() .toPromise() diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts index a192a3832..3cb2db26c 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts @@ -2,6 +2,8 @@ import { Directive, HostListener, Injector, OnInit } from '@angular/core'; import { AutoUnsubscribe, ConfirmOptions, IqserEventTarget } from '../../../../../../../libs/common-ui/src'; import { MatDialogRef } from '@angular/material/dialog'; import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; +import { FormGroup } from '@angular/forms'; +import * as moment from 'moment'; @Directive() /** @@ -15,19 +17,19 @@ import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.se * (otherwise the save request will be triggered twice). * */ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnInit { - abstract changed: boolean; - abstract valid: boolean; abstract disabled: boolean; protected readonly _dialogService: ConfirmationDialogService = this._injector.get(ConfirmationDialogService); - protected _waitingForConfirmation = false; + form!: FormGroup; + initialForm!: FormGroup; + constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { super(); } - abstract save(): void; + abstract save(closeAfterSave?: boolean): void; ngOnInit(): void { this.addSubscription = this._dialogRef.backdropClick().subscribe(() => { @@ -35,17 +37,56 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI }); } + get valid(): boolean { + return this.form.valid; + } + + get changed(): boolean { + // console.log('-------------------------------------------------------'); + // console.log('initialForm: ', this.initialForm.value); + // console.log('form: ', this.form.value); + + for (const key of Object.keys(this.form.getRawValue())) { + const initialValue = this.initialForm.get(key).value; + const updatedValue = this.form.get(key).value; + + if (initialValue == null && updatedValue != null) { + const updatedValueType = typeof updatedValue; + if (updatedValueType !== 'string' && updatedValueType !== 'boolean') { + return true; + } else if (updatedValueType === 'string' && updatedValue.length > 0) { + return true; + } else if (updatedValueType === 'boolean' && updatedValue === true) { + return true; + } + } else if (initialValue !== updatedValue) { + if (Array.isArray(updatedValue)) { + if (JSON.stringify(initialValue) !== JSON.stringify(updatedValue)) { + return true; + } + } else if (updatedValue instanceof moment) { + if (!moment(updatedValue).isSame(moment(initialValue))) { + return true; + } + } else { + return true; + } + } + } + return false; + } + close(): void { if (this.changed) { this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog(); + const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); dialogRef .afterClosed() .toPromise() .then(result => { if (result in ConfirmOptions) { if (result === ConfirmOptions.CONFIRM) { - this.save(); + this.save(true); } else { this._dialogRef.close(); } diff --git a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts index 9a4c68c8f..efab94dbd 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts @@ -18,7 +18,7 @@ export class ConfirmationDialogService extends DialogService { super(_dialog); } - openDialog(): MatDialogRef { + openDialog(data?): MatDialogRef { return super.openDialog( 'confirm', null, @@ -28,6 +28,7 @@ export class ConfirmationDialogService extends DialogService { details: _('confirmation-dialog.unsaved-changes.details'), confirmationText: _('confirmation-dialog.unsaved-changes.confirmation-text'), discardChangesText: _('confirmation-dialog.unsaved-changes.discard-changes-text'), + disableConfirm: data.disableConfirm, titleColor: TitleColors.WARN, }), ); diff --git a/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts deleted file mode 100644 index 63072f58b..000000000 --- a/apps/red-ui/src/app/modules/shared/dialog/form-dialog.component.ts +++ /dev/null @@ -1,33 +0,0 @@ -// import { BaseDialogComponent } from './base-dialog.component'; -// import { Injector, OnInit } from '@angular/core'; -// import { MatDialogRef } from '@angular/material/dialog'; -// import { FormGroup } from '@angular/forms'; -// -// export abstract class FormDialogComponent extends BaseDialogComponent implements OnInit { -// -// abstract readonly form: FormGroup; -// private _hasChange = false; -// -// constructor( -// protected readonly _injector: Injector, -// protected readonly _dialogRef: MatDialogRef, -// ) { -// super(_injector, _dialogRef); -// } -// -// get changed(): boolean { -// return this._hasChange; -// } -// -// onFormGroupValueChange() { -// const initialValue = this.form.value; -// this.createGroupForm.valueChanges.subscribe(value => { -// this.hasChange = Object.keys(initialValue).some(key => this.form.value[key] != -// initialValue[key]); -// }); -// } -// -// get valid(): boolean { -// return this.form.valid; -// } -// } From 6ec57b9953db8c9d0510948da4557fb276cc7538 Mon Sep 17 00:00:00 2001 From: Valentin Date: Wed, 5 Jan 2022 12:27:01 +0200 Subject: [PATCH 155/260] removed commented code, updated 'close' and 'changeTab' methods --- ...-edit-dossier-template-dialog.component.ts | 8 +--- ...-edit-file-attribute-dialog.component.html | 2 +- .../edit-dossier-dialog.component.ts | 29 ++++++--------- .../shared/dialog/base-dialog.component.ts | 37 +++++++++---------- 4 files changed, 32 insertions(+), 44 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index 2c40876fc..f263a5904 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -54,14 +54,10 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { }); this.addSubscription = this.form.controls['validFrom'].valueChanges.subscribe(value => { - if (value) { - this._lastValidFrom = value; - } + this._lastValidFrom = value ? value : this._lastValidFrom; }); this.addSubscription = this.form.controls['validTo'].valueChanges.subscribe(value => { - if (value) { - this._lastValidTo = value; - } + this._lastValidFrom = value ? value : this._lastValidFrom; }); } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html index 169d826ac..7a8b7aa38 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html @@ -84,7 +84,7 @@
-
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index 827962c04..5a2c6f83b 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -148,24 +148,19 @@ export class EditDossierDialogComponent extends BaseDialogComponent { changeTab(key: Section) { if (this.changed) { - this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); - dialogRef - .afterClosed() - .toPromise() - .then(async result => { - if (result in ConfirmOptions) { - if (result === ConfirmOptions.CONFIRM) { - await this.save(); - } else { - this.revert(); - } - this.activeNav = key; + this._openConfirmDialog().then(async result => { + if (result in ConfirmOptions) { + if (result === ConfirmOptions.CONFIRM) { + await this.save(); + } else { + this.revert(); } - this._waitingForConfirmation = false; - }); - return; + this.activeNav = key; + } + this._waitingForConfirmation = false; + }); + } else { + this.activeNav = key; } - this.activeNav = key; } } diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts index 3cb2db26c..486aded3f 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts @@ -42,10 +42,6 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI } get changed(): boolean { - // console.log('-------------------------------------------------------'); - // console.log('initialForm: ', this.initialForm.value); - // console.log('form: ', this.form.value); - for (const key of Object.keys(this.form.getRawValue())) { const initialValue = this.initialForm.get(key).value; const updatedValue = this.form.get(key).value; @@ -78,24 +74,25 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI close(): void { if (this.changed) { - this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); - dialogRef - .afterClosed() - .toPromise() - .then(result => { - if (result in ConfirmOptions) { - if (result === ConfirmOptions.CONFIRM) { - this.save(true); - } else { - this._dialogRef.close(); - } + this._openConfirmDialog().then(result => { + if (result in ConfirmOptions) { + if (result === ConfirmOptions.CONFIRM) { + this.save(true); + } else { + this._dialogRef.close(); } - this._waitingForConfirmation = false; - }); - return; + } + this._waitingForConfirmation = false; + }); + } else { + this._dialogRef.close(); } - this._dialogRef.close(); + } + + protected _openConfirmDialog() { + this._waitingForConfirmation = true; + const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); + return dialogRef.afterClosed().toPromise(); } @HostListener('window:keydown.Enter', ['$event']) From 4d9555ada9a5c32e8d7230cce65f29869734c2e8 Mon Sep 17 00:00:00 2001 From: Valentin Date: Wed, 12 Jan 2022 10:16:28 +0200 Subject: [PATCH 156/260] changed 'click' to 'action' --- .../add-edit-dictionary-dialog.component.html | 2 +- .../add-edit-dossier-template-dialog.component.html | 2 +- .../add-edit-file-attribute-dialog.component.html | 2 +- .../dialogs/edit-color-dialog/edit-color-dialog.component.html | 2 +- .../edit-dossier-dialog/edit-dossier-dialog.component.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html index abcf375f0..fdef99666 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html @@ -101,5 +101,5 @@ - + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html index fe2e2f28c..9fa14f36b 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html @@ -88,5 +88,5 @@ - + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html index 7a8b7aa38..1113f5e46 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html @@ -90,5 +90,5 @@ - + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html index 873c58145..0cf76231a 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html @@ -34,5 +34,5 @@ - + diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html index 2500c6cd4..ef9f87ce3 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html @@ -65,5 +65,5 @@ - + From b842ab9d02d698fe7e11a98745b523f3268a19c4 Mon Sep 17 00:00:00 2001 From: Valentin Date: Wed, 12 Jan 2022 10:38:07 +0200 Subject: [PATCH 157/260] stored initial form as a simple object instead of a form --- .../add-edit-dictionary-dialog.component.ts | 2 +- .../add-edit-dossier-template-dialog.component.ts | 2 +- .../add-edit-file-attribute-dialog.component.ts | 2 +- .../dialogs/edit-color-dialog/edit-color-dialog.component.ts | 2 +- .../src/app/modules/shared/dialog/base-dialog.component.ts | 4 ++-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index 49208b203..2cbeb2ab9 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -46,7 +46,7 @@ export class AddEditDictionaryDialogComponent extends BaseDialogComponent { ) { super(_injector, _dialogRef); this.form = this._getForm(this.dictionary); - this.initialForm = this._getForm(this.dictionary); + this.initialFormValue = this.form.getRawValue(); this.hasColor$ = this._colorEmpty$; this.technicalName$ = this.form.get('label').valueChanges.pipe(map(value => this._toTechnicalName(value))); } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index f263a5904..fb541d419 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -42,7 +42,7 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { ) { super(_injector, _dialogRef); this.form = this._getForm(); - this.initialForm = this._getForm(); + this.initialFormValue = this.form.getRawValue(); this.hasValidFrom = !!this.dossierTemplate?.validFrom; this.hasValidTo = !!this.dossierTemplate?.validTo; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index 1e17d2d58..387c78462 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -39,7 +39,7 @@ export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { this.canSetDisplayed = data.numberOfDisplayedAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.displayedInFileList; this.canSetFilterable = data.numberOfFilterableAttrs < this.DISPLAYED_FILTERABLE_LIMIT || data.fileAttribute?.filterable; this.form = this._getForm(this.fileAttribute); - this.initialForm = this._getForm(this.fileAttribute); + this.initialFormValue = this.form.getRawValue(); } save() { diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index bbef7e13d..ebc4e483d 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -38,7 +38,7 @@ export class EditColorDialogComponent extends BaseDialogComponent { this._dossierTemplateId = data.dossierTemplateId; this.form = this._getForm(); - this.initialForm = this._getForm(); + this.initialFormValue = this.form.getRawValue(); } async save() { diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts index 486aded3f..f1452b5bb 100644 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts @@ -23,7 +23,7 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI protected _waitingForConfirmation = false; form!: FormGroup; - initialForm!: FormGroup; + initialFormValue; constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { super(); @@ -43,7 +43,7 @@ export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnI get changed(): boolean { for (const key of Object.keys(this.form.getRawValue())) { - const initialValue = this.initialForm.get(key).value; + const initialValue = this.initialFormValue[key]; const updatedValue = this.form.get(key).value; if (initialValue == null && updatedValue != null) { From 5e0af3e614356767d228d43b0877f77b2892d1db Mon Sep 17 00:00:00 2001 From: Valentin Date: Wed, 12 Jan 2022 13:13:41 +0200 Subject: [PATCH 158/260] moved 'base-dialog component' and 'confirmation-dialog service' in common --- .../add-edit-dictionary-dialog.component.ts | 3 +- ...-edit-dossier-template-dialog.component.ts | 3 +- ...dd-edit-file-attribute-dialog.component.ts | 2 +- .../edit-color-dialog.component.ts | 3 +- .../edit-dossier-dialog.component.ts | 2 +- .../shared/dialog/base-dialog.component.ts | 112 ------------------ .../dialog/confirmation-dialog.service.ts | 36 ------ .../src/app/modules/shared/shared.module.ts | 2 - 8 files changed, 5 insertions(+), 158 deletions(-) delete mode 100644 apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts delete mode 100644 apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index 2cbeb2ab9..caec3565a 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/c import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Observable } from 'rxjs'; -import { shareDistinctLast, Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, shareDistinctLast, Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { AppStateService } from '@state/app-state.service'; @@ -12,7 +12,6 @@ import { Dictionary, IDictionary } from '@red/domain'; import { UserService } from '@services/user.service'; import { map } from 'rxjs/operators'; import { HttpStatusCode } from '@angular/common/http'; -import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; @Component({ selector: 'redaction-add-edit-dictionary-dialog', diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index fb541d419..c7e6e6905 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -7,11 +7,10 @@ import { Moment } from 'moment'; import { applyIntervalConstraints } from '@utils/date-inputs-utils'; import { downloadTypesTranslations } from '../../../../translations/download-types-translations'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; -import { Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DownloadFileType, IDossierTemplate } from '@red/domain'; import { HttpStatusCode } from '@angular/common/http'; -import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; @Component({ templateUrl: './add-edit-dossier-template-dialog.component.html', diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index 387c78462..cea36c802 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -4,7 +4,7 @@ import { FileAttributeConfigTypes, IFileAttributeConfig } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { fileAttributeTypesTranslations } from '../../translations/file-attribute-types-translations'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; -import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; +import { BaseDialogComponent } from '../../../../../../../../libs/common-ui/src'; @Component({ selector: 'redaction-add-edit-file-attribute-dialog', diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index ebc4e483d..c98d2b51a 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -1,13 +1,12 @@ import { Component, Inject, Injector } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { DefaultColorType, IColors } from '@red/domain'; -import { Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, Toaster } from '@iqser/common-ui'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { TranslateService } from '@ngx-translate/core'; import { defaultColorsTranslations } from '../../translations/default-colors-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DictionaryService } from '@shared/services/dictionary.service'; -import { BaseDialogComponent } from '../../../shared/dialog/base-dialog.component'; interface IEditColorData { colors: IColors; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index 5a2c6f83b..0239126aa 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -4,7 +4,7 @@ import { Dossier } from '@red/domain'; import { EditDossierGeneralInfoComponent } from './general-info/edit-dossier-general-info.component'; import { EditDossierDownloadPackageComponent } from './download-package/edit-dossier-download-package.component'; import { EditDossierSectionInterface } from './edit-dossier-section.interface'; -import { ConfirmOptions, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, ConfirmOptions, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { EditDossierDictionaryComponent } from './dictionary/edit-dossier-dictionary.component'; import { EditDossierAttributesComponent } from './attributes/edit-dossier-attributes.component'; diff --git a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts b/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts deleted file mode 100644 index f1452b5bb..000000000 --- a/apps/red-ui/src/app/modules/shared/dialog/base-dialog.component.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { Directive, HostListener, Injector, OnInit } from '@angular/core'; -import { AutoUnsubscribe, ConfirmOptions, IqserEventTarget } from '../../../../../../../libs/common-ui/src'; -import { MatDialogRef } from '@angular/material/dialog'; -import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; -import { FormGroup } from '@angular/forms'; -import * as moment from 'moment'; - -@Directive() -/** - * Extend this component when you want to submit the form after pressing enter. - * - * This could be done by adding properties (submit)="save()" on the form and type="submit" on the save button. - * However, some components (e.g. redaction-select, color picker) don't set focus on the input after choosing a value. - * Also, other components (e.g. dropdown select) trigger a different action on enter, instead of submit. - * - * Make sure to remove property type="submit" from the save button and the (submit)="save()" property from the form - * (otherwise the save request will be triggered twice). - * */ -export abstract class BaseDialogComponent extends AutoUnsubscribe implements OnInit { - abstract disabled: boolean; - - protected readonly _dialogService: ConfirmationDialogService = this._injector.get(ConfirmationDialogService); - protected _waitingForConfirmation = false; - - form!: FormGroup; - initialFormValue; - - constructor(protected readonly _injector: Injector, protected readonly _dialogRef: MatDialogRef) { - super(); - } - - abstract save(closeAfterSave?: boolean): void; - - ngOnInit(): void { - this.addSubscription = this._dialogRef.backdropClick().subscribe(() => { - this.close(); - }); - } - - get valid(): boolean { - return this.form.valid; - } - - get changed(): boolean { - for (const key of Object.keys(this.form.getRawValue())) { - const initialValue = this.initialFormValue[key]; - const updatedValue = this.form.get(key).value; - - if (initialValue == null && updatedValue != null) { - const updatedValueType = typeof updatedValue; - if (updatedValueType !== 'string' && updatedValueType !== 'boolean') { - return true; - } else if (updatedValueType === 'string' && updatedValue.length > 0) { - return true; - } else if (updatedValueType === 'boolean' && updatedValue === true) { - return true; - } - } else if (initialValue !== updatedValue) { - if (Array.isArray(updatedValue)) { - if (JSON.stringify(initialValue) !== JSON.stringify(updatedValue)) { - return true; - } - } else if (updatedValue instanceof moment) { - if (!moment(updatedValue).isSame(moment(initialValue))) { - return true; - } - } else { - return true; - } - } - } - return false; - } - - close(): void { - if (this.changed) { - this._openConfirmDialog().then(result => { - if (result in ConfirmOptions) { - if (result === ConfirmOptions.CONFIRM) { - this.save(true); - } else { - this._dialogRef.close(); - } - } - this._waitingForConfirmation = false; - }); - } else { - this._dialogRef.close(); - } - } - - protected _openConfirmDialog() { - this._waitingForConfirmation = true; - const dialogRef = this._dialogService.openDialog({ disableConfirm: !this.valid }); - return dialogRef.afterClosed().toPromise(); - } - - @HostListener('window:keydown.Enter', ['$event']) - onEnter(event: KeyboardEvent): void { - const node = (event.target as IqserEventTarget).localName; - if (this.valid && !this.disabled && this.changed && node !== 'textarea') { - this.save(); - } - } - - @HostListener('window:keydown.Escape', ['$event']) - onEscape(): void { - if (!this._waitingForConfirmation) { - this.close(); - } - } -} diff --git a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts b/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts deleted file mode 100644 index efab94dbd..000000000 --- a/apps/red-ui/src/app/modules/shared/dialog/confirmation-dialog.service.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { Injectable } from '@angular/core'; -import { ConfirmationDialogComponent, ConfirmationDialogInput, DialogConfig, DialogService, TitleColors } from '@iqser/common-ui'; -import { MatDialog, MatDialogRef } from '@angular/material/dialog'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; - -type DialogType = 'confirm'; - -@Injectable() -export class ConfirmationDialogService extends DialogService { - protected readonly _config: DialogConfig = { - confirm: { - component: ConfirmationDialogComponent, - dialogConfig: { disableClose: false }, - }, - }; - - constructor(protected readonly _dialog: MatDialog) { - super(_dialog); - } - - openDialog(data?): MatDialogRef { - return super.openDialog( - 'confirm', - null, - new ConfirmationDialogInput({ - title: _('confirmation-dialog.unsaved-changes.title'), - question: _('confirmation-dialog.unsaved-changes.question'), - details: _('confirmation-dialog.unsaved-changes.details'), - confirmationText: _('confirmation-dialog.unsaved-changes.confirmation-text'), - discardChangesText: _('confirmation-dialog.unsaved-changes.discard-changes-text'), - disableConfirm: data.disableConfirm, - titleColor: TitleColors.WARN, - }), - ); - } -} diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts index 81e3e3122..4f606ceb9 100644 --- a/apps/red-ui/src/app/modules/shared/shared.module.ts +++ b/apps/red-ui/src/app/modules/shared/shared.module.ts @@ -26,7 +26,6 @@ import { TypeFilterComponent } from './components/type-filter/type-filter.compon import { TeamMembersComponent } from './components/team-members/team-members.component'; import { EditorComponent } from './components/editor/editor.component'; import { ExpandableFileActionsComponent } from './components/expandable-file-actions/expandable-file-actions.component'; -import { ConfirmationDialogService } from '@shared/dialog/confirmation-dialog.service'; const buttons = [FileDownloadBtnComponent, UserButtonComponent]; @@ -70,7 +69,6 @@ const modules = [MatConfigModule, ScrollingModule, IconsModule, FormsModule, Rea }, }, }, - ConfirmationDialogService, ], }) export class SharedModule {} From 8bae52c895e247ea0ab42f6d50424c6122a0bea3 Mon Sep 17 00:00:00 2001 From: Valentin Date: Thu, 13 Jan 2022 12:05:35 +0200 Subject: [PATCH 159/260] extended base dialog for 'add dossier' component --- .../add-dossier-dialog.component.html | 4 ++-- .../add-dossier-dialog.component.ts | 16 +++++++++------- .../edit-dossier-dialog.component.html | 2 +- .../edit-dossier-dialog.component.ts | 6 +++--- 4 files changed, 15 insertions(+), 13 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.html index e4b6d7c77..726110f51 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.html @@ -1,5 +1,5 @@
-
+
@@ -91,7 +91,7 @@ ({ key: type, @@ -30,10 +29,13 @@ export class AddDossierDialogComponent { private readonly _dossierTemplatesService: DossierTemplatesService, private readonly _formBuilder: FormBuilder, private readonly _reportTemplateController: ReportTemplateService, - readonly dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, ) { + super(_injector, _dialogRef); this._getDossierTemplates(); this.form = this._getForm(); + this.initialFormValue = this.form.getRawValue(); } private _getForm(): FormGroup { @@ -75,10 +77,10 @@ export class AddDossierDialogComponent { reportTemplateValueMapper = (reportTemplate: IReportTemplate) => reportTemplate.templateId; - async saveDossier(addMembers = false) { + async save(options?: SaveOptions) { const savedDossier = await this._dossiersService.createOrUpdate(this._formToObject()).toPromise(); if (savedDossier) { - this.dialogRef.close({ dossier: savedDossier, addMembers }); + this._dialogRef.close({ dossier: savedDossier, addMembers: options?.addMembers }); } } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html index ef9f87ce3..a996e9418 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.html @@ -53,7 +53,7 @@ {{ 'edit-dossier-dialog.actions.save' | translate }} Date: Fri, 14 Jan 2022 16:38:27 +0200 Subject: [PATCH 160/260] extended base dialog for 'manual annotation dialog' component --- .../manual-annotation-dialog.component.html | 8 ++-- .../manual-annotation-dialog.component.ts | 40 +++++++++++-------- 2 files changed, 28 insertions(+), 20 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.html index 46db18d59..00e585c58 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.html @@ -1,5 +1,5 @@
- +
@@ -54,7 +54,7 @@
- +
@@ -74,11 +74,11 @@
-
- +
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts index bb1727d50..ccb2c63ae 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { Component, Inject, Injector, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { AppStateService } from '@state/app-state.service'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; @@ -9,6 +9,7 @@ import { PermissionsService } from '@services/permissions.service'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { Dictionary, Dossier, File, IAddRedactionRequest } from '@red/domain'; import { DossiersService } from '@services/entity-services/dossiers.service'; +import { BaseDialogComponent } from '@iqser/common-ui'; import { DictionaryService } from '@shared/services/dictionary.service'; export interface LegalBasisOption { @@ -22,9 +23,7 @@ export interface LegalBasisOption { templateUrl: './manual-annotation-dialog.component.html', styleUrls: ['./manual-annotation-dialog.component.scss'], }) -export class ManualAnnotationDialogComponent implements OnInit { - redactionForm: FormGroup; - +export class ManualAnnotationDialogComponent extends BaseDialogComponent implements OnInit { isDocumentAdmin: boolean; isDictionaryRequest: boolean; isFalsePositiveRequest: boolean; @@ -43,15 +42,21 @@ export class ManualAnnotationDialogComponent implements OnInit { private readonly _dossiersService: DossiersService, private readonly _dictionaryService: DictionaryService, public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: { manualRedactionEntryWrapper: ManualRedactionEntryWrapper; file: File }, ) { + super(_injector, _dialogRef); this._dossier = this._dossiersService.find(this.data.file.dossierId); this.isDocumentAdmin = this._permissionsService.isApprover(this._dossier); this.isFalsePositiveRequest = this.data.manualRedactionEntryWrapper.type === 'FALSE_POSITIVE'; this.isDictionaryRequest = this.data.manualRedactionEntryWrapper.type === 'DICTIONARY' || this.isFalsePositiveRequest; - this.redactionForm = this._getForm(); + this.form = this._getForm(); + this.initialFormValue = this.form.getRawValue(); + + this.possibleDictionaries = this._possibleDictionaries; } get title() { @@ -59,7 +64,7 @@ export class ManualAnnotationDialogComponent implements OnInit { } get displayedDictionaryLabel() { - const dictType = this.redactionForm.get('dictionary').value; + const dictType = this.form.get('dictionary').value; if (dictType) { return this.possibleDictionaries.find(d => d.type === dictType).label; } @@ -92,6 +97,7 @@ export class ManualAnnotationDialogComponent implements OnInit { } async ngOnInit() { + super.ngOnInit(); this.possibleDictionaries = await this._getPossibleDictionaries(); const data = await this._justificationsService.getForDossierTemplate(this._dossier.dossierTemplateId).toPromise(); @@ -104,11 +110,11 @@ export class ManualAnnotationDialogComponent implements OnInit { this.legalOptions.sort((a, b) => a.label.localeCompare(b.label)); } - handleAddRedaction() { + save() { this._enhanceManualRedaction(this.data.manualRedactionEntryWrapper.manualRedactionEntry); this._manualAnnotationService.addAnnotation(this.data.manualRedactionEntryWrapper.manualRedactionEntry, this.data.file).subscribe( - response => this.dialogRef.close(new ManualAnnotationResponse(this.data.manualRedactionEntryWrapper, response)), - () => this.dialogRef.close(), + response => this._dialogRef.close(new ManualAnnotationResponse(this.data.manualRedactionEntryWrapper, response)), + () => this._dialogRef.close(), ); } @@ -133,8 +139,8 @@ export class ManualAnnotationDialogComponent implements OnInit { } private _enhanceManualRedaction(addRedactionRequest: IAddRedactionRequest) { - const legalOption: LegalBasisOption = this.redactionForm.get('reason').value; - addRedactionRequest.type = this.redactionForm.get('dictionary').value; + const legalOption: LegalBasisOption = this.form.get('reason').value; + addRedactionRequest.type = this.form.get('dictionary').value; if (legalOption) { addRedactionRequest.reason = legalOption.description; addRedactionRequest.legalBasis = legalOption.legalBasis; @@ -146,11 +152,13 @@ export class ManualAnnotationDialogComponent implements OnInit { if (!addRedactionRequest.reason) { addRedactionRequest.reason = 'Dictionary Request'; } - const commentValue = this.redactionForm.get('comment').value; + const commentValue = this.form.get('comment').value; addRedactionRequest.comment = commentValue ? { text: commentValue } : null; - addRedactionRequest.section = this.redactionForm.get('section').value; - addRedactionRequest.value = addRedactionRequest.rectangle - ? this.redactionForm.get('classification').value - : addRedactionRequest.value; + addRedactionRequest.section = this.form.get('section').value; + addRedactionRequest.value = addRedactionRequest.rectangle ? this.form.get('classification').value : addRedactionRequest.value; + } + + get disabled() { + return this.form.invalid; } } From a590bfc76439babdfc68612c3958d904a2705930 Mon Sep 17 00:00:00 2001 From: Valentin Date: Fri, 14 Jan 2022 18:03:15 +0200 Subject: [PATCH 161/260] extended base dialog for 'change legal basis dialog' component --- .../add-edit-dictionary-dialog.component.html | 2 +- .../add-edit-dictionary-dialog.component.ts | 1 - ...dit-dossier-template-dialog.component.html | 2 +- ...-edit-dossier-template-dialog.component.ts | 1 - ...-edit-file-attribute-dialog.component.html | 2 +- ...dd-edit-file-attribute-dialog.component.ts | 1 - .../edit-color-dialog.component.html | 2 +- .../edit-color-dialog.component.ts | 1 - .../change-legal-basis-dialog.component.html | 4 ++-- .../change-legal-basis-dialog.component.ts | 24 +++++++++---------- 10 files changed, 17 insertions(+), 23 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html index fdef99666..f626a8619 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.html @@ -95,7 +95,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index caec3565a..0c80cb245 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -28,7 +28,6 @@ export class AddEditDictionaryDialogComponent extends BaseDialogComponent { name: this._data.dictionary?.label, }); readonly hasColor$: Observable; - readonly disabled = false; private readonly _dossierTemplateId = this._data.dossierTemplateId; constructor( diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html index 9fa14f36b..7c0fba861 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.html @@ -82,7 +82,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index c7e6e6905..f3a046220 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -24,7 +24,6 @@ export class AddEditDossierTemplateDialogComponent extends BaseDialogComponent { key: type, label: downloadTypesTranslations[type], })); - readonly disabled = false; private _previousValidFrom: Moment; private _previousValidTo: Moment; private _lastValidFrom: Moment; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html index 1113f5e46..c2b1152ca 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.html @@ -84,7 +84,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts index cea36c802..413cdc418 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component.ts @@ -13,7 +13,6 @@ import { BaseDialogComponent } from '../../../../../../../../libs/common-ui/src' changeDetection: ChangeDetectionStrategy.OnPush, }) export class AddEditFileAttributeDialogComponent extends BaseDialogComponent { - readonly disabled = false; DISPLAYED_FILTERABLE_LIMIT = 3; translations = fileAttributeTypesTranslations; fileAttribute: IFileAttributeConfig = this.data.fileAttribute; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html index 0cf76231a..2255ff409 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.html @@ -28,7 +28,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index c98d2b51a..87fd53d62 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -20,7 +20,6 @@ interface IEditColorData { }) export class EditColorDialogComponent extends BaseDialogComponent { translations = defaultColorsTranslations; - readonly disabled = false; private readonly _dossierTemplateId: string; constructor( diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.html index 97a07755e..5395eb4df 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.html @@ -38,12 +38,12 @@
-
- +
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts index 16f9f5e8f..fcfe2d5d7 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { Component, Inject, Injector, OnInit } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; @@ -6,6 +6,7 @@ import { PermissionsService } from '@services/permissions.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { Dossier } from '@red/domain'; +import { BaseDialogComponent } from '@iqser/common-ui'; export interface LegalBasisOption { label?: string; @@ -16,8 +17,7 @@ export interface LegalBasisOption { @Component({ templateUrl: './change-legal-basis-dialog.component.html', }) -export class ChangeLegalBasisDialogComponent implements OnInit { - form: FormGroup = this._getForm(); +export class ChangeLegalBasisDialogComponent extends BaseDialogComponent implements OnInit { isDocumentAdmin: boolean; legalOptions: LegalBasisOption[] = []; @@ -26,16 +26,12 @@ export class ChangeLegalBasisDialogComponent implements OnInit { private readonly _dossiersService: DossiersService, private readonly _permissionsService: PermissionsService, private readonly _formBuilder: FormBuilder, - readonly dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) private readonly _data: { annotations: AnnotationWrapper[]; dossier: Dossier }, - ) {} - - get changed(): boolean { - return ( - this.form.get('reason').value.legalBasis !== this._data.annotations[0].legalBasis || - this.form.get('section').value !== this._data.annotations[0].section || - this.form.get('classification').value !== this._data.annotations[0].value - ); + ) { + super(_injector, _dialogRef); + this.form = this._getForm(); } get allRectangles(): boolean { @@ -43,6 +39,7 @@ export class ChangeLegalBasisDialogComponent implements OnInit { } async ngOnInit() { + super.ngOnInit(); const data = await this._justificationsService.getForDossierTemplate(this._data.dossier.dossierTemplateId).toPromise(); this.legalOptions = data @@ -56,6 +53,7 @@ export class ChangeLegalBasisDialogComponent implements OnInit { this.form.patchValue({ reason: this.legalOptions.find(option => option.legalBasis === this._data.annotations[0].legalBasis), }); + this.initialFormValue = this.form.getRawValue(); } private _getForm(): FormGroup { @@ -69,7 +67,7 @@ export class ChangeLegalBasisDialogComponent implements OnInit { } save() { - this.dialogRef.close({ + this._dialogRef.close({ legalBasis: this.form.get('reason').value.legalBasis, section: this.form.get('section').value, comment: this.form.get('comment').value, From 85f3088f3af10cc14e3d7921c648ed944e1e7b08 Mon Sep 17 00:00:00 2001 From: Valentin Date: Mon, 17 Jan 2022 10:39:05 +0200 Subject: [PATCH 162/260] extended base dialog for 'document info dialog' component and 'force annotation dialog' compoenent --- .../document-info-dialog.component.html | 6 ++--- .../document-info-dialog.component.ts | 15 ++++++++---- .../force-annotation-dialog.component.html | 8 +++---- .../force-annotation-dialog.component.ts | 23 +++++++++++-------- 4 files changed, 30 insertions(+), 22 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.html index 2d8ddfe7c..49fadde08 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.html @@ -1,7 +1,7 @@
-
+
@@ -9,11 +9,11 @@
-
- +
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts index b18ead053..8d4a77500 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts @@ -1,16 +1,17 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { Component, Inject, Injector, OnInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms'; import { Dossier, File, IFileAttributeConfig } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { FilesService } from '@services/entity-services/files.service'; +import { BaseDialogComponent } from '@iqser/common-ui'; @Component({ templateUrl: './document-info-dialog.component.html', styleUrls: ['./document-info-dialog.component.scss'], }) -export class DocumentInfoDialogComponent implements OnInit { +export class DocumentInfoDialogComponent extends BaseDialogComponent implements OnInit { form: FormGroup; attributes: IFileAttributeConfig[]; @@ -21,27 +22,31 @@ export class DocumentInfoDialogComponent implements OnInit { private readonly _formBuilder: FormBuilder, private readonly _fileAttributesService: FileAttributesService, private readonly _filesService: FilesService, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) readonly data: File, ) { + super(_injector, _dialogRef); this._dossier = this._dossiersService.find(this.data.dossierId); } async ngOnInit() { + super.ngOnInit(); this.attributes = ( await this._fileAttributesService.getFileAttributesConfig(this._dossier.dossierTemplateId).toPromise() ).fileAttributeConfigs.filter(attr => attr.editable); this.form = this._getForm(); + this.initialFormValue = this.form.getRawValue(); } - async saveDocumentInfo() { + async save() { const attributeIdToValue = { ...this.data.fileAttributes?.attributeIdToValue, ...this.form.getRawValue(), }; await this._fileAttributesService.setFileAttributes({ attributeIdToValue }, this.data.dossierId, this.data.fileId).toPromise(); this._filesService.reload(this.data.dossierId, this.data.fileId); - this.dialogRef.close(true); + this._dialogRef.close(true); } private _getForm(): FormGroup { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.html index fb2d27da6..be573e7aa 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.html @@ -1,5 +1,5 @@
-
+
@@ -19,7 +19,7 @@
- +
@@ -29,11 +29,11 @@
-
- +
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts index 66fa3e626..3a69b28a3 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts @@ -1,7 +1,7 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { Component, Inject, Injector, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { UserService } from '@services/user.service'; import { ManualAnnotationService } from '../../services/manual-annotation.service'; @@ -21,8 +21,7 @@ export interface LegalBasisOption { templateUrl: './force-annotation-dialog.component.html', styleUrls: ['./force-annotation-dialog.component.scss'], }) -export class ForceAnnotationDialogComponent implements OnInit { - redactionForm: FormGroup; +export class ForceAnnotationDialogComponent extends BaseDialogComponent implements OnInit { isDocumentAdmin: boolean; legalOptions: LegalBasisOption[] = []; @@ -35,10 +34,13 @@ export class ForceAnnotationDialogComponent implements OnInit { private readonly _justificationsService: JustificationsService, private readonly _manualAnnotationService: ManualAnnotationService, private readonly _permissionsService: PermissionsService, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) private readonly _data: { readonly dossier: Dossier; readonly hint: boolean }, ) { - this.redactionForm = this._getForm(); + super(_injector, _dialogRef); + this.form = this._getForm(); + this.initialFormValue = this.form.getRawValue(); } get isHintDialog() { @@ -55,6 +57,7 @@ export class ForceAnnotationDialogComponent implements OnInit { } async ngOnInit() { + super.ngOnInit(); const data = await this._justificationsService.getForDossierTemplate(this._data.dossier.dossierTemplateId).toPromise(); this.legalOptions = data.map(lbm => ({ @@ -66,17 +69,17 @@ export class ForceAnnotationDialogComponent implements OnInit { this.legalOptions.sort((a, b) => a.label.localeCompare(b.label)); } - handleForceAnnotation() { - this.dialogRef.close(this._createForceRedactionRequest()); + save() { + this._dialogRef.close(this._createForceRedactionRequest()); } private _createForceRedactionRequest(): ILegalBasisChangeRequest { const request: ILegalBasisChangeRequest = {}; - const legalOption: LegalBasisOption = this.redactionForm.get('reason').value; + const legalOption: LegalBasisOption = this.form.get('reason').value; request.legalBasis = legalOption.legalBasis; - request.comment = this.redactionForm.get('comment').value; + request.comment = this.form.get('comment').value; return request; } From 10f2f4c48ab373fb944eb6ff511fdbd5dd52fb46 Mon Sep 17 00:00:00 2001 From: Valentin Date: Tue, 18 Jan 2022 00:06:59 +0200 Subject: [PATCH 163/260] extended base dialog for 'recategorize image dialog' component and 'resize annotation dialog' compoenent --- .../recategorize-image-dialog.component.html | 6 ++--- .../recategorize-image-dialog.component.ts | 27 +++++++++++-------- .../resize-annotation-dialog.component.html | 6 ++--- .../resize-annotation-dialog.component.ts | 24 ++++++++++------- 4 files changed, 37 insertions(+), 26 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.html index aeafba369..a1073bcd3 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.html @@ -1,5 +1,5 @@
-
+
@@ -23,12 +23,12 @@
-
- +
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.ts index 3e6771b28..488438e46 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/recategorize-image-dialog/recategorize-image-dialog.component.ts @@ -1,17 +1,17 @@ -import { Component, Inject, OnInit } from '@angular/core'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { Component, Inject, Injector, OnInit } from '@angular/core'; +import { FormBuilder, Validators } from '@angular/forms'; import { PermissionsService } from '@services/permissions.service'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { imageCategoriesTranslations } from '../../translations/image-categories-translations'; import { ImageCategory } from '../../models/image-category.model'; import { Dossier } from '@red/domain'; +import { BaseDialogComponent } from '@iqser/common-ui'; @Component({ templateUrl: './recategorize-image-dialog.component.html', }) -export class RecategorizeImageDialogComponent implements OnInit { - recategorizeImageForm: FormGroup; +export class RecategorizeImageDialogComponent extends BaseDialogComponent implements OnInit { isDocumentAdmin: boolean; typeOptions: ImageCategory[] = ['signature', 'logo', 'formula', 'image']; translations = imageCategoriesTranslations; @@ -19,27 +19,32 @@ export class RecategorizeImageDialogComponent implements OnInit { constructor( private readonly _permissionsService: PermissionsService, private readonly _formBuilder: FormBuilder, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: { annotations: AnnotationWrapper[]; dossier: Dossier }, - ) {} + ) { + super(_injector, _dialogRef); + } get changed(): boolean { - return this.recategorizeImageForm.get('type').value !== this.data.annotations[0].type; + return this.form.get('type').value !== this.data.annotations[0].type; } ngOnInit() { + super.ngOnInit(); this.isDocumentAdmin = this._permissionsService.isApprover(this.data.dossier); - this.recategorizeImageForm = this._formBuilder.group({ + this.form = this._formBuilder.group({ type: [this.data.annotations[0].type, Validators.required], comment: this.isDocumentAdmin ? [null] : [null, Validators.required], }); + this.initialFormValue = this.form.getRawValue(); } save() { - this.dialogRef.close({ - type: this.recategorizeImageForm.get('type').value, - comment: this.recategorizeImageForm.get('comment').value, + this._dialogRef.close({ + type: this.form.get('type').value, + comment: this.form.get('comment').value, }); } } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.html index 72a505f70..a83614b35 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.html @@ -1,5 +1,5 @@
-
+
@@ -10,12 +10,12 @@
-
- +
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.ts index 51e55a1ef..14b6e1b64 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/resize-annotation-dialog/resize-annotation-dialog.component.ts @@ -1,34 +1,40 @@ -import { Component, Inject, OnInit } from '@angular/core'; +import { Component, Inject, Injector, OnInit } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { FormBuilder, Validators } from '@angular/forms'; import { PermissionsService } from '@services/permissions.service'; import { Dossier } from '@red/domain'; +import { BaseDialogComponent } from '@iqser/common-ui'; @Component({ templateUrl: './resize-annotation-dialog.component.html', }) -export class ResizeAnnotationDialogComponent implements OnInit { - resizeForm: FormGroup; +export class ResizeAnnotationDialogComponent extends BaseDialogComponent implements OnInit { isDocumentAdmin: boolean; constructor( private readonly _permissionsService: PermissionsService, private readonly _formBuilder: FormBuilder, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) private readonly _data: { dossier: Dossier }, - ) {} + ) { + super(_injector, _dialogRef); + } ngOnInit() { + super.ngOnInit(); + this.isDocumentAdmin = this._permissionsService.isApprover(this._data.dossier); - this.resizeForm = this._formBuilder.group({ + this.form = this._formBuilder.group({ comment: this.isDocumentAdmin ? [null] : [null, Validators.required], }); + this.initialFormValue = this.form.getRawValue(); } save() { - this.dialogRef.close({ - comment: this.resizeForm.get('comment').value, + this._dialogRef.close({ + comment: this.form.get('comment').value, }); } } From 920be9e4bf537276b1f6ceb25883ec75b82c5395 Mon Sep 17 00:00:00 2001 From: Valentin Date: Tue, 18 Jan 2022 16:53:58 +0200 Subject: [PATCH 164/260] added warn box for all needed dialogs --- ...it-dossier-attribute-dialog.component.html | 4 ++-- ...edit-dossier-attribute-dialog.component.ts | 16 +++++++------- .../admin/services/admin-dialog.service.ts | 8 ++++--- .../remove-annotations-dialog.component.html | 6 +++--- .../remove-annotations-dialog.component.ts | 21 ++++++++++--------- .../services/dossiers-dialog.service.ts | 2 ++ 6 files changed, 32 insertions(+), 25 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.html index ab55a854a..8ba993478 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.html @@ -35,11 +35,11 @@
-
- + diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts index 96642be2e..f20fa7042 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts @@ -1,8 +1,8 @@ -import { Component, HostListener, Inject, OnDestroy } from '@angular/core'; +import { Component, HostListener, Inject, Injector, OnDestroy } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { DossierAttributeConfigTypes, FileAttributeConfigTypes, IDossierAttributeConfig } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { AutoUnsubscribe, IqserEventTarget, LoadingService, Toaster } from '@iqser/common-ui'; +import { BaseDialogComponent, IqserEventTarget, LoadingService, Toaster } from '@iqser/common-ui'; import { HttpErrorResponse } from '@angular/common/http'; import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service'; import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations'; @@ -12,9 +12,8 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; templateUrl: './add-edit-dossier-attribute-dialog.component.html', styleUrls: ['./add-edit-dossier-attribute-dialog.component.scss'], }) -export class AddEditDossierAttributeDialogComponent extends AutoUnsubscribe implements OnDestroy { +export class AddEditDossierAttributeDialogComponent extends BaseDialogComponent implements OnDestroy { dossierAttribute: IDossierAttributeConfig = this.data.dossierAttribute; - readonly form: FormGroup = this._getForm(this.dossierAttribute); readonly translations = dossierAttributeTypesTranslations; readonly typeOptions = Object.keys(DossierAttributeConfigTypes); @@ -23,11 +22,14 @@ export class AddEditDossierAttributeDialogComponent extends AutoUnsubscribe impl private readonly _loadingService: LoadingService, private readonly _dossierAttributesService: DossierAttributesService, private readonly _toaster: Toaster, - readonly dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) readonly data: { readonly dossierAttribute: IDossierAttributeConfig }, ) { - super(); + super(_injector, _dialogRef); + this.form = this._getForm(this.dossierAttribute); + this.initialFormValue = this.form.getRawValue(); } get changed(): boolean { @@ -55,7 +57,7 @@ export class AddEditDossierAttributeDialogComponent extends AutoUnsubscribe impl this._dossierAttributesService.createOrUpdate(attribute).subscribe( () => { - this.dialogRef.close(true); + this._dialogRef.close(true); }, (error: HttpErrorResponse) => { this._loadingService.stop(); diff --git a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts index 8eaf8a2b5..66efb8fec 100644 --- a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts +++ b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts @@ -34,6 +34,7 @@ export class AdminDialogService extends DialogService { protected readonly _config: DialogConfig = { confirm: { component: ConfirmationDialogComponent, + dialogConfig: { disableClose: false }, }, addEditDictionary: { component: AddEditDictionaryDialogComponent, @@ -49,18 +50,19 @@ export class AdminDialogService extends DialogService { }, deleteFileAttribute: { component: ConfirmDeleteFileAttributeDialogComponent, + dialogConfig: { disableClose: false }, }, importFileAttributes: { component: FileAttributesCsvImportDialogComponent, - dialogConfig: largeDialogConfig, + dialogConfig: { ...largeDialogConfig, ...{ disableClose: false } }, }, deleteUsers: { component: ConfirmDeleteUsersDialogComponent, - dialogConfig: { autoFocus: true }, + dialogConfig: { autoFocus: true, disableClose: false }, }, addEditUser: { component: AddEditUserDialogComponent, - dialogConfig: { autoFocus: true }, + dialogConfig: { autoFocus: true, disableClose: false }, }, smtpAuthConfig: { component: SmtpAuthDialogComponent, diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html index 9f40bf629..287629e70 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.html @@ -7,7 +7,7 @@ ) | translate: { hint: data.hint } }} -
+
{{ (data.removeFromDictionary @@ -46,12 +46,12 @@
-
- + diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts index f6ecb7ab3..16591d344 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/remove-annotations-dialog/remove-annotations-dialog.component.ts @@ -1,10 +1,10 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, Injector } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { TranslateService } from '@ngx-translate/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { PermissionsService } from '@services/permissions.service'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; -import { humanize } from '@iqser/common-ui'; +import { FormBuilder, Validators } from '@angular/forms'; +import { BaseDialogComponent, humanize } from '@iqser/common-ui'; import { Dossier } from '@red/domain'; export interface RemoveAnnotationsDialogInput { @@ -18,23 +18,24 @@ export interface RemoveAnnotationsDialogInput { templateUrl: './remove-annotations-dialog.component.html', styleUrls: ['./remove-annotations-dialog.component.scss'], }) -export class RemoveAnnotationsDialogComponent { - redactionForm: FormGroup; - +export class RemoveAnnotationsDialogComponent extends BaseDialogComponent { constructor( private readonly _translateService: TranslateService, private readonly _formBuilder: FormBuilder, readonly permissionsService: PermissionsService, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: RemoveAnnotationsDialogInput, ) { - this.redactionForm = this._formBuilder.group({ + super(_injector, _dialogRef); + this.form = this._formBuilder.group({ comment: this.permissionsService.isApprover(this.data.dossier) ? [null] : [null, Validators.required], }); + this.initialFormValue = this.form.getRawValue(); } - confirm() { - this.dialogRef.close({ comment: this.redactionForm.getRawValue().comment }); + save() { + this._dialogRef.close({ comment: this.form.getRawValue().comment }); } printable(annotation: AnnotationWrapper) { diff --git a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts index 5a6feb045..ca5aef32e 100644 --- a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts @@ -30,6 +30,7 @@ export class DossiersDialogService extends DialogService { protected readonly _config: DialogConfig = { confirm: { component: ConfirmationDialogComponent, + dialogConfig: { disableClose: false }, }, documentInfo: { component: DocumentInfoDialogComponent, @@ -45,6 +46,7 @@ export class DossiersDialogService extends DialogService { }, assignFile: { component: AssignReviewerApproverDialogComponent, + dialogConfig: { disableClose: false }, }, recategorizeImage: { component: RecategorizeImageDialogComponent, From 68edfbd44ec8ee56a58aa817384cd554aaafd282 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 19 Jan 2022 09:11:31 +0200 Subject: [PATCH 165/260] compile fix --- .../manual-annotation-dialog.component.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts index ccb2c63ae..f761f6cf0 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts @@ -55,8 +55,6 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme this.form = this._getForm(); this.initialFormValue = this.form.getRawValue(); - - this.possibleDictionaries = this._possibleDictionaries; } get title() { From 9232a1049dc6545aaec10bde134de5d81ed443e0 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 19 Jan 2022 09:12:40 +0200 Subject: [PATCH 166/260] compile fix --- .../dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts index df752617a..486375e34 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.ts @@ -15,7 +15,6 @@ import { Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { EditDossierTeamComponent } from './edit-dossier-team/edit-dossier-team.component'; import { PermissionsService } from '@services/permissions.service'; -import { BaseDialogComponent } from '@shared/dialog/base-dialog.component'; type Section = 'dossierInfo' | 'downloadPackage' | 'dossierDictionary' | 'members' | 'dossierAttributes' | 'deletedDocuments'; From cf3577b3b558c9106313d52d19a87acfb3c9a943 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 19 Jan 2022 08:16:26 +0100 Subject: [PATCH 167/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3213 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ca24c913f..234dc6c49 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.172.0", + "version": "3.173.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 1ad857191258b4e1e9395d1cb2d2177e4df64c30..9bbeb156b355efe3e1dc79f699e7ceaefd9505c9 100644 GIT binary patch delta 3125 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 Pi*5f0gaPK?08jt`{w^9A delta 3124 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 Date: Thu, 20 Jan 2022 17:25:02 +0200 Subject: [PATCH 168/260] WIP --- .../app/modules/dossier/dossiers.module.ts | 3 +-- .../file-preview-screen.component.ts | 22 ++++++++++++------- .../services/pdf-viewer-data.service.ts | 8 +++++-- 3 files changed, 21 insertions(+), 12 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dossiers.module.ts b/apps/red-ui/src/app/modules/dossier/dossiers.module.ts index 140fe64c1..9fd58b8cb 100644 --- a/apps/red-ui/src/app/modules/dossier/dossiers.module.ts +++ b/apps/red-ui/src/app/modules/dossier/dossiers.module.ts @@ -10,7 +10,6 @@ import { SharedModule } from '@shared/shared.module'; import { DossiersRoutingModule } from './dossiers-routing.module'; import { FileUploadDownloadModule } from '@upload-download/file-upload-download.module'; import { DossiersDialogService } from './services/dossiers-dialog.service'; -import { PdfViewerDataService } from './services/pdf-viewer-data.service'; import { ManualAnnotationService } from './services/manual-annotation.service'; import { AnnotationProcessingService } from './services/annotation-processing.service'; import { EditDossierDialogComponent } from './dialogs/edit-dossier-dialog/edit-dossier-dialog.component'; @@ -54,7 +53,7 @@ const components = [ ...dialogs, ]; -const services = [DossiersDialogService, ManualAnnotationService, PdfViewerDataService, AnnotationProcessingService]; +const services = [DossiersDialogService, ManualAnnotationService, AnnotationProcessingService]; @NgModule({ declarations: [...components], diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 1d6d6d4d0..3eb1b4393 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -24,7 +24,7 @@ import { AnnotationDrawService } from './services/annotation-draw.service'; import { AnnotationProcessingService } from '../../services/annotation-processing.service'; import { Dossier, File, ViewMode } from '@red/domain'; import { PermissionsService } from '@services/permissions.service'; -import { combineLatest, Observable, timer } from 'rxjs'; +import { combineLatest, from, Observable, timer } from 'rxjs'; import { UserPreferenceService } from '@services/user-preference.service'; import { PdfViewerDataService } from '../../services/pdf-viewer-data.service'; import { download } from '@utils/file-download-utils'; @@ -69,6 +69,7 @@ const ALL_HOTKEY_ARRAY = ['Escape', 'F', 'f', 'ArrowUp', 'ArrowDown']; AnnotationDrawService, AnnotationActionsService, FilePreviewStateService, + PdfViewerDataService, ], }) export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnInit, OnDestroy, OnAttach, OnDetach { @@ -107,7 +108,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni private readonly _router: Router, private readonly _annotationProcessingService: AnnotationProcessingService, private readonly _annotationDrawService: AnnotationDrawService, - private readonly _fileDownloadService: PdfViewerDataService, + private readonly _pdfViewerDataService: PdfViewerDataService, private readonly _filesService: FilesService, private readonly _ngZone: NgZone, private readonly _fileManagementService: FileManagementService, @@ -129,9 +130,9 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni this.dossier$ = _dossiersService.getEntityChanged$(this.dossierId); this.fileId = _activatedRoute.snapshot.paramMap.get('fileId'); this.file$ = _filesMapService.watch$(this.dossierId, this.fileId).pipe( - tap(async file => { - await this._reloadFile(file); - }), + // Filter reanalysed$ events to prevent multiple reloads + filter(file => !this._fileData || file.lastProcessed === this._fileData.file.lastProcessed), + switchMap(file => from(this._reloadFile(file)).pipe(map(() => file))), shareLast(), ); this.canPerformAnnotationActions$ = this._canPerformAnnotationActions$; @@ -486,7 +487,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni const excludedPagesHaveChanged = JSON.stringify(previousFile.excludedPages) !== JSON.stringify(this._fileData.file.excludedPages); if (fileHasBeenExcludedOrIncluded || excludedPagesHaveChanged) { - await this._deleteAnnotations(); + this._deleteAnnotations(); await this._cleanupAndRedrawAnnotations(); } } @@ -556,7 +557,9 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni this.addActiveScreenSubscription = this._filesMapService.fileReanalysed$ .pipe(filter(file => file.fileId === this.fileId)) .subscribe(async file => { + console.log(file); if (file.lastProcessed !== this._fileData?.file.lastProcessed) { + console.log(1); const previousAnnotations = this.visibleAnnotations; await this._loadFileData(file); await this._reloadAnnotations(previousAnnotations); @@ -596,7 +599,10 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni return this._router.navigate([this._dossiersService.find(this.dossierId).routerLink]); } - const fileData = await this._fileDownloadService.loadDataFor(file, this._fileData).toPromise(); + console.log(2); + const fileData = await this._pdfViewerDataService.loadDataFor(file).toPromise(); + + console.log(3); if (file.isPending) { return; @@ -626,7 +632,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni } const currentPageAnnotations = this.visibleAnnotations.filter(a => a.pageNumber === page); - this._fileData.redactionLog = await this._fileDownloadService.loadRedactionLogFor(this.dossierId, this.fileId).toPromise(); + this._fileData.redactionLog = await this._pdfViewerDataService.loadRedactionLogFor(this.dossierId, this.fileId).toPromise(); this._deleteAnnotations(currentPageAnnotations); await this._cleanupAndRedrawAnnotations(currentPageAnnotations, annotation => annotation.pageNumber === page); diff --git a/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts b/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts index 591962afb..203125831 100644 --- a/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts @@ -10,6 +10,7 @@ import { ViewedPagesService } from '@services/entity-services/viewed-pages.servi import { AppStateService } from '../../../state/app-state.service'; import { DossiersService } from '../../../services/entity-services/dossiers.service'; import { UserPreferenceService } from '../../../services/user-preference.service'; +import { FilePreviewStateService } from '../screens/file-preview-screen/services/file-preview-state.service'; @Injectable() export class PdfViewerDataService { @@ -21,6 +22,7 @@ export class PdfViewerDataService { private readonly _viewedPagesService: ViewedPagesService, private readonly _appStateService: AppStateService, private readonly _userPreferenceService: UserPreferenceService, + private readonly _stateService: FilePreviewStateService, ) {} loadRedactionLogFor(dossierId: string, fileId: string) { @@ -30,14 +32,16 @@ export class PdfViewerDataService { ); } - loadDataFor(file: File, fileData?: FileDataModel): Observable { - const blob$ = fileData?.file.cacheIdentifier === file.cacheIdentifier ? fileData.blob$ : this.downloadOriginalFile(file); + loadDataFor(file: File): Observable { + const fileData = this._stateService.fileData; + const blob$ = fileData?.file.cacheIdentifier === file.cacheIdentifier ? of(fileData.blob$.value) : this.downloadOriginalFile(file); const redactionLog$ = this.loadRedactionLogFor(file.dossierId, file.fileId); const viewedPages$ = this.getViewedPagesFor(file); const dossier = this._dossiersService.find(file.dossierId); return forkJoin([blob$, redactionLog$, viewedPages$]).pipe( + tap(data => console.log('data', data)), map( (data: [blob: Blob, redactionLog: IRedactionLog, viewedPages: IViewedPage[]]) => new FileDataModel( From df20f7ba854cc1002e6a66bffe64aaa84a8ca9c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Fri, 21 Jan 2022 23:04:18 +0200 Subject: [PATCH 169/260] Fixed errors on document reload --- .../file-preview-screen/file-preview-screen.component.ts | 7 ------- .../modules/dossier/services/pdf-viewer-data.service.ts | 1 - 2 files changed, 8 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 3eb1b4393..02e199319 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -491,8 +491,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni await this._cleanupAndRedrawAnnotations(); } } - - await this._stampPDF(); } private async _stampPDF() { @@ -557,9 +555,7 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni this.addActiveScreenSubscription = this._filesMapService.fileReanalysed$ .pipe(filter(file => file.fileId === this.fileId)) .subscribe(async file => { - console.log(file); if (file.lastProcessed !== this._fileData?.file.lastProcessed) { - console.log(1); const previousAnnotations = this.visibleAnnotations; await this._loadFileData(file); await this._reloadAnnotations(previousAnnotations); @@ -599,11 +595,8 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni return this._router.navigate([this._dossiersService.find(this.dossierId).routerLink]); } - console.log(2); const fileData = await this._pdfViewerDataService.loadDataFor(file).toPromise(); - console.log(3); - if (file.isPending) { return; } diff --git a/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts b/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts index 203125831..bdf4a81d6 100644 --- a/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/pdf-viewer-data.service.ts @@ -41,7 +41,6 @@ export class PdfViewerDataService { const dossier = this._dossiersService.find(file.dossierId); return forkJoin([blob$, redactionLog$, viewedPages$]).pipe( - tap(data => console.log('data', data)), map( (data: [blob: Blob, redactionLog: IRedactionLog, viewedPages: IViewedPage[]]) => new FileDataModel( From 527d4933a07ba99565e5a6c4e7d6223f2aa3b6e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Sat, 22 Jan 2022 13:31:09 +0200 Subject: [PATCH 170/260] Fixes --- .../src/app/models/file/file-data.model.ts | 18 +++- .../pdf-viewer/pdf-viewer.component.ts | 4 +- .../file-preview-screen.component.html | 2 +- .../file-preview-screen.component.ts | 82 +++++++++---------- .../entity-services/files-map.service.ts | 10 --- 5 files changed, 56 insertions(+), 60 deletions(-) diff --git a/apps/red-ui/src/app/models/file/file-data.model.ts b/apps/red-ui/src/app/models/file/file-data.model.ts index 7a073a94e..16727d14b 100644 --- a/apps/red-ui/src/app/models/file/file-data.model.ts +++ b/apps/red-ui/src/app/models/file/file-data.model.ts @@ -9,20 +9,30 @@ export class FileDataModel { allAnnotations: AnnotationWrapper[]; readonly hasChangeLog$ = new BehaviorSubject(false); readonly blob$ = new BehaviorSubject(undefined); + readonly file$ = new BehaviorSubject(undefined); constructor( - public file: File, + private readonly _file: File, private readonly _blob: Blob, private _redactionLog: IRedactionLog, public viewedPages?: IViewedPage[], private _dictionaryData?: { [p: string]: Dictionary }, private _areDevFeaturesEnabled?: boolean, ) { + this.file$.next(_file); this.blob$.next(_blob); this._buildAllAnnotations(); } - get redactionLog() { + get file(): File { + return this.file$.value; + } + + set file(file: File) { + this.file$.next(file); + } + + get redactionLog(): IRedactionLog { return this._redactionLog; } @@ -49,7 +59,7 @@ export class FileDataModel { const previousAnnotations = this.allAnnotations || []; this.allAnnotations = entries .map(entry => AnnotationWrapper.fromData(entry)) - .filter(ann => ann.manual || !this.file.excludedPages.includes(ann.pageNumber)); + .filter(ann => ann.manual || !this._file.excludedPages.includes(ann.pageNumber)); if (!this._areDevFeaturesEnabled) { this.allAnnotations = this.allAnnotations.filter(annotation => !annotation.isFalsePositive); @@ -123,7 +133,7 @@ export class FileDataModel { } private _isChangeLogEntry(redactionLogEntry: IRedactionLogEntry, wrapper: RedactionLogEntryWrapper) { - if (this.file.numberOfAnalyses > 1) { + if (this._file.numberOfAnalyses > 1) { const viableChanges = redactionLogEntry.changes.filter(c => c.analysisNumber > 1); viableChanges.sort((a, b) => moment(a.dateTime).valueOf() - moment(b.dateTime).valueOf()); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/pdf-viewer/pdf-viewer.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/pdf-viewer/pdf-viewer.component.ts index 2688a3d5b..f0c0968a4 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/pdf-viewer/pdf-viewer.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/pdf-viewer/pdf-viewer.component.ts @@ -27,7 +27,7 @@ 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 { AutoUnsubscribe, ConfirmationDialogInput, LoadingService } from '@iqser/common-ui'; +import { AutoUnsubscribe, ConfirmationDialogInput, LoadingService, shareDistinctLast } from '@iqser/common-ui'; import { DossiersDialogService } from '../../../../services/dossiers-dialog.service'; import { loadCompareDocumentWrapper } from '../../../../utils/compare-mode.utils'; import { PdfViewerUtils } from '../../../../utils/pdf-viewer.utils'; @@ -125,6 +125,8 @@ export class PdfViewerComponent extends AutoUnsubscribe implements OnInit, OnCha .pipe( filter(fileData => !!fileData), switchMap(fileData => fileData.blob$), + // Skip document reload if file content hasn't changed + shareDistinctLast(), tap(() => this._loadDocument()), ) .subscribe(); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html index a7271bf42..b90dd8d93 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html @@ -1,5 +1,5 @@ - +
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts index a30311fcf..1b2234129 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts @@ -1,23 +1,27 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, Injector } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { UserService } from '@services/user.service'; import { ISmtpConfiguration } from '@red/domain'; +import { BaseDialogComponent } from '../../../../../../../../libs/common-ui/src'; @Component({ selector: 'redaction-smtp-auth-dialog', templateUrl: './smtp-auth-dialog.component.html', styleUrls: ['./smtp-auth-dialog.component.scss'], }) -export class SmtpAuthDialogComponent { - readonly form: FormGroup = this._getForm(); - +export class SmtpAuthDialogComponent extends BaseDialogComponent { constructor( private readonly _formBuilder: FormBuilder, private readonly _userService: UserService, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ISmtpConfiguration, - ) {} + ) { + super(_injector, _dialogRef); + this.form = this._getForm(); + this.initialFormValue = this.form.getRawValue(); + } private _getForm(): FormGroup { return this._formBuilder.group({ @@ -27,6 +31,6 @@ export class SmtpAuthDialogComponent { } save() { - this.dialogRef.close(this.form.getRawValue()); + this._dialogRef.close(this.form.getRawValue()); } } diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.html b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.html index d85baac5a..3c999db20 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.html @@ -2,7 +2,7 @@
-
+
@@ -23,7 +23,7 @@
-
diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts index 546b0b1ce..52cbecb26 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts @@ -1,18 +1,18 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; -import { AutoUnsubscribe, LoadingService } from '@iqser/common-ui'; +import { LoadingService } from '@iqser/common-ui'; import { GeneralSettingsService } from '@services/general-settings.service'; import { IGeneralConfiguration } from '@red/domain'; import { ConfigService } from '@services/config.service'; import { FormBuilder, FormGroup } from '@angular/forms'; +import { BaseFormComponent } from '../../../../../../../../../libs/common-ui/src/lib/form/base-form.component'; @Component({ selector: 'redaction-general-config-form', templateUrl: './general-config-form.component.html', styleUrls: ['./general-config-form.component.scss'], }) -export class GeneralConfigFormComponent extends AutoUnsubscribe implements OnInit, OnDestroy { +export class GeneralConfigFormComponent extends BaseFormComponent implements OnInit, OnDestroy { private _initialConfiguration: IGeneralConfiguration; - readonly form: FormGroup = this._getForm(); constructor( private readonly _loadingService: LoadingService, @@ -21,6 +21,7 @@ export class GeneralConfigFormComponent extends AutoUnsubscribe implements OnIni private readonly _formBuilder: FormBuilder, ) { super(); + this.form = this._getForm(); } private _getForm(): FormGroup { @@ -34,7 +35,7 @@ export class GeneralConfigFormComponent extends AutoUnsubscribe implements OnIni await this._loadData(); } - async saveGeneralConfig() { + async save() { this._loadingService.start(); const configFormValues = this.form.getRawValue(); @@ -43,20 +44,8 @@ export class GeneralConfigFormComponent extends AutoUnsubscribe implements OnIni this._initialConfiguration = await this._generalSettingsService.getGeneralConfigurations().toPromise(); this._configService.updateDisplayName(this._initialConfiguration.displayName); this._loadingService.stop(); - } - get generalConfigurationChanged(): boolean { - if (!this._initialConfiguration) { - return true; - } - - for (const key of Object.keys(this.form.getRawValue())) { - if (this._initialConfiguration[key] !== this.form.get(key).value) { - return true; - } - } - - return false; + await this._loadData(); } private async _loadData() { @@ -64,6 +53,7 @@ export class GeneralConfigFormComponent extends AutoUnsubscribe implements OnIni try { this._initialConfiguration = await this._generalSettingsService.getGeneralConfigurations().toPromise(); this.form.patchValue(this._initialConfiguration, { emitEvent: false }); + this.initialFormValue = this.form.getRawValue(); } catch (e) {} this._loadingService.stop(); diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts index aceb558f7..853e1385f 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts @@ -1,13 +1,52 @@ -import { Component } from '@angular/core'; +import { AfterViewInit, Component, ViewChild } from '@angular/core'; import { UserService } from '@services/user.service'; +import { GeneralConfigFormComponent } from './general-config-form/general-config-form.component'; +import { SmtpFormComponent } from './smtp-form/smtp-form.component'; +import { BaseFormComponent } from '../../../../../../../../libs/common-ui/src/lib/form/base-form.component'; @Component({ selector: 'redaction-general-config-screen', templateUrl: './general-config-screen.component.html', styleUrls: ['./general-config-screen.component.scss'], }) -export class GeneralConfigScreenComponent { +export class GeneralConfigScreenComponent extends BaseFormComponent implements AfterViewInit { readonly currentUser = this._userService.currentUser; - constructor(private readonly _userService: UserService) {} + @ViewChild(GeneralConfigFormComponent) generalConfigFormComponent: GeneralConfigFormComponent; + @ViewChild(SmtpFormComponent) smtpFormComponent: SmtpFormComponent; + children: BaseFormComponent[]; + + constructor(private readonly _userService: UserService) { + super(); + } + + ngAfterViewInit() { + this.children = [this.generalConfigFormComponent, this.smtpFormComponent]; + } + + get changed(): boolean { + for (const child of this.children) { + if (child.changed) { + return true; + } + } + return false; + } + + get valid() { + for (const child of this.children) { + if (!child.valid) { + return false; + } + } + return true; + } + + async save(): Promise { + for (const child of this.children) { + if (child.changed) { + await child.save(); + } + } + } } diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.html b/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.html index bc4fee456..17402e94d 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.html @@ -94,7 +94,7 @@
- diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts index d2ce349de..7af7131db 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts @@ -1,20 +1,20 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { ISmtpConfiguration } from '@red/domain'; -import { AutoUnsubscribe, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { AdminDialogService } from '../../../services/admin-dialog.service'; import { SmtpConfigService } from '../../../services/smtp-config.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { BaseFormComponent } from '../../../../../../../../../libs/common-ui/src/lib/form/base-form.component'; @Component({ selector: 'redaction-smtp-form', templateUrl: './smtp-form.component.html', styleUrls: ['./smtp-form.component.scss'], }) -export class SmtpFormComponent extends AutoUnsubscribe implements OnInit, OnDestroy { +export class SmtpFormComponent extends BaseFormComponent implements OnInit, OnDestroy { readonly iconButtonTypes = IconButtonTypes; private _initialConfiguration: ISmtpConfiguration; - readonly form: FormGroup = this._getForm(); constructor( private readonly _formBuilder: FormBuilder, @@ -24,6 +24,7 @@ export class SmtpFormComponent extends AutoUnsubscribe implements OnInit, OnDest private readonly _toaster: Toaster, ) { super(); + this.form = this._getForm(); this.addSubscription = this.form.controls.auth.valueChanges.subscribe(auth => { if (auth) { this.openAuthConfigDialog(); @@ -67,20 +68,8 @@ export class SmtpFormComponent extends AutoUnsubscribe implements OnInit, OnDest await this._smtpConfigService.updateSMTPConfiguration(this.form.getRawValue()).toPromise(); this._initialConfiguration = this.form.getRawValue(); this._loadingService.stop(); - } - get smtpConfigurationChanged(): boolean { - if (!this._initialConfiguration) { - return true; - } - - for (const key of Object.keys(this.form.getRawValue())) { - if (this._initialConfiguration[key] !== this.form.get(key).value) { - return true; - } - } - - return false; + this._loadData(); } async testConnection() { @@ -101,6 +90,7 @@ export class SmtpFormComponent extends AutoUnsubscribe implements OnInit, OnDest try { this._initialConfiguration = await this._smtpConfigService.getCurrentSMTPConfiguration().toPromise(); this.form.patchValue(this._initialConfiguration, { emitEvent: false }); + this.initialFormValue = this.form.getRawValue(); } catch (e) {} this._loadingService.stop(); diff --git a/libs/common-ui b/libs/common-ui index 54d460682..3d50996b2 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 54d460682a995debb1bde96130e1b3689b0595de +Subproject commit 3d50996b2e1fc374cc4418d47ce7922ca9bb9aed From 319b4960b11e779e753d4f472273f6deece55b00 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 24 Jan 2022 19:35:14 +0200 Subject: [PATCH 175/260] session download test --- .../services/file-download.service.ts | 13 +++++++------ apps/red-ui/src/assets/config/config.json | 3 ++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts index bbc3e3acd..cb77c30e7 100644 --- a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts +++ b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts @@ -7,9 +7,9 @@ import { IPrepareDownloadRequest, IRemoveDownloadRequest, } from '@red/domain'; -import { interval, Observable } from 'rxjs'; +import { Observable } from 'rxjs'; import { ConfigService } from '@services/config.service'; -import { filter, map, switchMap, tap, withLatestFrom } from 'rxjs/operators'; +import { map, switchMap, tap } from 'rxjs/operators'; import { KeycloakService } from 'keycloak-angular'; import { UserService } from '@services/user.service'; import { EntitiesService, List, mapEach, RequiredParam, Validate } from '@iqser/common-ui'; @@ -44,11 +44,12 @@ export class FileDownloadService extends EntitiesService Date: Mon, 24 Jan 2022 18:39:37 +0100 Subject: [PATCH 176/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 234dc6c49..f1ad0f26a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.173.0", + "version": "3.174.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 9bbeb156b355efe3e1dc79f699e7ceaefd9505c9..ead882c7dbdad8babb68002eaa2cc07d441a43a7 100644 GIT binary patch delta 3128 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 S+|KP6+x`!&9eCCNPyhf=rWNb} delta 3127 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 Date: Mon, 24 Jan 2022 19:41:51 +0200 Subject: [PATCH 177/260] session download test --- angular.json | 3 +++ docker/red-ui/docker-entrypoint.sh | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/angular.json b/angular.json index 700f0f37e..271a6fd05 100644 --- a/angular.json +++ b/angular.json @@ -1,4 +1,7 @@ { + "cli": { + "analytics": false + }, "version": 1, "projects": { "common-ui": { diff --git a/docker/red-ui/docker-entrypoint.sh b/docker/red-ui/docker-entrypoint.sh index 396003f96..1fe838bd0 100755 --- a/docker/red-ui/docker-entrypoint.sh +++ b/docker/red-ui/docker-entrypoint.sh @@ -24,6 +24,8 @@ OAUTH_URL="${OAUTH_URL:-/auth}" RECENT_PERIOD_IN_HOURS="${RECENT_PERIOD_IN_HOURS:-24}" SELECTION_MODE="${SELECTION_MODE:-structural}" +USE_SESSION_FOR_DOWNLOAD=""${USE_SESSION_FOR_DOWNLOAD:-false}"" + echo '{ "ADMIN_CONTACT_NAME":"'"$ADMIN_CONTACT_NAME"'", @@ -45,7 +47,8 @@ echo '{ "OAUTH_IDP_HINT":"'"$OAUTH_IDP_HINT"'", "OAUTH_URL":"'"$OAUTH_URL"'", "RECENT_PERIOD_IN_HOURS":'"$RECENT_PERIOD_IN_HOURS"', - "SELECTION_MODE":"'"$SELECTION_MODE"'" + "SELECTION_MODE":"'"$SELECTION_MODE"'", + "USE_SESSION_FOR_DOWNLOAD":'"$USE_SESSION_FOR_DOWNLOAD"' }' > /usr/share/nginx/html/ui/assets/config/config.json echo 'Env variables: ' From 0ddc95dcc54f289e1f42ecb59e66c2d4c67eb451 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 24 Jan 2022 19:43:35 +0200 Subject: [PATCH 178/260] fixed autocomplete --- docker/red-ui/docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/red-ui/docker-entrypoint.sh b/docker/red-ui/docker-entrypoint.sh index 1fe838bd0..82f9504e5 100755 --- a/docker/red-ui/docker-entrypoint.sh +++ b/docker/red-ui/docker-entrypoint.sh @@ -24,7 +24,7 @@ OAUTH_URL="${OAUTH_URL:-/auth}" RECENT_PERIOD_IN_HOURS="${RECENT_PERIOD_IN_HOURS:-24}" SELECTION_MODE="${SELECTION_MODE:-structural}" -USE_SESSION_FOR_DOWNLOAD=""${USE_SESSION_FOR_DOWNLOAD:-false}"" +USE_SESSION_FOR_DOWNLOAD="${USE_SESSION_FOR_DOWNLOAD:-false}" echo '{ From f2153848f7dfd786017187dba8f0000e03e4b6e9 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 24 Jan 2022 19:44:04 +0200 Subject: [PATCH 179/260] fixed autocomplete --- .../modules/upload-download/services/file-download.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts index cb77c30e7..d4db7db09 100644 --- a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts +++ b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts @@ -46,7 +46,7 @@ export class FileDownloadService extends EntitiesService Date: Mon, 24 Jan 2022 18:51:06 +0100 Subject: [PATCH 180/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f1ad0f26a..375858f91 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.174.0", + "version": "3.175.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index ead882c7dbdad8babb68002eaa2cc07d441a43a7..292845a766661416b4e275afeeb96c4686c7ab7b 100644 GIT binary patch delta 3126 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 Q?HAkr53L<|)&Nid00P++W&i*H From 86e5d924350e1407fe968c4878bed09ca0180e56 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Mon, 24 Jan 2022 20:58:13 +0200 Subject: [PATCH 181/260] change interval to 5sec --- apps/red-ui/src/app/utils/constants.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/utils/constants.ts b/apps/red-ui/src/app/utils/constants.ts index 454c91719..63ba0e493 100644 --- a/apps/red-ui/src/app/utils/constants.ts +++ b/apps/red-ui/src/app/utils/constants.ts @@ -1 +1 @@ -export const CHANGED_CHECK_INTERVAL = 3000; +export const CHANGED_CHECK_INTERVAL = 5000; From a4b46b0ec3f233540802a127bd053be73fefb7eb Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Mon, 24 Jan 2022 20:01:56 +0100 Subject: [PATCH 182/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 375858f91..5d079273c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.175.0", + "version": "3.176.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 292845a766661416b4e275afeeb96c4686c7ab7b..f7e37dd02023935b493fa6356a65f590b33260b7 100644 GIT binary patch delta 3125 zcmV-549fG58IBo{cz=4Hzj$RkcHk^tq2LFhX3(0N;R>N2W2v8Go9p_QKWg@rk^1|x zhST-$d5(M5|Buo3>c1i}j+h*qM|J&SYj6cG{3-o=4ye1=|H6fSXA$_IfBXAo)!csJ z`hOFpxT*<5mw)~G3u|?Gckza9%c5easj{ofl(Dj2-`pfc&VTCprYJTU!6mKdQL()N zgK&SB;4RIbKKXM=^51@i^LkAg&Snprl)bTMo^9XRGhh4-#NUPZyA*#{@YfM@95Kfc za~v_p5px_q=QlB}%M3q#Qa|AG^7`&#&gsLMl@c723jON>p?4O|WAeC0&K>+p35E67 z$PeuD@$TYz0DrMwha@Q~A|OK?-EXR*$zv-jvZ7j}kKC2#`py^*rH%mM!mw)kj;ztb z=L^WL2e~Zg2>LRb6RRU-wQMJDakZhj#flPuS6W|KFjj1VY9rC8`&koQMX4ZUiyy5A z8nYB|*|v&ojc~&X{<|z{%4h*S70EE8Z^>cY^Y+t9D1XUfv65WHvF%@Tq+wBUIU=Wg zM0JtT7=09baS-F(pjF|RHZ^eG(q)iyk|Zb6vR;EBL?kV;PVq&FBg&rE$eu4xL^gZb z%0p|>?81?Dq1k}5I!3W$;g>j$X}$pjF38(i9)%@jc?;a@ABUi-h7nFz)lwwvbcdd+ z)0xy4tAAj7m$)K1yEF11HC4^K%7W&MR0dnHxiyIY?BiHir^Q<-Z-W8Fu^$Hl)5V)D zi77@!o;{&DstCyu&SP|?Y>_43Z`T5sd0%T9^xakt=Dj`8Y#?{{GiNFxm^BbOflLqs zz-BlknOH%3vNg(!TXo6B*QJuTdBl5x!k==b;Lm)QjV~74j z^pX0A@2M%909mN+WgG}TEYO)8=02y`1~Y-+7^g9C8(r?n!{N=x=yRH9gt8{zppS1Z z=77us36RWkjGpxJABnqMUJ7mj`tL<`pJc_u0M?y?wIip8{TpbesiC}i2aAKGbbl1y z6bi?_?NNM2@`k-5)t2P%zvBujC5rlR4#WWRe5C3^ca#)$>h$lZCgGETHBzymDloIH#(U+q5{}ayfhE(-no#mwF z{8hismqnJrI$UO-k%~+*y_zI?<$w3ceqYoz1#*EFMtZ!kHy?1uMksG5Q7$6|<$VKc zWdwzgafV=`Tq;}ic}!VR4QUcdhiG*xpO8seGW6CUpI{2>Dx@rb?2&0xFnj)qVF^1pxor$$%l`+skngl-7> zq5|{CuZP&CcS9gK(vy9wB6X9osRS|!;NP-^lK>nkrkyX75v`9HGK<{1P9FtVHVLb4E32u;i^C z_T@S~MZKU*{PdFHKxoxTa(}o2bYzghK)PdG`(On*EDp!3d_Q^OIDykwsdHMEglPif z=|Y<igF@n@rpm1$ zMwurJ2%W07b~{OIq=nzf?)d!6us9T^ADan)0euG>WYW!@M@9K0j(|E8hQy#*;76OONSIc;M)8TEV494DQLq+%=6!h$l}BcbbLT3DQ%T+Ks)%)zu!0xz;AM_HeBulD>nbH0J}5 zFMVAB2|PCvzkmJ+g&Kr2`1w4bcAgcR!f-|eVY|&ue$`&eV0oCQ0kKUy=J%&YB(M3AR)?XJVMY=) z6Pp5RvVGuP6>|jmenfs>x3MBZ^G)_trv24|uz^6X#K$EfRkp8(K&sjKJLE<0D8u5> zs#6>n4}aY;o9c$Sk8t(6t+Tp7p_Q-S-Qdi31;L<9)o8JMMkauVh0k7-Hd??m>dB++ zJs>YR3!O%*N-KxhK2<_(L5v7jj7G8~9A6L(D}oDoz%ERLmy#vk5cyTBVq~!Giavn+ zNGJF;GNMXd12S8QPZx8@Q#QnUOUZ+HRiRF7kAF#@M|0?QGpJ5kt&H~>hB3J7bU5*}H|fpBrHGJsM~65oF732%Q&qT3%_GpRQ^YS1^r zr2jRZb&OQH(&dZFj=EAKu2g6%C26hM=zoh$ge28}mAZ3rd!IKKhqs0&CzEzD+=|Z~ zj`jnXjGqQ8?sB#+WiUdlK?Yayo~cMI_EeJVaTeJhO^QpgBK#*XIeq!4PU?K@z609M z9Vz(%6l8p_aiM@=wWklhJ%dzWh86)odT{*f(PE&vQWL(xk(!NLJ?`ZX>u59}Pk)4% zoZG-q1mM^pR^qHf+T=B1yGUAOv-ZpIf>?`Q$_@3;;t7L7&j~LVR4z;p7S!<{{GGyH zVni@LK+a_9b^vo91P|eV$r}U}_YqGI)ajEi4)jUKJv11=9QnRrK+cPw6%6scB!kwq z+dU!}@VWQxz$t?43-pr&+56+NDt{spgY}6LZC*1{9(Z*-k>WX~6lE+sUHtty#5WD8 z`!{mN3aOv*8nJj39L4>YE#eF^%pXaxt7YZ$%HEA8^pWpFS#-)GrVY_(&0sOYdd&M@ zmx=gj-kE#uO(pZ~TkSQv8Oj$BC|`{m8@EiK(ZZ!A>Ii;G@@(^oODE z#OLnMW91DocF$}NVhl8litdLPy<;)@o{CX1ofiiD=dtCDlD^Z528nT;JMIfU0>m7_ zy1}E%-$?{X5j9hn-aqyK+AeZ#=XP%Ac5df(Zs&Gx=XP%Ac5df(Zs&Gx=XP%Ac5dhP Pi*5f04d!;>08jt`3y~SX delta 3126 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 Date: Mon, 24 Jan 2022 23:49:43 +0200 Subject: [PATCH 183/260] extended base dialog for 'add edit user dialog' component --- .../add-edit-user-dialog.component.html | 11 ++++--- .../add-edit-user-dialog.component.ts | 32 +++++++++++++++++-- .../user-details/user-details.component.html | 2 +- .../user-details/user-details.component.ts | 32 +++---------------- .../admin/services/admin-dialog.service.ts | 2 +- 5 files changed, 42 insertions(+), 37 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.html index 1f17a0d25..51cae0fa7 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.html @@ -1,17 +1,18 @@
- +
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.ts index 30b9e7c21..aadf98a36 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.ts @@ -1,18 +1,44 @@ -import { Component, Inject } from '@angular/core'; +import { Component, Inject, Injector, ViewChild } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { User } from '@red/domain'; +import { UserDetailsComponent } from './user-details/user-details.component'; +import { BaseDialogComponent } from '../../../../../../../../libs/common-ui/src'; @Component({ selector: 'redaction-add-edit-user-dialog', templateUrl: './add-edit-user-dialog.component.html', styleUrls: ['./add-edit-user-dialog.component.scss'], }) -export class AddEditUserDialogComponent { +export class AddEditUserDialogComponent extends BaseDialogComponent { + @ViewChild(UserDetailsComponent) private readonly _userDetailsComponent: UserDetailsComponent; + resettingPassword = false; - constructor(readonly dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) readonly user: User) {} + constructor( + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) readonly user: User, + ) { + super(_injector, _dialogRef); + } toggleResetPassword() { this.resettingPassword = !this.resettingPassword; } + + async save(): Promise { + await this._userDetailsComponent.save(); + } + + get changed(): boolean { + return this._userDetailsComponent.changed; + } + + get valid(): boolean { + return this._userDetailsComponent.valid; + } + + closeDialog(event) { + this._dialogRef.close(event); + } } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.html b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.html index 75615f9ec..4ca949f7f 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.html @@ -53,6 +53,6 @@ icon="iqser:trash" > -
+
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts index 0320cf449..c73a6bb82 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts @@ -1,28 +1,29 @@ import { Component, EventEmitter, Input, OnChanges, OnDestroy, Output } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { AdminDialogService } from '../../../services/admin-dialog.service'; -import { AutoUnsubscribe, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; +import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { rolesTranslations } from '../../../../../translations/roles-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { User } from '@red/domain'; import { UserService } from '@services/user.service'; import { HttpStatusCode } from '@angular/common/http'; +import { BaseFormComponent } from '../../../../../../../../../libs/common-ui/src/lib/form/base-form.component'; @Component({ selector: 'redaction-user-details', templateUrl: './user-details.component.html', styleUrls: ['./user-details.component.scss'], }) -export class UserDetailsComponent extends AutoUnsubscribe implements OnChanges, OnDestroy { +export class UserDetailsComponent extends BaseFormComponent implements OnChanges, OnDestroy { readonly iconButtonTypes = IconButtonTypes; @Input() user: User; @Output() readonly toggleResetPassword = new EventEmitter(); @Output() readonly closeDialog = new EventEmitter(); + @Output() readonly cancel = new EventEmitter(); readonly ROLES = ['RED_USER', 'RED_MANAGER', 'RED_USER_ADMIN', 'RED_ADMIN']; readonly translations = rolesTranslations; - form: FormGroup; private readonly _ROLE_REQUIREMENTS = { RED_MANAGER: 'RED_USER', RED_ADMIN: 'RED_USER_ADMIN' }; constructor( @@ -35,29 +36,6 @@ export class UserDetailsComponent extends AutoUnsubscribe implements OnChanges, super(); } - get changed(): boolean { - if (!this.user) { - return true; - } - - if (this.user.roles.length !== this.activeRoles.length) { - return true; - } - - for (const key of Object.keys(this.form.getRawValue())) { - const keyValue = this.form.get(key).value; - if (key.startsWith('RED_')) { - if (this.user.roles.includes(key) !== keyValue) { - return true; - } - } else if (this.user[key] !== keyValue) { - return true; - } - } - - return false; - } - get activeRoles(): string[] { return this.ROLES.reduce((acc, role) => { if (this.form.get(role).value) { @@ -85,6 +63,7 @@ export class UserDetailsComponent extends AutoUnsubscribe implements OnChanges, ngOnChanges() { this.form = this._getForm(); this._setRolesRequirements(); + this.initialFormValue = this.form.getRawValue(); } shouldBeDisabled(role: string): boolean { @@ -134,7 +113,6 @@ export class UserDetailsComponent extends AutoUnsubscribe implements OnChanges, } private _getForm(): FormGroup { - console.log(this.user); return this._formBuilder.group({ firstName: [this.user?.firstName, Validators.required], lastName: [this.user?.lastName, Validators.required], diff --git a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts index 66efb8fec..6d161fb42 100644 --- a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts +++ b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts @@ -62,7 +62,7 @@ export class AdminDialogService extends DialogService { }, addEditUser: { component: AddEditUserDialogComponent, - dialogConfig: { autoFocus: true, disableClose: false }, + dialogConfig: { autoFocus: true }, }, smtpAuthConfig: { component: SmtpAuthDialogComponent, From 1c4b2080bec2bad7fc269c1d6d324ec9c62669f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Tue, 25 Jan 2022 09:54:50 +0200 Subject: [PATCH 184/260] Update backend url --- apps/red-ui/src/assets/config/config.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/assets/config/config.json b/apps/red-ui/src/assets/config/config.json index 37f55bf22..6a7817a2f 100644 --- a/apps/red-ui/src/assets/config/config.json +++ b/apps/red-ui/src/assets/config/config.json @@ -1,7 +1,7 @@ { "ADMIN_CONTACT_NAME": null, "ADMIN_CONTACT_URL": null, - "API_URL": "https://aks-staging.iqser.cloud/redaction-gateway-v1", + "API_URL": "https://dev-04.iqser.cloud/redaction-gateway-v1", "APP_NAME": "RedactManager", "AUTO_READ_TIME": 3, "BACKEND_APP_VERSION": "4.4.40", @@ -17,7 +17,7 @@ "MAX_RETRIES_ON_SERVER_ERROR": 3, "OAUTH_CLIENT_ID": "redaction", "OAUTH_IDP_HINT": null, - "OAUTH_URL": "https://aks-staging.iqser.cloud/auth/realms/redaction", + "OAUTH_URL": "https://dev-04.iqser.cloud/auth/realms/redaction", "RECENT_PERIOD_IN_HOURS": 24, "SELECTION_MODE": "structural", "USE_SESSION_FOR_DOWNLOAD": false From 8eab831a5b669bc3500aab637b6326b067bbecfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adina=20=C8=9Aeudan?= Date: Tue, 25 Jan 2022 10:09:55 +0200 Subject: [PATCH 185/260] Update common --- libs/common-ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/common-ui b/libs/common-ui index 95644f59e..650c16b80 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 95644f59e4e32517d76e0bd9267805a88ebdd8d1 +Subproject commit 650c16b80387943f1de0efa876215559f56d123b From 1205337dfa6f03e59bd381b4e47de484f88f317e Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 25 Jan 2022 09:15:59 +0100 Subject: [PATCH 186/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3213 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5d079273c..58d7e597c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.176.0", + "version": "3.177.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index f7e37dd02023935b493fa6356a65f590b33260b7..4c4eb4d1b26a55ec72d75c52c0ed42c52502c680 100644 GIT binary patch delta 3106 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 w(^b delta 3107 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 From 20cb08f538601d84f6cbebc2fedda8c2e7b90516 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 25 Jan 2022 10:17:09 +0200 Subject: [PATCH 187/260] update readme for redirect_uri errors --- README.md | 37 +++++++++++++++---------------------- 1 file changed, 15 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index ebaa94b68..881ba1d5f 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,5 @@ # Redaction -## Swagger Generated Code - -To re-generate http rune swagger - -YOu need swagger-codegen installed `brew install swagger-codegen` - -``` -BASE=https://dev-06.iqser.cloud/ -URL="$BASE"redaction-gateway-v1/v2/api-docs?group=redaction-gateway-v1 -rm -Rf /tmp/swagger -mkdir -p /tmp/swagger -swagger-codegen generate -i "$URL" -l typescript-angular -o /tmp/swagger -cd /tmp/swagger -``` - ## To Create a new Stack in rancher Goto rancher.iqser.com: Select Cluster `Development`, go to apps, click launch and select `Redaction` from the `dev` @@ -25,17 +10,25 @@ Add cloudflare certificate and specify a hostname to use `timo-redaction-dev.iqs ## Keycloak Staging Config -keycloak: -authServerUrl: 'https://redkc-staging.iqser.cloud/auth' -client: -secret: 'a4e8aa56-03b0-4e6b-b822-8ac1f41280c4' +- keycloak: + - authServerUrl: 'https://redkc-staging.iqser.cloud/auth' +- client: + - secret: 'a4e8aa56-03b0-4e6b-b822-8ac1f41280c4' ## Default Testing URL -`https://timo-redaction-dev.iqser.cloud/` -Hostname: +`https://dev-04.iqser.cloud/` -timo-redaction-dev.iqser.cloud +## Known errors + +- In case of CORS or redirect_uri errors follow these steps: + - Go to `.iqser.cloud/auth/admin/master/console` + - Login with `admin` and `admin1234` + - In the left menu go to `Clients` + - In the table click `redaction` + - Find `Valid Redirect URIs` input + - Under `/ui/*` add new value `http://localhost:4200/*` + - **Save** ## Test Users From d1304449e2b2b42414c7e70ad45935fe14ba3d7e Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 25 Jan 2022 09:21:02 +0100 Subject: [PATCH 188/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3213 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 58d7e597c..79d456679 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.177.0", + "version": "3.178.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 4c4eb4d1b26a55ec72d75c52c0ed42c52502c680..ba8cd6cb47514af33cf4155aeca2d34016a57ee8 100644 GIT binary patch delta 2386 zcmV-Y39a^x8IBo{P6O;jvXN076x$hmckPwqJ4_oI zmGU+iP#pVlATV9L*^-!IROHzcs-udK9N|1hSIQPy^8I!#aGCeDra|9r9pTMb%S>PI6mIKelsd08?E%Z=lpFkeMClH8@j{bzTTK9Fzii*PR!fy;KKr)$zkquifu3x2##?Y1GmxTo;)1h ze2hM)c}6H}@(ud<=3)-WERX=nEXU|cFaMFa%jKou7NGxLRQE|%JPcsnDOfvldf2~# zW||txn|H7{NJ>ZHO`&k?+aASdByZR|Qf*28{yVNuYR+Hv>wH;c8LY!)_8F>;VWh_kd-DNj zY=rW566G>de^A~xpjJju2pMMxCd#F@y*J;)op^4P@NkxNWV9h$bQ$V9qJP}terTC#@++2 zay}4;v8@sCkivRvB)&9U8Mq40F?^~0S!*Su`85G2f*IdrAP#)xx_=80hr8l30m0bw z+iP|DHw}&MElAmzaD1&JR}L(@d7FwnK~AbxT-uP!ney96G#K(=2xA#vQ4o7XTQntExh-O{+l7LD>6H2Au4zm{Jb7Zc z(=60ZkeFWwe;JK0b^+zbwAe_O^=K;0z ztk@KWGa?AvZEo_b_EHAR!#ovuy@ntd-cxY29VOb4y(3-h0e={a30ifzt<6jygDr({ zxEGsA#$!dQ*Bv`|zY83uxj*vt#X%B|xV1QlWA;Joyx@-FIKlQRS@Np`uges3{MH(6 zM=kAG$Yn+|=P*tqaQ*qcmf5#pPD}DA-FK9f@E~_eh9424$*7i`_Fa0X!^x_L{WO0;W+<9&PUdc__(Q=rmeYS~ZB!{~WU{pUA9NL#m(_Cq@{V9R1m=J%U2HN4ZaQnnS zjbAcEL^zACpoB*jav)q>s|=vjlf<`w^@O)SCDH8{k0!;XSP}jcn4G?RR3~*lcHaSQ=Z=*8017g`*SJu? zu-elH-=0A#Fhh%gA3Zq!^=L8BT&aHv-{45i#;qRr@`rUa8jvSKOwMg!C<1V75G!%k zA#L)Suw5iAvRV7b@Pb&2Udj#i&*BM#LeB{=7gR1x4;Iw%AN-xdUSdQrK0wZ7>UIEg z9|RBKf5{sJ755QO57gx2?WgREFmi8kLV<)Dbb_P3%%Hvmuo E01eZo&;S4c delta 2385 zcmV-X39j~z8I2i`P6K4tl95py6w?`ecI}npJ4 zzpz%9cNcHywk#@!nku`xOc^Wd_03IEeuh*2}Z1%88*&BQ25!v>gJ@duiK>S^Zzf19V1%Hz=0lxu1lkx$Ze`g=Z!a6P9 zN_iU$D31L&5ST9BY)MQpD)Q_J)lo%Aj&L5MD`kr;`F^_=xXk-n)1dFRaxm}hfo21_ zyPr8z3Bjy^&tq9(%7|4qVMZg&6+0muOt<#EoGU*pe;Q4aqUxzbC%LVqAKN)aM|WhsSJVuqhn~|sm-f*)KB1pp zfSZcOyn}yQjBKHo5l&dMg;<50q~ibj85;~FxC7P)t7+jwj%k`wq@uCeZ#2Gubn`}E zN?hWT+q<#f)p(rpsMDG>5VlTeRWmC}sdP3%46S@%-5W5W9J!O=e<<~L7R)Hi$ZTRF zxV1?1up(+_4r8giIx?1e3q91?Cy58)^C#)Cmnt$Gr4@}* zMmHvsf=Mii*JJsriPEIW??n*S;TO|XxIO&mA<1E7nj@b4bPN_Dsgmsdw^2%L3qB@A9NI1(O>bAed?6{slIzx`*sFNUH z#9>Bau)bUGc7<(qFfUj?!D9Tw;+vIwtJ?%8p*lBYkbZA0k^Qb!JJcs|SUYhNjlBn4 z<$NFxV_PHOA%*qUNPK9xGH?}~WB5?}v(`#R^J@Z51T((LKpgnWb$=Hi4tK?60)nyU zx7X_QZyFliTadCb;rLodt{hl)^EMTEf}B*XxU?acGv&9DXfWi#5XLwPz0r_w6rUIh zrpZ_sB`b!OM&*j3l~I=)UL^>|Y&%KpAsCEt&Vq;px7un?kY^PS0x(I!l@}TYU8ADq zV7m(fP>Hj;ogr-suYZyqt(w|dLqmjUq9FE&wrEPSa$Ce?w+jXR(kb)JUDKF^c=E(> zr&*|-AU%bt-Pl`PUG1@$Yi&Yn57#;(={s0Tb3Oq1($^J`z;h$<>yJ>VK{$h-&jV`b zS+OY$XG9RT+uY<=?WGKshj}XSdJRD^yrUY9B6_^mbC zj#}EWkjso_&S9KJ;QI4>EwgXIoR;KKy6-3{;X&?{3{7hN03rKtAw0*6eKLUrN@)6) zK*loU>w^*LXMbI?&d_pUet&92@|quMbr?DsW+YKFu_>S?+XvoNF-L&!N96Z)8!I9- z-(*i^+FvaQ8wlh|d|V<@W&3&vq?(<-LtgZbGAtggI>mAE&>gd>ZkYQBSFhVTs|yrb z`TE@r&U{x849ZlE7Q1I;0(e;X>@{hl1x%x!Jlfs^@+gwC&}p=)v~q~;Qzg_E#E5Xk zXe3L*@deSaBDjzT?7~ENDOutTkzbQP36_72(Q>R!*Q`xFX87}bvjhxR4YG*{Yee@b90Cd418fp&N;+&(c- zB=POHp78dkB)a{NZax!Tb!>#z-;b=dA$@poo;x1?F zQU)W$8f0)K@0p6kVoxQx9%qsL(WJN(E5d&Qlhc=v>ZH!c?mM9E+>w$WKtaa$8W#!} zR(ty3+cQW7W@r)cqX);o9xVo%D>Z-N8yu; zLGTd%m%KqxaUb#YK%GAM;y|Bt+(Ux_%#rU42IRc>S-}wBOEPF(yWJy#0iS<+-wvE2 z$i6^7NszriE~_FUF<74{(dIQH<$+hX6Dgi!N>RqL)5YJPLwwVax_={QtdRN{uMvw! z!BO0Q*&@y$!~Bs1yINL0uk77uLLd1)ltrg3V%iXm)(jRStjE0nb(x5d=AF6c-c&N* zzSUl%Oa59L@z>gyGgQNeRg-^;3cvdkABzh1QfG$5mpOcsU2fmyc3ocI<#k Date: Tue, 25 Jan 2022 13:03:41 +0200 Subject: [PATCH 189/260] OneTime Token for downloads --- .../services/file-download.service.ts | 14 ++++++++------ apps/red-ui/src/assets/config/config.json | 3 +-- docker/red-ui/docker-entrypoint.sh | 4 +--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts index d4db7db09..f06acb081 100644 --- a/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts +++ b/apps/red-ui/src/app/modules/upload-download/services/file-download.service.ts @@ -7,7 +7,7 @@ import { IPrepareDownloadRequest, IRemoveDownloadRequest, } from '@red/domain'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { ConfigService } from '@services/config.service'; import { map, switchMap, tap } from 'rxjs/operators'; import { KeycloakService } from 'keycloak-angular'; @@ -44,12 +44,9 @@ export class FileDownloadService extends EntitiesService { + return this._post<{ value: string }>({ value: storageId }, `${this._defaultModelPath}/generate-ott`); + } + @Validate() delete(@RequiredParam() body: IRemoveDownloadRequest): Observable { return super._post(body, `${this._defaultModelPath}/delete`); diff --git a/apps/red-ui/src/assets/config/config.json b/apps/red-ui/src/assets/config/config.json index 6a7817a2f..01c7d5793 100644 --- a/apps/red-ui/src/assets/config/config.json +++ b/apps/red-ui/src/assets/config/config.json @@ -19,6 +19,5 @@ "OAUTH_IDP_HINT": null, "OAUTH_URL": "https://dev-04.iqser.cloud/auth/realms/redaction", "RECENT_PERIOD_IN_HOURS": 24, - "SELECTION_MODE": "structural", - "USE_SESSION_FOR_DOWNLOAD": false + "SELECTION_MODE": "structural" } diff --git a/docker/red-ui/docker-entrypoint.sh b/docker/red-ui/docker-entrypoint.sh index 82f9504e5..afc21cb06 100755 --- a/docker/red-ui/docker-entrypoint.sh +++ b/docker/red-ui/docker-entrypoint.sh @@ -24,7 +24,6 @@ OAUTH_URL="${OAUTH_URL:-/auth}" RECENT_PERIOD_IN_HOURS="${RECENT_PERIOD_IN_HOURS:-24}" SELECTION_MODE="${SELECTION_MODE:-structural}" -USE_SESSION_FOR_DOWNLOAD="${USE_SESSION_FOR_DOWNLOAD:-false}" echo '{ @@ -47,8 +46,7 @@ echo '{ "OAUTH_IDP_HINT":"'"$OAUTH_IDP_HINT"'", "OAUTH_URL":"'"$OAUTH_URL"'", "RECENT_PERIOD_IN_HOURS":'"$RECENT_PERIOD_IN_HOURS"', - "SELECTION_MODE":"'"$SELECTION_MODE"'", - "USE_SESSION_FOR_DOWNLOAD":'"$USE_SESSION_FOR_DOWNLOAD"' + "SELECTION_MODE":"'"$SELECTION_MODE"'" }' > /usr/share/nginx/html/ui/assets/config/config.json echo 'Env variables: ' From 04fc1dd3f623e3f4d6d433fce0cc84ce1ebe2c71 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 25 Jan 2022 12:08:44 +0100 Subject: [PATCH 190/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 79d456679..72f81a804 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.178.0", + "version": "3.179.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index ba8cd6cb47514af33cf4155aeca2d34016a57ee8..0ced91df1db324c22ee4a8d6db3ce0b335371e1f 100644 GIT binary patch delta 2935 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 delta 2934 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 From 5457fcacf53626ed1ebb7e7447ccc7fe662f6af1 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Tue, 25 Jan 2022 14:04:35 +0200 Subject: [PATCH 191/260] extended base dialog for 'add edit justifications' component --- ...d-edit-justification-dialog.component.html | 6 ++--- ...add-edit-justification-dialog.component.ts | 22 +++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.html b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.html index 4a86c9beb..3e36230b7 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.html @@ -43,13 +43,13 @@
- -
+
- + diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts index f8048607f..2e1a482be 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts @@ -1,10 +1,10 @@ -import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { Justification } from '@red/domain'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; -import { LoadingService } from '@iqser/common-ui'; +import { BaseDialogComponent, LoadingService } from '@iqser/common-ui'; @Component({ selector: 'redaction-add-edit-justification-dialog', @@ -12,23 +12,21 @@ import { LoadingService } from '@iqser/common-ui'; styleUrls: ['./add-edit-justification-dialog.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class AddEditJustificationDialogComponent { - readonly form: FormGroup = this._getForm(); +export class AddEditJustificationDialogComponent extends BaseDialogComponent { constructor( private readonly _formBuilder: FormBuilder, private readonly _justificationService: JustificationsService, private readonly _dossierTemplatesService: DossierTemplatesService, private readonly _loadingService: LoadingService, - public dialogRef: MatDialogRef, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public justification: Justification, - ) {} + ) { + super(_injector, _dialogRef); - get changed(): boolean { - return ( - !this.justification || - Object.keys(this.form.getRawValue()).reduce((prev, key) => prev || this.justification[key] !== this.form.get(key).value, false) - ); + this.form = this._getForm(); + this.initialFormValue = this.form.getRawValue(); } async save() { @@ -38,7 +36,7 @@ export class AddEditJustificationDialogComponent { await this._justificationService.createOrUpdate(this.form.getRawValue(), dossierTemplateId).toPromise(); await this._justificationService.loadAll(dossierTemplateId).toPromise(); this._loadingService.stop(); - this.dialogRef.close(true); + this._dialogRef.close(true); } private _getForm(): FormGroup { From 13b013c7360f155f9157a54ee2b5415835668ac0 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 20 Jan 2022 14:00:38 +0200 Subject: [PATCH 192/260] firstValueFrom instead of toPromise() in admin module --- .../add-edit-dictionary-dialog.component.ts | 5 +- ...-edit-dossier-template-dialog.component.ts | 1 + .../reset-password.component.ts | 9 +- .../user-details/user-details.component.ts | 7 +- .../confirm-delete-users-dialog.component.ts | 3 +- .../edit-color-dialog.component.ts | 3 +- ...-attributes-csv-import-dialog.component.ts | 20 ++-- .../screens/audit/audit-screen.component.ts | 23 ++--- .../default-colors-screen.component.ts | 3 +- .../dictionary-listing-screen.component.ts | 4 +- .../dictionary-overview-screen.component.ts | 7 +- ...ier-attributes-listing-screen.component.ts | 5 +- ...sier-templates-listing-screen.component.ts | 81 ----------------- ...ile-attributes-listing-screen.component.ts | 38 ++++---- .../general-config-form.component.ts | 49 +++++----- .../smtp-form/smtp-form.component.ts | 91 ++++++++++--------- ...add-edit-justification-dialog.component.ts | 5 +- .../justifications-dialog.service.ts | 5 +- .../justifications-screen.component.ts | 3 +- .../license-information-screen.component.ts | 15 +-- .../reports/reports-screen.component.ts | 25 ++--- .../screens/rules/rules-screen.component.ts | 45 +++++---- .../user-listing-screen.component.ts | 6 +- .../watermark/watermark-screen.component.ts | 3 +- .../dossier-template-actions.component.ts | 7 +- .../src/app/modules/auth/auth.module.ts | 14 ++- 26 files changed, 201 insertions(+), 276 deletions(-) delete mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts index 0c80cb245..3e1ec0ec1 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component.ts @@ -1,7 +1,7 @@ import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/core'; import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { BaseDialogComponent, shareDistinctLast, Toaster } from '@iqser/common-ui'; import { TranslateService } from '@ngx-translate/core'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @@ -77,8 +77,7 @@ export class AddEditDictionaryDialogComponent extends BaseDialogComponent { observable = this._dictionaryService.addDictionary({ ...dictionary, dossierTemplateId }); } - return observable - .toPromise() + return firstValueFrom(observable) .then(() => this._dialogRef.close(true)) .catch(error => { if (error.status === HttpStatusCode.Conflict) { diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts index 4d6b575bd..778150cc5 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component.ts @@ -11,6 +11,7 @@ import { BaseDialogComponent, LoadingService, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DownloadFileType, IDossierTemplate } from '@red/domain'; import { HttpStatusCode } from '@angular/common/http'; +import { firstValueFrom } from 'rxjs'; @Component({ templateUrl: './add-edit-dossier-template-dialog.component.html', diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts index 1839e3bfe..441249ef4 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts @@ -4,6 +4,7 @@ import { UserService } from '@services/user.service'; import { LoadingService, Toaster } from '@iqser/common-ui'; import { User } from '@red/domain'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-reset-password', @@ -25,15 +26,15 @@ export class ResetPasswordComponent { async save() { this._loadingService.start(); try { - await this._userService - .resetPassword( + await firstValueFrom( + this._userService.resetPassword( { password: this.form.get('temporaryPassword').value, temporary: true, }, this.user.id, - ) - .toPromise(); + ), + ); this.toggleResetPassword.emit(); } catch (error) { this._toaster.error(_('reset-password-dialog.error.password-policy')); diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts index 0320cf449..689d3434b 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts @@ -7,6 +7,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { User } from '@red/domain'; import { UserService } from '@services/user.service'; import { HttpStatusCode } from '@angular/common/http'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-user-details', @@ -107,9 +108,7 @@ export class UserDetailsComponent extends AutoUnsubscribe implements OnChanges, const userData = { ...this.form.getRawValue(), roles: this.activeRoles }; if (!this.user) { - await this.userService - .create(userData) - .toPromise() + await firstValueFrom(this.userService.create(userData)) .then(() => { this.closeDialog.emit(true); }) @@ -122,7 +121,7 @@ export class UserDetailsComponent extends AutoUnsubscribe implements OnChanges, this._loadingService.stop(); }); } else { - await this.userService.updateProfile(userData, this.user.id).toPromise(); + await firstValueFrom(this.userService.updateProfile(userData, this.user.id)); this.closeDialog.emit(true); } } diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts index b437e57ec..62cf4cb8b 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts @@ -4,6 +4,7 @@ import { List, LoadingService } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { UserService } from '@services/user.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-confirm-delete-users-dialog', @@ -40,7 +41,7 @@ export class ConfirmDeleteUsersDialogComponent { async deleteUser() { if (this.valid) { this._loadingService.start(); - await this._userService.delete(this.userIds).toPromise(); + await firstValueFrom(this._userService.delete(this.userIds)); this.dialogRef.close(true); } else { this.showToast = true; diff --git a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts index 87fd53d62..2f544c1d0 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/edit-color-dialog/edit-color-dialog.component.ts @@ -7,6 +7,7 @@ import { TranslateService } from '@ngx-translate/core'; import { defaultColorsTranslations } from '../../translations/default-colors-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DictionaryService } from '@shared/services/dictionary.service'; +import { firstValueFrom } from 'rxjs'; interface IEditColorData { colors: IColors; @@ -46,7 +47,7 @@ export class EditColorDialogComponent extends BaseDialogComponent { }; try { - await this._dictionaryService.setColors(colors, this._dossierTemplateId).toPromise(); + await firstValueFrom(this._dictionaryService.setColors(colors, this._dossierTemplateId)); this._dialogRef.close(true); const color = this._translateService.instant(defaultColorsTranslations[this.data.colorKey]); this._toaster.info(_('edit-color-dialog.success'), { params: { color: color } }); diff --git a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts index 5f95a12ad..0e718f1e6 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts @@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Inject, Injector } from '@angular/c import { AbstractControl, FormBuilder, FormGroup, ValidatorFn, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import * as Papa from 'papaparse'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { map, startWith } from 'rxjs/operators'; import { DefaultListingServices, ListingComponent, TableColumnConfig, Toaster, trackBy } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @@ -56,14 +56,6 @@ export class FileAttributesCsvImportDialogComponent extends ListingComponent { @@ -183,7 +175,7 @@ export class FileAttributesCsvImportDialogComponent extends ListingComponent { if ((this.parseResult?.meta?.fields || []).indexOf(control.value) !== -1) { diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts index b803e3549..1a0d3508c 100644 --- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts @@ -8,6 +8,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { UserService } from '@services/user.service'; import { Audit, IAudit, IAuditResponse, IAuditSearchRequest } from '@red/domain'; import { AuditService } from '../../services/audit.service'; +import { firstValueFrom } from 'rxjs'; const PAGE_SIZE = 50; @@ -52,15 +53,6 @@ export class AuditScreenComponent extends ListingComponent implements OnD }); } - private _getForm(): FormGroup { - return this._formBuilder.group({ - category: [this.ALL_CATEGORIES], - userId: [this.ALL_USERS], - from: [], - to: [], - }); - } - get totalPages(): number { if (!this.logs) { return 0; @@ -76,6 +68,15 @@ export class AuditScreenComponent extends ListingComponent implements OnD await this._fetchData(); } + private _getForm(): FormGroup { + return this._formBuilder.group({ + category: [this.ALL_CATEGORIES], + userId: [this.ALL_USERS], + from: [], + to: [], + }); + } + private _updateDateFilters(value): boolean { if (applyIntervalConstraints(value, this._previousFrom, this._previousTo, this.form, 'from', 'to')) { return true; @@ -105,8 +106,8 @@ export class AuditScreenComponent extends ListingComponent implements OnD to, }; - promises.push(this._auditService.getCategories().toPromise()); - promises.push(this._auditService.searchAuditLog(logsRequestBody).toPromise()); + promises.push(firstValueFrom(this._auditService.getCategories())); + promises.push(firstValueFrom(this._auditService.searchAuditLog(logsRequestBody))); const data = await Promise.all(promises); this.categories = data[0].map(c => c.category); diff --git a/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts index 729330eb0..a81508f20 100644 --- a/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts @@ -15,6 +15,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { UserService } from '@services/user.service'; import { DictionaryService } from '@shared/services/dictionary.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; +import { firstValueFrom } from 'rxjs'; interface ListItem extends IListable { readonly key: string; @@ -72,7 +73,7 @@ export class DefaultColorsScreenComponent extends ListingComponent imp private async _loadColors() { this._loadingService.start(); - const data = await this._appStateService.loadColors(this._dossierTemplatesService.activeDossierTemplateId).toPromise(); + const data = await firstValueFrom(this._appStateService.loadColors(this._dossierTemplatesService.activeDossierTemplateId)); this._colorsObj = data; const entities = Object.keys(data) .map(key => ({ diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.ts index b861512e8..478db4f4e 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.ts @@ -66,8 +66,8 @@ export class DictionaryListingScreenComponent extends ListingComponent { this._loadingService.start(); - await this._dictionaryService - .deleteDictionaries( + await firstValueFrom( + this._dictionaryService.deleteDictionaries( types.map(t => t.type), this._dossierTemplatesService.activeDossierTemplateId, ) diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts index 6f32d193a..7f017178c 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts @@ -11,6 +11,7 @@ import { CircleButtonTypes, LoadingService } from '@iqser/common-ui'; import { UserService } from '@services/user.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { Dictionary } from '@red/domain'; +import { firstValueFrom } from 'rxjs'; @Component({ templateUrl: './dictionary-overview-screen.component.html', @@ -72,7 +73,7 @@ export class DictionaryOverviewScreenComponent extends ComponentHasChanges imple $event?.stopPropagation(); this._dialogService.openDialog('confirm', $event, null, async () => { - await this._dictionaryService.deleteDictionaries([this.dictionary.type], this.dictionary.dossierTemplateId).toPromise(); + await firstValueFrom(this._dictionaryService.deleteDictionaries([this.dictionary.type], this.dictionary.dossierTemplateId)); await this._appStateService.loadDictionaryData(); await this._router.navigate([ '/main', @@ -149,9 +150,7 @@ export class DictionaryOverviewScreenComponent extends ComponentHasChanges imple private async _loadEntries() { this._loadingService.start(); - await this._dictionaryService - .getForType(this.dictionary.dossierTemplateId, this.dictionary.type) - .toPromise() + await firstValueFrom(this._dictionaryService.getForType(this.dictionary.dossierTemplateId, this.dictionary.type)) .then( data => { this._loadingService.stop(); diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts index 66bb09192..490b4515e 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts @@ -15,6 +15,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { UserService } from '@services/user.service'; import { DossierAttributeConfig, IDossierAttributeConfig } from '@red/domain'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; +import { firstValueFrom } from 'rxjs'; @Component({ templateUrl: './dossier-attributes-listing-screen.component.html', @@ -56,7 +57,7 @@ export class DossierAttributesListingScreenComponent extends ListingComponent { this._loadingService.start(); const ids = dossierAttribute ? [dossierAttribute.id] : this.listingService.selected.map(item => item.id); - await this._dossierAttributesService.delete(ids).toPromise(); + await firstValueFrom(this._dossierAttributesService.delete(ids)); await this._loadData(); }); } @@ -71,7 +72,7 @@ export class DossierAttributesListingScreenComponent extends ListingComponent DossierTemplatesListingScreenComponent) }, - ], -}) -export class DossierTemplatesListingScreenComponent extends ListingComponent { - readonly iconButtonTypes = IconButtonTypes; - readonly circleButtonTypes = CircleButtonTypes; - readonly currentUser = this._userService.currentUser; - readonly tableHeaderLabel = _('dossier-templates-listing.table-header.title'); - readonly tableColumnConfigs: TableColumnConfig[] = [ - { label: _('dossier-templates-listing.table-col-names.name'), sortByKey: 'searchKey' }, - { label: _('dossier-templates-listing.table-col-names.created-by'), class: 'user-column' }, - { label: _('dossier-templates-listing.table-col-names.created-on'), sortByKey: 'dateAdded' }, - { label: _('dossier-templates-listing.table-col-names.modified-on'), sortByKey: 'dateModified' }, - ]; - - constructor( - private readonly _toaster: Toaster, - protected readonly _injector: Injector, - private readonly _userService: UserService, - private readonly _loadingService: LoadingService, - private readonly _appStateService: AppStateService, - private readonly _dialogService: AdminDialogService, - readonly routerHistoryService: RouterHistoryService, - readonly userPreferenceService: UserPreferenceService, - private readonly _dossierTemplatesService: DossierTemplatesService, - ) { - super(_injector); - } - - openBulkDeleteTemplatesDialog($event?: MouseEvent) { - return this._dialogService.openDialog('confirm', $event, null, () => { - this._loadingService.loadWhile(this._deleteTemplates()); - }); - } - - openAddDossierTemplateDialog() { - this._dialogService.openDialog('addEditDossierTemplate', null, null); - } - - private async _deleteTemplates(templateIds = this.listingService.selected.map(d => d.dossierTemplateId)) { - await this._dossierTemplatesService - .delete(templateIds) - .toPromise() - .catch(error => { - if (error.status === HttpStatusCode.Conflict) { - this._toaster.error(_('dossier-templates-listing.error.conflict')); - } else { - this._toaster.error(_('dossier-templates-listing.error.generic')); - } - }); - await this._appStateService.loadDictionaryData(); - } -} diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts index f2e07904d..d94729b50 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts @@ -17,6 +17,7 @@ import { FileAttributeConfig, IFileAttributeConfig, IFileAttributesConfig } from import { FileAttributesService } from '@services/entity-services/file-attributes.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { HttpStatusCode } from '@angular/common/http'; +import { firstValueFrom } from 'rxjs'; @Component({ templateUrl: './file-attributes-listing-screen.component.html', @@ -92,14 +93,14 @@ export class FileAttributesListingScreenComponent extends ListingComponent f.id), dossierTemplateId, - ) - .toPromise(); + ), + ); } await this._appStateService.refreshDossierTemplate(dossierTemplateId); await this._loadData(); @@ -123,17 +124,16 @@ export class FileAttributesListingScreenComponent extends ListingComponent { - await this._fileAttributesService - .setFileAttributesConfig(newValue, this._dossierTemplatesService.activeDossierTemplateId) - .toPromise() - .catch(error => { - if (error.status === HttpStatusCode.Conflict) { - this._toaster.error(_('file-attributes-listing.error.conflict')); - } else { - this._toaster.error(_('file-attributes-listing.error.generic')); - } - this._loadingService.stop(); - }); + await firstValueFrom( + this._fileAttributesService.setFileAttributesConfig(newValue, this._dossierTemplatesService.activeDossierTemplateId), + ).catch(error => { + if (error.status === HttpStatusCode.Conflict) { + this._toaster.error(_('file-attributes-listing.error.conflict')); + } else { + this._toaster.error(_('file-attributes-listing.error.generic')); + } + this._loadingService.stop(); + }); await this._appStateService.refreshDossierTemplate(this._dossierTemplatesService.activeDossierTemplateId); await this._loadData(); } @@ -142,9 +142,9 @@ export class FileAttributesListingScreenComponent extends ListingComponent new FileAttributeConfig(item)) || []; this.entitiesService.setEntities(fileAttributeConfig); diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts index 546b0b1ce..1a6b61772 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-form/general-config-form.component.ts @@ -4,6 +4,7 @@ import { GeneralSettingsService } from '@services/general-settings.service'; import { IGeneralConfiguration } from '@red/domain'; import { ConfigService } from '@services/config.service'; import { FormBuilder, FormGroup } from '@angular/forms'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-general-config-form', @@ -11,8 +12,8 @@ import { FormBuilder, FormGroup } from '@angular/forms'; styleUrls: ['./general-config-form.component.scss'], }) export class GeneralConfigFormComponent extends AutoUnsubscribe implements OnInit, OnDestroy { - private _initialConfiguration: IGeneralConfiguration; readonly form: FormGroup = this._getForm(); + private _initialConfiguration: IGeneralConfiguration; constructor( private readonly _loadingService: LoadingService, @@ -23,28 +24,6 @@ export class GeneralConfigFormComponent extends AutoUnsubscribe implements OnIni super(); } - private _getForm(): FormGroup { - return this._formBuilder.group({ - forgotPasswordFunctionEnabled: [false], - auxiliaryName: [undefined], - }); - } - - async ngOnInit(): Promise { - await this._loadData(); - } - - async saveGeneralConfig() { - this._loadingService.start(); - - const configFormValues = this.form.getRawValue(); - - await this._generalSettingsService.updateGeneralConfigurations(configFormValues).toPromise(); - this._initialConfiguration = await this._generalSettingsService.getGeneralConfigurations().toPromise(); - this._configService.updateDisplayName(this._initialConfiguration.displayName); - this._loadingService.stop(); - } - get generalConfigurationChanged(): boolean { if (!this._initialConfiguration) { return true; @@ -59,10 +38,32 @@ export class GeneralConfigFormComponent extends AutoUnsubscribe implements OnIni return false; } + async ngOnInit(): Promise { + await this._loadData(); + } + + async saveGeneralConfig() { + this._loadingService.start(); + + const configFormValues = this.form.getRawValue(); + + await firstValueFrom(this._generalSettingsService.updateGeneralConfigurations(configFormValues)); + this._initialConfiguration = await firstValueFrom(this._generalSettingsService.getGeneralConfigurations()); + this._configService.updateDisplayName(this._initialConfiguration.displayName); + this._loadingService.stop(); + } + + private _getForm(): FormGroup { + return this._formBuilder.group({ + forgotPasswordFunctionEnabled: [false], + auxiliaryName: [undefined], + }); + } + private async _loadData() { this._loadingService.start(); try { - this._initialConfiguration = await this._generalSettingsService.getGeneralConfigurations().toPromise(); + this._initialConfiguration = await firstValueFrom(this._generalSettingsService.getGeneralConfigurations()); this.form.patchValue(this._initialConfiguration, { emitEvent: false }); } catch (e) {} diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts index d2ce349de..102695006 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/smtp-form/smtp-form.component.ts @@ -5,6 +5,7 @@ import { AutoUnsubscribe, IconButtonTypes, LoadingService, Toaster } from '@iqse import { AdminDialogService } from '../../../services/admin-dialog.service'; import { SmtpConfigService } from '../../../services/smtp-config.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-smtp-form', @@ -13,8 +14,8 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; }) export class SmtpFormComponent extends AutoUnsubscribe implements OnInit, OnDestroy { readonly iconButtonTypes = IconButtonTypes; - private _initialConfiguration: ISmtpConfiguration; readonly form: FormGroup = this._getForm(); + private _initialConfiguration: ISmtpConfiguration; constructor( private readonly _formBuilder: FormBuilder, @@ -31,10 +32,53 @@ export class SmtpFormComponent extends AutoUnsubscribe implements OnInit, OnDest }); } + get smtpConfigurationChanged(): boolean { + if (!this._initialConfiguration) { + return true; + } + + for (const key of Object.keys(this.form.getRawValue())) { + if (this._initialConfiguration[key] !== this.form.get(key).value) { + return true; + } + } + + return false; + } + async ngOnInit(): Promise { await this._loadData(); } + openAuthConfigDialog(skipDisableOnCancel?: boolean) { + this._dialogService.openDialog('smtpAuthConfig', null, this.form.getRawValue(), null, authConfig => { + if (authConfig) { + this.form.patchValue(authConfig); + } else if (!skipDisableOnCancel) { + this.form.patchValue({ auth: false }, { emitEvent: false }); + } + }); + } + + async save() { + this._loadingService.start(); + await firstValueFrom(this._smtpConfigService.updateSMTPConfiguration(this.form.getRawValue())); + this._initialConfiguration = this.form.getRawValue(); + this._loadingService.stop(); + } + + async testConnection() { + this._loadingService.start(); + try { + await firstValueFrom(this._smtpConfigService.testSMTPConfiguration(this.form.getRawValue())); + this._toaster.success(_('general-config-screen.test.success')); + } catch (e) { + this._toaster.error(_('general-config-screen.test.error')); + } finally { + this._loadingService.stop(); + } + } + private _getForm(): FormGroup { return this._formBuilder.group({ host: [undefined, Validators.required], @@ -52,54 +96,11 @@ export class SmtpFormComponent extends AutoUnsubscribe implements OnInit, OnDest }); } - openAuthConfigDialog(skipDisableOnCancel?: boolean) { - this._dialogService.openDialog('smtpAuthConfig', null, this.form.getRawValue(), null, authConfig => { - if (authConfig) { - this.form.patchValue(authConfig); - } else if (!skipDisableOnCancel) { - this.form.patchValue({ auth: false }, { emitEvent: false }); - } - }); - } - - async save() { - this._loadingService.start(); - await this._smtpConfigService.updateSMTPConfiguration(this.form.getRawValue()).toPromise(); - this._initialConfiguration = this.form.getRawValue(); - this._loadingService.stop(); - } - - get smtpConfigurationChanged(): boolean { - if (!this._initialConfiguration) { - return true; - } - - for (const key of Object.keys(this.form.getRawValue())) { - if (this._initialConfiguration[key] !== this.form.get(key).value) { - return true; - } - } - - return false; - } - - async testConnection() { - this._loadingService.start(); - try { - await this._smtpConfigService.testSMTPConfiguration(this.form.getRawValue()).toPromise(); - this._toaster.success(_('general-config-screen.test.success')); - } catch (e) { - this._toaster.error(_('general-config-screen.test.error')); - } finally { - this._loadingService.stop(); - } - } - private async _loadData() { this._loadingService.start(); try { - this._initialConfiguration = await this._smtpConfigService.getCurrentSMTPConfiguration().toPromise(); + this._initialConfiguration = await firstValueFrom(this._smtpConfigService.getCurrentSMTPConfiguration()); this.form.patchValue(this._initialConfiguration, { emitEvent: false }); } catch (e) {} diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts index f8048607f..6ee90987d 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/add-edit-justification-dialog/add-edit-justification-dialog.component.ts @@ -5,6 +5,7 @@ import { Justification } from '@red/domain'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { LoadingService } from '@iqser/common-ui'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-add-edit-justification-dialog', @@ -35,8 +36,8 @@ export class AddEditJustificationDialogComponent { const dossierTemplateId = this._dossierTemplatesService.activeDossierTemplateId; this._loadingService.start(); - await this._justificationService.createOrUpdate(this.form.getRawValue(), dossierTemplateId).toPromise(); - await this._justificationService.loadAll(dossierTemplateId).toPromise(); + await firstValueFrom(this._justificationService.createOrUpdate(this.form.getRawValue(), dossierTemplateId)); + await firstValueFrom(this._justificationService.loadAll(dossierTemplateId)); this._loadingService.stop(); this.dialogRef.close(true); } diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-dialog.service.ts b/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-dialog.service.ts index a4ee07326..aa8295caa 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-dialog.service.ts +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-dialog.service.ts @@ -13,6 +13,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { Justification } from '@red/domain'; +import { firstValueFrom } from 'rxjs'; type DialogType = 'confirm' | 'addEditJustification'; @@ -51,8 +52,8 @@ export class JustificationsDialogService extends DialogService { this._loadingService.start(); const dossierTemplateId = this._dossierTemplatesService.activeDossierTemplateId; const justificationIds = justifications.map(j => j.id); - await this._justificationService.delete(justificationIds, dossierTemplateId).toPromise(); - await this._justificationService.loadAll(dossierTemplateId).toPromise(); + await firstValueFrom(this._justificationService.delete(justificationIds, dossierTemplateId)); + await firstValueFrom(this._justificationService.loadAll(dossierTemplateId)); this._loadingService.stop(); }); } diff --git a/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-screen/justifications-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-screen/justifications-screen.component.ts index 9d3f4f841..e002143c6 100644 --- a/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-screen/justifications-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/justifications/justifications-screen/justifications-screen.component.ts @@ -15,6 +15,7 @@ import { DossierTemplatesService } from '@services/entity-services/dossier-templ import { JustificationsDialogService } from '../justifications-dialog.service'; import { UserService } from '@services/user.service'; import { UserPreferenceService } from '@services/user-preference.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-justifications-screen', @@ -52,7 +53,7 @@ export class JustificationsScreenComponent extends ListingComponent { this._loadingService.start(); - await this._justificationService.loadAll(this._dossierTemplatesService.activeDossierTemplateId).toPromise(); + await firstValueFrom(this._justificationService.loadAll(this._dossierTemplatesService.activeDossierTemplateId)); this._loadingService.stop(); } diff --git a/apps/red-ui/src/app/modules/admin/screens/license-information/license-information-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/license-information/license-information-screen.component.ts index 35abc60ff..095261402 100644 --- a/apps/red-ui/src/app/modules/admin/screens/license-information/license-information-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/license-information/license-information-screen.component.ts @@ -9,6 +9,7 @@ import { RouterHistoryService } from '@services/router-history.service'; import { LicenseReportService } from '../../services/licence-report.service'; import { ILicenseReport } from '@red/domain'; import { Color, ScaleType } from '@swimlane/ngx-charts'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-license-information-screen', @@ -72,15 +73,15 @@ export class LicenseInformationScreenComponent implements OnInit { endDate: endDate.toDate(), }; const promises = [ - this._licenseReportService.licenseReport(currentConfig).toPromise(), - this._licenseReportService.licenseReport({}).toPromise(), + firstValueFrom(this._licenseReportService.licenseReport(currentConfig)), + firstValueFrom(this._licenseReportService.licenseReport({})), ]; if (endDate.isBefore(moment())) { const unlicensedConfig = { startDate: endDate.toDate(), }; - promises.push(this._licenseReportService.licenseReport(unlicensedConfig).toPromise()); + promises.push(firstValueFrom(this._licenseReportService.licenseReport(unlicensedConfig))); } Promise.all(promises).then(reports => { @@ -135,12 +136,12 @@ export class LicenseInformationScreenComponent implements OnInit { } promises.push( - this._licenseReportService - .licenseReport({ + firstValueFrom( + this._licenseReportService.licenseReport({ startDate: moment(`01-${m + 1}-${y}`, 'DD-MM-YYYY').toDate(), endDate: moment(`01-${nm + 1}-${ny}`, 'DD-MM-YYYY').toDate(), - }) - .toPromise(), + }), + ), ); y = ny; diff --git a/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen.component.ts index 791e5d5c1..a78562025 100644 --- a/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/reports/reports-screen.component.ts @@ -12,6 +12,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { AdminDialogService } from '../../services/admin-dialog.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { ReportTemplateService } from '@services/report-template.service'; +import { firstValueFrom } from 'rxjs'; interface Placeholder { placeholder: string; @@ -56,9 +57,9 @@ export class ReportsScreenComponent implements OnInit { async download(template: IReportTemplate) { this._loadingService.start(); try { - const data = await this._reportTemplateService - .downloadReportTemplate(template.dossierTemplateId, template.templateId, 'response') - .toPromise(); + const data = await firstValueFrom( + this._reportTemplateService.downloadReportTemplate(template.dossierTemplateId, template.templateId, 'response'), + ); this._loadingService.stop(); download(data, template.fileName); } catch (e) { @@ -130,31 +131,31 @@ export class ReportsScreenComponent implements OnInit { }); this._dialogService.openDialog('confirm', null, data, null, async result => { if (result) { - await this._reportTemplateService.uploadTemplateForm(dossierTemplateId, result > 1, file).toPromise(); + await firstValueFrom(this._reportTemplateService.uploadTemplateForm(dossierTemplateId, result > 1, file)); await this._loadReportTemplates(); } }); } else { - await this._reportTemplateService.uploadTemplateForm(dossierTemplateId, false, file).toPromise(); + await firstValueFrom(this._reportTemplateService.uploadTemplateForm(dossierTemplateId, false, file)); await this._loadReportTemplates(); } } private async _deleteTemplate(template: IReportTemplate) { - await this._reportTemplateService.delete(template.dossierTemplateId, template.templateId).toPromise(); + await firstValueFrom(this._reportTemplateService.delete(template.dossierTemplateId, template.templateId)); await this._loadReportTemplates(); } private async _loadReportTemplates() { - this.availableTemplates = await this._reportTemplateService - .getAvailableReportTemplates(this._dossierTemplatesService.activeDossierTemplateId) - .toPromise(); + this.availableTemplates = await firstValueFrom( + this._reportTemplateService.getAvailableReportTemplates(this._dossierTemplatesService.activeDossierTemplateId), + ); } private async _loadPlaceholders() { - const placeholdersResponse: IPlaceholdersResponse = await this._reportTemplateService - .getAvailablePlaceholders(this._dossierTemplatesService.activeDossierTemplateId) - .toPromise(); + const placeholdersResponse: IPlaceholdersResponse = await firstValueFrom( + this._reportTemplateService.getAvailablePlaceholders(this._dossierTemplatesService.activeDossierTemplateId), + ); this.placeholders = placeholderTypes.flatMap(type => placeholdersResponse[type].map(placeholder => ({ placeholder, diff --git a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts index 9e4809505..24de22cdb 100644 --- a/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/rules/rules-screen.component.ts @@ -7,6 +7,7 @@ import { ComponentHasChanges } from '@guards/can-deactivate.guard'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { RulesService } from '../../services/rules.service'; +import { firstValueFrom } from 'rxjs'; import ICodeEditor = monaco.editor.ICodeEditor; import IModelDeltaDecoration = monaco.editor.IModelDeltaDecoration; import IStandaloneEditorConstructionOptions = monaco.editor.IStandaloneEditorConstructionOptions; @@ -87,22 +88,21 @@ export class RulesScreenComponent extends ComponentHasChanges implements OnInit async save(): Promise { this._loadingService.start(); - await this._rulesService - .uploadRules({ + await firstValueFrom( + this._rulesService.uploadRules({ rules: this._codeEditor.getModel().getValue(), dossierTemplateId: this._dossierTemplatesService.activeDossierTemplateId, - }) - .toPromise() - .then( - async () => { - await this._initialize(); - this._toaster.success(_('rules-screen.success.generic')); - }, - () => { - this._loadingService.stop(); - this._toaster.error(_('rules-screen.error.generic')); - }, - ); + }), + ).then( + async () => { + await this._initialize(); + this._toaster.success(_('rules-screen.success.generic')); + }, + () => { + this._loadingService.stop(); + this._toaster.error(_('rules-screen.error.generic')); + }, + ); } revert(): void { @@ -148,15 +148,12 @@ export class RulesScreenComponent extends ComponentHasChanges implements OnInit private async _initialize() { this._loadingService.start(); - await this._rulesService - .download(this._dossierTemplatesService.activeDossierTemplateId) - .toPromise() - .then( - rules => { - this.currentLines = this.initialLines = rules.rules.split('\n'); - this.revert(); - }, - () => this._loadingService.stop(), - ); + await firstValueFrom(this._rulesService.download(this._dossierTemplatesService.activeDossierTemplateId)).then( + rules => { + this.currentLines = this.initialLines = rules.rules.split('\n'); + this.revert(); + }, + () => this._loadingService.stop(), + ); } } diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts index e5cced318..20edea6f2 100644 --- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts @@ -14,7 +14,7 @@ import { NestedFilter, TableColumnConfig, } from '@iqser/common-ui'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { map } from 'rxjs/operators'; import { rolesTranslations } from '../../../../translations/roles-translations'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @@ -96,7 +96,7 @@ export class UserListingScreenComponent extends ListingComponent implement async toggleActive(user: User) { this._loadingService.start(); const requestBody = { ...user, roles: user.isActive ? [] : ['RED_USER'] }; - await this.userService.updateProfile(requestBody, user.id).toPromise(); + await firstValueFrom(this.userService.updateProfile(requestBody, user.id)); await this._loadData(); } @@ -105,7 +105,7 @@ export class UserListingScreenComponent extends ListingComponent implement } private async _loadData() { - await this.userService.loadAll().toPromise(); + await firstValueFrom(this.userService.loadAll()); this._computeStats(); this._loadingService.stop(); } diff --git a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.ts index 9d2d00fc3..607ef3ca4 100644 --- a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.ts @@ -11,6 +11,7 @@ import { stampPDFPage } from '@utils/page-stamper'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { WatermarkService } from '@shared/services/watermark.service'; +import { firstValueFrom } from 'rxjs'; export const DEFAULT_WATERMARK: IWatermark = { text: null, @@ -80,7 +81,7 @@ export class WatermarkScreenComponent implements OnInit { ? this._watermarkService.saveWatermark(watermark, dossierTemplateId) : this._watermarkService.deleteWatermark(dossierTemplateId); - observable.toPromise().then( + firstValueFrom(observable).then( () => { this._loadWatermark(); this._toaster.success( diff --git a/apps/red-ui/src/app/modules/admin/shared/components/dossier-template-actions/dossier-template-actions.component.ts b/apps/red-ui/src/app/modules/admin/shared/components/dossier-template-actions/dossier-template-actions.component.ts index ad67cb3f9..194abbecc 100644 --- a/apps/red-ui/src/app/modules/admin/shared/components/dossier-template-actions/dossier-template-actions.component.ts +++ b/apps/red-ui/src/app/modules/admin/shared/components/dossier-template-actions/dossier-template-actions.component.ts @@ -7,6 +7,7 @@ import { UserService } from '@services/user.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { HttpStatusCode } from '@angular/common/http'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-dossier-template-actions', @@ -45,11 +46,9 @@ export class DossierTemplateActionsComponent implements OnInit { this._dialogService.openDialog('confirm', $event, null, async () => { this._loadingService.start(); - await this._dossierTemplatesService - .delete([this.dossierTemplateId]) - .toPromise() + await firstValueFrom(this._dossierTemplatesService.delete([this.dossierTemplateId])) .then(async () => { - await this._dossierTemplatesService.loadAll().toPromise(); + await firstValueFrom(this._dossierTemplatesService.loadAll()); await this._appStateService.loadDictionaryData(); await this._router.navigate(['main', 'admin']); }) diff --git a/apps/red-ui/src/app/modules/auth/auth.module.ts b/apps/red-ui/src/app/modules/auth/auth.module.ts index 1246d36fd..a71370167 100644 --- a/apps/red-ui/src/app/modules/auth/auth.module.ts +++ b/apps/red-ui/src/app/modules/auth/auth.module.ts @@ -5,6 +5,7 @@ import { HttpClientModule } from '@angular/common/http'; import { KeycloakAngularModule, KeycloakOptions, KeycloakService } from 'keycloak-angular'; import { ConfigService } from '@services/config.service'; import { BASE_HREF } from '../../tokens'; +import { firstValueFrom } from 'rxjs'; function getKeycloakOptions(configService: ConfigService, baseUrl: string) { let url: string = configService.values.OAUTH_URL; @@ -36,14 +37,11 @@ function configureAutomaticRedirectToLoginScreen(keyCloakService: KeycloakServic export function keycloakInitializer(keycloakService: KeycloakService, configService: ConfigService, baseUrl: string): () => Promise { return () => - configService - .loadAppConfig() - .toPromise() - .then(() => - keycloakService - .init(getKeycloakOptions(configService, baseUrl)) - .then(() => configureAutomaticRedirectToLoginScreen(keycloakService)), - ); + firstValueFrom(configService.loadAppConfig()).then(() => + keycloakService + .init(getKeycloakOptions(configService, baseUrl)) + .then(() => configureAutomaticRedirectToLoginScreen(keycloakService)), + ); } @NgModule({ From b1d2ac55b19331944707df53027b89d647c9ef3c Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 20 Jan 2022 14:25:01 +0200 Subject: [PATCH 193/260] firstValueFrom instead of toPromise() in account module --- .../notifications-screen.component.ts | 5 +++-- .../user-profile-screen.component.ts | 11 ++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/red-ui/src/app/modules/account/screens/notifications/notifications-screen/notifications-screen.component.ts b/apps/red-ui/src/app/modules/account/screens/notifications/notifications-screen/notifications-screen.component.ts index 73657ced5..0038d6377 100644 --- a/apps/red-ui/src/app/modules/account/screens/notifications/notifications-screen/notifications-screen.component.ts +++ b/apps/red-ui/src/app/modules/account/screens/notifications/notifications-screen/notifications-screen.component.ts @@ -10,6 +10,7 @@ import { NotificationGroupsKeys, NotificationGroupsValues, } from '@red/domain'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-notifications-screen', @@ -67,7 +68,7 @@ export class NotificationsScreenComponent implements OnInit { async save() { this._loadingService.start(); try { - await this._notificationPreferencesService.update(this.formGroup.value).toPromise(); + await firstValueFrom(this._notificationPreferencesService.update(this.formGroup.value)); } catch (e) { this._toaster.error(_('notifications-screen.error.generic')); } @@ -87,7 +88,7 @@ export class NotificationsScreenComponent implements OnInit { private async _initializeForm() { this._loadingService.start(); - const notificationPreferences = await this._notificationPreferencesService.get().toPromise(); + const notificationPreferences = await firstValueFrom(this._notificationPreferencesService.get()); this.formGroup.patchValue(notificationPreferences); this._loadingService.stop(); diff --git a/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts b/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts index 566ae678e..731d5c6a0 100644 --- a/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts +++ b/apps/red-ui/src/app/modules/account/screens/user-profile/user-profile-screen/user-profile-screen.component.ts @@ -9,6 +9,7 @@ import { PermissionsService } from '@services/permissions.service'; import { UserService } from '@services/user.service'; import { ConfigService } from '../../../../../services/config.service'; import { LanguageService } from '../../../../../i18n/language.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-user-profile-screen', @@ -76,14 +77,14 @@ export class UserProfileScreenComponent implements OnInit { const value = this.form.getRawValue() as IProfile; delete value.language; - await this._userService - .updateMyProfile({ + await firstValueFrom( + this._userService.updateMyProfile({ ...value, - }) - .toPromise(); + }), + ); await this._userService.loadCurrentUser(); - await this._userService.loadAll().toPromise(); + await firstValueFrom(this._userService.loadAll()); } this._initializeForm(); From b7a370b2d9bd65d8a7eaf0e0aa0f6a3c7ca625e3 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 20 Jan 2022 14:58:09 +0200 Subject: [PATCH 194/260] firstValueFrom instead of toPromise() in dossier module --- .../add-dossier-dialog.component.ts | 47 +++++++-------- ...sign-reviewer-approver-dialog.component.ts | 25 ++++---- .../change-legal-basis-dialog.component.ts | 21 +++---- .../document-info-dialog.component.ts | 5 +- .../edit-dossier-attributes.component.ts | 3 +- ...dit-dossier-deleted-documents.component.ts | 12 ++-- .../edit-dossier-dictionary.component.ts | 27 +++++---- ...edit-dossier-download-package.component.ts | 5 +- .../edit-dossier-team.component.ts | 4 +- .../edit-dossier-general-info.component.ts | 3 +- .../force-annotation-dialog.component.ts | 21 +++---- .../manual-annotation-dialog.component.ts | 57 ++++++++++--------- .../dossier-details-stats.component.ts | 4 +- .../dossier-details.component.ts | 4 +- .../screen-header/screen-header.component.ts | 3 +- .../services/bulk-actions.service.ts | 51 +++++++++-------- .../dossiers-listing-actions.component.ts | 3 +- .../file-actions/file-actions.component.ts | 13 ++--- .../shared/services/file-assign.service.ts | 32 +++++------ 19 files changed, 176 insertions(+), 164 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts index 1c4e1037f..121c9cda1 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts @@ -8,6 +8,7 @@ import { BaseDialogComponent, IconButtonTypes, SaveOptions } from '@iqser/common import { DossiersService } from '@services/entity-services/dossiers.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { ReportTemplateService } from '@services/report-template.service'; +import { firstValueFrom } from 'rxjs'; @Component({ templateUrl: './add-dossier-dialog.component.html', @@ -38,27 +39,6 @@ export class AddDossierDialogComponent extends BaseDialogComponent { this.initialFormValue = this.form.getRawValue(); } - private _getForm(): FormGroup { - return this._formBuilder.group( - { - dossierName: [null, Validators.required], - dossierTemplateId: [null, Validators.required], - downloadFileTypes: [null], - reportTemplateIds: [null], - description: [null], - dueDate: [null], - watermarkEnabled: [true], - watermarkPreviewEnabled: [false], - }, - { - validators: control => - control.value.reportTemplateIds?.length > 0 || control.value.downloadFileTypes?.length > 0 - ? null - : { downloadPackage: true }, - }, - ); - } - get reportTemplateIdsLength() { return this.form.controls['reportTemplateIds']?.value?.length || 0; } @@ -78,7 +58,7 @@ export class AddDossierDialogComponent extends BaseDialogComponent { reportTemplateValueMapper = (reportTemplate: IReportTemplate) => reportTemplate.templateId; async save(options?: SaveOptions) { - const savedDossier = await this._dossiersService.createOrUpdate(this._formToObject()).toPromise(); + const savedDossier = await firstValueFrom(this._dossiersService.createOrUpdate(this._formToObject())); if (savedDossier) { this._dialogRef.close({ dossier: savedDossier, addMembers: options?.addMembers }); } @@ -90,7 +70,7 @@ export class AddDossierDialogComponent extends BaseDialogComponent { if (dossierTemplate) { this.availableReportTypes = - (await this._reportTemplateController.getAvailableReportTemplates(dossierTemplate.dossierTemplateId).toPromise()) || []; + (await firstValueFrom(this._reportTemplateController.getAvailableReportTemplates(dossierTemplate.dossierTemplateId))) || []; // update dropdown values this.form.patchValue( { @@ -111,6 +91,27 @@ export class AddDossierDialogComponent extends BaseDialogComponent { } } + private _getForm(): FormGroup { + return this._formBuilder.group( + { + dossierName: [null, Validators.required], + dossierTemplateId: [null, Validators.required], + downloadFileTypes: [null], + reportTemplateIds: [null], + description: [null], + dueDate: [null], + watermarkEnabled: [true], + watermarkPreviewEnabled: [false], + }, + { + validators: control => + control.value.reportTemplateIds?.length > 0 || control.value.downloadFileTypes?.length > 0 + ? null + : { downloadPackage: true }, + }, + ); + } + private _getDossierTemplates() { this.dossierTemplates = this._dossierTemplatesService.all .filter(r => { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component.ts index 27757ca3e..8c41436ea 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/assign-reviewer-approver-dialog/assign-reviewer-approver-dialog.component.ts @@ -8,6 +8,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { FilesService } from '@services/entity-services/files.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { PermissionsService } from '@services/permissions.service'; +import { firstValueFrom } from 'rxjs'; class DialogData { mode: 'approver' | 'reviewer'; @@ -101,28 +102,28 @@ export class AssignReviewerApproverDialogComponent { this._loadingService.start(); try { if (!this.selectedUser) { - await this._filesService - .setUnassigned( + await firstValueFrom( + this._filesService.setUnassigned( this.data.files.map(f => f.fileId), this.dossier.id, - ) - .toPromise(); + ), + ); } else if (this.data.mode === 'reviewer') { - await this._filesService - .setReviewerFor( + await firstValueFrom( + this._filesService.setReviewerFor( this.data.files.map(f => f.fileId), this.dossier.id, this.selectedUser, - ) - .toPromise(); + ), + ); } else { - await this._filesService - .setUnderApprovalFor( + await firstValueFrom( + this._filesService.setUnderApprovalFor( this.data.files.map(f => f.fileId), this.dossier.id, this.selectedUser, - ) - .toPromise(); + ), + ); } } catch (error) { this._toaster.error(_('error.http.generic'), { params: error }); diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts index fcfe2d5d7..350bba3e4 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/change-legal-basis-dialog/change-legal-basis-dialog.component.ts @@ -7,6 +7,7 @@ import { DossiersService } from '@services/entity-services/dossiers.service'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { Dossier } from '@red/domain'; import { BaseDialogComponent } from '@iqser/common-ui'; +import { firstValueFrom } from 'rxjs'; export interface LegalBasisOption { label?: string; @@ -40,7 +41,7 @@ export class ChangeLegalBasisDialogComponent extends BaseDialogComponent impleme async ngOnInit() { super.ngOnInit(); - const data = await this._justificationsService.getForDossierTemplate(this._data.dossier.dossierTemplateId).toPromise(); + const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this._data.dossier.dossierTemplateId)); this.legalOptions = data .map(lbm => ({ @@ -56,6 +57,15 @@ export class ChangeLegalBasisDialogComponent extends BaseDialogComponent impleme this.initialFormValue = this.form.getRawValue(); } + save() { + this._dialogRef.close({ + legalBasis: this.form.get('reason').value.legalBasis, + section: this.form.get('section').value, + comment: this.form.get('comment').value, + value: this.form.get('classification').value, + }); + } + private _getForm(): FormGroup { this.isDocumentAdmin = this._permissionsService.isApprover(this._data.dossier); return this._formBuilder.group({ @@ -65,13 +75,4 @@ export class ChangeLegalBasisDialogComponent extends BaseDialogComponent impleme section: [this._data.annotations[0].section], }); } - - save() { - this._dialogRef.close({ - legalBasis: this.form.get('reason').value.legalBasis, - section: this.form.get('section').value, - comment: this.form.get('comment').value, - value: this.form.get('classification').value, - }); - } } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts index 8d4a77500..7062c9d41 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/document-info-dialog/document-info-dialog.component.ts @@ -6,6 +6,7 @@ import { FileAttributesService } from '@services/entity-services/file-attributes import { DossiersService } from '@services/entity-services/dossiers.service'; import { FilesService } from '@services/entity-services/files.service'; import { BaseDialogComponent } from '@iqser/common-ui'; +import { firstValueFrom } from 'rxjs'; @Component({ templateUrl: './document-info-dialog.component.html', @@ -33,7 +34,7 @@ export class DocumentInfoDialogComponent extends BaseDialogComponent implements async ngOnInit() { super.ngOnInit(); this.attributes = ( - await this._fileAttributesService.getFileAttributesConfig(this._dossier.dossierTemplateId).toPromise() + await firstValueFrom(this._fileAttributesService.getFileAttributesConfig(this._dossier.dossierTemplateId)) ).fileAttributeConfigs.filter(attr => attr.editable); this.form = this._getForm(); this.initialFormValue = this.form.getRawValue(); @@ -44,7 +45,7 @@ export class DocumentInfoDialogComponent extends BaseDialogComponent implements ...this.data.fileAttributes?.attributeIdToValue, ...this.form.getRawValue(), }; - await this._fileAttributesService.setFileAttributes({ attributeIdToValue }, this.data.dossierId, this.data.fileId).toPromise(); + await firstValueFrom(this._fileAttributesService.setFileAttributes({ attributeIdToValue }, this.data.dossierId, this.data.fileId)); this._filesService.reload(this.data.dossierId, this.data.fileId); this._dialogRef.close(true); } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts index 982311438..614d7d632 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts @@ -7,6 +7,7 @@ import { FormBuilder, FormGroup } from '@angular/forms'; import * as moment from 'moment'; import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-edit-dossier-attributes', @@ -72,7 +73,7 @@ export class EditDossierAttributesComponent implements EditDossierSectionInterfa : this.currentAttrValue(attr), })); try { - await this._dossierAttributesService.setAttributes(this.dossier, dossierAttributeList).toPromise(); + await firstValueFrom(this._dossierAttributesService.setAttributes(this.dossier, dossierAttributeList)); await this._loadAttributes(); return { success: true }; } catch (error) { diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts index 8d89ccf25..a9fd70641 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts @@ -16,7 +16,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import * as moment from 'moment'; import { ConfigService } from '@services/config.service'; import { getLeftDateTime } from '@utils/functions'; -import { Observable, of } from 'rxjs'; +import { firstValueFrom, Observable, of } from 'rxjs'; import { distinctUntilChanged, map } from 'rxjs/operators'; import { DossiersDialogService } from '../../../services/dossiers-dialog.service'; import { FilesService } from '@services/entity-services/files.service'; @@ -107,7 +107,7 @@ export class EditDossierDeletedDocumentsComponent extends ListingComponent { const fileIds = files.map(f => f.fileId); - await this._fileManagementService.restore(fileIds, this.dossier.id).toPromise(); + await firstValueFrom(this._fileManagementService.restore(fileIds, this.dossier.id)); this._removeFromList(fileIds); - await this._filesService.loadAll(files[0].dossierId).toPromise(); + await firstValueFrom(this._filesService.loadAll(files[0].dossierId)); } private async _hardDelete(files: FileListItem[]) { const fileIds = files.map(f => f.fileId); - await this._fileManagementService.hardDelete(this.dossier.id, fileIds).toPromise(); + await firstValueFrom(this._fileManagementService.hardDelete(this.dossier.id, fileIds)); this._removeFromList(fileIds); } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts index c575f4b5c..6944b4683 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts @@ -7,7 +7,8 @@ import { DictionaryService } from '@shared/services/dictionary.service'; import { CircleButtonTypes, LoadingService, Toaster } from '@iqser/common-ui'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { FormBuilder, FormGroup } from '@angular/forms'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-edit-dossier-dictionary', @@ -67,9 +68,9 @@ export class EditDossierDictionaryComponent implements EditDossierSectionInterfa this._loadingService.start(); // TODO: Setting the type manually shouldn't be necessary, but for now it fails with status code 500... const dictionary: IDictionary = { ...this.dossierDictionary, type: 'dossier_redaction', label }; - await this._dictionaryService - .updateDictionary(dictionary, this.dossier.dossierTemplateId, 'dossier_redaction', this.dossier.id) - .toPromise(); + await firstValueFrom( + this._dictionaryService.updateDictionary(dictionary, this.dossier.dossierTemplateId, 'dossier_redaction', this.dossier.id), + ); await this._updateDossierDictionary(); this._toaster.success(_('edit-dossier-dialog.dictionary.display-name.success')); } catch (error) { @@ -85,20 +86,20 @@ export class EditDossierDictionaryComponent implements EditDossierSectionInterfa type: 'dossier_redaction', addToDictionaryAction: this.form.get('addToDictionaryAction').value, }; - await this._dictionaryService - .updateDictionary(dictionary, this.dossier.dossierTemplateId, 'dossier_redaction', this.dossier.id) - .toPromise(); + await firstValueFrom( + this._dictionaryService.updateDictionary(dictionary, this.dossier.dossierTemplateId, 'dossier_redaction', this.dossier.id), + ); - await this._dictionaryService - .saveEntries( + await firstValueFrom( + this._dictionaryService.saveEntries( this._dictionaryManager.editor.currentEntries, this._dictionaryManager.initialEntries, this.dossier.dossierTemplateId, 'dossier_redaction', this.dossier.id, false, - ) - .toPromise(); + ), + ); await this._updateDossierDictionary(); return { success: true }; @@ -127,6 +128,8 @@ export class EditDossierDictionaryComponent implements EditDossierSectionInterfa private async _updateDossierDictionary() { const { dossierId, dossierTemplateId } = this.dossier; - this.dossierDictionary = await this._dictionaryService.getForType(dossierTemplateId, 'dossier_redaction', dossierId).toPromise(); + this.dossierDictionary = await firstValueFrom( + this._dictionaryService.getForType(dossierTemplateId, 'dossier_redaction', dossierId), + ); } } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts index 30155eaf4..7338c9590 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/download-package/edit-dossier-download-package.component.ts @@ -6,6 +6,7 @@ import { downloadTypesTranslations } from '../../../../../translations/download- import { DossiersService } from '@services/entity-services/dossiers.service'; import { ReportTemplateService } from '@services/report-template.service'; import { PermissionsService } from '@services/permissions.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-edit-dossier-download-package', @@ -70,7 +71,7 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS async ngOnInit() { this.availableReportTypes = - (await this._reportTemplateController.getAvailableReportTemplates(this.dossier.dossierTemplateId).toPromise()) || []; + (await firstValueFrom(this._reportTemplateController.getAvailableReportTemplates(this.dossier.dossierTemplateId))) || []; this.form = this._getForm(); if (!this._permissionsService.canEditDossier()) { @@ -85,7 +86,7 @@ export class EditDossierDownloadPackageComponent implements OnInit, EditDossierS reportTemplateIds: this.form.get('reportTemplateIds').value, }; try { - await this._dossiersService.createOrUpdate(dossier).toPromise(); + await firstValueFrom(this._dossiersService.createOrUpdate(dossier)); return { success: true }; } catch (error) { return { success: false }; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts index 89c2697ca..391c6493e 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts @@ -5,7 +5,7 @@ import { DossiersService } from '@services/entity-services/dossiers.service'; import { Dossier, IDossierRequest } from '@red/domain'; import { AutoUnsubscribe } from '@iqser/common-ui'; import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface'; -import { BehaviorSubject } from 'rxjs'; +import { BehaviorSubject, firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-edit-dossier-team', @@ -77,7 +77,7 @@ export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDos } as IDossierRequest; try { - await this._dossiersService.createOrUpdate(dossier).toPromise(); + await firstValueFrom(this._dossiersService.createOrUpdate(dossier)); return { success: true }; } catch (error) { return { success: false }; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts index 833c2161c..641ee1451 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts @@ -13,6 +13,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { DossierStatsService } from '@services/entity-services/dossier-stats.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-edit-dossier-general-info', @@ -96,7 +97,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti dossierTemplateId: this.form.get('dossierTemplateId').value, } as IDossierRequest; try { - await this._dossiersService.createOrUpdate(dossier).toPromise(); + await firstValueFrom(this._dossiersService.createOrUpdate(dossier)); return { success: true }; } catch (error) { return { success: false }; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts index 3a69b28a3..9dbbe5eb8 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/force-redaction-dialog/force-annotation-dialog.component.ts @@ -9,6 +9,7 @@ import { PermissionsService } from '@services/permissions.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { JustificationsService } from '@services/entity-services/justifications.service'; import { Dossier, ILegalBasisChangeRequest } from '@red/domain'; +import { firstValueFrom } from 'rxjs'; export interface LegalBasisOption { label?: string; @@ -47,18 +48,9 @@ export class ForceAnnotationDialogComponent extends BaseDialogComponent implemen return this._data.hint; } - private _getForm(): FormGroup { - this.isDocumentAdmin = this._permissionsService.isApprover(this._data.dossier); - - return this._formBuilder.group({ - reason: this._data.hint ? ['Forced Hint'] : [null, Validators.required], - comment: this.isDocumentAdmin ? [null] : [null, Validators.required], - }); - } - async ngOnInit() { super.ngOnInit(); - const data = await this._justificationsService.getForDossierTemplate(this._data.dossier.dossierTemplateId).toPromise(); + const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this._data.dossier.dossierTemplateId)); this.legalOptions = data.map(lbm => ({ legalBasis: lbm.reason, @@ -73,6 +65,15 @@ export class ForceAnnotationDialogComponent extends BaseDialogComponent implemen this._dialogRef.close(this._createForceRedactionRequest()); } + private _getForm(): FormGroup { + this.isDocumentAdmin = this._permissionsService.isApprover(this._data.dossier); + + return this._formBuilder.group({ + reason: this._data.hint ? ['Forced Hint'] : [null, Validators.required], + comment: this.isDocumentAdmin ? [null] : [null, Validators.required], + }); + } + private _createForceRedactionRequest(): ILegalBasisChangeRequest { const request: ILegalBasisChangeRequest = {}; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts index f761f6cf0..9da3045d9 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts @@ -11,6 +11,7 @@ import { Dictionary, Dossier, File, IAddRedactionRequest } from '@red/domain'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { BaseDialogComponent } from '@iqser/common-ui'; import { DictionaryService } from '@shared/services/dictionary.service'; +import { firstValueFrom } from 'rxjs'; export interface LegalBasisOption { label?: string; @@ -69,36 +70,15 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme return null; } - private async _getPossibleDictionaries(): Promise { - const possibleDictionaries: Dictionary[] = []; - const dossier = this._dossier; - - const dossierDictionary = await this._dictionaryService - .getForType(dossier.dossierTemplateId, 'dossier_redaction', dossier.dossierId) - .toPromise(); - - for (const key of Object.keys(this._appStateService.dictionaryData[dossier.dossierTemplateId])) { - const dictionaryData = this._appStateService.getDictionary(key, dossier.dossierTemplateId); - if (!dictionaryData.virtual && dictionaryData.addToDictionaryAction) { - possibleDictionaries.push(dictionaryData); - } - } - - if (dossierDictionary.addToDictionaryAction) { - // TODO fix this in the backend - possibleDictionaries.push(new Dictionary({ ...dossierDictionary, type: 'dossier_redaction' })); - } - - possibleDictionaries.sort((a, b) => a.label.localeCompare(b.label)); - - return possibleDictionaries; + get disabled() { + return this.form.invalid; } async ngOnInit() { super.ngOnInit(); this.possibleDictionaries = await this._getPossibleDictionaries(); - const data = await this._justificationsService.getForDossierTemplate(this._dossier.dossierTemplateId).toPromise(); + const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this._dossier.dossierTemplateId)); this.legalOptions = data.map(lbm => ({ legalBasis: lbm.reason, description: lbm.description, @@ -124,6 +104,31 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme ); } + private async _getPossibleDictionaries(): Promise { + const possibleDictionaries: Dictionary[] = []; + const dossier = this._dossier; + + const dossierDictionary = await firstValueFrom( + this._dictionaryService.getForType(dossier.dossierTemplateId, 'dossier_redaction', dossier.dossierId), + ); + + for (const key of Object.keys(this._appStateService.dictionaryData[dossier.dossierTemplateId])) { + const dictionaryData = this._appStateService.getDictionary(key, dossier.dossierTemplateId); + if (!dictionaryData.virtual && dictionaryData.addToDictionaryAction) { + possibleDictionaries.push(dictionaryData); + } + } + + if (dossierDictionary.addToDictionaryAction) { + // TODO fix this in the backend + possibleDictionaries.push(new Dictionary({ ...dossierDictionary, type: 'dossier_redaction' })); + } + + possibleDictionaries.sort((a, b) => a.label.localeCompare(b.label)); + + return possibleDictionaries; + } + private _getForm(): FormGroup { return this._formBuilder.group({ section: [null], @@ -155,8 +160,4 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme addRedactionRequest.section = this.form.get('section').value; addRedactionRequest.value = addRedactionRequest.rectangle ? this.form.get('classification').value : addRedactionRequest.value; } - - get disabled() { - return this.form.invalid; - } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details-stats/dossier-details-stats.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details-stats/dossier-details-stats.component.ts index afdffeb42..87f035344 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details-stats/dossier-details-stats.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details-stats/dossier-details-stats.component.ts @@ -3,7 +3,7 @@ import { Dossier, DossierAttributeWithValue, DossierStats } from '@red/domain'; import { DossiersDialogService } from '../../../../services/dossiers-dialog.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { FilesService } from '@services/entity-services/files.service'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { map, switchMap } from 'rxjs/operators'; import { DossierStatsService } from '@services/entity-services/dossier-stats.service'; import { FilesMapService } from '@services/entity-services/files-map.service'; @@ -43,7 +43,7 @@ export class DossierDetailsStatsComponent implements OnInit { openEditDossierDialog(section: string): void { const data = { dossierId: this.dossier.dossierId, section }; this._dialogService.openDialog('editDossier', null, data, async () => { - await this._filesService.loadAll(this.dossier.dossierId).toPromise(); + await firstValueFrom(this._filesService.loadAll(this.dossier.dossierId)); }); } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details/dossier-details.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details/dossier-details.component.ts index 35f209cb4..3c6148a13 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details/dossier-details.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/dossier-details/dossier-details.component.ts @@ -9,7 +9,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { Dossier, DossierAttributeWithValue, DossierStats, IDossierRequest, StatusSorter, User } from '@red/domain'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { ActivatedRoute } from '@angular/router'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { DossierStatsService } from '@services/entity-services/dossier-stats.service'; import { pluck, switchMap } from 'rxjs/operators'; import { DossiersDialogService } from '../../../../services/dossiers-dialog.service'; @@ -73,7 +73,7 @@ export class DossierDetailsComponent { async assignOwner(user: User | string, dossier: Dossier) { const owner = typeof user === 'string' ? this._userService.find(user) : user; const dossierRequest: IDossierRequest = { ...dossier, ownerId: owner.id }; - await this.dossiersService.createOrUpdate(dossierRequest).toPromise(); + await firstValueFrom(this.dossiersService.createOrUpdate(dossierRequest)); const ownerName = this._userService.getNameForId(owner.id); const dossierName = dossier.dossierName; diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/screen-header/screen-header.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/screen-header/screen-header.component.ts index 6f9ccaa1d..42bc6c5cd 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/screen-header/screen-header.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/screen-header/screen-header.component.ts @@ -19,6 +19,7 @@ import { map, take } from 'rxjs/operators'; import { saveAsCSV } from '@utils/csv-utils'; import { UserService } from '@services/user.service'; import { ConfigService } from '../../config.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-screen-header', @@ -53,7 +54,7 @@ export class ScreenHeaderComponent implements OnInit { async reanalyseDossier() { this._loadingService.start(); try { - await this._reanalysisService.reanalyzeDossier(this.dossier.dossierId, true).toPromise(); + await firstValueFrom(this._reanalysisService.reanalyzeDossier(this.dossier.dossierId, true)); this._toaster.success(_('dossier-overview.reanalyse-dossier.success')); } catch (e) { this._toaster.error(_('dossier-overview.reanalyse-dossier.error')); diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/services/bulk-actions.service.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/services/bulk-actions.service.ts index dd8f8c967..a0b27b673 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/services/bulk-actions.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/services/bulk-actions.service.ts @@ -8,6 +8,7 @@ import { FileAssignService } from '../../../shared/services/file-assign.service' import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { ReanalysisService } from '../../../../../services/reanalysis.service'; import { FileManagementService } from '@services/entity-services/file-management.service'; +import { firstValueFrom } from 'rxjs'; @Injectable() export class BulkActionsService { @@ -28,13 +29,13 @@ export class BulkActionsService { this._assignFiles(files, 'approver', true); } else { this._loadingService.start(); - await this._filesService - .setUnderApprovalFor( + await firstValueFrom( + this._filesService.setUnderApprovalFor( files.map(f => f.id), dossier.id, dossier.approverIds[0], - ) - .toPromise(); + ), + ); this._loadingService.stop(); } } @@ -45,12 +46,12 @@ export class BulkActionsService { async ocr(files: File[]) { this._loadingService.start(); - await this._reanalysisService - .ocrFiles( + await firstValueFrom( + this._reanalysisService.ocrFiles( files.map(f => f.fileId), files[0].dossierId, - ) - .toPromise(); + ), + ); this._loadingService.stop(); } @@ -64,12 +65,12 @@ export class BulkActionsService { }), async () => { this._loadingService.start(); - await this._fileManagementService - .delete( + await firstValueFrom( + this._fileManagementService.delete( files.map(item => item.fileId), files[0].dossierId, - ) - .toPromise(); + ), + ); this._loadingService.stop(); }, ); @@ -78,18 +79,18 @@ export class BulkActionsService { async reanalyse(files: File[]) { this._loadingService.start(); const fileIds = files.filter(file => file.analysisRequired).map(file => file.fileId); - await this._reanalysisService.reanalyzeFilesForDossier(fileIds, files[0].dossierId).toPromise(); + await firstValueFrom(this._reanalysisService.reanalyzeFilesForDossier(fileIds, files[0].dossierId)); this._loadingService.stop(); } async backToUnderReview(files: File[]): Promise { this._loadingService.start(); - await this._filesService - .setUnderReviewFor( + await firstValueFrom( + this._filesService.setUnderReviewFor( files.map(f => f.id), files[0].dossierId, - ) - .toPromise(); + ), + ); this._loadingService.stop(); } @@ -105,23 +106,23 @@ export class BulkActionsService { }), async () => { this._loadingService.start(); - await this._filesService - .setApprovedFor( + await firstValueFrom( + this._filesService.setApprovedFor( files.map(f => f.id), files[0].dossierId, - ) - .toPromise(); + ), + ); this._loadingService.stop(); }, ); } else { this._loadingService.start(); - await this._filesService - .setApprovedFor( + await firstValueFrom( + this._filesService.setApprovedFor( files.map(f => f.id), files[0].dossierId, - ) - .toPromise(); + ), + ); this._loadingService.stop(); } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts index fd02bf16f..9c93cf143 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossiers-listing/components/dossiers-listing-actions/dossiers-listing-actions.component.ts @@ -9,6 +9,7 @@ import { UserPreferenceService } from '@services/user-preference.service'; import { FilesMapService } from '@services/entity-services/files-map.service'; import { ReanalysisService } from '@services/reanalysis.service'; import { DossiersService } from '@services/entity-services/dossiers.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-dossiers-listing-actions', @@ -60,6 +61,6 @@ export class DossiersListingActionsComponent implements OnChanges { async reanalyseDossier($event: MouseEvent, id: string): Promise { $event.stopPropagation(); - await this._reanalysisService.reanalyzeDossier(id).toPromise(); + await firstValueFrom(this._reanalysisService.reanalyzeDossier(id)); } } diff --git a/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts b/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts index f4bc25a51..ae697a33e 100644 --- a/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier/shared/components/file-actions/file-actions.component.ts @@ -2,14 +2,12 @@ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, - EventEmitter, HostBinding, Input, OnChanges, OnDestroy, OnInit, Optional, - Output, ViewChild, } from '@angular/core'; import { PermissionsService } from '@services/permissions.service'; @@ -38,6 +36,7 @@ import { ExcludedPagesService } from '../../../screens/file-preview-screen/servi import { tap } from 'rxjs/operators'; import { DocumentInfoService } from '../../../screens/file-preview-screen/services/document-info.service'; import { ExpandableFileActionsComponent } from '@shared/components/expandable-file-actions/expandable-file-actions.component'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-file-actions [file] [type]', @@ -273,7 +272,7 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, this._loadingService.start(); try { const dossier = this._dossiersService.find(this.file.dossierId); - await this._fileManagementService.delete([this.file.fileId], this.file.dossierId).toPromise(); + await firstValueFrom(this._fileManagementService.delete([this.file.fileId], this.file.dossierId)); await this._router.navigate([dossier.routerLink]); } catch (error) { this._toaster.error(_('error.http.generic'), { params: error }); @@ -300,7 +299,7 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, if ($event) { $event.stopPropagation(); } - await this._reanalysisService.reanalyzeFilesForDossier([this.file.fileId], this.file.dossierId, true).toPromise(); + await firstValueFrom(this._reanalysisService.reanalyzeFilesForDossier([this.file.fileId], this.file.dossierId, true)); } private async _setFileUnderApproval($event: MouseEvent) { @@ -311,7 +310,7 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, private async _ocrFile($event: MouseEvent) { $event.stopPropagation(); this._loadingService.start(); - await this._reanalysisService.ocrFiles([this.file.fileId], this.file.dossierId).toPromise(); + await firstValueFrom(this._reanalysisService.ocrFiles([this.file.fileId], this.file.dossierId)); this._loadingService.stop(); } @@ -321,7 +320,7 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, private async _toggleAnalysis() { this._loadingService.start(); - await this._reanalysisService.toggleAnalysis(this.file.dossierId, this.file.fileId, !this.file.excluded).toPromise(); + await firstValueFrom(this._reanalysisService.toggleAnalysis(this.file.dossierId, this.file.fileId, !this.file.excluded)); this._loadingService.stop(); } @@ -364,7 +363,7 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnDestroy, private async _setFileApproved() { this._loadingService.start(); - await this._filesService.setApprovedFor([this.file.id], this.file.dossierId).toPromise(); + await firstValueFrom(this._filesService.setApprovedFor([this.file.id], this.file.dossierId)); this._loadingService.stop(); } } diff --git a/apps/red-ui/src/app/modules/dossier/shared/services/file-assign.service.ts b/apps/red-ui/src/app/modules/dossier/shared/services/file-assign.service.ts index 0e1de1f66..0694e0588 100644 --- a/apps/red-ui/src/app/modules/dossier/shared/services/file-assign.service.ts +++ b/apps/red-ui/src/app/modules/dossier/shared/services/file-assign.service.ts @@ -6,7 +6,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { FilesService } from '@services/entity-services/files.service'; import { ConfirmationDialogInput, LoadingService, Toaster } from '@iqser/common-ui'; import { DossiersService } from '@services/entity-services/dossiers.service'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; @Injectable() @@ -29,14 +29,12 @@ export class FileAssignService { question: _('confirmation-dialog.assign-file-to-me.question'), }); this._dialogService.openDialog('confirm', null, data, () => { - this._assignReviewerToCurrentUser(files) - .toPromise() + firstValueFrom(this._assignReviewerToCurrentUser(files)) .then(() => resolve()) .catch(() => reject()); }); } else { - this._assignReviewerToCurrentUser(files) - .toPromise() + firstValueFrom(this._assignReviewerToCurrentUser(files)) .then(() => resolve()) .catch(() => reject()); } @@ -83,28 +81,28 @@ export class FileAssignService { this._loadingService.start(); try { if (!userId) { - await this._filesService - .setUnassigned( + await firstValueFrom( + this._filesService.setUnassigned( files.map(f => f.fileId), files[0].dossierId, - ) - .toPromise(); + ), + ); } else if (mode === 'reviewer') { - await this._filesService - .setReviewerFor( + await firstValueFrom( + this._filesService.setReviewerFor( files.map(f => f.fileId), files[0].dossierId, userId, - ) - .toPromise(); + ), + ); } else { - await this._filesService - .setUnderApprovalFor( + await firstValueFrom( + this._filesService.setUnderApprovalFor( files.map(f => f.fileId), files[0].dossierId, userId, - ) - .toPromise(); + ), + ); } } catch (error) { this._toaster.error(_('error.http.generic'), { params: error }); From fe35b7193c7346f25e399d40c95c95a70c9e9a9b Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 20 Jan 2022 15:01:13 +0200 Subject: [PATCH 195/260] wip shared module --- .../file-download-btn.component.ts | 3 ++- .../dictionary-manager.component.ts | 18 ++++++++---------- .../expandable-file-actions.component.ts | 3 ++- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts index 2a3f107ab..8009960da 100644 --- a/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/buttons/file-download-btn/file-download-btn.component.ts @@ -4,6 +4,7 @@ import { File } from '@red/domain'; import { FileDownloadService } from '@upload-download/services/file-download.service'; import { CircleButtonType, CircleButtonTypes, Toaster } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { firstValueFrom } from 'rxjs'; export type MenuState = 'OPEN' | 'CLOSED'; @@ -38,7 +39,7 @@ export class FileDownloadBtnComponent implements OnChanges { $event.stopPropagation(); const dossierId = this.files[0].dossierId; const filesIds = this.files.map(f => f.fileId); - await this._fileDownloadService.downloadFiles(filesIds, dossierId).toPromise(); + await firstValueFrom(this._fileDownloadService.downloadFiles(filesIds, dossierId)); this._toaster.info(_('download-status.queued')); } } diff --git a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts index 43a61d1f5..2cbc95e7c 100644 --- a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.ts @@ -1,6 +1,6 @@ import { Component, EventEmitter, Input, OnChanges, Output, ViewChild } from '@angular/core'; import { Debounce, IconButtonTypes, List } from '@iqser/common-ui'; -import { Observable, of } from 'rxjs'; +import { firstValueFrom, Observable, of } from 'rxjs'; import { catchError, map, take, tap } from 'rxjs/operators'; import { Dictionary, Dossier, DossierTemplate } from '@red/domain'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; @@ -110,20 +110,18 @@ export class DictionaryManagerComponent implements OnChanges { return; } - this._dictionaryService - .getForType(this._dictionary.dossierTemplateId, this._dictionary.type) - .pipe( + firstValueFrom( + this._dictionaryService.getForType(this._dictionary.dossierTemplateId, this._dictionary.type).pipe( tap(values => (this._dictionary.entries = [...values.entries] ?? [])), catchError(() => { this._dictionary.entries = []; return of({}); }), - ) - .toPromise() - .then(() => { - this.diffEditorText = this._toString([...this._dictionary.entries]); - this.showDiffEditor = true; - }); + ), + ).then(() => { + this.diffEditorText = this._toString([...this._dictionary.entries]); + this.showDiffEditor = true; + }); } get _dictionaries() { diff --git a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts index 1ccc95efe..8f37afc08 100644 --- a/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/expandable-file-actions/expandable-file-actions.component.ts @@ -4,6 +4,7 @@ import { CircleButtonType, IqserTooltipPosition, Toaster } from '@iqser/common-u import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { FileDownloadService } from '@upload-download/services/file-download.service'; import { PermissionsService } from '@services/permissions.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-expandable-file-actions', @@ -58,7 +59,7 @@ export class ExpandableFileActionsComponent implements OnChanges { $event.stopPropagation(); const dossierId = files[0].dossierId; const filesIds = files.map(f => f.fileId); - await this._fileDownloadService.downloadFiles(filesIds, dossierId).toPromise(); + await firstValueFrom(this._fileDownloadService.downloadFiles(filesIds, dossierId)); this._toaster.info(_('download-status.queued')); } } From 05ac6d94277633f507e25513de65c504f6f3cad3 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Fri, 21 Jan 2022 10:53:40 +0200 Subject: [PATCH 196/260] firstValueFrom instead of toPromise() in red-ui --- .../downloads-list-screen.component.ts | 6 +++--- .../notifications/notifications.component.ts | 6 +++--- .../src/app/guards/dossier-files-guard.ts | 3 ++- apps/red-ui/src/app/guards/dossiers.guard.ts | 3 ++- apps/red-ui/src/app/i18n/language.service.ts | 5 +++-- .../edit-dossier-general-info.component.ts | 2 +- .../components/comments/comments.component.ts | 10 +++++----- .../page-exclusion/page-exclusion.component.ts | 17 +++++++++-------- .../page-indicator/page-indicator.component.ts | 2 +- .../user-management.component.ts | 7 ++++--- .../services/annotation-draw.service.ts | 8 ++++---- .../dossier-attributes.service.ts | 6 +++--- .../services/upload-download-dialog.service.ts | 6 ++---- .../entity-services/dossiers.service.ts | 8 ++++---- .../src/app/services/user-preference.service.ts | 9 +++++---- apps/red-ui/src/app/state/app-state.guard.ts | 5 +++-- apps/red-ui/src/app/state/app-state.service.ts | 10 +++++----- .../src/app/utils/configuration.initializer.ts | 10 +++++----- 18 files changed, 64 insertions(+), 59 deletions(-) diff --git a/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts b/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts index 2e8cd19ce..277cf5f1e 100644 --- a/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts +++ b/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts @@ -11,7 +11,7 @@ import { } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { RouterHistoryService } from '@services/router-history.service'; -import { interval } from 'rxjs'; +import { firstValueFrom, interval } from 'rxjs'; import { switchMap } from 'rxjs/operators'; @Component({ @@ -60,11 +60,11 @@ export class DownloadsListScreenComponent extends ListingComponent d.storageId); - await this.fileDownloadService.delete({ storageIds }).toPromise(); + await firstValueFrom(this.fileDownloadService.delete({ storageIds })); await this._loadData(); } private async _loadData() { - await this.fileDownloadService.loadAll().toPromise(); + await firstValueFrom(this.fileDownloadService.loadAll()); } } diff --git a/apps/red-ui/src/app/components/notifications/notifications.component.ts b/apps/red-ui/src/app/components/notifications/notifications.component.ts index 963e9d5da..29b22b627 100644 --- a/apps/red-ui/src/app/components/notifications/notifications.component.ts +++ b/apps/red-ui/src/app/components/notifications/notifications.component.ts @@ -6,7 +6,7 @@ import { DossiersService } from '@services/entity-services/dossiers.service'; import { NotificationsService } from '@services/notifications.service'; import { Notification } from '@red/domain'; import { distinctUntilChanged, map, switchMap, tap } from 'rxjs/operators'; -import { BehaviorSubject, Observable, timer } from 'rxjs'; +import { BehaviorSubject, firstValueFrom, Observable, timer } from 'rxjs'; import { AutoUnsubscribe, List, shareLast } from '@iqser/common-ui'; import { CHANGED_CHECK_INTERVAL } from '@utils/constants'; @@ -63,12 +63,12 @@ export class NotificationsComponent extends AutoUnsubscribe implements OnInit { async markRead($event, notifications: List = this._notifications$.getValue().map(n => n.id), isRead = true): Promise { $event.stopPropagation(); - await this._notificationsService.toggleNotificationRead(notifications, isRead).toPromise(); + await firstValueFrom(this._notificationsService.toggleNotificationRead(notifications, isRead)); await this._loadData(); } private async _loadData(): Promise { - const notifications = await this._notificationsService.getNotifications(INCLUDE_SEEN).toPromise(); + const notifications = await firstValueFrom(this._notificationsService.getNotifications(INCLUDE_SEEN)); this._notifications$.next(notifications); } diff --git a/apps/red-ui/src/app/guards/dossier-files-guard.ts b/apps/red-ui/src/app/guards/dossier-files-guard.ts index 5dd539adc..bf08f4737 100644 --- a/apps/red-ui/src/app/guards/dossier-files-guard.ts +++ b/apps/red-ui/src/app/guards/dossier-files-guard.ts @@ -3,6 +3,7 @@ import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { FilesMapService } from '@services/entity-services/files-map.service'; import { FilesService } from '@services/entity-services/files.service'; +import { firstValueFrom } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class DossierFilesGuard implements CanActivate { @@ -22,7 +23,7 @@ export class DossierFilesGuard implements CanActivate { } if (!this._filesMapService.has(dossierId)) { - await this._filesService.loadAll(dossierId).toPromise(); + await firstValueFrom(this._filesService.loadAll(dossierId)); } return true; } diff --git a/apps/red-ui/src/app/guards/dossiers.guard.ts b/apps/red-ui/src/app/guards/dossiers.guard.ts index be0c1550e..66a37f509 100644 --- a/apps/red-ui/src/app/guards/dossiers.guard.ts +++ b/apps/red-ui/src/app/guards/dossiers.guard.ts @@ -2,6 +2,7 @@ import { Injectable } from '@angular/core'; import { CanActivate, Router } from '@angular/router'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { TranslateService } from '@ngx-translate/core'; +import { firstValueFrom } from 'rxjs'; @Injectable({ providedIn: 'root' }) export class DossiersGuard implements CanActivate { @@ -12,7 +13,7 @@ export class DossiersGuard implements CanActivate { ) {} async canActivate(): Promise { - await this._dossiersService.loadAll().toPromise(); + await firstValueFrom(this._dossiersService.loadAll()); return true; } } diff --git a/apps/red-ui/src/app/i18n/language.service.ts b/apps/red-ui/src/app/i18n/language.service.ts index 3a48ca225..6a89894a6 100644 --- a/apps/red-ui/src/app/i18n/language.service.ts +++ b/apps/red-ui/src/app/i18n/language.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { UserPreferenceService } from '@services/user-preference.service'; +import { firstValueFrom } from 'rxjs'; @Injectable({ providedIn: 'root', @@ -27,12 +28,12 @@ export class LanguageService { } document.documentElement.lang = defaultLang; this._translateService.setDefaultLang(defaultLang); - this._translateService.use(defaultLang).toPromise().then(); + firstValueFrom(this._translateService.use(defaultLang)).then(); } async changeLanguage(language: string) { await this._userPreferenceService.saveLanguage(language); document.documentElement.lang = language; - await this._translateService.use(language).toPromise(); + await firstValueFrom(this._translateService.use(language)); } } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts index 641ee1451..c7eb44a96 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts @@ -119,7 +119,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti }, }); this._dialogService.openDialog('confirm', null, data, async () => { - await this._dossiersService.delete(this.dossier).toPromise(); + await firstValueFrom(this._dossiersService.delete(this.dossier)); this._editDossierDialogRef.close(); this._router.navigate(['main', 'dossiers']).then(() => this._notifyDossierDeleted()); }); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/comments/comments.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/comments/comments.component.ts index ddc408bcd..6cec64134 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/comments/comments.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/comments/comments.component.ts @@ -7,7 +7,7 @@ import { PermissionsService } from '@services/permissions.service'; import { AutoUnsubscribe, InputWithActionComponent, LoadingService, trackBy } from '@iqser/common-ui'; import { FilesMapService } from '@services/entity-services/files-map.service'; import { ActivatedRoute } from '@angular/router'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { CommentingService } from '../../services/commenting.service'; import { tap } from 'rxjs/operators'; @@ -58,9 +58,9 @@ export class CommentsComponent extends AutoUnsubscribe implements OnChanges { return; } this._loadingService.start(); - const commentId = await this._manualAnnotationService - .addComment(value, this.annotation.id, this._dossierId, this._fileId) - .toPromise(); + const commentId = await firstValueFrom( + this._manualAnnotationService.addComment(value, this.annotation.id, this._dossierId, this._fileId), + ); this.annotation.comments.push({ text: value, id: commentId, @@ -80,7 +80,7 @@ export class CommentsComponent extends AutoUnsubscribe implements OnChanges { async deleteComment($event: MouseEvent, comment: IComment): Promise { $event.stopPropagation(); this._loadingService.start(); - await this._manualAnnotationService.deleteComment(comment.id, this.annotation.id, this._dossierId, this._fileId).toPromise(); + await firstValueFrom(this._manualAnnotationService.deleteComment(comment.id, this.annotation.id, this._dossierId, this._fileId)); this.annotation.comments.splice(this.annotation.comments.indexOf(comment), 1); this._changeRef.markForCheck(); this._loadingService.stop(); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-exclusion/page-exclusion.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-exclusion/page-exclusion.component.ts index ba2eb3b72..b4689a5e2 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-exclusion/page-exclusion.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-exclusion/page-exclusion.component.ts @@ -5,6 +5,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { File, IPageRange } from '@red/domain'; import { ReanalysisService } from '@services/reanalysis.service'; import { ExcludedPagesService } from '../../services/excluded-pages.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-page-exclusion', @@ -57,15 +58,15 @@ export class PageExclusionComponent implements OnChanges { endPage, }; }); - await this._reanalysisService - .excludePages( + await firstValueFrom( + this._reanalysisService.excludePages( { pageRanges: pageRanges, }, this.file.dossierId, this.file.fileId, - ) - .toPromise(); + ), + ); this._inputComponent.reset(); } catch (e) { this._toaster.error(_('file-preview.tabs.exclude-pages.error')); @@ -75,15 +76,15 @@ export class PageExclusionComponent implements OnChanges { async includePagesRange(range: IPageRange): Promise { this._loadingService.start(); - await this._reanalysisService - .includePages( + await firstValueFrom( + this._reanalysisService.includePages( { pageRanges: [range], }, this.file.dossierId, this.file.fileId, - ) - .toPromise(); + ), + ); this._inputComponent.reset(); this._loadingService.stop(); } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-indicator/page-indicator.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-indicator/page-indicator.component.ts index 785a6153f..21c9b7db4 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-indicator/page-indicator.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-indicator/page-indicator.component.ts @@ -93,7 +93,7 @@ export class PageIndicatorComponent extends AutoUnsubscribe implements OnDestroy } private async _markPageRead() { - await this._viewedPagesService.addPage({ page: this.number }, this.file.dossierId, this.file.fileId).toPromise(); + await firstValueFrom(this._viewedPagesService.addPage({ page: this.number }, this.file.dossierId, this.file.fileId)); if (this.activePage) { this.activePage.showAsUnseen = false; } else { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/user-management/user-management.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/user-management/user-management.component.ts index fdbe6d8f3..0101f238f 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/user-management/user-management.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/user-management/user-management.component.ts @@ -8,6 +8,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { UserService } from '@services/user.service'; import { FilesService } from '@services/entity-services/files.service'; import { TranslateService } from '@ngx-translate/core'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-user-management', @@ -88,11 +89,11 @@ export class UserManagementComponent implements OnChanges { this.loadingService.start(); if (!assigneeId) { - await this.filesService.setUnassigned([fileId], dossierId).toPromise(); + await firstValueFrom(this.filesService.setUnassigned([fileId], dossierId)); } else if (file.isNew || file.isUnderReview) { - await this.filesService.setReviewerFor([fileId], dossierId, assigneeId).toPromise(); + await firstValueFrom(this.filesService.setReviewerFor([fileId], dossierId, assigneeId)); } else if (file.isUnderApproval) { - await this.filesService.setUnderApprovalFor([fileId], dossierId, assigneeId).toPromise(); + await firstValueFrom(this.filesService.setUnderApprovalFor([fileId], dossierId, assigneeId)); } this.loadingService.stop(); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-draw.service.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-draw.service.ts index 760d08668..e7ce07d5f 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-draw.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-draw.service.ts @@ -10,6 +10,7 @@ import { environment } from '@environments/environment'; import { IRectangle, ISectionGrid, ISectionRectangle } from '@red/domain'; import { SkippedService } from './skipped.service'; +import { firstValueFrom } from 'rxjs'; import Annotation = Core.Annotations.Annotation; @Injectable() @@ -91,10 +92,9 @@ export class AnnotationDrawService { await annotationManager.drawAnnotationsFromList(annotations); if (this._userPreferenceService.areDevFeaturesEnabled) { - const sectionsGrid = await this._redactionLogService - .getSectionGrid(dossierId, fileId) - .toPromise() - .catch(() => ({ rectanglesPerPage: {} })); + const sectionsGrid = await firstValueFrom(this._redactionLogService.getSectionGrid(dossierId, fileId)).catch(() => ({ + rectanglesPerPage: {}, + })); await this._drawSections(activeViewer, sectionsGrid, dossierId); } } diff --git a/apps/red-ui/src/app/modules/shared/services/controller-wrappers/dossier-attributes.service.ts b/apps/red-ui/src/app/modules/shared/services/controller-wrappers/dossier-attributes.service.ts index f0ac5009a..704301eb3 100644 --- a/apps/red-ui/src/app/modules/shared/services/controller-wrappers/dossier-attributes.service.ts +++ b/apps/red-ui/src/app/modules/shared/services/controller-wrappers/dossier-attributes.service.ts @@ -1,6 +1,6 @@ import { Injectable, Injector } from '@angular/core'; import { Dossier, DossierAttributeConfig, DossierAttributeWithValue, IDossierAttribute, IDossierAttributeConfig } from '@red/domain'; -import { Observable } from 'rxjs'; +import { firstValueFrom, Observable } from 'rxjs'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { EntitiesService, List, mapEach, RequiredParam, Validate } from '@iqser/common-ui'; import { map, tap } from 'rxjs/operators'; @@ -14,8 +14,8 @@ export class DossierAttributesService extends EntitiesService { - const attributes = await this.getAttributes(dossier.id).toPromise(); - const attributesConfig = await this.getConfig(dossier.dossierTemplateId).toPromise(); + const attributes = await firstValueFrom(this.getAttributes(dossier.id)); + const attributesConfig = await firstValueFrom(this.getConfig(dossier.dossierTemplateId)); return attributesConfig.map(config => ({ ...config, diff --git a/apps/red-ui/src/app/modules/upload-download/services/upload-download-dialog.service.ts b/apps/red-ui/src/app/modules/upload-download/services/upload-download-dialog.service.ts index 32d21f052..dfde1956a 100644 --- a/apps/red-ui/src/app/modules/upload-download/services/upload-download-dialog.service.ts +++ b/apps/red-ui/src/app/modules/upload-download/services/upload-download-dialog.service.ts @@ -1,6 +1,7 @@ import { Injectable } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { OverwriteFilesDialogComponent } from '../dialogs/overwrite-files-dialog/overwrite-files-dialog.component'; +import { firstValueFrom } from 'rxjs'; const dialogConfig = { width: '662px', @@ -18,9 +19,6 @@ export class UploadDownloadDialogService { data: filename, }); - return ref - .afterClosed() - .toPromise() - .then(res => res || { cancel: true }); + return firstValueFrom(ref.afterClosed()).then(res => res || { cancel: true }); } } diff --git a/apps/red-ui/src/app/services/entity-services/dossiers.service.ts b/apps/red-ui/src/app/services/entity-services/dossiers.service.ts index cf58c8f17..a406e4350 100644 --- a/apps/red-ui/src/app/services/entity-services/dossiers.service.ts +++ b/apps/red-ui/src/app/services/entity-services/dossiers.service.ts @@ -2,7 +2,7 @@ import { Injectable, Injector } from '@angular/core'; import { EntitiesService, List, mapEach, QueryParam, RequiredParam, shareLast, Toaster, Validate } from '@iqser/common-ui'; import { Dossier, IDossier, IDossierRequest } from '@red/domain'; import { catchError, filter, map, mapTo, switchMap, tap } from 'rxjs/operators'; -import { combineLatest, Observable, of, Subject, throwError, timer } from 'rxjs'; +import { combineLatest, firstValueFrom, Observable, of, Subject, throwError, timer } from 'rxjs'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { HttpErrorResponse, HttpStatusCode } from '@angular/common/http'; import { DossierStatsService } from '@services/entity-services/dossier-stats.service'; @@ -83,7 +83,7 @@ export class DossiersService extends EntitiesService { } getDeleted(): Promise { - return this.getAll('deleted-dossiers').toPromise(); + return firstValueFrom(this.getAll('deleted-dossiers')); } delete(dossier: Dossier): Observable { @@ -99,13 +99,13 @@ export class DossiersService extends EntitiesService { @Validate() restore(@RequiredParam() dossierIds: List): Promise { - return this._post(dossierIds, 'deleted-dossiers/restore').toPromise(); + return firstValueFrom(this._post(dossierIds, 'deleted-dossiers/restore')); } @Validate() hardDelete(@RequiredParam() dossierIds: List): Promise { const body = dossierIds.map(id => ({ key: 'dossierId', value: id })); - return super.delete(body, 'deleted-dossiers/hard-delete', body).toPromise(); + return firstValueFrom(super.delete(body, 'deleted-dossiers/hard-delete', body)); } private _emitFileChanges(changes: ChangesDetails): void { diff --git a/apps/red-ui/src/app/services/user-preference.service.ts b/apps/red-ui/src/app/services/user-preference.service.ts index cc89c6b6e..7ae1d333d 100644 --- a/apps/red-ui/src/app/services/user-preference.service.ts +++ b/apps/red-ui/src/app/services/user-preference.service.ts @@ -1,5 +1,6 @@ import { Injectable, Injector } from '@angular/core'; import { GenericService, List, RequiredParam, Validate } from '@iqser/common-ui'; +import { firstValueFrom } from 'rxjs'; type UserAttributes = Record; @@ -36,7 +37,7 @@ export class UserPreferenceService extends GenericService { async saveLastOpenedFileForDossier(dossierId: string, fileId: string): Promise { const key = `${KEYS.dossierRecent}-${dossierId}`; this.userAttributes[key] = [fileId]; - await this.savePreferences([fileId], key).toPromise(); + await firstValueFrom(this.savePreferences([fileId], key)); } getLanguage(): string { @@ -47,7 +48,7 @@ export class UserPreferenceService extends GenericService { async saveLanguage(language: string): Promise { const key = KEYS.language; this.userAttributes[key] = [language]; - await this.savePreferences([language], key).toPromise(); + await firstValueFrom(this.savePreferences([language], key)); } getFilePreviewTooltipsPreference(): boolean { @@ -60,7 +61,7 @@ export class UserPreferenceService extends GenericService { const currentValue = this.getFilePreviewTooltipsPreference(); const nextValue = [(!currentValue).toString()]; this.userAttributes[key] = nextValue; - await this.savePreferences(nextValue, key).toPromise(); + await firstValueFrom(this.savePreferences(nextValue, key)); } toggleDevFeatures(): void { @@ -69,7 +70,7 @@ export class UserPreferenceService extends GenericService { } async reload(): Promise { - const attributes = await this.getAll().toPromise(); + const attributes = await firstValueFrom(this.getAll()); this._userAttributes = attributes ?? {}; } diff --git a/apps/red-ui/src/app/state/app-state.guard.ts b/apps/red-ui/src/app/state/app-state.guard.ts index 9071e2db3..33c94556b 100644 --- a/apps/red-ui/src/app/state/app-state.guard.ts +++ b/apps/red-ui/src/app/state/app-state.guard.ts @@ -3,6 +3,7 @@ import { ActivatedRouteSnapshot, CanActivate, Router } from '@angular/router'; import { AppStateService } from './app-state.service'; import { UserService } from '@services/user.service'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; +import { firstValueFrom } from 'rxjs'; @Injectable({ providedIn: 'root', @@ -17,11 +18,11 @@ export class AppStateGuard implements CanActivate { async canActivate(route: ActivatedRouteSnapshot): Promise { if (this._userService.currentUser.isUserAdmin) { - await this._userService.loadAll().toPromise(); + await firstValueFrom(this._userService.loadAll()); } if (this._userService.currentUser.isUser || this._userService.currentUser.isAdmin) { - await this._userService.loadAll().toPromise(); + await firstValueFrom(this._userService.loadAll()); await this._dossierTemplatesService.loadAllIfEmpty(); await this._appStateService.loadDictionaryDataIfNecessary(); } diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index 34adc5a86..4eb1bc5f6 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -1,7 +1,7 @@ import { Injectable } from '@angular/core'; import { Dictionary, DossierTemplate, IColors } from '@red/domain'; import { Router } from '@angular/router'; -import { forkJoin, Observable, of } from 'rxjs'; +import { firstValueFrom, forkJoin, Observable, of } from 'rxjs'; import { catchError, map, tap } from 'rxjs/operators'; import { FALLBACK_COLOR, hexToRgb } from '@utils/functions'; import { DictionaryService } from '@shared/services/dictionary.service'; @@ -79,9 +79,9 @@ export class AppStateService { } async refreshDossierTemplate(dossierTemplateId: string) { - const dossierTemplate = await this._dossierTemplatesService.get(dossierTemplateId).toPromise(); + const dossierTemplate = await firstValueFrom(this._dossierTemplatesService.get(dossierTemplateId)); - await this._fileAttributesService.getFileAttributesConfig(dossierTemplateId).toPromise(); + await firstValueFrom(this._fileAttributesService.getFileAttributesConfig(dossierTemplateId)); const newDossierTemplate = new DossierTemplate(dossierTemplate); this._dossierTemplatesService.replace(newDossierTemplate); @@ -102,7 +102,7 @@ export class AppStateService { for (const dossierTemplate of this.dossierTemplates) { observables.push(this._getDictionaryDataForDossierTemplate$(dossierTemplate.dossierTemplateId)); } - const result = await forkJoin(observables).toPromise(); + const result = await firstValueFrom(forkJoin(observables)); const dictionaryData = {}; for (let i = 0; i < this.dossierTemplates.length; i++) { @@ -113,7 +113,7 @@ export class AppStateService { } async refreshDossierTemplateDictionaryData(dossierTemplateId: string) { - this._dictionaryData[dossierTemplateId] = await this._getDictionaryDataForDossierTemplate$(dossierTemplateId).toPromise(); + this._dictionaryData[dossierTemplateId] = await firstValueFrom(this._getDictionaryDataForDossierTemplate$(dossierTemplateId)); } loadColors(dossierTemplateId: string) { diff --git a/apps/red-ui/src/app/utils/configuration.initializer.ts b/apps/red-ui/src/app/utils/configuration.initializer.ts index d5d0c60ee..32240e222 100644 --- a/apps/red-ui/src/app/utils/configuration.initializer.ts +++ b/apps/red-ui/src/app/utils/configuration.initializer.ts @@ -1,7 +1,7 @@ import { catchError, filter, mergeMap, switchMap, take, tap } from 'rxjs/operators'; import { ConfigService } from '@services/config.service'; import { Title } from '@angular/platform-browser'; -import { from, of, throwError } from 'rxjs'; +import { firstValueFrom, from, of, throwError } from 'rxjs'; import { KeycloakEventType, KeycloakService } from 'keycloak-angular'; import { GeneralSettingsService } from '@services/general-settings.service'; import { LanguageService } from '@i18n/language.service'; @@ -18,8 +18,8 @@ export function configurationInitializer( userPreferenceService: UserPreferenceService, ) { return () => - keycloakService.keycloakEvents$ - .pipe( + firstValueFrom( + keycloakService.keycloakEvents$.pipe( filter(event => event.type === KeycloakEventType.OnReady), switchMap(() => from(keycloakService.isLoggedIn())), switchMap(loggedIn => (!loggedIn ? throwError('Not Logged In') : of({}))), @@ -34,6 +34,6 @@ export function configurationInitializer( }), tap(() => languageService.chooseAndSetInitialLanguage()), take(1), - ) - .toPromise(); + ), + ); } From ec83e7c2e1b1e4831f28fe979cc3ef234106e94d Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Tue, 25 Jan 2022 16:23:39 +0200 Subject: [PATCH 197/260] update common --- libs/common-ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/common-ui b/libs/common-ui index 650c16b80..df28e3578 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 650c16b80387943f1de0efa876215559f56d123b +Subproject commit df28e3578b9e8aa2daae87dd9ddb9e851ba8cf34 From c6992564b04dc9188b315943392fa0e5afb469f6 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Tue, 25 Jan 2022 16:33:07 +0200 Subject: [PATCH 198/260] added dossier-template-listing ts file --- ...sier-templates-listing-screen.component.ts | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts new file mode 100644 index 000000000..5387ae178 --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts @@ -0,0 +1,79 @@ +import { ChangeDetectionStrategy, Component, forwardRef, Injector } from '@angular/core'; +import { AppStateService } from '@state/app-state.service'; +import { UserPreferenceService } from '@services/user-preference.service'; +import { AdminDialogService } from '../../../services/admin-dialog.service'; +import { DossierTemplate } from '@red/domain'; +import { + CircleButtonTypes, + DefaultListingServicesTmp, + EntitiesService, + IconButtonTypes, + ListingComponent, + LoadingService, + TableColumnConfig, + Toaster, +} from '@iqser/common-ui'; +import { UserService } from '@services/user.service'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { RouterHistoryService } from '@services/router-history.service'; +import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; +import { HttpStatusCode } from '@angular/common/http'; +import { firstValueFrom } from 'rxjs'; + +@Component({ + templateUrl: './dossier-templates-listing-screen.component.html', + styleUrls: ['./dossier-templates-listing-screen.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, + providers: [ + ...DefaultListingServicesTmp, + { provide: EntitiesService, useExisting: DossierTemplatesService }, + { provide: ListingComponent, useExisting: forwardRef(() => DossierTemplatesListingScreenComponent) }, + ], +}) +export class DossierTemplatesListingScreenComponent extends ListingComponent { + readonly iconButtonTypes = IconButtonTypes; + readonly circleButtonTypes = CircleButtonTypes; + readonly currentUser = this._userService.currentUser; + readonly tableHeaderLabel = _('dossier-templates-listing.table-header.title'); + readonly tableColumnConfigs: TableColumnConfig[] = [ + { label: _('dossier-templates-listing.table-col-names.name'), sortByKey: 'searchKey' }, + { label: _('dossier-templates-listing.table-col-names.created-by'), class: 'user-column' }, + { label: _('dossier-templates-listing.table-col-names.created-on'), sortByKey: 'dateAdded' }, + { label: _('dossier-templates-listing.table-col-names.modified-on'), sortByKey: 'dateModified' }, + ]; + + constructor( + private readonly _toaster: Toaster, + protected readonly _injector: Injector, + private readonly _userService: UserService, + private readonly _loadingService: LoadingService, + private readonly _appStateService: AppStateService, + private readonly _dialogService: AdminDialogService, + readonly routerHistoryService: RouterHistoryService, + readonly userPreferenceService: UserPreferenceService, + private readonly _dossierTemplatesService: DossierTemplatesService, + ) { + super(_injector); + } + + openBulkDeleteTemplatesDialog($event?: MouseEvent) { + return this._dialogService.openDialog('confirm', $event, null, () => { + this._loadingService.loadWhile(this._deleteTemplates()); + }); + } + + openAddDossierTemplateDialog() { + this._dialogService.openDialog('addEditDossierTemplate', null, null); + } + + private async _deleteTemplates(templateIds = this.listingService.selected.map(d => d.dossierTemplateId)) { + await firstValueFrom(this._dossierTemplatesService.delete(templateIds)).catch(error => { + if (error.status === HttpStatusCode.Conflict) { + this._toaster.error(_('dossier-templates-listing.error.conflict')); + } else { + this._toaster.error(_('dossier-templates-listing.error.generic')); + } + }); + await this._appStateService.loadDictionaryData(); + } +} From 880318f352daf831a5e7efd6e9dbb5fa2a39c9fe Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Tue, 25 Jan 2022 16:36:34 +0200 Subject: [PATCH 199/260] fixed removed imports from rebase --- .../file-attributes-csv-import-dialog.component.ts | 4 ++-- .../dictionary-listing-screen.component.ts | 6 +++--- .../components/comments/comments.component.ts | 4 ++-- .../components/page-indicator/page-indicator.component.ts | 1 + 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts index 0e718f1e6..496abd8f0 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts @@ -4,7 +4,7 @@ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import * as Papa from 'papaparse'; import { firstValueFrom, Observable } from 'rxjs'; import { map, startWith } from 'rxjs/operators'; -import { DefaultListingServices, ListingComponent, TableColumnConfig, Toaster, trackBy } from '@iqser/common-ui'; +import { DefaultListingServices, ListingComponent, TableColumnConfig, Toaster, trackByFactory } from '@iqser/common-ui'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { FileAttributeConfig, FileAttributeConfigTypes, IField, IFileAttributesConfig } from '@red/domain'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; @@ -34,7 +34,7 @@ export class FileAttributesCsvImportDialogComponent extends ListingComponent t.type), this._dossierTemplatesService.activeDossierTemplateId, - ) - .toPromise(); + ), + ); await this._loadDictionaryData(); this._loadingService.stop(); }); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/comments/comments.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/comments/comments.component.ts index 6cec64134..6a6895765 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/comments/comments.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/comments/comments.component.ts @@ -4,7 +4,7 @@ import { ManualAnnotationService } from '../../../../services/manual-annotation. import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { UserService } from '@services/user.service'; import { PermissionsService } from '@services/permissions.service'; -import { AutoUnsubscribe, InputWithActionComponent, LoadingService, trackBy } from '@iqser/common-ui'; +import { AutoUnsubscribe, InputWithActionComponent, LoadingService, trackByFactory } from '@iqser/common-ui'; import { FilesMapService } from '@services/entity-services/files-map.service'; import { ActivatedRoute } from '@angular/router'; import { firstValueFrom, Observable } from 'rxjs'; @@ -19,7 +19,7 @@ import { tap } from 'rxjs/operators'; }) export class CommentsComponent extends AutoUnsubscribe implements OnChanges { @Input() annotation: AnnotationWrapper; - readonly trackBy = trackBy(); + readonly trackBy = trackByFactory(); readonly file$: Observable; @HostBinding('class.hidden') _hidden = true; @ViewChild(InputWithActionComponent) private readonly _input: InputWithActionComponent; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-indicator/page-indicator.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-indicator/page-indicator.component.ts index 21c9b7db4..d5e3227a7 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-indicator/page-indicator.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/page-indicator/page-indicator.component.ts @@ -7,6 +7,7 @@ import { File, IViewedPage } from '@red/domain'; import { AutoUnsubscribe } from '@iqser/common-ui'; import { FilesMapService } from '@services/entity-services/files-map.service'; import { FilePreviewStateService } from '../../services/file-preview-state.service'; +import { firstValueFrom } from 'rxjs'; @Component({ selector: 'redaction-page-indicator', From 4c958beef178407a4063cc7e6038915a7acb5d33 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 25 Jan 2022 16:11:36 +0100 Subject: [PATCH 200/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 72f81a804..7ddd06158 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.179.0", + "version": "3.180.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 0ced91df1db324c22ee4a8d6db3ce0b335371e1f..14158153b7a75aa04a6b39a75b9bbe84eb328299 100644 GIT binary patch delta 105 zcmV-v0G9uc8IBo{c2(bY9LHb0vK>2sE)@JA)C^ivGh89`V=VP^Y;#@z@<+{{GE#qE z)^NK1J$LD!_5WkEz51_6j3Xw;=22aL*cx2H3x7)gp5u64uYcbSK>v%tb6z2_%)1K+ LzSZ|b08jt`uq`ww delta 106 zcmV-w0G0oa8IKu|c2;j0`2I3@Wjl7@y01|1gHSVQP0etH(2udy&#}#Q{mUOUd&)@t zeObfl`u99%an}Ej(e~=UA~BAb9GgdV{b6fx1uy(5{d*3myVHMQFQDI91U~G4vCF#) M2ucy|EdWpe0P+epbN~PV From 2ab70f90835681de31418c607bf0bf0e11a9fccb Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 25 Jan 2022 17:25:30 +0200 Subject: [PATCH 201/260] update common ui --- libs/common-ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/common-ui b/libs/common-ui index df28e3578..f4e044521 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit df28e3578b9e8aa2daae87dd9ddb9e851ba8cf34 +Subproject commit f4e0445212824788d10cd81adc0bce484a8dbb02 From b44e802918c4d6f4f585a3441ce80f20c419d677 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Tue, 25 Jan 2022 16:29:18 +0100 Subject: [PATCH 202/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7ddd06158..16bf6f08e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.180.0", + "version": "3.181.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 14158153b7a75aa04a6b39a75b9bbe84eb328299..1e4bf8c682ffe5ef3855de0024d43ea06cb20103 100644 GIT binary patch delta 3126 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 Pi*5f0zSZ|b08jt`v&0oc From 96601f9c809fc47a9d927c371e3584b73375bd33 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 26 Jan 2022 11:48:32 +0200 Subject: [PATCH 203/260] RED-3272 primary attr fix --- .../screen-header.component.html | 2 +- .../screen-header/screen-header.component.ts | 53 ++++++++++--------- .../file-name-column.component.ts | 16 ++---- .../primary-file-attribute.service.ts | 29 ++++++++++ libs/red-domain/src/lib/files/file.model.ts | 1 - 5 files changed, 61 insertions(+), 40 deletions(-) create mode 100644 apps/red-ui/src/app/services/primary-file-attribute.service.ts diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/screen-header/screen-header.component.html b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/screen-header/screen-header.component.html index 279dc475f..4a3050292 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/screen-header/screen-header.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/screen-header/screen-header.component.html @@ -12,7 +12,7 @@ > this.sortingService.defaultSort(entities))); sortedEntities$.pipe(take(1)).subscribe(entities => { const fileName = this.dossier.dossierName + '.export.csv'; - saveAsCSV( - fileName, - entities, - [ - 'dossierId', - 'fileId', - 'filename', - 'primaryAttribute', - 'numberOfPages', - 'assignee', - 'workflowStatus', - 'processingStatus', - 'lastUpdated', - 'lastUploaded', - 'lastProcessed', - 'hasHints', - 'hasImages', - 'hasRedactions', - 'hasUpdates', - 'excluded', - ], - fsv => ({ ...fsv, assignee: this._userService.getNameForId(fsv.assignee) }), - ); + const mapper = (file?: IFile) => ({ + ...file, + assignee: this._userService.getNameForId(file.assignee), + primaryAttribute: this._primaryFileAttributeService.getPrimaryFileAttributeValue(file, this.dossier.dossierTemplateId), + }); + const fileFields = [ + 'dossierId', + 'fileId', + 'filename', + 'primaryAttribute', + 'numberOfPages', + 'assignee', + 'workflowStatus', + 'processingStatus', + 'lastUpdated', + 'lastUploaded', + 'lastProcessed', + 'hasHints', + 'hasImages', + 'hasRedactions', + 'hasUpdates', + 'excluded', + ]; + saveAsCSV(fileName, entities, fileFields, mapper); }); } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/table-item/file-name-column/file-name-column.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/table-item/file-name-column/file-name-column.component.ts index dbb49eea1..4b205542e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/table-item/file-name-column/file-name-column.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview/components/table-item/file-name-column/file-name-column.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, Input, OnChanges } from '@angular/core'; import { File } from '@red/domain'; -import { FileAttributesService } from '@services/entity-services/file-attributes.service'; +import { PrimaryFileAttributeService } from '../../../../../../../services/primary-file-attribute.service'; @Component({ selector: 'redaction-file-name-column', @@ -13,19 +13,9 @@ export class FileNameColumnComponent implements OnChanges { @Input() dossierTemplateId: string; primaryAttribute: string; - constructor(private readonly _fileAttributesService: FileAttributesService) {} + constructor(private readonly _primaryFileAttributeService: PrimaryFileAttributeService) {} ngOnChanges() { - const fileAttributesConfig = this._fileAttributesService.getFileAttributeConfig(this.dossierTemplateId); - if (fileAttributesConfig) { - const primary = fileAttributesConfig.fileAttributeConfigs?.find(c => c.primaryAttribute); - if (primary && this.file.fileAttributes?.attributeIdToValue) { - this.primaryAttribute = this.file.fileAttributes?.attributeIdToValue[primary.id]; - } - - if (!this.primaryAttribute) { - this.primaryAttribute = '-'; - } - } + this.primaryAttribute = this._primaryFileAttributeService.getPrimaryFileAttributeValue(this.file, this.dossierTemplateId); } } diff --git a/apps/red-ui/src/app/services/primary-file-attribute.service.ts b/apps/red-ui/src/app/services/primary-file-attribute.service.ts new file mode 100644 index 000000000..5a8acdc18 --- /dev/null +++ b/apps/red-ui/src/app/services/primary-file-attribute.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@angular/core'; +import { FileAttributesService } from './entity-services/file-attributes.service'; +import { IFile } from '@red/domain'; + +@Injectable({ + providedIn: 'root', +}) +export class PrimaryFileAttributeService { + constructor(private readonly _fileAttributesService: FileAttributesService) {} + + getPrimaryFileAttributeValue(file: IFile, dossierTemplateId: string) { + const fileAttributesConfig = this._fileAttributesService.getFileAttributeConfig(dossierTemplateId); + + let primaryAttribute; + + if (fileAttributesConfig) { + const primary = fileAttributesConfig.fileAttributeConfigs?.find(c => c.primaryAttribute); + if (primary && file.fileAttributes?.attributeIdToValue) { + primaryAttribute = file.fileAttributes?.attributeIdToValue[primary.id]; + } + } + + if (!primaryAttribute) { + primaryAttribute = '-'; + } + + return primaryAttribute; + } +} diff --git a/libs/red-domain/src/lib/files/file.model.ts b/libs/red-domain/src/lib/files/file.model.ts index aa3f705da..f57b0131a 100644 --- a/libs/red-domain/src/lib/files/file.model.ts +++ b/libs/red-domain/src/lib/files/file.model.ts @@ -39,7 +39,6 @@ export class File extends Entity implements IFile { readonly processingStatus: ProcessingFileStatus; readonly workflowStatus: WorkflowFileStatus; - readonly primaryAttribute?: string; readonly statusSort: number; readonly cacheIdentifier?: string; readonly hintsOnly: boolean; From 81d63116eb0272ca2038454553537bd1d0ce21e8 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 26 Jan 2022 10:54:47 +0100 Subject: [PATCH 204/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3213 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 16bf6f08e..ee649da5f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.181.0", + "version": "3.182.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 1e4bf8c682ffe5ef3855de0024d43ea06cb20103..201430c56ac9a2082179c4eb66a4488469c5752e 100644 GIT binary patch literal 3213 zcmV;8407`yiwFP!000001MM5ha^$vk&iV>OuB0TV+2Y#WYLzErSM21HO2u}POD-S@ zHW9H&ngmDEq*RsP$SD_phHvvH`I0<h`_7*E;x`b#3-P-Yzbp84 zL?1`=aYP?S^l?NVhxhqSOzSekPoLBexV*f+yO?wQaAu_h$D~64xV>ez_M)>*c#!675uv_YRYHT=ApJ|df`aD&~(6A9V6H=^Gh7ZG~WOK7x?WgkAf1iydB)jABP~Sh7pce)nX*{ zbO)Y`)0vbPt6+JTxFR{bGtwV5Rn4o)g651=23@eZHi&=raU`tM;;rPjL4o4fj{^be z;?0)C6r&=~o=_cCgyab4F}hNg$da$OYXQr=t~CkzZp#Pr+8#(YkgNNd6O|Cm8gQL} zCa?jd#B$evW3H`7=(*?4vI zinxb!8P&%5JDY9pJyIlfQM>jY73706Y#KX`h$b-A1=X1w-6Jmy9@*WuGz4ISJa*te zL>{S+_?nv13E+ilUdE2#!yKK-VD2-DtuqqsqN#@dn7kNq1+rl}#lc?XjNr*shB z6bQ$@?LmA-@`k-5)t2P%zvBW%R#_DZ%?7~yNqp?33JgbSMWd9_jR~b-5=!FrP`+xS zG->jC;e_?^i)k#}e*EVl$zf)iBOd&81QsEwlI;DrQA(h`Mqi5L|4%r_8&cJSd6tus z^H=>mUlv&g^KhPhMk+E%^lB36mEQyVeNopG&;?u=>EXiKe83qSfxMjrxr`K$_YH`Z z5fnni8G?#(u58igF=a(H)Kz;@TY_kWCB)iMno;upzY@`uR1FV`GYB|`$U2kjz;x`mEKGQU98N5y6Zv zGGGV3a@_^6!(DNn0AuX=?X}wdn}$aB7KCg}7{1n!D;t(wzfDD+ASP8aF0IMsMER{J z8Z>#(gfWgnZ`9-)*(aKUX*3o_&Wfg`QMjUMWt8QHX9sBdS;(CrJcX`Z+gn^+?a`QPtwXC1*E%3+J6K9{-T?8^*A<|^ zVU>+9i9QBe3hr<(G!u`e(?cIJNPI81$i(KWaS+DrgXVd`8O3po z?M1TWM+aUPDdzaCHCm2Z*s+k)jC#(Yokn2#^Ls6_Z-+T8%A;`KQ9{Cl)F}~~l==Zg z_Mbv{ju-o60tlqg^eusiWk}Zt1Jd`pWS*hL!u2(&`{|Jj_Uq_f-9fDJHeUn5`saRs^MbygiH(`CO&&r+Nc53peMJs_Y8T-Ug$Jf zm0LOZ_Nf$V3v5KVVlQ@OZs5sM>@iO;4iaW2|*hBSw7$c@y=Gas9E)dR*zAnh`o zX`kZ6$1G!mE{@f1sGqlON1-2L10X3XK&*k3yNYm4hS(jwaj;vhri}!R!reKHPN$;L z`}FsO({MHC=XnrN1=B+2#Sg~%Aa2Gt%NjlpyfIpirRkcb=?R*T|o+uEaZT@xK;^3sV9+d-+IK`PlddD45?YU)$Lw>v5rOq^n{Daxeg3j0EP{GCC)ma zOH6!JLTelM-o?{A8#=O(n-|s_w(~!EqBWKKz`W~+li$~5; zoPXKE&mcqp5eK_mR$i~{&1ga&`8t$Ir%Ym67md~oCL^qey#IEY@Q>z|x#!$e65rm{ zUZYEXTO0A)+Ltp_!^5gcMTOn{iMK@sd8so);$;qRvdZnN+^)*&tGuqt@2mW-D(I_% zu4>U&Eo4>MJu5OcS;w)i#r??5*om&E?ZHk0`QWYB5%-6#@5Jlw&tu^YA$Hen4?+wy zh>Glo5WQm|`ko3=QJoh${O7Ueje@?@k_HKJ96RoFK4OU3gLREZr@xZ`k|JuR4!wWs z|Jrgc=W;IRaxUj`F6VMC=W;IRaxUj`F6VMC=W;IRaxUlci!J{LG9uZw08jt`=2|~3 literal 3215 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 Date: Wed, 26 Jan 2022 14:17:56 +0200 Subject: [PATCH 205/260] update pspec --- bamboo-specs/src/main/java/buildjob/PlanSpec.java | 1 - libs/common-ui | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/bamboo-specs/src/main/java/buildjob/PlanSpec.java b/bamboo-specs/src/main/java/buildjob/PlanSpec.java index 108ccb99e..2ca8f1b37 100644 --- a/bamboo-specs/src/main/java/buildjob/PlanSpec.java +++ b/bamboo-specs/src/main/java/buildjob/PlanSpec.java @@ -95,7 +95,6 @@ public class PlanSpec { new VcsTagTask().tagName("${bamboo.inject.APP_VERSION}").repository("RED / ui") ).dockerConfiguration( new DockerConfiguration().image("nexus.iqser.com:5001/infra/release_build:4.2.0") - .volume("/var/lib/docker", "/var/lib/docker") .volume("/var/run/docker.sock", "/var/run/docker.sock")) .artifacts(new Artifact("version").location(".").copyPattern("**/version.properties").shared(true), new Artifact("paligo-theme.tar.gz").location(".").copyPattern("**/paligo-theme.tar.gz").shared(true)); diff --git a/libs/common-ui b/libs/common-ui index f4e044521..95644f59e 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit f4e0445212824788d10cd81adc0bce484a8dbb02 +Subproject commit 95644f59e4e32517d76e0bd9267805a88ebdd8d1 From b426046ca15e3681389189d6d2b5e8bb0a3caad6 Mon Sep 17 00:00:00 2001 From: Timo Bejan Date: Wed, 26 Jan 2022 16:22:42 +0200 Subject: [PATCH 206/260] owner is mandatory --- .../edit-dossier-team.component.html | 2 +- .../edit-dossier-team.component.ts | 13 ++++++++----- libs/common-ui | 2 +- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html index eb2b33bdc..5d2809aec 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.html @@ -1,5 +1,5 @@
-
+
{{ 'assign-dossier-owner.dialog.single-user' | translate }} diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts index 391c6493e..9f92db656 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, Input, OnDestroy, OnInit } from '@angular/core'; import { UserService } from '@services/user.service'; -import { FormBuilder, FormGroup } from '@angular/forms'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { Dossier, IDossierRequest } from '@red/domain'; import { AutoUnsubscribe } from '@iqser/common-ui'; @@ -146,10 +146,13 @@ export class EditDossierTeamComponent extends AutoUnsubscribe implements EditDos private _loadData() { this.form = this._formBuilder.group({ - owner: { - value: this.dossier?.ownerId, - disabled: this.disabled, - }, + owner: [ + { + value: this.dossier?.ownerId, + disabled: this.disabled, + }, + Validators.required, + ], approvers: [[...this.dossier?.approverIds]], members: [[...this.dossier?.memberIds]], }); diff --git a/libs/common-ui b/libs/common-ui index 95644f59e..f4e044521 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 95644f59e4e32517d76e0bd9267805a88ebdd8d1 +Subproject commit f4e0445212824788d10cd81adc0bce484a8dbb02 From 8ff9117db6ffa0f9a5540dd03aed1b2c04861e51 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 26 Jan 2022 15:28:20 +0100 Subject: [PATCH 207/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3213 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ee649da5f..f32a25850 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.182.0", + "version": "3.183.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 201430c56ac9a2082179c4eb66a4488469c5752e..a26837a13ee2726802fa5d790a11b271110d3b14 100644 GIT binary patch literal 3215 zcmV;A3~=)wiwFP!000001MM5za^tpjpZyi6Gws-^DDx`G@?^WoG-+QtohE7f(ie~f zMbs3@kl@R%yGmVN6c}=97oJ?_?+Lwv@SFJ^hy1I%ggJ#i#ewcXI4sZOe*xR3xwWTG>^&S z8aa3HDK5|!{>pNpOlsW>0 z3&X1EJF-R#pD!T09^|r|Bk0R$POOfU)v}$q#np!97Ar~sUTJ+{!C0{cs*OaW?q^MK z6{UiZEq=5fXv|W;W!oyUHNp)m`0ui)DWe7SR3yWUz9olo&)ZKcp(KmNN^%v)wtvl$ zhDF8Yh@A2f)kQ{Q^ik}^L5z2UR)u5Q)WCU5mqE@+lAK7(dJTpUk+jG<#TO-xD0^BX zd%ipo+3aO253NPB3rE_8W&_UZ7{!i-U*b5X`34ZUAa7@R6qb78q1{BAB z90*JoZ?+_+7!`T;gzBgwBu6-p(Ur1AmVCcm3tZ-Xt!dDATRE8b_CT|N+}+Qdsf1wG zK5VlTeRWmC}sdP3%46S@%-5W5W9J!O=DD`(1%qYvqY+@p~wMg`^B5G$2 zW2w73GM0J^J=EDJkcaRI1Y)D3KVhxbeVwwR;_$`}mXSwh#Uv^!+`4qoJ*l{Crm1SO z@$TpiagXFOs=@g?pKYE!G9-0VyY?Ov1NIWTCp3aUl4xKxcB8`l7dMriPvNK zs)^F1$?ruF*5Mb^RJc9-=OM{qWtt9pnkwFFn>5g&jgB9ekI2^C?{p5+`1WsS2&S_Z^rU{Iv z3vIGA4K0ny3M(ihqpI14wJ}jptS~7GCK5s@%8C4?7GG@%v{xruA=F~nhg~0=Dz}Ch zWu7n~bgJ6g?If|07JetYh z&T@#l?QbzVt|ySrkmES&B*+(Wn2{K)@7B9rVOt%{3)WAt82_;NX64@MHo-}#&J7u) z-y2J0ziZVF^$8r-PMkzz?*UgiABe-))(Ch=VZAjH9~!O+W1O=fBEhY; z+7ski#e)D$l5pjPhC$b;XgS#Kf&f(FtZrvWo5HJPN2{iG*3b|knka}pqAi+|tlSnc z+3i9>zjVrcbJsK`A)Y)j+-VkSCrD3WYB%;4S66#1=31N3+QYSuNcs+z(wq-KzVvkk zB=Fow{Q4slY7oxg=ktKtc~)!+!x<5T?KU_0ReLFe6a5yDkf-vtiS+#mV+;vfk}+*%yOG5er(UT{Zo zoM3yEEcw-e*JX-1ert`kqn36oZJ%j{b)rzLrm?mJ3Kc#u0KLz7xR zK*;`E2+#3ipG+Wu5}Ljxkg*K;`d~!*S(mIcv|O0qpBj<8=0{o`hE9eVNz_bi3aH8U zfp=BR5#aj~`F-8SiU`d&*;ASJR|~=h0=W_&mxxr^z8(UpX6Nsa7rmnli$|+Yaa=rf z$84$_=03vJ>$cA70)=d5nf7`cthk@t%{Mswk!Go@*|z#*T{$} zbq&aDB|cruAy3&5>n$Y@;#Gw@u{|bz9?hZK&A1lrCPSIS59CJXcEbbt)_znjllAY180 zC7rF3|MW_pxIC21$a6i()9zQ#+OA7-xa$B$^<%-IeaSSPn5cQlYJsq_t+FFESC5RR2}#&c*G0-dr5s8lId?+Qo1yK6g0U4`4EW8mzd> z*}9a$2(bnkT*-T;BC*(0Nv_9PWPda%F2#!QpTOkw<)b>O^RfF5XghbL}3Oy&hTu`|%Jy=l3fADt-dx;Uj_y9SRsoMd} zeGoi^|0Qn_RNO~AJy54lzBte)9rw^+0CVK~f&n=%epWEV_mT`+*KYTSV8G|zw*#jL zvM%c_V-4Av(~w0X@)dEnLUM2hE_Qk1dmbn*A+5Z^SU?%&86E2MtLYsBJF za1{4nwum#xFn=V$u9lV0D|oMYJEDn`Y0UKsG7$Cfur`c5kvB*t;>xG(q!5OW0U29GX(ClMq?)J$D^ z|J46$%ekG~xt-g&o!hyc+qs?Fxt-g&o!hyc+qs?Fxt-g&o!c+A{U0R6nHd03006kL BRYw2- literal 3213 zcmV;8407`yiwFP!000001MM5ha^$vk&iV>OuB0TV+2Y#WYLzErSM21HO2u}POD-S@ zHW9H&ngmDEq*RsP$SD_phHvvH`I0<h`_7*E;x`b#3-P-Yzbp84 zL?1`=aYP?S^l?NVhxhqSOzSekPoLBexV*f+yO?wQaAu_h$D~64xV>ez_M)>*c#!675uv_YRYHT=ApJ|df`aD&~(6A9V6H=^Gh7ZG~WOK7x?WgkAf1iydB)jABP~Sh7pce)nX*{ zbO)Y`)0vbPt6+JTxFR{bGtwV5Rn4o)g651=23@eZHi&=raU`tM;;rPjL4o4fj{^be z;?0)C6r&=~o=_cCgyab4F}hNg$da$OYXQr=t~CkzZp#Pr+8#(YkgNNd6O|Cm8gQL} zCa?jd#B$evW3H`7=(*?4vI zinxb!8P&%5JDY9pJyIlfQM>jY73706Y#KX`h$b-A1=X1w-6Jmy9@*WuGz4ISJa*te zL>{S+_?nv13E+ilUdE2#!yKK-VD2-DtuqqsqN#@dn7kNq1+rl}#lc?XjNr*shB z6bQ$@?LmA-@`k-5)t2P%zvBW%R#_DZ%?7~yNqp?33JgbSMWd9_jR~b-5=!FrP`+xS zG->jC;e_?^i)k#}e*EVl$zf)iBOd&81QsEwlI;DrQA(h`Mqi5L|4%r_8&cJSd6tus z^H=>mUlv&g^KhPhMk+E%^lB36mEQyVeNopG&;?u=>EXiKe83qSfxMjrxr`K$_YH`Z z5fnni8G?#(u58igF=a(H)Kz;@TY_kWCB)iMno;upzY@`uR1FV`GYB|`$U2kjz;x`mEKGQU98N5y6Zv zGGGV3a@_^6!(DNn0AuX=?X}wdn}$aB7KCg}7{1n!D;t(wzfDD+ASP8aF0IMsMER{J z8Z>#(gfWgnZ`9-)*(aKUX*3o_&Wfg`QMjUMWt8QHX9sBdS;(CrJcX`Z+gn^+?a`QPtwXC1*E%3+J6K9{-T?8^*A<|^ zVU>+9i9QBe3hr<(G!u`e(?cIJNPI81$i(KWaS+DrgXVd`8O3po z?M1TWM+aUPDdzaCHCm2Z*s+k)jC#(Yokn2#^Ls6_Z-+T8%A;`KQ9{Cl)F}~~l==Zg z_Mbv{ju-o60tlqg^eusiWk}Zt1Jd`pWS*hL!u2(&`{|Jj_Uq_f-9fDJHeUn5`saRs^MbygiH(`CO&&r+Nc53peMJs_Y8T-Ug$Jf zm0LOZ_Nf$V3v5KVVlQ@OZs5sM>@iO;4iaW2|*hBSw7$c@y=Gas9E)dR*zAnh`o zX`kZ6$1G!mE{@f1sGqlON1-2L10X3XK&*k3yNYm4hS(jwaj;vhri}!R!reKHPN$;L z`}FsO({MHC=XnrN1=B+2#Sg~%Aa2Gt%NjlpyfIpirRkcb=?R*T|o+uEaZT@xK;^3sV9+d-+IK`PlddD45?YU)$Lw>v5rOq^n{Daxeg3j0EP{GCC)ma zOH6!JLTelM-o?{A8#=O(n-|s_w(~!EqBWKKz`W~+li$~5; zoPXKE&mcqp5eK_mR$i~{&1ga&`8t$Ir%Ym67md~oCL^qey#IEY@Q>z|x#!$e65rm{ zUZYEXTO0A)+Ltp_!^5gcMTOn{iMK@sd8so);$;qRvdZnN+^)*&tGuqt@2mW-D(I_% zu4>U&Eo4>MJu5OcS;w)i#r??5*om&E?ZHk0`QWYB5%-6#@5Jlw&tu^YA$Hen4?+wy zh>Glo5WQm|`ko3=QJoh${O7Ueje@?@k_HKJ96RoFK4OU3gLREZr@xZ`k|JuR4!wWs z|Jrgc=W;IRaxUj`F6VMC=W;IRaxUj`F6VMC=W;IRaxUlci!J{LG9uZw08jt`=2|~3 From a05738e7fe063e0044dac8b64e02be68f9cfe892 Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Wed, 26 Jan 2022 17:20:59 +0200 Subject: [PATCH 208/260] fixed more imports --- .../add-edit-user-dialog/add-edit-user-dialog.component.ts | 2 +- .../dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts | 2 +- .../screens/general-config/general-config-screen.component.ts | 2 +- libs/common-ui | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.ts index aadf98a36..a35e42d2e 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/add-edit-user-dialog.component.ts @@ -2,7 +2,7 @@ import { Component, Inject, Injector, ViewChild } from '@angular/core'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { User } from '@red/domain'; import { UserDetailsComponent } from './user-details/user-details.component'; -import { BaseDialogComponent } from '../../../../../../../../libs/common-ui/src'; +import { BaseDialogComponent } from '@iqser/common-ui'; @Component({ selector: 'redaction-add-edit-user-dialog', diff --git a/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts index 1b2234129..d5cc95383 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/smtp-auth-dialog/smtp-auth-dialog.component.ts @@ -3,7 +3,7 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; import { UserService } from '@services/user.service'; import { ISmtpConfiguration } from '@red/domain'; -import { BaseDialogComponent } from '../../../../../../../../libs/common-ui/src'; +import { BaseDialogComponent } from '@iqser/common-ui'; @Component({ selector: 'redaction-smtp-auth-dialog', diff --git a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts index 4f50e4fcc..94b036eca 100644 --- a/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/general-config/general-config-screen.component.ts @@ -2,7 +2,7 @@ import { AfterViewInit, Component, ViewChild } from '@angular/core'; import { UserService } from '@services/user.service'; import { GeneralConfigFormComponent } from './general-config-form/general-config-form.component'; import { SmtpFormComponent } from './smtp-form/smtp-form.component'; -import { BaseFormComponent } from '../../../../../../../../libs/common-ui/src'; +import { BaseFormComponent } from '@iqser/common-ui'; @Component({ selector: 'redaction-general-config-screen', diff --git a/libs/common-ui b/libs/common-ui index 990ab1c38..e41a59dc7 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 990ab1c3850c7c871f044416bd53ca4f9db8a096 +Subproject commit e41a59dc7089e1644496f5cff09b3bc64370913a From 5db44d09c477a7d8e2c13c4f39833463aa01fc9d Mon Sep 17 00:00:00 2001 From: Valentin Mihai Date: Wed, 26 Jan 2022 17:25:56 +0200 Subject: [PATCH 209/260] fixed one more import in 'can-deactivate.guard.ts' --- apps/red-ui/src/app/guards/can-deactivate.guard.ts | 3 +-- libs/common-ui | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/apps/red-ui/src/app/guards/can-deactivate.guard.ts b/apps/red-ui/src/app/guards/can-deactivate.guard.ts index 09a89b606..38a494c00 100644 --- a/apps/red-ui/src/app/guards/can-deactivate.guard.ts +++ b/apps/red-ui/src/app/guards/can-deactivate.guard.ts @@ -1,8 +1,7 @@ import { CanDeactivate } from '@angular/router'; import { Injectable } from '@angular/core'; import { map, Observable } from 'rxjs'; -import { ConfirmationDialogService } from '../../../../../libs/common-ui/src/lib/dialog/confirmation-dialog.service'; -import { ConfirmOptions } from '../../../../../libs/common-ui/src'; +import { ConfirmationDialogService, ConfirmOptions } from '@iqser/common-ui'; export interface ComponentCanDeactivate { changed: boolean; diff --git a/libs/common-ui b/libs/common-ui index e41a59dc7..47dc55206 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit e41a59dc7089e1644496f5cff09b3bc64370913a +Subproject commit 47dc55206bdea193eec78b021e04ccbaaf5b6915 From 7c98850ed3a0020990abe04b976bce6829a1223c Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 26 Jan 2022 16:34:37 +0100 Subject: [PATCH 210/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3215 bytes paligo-theme/paligo-styles/redacto-theme.css | 671 +++++++++---------- 3 files changed, 331 insertions(+), 342 deletions(-) diff --git a/package.json b/package.json index f32a25850..42a93e1a9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.183.0", + "version": "3.184.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index a26837a13ee2726802fa5d790a11b271110d3b14..1293b3747e2389579cbf5f7a8f731ea6427f8372 100644 GIT binary patch delta 3127 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 Rx&30>{{c`~>hJ(i002O_B{l#6 delta 3127 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 Ro!c+A{U0R6nHd03001+YD02V+ diff --git a/paligo-theme/paligo-styles/redacto-theme.css b/paligo-theme/paligo-styles/redacto-theme.css index f5622f730..fc5511db6 100644 --- a/paligo-theme/paligo-styles/redacto-theme.css +++ b/paligo-theme/paligo-styles/redacto-theme.css @@ -1,482 +1,482 @@ @charset "UTF-8"; -@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap'); +@import url("https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap"); .portal-header { - z-index: 1; - height: 450px; + z-index: 1; + height: 450px; } .portal-header::before { - background-color: #283241; + background-color: #283241; } .portal-header h1 { - font-size: 64px; - font-weight: 300; - line-height: 87px; - margin-top: 68px; - margin-bottom: 40px; + font-size: 64px; + font-weight: 300; + line-height: 87px; + margin-top: 68px; + margin-bottom: 40px; } .portal-header .portal-search { - max-width: 600px; - margin: auto; - position: relative; + max-width: 600px; + margin: auto; + position: relative; } .portal-header .portal-search .search-field { - width: 100%; - border: 1px solid #d3d5da; - border-radius: 8px; - background-color: #fff; + width: 100%; + border: 1px solid #d3d5da; + border-radius: 8px; + background-color: #fff; } .portal-header .portal-search .search-field::placeholder { - opacity: 0.7; + opacity: 0.7; } .portal-header .portal-search .search-field, .portal-header .portal-search .search-field::placeholder { - color: #283241; - font-size: 14px; - line-height: 18px; + color: #283241; + font-size: 14px; + line-height: 18px; } .portal-header .portal-search .search-field { - padding: 12px 17px; + padding: 12px 17px; } .portal-header .portal-search .btn { - position: absolute; - right: 0; - padding: 11px 18px; - background-color: transparent; - color: #283241; - cursor: pointer; - border-radius: 0 8px 8px 0; + position: absolute; + right: 0; + padding: 11px 18px; + background-color: transparent; + color: #283241; + cursor: pointer; + border-radius: 0 8px 8px 0; } .portal-header .portal-search .btn:hover { - background-color: #dd4d50; + background-color: #dd4d50; } @media only screen and (max-width: 768px) { - .portal-header h1 { - font-size: 42px; - font-weight: 300; - line-height: 57px; - } + .portal-header h1 { + font-size: 42px; + font-weight: 300; + line-height: 57px; + } } .featured-content-label { - display: none; + display: none; } .featured-content { - display: none; + display: none; } .portal-single-publication { - background-color: transparent; + background-color: transparent; } .portal-single-publication > a { - border-radius: 4px; + border-radius: 4px; } .portal-single-publication .publication-icon { - background-color: #dd4d50; + background-color: #dd4d50; } .portal-contents { - margin-top: 100px; - margin-bottom: 0; + margin-top: 100px; + margin-bottom: 0; } .portal-contents .inner { - margin: 0; - display: grid; - grid-template-columns: 1fr 1fr; - grid-gap: 24px; + margin: 0; + display: grid; + grid-template-columns: 1fr 1fr; + grid-gap: 24px; } .portal-contents .inner::before { - content: none; + content: none; } .publication-contents { - padding: 24px 40px; - border: 1px solid #e2e4e9; - width: 100%; - margin: 0; - background-color: #fff; - border-radius: 4px; + padding: 24px 40px; + border: 1px solid #e2e4e9; + width: 100%; + margin: 0; + background-color: #fff; + border-radius: 4px; } .publication-contents:first-child { - grid-column: 1 / span 2; + grid-column: 1/span 2; } .publication-contents h4.featured-title, .publication-contents .section-toc-title { - font-size: 28px; - font-weight: 300; - line-height: 36px; - margin: 0; + font-size: 28px; + font-weight: 300; + line-height: 36px; + margin: 0; } .publication-contents h4.featured-title a, .publication-contents .section-toc-title a { - color: #283241; + color: #283241; } .publication-contents h4.featured-title a:hover, .publication-contents .section-toc-title a:hover { - color: #283241; - text-decoration: underline; + color: #283241; + text-decoration: underline; } .publication-contents ul { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } .publication-contents li { - margin: 4px 0; + margin: 4px 0; } .publication-contents li:first-child { - margin-top: 20px; + margin-top: 20px; } .publication-contents li:last-child { - margin-bottom: 40px; + margin-bottom: 40px; } .publication-contents li a { - color: #dd4d50; - font-size: 16px; - line-height: 24px; + color: #dd4d50; + font-size: 16px; + line-height: 24px; } .publication-contents li a:hover { - color: #dd4d50; - text-decoration: underline; + color: #dd4d50; + text-decoration: underline; } .publication-contents h4 span, .publication-contents li::before { - display: none; + display: none; } @media only screen and (max-width: 768px) { - .portal-contents .inner { - grid-template-columns: 1fr; - } + .portal-contents .inner { + grid-template-columns: 1fr; + } - .publication-contents:first-child { - grid-column: auto; - } + .publication-contents:first-child { + grid-column: auto; + } } /* Einleitung */ .cat-panel-1:before { - content: '\f277'; + content: "\f277"; } /* Workflow */ .cat-panel-2:before { - content: '\f0c1'; + content: "\f0c1"; } /* Voraussetzungen */ .cat-panel-3:before { - content: '\f109'; + content: "\f109"; } /* Benutzermenü und -profil */ .cat-panel-4:before { - content: '\f007'; + content: "\f007"; } /* Benachrichtigungen */ .cat-panel-5:before { - content: '\f0f3'; + content: "\f0f3"; } /* Suchfunktion */ .cat-panel-6:before { - content: '\f002'; + content: "\f002"; } /* Ebenen in der Benutzeroberfläche des RedactManagers */ .cat-panel-7:before { - content: '\f248'; + content: "\f248"; } /* Rollen und Berechtigungen */ .cat-panel-8:before { - content: '\f084'; + content: "\f084"; } /* Dossier erstellen und verwalten */ .cat-panel-9:before { - content: '\f07c'; + content: "\f07c"; } /* Dokumente bearbeiten im Editor */ .cat-panel-10:before { - content: '\f15c'; + content: "\f15c"; } /* Dossier abschließen und herunterladen */ .cat-panel-11:before { - content: '\f019'; + content: "\f019"; } /* Funktionsübersicht */ .cat-panel-12:before { - content: '\f03a'; + content: "\f03a"; } /* Glossar */ .cat-panel-13:before { - content: '\f02d'; + content: "\f02d"; } /* FAQ’s (häufige Fragen) */ .cat-panel-14:before { - content: '\f059'; + content: "\f059"; } .portal-search-result { - background-color: #f5f5f7; + background-color: #f5f5f7; } .search-container { - padding-bottom: 100px; + padding-bottom: 100px; } .portal-search-result { - padding: 80px 0 0 0; + padding: 80px 0 0 0; } ul.searchresults { - border: 1px solid #e2e4e9; - background-color: #fff; - border-radius: 4px; - margin-top: 32px; + border: 1px solid #e2e4e9; + background-color: #fff; + border-radius: 4px; + margin-top: 32px; } ul.searchresults .search-highlight { - font-style: normal; + font-style: normal; } li.searchresultitem { - margin: 0 32px; - border-bottom: 1px solid #e2e4e9; - padding: 32px 8px; + margin: 0 32px; + border-bottom: 1px solid #e2e4e9; + padding: 32px 8px; } .searchresultitem.selected-searchresultitem { - background-color: transparent; - border-radius: 0; + background-color: transparent; + border-radius: 0; } .searchresulttitle { - font-size: 28px; - font-weight: 300; - line-height: 36px; - color: #283241; + font-size: 28px; + font-weight: 300; + line-height: 36px; + color: #283241; } .searchresultsnippet { - margin: 16px 0; - color: #283241; + margin: 16px 0; + color: #283241; } .search-result-breadcrumbs { - color: #dd4d50; + color: #dd4d50; } .portal-footer, .site-footer { - border-top: 1px solid #e2e4e9; - padding: 0; + border-top: 1px solid #e2e4e9; + padding: 0; } .portal-footer.portal-footer, .site-footer.portal-footer { - margin-top: 100px; + margin-top: 100px; } .portal-footer .inner, .site-footer .inner { - margin: 0; - padding: 8px 0 64px 0; - font-size: 16px; - line-height: 24px; + margin: 0; + padding: 8px 0 64px 0; + font-size: 16px; + line-height: 24px; } .portal-footer .inner > *, .site-footer .inner > * { - padding: 0; + padding: 0; } .portal-footer .inner .copyright, .site-footer .inner .copyright { - width: 50%; + width: 50%; } :root { - --iqser-primary: lightblue; - --iqser-primary-rgb: 220, 230, 234; - --iqser-primary-2: orange; - --iqser-accent: blue; - --iqser-accent-rgb: 123, 234, 111; - --iqser-disabled: #9398a0; - --iqser-not-disabled-table-item: #f9fafb; - --iqser-btn-bg-hover: #e2e4e9; - --iqser-btn-bg: #f0f1f4; - --iqser-warn: #fdbd00; - --iqser-white: white; - --iqser-black: black; - --iqser-light: white; - --iqser-separator: rgba(226, 228, 233, 0.9); - --iqser-quick-filter-border: #d3d5da; - --iqser-grey-1: #283241; - --iqser-grey-2: #f4f5f7; - --iqser-grey-3: #aaacb3; - --iqser-grey-4: #e2e4e9; - --iqser-grey-5: #d3d5da; - --iqser-grey-6: #f0f1f4; - --iqser-grey-7: #9398a0; - --iqser-grey-8: #f9fafb; - --iqser-green-1: #00ff00; - --iqser-green-2: #5ce594; - --iqser-yellow-1: #ffb83b; - --iqser-yellow-2: #fdbd00; - --iqser-yellow-rgb: 253, 189, 0; - --iqser-red-1: #dd4d50; - --iqser-blue-5: #c5d3eb; - --iqser-helpmode-primary: green; + --iqser-primary: lightblue; + --iqser-primary-rgb: 220, 230, 234; + --iqser-primary-2: orange; + --iqser-accent: blue; + --iqser-accent-rgb: 123, 234, 111; + --iqser-disabled: #9398a0; + --iqser-not-disabled-table-item: #f9fafb; + --iqser-btn-bg-hover: #e2e4e9; + --iqser-btn-bg: #f0f1f4; + --iqser-warn: #fdbd00; + --iqser-white: white; + --iqser-black: black; + --iqser-light: white; + --iqser-separator: rgba(226, 228, 233, 0.9); + --iqser-quick-filter-border: #d3d5da; + --iqser-grey-1: #283241; + --iqser-grey-2: #f4f5f7; + --iqser-grey-3: #aaacb3; + --iqser-grey-4: #e2e4e9; + --iqser-grey-5: #d3d5da; + --iqser-grey-6: #f0f1f4; + --iqser-grey-7: #9398a0; + --iqser-grey-8: #f9fafb; + --iqser-green-1: #00ff00; + --iqser-green-2: #5ce594; + --iqser-yellow-1: #ffb83b; + --iqser-yellow-2: #fdbd00; + --iqser-yellow-rgb: 253, 189, 0; + --iqser-red-1: #dd4d50; + --iqser-blue-5: #c5d3eb; + --iqser-helpmode-primary: green; } .site-sidebar { - background-color: #283241; - scrollbar-color: var(--iqser-quick-filter-border) var(--iqser-grey-2); - scrollbar-width: thin; - /* Track */ - /* Handle */ + background-color: #283241; + scrollbar-color: var(--iqser-quick-filter-border) var(--iqser-grey-2); + scrollbar-width: thin; + /* Track */ + /* Handle */ } .site-sidebar .logo { - padding: 24px 0 30px 0 !important; + padding: 24px 0 30px 0 !important; } .site-sidebar::-webkit-scrollbar { - width: 11px; + width: 11px; } .site-sidebar::-webkit-scrollbar-track { - background: var(--iqser-grey-2); + background: var(--iqser-grey-2); } .site-sidebar::-webkit-scrollbar-thumb { - background: var(--iqser-quick-filter-border); + background: var(--iqser-quick-filter-border); } .site-sidebar-search { - padding: 0 24px; + padding: 0 24px; } .site-sidebar-search .search-field { - width: 100%; - border: 1px solid #d3d5da; - border-radius: 8px; - background-color: #fff; + width: 100%; + border: 1px solid #d3d5da; + border-radius: 8px; + background-color: #fff; } .site-sidebar-search .search-field::placeholder { - opacity: 0.7; + opacity: 0.7; } .site-sidebar-search .search-field, .site-sidebar-search .search-field::placeholder { - color: #283241; - font-size: 14px; - line-height: 18px; + color: #283241; + font-size: 14px; + line-height: 18px; } .site-sidebar-search .search-field { - padding: 7px 13px; + padding: 7px 13px; } .nav-site-sidebar { - margin-top: 16px; + margin-top: 16px; } .nav-site-sidebar .topic-link { - padding-top: 11px; - padding-bottom: 11px; - font-size: 14px; - line-height: 18px; - color: #d3d5da; + padding-top: 11px; + padding-bottom: 11px; + font-size: 14px; + line-height: 18px; + color: #d3d5da; } .nav-site-sidebar .topic-link:hover { - background-color: #313d4e; + background-color: #313d4e; } .nav-site-sidebar .active > .topic-link { - background-color: #313d4e; + background-color: #313d4e; } .nav-site-sidebar .active > a { - color: #fff; - font-weight: 600; + color: #fff; + font-weight: 600; } .nav-site-sidebar > li > a { - padding-left: 24px; + padding-left: 24px; } .nav-site-sidebar > li > ul > li > a { - padding-left: 32px; + padding-left: 32px; } .nav-site-sidebar > li > ul > li > ul > li > a { - padding-left: 40px; + padding-left: 40px; } .toc .glyphicon { - top: 5px; + top: 5px; } .toc > li > .topic-link > .glyphicon { - margin-top: 4px; + margin-top: 4px; } .toolbar { - box-shadow: none; - padding: 21px 24px; - margin-bottom: 50px; + box-shadow: none; + padding: 21px 24px; + margin-bottom: 50px; } .topic-content .breadcrumb-container { - margin-top: 40px; + margin-top: 40px; } .topic-content .breadcrumb { - font-size: 14px; - line-height: 18px; - font-weight: 600; + font-size: 14px; + line-height: 18px; + font-weight: 600; } .topic-content .breadcrumb a { - color: #283241; + color: #283241; } .topic-content .breadcrumb a:hover { - color: #dd4d50; - text-decoration: underline; + color: #dd4d50; + text-decoration: underline; } .topic-content .breadcrumb .breadcrumb-node { - color: #dd4d50; + color: #dd4d50; } main article { - margin-bottom: 0; - padding: 0; + margin-bottom: 0; + padding: 0; } section > .titlepage .title { - margin: 24px 0 16px 0; + margin: 24px 0 16px 0; } #topic-content > section > .titlepage h2.title { - margin: 0 0 24px; + margin: 0 0 24px; } .image-viewport { - margin: auto; + margin: auto; } .image-viewport img { - margin: 16px auto; + margin: 16px auto; } .pager { - margin-top: 30px; - margin-bottom: 30px; - padding: 0; + margin-top: 30px; + margin-bottom: 30px; + padding: 0; } .pager li > a, .pager li > span { - color: #dd4d50; - font-size: 14px; - font-weight: 600; - line-height: 19px; - text-transform: uppercase; - padding: 0; - background-color: transparent; - border: none; - border-radius: 0; + color: #dd4d50; + font-size: 14px; + font-weight: 600; + line-height: 19px; + text-transform: uppercase; + padding: 0; + background-color: transparent; + border: none; + border-radius: 0; } .pager li > a:hover, .pager li > span:hover { - text-decoration: underline; - background-color: transparent; - color: #dd4d50; + text-decoration: underline; + background-color: transparent; + color: #dd4d50; } .warning, @@ -484,241 +484,230 @@ section > .titlepage .title { .important, .caution, .tip { - margin-top: 32px; - margin-bottom: 32px; - padding: 16px 24px 16px 68px; - background-color: #fff; - border-left: 4px solid #dd4d50; - border-radius: 4px; + margin-top: 32px; + margin-bottom: 32px; + padding: 16px 24px 16px 68px; + background-color: #fff; + border-left: 4px solid #dd4d50; + border-radius: 4px; } .warning:before, .note:before, .important:before, .caution:before, .tip:before { - color: #dd4d50; - width: 20px; - height: 20px; - text-align: center; - left: 24px; - top: calc(50% - 15px); + color: #dd4d50; + width: 20px; + height: 20px; + text-align: center; + left: 24px; + top: calc(50% - 15px); } .warning h3, .note h3, .important h3, .caution h3, .tip h3 { - padding: 0; - font-size: 18px; - font-weight: 600; - line-height: 24px; - margin-bottom: 8px; + padding: 0; + font-size: 18px; + font-weight: 600; + line-height: 24px; + margin-bottom: 8px; } .warning p, .note p, .important p, .caution p, .tip p { - line-height: 20px; + line-height: 20px; } .topic-content > section > p { - margin: 12px 0; + margin: 12px 0; } .panel { - padding: 12px 0; - border-radius: 4px; - border: none; + padding: 12px 0; + border-radius: 4px; + border: none; } .panel .panel-body > p { - margin-bottom: 12px; + margin-bottom: 12px; } .panel .panel-body > p:not(:first-of-type) { - margin-top: 18px; + margin-top: 18px; } .mediaobject { - margin-top: 20px; + margin-top: 20px; } .mediaobject img { - border-radius: 4px; - margin: 0; - box-shadow: 0 3px 12px 5px rgba(40, 50, 65, 0.14); + border-radius: 4px; + margin: 0; + box-shadow: 0 3px 12px 5px rgba(40, 50, 65, 0.14); } .mediaobject .caption > p { - font-size: 14px; - text-align: center; - font-style: italic; - margin: 0; + font-size: 14px; + text-align: center; + font-style: italic; + margin: 0; } .inlinemediaobject { - vertical-align: unset; + vertical-align: unset; } main ol, main ul { - margin: 0 0 24px; + margin: 0 0 24px; } .section-toc { - padding: 24px 40px; - border: 1px solid #e2e4e9; - width: 100%; - margin: 0; - background-color: #fff; - border-radius: 4px; + padding: 24px 40px; + border: 1px solid #e2e4e9; + width: 100%; + margin: 0; + background-color: #fff; + border-radius: 4px; } .section-toc:first-child { - grid-column: 1 / span 2; + grid-column: 1/span 2; } .section-toc h4.featured-title, .section-toc .section-toc-title { - font-size: 28px; - font-weight: 300; - line-height: 36px; - margin: 0; + font-size: 28px; + font-weight: 300; + line-height: 36px; + margin: 0; } .section-toc h4.featured-title a, .section-toc .section-toc-title a { - color: #283241; + color: #283241; } .section-toc h4.featured-title a:hover, .section-toc .section-toc-title a:hover { - color: #283241; - text-decoration: underline; + color: #283241; + text-decoration: underline; } .section-toc ul { - margin: 0; - padding: 0; + margin: 0; + padding: 0; } .section-toc li { - margin: 4px 0; + margin: 4px 0; } .section-toc li:first-child { - margin-top: 20px; + margin-top: 20px; } .section-toc li:last-child { - margin-bottom: 40px; + margin-bottom: 40px; } .section-toc li a { - color: #dd4d50; - font-size: 16px; - line-height: 24px; + color: #dd4d50; + font-size: 16px; + line-height: 24px; } .section-toc li a:hover { - color: #dd4d50; - text-decoration: underline; + color: #dd4d50; + text-decoration: underline; } .section-toc h4 span, .section-toc li::before { - display: none; + display: none; } .section-toc li:first-child { - margin-top: 16px; + margin-top: 16px; } .section-toc li:last-child { - margin-bottom: 8px; + margin-bottom: 8px; } .procedure > li.step::before { - background-color: transparent; - border: 1px solid #dd4d50; - color: #dd4d50; - line-height: 23px; + background-color: transparent; + border: 1px solid #dd4d50; + color: #dd4d50; + line-height: 23px; } .question { - font-weight: 600; + font-weight: 600; } .question > td > p { - margin: 32px 0 18px 0; + margin: 32px 0 18px 0; } .question > td:first-child { - padding-right: 4px; + padding-right: 4px; } .fixed-toolbar article.topic :target.question:before { - content: none; + content: none; } body { - color: #283241; - background-color: #f5f5f7; - font-family: 'Open Sans', sans-serif; - scrollbar-color: var(--iqser-quick-filter-border) var(--iqser-grey-2); - scrollbar-width: thin; - /* Track */ - /* Handle */ + color: #283241; + background-color: #f5f5f7; + font-family: "Open Sans", sans-serif; + scrollbar-color: var(--iqser-quick-filter-border) var(--iqser-grey-2); + scrollbar-width: thin; + /* Track */ + /* Handle */ } -body h1, -body .h1, -body h2, -body .h2, -body h3, -body .h3, -body h4, -body .h4, -body h5, -body .h5, -body h6, -body .h6, +body h1, body .h1, +body h2, body .h2, +body h3, body .h3, +body h4, body .h4, +body h5, body .h5, +body h6, body .h6, body p, body pre { - margin: 0; - font-family: 'Open Sans', sans-serif; + margin: 0; + font-family: "Open Sans", sans-serif; } body::-webkit-scrollbar { - width: 11px; + width: 11px; } body::-webkit-scrollbar-track { - background: var(--iqser-grey-2); + background: var(--iqser-grey-2); } body::-webkit-scrollbar-thumb { - background: var(--iqser-quick-filter-border); + background: var(--iqser-quick-filter-border); } -body h1, -body .h1 { - font-size: 64px; - font-weight: 300; - line-height: 87px; +body h1, body .h1 { + font-size: 64px; + font-weight: 300; + line-height: 87px; } -body h2, -body .h2 { - font-size: 42px; - font-weight: 300; - line-height: 57px; +body h2, body .h2 { + font-size: 42px; + font-weight: 300; + line-height: 57px; } -body h3, -body .h3 { - font-size: 32px; - font-weight: 300; - line-height: 43px; +body h3, body .h3 { + font-size: 32px; + font-weight: 300; + line-height: 43px; } -body h4, -body .h4 { - font-size: 28px; - font-weight: 300; - line-height: 36px; +body h4, body .h4 { + font-size: 28px; + font-weight: 300; + line-height: 36px; } -body h5, -body .h5 { - font-size: 18px; - font-weight: 600; - line-height: 24px; +body h5, body .h5 { + font-size: 18px; + font-weight: 600; + line-height: 24px; } body p { - font-size: 16px; - line-height: 24px; + font-size: 16px; + line-height: 24px; } body a { - color: #dd4d50; + color: #dd4d50; } body a:hover { - text-decoration: underline; - color: #dd4d50; + text-decoration: underline; + color: #dd4d50; } body a:focus { - color: #dd4d50; + color: #dd4d50; } From c963e22fb2356af3de3d73fbb479f3f1c1a63f78 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Wed, 26 Jan 2022 19:14:19 +0200 Subject: [PATCH 211/260] update common-ui --- libs/common-ui | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/common-ui b/libs/common-ui index 47dc55206..b65ad23aa 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit 47dc55206bdea193eec78b021e04ccbaaf5b6915 +Subproject commit b65ad23aaa3ed5ece6242c2b3b569322d275e93e From 2b52874be28b581938885dc76256d32351dfa89f Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 26 Jan 2022 18:18:08 +0100 Subject: [PATCH 212/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 42a93e1a9..ac5e340d9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.184.0", + "version": "3.185.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 1293b3747e2389579cbf5f7a8f731ea6427f8372..b74dfc9de467b1a2cd4a7beb80a2610a9e43bc3b 100644 GIT binary patch delta 3126 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 Q?HAkr5C3!A_W)1;0IVS!kN^Mx delta 3127 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 Rx&30>{{c`~>hJ(i001 Date: Tue, 25 Jan 2022 17:51:00 +0200 Subject: [PATCH 213/260] add resize action to recommendations --- apps/red-ui/src/app/models/file/annotation.permissions.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/models/file/annotation.permissions.ts b/apps/red-ui/src/app/models/file/annotation.permissions.ts index a6ad75177..1431b3e0c 100644 --- a/apps/red-ui/src/app/models/file/annotation.permissions.ts +++ b/apps/red-ui/src/app/models/file/annotation.permissions.ts @@ -44,7 +44,9 @@ export class AnnotationPermissions { permissions.canRecategorizeImage = (annotation.isImage && !annotation.isSuggestion) || annotation.isSuggestionRecategorizeImage; permissions.canResizeAnnotation = - ((annotation.isRedacted || annotation.isImage) && !annotation.isSuggestion) || annotation.isSuggestionResize; + ((annotation.isRedacted || annotation.isImage) && !annotation.isSuggestion) || + annotation.isSuggestionResize || + annotation.isRecommendation; summedPermissions._merge(permissions); } From a6ca95e7f0bc3f7e773d0f5556e5802a230ddde0 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Wed, 26 Jan 2022 18:37:04 +0200 Subject: [PATCH 214/260] use dialog to change dictionary when accepting a recommendation --- .../manual-annotation-dialog.component.ts | 35 ++----- .../annotation-actions.component.html | 2 +- .../annotation-actions.component.ts | 36 ++++++- ...ccept-recommendation-dialog.component.html | 43 +++++++++ .../accept-recommendation-dialog.component.ts | 94 +++++++++++++++++++ .../file-preview.module.ts | 2 + .../services/annotation-actions.service.ts | 21 +++-- .../services/manual-annotation.service.ts | 14 +-- .../red-ui/src/app/state/app-state.service.ts | 24 +++++ 9 files changed, 227 insertions(+), 44 deletions(-) create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.html create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts index 5f813eca6..593e776ab 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/manual-redaction-dialog/manual-annotation-dialog.component.ts @@ -7,7 +7,7 @@ import { ManualAnnotationService } from '../../services/manual-annotation.servic import { ManualAnnotationResponse } from '@models/file/manual-annotation-response'; import { PermissionsService } from '@services/permissions.service'; import { JustificationsService } from '@services/entity-services/justifications.service'; -import { Dictionary, Dossier, File, IAddRedactionRequest } from '@red/domain'; +import { Dictionary, Dossier, File, IAddRedactionRequest, IManualAddResponse } from '@red/domain'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { DictionaryService } from '@shared/services/dictionary.service'; import { BaseDialogComponent } from '@iqser/common-ui'; @@ -75,7 +75,10 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme async ngOnInit() { super.ngOnInit(); - this.possibleDictionaries = await this._getPossibleDictionaries(); + this.possibleDictionaries = await this._appStateService.getDictionariesOptions( + this._dossier.dossierTemplateId, + this._dossier.dossierId, + ); const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this._dossier.dossierTemplateId)); this.legalOptions = data.map(lbm => ({ legalBasis: lbm.reason, @@ -89,7 +92,8 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme save() { this._enhanceManualRedaction(this.data.manualRedactionEntryWrapper.manualRedactionEntry); this._manualAnnotationService.addAnnotation(this.data.manualRedactionEntryWrapper.manualRedactionEntry, this.data.file).subscribe( - response => this._dialogRef.close(new ManualAnnotationResponse(this.data.manualRedactionEntryWrapper, response)), + (response: IManualAddResponse) => + this._dialogRef.close(new ManualAnnotationResponse(this.data.manualRedactionEntryWrapper, response)), () => this._dialogRef.close(), ); } @@ -102,31 +106,6 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme ); } - private async _getPossibleDictionaries(): Promise { - const possibleDictionaries: Dictionary[] = []; - const dossier = this._dossier; - - const dossierDictionary = await firstValueFrom( - this._dictionaryService.getForType(dossier.dossierTemplateId, 'dossier_redaction', dossier.dossierId), - ); - - for (const key of Object.keys(this._appStateService.dictionaryData[dossier.dossierTemplateId])) { - const dictionaryData = this._appStateService.getDictionary(key, dossier.dossierTemplateId); - if (!dictionaryData.virtual && dictionaryData.addToDictionaryAction) { - possibleDictionaries.push(dictionaryData); - } - } - - if (dossierDictionary.addToDictionaryAction) { - // TODO fix this in the backend - possibleDictionaries.push(new Dictionary({ ...dossierDictionary, type: 'dossier_redaction' })); - } - - possibleDictionaries.sort((a, b) => a.label.localeCompare(b.label)); - - return possibleDictionaries; - } - private _getForm(): FormGroup { return this._formBuilder.group({ section: [null], diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index c3d7d4599..27d8236ef 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -42,7 +42,7 @@ > 1) { + this.annotationActionsService.convertRecommendationToAnnotation($event, this.annotations, this.file, this.annotationsChanged); + } + + const dialogRef = this._dialog.open( + AcceptRecommendationDialogComponent, + { autoFocus: true, data: { annotation: this.annotations[0], file: this.file } }, + ); + const dialogClosed = dialogRef.afterClosed().pipe(filter(value => !!value && !!value.annotation)); + dialogClosed.subscribe(({ annotation, comment: commentText }) => { + const comment = commentText ? { text: commentText } : undefined; + this.annotationActionsService.convertRecommendationToAnnotation( + $event, + [annotation], + this.file, + this.annotationsChanged, + comment, + ); + }); + } + hideAnnotation($event: MouseEvent) { $event.stopPropagation(); this.viewer.Core.annotationManager.hideAnnotations(this.viewerAnnotations); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.html new file mode 100644 index 000000000..34bd8655a --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.html @@ -0,0 +1,43 @@ +
+ +
+ +
+
+ +
+ {{ format(data.annotation.value) }} + +
+ + + + {{ displayedDictionaryLabel }} + + + {{ dictionary.label }} + + + +
+ +
+ + +
+
+ +
+ +
+ + + +
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts new file mode 100644 index 000000000..0c62e03fd --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts @@ -0,0 +1,94 @@ +import { Component, Inject, Injector, OnInit } from '@angular/core'; +import { FormBuilder, FormGroup, Validators } from '@angular/forms'; +import { AppStateService } from '@state/app-state.service'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { PermissionsService } from '@services/permissions.service'; +import { Dictionary, Dossier, File } from '@red/domain'; +import { DossiersService } from '@services/entity-services/dossiers.service'; +import { BaseDialogComponent } from '@iqser/common-ui'; +import { DictionaryService } from '@shared/services/dictionary.service'; +import { ManualAnnotationService } from '../../../../services/manual-annotation.service'; +import { AnnotationWrapper } from '../../../../../../models/file/annotation.wrapper'; + +export interface AcceptRecommendationData { + readonly annotation: AnnotationWrapper; + readonly file: File; +} + +export interface AcceptRecommendationReturnType { + readonly annotation: AnnotationWrapper; + readonly comment: string; +} + +@Component({ + templateUrl: './accept-recommendation-dialog.component.html', +}) +export class AcceptRecommendationDialogComponent extends BaseDialogComponent implements OnInit { + isDocumentAdmin: boolean; + + possibleDictionaries: Dictionary[] = []; + + private readonly _dossier: Dossier; + + constructor( + private readonly _appStateService: AppStateService, + private readonly _formBuilder: FormBuilder, + private readonly _manualAnnotationService: ManualAnnotationService, + private readonly _permissionsService: PermissionsService, + private readonly _dossiersService: DossiersService, + private readonly _dictionaryService: DictionaryService, + protected readonly _injector: Injector, + protected readonly _dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) readonly data: AcceptRecommendationData, + ) { + super(_injector, _dialogRef); + this._dossier = this._dossiersService.find(this.data.file.dossierId); + this.isDocumentAdmin = this._permissionsService.isApprover(this._dossier); + this.form = this._getForm(); + this.initialFormValue = this.form.getRawValue(); + } + + get displayedDictionaryLabel() { + const dictType = this.form.get('dictionary').value as string; + if (dictType && this.possibleDictionaries.length) { + return this.possibleDictionaries.find(d => d.type === dictType).label; + } + return null; + } + + async ngOnInit() { + super.ngOnInit(); + this.possibleDictionaries = await this._appStateService.getDictionariesOptions( + this._dossier.dossierTemplateId, + this._dossier.dossierId, + ); + this.form.patchValue({ + dictionary: this.possibleDictionaries.find(dict => dict.type === this.data.annotation.recommendationType).type, + }); + } + + save() { + const recommendationType = this.form.get('dictionary').value; + const annotation = Object.assign({}, this.data.annotation); + annotation.recommendationType = recommendationType; + this._dialogRef.close({ + annotation, + comment: this.form.get('comment').value as string, + }); + } + + format(value: string) { + return value.replace( + // eslint-disable-next-line no-control-regex,max-len + /([^\s\d-]{2,})[-\u00AD]\u000D\u000A|[\u000A\u000B\u000C\u000D\u0085\u2028\u2029]/gi, + '$1', + ); + } + + private _getForm(): FormGroup { + return this._formBuilder.group({ + dictionary: [Validators.required], + comment: [null], + }); + } +} diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts index 6e9c902ae..bd73b422f 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts @@ -19,6 +19,7 @@ import { TypeAnnotationIconComponent } from './components/type-annotation-icon/t import { OverlayModule } from '@angular/cdk/overlay'; import { ViewSwitchComponent } from './components/view-switch/view-switch.component'; import { UserManagementComponent } from './components/user-management/user-management.component'; +import { AcceptRecommendationDialogComponent } from './dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component'; const routes: Routes = [ { @@ -44,6 +45,7 @@ const routes: Routes = [ TypeAnnotationIconComponent, ViewSwitchComponent, UserManagementComponent, + AcceptRecommendationDialogComponent, ], imports: [ RouterModule.forChild(routes), diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-actions.service.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-actions.service.ts index e02e796cd..0a33bd58c 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-actions.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-actions.service.ts @@ -184,11 +184,16 @@ export class AnnotationActionsService { annotations: AnnotationWrapper[], file: File, annotationsChanged: EventEmitter, + comment?: { text: string }, ) { $event?.stopPropagation(); annotations.forEach(annotation => { - this._processObsAndEmit(this._manualAnnotationService.addRecommendation(annotation, file), annotation, annotationsChanged); + this._processObsAndEmit( + this._manualAnnotationService.addRecommendation(annotation, file, comment), + annotation, + annotationsChanged, + ); }); } @@ -486,15 +491,19 @@ export class AnnotationActionsService { return this._dossiersService.find(file.dossierId); } - private _processObsAndEmit(obs: Observable, annotation: AnnotationWrapper, annotationsChanged: EventEmitter) { - obs.subscribe( - () => { + private _processObsAndEmit( + obs: Observable, + annotation: AnnotationWrapper, + annotationsChanged: EventEmitter, + ) { + obs.subscribe({ + next: () => { annotationsChanged.emit(annotation); }, - () => { + error: () => { annotationsChanged.emit(); }, - ); + }); } private _getFalsePositiveText(annotation: AnnotationWrapper) { diff --git a/apps/red-ui/src/app/modules/dossier/services/manual-annotation.service.ts b/apps/red-ui/src/app/modules/dossier/services/manual-annotation.service.ts index e633cfb30..4bd24fd9e 100644 --- a/apps/red-ui/src/app/modules/dossier/services/manual-annotation.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/manual-annotation.service.ts @@ -60,9 +60,9 @@ export class ManualAnnotationService extends GenericService : this[this.CONFIG[mode]](body, secondParam, file.dossierId, file.id); return obs.pipe( - tap( - () => this._toaster.success(this._getMessage(mode, modifyDictionary), { positionClass: 'toast-file-preview' }), - (error: HttpErrorResponse) => { + tap({ + next: () => this._toaster.success(this._getMessage(mode, modifyDictionary), { positionClass: 'toast-file-preview' }), + error: (error: HttpErrorResponse) => { const isConflict = error.status === HttpStatusCode.Conflict; this._toaster.error(this._getMessage(mode, modifyDictionary, true, isConflict), { error, @@ -73,7 +73,7 @@ export class ManualAnnotationService extends GenericService positionClass: 'toast-file-preview', }); }, - ), + }), ); } @@ -89,15 +89,15 @@ export class ManualAnnotationService extends GenericService return super.delete({}, url); } - addRecommendation(annotation: AnnotationWrapper, file: File) { + addRecommendation(annotation: AnnotationWrapper, file: File, comment = { text: 'Accepted Recommendation' }) { const manualRedactionEntry: IAddRedactionRequest = {}; manualRedactionEntry.addToDictionary = true; // set the ID as reason, so we can hide the suggestion - manualRedactionEntry.reason = annotation.id; + manualRedactionEntry.reason = annotation.annotationId; manualRedactionEntry.value = annotation.value; manualRedactionEntry.positions = annotation.positions; manualRedactionEntry.type = annotation.recommendationType; - manualRedactionEntry.comment = { text: 'Accepted Recommendation' }; + manualRedactionEntry.comment = comment; return this.addAnnotation(manualRedactionEntry, file); } diff --git a/apps/red-ui/src/app/state/app-state.service.ts b/apps/red-ui/src/app/state/app-state.service.ts index 4eb1bc5f6..8a313372b 100644 --- a/apps/red-ui/src/app/state/app-state.service.ts +++ b/apps/red-ui/src/app/state/app-state.service.ts @@ -46,6 +46,30 @@ export class AppStateService { : undefined; } + async getDictionariesOptions(dossierTemplateId: string, dossierId: string): Promise { + const possibleDictionaries: Dictionary[] = []; + + const dossierDictionary = await firstValueFrom( + this._dictionaryService.getForType(dossierTemplateId, 'dossier_redaction', dossierId), + ); + + for (const key of Object.keys(this.dictionaryData[dossierTemplateId])) { + const dictionaryData = this.getDictionary(key, dossierTemplateId); + if (!dictionaryData.virtual && dictionaryData.addToDictionaryAction) { + possibleDictionaries.push(dictionaryData); + } + } + + if (dossierDictionary.addToDictionaryAction) { + // TODO fix this in the backend + possibleDictionaries.push(new Dictionary({ ...dossierDictionary, type: 'dossier_redaction' })); + } + + possibleDictionaries.sort((a, b) => a.label.localeCompare(b.label)); + + return possibleDictionaries; + } + getDictionaryColor(type: string, dossierTemplateId: string) { return !this._dictionaryData ? '#cccccc' From 125a9a2cb06947ecc3a6a2713db5317be6eb19ca Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Wed, 26 Jan 2022 19:20:53 +0200 Subject: [PATCH 215/260] accept multiple recommendations --- .../annotation-actions.component.ts | 14 +- ...ccept-recommendation-dialog.component.html | 8 +- .../accept-recommendation-dialog.component.ts | 11 +- apps/red-ui/src/assets/i18n/de.json | 795 ++++++++++++++---- apps/red-ui/src/assets/i18n/en.json | 4 + 5 files changed, 653 insertions(+), 179 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.ts index bec0f797d..cbd260867 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.ts @@ -6,7 +6,7 @@ import { AnnotationActionsService } from '../../services/annotation-actions.serv import { WebViewerInstance } from '@pdftron/webviewer'; import { UserService } from '@services/user.service'; import { Dossier, File } from '@red/domain'; -import { Required } from '@iqser/common-ui'; +import { defaultDialogConfig, Required } from '@iqser/common-ui'; import { DossiersService } from '@services/entity-services/dossiers.service'; import { MatDialog } from '@angular/material/dialog'; import { @@ -103,20 +103,16 @@ export class AnnotationActionsComponent implements OnChanges { } acceptRecommendation($event: MouseEvent) { - if (this.annotations.length > 1) { - this.annotationActionsService.convertRecommendationToAnnotation($event, this.annotations, this.file, this.annotationsChanged); - } - const dialogRef = this._dialog.open( AcceptRecommendationDialogComponent, - { autoFocus: true, data: { annotation: this.annotations[0], file: this.file } }, + { ...defaultDialogConfig, autoFocus: true, data: { annotations: this.annotations, file: this.file } }, ); - const dialogClosed = dialogRef.afterClosed().pipe(filter(value => !!value && !!value.annotation)); - dialogClosed.subscribe(({ annotation, comment: commentText }) => { + const dialogClosed = dialogRef.afterClosed().pipe(filter(value => !!value && !!value.annotations)); + dialogClosed.subscribe(({ annotations, comment: commentText }) => { const comment = commentText ? { text: commentText } : undefined; this.annotationActionsService.convertRecommendationToAnnotation( $event, - [annotation], + annotations, this.file, this.annotationsChanged, comment, diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.html index 34bd8655a..dfdbdfc8d 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.html @@ -4,9 +4,13 @@
- +
- {{ format(data.annotation.value) }} + {{ + data.annotations.length === 1 + ? format(data.annotations[0].value) + : ('accept-recommendation-dialog.multiple-values' | translate) + }}
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts index 0c62e03fd..32392f6c8 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component.ts @@ -11,12 +11,12 @@ import { ManualAnnotationService } from '../../../../services/manual-annotation. import { AnnotationWrapper } from '../../../../../../models/file/annotation.wrapper'; export interface AcceptRecommendationData { - readonly annotation: AnnotationWrapper; + readonly annotations: AnnotationWrapper[]; readonly file: File; } export interface AcceptRecommendationReturnType { - readonly annotation: AnnotationWrapper; + readonly annotations: AnnotationWrapper[]; readonly comment: string; } @@ -63,16 +63,15 @@ export class AcceptRecommendationDialogComponent extends BaseDialogComponent imp this._dossier.dossierId, ); this.form.patchValue({ - dictionary: this.possibleDictionaries.find(dict => dict.type === this.data.annotation.recommendationType).type, + dictionary: this.possibleDictionaries.find(dict => dict.type === this.data.annotations[0].recommendationType).type, }); } save() { const recommendationType = this.form.get('dictionary').value; - const annotation = Object.assign({}, this.data.annotation); - annotation.recommendationType = recommendationType; + this.data.annotations.forEach(a => (a.recommendationType = recommendationType)); this._dialogRef.close({ - annotation, + annotations: this.data.annotations, comment: this.form.get('comment').value as string, }); } diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 074e962fe..262c2d514 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -1,17 +1,29 @@ { "account-settings": "Account Einstellungen", - "actions": { "all": "Alle", "none": "Keine" }, + "actions": { + "all": "Alle", + "none": "Keine" + }, "active": "Aktiv", "add-dossier-dialog": { - "actions": { "save": "Speichern", "save-and-add-members": "Speichern und Team zusammenstellen" }, + "actions": { + "save": "Speichern", + "save-and-add-members": "Speichern und Team zusammenstellen" + }, "errors": { "dossier-already-exists": "Dieser Dossier-Name ist bereits vergeben!", "generic": "Dossier konnte nicht gespeichert werden." }, "form": { - "description": { "label": "Beschreibung", "placeholder": "Bitte geben Sie eine Beschreibung ein." }, + "description": { + "label": "Beschreibung", + "placeholder": "Bitte geben Sie eine Beschreibung ein." + }, "due-date": "Termin", - "name": { "label": "Dossier-Name", "placeholder": "Geben Sie einen Namen ein." }, + "name": { + "label": "Dossier-Name", + "placeholder": "Geben Sie einen Namen ein." + }, "template": "Dossier-Vorlage", "watermark": "Geschwärzte Dokumente mit Wasserzeichen versehen", "watermark-preview": "Vorschau Dokumente mit Wasserzeichen versehen" @@ -44,7 +56,9 @@ "title": "{type, select, edit{Wörterbuch {name} bearbeiten} create{Wörterbuch erstellen} other{}}" }, "add-edit-dossier-attribute": { - "error": { "generic": "Attribut konnte nicht gespeichert werden!" }, + "error": { + "generic": "Attribut konnte nicht gespeichert werden!" + }, "form": { "label": "Name des Attributs", "label-placeholder": "Namen eingeben", @@ -88,7 +102,10 @@ "title": "{type, select, edit{Edit {name}} create{Add New} other{}} Datei-Attribut" }, "add-edit-justification": { - "actions": { "cancel": "Abbrechen", "save": "Begründung speichern" }, + "actions": { + "cancel": "Abbrechen", + "save": "Begründung speichern" + }, "form": { "description": "Beschreibung", "description-placeholder": "Beschreibung eingeben", @@ -119,14 +136,27 @@ }, "title": "{type, select, edit{Benutzer bearbeiten} create{Neuen Benutzer hinzufügen} other{}}" }, - "admin-side-nav": { "dossier-templates": "Dossier-Vorlage", "settings": "Einstellungen" }, + "admin-side-nav": { + "dossier-templates": "Dossier-Vorlage", + "settings": "Einstellungen" + }, "annotation": "Anmerkung", "annotation-actions": { - "accept-recommendation": { "label": "Empfehlung annehmen" }, - "accept-suggestion": { "label": "Genehmigen und zum Wörterbuch hinzufügen" }, - "edit-reason": { "label": "Begründung bearbeiten" }, - "force-hint": { "label": "Hinweis erzwingen" }, - "force-redaction": { "label": "Schwärzung erzwingen" }, + "accept-recommendation": { + "label": "Empfehlung annehmen" + }, + "accept-suggestion": { + "label": "Genehmigen und zum Wörterbuch hinzufügen" + }, + "edit-reason": { + "label": "Begründung bearbeiten" + }, + "force-hint": { + "label": "Hinweis erzwingen" + }, + "force-redaction": { + "label": "Schwärzung erzwingen" + }, "hide": "Ausblenden", "message": { "dictionary": { @@ -143,28 +173,52 @@ "error": "Fehler beim Ablehnen des neuen Wörterbucheintrags: {error}", "success": "Vorschlag für das Wörterbuch abgelehnt." }, - "remove": { "error": "Fehler beim Entfernen des Wörterbucheintrags: {error}", "success": "Wörterbucheintrag wurde gelöscht!" }, - "request-remove": { "error": "Dossier-Vorlage", "success": "Löschung des Wörterbucheintrags wurde vorgeschlagen!" }, + "remove": { + "error": "Fehler beim Entfernen des Wörterbucheintrags: {error}", + "success": "Wörterbucheintrag wurde gelöscht!" + }, + "request-remove": { + "error": "Dossier-Vorlage", + "success": "Löschung des Wörterbucheintrags wurde vorgeschlagen!" + }, "suggest": { "error": "Vorschlag für Änderung des Wörterbuchs konnte nicht gespeichert werden: {error}", "success": "Vorschlag für die Änderung des Wörterbuchs gespeichert!" }, - "undo": { "error": "Die Aktion konnte nicht rückgängig gemacht werden. Fehler: {error}", "success": "Rückgängigmachen erfolgreich" } + "undo": { + "error": "Die Aktion konnte nicht rückgängig gemacht werden. Fehler: {error}", + "success": "Rückgängigmachen erfolgreich" + } }, "manual-redaction": { - "add": { "error": "Fehler beim Speichern der Schwärzung: {error}", "success": "Schwärzung hinzugefügt!" }, - "approve": { "error": "Fehler beim Genehmigen des Vorschlags: {error}", "success": "Vorschlag genehmigt" }, + "add": { + "error": "Fehler beim Speichern der Schwärzung: {error}", + "success": "Schwärzung hinzugefügt!" + }, + "approve": { + "error": "Fehler beim Genehmigen des Vorschlags: {error}", + "success": "Vorschlag genehmigt" + }, "change-legal-basis": { "error": "Fehler beim Bearbeiten der in der Anmerkung genannten Begründung: {error}", "success": "In der Anmerkung genannte Begründung wurde bearbeitet." }, - "decline": { "error": "Fehler beim Ablehnen des Vorschlags: {error}", "success": "Vorschlag abgelehnt" }, - "force-redaction": { "error": "Die Schwärzung konnte nicht gespeichert werden!", "success": "Schwärzung eingefügt!" }, + "decline": { + "error": "Fehler beim Ablehnen des Vorschlags: {error}", + "success": "Vorschlag abgelehnt" + }, + "force-redaction": { + "error": "Die Schwärzung konnte nicht gespeichert werden!", + "success": "Schwärzung eingefügt!" + }, "recategorize-image": { "error": "Rekategorisierung des Bildes gescheitert: {error}", "success": "Bild wurde einer neuen Kategorie zugeordnet." }, - "remove": { "error": "Fehler beim Entfernen der Schwärzung: {error}", "success": "Schwärzung entfernt!" }, + "remove": { + "error": "Fehler beim Entfernen der Schwärzung: {error}", + "success": "Schwärzung entfernt!" + }, "request-change-legal-basis": { "error": "Fehler beim Vorschlagen der Änderung der Begründung:", "success": "Die Änderung der in der Anmerkung genannten Begründung wurde beantragt." @@ -198,9 +252,15 @@ "only-here": "nur hier entfernen", "remove-from-dict": "Aus dem Wörterbuch entfernen" }, - "resize-accept": { "label": "Größe speichern" }, - "resize-cancel": { "label": "Größenänderung abbrechen" }, - "resize": { "label": "Größe ändern" }, + "resize-accept": { + "label": "Größe speichern" + }, + "resize-cancel": { + "label": "Größenänderung abbrechen" + }, + "resize": { + "label": "Größe ändern" + }, "show": "Zeigen", "undo": "Rückgängig" }, @@ -255,7 +315,10 @@ "title": "Datei verwalten: {type, select, approver{Genehmiger} reviewer{Reviewer} other{}}" } }, - "assign-user": { "cancel": "Abbrechen", "save": "Speichern" }, + "assign-user": { + "cancel": "Abbrechen", + "save": "Speichern" + }, "assignment": { "owner": "{ownerName} wurde erfolgreich zum Dossier {dossierName} hinzugefügt.", "reviewer": "{reviewerName} wurde erfolgreich zum Dokument {filename} hinzugefügt." @@ -277,9 +340,18 @@ "project-template": "Projekt-Vorlage", "user": "Nutzer" }, - "no-data": { "title": "Keine Protokolle verfügbar." }, - "table-col-names": { "category": "Kategorie", "date": "Datum", "message": "Nachricht", "user": "Nutzer" }, - "table-header": { "title": "{length} {length, plural, one{Log} other{Logs}}" }, + "no-data": { + "title": "Keine Protokolle verfügbar." + }, + "table-col-names": { + "category": "Kategorie", + "date": "Datum", + "message": "Nachricht", + "user": "Nutzer" + }, + "table-header": { + "title": "{length} {length, plural, one{Log} other{Logs}}" + }, "to": "bis" }, "auth-error": { @@ -291,7 +363,10 @@ }, "by": "von", "change-legal-basis-dialog": { - "actions": { "cancel": "Abbrechen", "save": "Änderungen speichern" }, + "actions": { + "cancel": "Abbrechen", + "save": "Änderungen speichern" + }, "content": { "classification": "Wert / Klassifizierung", "comment": "Kommentar", @@ -358,7 +433,10 @@ "question": "Möchten Sie dieses Dokument wirklich löschen?", "title": "{dossierName} löschen" }, - "delete-file": { "question": "Möchten Sie fortfahren?", "title": "Dokument löschen" }, + "delete-file": { + "question": "Möchten Sie fortfahren?", + "title": "Dokument löschen" + }, "delete-justification": { "question": "Möchten Sie {count, plural, one{diese Begründung} other{diese Begründung}} wirklich löschen?", "title": "{count, plural, one{{justificationName}} other{ausgewählte Begründungen}} löschen" @@ -387,9 +465,16 @@ "content": "Begründung", "default-colors": "Farbeinstellungen", "default-colors-screen": { - "action": { "edit": "Farbe bearbeiten" }, - "table-col-names": { "color": "Farbe", "key": "Typ" }, - "table-header": { "title": "{length} Standard{length, plural, one{farbe} other{farben}}" }, + "action": { + "edit": "Farbe bearbeiten" + }, + "table-col-names": { + "color": "Farbe", + "key": "Typ" + }, + "table-header": { + "title": "{length} Standard{length, plural, one{farbe} other{farben}}" + }, "types": { "analysisColor": "Analyse", "defaultColor": "Standardfarbe", @@ -407,16 +492,37 @@ "dictionaries": "Wörterbücher", "dictionary": "Wörterbuch", "dictionary-listing": { - "action": { "delete": "Wörterbuch löschen", "edit": "Wörterbuch bearbeiten" }, + "action": { + "delete": "Wörterbuch löschen", + "edit": "Wörterbuch bearbeiten" + }, "add-new": "Neues Wörterbuch", - "bulk": { "delete": "Ausgewählte Wörterbücher löschen" }, + "bulk": { + "delete": "Ausgewählte Wörterbücher löschen" + }, "case-sensitive": "Klein-/Großschreibung berücksichtigen", - "no-data": { "action": "Neues Wörterbuch", "title": "Es gibt noch keine Wörterbücher." }, - "no-match": { "title": "Die ausgewählten Filter treffen auf kein Wörterbuch zu." }, + "no-data": { + "action": "Neues Wörterbuch", + "title": "Es gibt noch keine Wörterbücher." + }, + "no-match": { + "title": "Die ausgewählten Filter treffen auf kein Wörterbuch zu." + }, "search": "Suche ...", - "stats": { "charts": { "entries": "Einträge", "types": "Typen" } }, - "table-col-names": { "hint-redaction": "Hinweis/Schwärzung", "rank": "Rang", "type": "Typ" }, - "table-header": { "title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}" } + "stats": { + "charts": { + "entries": "Einträge", + "types": "Typen" + } + }, + "table-col-names": { + "hint-redaction": "Hinweis/Schwärzung", + "rank": "Rang", + "type": "Typ" + }, + "table-header": { + "title": "{length} {length, plural, one{Wörterbuch} other{Wörterbücher}}" + } }, "dictionary-overview": { "action": { @@ -431,7 +537,9 @@ "select-dossier": "Dossier auswählen", "select-dossier-template": "Dossiervorlage auswählen" }, - "dictionary-details": { "description": "Beschreibung" }, + "dictionary-details": { + "description": "Beschreibung" + }, "error": { "entries-too-short": "Einige Einträge im Wörterbuch unterschreiten die Mindestlänge von 2 Zeichen. Diese sind rot markiert.", "generic": "Es ist ein Fehler aufgetreten ... Das Wörterbuch konnte nicht aktualisiert werden!" @@ -440,7 +548,9 @@ "save-changes": "Änderungen speichern", "search": "Suche ...", "select-dictionary": "Wählen Sie oben das Wörterbuch aus, das Sie mit dem aktuellen Wörterbuch vergleichen möchten.", - "success": { "generic": "Wörterbuch aktualisiert!" } + "success": { + "generic": "Wörterbuch aktualisiert!" + } }, "digital-signature": "Digitale Signatur", "digital-signature-screen": { @@ -454,29 +564,68 @@ "save-error": "Fehler beim Speichern der digitalen Signatur", "save-success": "Digitale Signatur erfolgreich gespeichert" }, - "certificate-name": { "label": "Name des Zertifikats", "placeholder": "Name des Zertifikats" }, - "contact-info": { "label": "Kontaktdaten", "placeholder": "Kontaktdaten" }, - "location": { "label": "Ort", "placeholder": "Ort" }, + "certificate-name": { + "label": "Name des Zertifikats", + "placeholder": "Name des Zertifikats" + }, + "contact-info": { + "label": "Kontaktdaten", + "placeholder": "Kontaktdaten" + }, + "location": { + "label": "Ort", + "placeholder": "Ort" + }, "no-data": { "action": "Zertifikat hochladen", "title": "Es ist kein Zertifikat für die digitale Signatur konfiguriert. Laden Sie ein PCKS#12-Zertifikat hoch, um Ihre geschwärzten Dokumente zu signieren." }, - "password": { "label": "Zertifikatspasswort/-schlüssel", "placeholder": "Passwort" }, - "reason": { "label": "Begründung", "placeholder": "Begründung" } + "password": { + "label": "Zertifikatspasswort/-schlüssel", + "placeholder": "Passwort" + }, + "reason": { + "label": "Begründung", + "placeholder": "Begründung" + } + }, + "document-info": { + "save": "Dokumenteninformation speichern", + "title": "Datei-Attribute anlegen" }, - "document-info": { "save": "Dokumenteninformation speichern", "title": "Datei-Attribute anlegen" }, "dossier": "Dossier", - "dossier-attribute-types": { "date": "Datum", "image": "Bild", "number": "Nummer", "text": "Text" }, + "dossier-attribute-types": { + "date": "Datum", + "image": "Bild", + "number": "Nummer", + "text": "Text" + }, "dossier-attributes": "Dossier-Attribut", "dossier-attributes-listing": { - "action": { "delete": "Attribut löschen", "edit": "Attribut bearbeiten" }, + "action": { + "delete": "Attribut löschen", + "edit": "Attribut bearbeiten" + }, "add-new": "Neues Attribut", - "bulk": { "delete": "Ausgewähltes Attribut löschen" }, - "no-data": { "action": "Neues Attribut", "title": "Es sind keine Dossier-Attribute vorhanden" }, - "no-match": { "title": "Die ausgewählten Filter treffen auf kein Attribut zu." }, + "bulk": { + "delete": "Ausgewähltes Attribut löschen" + }, + "no-data": { + "action": "Neues Attribut", + "title": "Es sind keine Dossier-Attribute vorhanden" + }, + "no-match": { + "title": "Die ausgewählten Filter treffen auf kein Attribut zu." + }, "search": "Suche ...", - "table-col-names": { "label": "Label", "placeholder": "Platzhalter", "type": "Typ" }, - "table-header": { "title": "{length} {length, plural, one{Dossier-Attribut} other{Dossier-Attribute}}" } + "table-col-names": { + "label": "Label", + "placeholder": "Platzhalter", + "type": "Typ" + }, + "table-header": { + "title": "{length} {length, plural, one{Dossier-Attribut} other{Dossier-Attribute}}" + } }, "dossier-details": { "assign-members": "Mitglieder zuweisen", @@ -490,21 +639,53 @@ }, "dossier-listing": { "add-new": "Neues Dossier", - "delete": { "action": "Dossier löschen", "delete-failed": "Das Dossier {dossierName} konnte nicht gelöscht werden" }, - "dossier-info": { "action": "Dossier-Info" }, - "edit": { "action": "Dossier bearbeiten" }, - "filters": { "label": "Dossiername", "search": "Dossiername..." }, - "no-data": { "action": "Neues Dossier", "title": "Sie haben momentan keine Dossiers." }, - "no-match": { "title": "Die ausgewählten Filter treffen auf kein Dossier zu." }, - "quick-filters": { "my-dossiers": "Meine Dossiers", "other": "Sonstige", "to-approve": "Zu Genehmigen", "to-review": "Zu Überprüfen" }, - "reanalyse": { "action": "Gesamtes Dossier analysieren" }, + "delete": { + "action": "Dossier löschen", + "delete-failed": "Das Dossier {dossierName} konnte nicht gelöscht werden" + }, + "dossier-info": { + "action": "Dossier-Info" + }, + "edit": { + "action": "Dossier bearbeiten" + }, + "filters": { + "label": "Dossiername", + "search": "Dossiername..." + }, + "no-data": { + "action": "Neues Dossier", + "title": "Sie haben momentan keine Dossiers." + }, + "no-match": { + "title": "Die ausgewählten Filter treffen auf kein Dossier zu." + }, + "quick-filters": { + "my-dossiers": "Meine Dossiers", + "other": "Sonstige", + "to-approve": "Zu Genehmigen", + "to-review": "Zu Überprüfen" + }, + "reanalyse": { + "action": "Gesamtes Dossier analysieren" + }, "stats": { "analyzed-pages": "Seiten", - "charts": { "dossiers": "Dossiers", "total-documents": "Anzahl der Dokumente" }, + "charts": { + "dossiers": "Dossiers", + "total-documents": "Anzahl der Dokumente" + }, "total-people": "Anzahl der Benutzer" }, - "table-col-names": { "name": "Name", "needs-work": "Arbeitsvorrat", "owner": "Besitzer", "status": "Status" }, - "table-header": { "title": "{length} {length, plural, one{aktives Dossier} other{aktive Dossiers}}" } + "table-col-names": { + "name": "Name", + "needs-work": "Arbeitsvorrat", + "owner": "Besitzer", + "status": "Status" + }, + "table-header": { + "title": "{length} {length, plural, one{aktives Dossier} other{aktive Dossiers}}" + } }, "dossier-overview": { "approve": "Genehmigen", @@ -512,15 +693,22 @@ "assign-approver": "Genehmiger zuordnen", "assign-me": "Mir zuteilen", "assign-reviewer": "Überprüfer zuordnen", - "bulk": { "delete": "Dokumente löschen", "reanalyse": "Dokumente analysieren" }, - "delete": { "action": "Datei löschen" }, + "bulk": { + "delete": "Dokumente löschen", + "reanalyse": "Dokumente analysieren" + }, + "delete": { + "action": "Datei löschen" + }, "dossier-details": { "attributes": { "expand": "{count} {count, plural, one{benutzerdefiniertes Attribut} other{benutzerdefinierte Attribute}}", "image-uploaded": "Bild hochgeladen", "show-less": "weniger anzeigen" }, - "charts": { "documents-in-dossier": "Dokumente im Dossier" }, + "charts": { + "documents-in-dossier": "Dokumente im Dossier" + }, "description": "Beschreibung", "dictionary": "Dossier-Wörterbuch", "stats": { @@ -535,16 +723,35 @@ }, "download-file": "Herunterladen", "download-file-disabled": "Nur genehmigte Dateien können heruntergeladen werden", - "file-listing": { "file-entry": { "file-error": "Reanalyse erforderlich", "file-pending": "Ausstehend ..." } }, - "filters": { "label": "Dokumentname", "search": "Dokumentname..." }, + "file-listing": { + "file-entry": { + "file-error": "Reanalyse erforderlich", + "file-pending": "Ausstehend ..." + } + }, + "filters": { + "label": "Dokumentname", + "search": "Dokumentname..." + }, "header-actions": { "download-csv": "CSV-Dateibericht herunterladen", "edit": "Dossier bearbeiten", "upload-document": "Dokument hochgeladen" }, - "new-rule": { "toast": { "actions": { "reanalyse-all": "Alle analysieren" } } }, - "no-data": { "action": "Dokument hochladen", "title": "Noch gibt es keine Dokumente." }, - "no-match": { "title": "Die ausgewählten Filter treffen auf kein Dokument zu." }, + "new-rule": { + "toast": { + "actions": { + "reanalyse-all": "Alle analysieren" + } + } + }, + "no-data": { + "action": "Dokument hochladen", + "title": "Noch gibt es keine Dokumente." + }, + "no-match": { + "title": "Die ausgewählten Filter treffen auf kein Dokument zu." + }, "ocr-file": "OCR-Dokument", "ocr-performed": "Diese Datei wurde mithilfe von OCR konvertiert.", "quick-filters": { @@ -557,7 +764,9 @@ "error": "Die Dateien konnten nicht für eine Reanalyse eingeplant werden. Bitte versuchen Sie es erneut.", "success": "Dateien für Reanalyse vorgesehen." }, - "reanalyse": { "action": "Datei analysieren" }, + "reanalyse": { + "action": "Datei analysieren" + }, "table-col-names": { "added-on": "Hinzugefügt", "assigned-to": "Zugewiesen an", @@ -566,26 +775,44 @@ "pages": "Seiten", "status": "Status" }, - "table-header": { "title": "{length} {length, plural, one{document} other{documents}}" }, + "table-header": { + "title": "{length} {length, plural, one{document} other{documents}}" + }, "under-approval": "Zur Genehmigung", "under-review": "In Review", "upload-files": "Sie können Dateien überall per Drag and Drop platzieren..." }, "dossier-templates": "Dossier-Vorlagen", "dossier-templates-listing": { - "action": { "delete": "Dossier-Vorlage", "edit": "Vorlage bearbeiten" }, + "action": { + "delete": "Dossier-Vorlage", + "edit": "Vorlage bearbeiten" + }, "add-new": "Neue Dossier-Vorlage", - "bulk": { "delete": "Ausgewählte Dossier-Vorlagen löschen" }, + "bulk": { + "delete": "Ausgewählte Dossier-Vorlagen löschen" + }, "dictionaries": "{length} {length, plural, one{dictionary} other{dictionaries}}", "error": { "conflict": "Dieses DossierTemplate kann nicht gelöscht werden! Zumindest auf Dossier wird diese Vorlage verwendet!", "generic": "Dieses DossierTemplate kann nicht gelöscht werden!" }, - "no-data": { "title": "Es gibt noch keine Dossier-Vorlagen." }, - "no-match": { "title": "Die ausgewählten Filter treffen auf keine Dossier-Vorlage zu." }, + "no-data": { + "title": "Es gibt noch keine Dossier-Vorlagen." + }, + "no-match": { + "title": "Die ausgewählten Filter treffen auf keine Dossier-Vorlage zu." + }, "search": "Suchen ...", - "table-col-names": { "created-by": "Erstellt von", "created-on": "Erstellt am", "modified-on": "Geändert am", "name": "Name" }, - "table-header": { "title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}" } + "table-col-names": { + "created-by": "Erstellt von", + "created-on": "Erstellt am", + "modified-on": "Geändert am", + "name": "Name" + }, + "table-header": { + "title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}" + } }, "download-includes": "Wählen Sie die Dokumente für Ihr Download-Paket aus", "download-status": { @@ -600,24 +827,47 @@ "redacted": "geschwärztes PDF" }, "downloads-list": { - "actions": { "delete": "Löschen", "download": "Herunterladen" }, - "bulk": { "delete": "Ausgewählte Downloads löschen" }, - "no-data": { "title": "Keine aktiven Downloads." }, - "table-col-names": { "date": "Datum", "name": "Name", "size": "Größe", "status": "Status" }, - "table-header": { "title": "{length} {length, plural, one{download} other{downloads}}" } + "actions": { + "delete": "Löschen", + "download": "Herunterladen" + }, + "bulk": { + "delete": "Ausgewählte Downloads löschen" + }, + "no-data": { + "title": "Keine aktiven Downloads." + }, + "table-col-names": { + "date": "Datum", + "name": "Name", + "size": "Größe", + "status": "Status" + }, + "table-header": { + "title": "{length} {length, plural, one{download} other{downloads}}" + } }, "edit-color-dialog": { "error": "Fehler beim Aktualisieren der Farben.", - "form": { "color": "Farbe", "color-placeholder": "Farbe" }, + "form": { + "color": "Farbe", + "color-placeholder": "Farbe" + }, "save": "Speichern", "success": "Farbe erfolgreich aktualisiert auf {color}." }, "edit-dossier-dialog": { - "actions": { "revert": "Rückgängig machen", "save": "Änderungen speichern", "save-and-close": "Speichern" }, + "actions": { + "revert": "Rückgängig machen", + "save": "Änderungen speichern", + "save-and-close": "Speichern" + }, "attributes": { "custom-attributes": "Benutzerdefinierte Dossier-Attribute", "delete-image": "Bild löschen", - "error": { "generic": "Als Bilddossierattribute sind nur PNG-, JPG- und JPEG-Dateien zulässig." }, + "error": { + "generic": "Als Bilddossierattribute sind nur PNG-, JPG- und JPEG-Dateien zulässig." + }, "image-attributes": "Bild-Attribute", "no-custom-attributes": "Es sind keine Text-Attribute vorhanden", "no-image-attributes": "Es sind keine Bild-Attribute vorhanden", @@ -626,10 +876,18 @@ "change-successful": "Dossier wurde aktualisiert.", "delete-successful": "Dossier wurde gelöscht.", "deleted-documents": { - "action": { "delete": "Endgültig löschen", "restore": "Wiederherstellen" }, - "bulk": { "delete": "Ausgewählte Dokumente endgültig löschen", "restore": "Ausgewählte Dokumente wiederherstellen" }, + "action": { + "delete": "Endgültig löschen", + "restore": "Wiederherstellen" + }, + "bulk": { + "delete": "Ausgewählte Dokumente endgültig löschen", + "restore": "Ausgewählte Dokumente wiederherstellen" + }, "instructions": "Gelöschte Objekte können bis zu {hours} Stunden nach ihrer Löschung wiederhergestellt werden", - "no-data": { "title": "Es sind keine gelöschten Dokumente vorhanden." }, + "no-data": { + "title": "Es sind keine gelöschten Dokumente vorhanden." + }, "table-col-names": { "assignee": "Bevollmächtigter", "deleted-on": "Gelöscht am", @@ -638,7 +896,9 @@ "status": "Status", "time-to-restore": "Verbleibende Zeit für Wiederherstellung" }, - "table-header": { "label": "{length} {length, plural, one{gelöschtes Dokument} other{gelöschte Dokumente}}" } + "table-header": { + "label": "{length} {length, plural, one{gelöschtes Dokument} other{gelöschte Dokumente}}" + } }, "dictionary": { "display-name": { @@ -653,9 +913,15 @@ }, "general-info": { "form": { - "description": { "label": "Beschreibung", "placeholder": "Beschreibung eingeben" }, + "description": { + "label": "Beschreibung", + "placeholder": "Beschreibung eingeben" + }, "due-date": "Termin", - "name": { "label": "Dossier-Name", "placeholder": "Namen eingeben" }, + "name": { + "label": "Dossier-Name", + "placeholder": "Namen eingeben" + }, "template": "Dossier-Vorlage", "watermark": "Geschwärzte Dokumente mit Wasserzeichen versehen", "watermark-preview": "Vorschau Dokumente mit Wasserzeichen versehen" @@ -679,11 +945,22 @@ }, "error": { "deleted-entity": { - "dossier": { "action": "Zurück zur Übersicht", "label": "Dieses Dossier wurde gelöscht!" }, - "file-dossier": { "action": "Zurück zur Übersicht", "label": "Das Dossier dieser Datei wurde gelöscht!" }, - "file": { "action": "Zurück zum Dossier", "label": "Diese Datei wurde gelöscht!" } + "dossier": { + "action": "Zurück zur Übersicht", + "label": "Dieses Dossier wurde gelöscht!" + }, + "file-dossier": { + "action": "Zurück zur Übersicht", + "label": "Das Dossier dieser Datei wurde gelöscht!" + }, + "file": { + "action": "Zurück zum Dossier", + "label": "Diese Datei wurde gelöscht!" + } + }, + "http": { + "generic": "Aktion mit Code {status} fehlgeschlagen" }, - "http": { "generic": "Aktion mit Code {status} fehlgeschlagen" }, "offline": "Du bist offline", "online": "Du bist online", "reload": "Neu laden", @@ -691,10 +968,19 @@ }, "exact-date": "{day} {month} {year} um {hour}:{minute} Uhr", "file": "Datei", - "file-attribute-types": { "date": "Datum", "number": "Nummer", "text": "Freier Text" }, + "file-attribute-types": { + "date": "Datum", + "number": "Nummer", + "text": "Freier Text" + }, "file-attributes": "Datei-Attribute", "file-attributes-csv-import": { - "action": { "cancel-edit-name": "Abbrechen", "edit-name": "Namen bearbeiten", "remove": "Entfernen", "save-name": "Speichern" }, + "action": { + "cancel-edit-name": "Abbrechen", + "edit-name": "Namen bearbeiten", + "remove": "Entfernen", + "save-name": "Speichern" + }, "available": "{value} verfügbar", "cancel": "Abbrechen", "csv-column": "CSV-Spalte", @@ -705,17 +991,24 @@ "file": "Datei:", "key-column": "Schlüsselspalte", "key-column-placeholder": "Spalte auswählen ...", - "no-data": { "title": "Keine Datei-Attribute definiert. Wählen Sie links eine Spalte aus, um Datei-Attribute zu definieren." }, + "no-data": { + "title": "Keine Datei-Attribute definiert. Wählen Sie links eine Spalte aus, um Datei-Attribute zu definieren." + }, "no-hovered-column": "Fahren Sie mit der Maus über den Eintrag, um eine Vorschau der CSV-Spalte zu sehen.", "no-sample-data-for": "Keine Beispieldaten für {column}.", "parse-csv": "CSV-Datei mit neuen Optionen parsen", - "quick-activation": { "all": "Alle", "none": "Keine" }, + "quick-activation": { + "all": "Alle", + "none": "Keine" + }, "save": { "error": "Fehler beim Erstellen der Datei-Attribute!", "label": "Attribute speichern", "success": "{count} Datei-{count, plural, one{Attribut} other{Attribute}} erfolgreich erstellt!" }, - "search": { "placeholder": "Nach Spaltennamen suchen ..." }, + "search": { + "placeholder": "Nach Spaltennamen suchen ..." + }, "selected": "{value} ausgewählt", "table-col-names": { "name": "Name", @@ -738,12 +1031,24 @@ "total-rows": "{rows} Zeilen insgesamt" }, "file-attributes-listing": { - "action": { "delete": "Attribut löschen", "edit": "Attribute bearbeiten" }, + "action": { + "delete": "Attribut löschen", + "edit": "Attribute bearbeiten" + }, "add-new": "Neue Attribute", - "bulk-actions": { "delete": "Ausgewählte Attribute löschen" }, - "error": { "conflict": "Es gibt bereits ein Attribute mit diesem Name!", "generic": "Attribute konnte nicht erstellt werden!" }, - "no-data": { "title": "Es sind noch keine Datei-Attribute vorhanden." }, - "no-match": { "title": "Die aktuell ausgewählten Filter treffen auf kein Datei-Attribut zu." }, + "bulk-actions": { + "delete": "Ausgewählte Attribute löschen" + }, + "error": { + "conflict": "Es gibt bereits ein Attribute mit diesem Name!", + "generic": "Attribute konnte nicht erstellt werden!" + }, + "no-data": { + "title": "Es sind noch keine Datei-Attribute vorhanden." + }, + "no-match": { + "title": "Die aktuell ausgewählten Filter treffen auf kein Datei-Attribut zu." + }, "read-only": "Schreibgeschützt", "search": "Nach Attribut-Namen suchen ...", "table-col-names": { @@ -756,7 +1061,9 @@ "read-only": "Schreibgeschützt", "type": "Eingabetyp" }, - "table-header": { "title": "{length} {length, plural, one{Datei-Attribut} other{Datei-Attribute}}" }, + "table-header": { + "title": "{length} {length, plural, one{Datei-Attribut} other{Datei-Attribute}}" + }, "upload-csv": "Datei-Attribute hochladen" }, "file-preview": { @@ -771,8 +1078,13 @@ "excluded-from-redaction": "Von Schwärzung ausgeschlossen", "fullscreen": "Vollbildmodus", "last-reviewer": "Zuletzt überprüft von:", - "no-data": { "title": "Auf dieser Seite gibt es keine Anmerkungen." }, - "quick-nav": { "jump-first": "Zur ersten Seite springen", "jump-last": "Zur letzten Seite springen" }, + "no-data": { + "title": "Auf dieser Seite gibt es keine Anmerkungen." + }, + "quick-nav": { + "jump-first": "Zur ersten Seite springen", + "jump-last": "Zur letzten Seite springen" + }, "reanalyse-notification": "Dieses Dokument wurde nicht auf Basis des neuesten Regel-/Wörterbuchsatzes bearbeitet. Analysieren Sie es jetzt, um die Anmerkungen zu analysieren.", "redacted": "Vorschau", "redacted-tooltip": "In der Schwärzungsvorschau sehen Sie nur die Schwärzungen. Es handelt sich also um eine Vorschau der endgültigen geschwärzten Version. Diese Ansicht ist nur verfügbar, wenn für die Datei keine Änderungen ausstehen und keine Reanalyse erforderlich ist", @@ -862,8 +1174,14 @@ "status": "Status" }, "general-config-screen": { - "actions": { "save": "Einstellungen speichern", "test-connection": "Verbindung testen" }, - "app-name": { "label": "Name der Applikation", "placeholder": "RedactManager" }, + "actions": { + "save": "Einstellungen speichern", + "test-connection": "Verbindung testen" + }, + "app-name": { + "label": "Name der Applikation", + "placeholder": "RedactManager" + }, "form": { "auth": "Authentifizierung aktivieren", "change-credentials": "Zugangsdaten ändern", @@ -886,7 +1204,9 @@ "starttls": "StartTLS aktivieren" }, "general": { - "form": { "forgot-password": "„Passwort vergessen?“-Link auf der Login-Seite anzeigen" }, + "form": { + "forgot-password": "„Passwort vergessen?“-Link auf der Login-Seite anzeigen" + }, "subtitle": "", "title": "Allgemeine Einstellungen" }, @@ -905,15 +1225,34 @@ "welcome-to-help-mode": " Willkommen im Hilfe-Modus!
Klicken Sie auf interaktive Elemente, um in einem neuen Tab Infos dazu zu erhalten.
" }, "hint": "Hinweis", - "image-category": { "formula": "Formel", "image": "Bild", "logo": "Logo", "signature": "Signatur" }, - "initials-avatar": { "unassigned": "Unbekannt", "you": "Sie" }, + "image-category": { + "formula": "Formel", + "image": "Bild", + "logo": "Logo", + "signature": "Signatur" + }, + "initials-avatar": { + "unassigned": "Unbekannt", + "you": "Sie" + }, "justifications": "Begründungen", "justifications-listing": { - "actions": { "delete": "Begründung löschen", "edit": "Begründung bearbeiten" }, + "actions": { + "delete": "Begründung löschen", + "edit": "Begründung bearbeiten" + }, "add-new": "Neue Begründung hinzufügen", - "bulk": { "delete": "Ausgewählte Begründungen löschen" }, - "no-data": { "title": "Es gibt noch keine Begründungen." }, - "table-col-names": { "description": "Beschreibung", "name": "Name", "reason": "Rechtliche Grundlage" }, + "bulk": { + "delete": "Ausgewählte Begründungen löschen" + }, + "no-data": { + "title": "Es gibt noch keine Begründungen." + }, + "table-col-names": { + "description": "Beschreibung", + "name": "Name", + "reason": "Rechtliche Grundlage" + }, "table-header": "{length} {length, plural, one{Begründung} other{Begründung}}" }, "license-info-screen": { @@ -952,7 +1291,9 @@ "license-information": "Lizenzinformationen", "manual-annotation": { "dialog": { - "actions": { "save": "Speichern" }, + "actions": { + "save": "Speichern" + }, "content": { "classification": "Wert / Klassifizierung", "comment": "Kommentar", @@ -976,6 +1317,10 @@ } } }, + "accept-recommendation-dialog": { + "header": "", + "multiple-values": "" + }, "months": { "apr": "Apr.", "aug": "August", @@ -1007,8 +1352,13 @@ }, "notifications": "Benachrichtigungen", "notifications-screen": { - "category": { "email-notifications": "E-Mail Benachrichtigungen", "in-app-notifications": "In-App-Benachrichtigungen" }, - "error": { "generic": "Ein Fehler ist aufgetreten... Aktualisierung der Einstellungen fehlgeschlagen!" }, + "category": { + "email-notifications": "E-Mail Benachrichtigungen", + "in-app-notifications": "In-App-Benachrichtigungen" + }, + "error": { + "generic": "Ein Fehler ist aufgetreten... Aktualisierung der Einstellungen fehlgeschlagen!" + }, "groups": { "document": "Dokumentbezogene Benachrichtigungen", "dossier": "Dossierbezogene Benachrichtigungen", @@ -1032,7 +1382,11 @@ "USER_PROMOTED_TO_APPROVER": "Wenn ich Genehmiger in einem Dossier werde", "USER_REMOVED_AS_DOSSIER_MEMBER": "Wenn ich die Dossier-Mitgliedschaft verliere" }, - "schedule": { "daily": "Tägliche Zusammenfassung", "instant": "Sofortig", "weekly": "Wöchentliche Zusammenfassung" }, + "schedule": { + "daily": "Tägliche Zusammenfassung", + "instant": "Sofortig", + "weekly": "Wöchentliche Zusammenfassung" + }, "title": "Benachrichtigungseinstellungen" }, "overwrite-files-dialog": { @@ -1046,16 +1400,30 @@ "title": "Das Dokument existiert bereits!" }, "page": "Seite", - "pagination": { "next": "Nächste", "previous": "Vorherige" }, + "pagination": { + "next": "Nächste", + "previous": "Vorherige" + }, "pdf-viewer": { - "text-popup": { "actions": { "search": "Nach Auswahl suchen" } }, + "text-popup": { + "actions": { + "search": "Nach Auswahl suchen" + } + }, "toggle-tooltips": "{active, select, true{Disable} false{Enable} other{}} Kurzinfos für Anmerkungen" }, "pending-changes-guard": "ACHTUNG: Sie haben ungespeicherte Änderungen. Klicken Sie auf „Abbrechen“, wenn Sie zurückkehren und die Änderungen speichern möchten. Klicken Sie auf „OK“, um die Änderungen zu speichern.", "readonly": "Lesemodus", "recategorize-image-dialog": { - "actions": { "cancel": "Abbrechen", "save": "Änderungen speichern" }, - "content": { "comment": "Kommentar", "type": "Ausgewählter Bildtyp", "type-placeholder": "Einen Typ auswählen ..." }, + "actions": { + "cancel": "Abbrechen", + "save": "Änderungen speichern" + }, + "content": { + "comment": "Kommentar", + "type": "Ausgewählter Bildtyp", + "type-placeholder": "Einen Typ auswählen ..." + }, "header": "Bildtypen bearbeiten" }, "redaction": "Schwärzung", @@ -1068,10 +1436,15 @@ "question": "Folgende Einträge werden aus den jeweiligen Wörterbüchern gelöscht:", "title": "Aus dem Wörterbuch löschen" }, - "remove-only-here": { "question": "Folgende Schwärzungen werden nur hier entfernt:", "title": "Schwärzung entfernen" }, + "remove-only-here": { + "question": "Folgende Schwärzungen werden nur hier entfernt:", + "title": "Schwärzung entfernen" + }, "value": "Wert" }, - "report-type": { "label": "{length} {length, plural, one{Berichtstyp} other{Berichtstypen}}" }, + "report-type": { + "label": "{length} {length, plural, one{Berichtstyp} other{Berichtstypen}}" + }, "reports": "Berichte", "reports-screen": { "description": "Ein kurzer Text, der erläutert, was Platzhalter sind und wie Sie sie in Ihrer Berichtsvorlage einsetzen können. Es ist bekannt, dass ein Leser vom lesbaren Inhalt einer Seite abgelenkt wird, wenn er sich das Layout ansieht.", @@ -1087,7 +1460,9 @@ "dossier": { "name": "Dieser Platzhalter wird durch den Namen des Dossiers ersetzt, in dem die geschwärzten Dateien gespeichert sind." }, - "file": { "name": "Dieser Platzhalter wird durch den Dateinamen ersetzt." }, + "file": { + "name": "Dieser Platzhalter wird durch den Dateinamen ersetzt." + }, "redaction": { "excerpt": "Dieser Platzhalter wird durch einen Textausschnitt ersetzt, der die Schwärzung enthält.", "justification": "Dieser Platzhalter wird durch die Begründung der Schwärzung ersetzt. Es ist eine Kombination aus dem Rechtsverweis (justificationParagraph) und dem Begründungstext (justificationReason).", @@ -1096,7 +1471,9 @@ "page": "Dieser Platzhalter wird durch die Seitenzahl der Redaktion ersetzt.", "paragraph": "Dieser Platzhalter wird durch den Absatz ersetzt, der die Schwärzung enthält." }, - "time": { "h-m": "Dieser Platzhalter wird durch den Zeitpunkt ersetzt, zu dem der Bericht erstellt wurde." } + "time": { + "h-m": "Dieser Platzhalter wird durch den Zeitpunkt ersetzt, zu dem der Bericht erstellt wurde." + } } }, "document-setup-description": "Ein kurzer Text, der erläutert, was Platzhalter sind und wie Sie sie in Ihrer Berichtsvorlage einsetzen können. Es ist bekannt, dass ein Leser vom lesbaren Inhalt einer Seite abgelenkt wird, wenn er sich das Layout ansieht.", @@ -1104,22 +1481,35 @@ "invalid-upload": "Ungültiges Upload-Format ausgewählt! Unterstützt werden Dokumente im .xlsx- und im .docx-Format", "multi-file-report": "(Mehrere Dateien)", "report-documents": "Dokumente für den Bericht", - "table-header": { "description": "Beschreibung", "placeholders": "Platzhalter" }, + "table-header": { + "description": "Beschreibung", + "placeholders": "Platzhalter" + }, "title": "Berichte", "upload-document": "Ein Dokument hochladen" }, "reset-filters": "Zurücksetzen", "reset-password-dialog": { - "actions": { "cancel": "Abbrechen", "save": "Speichern" }, + "actions": { + "cancel": "Abbrechen", + "save": "Speichern" + }, "error": { "password-policy": "Kennwort konnte nicht zurückgesetzt werden. Das neue Passwort entspricht nicht der Passwortrichtlinie." }, - "form": { "password": "Temporäres Passwort" }, + "form": { + "password": "Temporäres Passwort" + }, "header": "Temporäres Passwort für {userName} festlegen" }, "resize-annotation-dialog": { - "actions": { "cancel": "Abbrechen", "save": "Änderungen speichern" }, - "content": { "comment": "Kommentar" }, + "actions": { + "cancel": "Abbrechen", + "save": "Änderungen speichern" + }, + "content": { + "comment": "Kommentar" + }, "header": "Schwärzung ändern" }, "roles": { @@ -1134,14 +1524,27 @@ }, "rule-editor": "Regel-Editor", "rules-screen": { - "error": { "generic": "Es ist ein Fehler aufgetreten ... Die Regeln konnten nicht aktualisiert werden!" }, + "error": { + "generic": "Es ist ein Fehler aufgetreten ... Die Regeln konnten nicht aktualisiert werden!" + }, "revert-changes": "Anmeldedaten speichern", "save-changes": "Änderungen speichern", - "success": { "generic": "Die Regeln wurden aktualisiert!" } + "success": { + "generic": "Die Regeln wurden aktualisiert!" + } }, "search-screen": { - "cols": { "assignee": "Bevollmächtigter", "document": "Dokument", "dossier": "Dossier", "pages": "Seiten", "status": "Status" }, - "filters": { "by-dossier": "Nach Dossier filtern", "search-placeholder": "Dossiername..." }, + "cols": { + "assignee": "Bevollmächtigter", + "document": "Dokument", + "dossier": "Dossier", + "pages": "Seiten", + "status": "Status" + }, + "filters": { + "by-dossier": "Nach Dossier filtern", + "search-placeholder": "Dossiername..." + }, "missing": "Fehlt", "must-contain": "Muss enthalten", "no-data": "Geben Sie einen Suchbegriff in die Suchleiste, um nach Dokumenten oder Inhalten von Dokumenten zu suchen.", @@ -1154,8 +1557,15 @@ "this-dossier": "in diesem Dossier" }, "smtp-auth-config": { - "actions": { "cancel": "Abbrechen", "save": "Anmeldedaten speichern" }, - "form": { "password": "Passwort", "username": "Benutzername", "username-placeholder": "Login-Benutzername" }, + "actions": { + "cancel": "Abbrechen", + "save": "Anmeldedaten speichern" + }, + "form": { + "password": "Passwort", + "username": "Benutzername", + "username-placeholder": "Login-Benutzername" + }, "title": "Authentifizierung aktivieren" }, "time": { @@ -1173,7 +1583,11 @@ "account": "Konto", "admin": "Einstellungen", "downloads": "Meine Downloads", - "language": { "de": "Deutsch", "en": "Englisch", "label": "Sprache" }, + "language": { + "de": "Deutsch", + "en": "Englisch", + "label": "Sprache" + }, "logout": "Abmelden", "trash": "Papierkorb" } @@ -1181,56 +1595,106 @@ } }, "trash": { - "action": { "delete": "Endgültig löschen", "restore": "Wiederherstellen" }, - "bulk": { "delete": "Ausgewählte Dossiert endgültig löschen", "restore": "Ausgewählte Dossiers wiederherstellen" }, + "action": { + "delete": "Endgültig löschen", + "restore": "Wiederherstellen" + }, + "bulk": { + "delete": "Ausgewählte Dossiert endgültig löschen", + "restore": "Ausgewählte Dossiers wiederherstellen" + }, "label": "Papierkorb", - "no-data": { "title": "Es wurde noch kein Dossier angelegt." }, - "no-match": { "title": "Die ausgewählten Filter treffen auf kein Dossier zu." }, + "no-data": { + "title": "Es wurde noch kein Dossier angelegt." + }, + "no-match": { + "title": "Die ausgewählten Filter treffen auf kein Dossier zu." + }, "table-col-names": { "deleted-on": "Gelöscht am", "name": "Name", "owner": "Eigentümer", "time-to-restore": "Verbleibende Zeit für Wiederherstellung" }, - "table-header": { "title": "{length} {length, plural, one{gelöschtes Dossier} other{gelöschte Dossiers}}" } + "table-header": { + "title": "{length} {length, plural, one{gelöschtes Dossier} other{gelöschte Dossiers}}" + } }, "type": "Typ", "unknown": "Unbekannt", "upload-dictionary-dialog": { - "options": { "cancel": "Abbrechen", "merge": "Einträge zusammenführen", "overwrite": "Überschreiben" }, + "options": { + "cancel": "Abbrechen", + "merge": "Einträge zusammenführen", + "overwrite": "Überschreiben" + }, "question": "Wählen Sie, wie Sie fortfahren möchten:", "title": "Das Wörterbuch hat bereits Einträge!" }, "upload-status": { - "dialog": { "actions": { "cancel": "Upload abbrechen", "re-upload": "Upload erneut versuchen" }, "title": "Datei-Uploads ({len})" }, + "dialog": { + "actions": { + "cancel": "Upload abbrechen", + "re-upload": "Upload erneut versuchen" + }, + "title": "Datei-Uploads ({len})" + }, "error": { "file-size": "Datei zu groß. Die maximal zulässige Größe beträgt {size} MB.", "generic": "Fehler beim Hochladen des Dokuments" } }, "user-listing": { - "action": { "delete": "Benutzer löschen", "edit": "Benutzer bearbeiten" }, + "action": { + "delete": "Benutzer löschen", + "edit": "Benutzer bearbeiten" + }, "add-new": "Neuer Benutzer", - "bulk": { "delete": "Benutzer löschen", "delete-disabled": "Sie können Ihr eigenes Konto nicht löschen." }, - "no-match": { "title": "Die ausgewählten Filter treffen auf keinen Benutzer zu." }, + "bulk": { + "delete": "Benutzer löschen", + "delete-disabled": "Sie können Ihr eigenes Konto nicht löschen." + }, + "no-match": { + "title": "Die ausgewählten Filter treffen auf keinen Benutzer zu." + }, "search": "Suche ...", - "table-col-names": { "active": "Aktiv", "email": "E-Mail-Adresse", "name": "Name", "roles": "Rollen" }, - "table-header": { "title": "{length} {length, plural, one{user} other{users}}" } + "table-col-names": { + "active": "Aktiv", + "email": "E-Mail-Adresse", + "name": "Name", + "roles": "Rollen" + }, + "table-header": { + "title": "{length} {length, plural, one{user} other{users}}" + } }, "user-management": "Benutzerverwaltung", "user-profile": "Mein Profil", "user-profile-screen": { - "actions": { "change-password": "Passwort ändern", "save": "Änderungen speichern" }, - "form": { "email": "Email", "first-name": "Vorname", "last-name": "Nachname" }, + "actions": { + "change-password": "Passwort ändern", + "save": "Änderungen speichern" + }, + "form": { + "email": "Email", + "first-name": "Vorname", + "last-name": "Nachname" + }, "title": "Profil bearbeiten" }, "user-stats": { - "chart": { "users": "Benutzer im Arbeitsbereich" }, + "chart": { + "users": "Benutzer im Arbeitsbereich" + }, "collapse": "Details ausblenden", "expand": "Details anzeigen", "title": "Benutzer" }, - "view-mode": { "list": "Liste", "view-as": "Ansicht als:", "workflow": "Arbeitsablauf" }, + "view-mode": { + "list": "Liste", + "view-as": "Ansicht als:", + "workflow": "Arbeitsablauf" + }, "watermark": "Wasserzeichen", "watermark-screen": { "action": { @@ -1250,6 +1714,13 @@ }, "title": "Wasserzeichen" }, - "workflow": { "selection": { "all": "Alle", "count": "{count} ausgewählt", "none": "Keiner", "select": "Wählen" } }, + "workflow": { + "selection": { + "all": "Alle", + "count": "{count} ausgewählt", + "none": "Keiner", + "select": "Wählen" + } + }, "yesterday": "Gestern" } diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 6b72175c2..a9c81135f 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1332,6 +1332,10 @@ } } }, + "accept-recommendation-dialog": { + "header": "Accept recommendation", + "multiple-values": "Multiple recommendations selected" + }, "months": { "apr": "Apr.", "aug": "Aug.", From 1a3e66f4f66e4fa9faf85e7723b59cdac531c9f3 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 26 Jan 2022 18:38:22 +0100 Subject: [PATCH 216/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ac5e340d9..471cf0a9b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.185.0", + "version": "3.186.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index b74dfc9de467b1a2cd4a7beb80a2610a9e43bc3b..7fce384a33751e42d0874c0233767bc355c50fe9 100644 GIT binary patch delta 3096 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 From 3fb05c2e6eb205af86f248954e5e8b891ed4e073 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 20 Jan 2022 13:12:18 +0200 Subject: [PATCH 217/260] dossier and file attributes dialog in the same component --- .../src/app/modules/admin/admin.module.ts | 4 +- ...rm-delete-attribute-dialog.component.html} | 2 +- ...rm-delete-attribute-dialog.component.scss} | 0 ...nfirm-delete-attribute-dialog.component.ts | 64 +++++++++++++++++++ ...-delete-file-attribute-dialog.component.ts | 45 ------------- ...ier-attributes-listing-screen.component.ts | 4 +- ...ile-attributes-listing-screen.component.ts | 4 +- .../admin/services/admin-dialog.service.ts | 8 +-- apps/red-ui/src/assets/i18n/en.json | 9 ++- 9 files changed, 81 insertions(+), 59 deletions(-) rename apps/red-ui/src/app/modules/admin/dialogs/{confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.html => confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html} (96%) rename apps/red-ui/src/app/modules/admin/dialogs/{confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.scss => confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.scss} (100%) create mode 100644 apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.ts delete mode 100644 apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.ts diff --git a/apps/red-ui/src/app/modules/admin/admin.module.ts b/apps/red-ui/src/app/modules/admin/admin.module.ts index 81a7a91b0..8f417aab5 100644 --- a/apps/red-ui/src/app/modules/admin/admin.module.ts +++ b/apps/red-ui/src/app/modules/admin/admin.module.ts @@ -17,7 +17,7 @@ import { ColorPickerModule } from 'ngx-color-picker'; import { AddEditFileAttributeDialogComponent } from './dialogs/add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component'; import { AddEditDossierTemplateDialogComponent } from './dialogs/add-edit-dossier-template-dialog/add-edit-dossier-template-dialog.component'; import { AddEditDictionaryDialogComponent } from './dialogs/add-edit-dictionary-dialog/add-edit-dictionary-dialog.component'; -import { ConfirmDeleteFileAttributeDialogComponent } from './dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component'; +import { ConfirmDeleteAttributeDialogComponent } from './dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component'; import { EditColorDialogComponent } from './dialogs/edit-color-dialog/edit-color-dialog.component'; import { ComboChartComponent, ComboSeriesVerticalComponent } from './components/combo-chart'; import { NgxChartsModule } from '@swimlane/ngx-charts'; @@ -53,7 +53,7 @@ const dialogs = [ AddEditDossierTemplateDialogComponent, AddEditDictionaryDialogComponent, AddEditFileAttributeDialogComponent, - ConfirmDeleteFileAttributeDialogComponent, + ConfirmDeleteAttributeDialogComponent, EditColorDialogComponent, SmtpAuthDialogComponent, AddEditUserDialogComponent, diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html similarity index 96% rename from apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.html rename to apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html index d90c5f201..ad958d2ae 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html @@ -5,7 +5,7 @@ | translate : { type: type, - name: fileAttribute?.label + name: attribute?.label } }}
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.scss b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.scss similarity index 100% rename from apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.scss rename to apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.scss diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.ts new file mode 100644 index 000000000..f6a7db47d --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.ts @@ -0,0 +1,64 @@ +import { Component, Inject } from '@angular/core'; +import { DossierAttributeConfig, FileAttributeConfig } from '@red/domain'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; + +const isFileAttributeConfig = (value: DossierAttributeConfig | FileAttributeConfig): value is FileAttributeConfig => { + return value instanceof FileAttributeConfig; +}; + +interface CheckBox { + value: boolean; + label: string; +} + +@Component({ + selector: 'redaction-confirm-delete-attribute-dialog', + templateUrl: './confirm-delete-attribute-dialog.component.html', + styleUrls: ['./confirm-delete-attribute-dialog.component.scss'], +}) +export class ConfirmDeleteAttributeDialogComponent { + checkboxes: CheckBox[]; + showToast = false; + + constructor( + public dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public attribute: FileAttributeConfig | DossierAttributeConfig, + ) { + this.checkboxes = this.checkBoxConfig; + } + + get checkBoxConfig(): CheckBox[] { + return isFileAttributeConfig(this.attribute) + ? [ + { value: false, label: _('confirm-delete-file-attribute.file-impacted-documents') }, + { value: false, label: _('confirm-delete-file-attribute.file-lost-details') }, + { value: false, label: _('confirm-delete-file-attribute.impacted-report') }, + ] + : [ + { value: false, label: _('confirm-delete-file-attribute.dossier-impacted-documents') }, + { value: false, label: _('confirm-delete-file-attribute.dossier-lost-details') }, + { value: false, label: _('confirm-delete-file-attribute.impacted-report') }, + ]; + } + + get valid() { + return this.checkboxes[0].value && this.checkboxes[1].value; + } + + get type(): 'bulk' | 'single' { + return this.attribute ? 'single' : 'bulk'; + } + + deleteFileAttribute() { + if (this.valid) { + this.dialogRef.close(true); + } else { + this.showToast = true; + } + } + + cancel() { + this.dialogRef.close(); + } +} diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.ts deleted file mode 100644 index 1cf2cee1b..000000000 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { Component, Inject } from '@angular/core'; -import { IFileAttributeConfig } from '@red/domain'; -import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; - -@Component({ - selector: 'redaction-confirm-delete-file-attribute-dialog', - templateUrl: './confirm-delete-file-attribute-dialog.component.html', - styleUrls: ['./confirm-delete-file-attribute-dialog.component.scss'], -}) -export class ConfirmDeleteFileAttributeDialogComponent { - fileAttribute: IFileAttributeConfig; - checkboxes = [ - { value: false, label: _('confirm-delete-file-attribute.impacted-documents') }, - { value: false, label: _('confirm-delete-file-attribute.lost-details') }, - ]; - showToast = false; - - constructor( - public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public data: IFileAttributeConfig, - ) { - this.fileAttribute = data; - } - - get valid() { - return this.checkboxes[0].value && this.checkboxes[1].value; - } - - get type(): 'bulk' | 'single' { - return this.fileAttribute ? 'single' : 'bulk'; - } - - deleteFileAttribute() { - if (this.valid) { - this.dialogRef.close(true); - } else { - this.showToast = true; - } - } - - cancel() { - this.dialogRef.close(); - } -} diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts index 490b4515e..7c10f6897 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts @@ -53,8 +53,8 @@ export class DossierAttributesListingScreenComponent extends ListingComponent { + openConfirmDeleteAttributeDialog($event: MouseEvent, dossierAttribute?: DossierAttributeConfig) { + this._dialogService.openDialog('deleteAttribute', $event, dossierAttribute, async () => { this._loadingService.start(); const ids = dossierAttribute ? [dossierAttribute.id] : this.listingService.selected.map(item => item.id); await firstValueFrom(this._dossierAttributesService.delete(ids)); diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts index d94729b50..a1b0a7d20 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts @@ -88,8 +88,8 @@ export class FileAttributesListingScreenComponent extends ListingComponent { + openConfirmDeleteAttributeDialog($event: MouseEvent, fileAttribute?: FileAttributeConfig) { + this._dialogService.openDialog('deleteAttribute', $event, fileAttribute, async () => { this._loadingService.start(); const dossierTemplateId = this._dossierTemplatesService.activeDossierTemplateId; if (fileAttribute) { diff --git a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts index 6d161fb42..41548f39a 100644 --- a/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts +++ b/apps/red-ui/src/app/modules/admin/services/admin-dialog.service.ts @@ -3,7 +3,7 @@ import { MatDialog } 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 { ConfirmDeleteFileAttributeDialogComponent } from '../dialogs/confirm-delete-file-attribute-dialog/confirm-delete-file-attribute-dialog.component'; +import { ConfirmDeleteAttributeDialogComponent } from '../dialogs/confirm-delete-attribute-dialog/confirm-delete-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'; import { AddEditUserDialogComponent } from '../dialogs/add-edit-user-dialog/add-edit-user-dialog.component'; @@ -19,7 +19,7 @@ type DialogType = | 'addEditDictionary' | 'editColor' | 'addEditFileAttribute' - | 'deleteFileAttribute' + | 'deleteAttribute' | 'importFileAttributes' | 'addEditUser' | 'deleteUsers' @@ -48,8 +48,8 @@ export class AdminDialogService extends DialogService { component: AddEditFileAttributeDialogComponent, dialogConfig: { autoFocus: true }, }, - deleteFileAttribute: { - component: ConfirmDeleteFileAttributeDialogComponent, + deleteAttribute: { + component: ConfirmDeleteAttributeDialogComponent, dialogConfig: { disableClose: false }, }, importFileAttributes: { diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index a9c81135f..a11542768 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -395,11 +395,14 @@ "confirm-delete-file-attribute": { "cancel": "Keep {type, select, single{Attribute} bulk{Attributes} other{}}", "delete": "Delete {type, select, single{Attribute} bulk{Attributes} other{}}", - "impacted-documents": "All documents {type, select, single{it is} bulk{they are} other{}} used on will be impacted", - "lost-details": "All inputted details on the documents will be lost", + "file-impacted-documents": "All documents {type, select, single{it is} bulk{they are} other{}} used on will be impacted", + "dossier-impacted-documents": "All dossiers based on this template will be affected", + "file-lost-details": "All inputted details on the documents will be lost", + "dossier-lost-details": "All values for this attribute will be lost", "title": "Delete {type, select, single{{name}} bulk{File Attributes} other{}}", "toast-error": "Please confirm that you understand the ramifications of your action!", - "warning": "Warning: this cannot be undone!" + "warning": "Warning: this cannot be undone!", + "impacted-report": "<#reports> reports use the placeholder for this attribute and need to be adjusted" }, "confirm-delete-users": { "cancel": "Keep {usersCount, plural, one{User} other{Users}}", From e69a6b64bd9d75ba6a9047d5265c96bad405b2c0 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Tue, 25 Jan 2022 21:07:14 +0200 Subject: [PATCH 218/260] get by placeholder method for report templates --- .../dossier-attributes-listing-screen.component.ts | 8 +++++++- apps/red-ui/src/app/services/report-template.service.ts | 5 +++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts index 7c10f6897..a9e2ddd5e 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts @@ -16,6 +16,7 @@ import { UserService } from '@services/user.service'; import { DossierAttributeConfig, IDossierAttributeConfig } from '@red/domain'; import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { firstValueFrom } from 'rxjs'; +import { ReportTemplateService } from '../../../../services/report-template.service'; @Component({ templateUrl: './dossier-attributes-listing-screen.component.html', @@ -45,6 +46,7 @@ export class DossierAttributesListingScreenComponent extends ListingComponent { this._loadingService.start(); const ids = dossierAttribute ? [dossierAttribute.id] : this.listingService.selected.map(item => item.id); diff --git a/apps/red-ui/src/app/services/report-template.service.ts b/apps/red-ui/src/app/services/report-template.service.ts index 72083e60e..ac9418e1d 100644 --- a/apps/red-ui/src/app/services/report-template.service.ts +++ b/apps/red-ui/src/app/services/report-template.service.ts @@ -43,6 +43,11 @@ export class ReportTemplateService extends GenericService { return this._getOne([dossierTemplateId], 'placeholders'); } + @Validate() + getTemplatesByPlaceholder(@RequiredParam() dossierTemplateId: string, @RequiredParam() attributeId: string) { + return this._post({ value: attributeId }, `/templates/${dossierTemplateId}`); + } + downloadReportTemplate(dossierTemplateId: string, templateId: string, observe: 'response'): Observable>; downloadReportTemplate(dossierTemplateId: string, templateId: string, observe: 'body'): Observable; @Validate() From b0d088fc7ae602c0fb9a0f31cdaf92b1a34819b4 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Wed, 26 Jan 2022 13:05:31 +0200 Subject: [PATCH 219/260] report count in dialog --- ...irm-delete-attribute-dialog.component.html | 15 +++---- ...nfirm-delete-attribute-dialog.component.ts | 42 ++++++++++++------- ...ier-attributes-listing-screen.component.ts | 7 ++-- ...ile-attributes-listing-screen.component.ts | 12 ++++-- .../app/services/report-template.service.ts | 2 +- apps/red-ui/src/assets/i18n/de.json | 9 ++-- apps/red-ui/src/assets/i18n/en.json | 2 +- 7 files changed, 55 insertions(+), 34 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html index ad958d2ae..a6ac8607a 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html @@ -5,7 +5,7 @@ | translate : { type: type, - name: attribute?.label + name: data.attribute?.label } }}
@@ -20,14 +20,11 @@
- - {{ checkbox.label | translate: { type: type } }} - + + + {{ checkbox.label }} + +
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.ts index f6a7db47d..bbc92d62c 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.ts @@ -1,17 +1,21 @@ import { Component, Inject } from '@angular/core'; import { DossierAttributeConfig, FileAttributeConfig } from '@red/domain'; import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { TranslateService } from '@ngx-translate/core'; -const isFileAttributeConfig = (value: DossierAttributeConfig | FileAttributeConfig): value is FileAttributeConfig => { - return value instanceof FileAttributeConfig; -}; +const isFileAttributeConfig = (value: DossierAttributeConfig | FileAttributeConfig): value is FileAttributeConfig => + value instanceof FileAttributeConfig; interface CheckBox { value: boolean; label: string; } +interface DialogData { + attribute: FileAttributeConfig | DossierAttributeConfig; + count: number; +} + @Component({ selector: 'redaction-confirm-delete-attribute-dialog', templateUrl: './confirm-delete-attribute-dialog.component.html', @@ -22,32 +26,42 @@ export class ConfirmDeleteAttributeDialogComponent { showToast = false; constructor( + private readonly _translateService: TranslateService, public dialogRef: MatDialogRef, - @Inject(MAT_DIALOG_DATA) public attribute: FileAttributeConfig | DossierAttributeConfig, + @Inject(MAT_DIALOG_DATA) public data: DialogData, ) { this.checkboxes = this.checkBoxConfig; } get checkBoxConfig(): CheckBox[] { - return isFileAttributeConfig(this.attribute) + const checkBoxes = isFileAttributeConfig(this.data.attribute) ? [ - { value: false, label: _('confirm-delete-file-attribute.file-impacted-documents') }, - { value: false, label: _('confirm-delete-file-attribute.file-lost-details') }, - { value: false, label: _('confirm-delete-file-attribute.impacted-report') }, + { + value: false, + label: this._translateService.instant('confirm-delete-file-attribute.file-impacted-documents', { type: this.type }), + }, + { value: false, label: this._translateService.instant('confirm-delete-file-attribute.file-lost-details') }, ] : [ - { value: false, label: _('confirm-delete-file-attribute.dossier-impacted-documents') }, - { value: false, label: _('confirm-delete-file-attribute.dossier-lost-details') }, - { value: false, label: _('confirm-delete-file-attribute.impacted-report') }, + { value: false, label: this._translateService.instant('confirm-delete-file-attribute.dossier-impacted-documents') }, + { value: false, label: this._translateService.instant('confirm-delete-file-attribute.dossier-lost-details') }, ]; + if (this.data.count !== 0) { + checkBoxes.push({ + value: false, + label: this._translateService.instant('confirm-delete-file-attribute.impacted-report', { count: this.data.count }), + }); + } + + return checkBoxes; } get valid() { - return this.checkboxes[0].value && this.checkboxes[1].value; + return this.checkboxes.reduce((initialValue, currentValue) => initialValue && currentValue.value, true); } get type(): 'bulk' | 'single' { - return this.attribute ? 'single' : 'bulk'; + return this.data.attribute ? 'single' : 'bulk'; } deleteFileAttribute() { diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts index a9e2ddd5e..50f43dc35 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts @@ -57,10 +57,11 @@ export class DossierAttributesListingScreenComponent extends ListingComponent { + this._dialogService.openDialog('deleteAttribute', $event, { attribute: dossierAttribute, count: resp.length }, async () => { this._loadingService.start(); const ids = dossierAttribute ? [dossierAttribute.id] : this.listingService.selected.map(item => item.id); await firstValueFrom(this._dossierAttributesService.delete(ids)); diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts index a1b0a7d20..74774974a 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.ts @@ -18,6 +18,7 @@ import { FileAttributesService } from '@services/entity-services/file-attributes import { DossierTemplatesService } from '@services/entity-services/dossier-templates.service'; import { HttpStatusCode } from '@angular/common/http'; import { firstValueFrom } from 'rxjs'; +import { ReportTemplateService } from '../../../../services/report-template.service'; @Component({ templateUrl: './file-attributes-listing-screen.component.html', @@ -60,6 +61,7 @@ export class FileAttributesListingScreenComponent extends ListingComponent { + async openConfirmDeleteAttributeDialog($event: MouseEvent, fileAttribute?: FileAttributeConfig) { + const dossierTemplateId = this._dossierTemplatesService.activeDossierTemplateId; + const resp = await firstValueFrom( + this._reportTemplateService.getTemplatesByPlaceholder(dossierTemplateId, fileAttribute.placeholder), + ); + + this._dialogService.openDialog('deleteAttribute', $event, { attribute: fileAttribute, count: resp.length }, async () => { this._loadingService.start(); - const dossierTemplateId = this._dossierTemplatesService.activeDossierTemplateId; if (fileAttribute) { await firstValueFrom(this._fileAttributesService.deleteFileAttributes([fileAttribute.id], dossierTemplateId)); } else { diff --git a/apps/red-ui/src/app/services/report-template.service.ts b/apps/red-ui/src/app/services/report-template.service.ts index ac9418e1d..585f4c36a 100644 --- a/apps/red-ui/src/app/services/report-template.service.ts +++ b/apps/red-ui/src/app/services/report-template.service.ts @@ -45,7 +45,7 @@ export class ReportTemplateService extends GenericService { @Validate() getTemplatesByPlaceholder(@RequiredParam() dossierTemplateId: string, @RequiredParam() attributeId: string) { - return this._post({ value: attributeId }, `/templates/${dossierTemplateId}`); + return this._post({ value: attributeId }, `templates/${dossierTemplateId}`); } downloadReportTemplate(dossierTemplateId: string, templateId: string, observe: 'response'): Observable>; diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 262c2d514..7dd9ec900 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -395,11 +395,14 @@ "confirm-delete-file-attribute": { "cancel": "{type, select, single{Attribut} bulk{Attribute} other{}} behalten", "delete": "{type, select, single{Attribut} bulk{Attribute} other{}} löschen", - "impacted-documents": "Alle Dokumente {type, select, single{ist} bulk{sind} other{}} betroffen", - "lost-details": "Alle in die Dokumente eingegebenen Daten gehen verloren", + "file-impacted-documents": "Alle Dokumente {type, select, single{ist} bulk{sind} other{}} betroffen", + "dossier-impacted-documents": "", + "file-lost-details": "Alle in die Dokumente eingegebenen Daten gehen verloren", + "dossier-lost-details": "", "title": "{type, select, single{{name}} bulk{Datei-Attribute} other{}} löschen", "toast-error": "Bitte bestätigen Sie, dass Ihnen die Konsequenzen dieser Aktion bewusst sind!", - "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!" + "warning": "Achtung: Diese Aktion kann nicht rückgängig gemacht werden!", + "impacted-report": "{count}" }, "confirm-delete-users": { "cancel": "{usersCount, plural, one{Benutzer} other{Benutzer}} behalten", diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index a11542768..5df64f861 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -402,7 +402,7 @@ "title": "Delete {type, select, single{{name}} bulk{File Attributes} other{}}", "toast-error": "Please confirm that you understand the ramifications of your action!", "warning": "Warning: this cannot be undone!", - "impacted-report": "<#reports> reports use the placeholder for this attribute and need to be adjusted" + "impacted-report": "{count} reports use the placeholder for this attribute and need to be adjusted" }, "confirm-delete-users": { "cancel": "Keep {usersCount, plural, one{User} other{Users}}", From 46cec7e6b82bd63112af0603063f24a698db4e97 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Wed, 26 Jan 2022 20:48:15 +0200 Subject: [PATCH 220/260] refactoring && update common --- ...irm-delete-attribute-dialog.component.html | 11 +---- ...nfirm-delete-attribute-dialog.component.ts | 45 +++++++++++-------- 2 files changed, 29 insertions(+), 27 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html index a6ac8607a..b7442e49a 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html +++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-attribute-dialog/confirm-delete-attribute-dialog.component.html @@ -1,13 +1,6 @@
- {{ - 'confirm-delete-file-attribute.title' - | translate - : { - type: type, - name: data.attribute?.label - } - }} + {{ 'confirm-delete-file-attribute.title' | translate: translateArgs }}
@@ -32,7 +25,7 @@ {{ 'confirm-delete-file-attribute.delete' | translate: { type: type } }}
, + readonly dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: DialogData, ) { this.checkboxes = this.checkBoxConfig; } get checkBoxConfig(): CheckBox[] { - const checkBoxes = isFileAttributeConfig(this.data.attribute) - ? [ - { - value: false, - label: this._translateService.instant('confirm-delete-file-attribute.file-impacted-documents', { type: this.type }), - }, - { value: false, label: this._translateService.instant('confirm-delete-file-attribute.file-lost-details') }, - ] - : [ - { value: false, label: this._translateService.instant('confirm-delete-file-attribute.dossier-impacted-documents') }, - { value: false, label: this._translateService.instant('confirm-delete-file-attribute.dossier-lost-details') }, - ]; + const checkBoxes = isFileAttributeConfig(this.data.attribute) ? this._fileAttributeCheckboxes : this._dossierAttributeCheckboxes; if (this.data.count !== 0) { checkBoxes.push({ value: false, @@ -57,13 +46,37 @@ export class ConfirmDeleteAttributeDialogComponent { } get valid() { - return this.checkboxes.reduce((initialValue, currentValue) => initialValue && currentValue.value, true); + return this.checkboxes.reduce((acc, currentValue) => acc && currentValue.value, true); } get type(): 'bulk' | 'single' { return this.data.attribute ? 'single' : 'bulk'; } + get translateArgs() { + return { + type: this.type, + name: this.data.attribute?.label, + }; + } + + private get _fileAttributeCheckboxes(): CheckBox[] { + return [ + { + value: false, + label: this._translateService.instant('confirm-delete-file-attribute.file-impacted-documents', { type: this.type }), + }, + { value: false, label: this._translateService.instant('confirm-delete-file-attribute.file-lost-details') }, + ]; + } + + private get _dossierAttributeCheckboxes(): CheckBox[] { + return [ + { value: false, label: this._translateService.instant('confirm-delete-file-attribute.dossier-impacted-documents') }, + { value: false, label: this._translateService.instant('confirm-delete-file-attribute.dossier-lost-details') }, + ]; + } + deleteFileAttribute() { if (this.valid) { this.dialogRef.close(true); @@ -71,8 +84,4 @@ export class ConfirmDeleteAttributeDialogComponent { this.showToast = true; } } - - cancel() { - this.dialogRef.close(); - } } From c583a5e29d4864a5058141e71aca53d0043b7313 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Wed, 26 Jan 2022 20:10:37 +0100 Subject: [PATCH 221/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 471cf0a9b..7120c7807 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.186.0", + "version": "3.187.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 7fce384a33751e42d0874c0233767bc355c50fe9..ae36f47b9eb0c3c9ebc1b349c5e893c08cff8c20 100644 GIT binary patch delta 3097 zcmV+!4CeEX8IBo{cL{TXhAQva6Jd~zX&}46|%oyR?Y1fuKzbtimRG1botk>zpz%9cNcHywk#@!nku`x zOc^Wd_03IEeuh*2}Z1%88*&Ba* z=Gpe0J@duiK>S^Zzf19V1%Dke#}RWJF~<>e95Kh?bAA)ky3Fv?C-nm^FR$+|=A1s9 zSt-FWsnEYJ5PE0PJSLB8Ie`n46CN^$Qpkwe7=C}dXURQQQ;`fa`j#BV zJ#Rm)gpw>4E6G(H+x|628Wt6oBXY_|R2LbI(MPct2Ql6aS{06IQv>HMT?T(SCrNT5 zE$cNHLPXLc>l9y{Hh6UYQH0BnXsl8F_hCtIVu$i+S!&z_ps$p$o)5vy#% zj7FF%c0xFswx0LFzec#lq3g=m&CCEeSAJMDnj}TlQ-@A+TT4H-bBceC?#Ozts2NNT zJ*Rmt?W1#iLO;C#Hx-R}2miDf*+MTPoUmpKu?jg!#sBMPY%q}E4p<+oriBkVrfEu% zipFNY(f9(=%^Q6wafwfE@5X*t<8jKPPHWOY*gBzA&8#S;(%A?xwDN&@xkOODf1Ut@% zCMeYv)wvrzA}`=kcH}A#({s}!vdYjVeWH^Z7>rE zj&T|Tx6$REJRIJ9j6SD%Mks6Y4f^=zVh+eGkO0Xn$LL8f|B<-M<)z>jp#NS}_eoYf z3}D?USUYlh*uQ~hni|TRcd$4}N=M;Mp>XWm9>r%QZ`eChZAt$AJFZ}4l~s|@Y=F$4 zq{m*W$Z(WaG)jLN-Iz!UCb1-5kL9Z-N|PqP7eQEuUrbZs_VAyFB!`u0j(GCZF<6A8 zO0xIgMk#^*8ht5>|3BdzZ%9=S)>%$!&R_NGd|6}}tixsY8L7x5)2m6MSALJ|_eEV( zAQxz1q{j<;^8sgUgz|P0J>lUV&mS_N5s%oL z+zhrG?`Zh+FaP`Ze`<7-14@W%J<1{|SgDlWVkdYb80J$kI;B#PrbUxhnB!??NM+O-Tq&vp7 z4_1)F;&8mm_md}%6F7a9I;Ukxm?kiuF0{$gG_-#-CM&F>(J8an6E>1h?91PmpI74+1br!j%^q23@0~x+XV9C2%L5XbC;)_K7l#c_h|RkGw)2VR#c=J>5O+KyV}Mn8D=C=GqEY4Cff(zRWV0^??>eKbsH-pG~Z-TW!hgY z2pb6GN_<=*Qf2#k2&9^wze8U1jxsDBtvbbV@z5Q!scxA22v@J$I;#s5TKW3j4bFU5 z5DdyxjTXCSWCD0t`0O=lqXmCVqn2|C<65+v3}p^KkQyx+{KP+qbI`ECra;#0)tW9^IO<@|sdd0WJfo!E0m2|dB{?jXY;_^^3BhU3DPrF|| zYr8JV;jRN1)sF>-_9cJQG*{Yee@b90Cd418fp&N;+&(c-B=POHp78dkB)a{*?5Ha>;!1_KQj*r1jlRf4 zNK*Y*sXG_9_jz-1cx!laGHDmXt@zyGXg`3-_-U}>E@$gf1|xsO8f0)K@0p6kVoxQx z9%qsL(WJN(E5d&Qlhc=v>ZH!c?mM9E+>w$WKtaa$8W#!}R(ty3+cQW7W@r)cqX);o z9xVo%D>dO89I4s3)#G0Nu#QFp@;LGTd%m%KqxaUb#YK%GAM z;y|Bt+(Ux_%#rU42IRc>S-}wBOEPF(yWJy#0iS!{4xA#$zCb@oki9=Ht0E#XSf41- z<~1YbfmgQ^DV}3WQO2^<#owPpeAAG+egyGgQNe zRg;Pezxxv(iwgEqXNJU=Iee2{Zr|m0U0&bibzOen<#$~{-xYLSi@s|iyUOmfB4d|z zoakEGk34^jotS#s8SEsI4?cPwNq-pnPJHhEJXYQiWB1JVAjUw$sOWx((K{BS@2MCS z(|KXQe;!-jDCs+`Xpk7kx#PazBS6d%tQ$PK{GCLQ6j3vE>HSmxuPx_xZs&Gx=XP%A nc5df(Zs&Gx=XP%Ac5df(Zs&Gx=XP$t*!F+HuI>dM08jt`r-t@d delta 3098 zcmV+#4CV8V8IKu|cM7vT$8}!Wj_oglk$@q8?$SBy|Ho*1^67{amzURf7jsS@ z&a9N+m{jOr7YMzxXdaWtHFECYS4t?XzeavwmydTB&jX0{IwVO^5dj(E=zdcbO&(iO zkrmY%edMk@*LTKnD0Kt~7lu{ScVvx!7Cv7=&4AC8GTC* zN2CWLmw5fsfmM(*ToRcIu zk(Tuu3?U+Ek#&kMN*q!4v_|%Pc_Ome%T^v*i)I&&vtq9(%7|4q zVMZg&6+0muOt<#EoGU*p8cmX->ZwB~xvixi+c`ylM|WhsSJVuq zhn~|sm-f*)KB1ppfSZcOyn}yQjBKHo5l&dMg;<50q~ibeGd37Va0jdpR@1_V9Md$V zNJV3_-)MXR>E?~Tl(@tvw|8T|tMNGHQKvO&AZ(q`s%BP{Qt51j7+U$jx;J1#IdUh# zQR?q3m{FFI*~CO}Ymw-GVMWx=9L7?2b!05{7J8_&PaqHB69~jcM}NXvt@}DQ+3($Wrs{14> z9tN=P6s#RNJ?!5=GffTU%{y2eB&DP9rcgNcZI9wJk~i!fskS74{~cE_vdXGRXf{CR zPts#ARb)6yD;lMLjBZRM1(R43ugCIL6QxO$--{ru!!M?(aC`XALz2VFG)Fx7=@=|R zQYG2@Z=;kze~rEr#s8mhjyI&L2kR^+HRrGTb-paJ4A$W?`;1g%lIhhX(JQ}4_WPo) zDUb`aFw*0Nz4?GMHbQwjiEifU-9_N280(TGaO zwWBnnsqy;#cc7`7+t3it^q%l=kLM2=(1=Iu zO>PF;jdwJB`j`Lx`#&|hO5cCmBy>a27ZsRCem%rCy&D3_k)G^Z6{(wyO(l>?0RNUP zoCM%VG3|VRnT%+C#E@C!-gWvYxUzY0UA5CRAIT37RviL4zf4^{_A3=_%?3W#Xro3%J~mZu4Kd0*VL<3qwYA$xVk0g5PIkxVUxvk@F#Xs} z01W6m*dUW`?mQ~WCvn_i#te;>p{$cUW%DvTXf|F348!|}0Hn4TG*x(Q>fe1p%mk z#97_WkT!)^$&OY{?X008LNrkjdqi6_C0V&GVzS$Xf_~|g`R1-^OhP<)Vz|>R)J~9| z!qjf;Ev~NiSj@FHp|yu=9g*}METuUgfPCre3P|9&k@)pTDAXXF!O!Obwezgl6oxY* z2-|IL@~iez2Ft@d6?nadAQ;|LaI_tNCEAg_BVFtP7>fy7b-At0Odo?Sg>bkRn@PrF zMXJ{wJ9obe9HzNH^7X|*5{|gFIEZ8RLF>HWj^a4M_9|KOs{^mg6m$I68f`}{?O4cV zMlKc&QN_@JQL!PoB)>}#*#H$K* zVtY*bJeotdn{h4LO@=auAIOc&$unP@b=?EONF?nxoM}JBjgMK!23s6|o88bpZ`+B& zKEwe)QdB@#10{DA;hGGoJNn>Yw_8mI2^xpHdl;Qh#iIAw?+LfzYR%8#14XgSuVYu2Va(55gAVZGwp;y||2i%L3MCI9J_JaKs_nUUvulBeCT zp0!<<b>RCd&r8gZpUTPaCv%|>5j zA|$E)tJIx~+xxt^IJ`AHIhnMJ;Z}U^aI_!5Wc)N(ahJ1oDT5JzVhu95lJ`tSVzH-^ zT#vKJ{%BHMiWT8MfywF1M|D!?WA`1Je^^JO0eK?CEiFtA--uy-M^7DR!IGf*NDY`qu?m+zibg_kYWBvf?X{u zpI7#7G@*}tAIhRr7BOvzMr#I(5!Peg|GG@XNAu3yb8jk{Z{KRK(ItPajreQr%NeTS z!>UO|h2Q;&k3|K0sWU_3%N)MRF1PP;yDqQq^13d+@AA8@pzjL0u0`LqkX>c>S&^~J zI!<&g?MEJe#!gHfeJ4J5e;zAuh_QQSdk|xwVN`TK#ONK1(f3r0 zis`&C;6INoZ Date: Thu, 27 Jan 2022 10:54:37 +0200 Subject: [PATCH 222/260] fix RED-3269 - clear i18n cache --- apps/red-ui/src/app/app.module.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index 5fc3530a6..00d8fdf7b 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -36,12 +36,10 @@ import { KeycloakService } from 'keycloak-angular'; import { GeneralSettingsService } from '@services/general-settings.service'; import { BreadcrumbsComponent } from '@components/breadcrumbs/breadcrumbs.component'; import { UserPreferenceService } from '@services/user-preference.service'; -import * as german from '../assets/i18n/de.json'; -import * as english from '../assets/i18n/en.json'; import { UserService } from '@services/user.service'; -export function httpLoaderFactory(httpClient: HttpClient): PruningTranslationLoader { - return new PruningTranslationLoader(httpClient, '/assets/i18n/', '.json'); +export function httpLoaderFactory(httpClient: HttpClient, configService: ConfigService): PruningTranslationLoader { + return new PruningTranslationLoader(httpClient, '/assets/i18n/', `.json?version=${configService.values.FRONTEND_APP_VERSION}`); } function cleanupBaseUrl(baseUrl: string) { @@ -79,7 +77,7 @@ const components = [AppComponent, AuthErrorComponent, NotificationsComponent, Sp loader: { provide: TranslateLoader, useFactory: httpLoaderFactory, - deps: [HttpClient], + deps: [HttpClient, ConfigService], }, compiler: { provide: TranslateCompiler, From 1a78bdcdf73f0184738877c907716af05c15ab0b Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 27 Jan 2022 09:58:57 +0100 Subject: [PATCH 223/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7120c7807..799497563 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.187.0", + "version": "3.188.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index ae36f47b9eb0c3c9ebc1b349c5e893c08cff8c20..4fe93738e63a7ef2b9c140f6c186014b9d8a4195 100644 GIT binary patch delta 3069 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 Date: Thu, 27 Jan 2022 11:33:33 +0200 Subject: [PATCH 224/260] RED-3197 -> renamed "suggested redaction removal" to "suggested hint removal" --- apps/red-ui/src/assets/i18n/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 5df64f861..57051610c 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -290,7 +290,7 @@ "suggestion-change-legal-basis": "Suggested change legal basis", "suggestion-force-redaction": "Suggestion force redaction", "suggestion-recategorize-image": "Suggested recategorize image", - "suggestion-remove": "Suggested redaction removal", + "suggestion-remove": "Suggested hint removal", "suggestion-remove-dictionary": "Suggested dictionary removal", "suggestion-resize": "Suggested Resize" }, From 3599b71d6827becf555b2dec589a4ac3582a6a43 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 27 Jan 2022 10:37:17 +0100 Subject: [PATCH 225/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 799497563..6a9848a01 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.188.0", + "version": "3.189.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 4fe93738e63a7ef2b9c140f6c186014b9d8a4195..f889be9ea2e876a8a5774973fdbcb92c657cb5fe 100644 GIT binary patch delta 3097 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 Date: Thu, 27 Jan 2022 12:59:24 +0200 Subject: [PATCH 226/260] RED-3288 -> updated delta tooltip text --- apps/red-ui/src/assets/i18n/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 57051610c..bd83e6e96 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -1089,7 +1089,7 @@ "assign-reviewer": "Assign User", "change-reviewer": "Change User", "delta": "Delta", - "delta-tooltip": "Delta View shows only the changes since last re-analysis. This view is only available if there is at least 1 change", + "delta-tooltip": "The Delta View shows the unseen changes since your last visit to the page. This view is only available if there is at least 1 change.", "document-info": "Your Document Info lives here. This includes metadata required on each document.", "download-original-file": "Download Original File", "exclude-pages": "Exclude pages from redaction", From 99ec008781d2ad51bfce5163a95a8bf21749c74e Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 27 Jan 2022 12:03:16 +0100 Subject: [PATCH 227/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3213 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6a9848a01..7bc3b53b2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.189.0", + "version": "3.190.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index f889be9ea2e876a8a5774973fdbcb92c657cb5fe..a6728ca8d46feef132dd38e872833b9c47be2560 100644 GIT binary patch delta 3094 zcmV+x4C(Wa8I2i`cnJo65WKP-J8+$mfg*nsob~@>w7vSTNQ@&U$L3L8f7lva!3%#% z|DFTt?)AU)9nk+GfMH~RzpR?uFI@j`q7+v(Vd(O&Uw>h(F7Gbh&}~^%3^i4Db(u0& z*6W*_q{vx4-xS3rBe5Pz5A?+X4pVvZx`IAV??<~U-G!{_`argfR&r%&n!TwY$^UCcRsII~iM zV^X1iT_E(%qIpan*T}hpUn!xm{u=p#T|VAjJP#n&>yRWxMFeDsqx(%&G+4Ufo8e_agq`ltb9FkC`eGGq?-ExeXLm;aqo%5PS6R@Uk;-5THn#@x zpM4w)>$G?)B?PkuLMM<3VgT3-ha?j#NKdv#d6A2KIG#N1i$m9yubY_xaIXBYXf#QRs;3T})wC~<;a}`N2$NF zU`AO+W)l;^two}T6;XdXa~MnA)seB(Tj-(AK7l-hPaqH*9sLPwweIVb6%~g!cCd^* zGAkxgQQ_95gYHSiWiw4xlZ|&rZ-{#&mr)JQ-}!9w?2#d>tvunBgY5lv94 zE2?uhdPH6rBC@-0YY4;!eeBSGh(1yu@jW$V6CexKy^I6FhXsE+lf&HS6x(1X5FFz) z25zIvJ$X31`51jp^Ndi|^r_NZzn_q}r1F{dZi!$SSKMq1gbLKS__h zRFUB*t!R`ox-ox|6ii}CydKL}O_U~0elLQs4!@YD!tLQd4@nLy(;V^Sr(>`PNtI;p zzl~A?{Wbbh6#sw1Io^<}9;~yR)SSQS*ZH!@GFXSp>@!l4Nv2nmM6diF+3$gKqDTpH@O*X zH{Q|k>0kc$@Bh^3Dt-TLlh6%8UsPZo`SlRn^lk_wM|!evRith*HkCjo0sLFGa1wwc z#kBKfGNOO=5kqE?d)Mis;L7H~jsFu6O(xf9=hjMcJdvfHmWk=1(Q{iuN2_*>rVy$! z9CeFl!>2SG8_o4I!O*!fQ}3@7)W=FYags2 zhsEJ|mG37{94B!4Ds@iFk}yqRJY8s$rDPYe6MHhu8gZU77`3WR z2;6_U_6)h6_~V;qxoZRo3PeP85J!=4mP6ESe~a01J%MzF9LG^7LB5E?jKpAlx8Cgv z+v;FmuzrHY_=m+eEB98n2~I+FZpa}0-dH00U8{DePvEe2;v^b-54g(tKpe)lM!-V~ z>#dRa&~RnoDmcgRq4sC3m5k=s1e^$Fe3O5HIPjJ0ESxIF%(Rbu`o(j3@wey z6+4A>=A9zlw{?$h{p-gw`Iebwtv4u$1O}0P>};DaG2))$k!JKNjT!x;vkOM2d(phJBs53+pA>BuMWH}Q_S&OYqTA;v|}Nc8O@x- zIE}#d=l5D>--0JL}%eiT_YtmMw{=z*D75nRyBnPOt{@nc zsTwVI&&UMuu<+Sy(nbrIMm>Ldw7m!9C1;`2XjN(D5Zk9ps4a*Q;fm2nmW1OAqG3gF zArIJviSSag#2X^NYE_I3wq4N&kRRy;zeYw>scS%HEAi=K4tdIkSZ^tL5U(oKiS04z z^Jos;ZpO7}HyO$tejqn8C(nFs)^!gABayV*aHjnfH$G+^8*FiGc0+&rylp26`w#~J zNl^h|4V2tfgljUS?&yPq-EK7 zGk#ds@O9uDqvcqeu34MzK%2reg!PJViv!t8FDmJ5mHeky^2Ft#WJaFrNuGAUde(Mb zlEYmGFsdI54(&^(X|8{?+5VKkR!oRLPy_AoTDW~;pvEs5A|jkcS5U$u3po%ju2lw5 z>Ph0;Z$07dPf2w9gKH-BMn?_$Mws-!#{pkQQ1*fYQ&WaZKWiwH5+}AiIAlF zuTpm|ZtwHv;_%k+ z`=d#5DOQC41SY31AJs{nkKK1b+qokpKY)Ua?=>zIFs%0U!MA6S3e3A`|J{)4|$*h`EE#s|omOx+G(?t|bV{4aTfpyEE_>47?Z^2LEZ z>9~gm1DGS<7YxXG@w0*DMp%z||LZalAI&>+&%LQ+zJ05`Mwk4xHsY_fFK4KR5342> z6@K?8J{A@1rOphAFLU@NyWGCZ?Yg|a%j>%QzRT~rg1#&0x)y!cLUxtiXGO*?>p0Q1 zv>$mGJ28Ltv@_UABp-bAI+Fe{^qu(J{dugsA;#{R?LmxzhEdV|5Tkc2M&DC0DyH+o zfd4$UyiwA3TG1dej&sL-!AF3YBUm?hboo1pASt3|>eBnC{$E?p?cC1o+|KRX&h6aJ k?cC1o+|KRX&h6aJ?cC1o+|KRXezEQUwyBt508jz|0G%iUrT_o{ delta 3068 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 K?$TcXPyhhXV(5ne From cf4b84c47d6c4745be89e4400e94e76960ac0466 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 27 Jan 2022 11:44:56 +0200 Subject: [PATCH 228/260] add dossier template status column --- .../dossier-template-breadcrumbs.component.html | 2 +- .../dossier-templates-listing-screen.component.ts | 1 + .../dossier-templates-listing.module.ts | 1 - .../table-item/table-item.component.html | 6 ++++++ .../table-item/table-item.component.ts | 2 ++ .../translations/admin-side-nav-translations.ts | 2 +- .../translations/audit-categories-translations.ts | 4 ++-- .../translations/default-colors-translations.ts | 4 ++-- .../dossier-attribute-types-translations.ts | 4 ++-- .../dossier-template-status-translations.ts | 6 ++++++ .../file-attribute-types-translations.ts | 4 ++-- .../placeholders-descriptions-translations.ts | 8 ++++---- apps/red-ui/src/assets/i18n/de.json | 12 ++++++++++-- apps/red-ui/src/assets/i18n/en.json | 12 ++++++++++-- .../lib/dossier-templates/dossier-template.model.ts | 2 ++ .../src/lib/dossier-templates/dossier-template.ts | 1 + 16 files changed, 52 insertions(+), 19 deletions(-) create mode 100644 apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts diff --git a/apps/red-ui/src/app/modules/admin/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.html b/apps/red-ui/src/app/modules/admin/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.html index 4378310a0..b91797330 100644 --- a/apps/red-ui/src/app/modules/admin/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.html +++ b/apps/red-ui/src/app/modules/admin/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component.html @@ -3,7 +3,7 @@ *ngIf="root || !!dossierTemplatesService.activeDossierTemplate" [routerLink]="'/main/admin/dossier-templates'" class="breadcrumb" - translate="dossier-templates" + translate="dossier-templates.label" > diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts index 5387ae178..58ad942ef 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-templates-listing/dossier-templates-listing-screen/dossier-templates-listing-screen.component.ts @@ -40,6 +40,7 @@ export class DossierTemplatesListingScreenComponent extends ListingComponent {{ dossierTemplate.dateModified | date: 'd MMM. yyyy' }}
+
+ +
+
+ {{ translations[dossierTemplate.dossierTemplateStatus] | translate }} +
; private readonly _ngOnChanges$ = new BehaviorSubject(undefined); diff --git a/apps/red-ui/src/app/modules/admin/translations/admin-side-nav-translations.ts b/apps/red-ui/src/app/modules/admin/translations/admin-side-nav-translations.ts index 7103ed3be..ac6364a98 100644 --- a/apps/red-ui/src/app/modules/admin/translations/admin-side-nav-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/admin-side-nav-translations.ts @@ -3,4 +3,4 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; export const adminSideNavTranslations = { settings: _('admin-side-nav.settings'), dossierTemplates: _('admin-side-nav.dossier-templates'), -}; +} as const; diff --git a/apps/red-ui/src/app/modules/admin/translations/audit-categories-translations.ts b/apps/red-ui/src/app/modules/admin/translations/audit-categories-translations.ts index b0bbb0552..bf7560b38 100644 --- a/apps/red-ui/src/app/modules/admin/translations/audit-categories-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/audit-categories-translations.ts @@ -1,6 +1,6 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -export const auditCategoriesTranslations: { [key: string]: string } = { +export const auditCategoriesTranslations = { allCategories: _('audit-screen.categories.all-categories'), LICENSE: _('audit-screen.categories.license'), DOWNLOAD: _('audit-screen.categories.download'), @@ -13,4 +13,4 @@ export const auditCategoriesTranslations: { [key: string]: string } = { DOCUMENT: _('audit-screen.categories.document'), AUDIT: _('audit-screen.categories.audit'), DOSSIER_TEMPLATE: _('audit-screen.categories.dossier-template'), -}; +} as const; diff --git a/apps/red-ui/src/app/modules/admin/translations/default-colors-translations.ts b/apps/red-ui/src/app/modules/admin/translations/default-colors-translations.ts index f40ebd20b..ecc426d8c 100644 --- a/apps/red-ui/src/app/modules/admin/translations/default-colors-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/default-colors-translations.ts @@ -1,7 +1,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DefaultColorType } from '@red/domain'; -export const defaultColorsTranslations: { [key in DefaultColorType]: string } = { +export const defaultColorsTranslations: { readonly [key in DefaultColorType]: string } = { analysisColor: _('default-colors-screen.types.analysisColor'), defaultColor: _('default-colors-screen.types.defaultColor'), dictionaryRequestColor: _('default-colors-screen.types.dictionaryRequestColor'), @@ -12,4 +12,4 @@ export const defaultColorsTranslations: { [key in DefaultColorType]: string } = requestRemove: _('default-colors-screen.types.requestRemove'), updatedColor: _('default-colors-screen.types.updatedColor'), ignoredHintColor: _('default-colors-screen.types.ignoredHintColor'), -}; +} as const; diff --git a/apps/red-ui/src/app/modules/admin/translations/dossier-attribute-types-translations.ts b/apps/red-ui/src/app/modules/admin/translations/dossier-attribute-types-translations.ts index f37ed8473..cfd268a36 100644 --- a/apps/red-ui/src/app/modules/admin/translations/dossier-attribute-types-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/dossier-attribute-types-translations.ts @@ -1,9 +1,9 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { DossierAttributeConfigType } from '@red/domain'; -export const dossierAttributeTypesTranslations: { [key in DossierAttributeConfigType]: string } = { +export const dossierAttributeTypesTranslations: { readonly [key in DossierAttributeConfigType]: string } = { TEXT: _('dossier-attribute-types.text'), NUMBER: _('dossier-attribute-types.number'), DATE: _('dossier-attribute-types.date'), IMAGE: _('dossier-attribute-types.image'), -}; +} as const; diff --git a/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts b/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts new file mode 100644 index 000000000..a9de7a50b --- /dev/null +++ b/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts @@ -0,0 +1,6 @@ +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; + +export const dossierTemplateStatusTranslations = { + ACTIVE: _('dossier-templates.status.active'), + INCOMPLETE: _('dossier-templates.status.incomplete'), +} as const; diff --git a/apps/red-ui/src/app/modules/admin/translations/file-attribute-types-translations.ts b/apps/red-ui/src/app/modules/admin/translations/file-attribute-types-translations.ts index bbef380b6..fc13a865f 100644 --- a/apps/red-ui/src/app/modules/admin/translations/file-attribute-types-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/file-attribute-types-translations.ts @@ -1,8 +1,8 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; import { FileAttributeConfigType } from '@red/domain'; -export const fileAttributeTypesTranslations: { [key in FileAttributeConfigType]: string } = { +export const fileAttributeTypesTranslations: { readonly [key in FileAttributeConfigType]: string } = { TEXT: _('file-attribute-types.text'), NUMBER: _('file-attribute-types.number'), DATE: _('file-attribute-types.date'), -}; +} as const; diff --git a/apps/red-ui/src/app/modules/admin/translations/placeholders-descriptions-translations.ts b/apps/red-ui/src/app/modules/admin/translations/placeholders-descriptions-translations.ts index 3050c5996..366aaa667 100644 --- a/apps/red-ui/src/app/modules/admin/translations/placeholders-descriptions-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/placeholders-descriptions-translations.ts @@ -1,11 +1,11 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -export const placeholdersDescriptionsTranslations: { [key: string]: string } = { +export const placeholdersDescriptionsTranslations = { dossierAttributePlaceholders: _('reports-screen.descriptions.dossier-attributes'), fileAttributePlaceholders: _('reports-screen.descriptions.file-attributes'), -}; +} as const; -export const generalPlaceholdersDescriptionsTranslations: { [key: string]: string } = { +export const generalPlaceholdersDescriptionsTranslations = { 'file.name': _('reports-screen.descriptions.general.file.name'), 'redaction.page': _('reports-screen.descriptions.general.redaction.page'), 'redaction.paragraph': _('reports-screen.descriptions.general.redaction.paragraph'), @@ -18,4 +18,4 @@ export const generalPlaceholdersDescriptionsTranslations: { [key: string]: strin 'date.MM/dd/yyyy': _('reports-screen.descriptions.general.date.m-d-y'), 'time.HH:mm': _('reports-screen.descriptions.general.time.h-m'), 'dossier.name': _('reports-screen.descriptions.general.dossier.name'), -}; +} as const; diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 7dd9ec900..0d8eb9e41 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -785,7 +785,14 @@ "under-review": "In Review", "upload-files": "Sie können Dateien überall per Drag and Drop platzieren..." }, - "dossier-templates": "Dossier-Vorlagen", + "dossier-templates": { + "label": "Dossier-Vorlagen", + "status": { + "label": "", + "active": "", + "incomplete": "" + } + }, "dossier-templates-listing": { "action": { "delete": "Dossier-Vorlage", @@ -811,7 +818,8 @@ "created-by": "Erstellt von", "created-on": "Erstellt am", "modified-on": "Geändert am", - "name": "Name" + "name": "Name", + "status": "" }, "table-header": { "title": "{length} {length, plural, one{Dossier-Vorlage} other{Dossier-Vorlagen}}" diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index bd83e6e96..8ec7a3d3f 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -801,7 +801,14 @@ "entries": "{count} {count, plural, one{entry} other{entries}}", "modified-on": "Modified on: {date}" }, - "dossier-templates": "Dossier Templates", + "dossier-templates": { + "label": "Dossier Templates", + "status": { + "label": "Status", + "active": "Active", + "incomplete": "Incomplete" + } + }, "dossier-templates-listing": { "action": { "delete": "Delete Template", @@ -827,7 +834,8 @@ "created-by": "Created by", "created-on": "Created on", "modified-on": "Modified on", - "name": "Name" + "name": "Name", + "status": "Status" }, "table-header": { "title": "{length} dossier {length, plural, one{template} other{templates}}" diff --git a/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts b/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts index 3e9e58ae9..d4b58a5ac 100644 --- a/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts +++ b/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts @@ -14,6 +14,7 @@ export class DossierTemplate implements IDossierTemplate, IListable { readonly reportTemplateIds?: List; readonly validFrom?: string; readonly validTo?: string; + readonly dossierTemplateStatus: string; constructor(dossierTemplate: IDossierTemplate) { this.createdBy = dossierTemplate.createdBy; @@ -27,6 +28,7 @@ export class DossierTemplate implements IDossierTemplate, IListable { this.reportTemplateIds = dossierTemplate.reportTemplateIds; this.validFrom = dossierTemplate.validFrom; this.validTo = dossierTemplate.validTo; + this.dossierTemplateStatus = dossierTemplate.dossierTemplateStatus; } get id(): string { diff --git a/libs/red-domain/src/lib/dossier-templates/dossier-template.ts b/libs/red-domain/src/lib/dossier-templates/dossier-template.ts index 5dd184b39..cf2b60574 100644 --- a/libs/red-domain/src/lib/dossier-templates/dossier-template.ts +++ b/libs/red-domain/src/lib/dossier-templates/dossier-template.ts @@ -46,4 +46,5 @@ export interface IDossierTemplate { * Validity of end this dossierTemplate. */ readonly validTo?: string; + readonly dossierTemplateStatus: string; } From 5a7475a4c579ba586ff0149c283b894d2aa06e0c Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 27 Jan 2022 14:13:11 +0200 Subject: [PATCH 229/260] add validFrom and validTo to info page --- .../admin/admin-side-nav/admin-side-nav.component.ts | 2 +- .../dossier-template-info-screen.component.html | 10 ++++++++++ .../dossier-template-info-screen.component.scss | 2 +- .../dossier-template-info-screen.component.ts | 6 +++--- apps/red-ui/src/assets/i18n/en.json | 2 ++ 5 files changed, 17 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts index 382f10309..db715d7b9 100644 --- a/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts +++ b/apps/red-ui/src/app/modules/admin/admin-side-nav/admin-side-nav.component.ts @@ -28,7 +28,7 @@ export class AdminSideNavComponent implements OnInit { settings: [ { screen: 'dossier-templates', - label: _('dossier-templates'), + label: _('dossier-templates.label'), hideIf: !this.currentUser.isManager && !this.currentUser.isAdmin, }, { diff --git a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html index 35f01af0d..3d0ad05c5 100644 --- a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.html @@ -16,6 +16,11 @@ {{ 'dossier-template-info-screen.dictionaries' | translate: { count: stats.numberOfDictionaries } }}
+
+ + {{ 'dossier-template-info-screen.valid-from' | translate: { date: dossierTemplate.validFrom | date: 'd MMM. yyyy' } }} +
+
{{ 'dossier-template-info-screen.created-on' | translate: { date: dossierTemplate.dateAdded | date: 'd MMM. yyyy' } }} @@ -26,6 +31,11 @@ {{ 'dossier-template-info-screen.entries' | translate: { count: stats.numberOfEntries } }}
+
+ + {{ 'dossier-template-info-screen.valid-to' | translate: { date: dossierTemplate.validTo | date: 'd MMM. yyyy' } }} +
+
{{ 'dossier-template-info-screen.modified-on' | translate: { date: dossierTemplate.dateModified | date: 'd MMM. yyyy' } }} diff --git a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.scss index f26f4b8f0..ec2f71ce4 100644 --- a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.scss +++ b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.scss @@ -24,7 +24,7 @@ .stats-subtitle { margin-top: 16px; display: grid; - grid-template-columns: repeat(2, max-content); + grid-template-columns: repeat(3, max-content); grid-row-gap: 8px; grid-column-gap: 40px; } diff --git a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts index 8e4350a80..031bb2306 100644 --- a/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/info/info-screen/dossier-template-info-screen.component.ts @@ -13,8 +13,8 @@ import { PermissionsService } from '@services/permissions.service'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class DossierTemplateInfoScreenComponent { - dossierTemplate$: Observable; - dossierTemplateStats$: Observable; + readonly dossierTemplate$: Observable; + readonly dossierTemplateStats$: Observable; constructor( private readonly _dossierTemplatesService: DossierTemplatesService, @@ -28,7 +28,7 @@ export class DossierTemplateInfoScreenComponent { this.dossierTemplateStats$ = this._dossierTemplateStatsService.watch$(dossierTemplateId); } - openEditDossierTemplateDialog($event: any, dossierTemplate: DossierTemplate) { + openEditDossierTemplateDialog($event: MouseEvent, dossierTemplate: DossierTemplate) { this._dialogService.openDialog('addEditDossierTemplate', $event, dossierTemplate); } } diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index 8ec7a3d3f..ce431aa0e 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -796,6 +796,8 @@ "dossier-template-info-screen": { "created-by": "Created by", "created-on": "Created on: {date}", + "valid-from": "Valid from: {date}", + "valid-to": "Valid to: {date}", "description": "Description", "dictionaries": "{count} {count, plural, one{dictionary} other{dictionaries}}", "entries": "{count} {count, plural, one{entry} other{entries}}", From 7298a817c30ed2b70ce66ec90e1f6ee2eca2fe79 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Thu, 27 Jan 2022 17:59:38 +0200 Subject: [PATCH 230/260] filter not active dossier templates when adding or editing a dossier --- .../translations/dossier-template-status-translations.ts | 3 ++- .../add-dossier-dialog/add-dossier-dialog.component.ts | 2 +- .../general-info/edit-dossier-general-info.component.ts | 2 +- .../src/lib/dossier-templates/dossier-template.model.ts | 7 ++++++- .../src/lib/dossier-templates/dossier-template.ts | 3 ++- libs/red-domain/src/lib/dossier-templates/index.ts | 1 + libs/red-domain/src/lib/dossier-templates/types.ts | 6 ++++++ 7 files changed, 19 insertions(+), 5 deletions(-) create mode 100644 libs/red-domain/src/lib/dossier-templates/types.ts diff --git a/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts b/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts index a9de7a50b..452ab8825 100644 --- a/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts +++ b/apps/red-ui/src/app/modules/admin/translations/dossier-template-status-translations.ts @@ -1,6 +1,7 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { DossierTemplateStatus } from '@red/domain'; -export const dossierTemplateStatusTranslations = { +export const dossierTemplateStatusTranslations: { readonly [key in DossierTemplateStatus]: string } = { ACTIVE: _('dossier-templates.status.active'), INCOMPLETE: _('dossier-templates.status.incomplete'), } as const; diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts index 121c9cda1..edc03ca0e 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/add-dossier-dialog/add-dossier-dialog.component.ts @@ -117,7 +117,7 @@ export class AddDossierDialogComponent extends BaseDialogComponent { .filter(r => { const notYetValid = !!r.validFrom && moment(r.validFrom).isAfter(moment()); const notValidAnymore = !!r.validTo && moment(r.validTo).add(1, 'd').isBefore(moment()); - return !(notYetValid || notValidAnymore); + return !(notYetValid || notValidAnymore) && r.isActive; }) .sort((t1, t2) => t1.name.toLowerCase().localeCompare(t2.name.toLowerCase())); } diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts index c7eb44a96..4925acddb 100644 --- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts +++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/general-info/edit-dossier-general-info.component.ts @@ -153,7 +153,7 @@ export class EditDossierGeneralInfoComponent implements OnInit, EditDossierSecti } const notYetValid = !!r.validFrom && moment(r.validFrom).isAfter(moment()); const notValidAnymore = !!r.validTo && moment(r.validTo).add(1, 'd').isBefore(moment()); - return !(notYetValid || notValidAnymore); + return !(notYetValid || notValidAnymore) && r.isActive; }); } } diff --git a/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts b/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts index d4b58a5ac..703853f39 100644 --- a/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts +++ b/libs/red-domain/src/lib/dossier-templates/dossier-template.model.ts @@ -1,6 +1,7 @@ import { IListable, List } from '@iqser/common-ui'; import { IDossierTemplate } from './dossier-template'; import { DownloadFileType } from '../shared'; +import { DossierTemplateStatus, DossierTemplateStatuses } from './types'; export class DossierTemplate implements IDossierTemplate, IListable { readonly createdBy: string; @@ -14,7 +15,7 @@ export class DossierTemplate implements IDossierTemplate, IListable { readonly reportTemplateIds?: List; readonly validFrom?: string; readonly validTo?: string; - readonly dossierTemplateStatus: string; + readonly dossierTemplateStatus: DossierTemplateStatus; constructor(dossierTemplate: IDossierTemplate) { this.createdBy = dossierTemplate.createdBy; @@ -31,6 +32,10 @@ export class DossierTemplate implements IDossierTemplate, IListable { this.dossierTemplateStatus = dossierTemplate.dossierTemplateStatus; } + get isActive(): boolean { + return this.dossierTemplateStatus === DossierTemplateStatuses.ACTIVE; + } + get id(): string { return this.dossierTemplateId; } diff --git a/libs/red-domain/src/lib/dossier-templates/dossier-template.ts b/libs/red-domain/src/lib/dossier-templates/dossier-template.ts index cf2b60574..f05c44084 100644 --- a/libs/red-domain/src/lib/dossier-templates/dossier-template.ts +++ b/libs/red-domain/src/lib/dossier-templates/dossier-template.ts @@ -1,5 +1,6 @@ import { List } from '@iqser/common-ui'; import { DownloadFileType } from '../shared'; +import { DossierTemplateStatus } from './types'; export interface IDossierTemplate { /** @@ -46,5 +47,5 @@ export interface IDossierTemplate { * Validity of end this dossierTemplate. */ readonly validTo?: string; - readonly dossierTemplateStatus: string; + readonly dossierTemplateStatus: DossierTemplateStatus; } diff --git a/libs/red-domain/src/lib/dossier-templates/index.ts b/libs/red-domain/src/lib/dossier-templates/index.ts index 1e5fdfe97..cf815ad22 100644 --- a/libs/red-domain/src/lib/dossier-templates/index.ts +++ b/libs/red-domain/src/lib/dossier-templates/index.ts @@ -2,3 +2,4 @@ export * from './dossier-template'; export * from './dossier-template.model'; export * from './dossier-template-stats'; export * from './dossier-template-stats.model'; +export * from './types'; diff --git a/libs/red-domain/src/lib/dossier-templates/types.ts b/libs/red-domain/src/lib/dossier-templates/types.ts new file mode 100644 index 000000000..cf3d4e675 --- /dev/null +++ b/libs/red-domain/src/lib/dossier-templates/types.ts @@ -0,0 +1,6 @@ +export const DossierTemplateStatuses = { + ACTIVE: 'ACTIVE', + INCOMPLETE: 'INCOMPLETE', +} as const; + +export type DossierTemplateStatus = keyof typeof DossierTemplateStatuses; From 8781c5b55f28122a03ca0c8e9b6ffa7f0dae0476 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 27 Jan 2022 17:04:24 +0100 Subject: [PATCH 231/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3213 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7bc3b53b2..329e0c1ab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.190.0", + "version": "3.191.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index a6728ca8d46feef132dd38e872833b9c47be2560..184fdad685332d8759e2e125285444c15f48cdbc 100644 GIT binary patch delta 106 zcmV-w0G0oZ8IKu|c2+;|?WMhVWjl7@IImFfgHSVQP0etH(2udy&#}#Q{mUOUd&)@t zeObfl`u99LIP3q%XnXZvkr+ozj?JUG{;)N;f*1aj{yhiO-Ra+P76Isg5%}&avC6v( M2-W{%4**aA05aJ)_5c6? delta 104 zcmV-u0GI!d8I2i`c2wVA27VB{vK>2comVLML8uwDre?T8=*L*<=h)`D{^gIFJ!Pc+ zzO3PN{d=Ahob~@>w7vSTNQ@&U$L3L8f7lva!3%#%|DFTt?)AU)9nk+GfMK!By9)@m KshD8^Pyhgf>o@WM From 73662cecfebf33fe7a6ee9d3ce1a5d7653c435d4 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Fri, 24 Dec 2021 17:03:00 +0200 Subject: [PATCH 232/260] added references button and dialog --- .../annotation-actions.component.html | 10 +++++++++- .../annotation-actions.component.ts | 7 +++++++ ...nnotation-references-dialog.component.html | 4 ++++ ...nnotation-references-dialog.component.scss | 0 .../annotation-references-dialog.component.ts | 20 +++++++++++++++++++ .../file-preview.module.ts | 2 ++ .../services/dossiers-dialog.service.ts | 9 +++++++-- .../src/app/modules/icons/icons.module.ts | 1 + apps/red-ui/src/assets/i18n/en.json | 3 +++ .../src/assets/icons/general/reference.svg | 13 ++++++++++++ libs/common-ui | 2 +- 11 files changed, 67 insertions(+), 4 deletions(-) create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts create mode 100644 apps/red-ui/src/assets/icons/general/reference.svg diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 27d8236ef..567aeb3fd 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -88,7 +88,15 @@ > + + {}); + } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html new file mode 100644 index 000000000..bd39f1f2d --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -0,0 +1,4 @@ +
+
X REFERENCES
+ +
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts new file mode 100644 index 000000000..bbce745d7 --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -0,0 +1,20 @@ +import { Component } from '@angular/core'; +import { BaseDialogComponent } from '../../../../../../../../../../libs/common-ui/src'; + +@Component({ + selector: 'redaction-annotation-references-dialog', + templateUrl: './annotation-references-dialog.component.html', + styleUrls: ['./annotation-references-dialog.component.scss'], +}) +export class AnnotationReferencesDialogComponent extends BaseDialogComponent { + // eslint-disable-next-line @typescript-eslint/no-useless-constructor + constructor() { + super(); + } + + changed: boolean; + disabled: boolean; + valid: boolean; + + save(): void {} +} diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts index bd73b422f..37ec7d0a3 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts @@ -19,6 +19,7 @@ import { TypeAnnotationIconComponent } from './components/type-annotation-icon/t import { OverlayModule } from '@angular/cdk/overlay'; import { ViewSwitchComponent } from './components/view-switch/view-switch.component'; import { UserManagementComponent } from './components/user-management/user-management.component'; +import { AnnotationReferencesDialogComponent } from './components/annotation-references-dialog/annotation-references-dialog.component'; import { AcceptRecommendationDialogComponent } from './dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component'; const routes: Routes = [ @@ -46,6 +47,7 @@ const routes: Routes = [ ViewSwitchComponent, UserManagementComponent, AcceptRecommendationDialogComponent, + AnnotationReferencesDialogComponent, ], imports: [ RouterModule.forChild(routes), diff --git a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts index ca5aef32e..bdfc578b9 100644 --- a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts @@ -11,6 +11,7 @@ import { ChangeLegalBasisDialogComponent } from '../dialogs/change-legal-basis-d import { RecategorizeImageDialogComponent } from '../dialogs/recategorize-image-dialog/recategorize-image-dialog.component'; import { ConfirmationDialogComponent, DialogConfig, DialogService, largeDialogConfig } from '@iqser/common-ui'; import { ResizeAnnotationDialogComponent } from '../dialogs/resize-annotation-dialog/resize-annotation-dialog.component'; +import { AnnotationReferencesDialogComponent } from '../screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component'; type DialogType = | 'confirm' @@ -22,8 +23,9 @@ type DialogType = | 'changeLegalBasis' | 'removeAnnotations' | 'resizeAnnotation' - | 'forceAnnotation' - | 'manualAnnotation'; + | 'forceRedaction' + | 'manualAnnotation' + | 'seeAnnotationReferences'; @Injectable() export class DossiersDialogService extends DialogService { @@ -67,6 +69,9 @@ export class DossiersDialogService extends DialogService { component: ManualAnnotationDialogComponent, dialogConfig: { autoFocus: true }, }, + seeAnnotationReferences: { + component: AnnotationReferencesDialogComponent, + }, }; constructor(protected readonly _dialog: MatDialog) { diff --git a/apps/red-ui/src/app/modules/icons/icons.module.ts b/apps/red-ui/src/app/modules/icons/icons.module.ts index 0945fd73e..cf4598843 100644 --- a/apps/red-ui/src/app/modules/icons/icons.module.ts +++ b/apps/red-ui/src/app/modules/icons/icons.module.ts @@ -51,6 +51,7 @@ export class IconsModule { 'reanalyse', 'reason', 'redaction-changes', + 'reference', 'remove-from-dict', 'report', 'resize', diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index ce431aa0e..f64b1d60d 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -157,6 +157,9 @@ "force-redaction": { "label": "Force Redaction" }, + "see-references": { + "label": "See References" + }, "hide": "Hide", "message": { "dictionary": { diff --git a/apps/red-ui/src/assets/icons/general/reference.svg b/apps/red-ui/src/assets/icons/general/reference.svg new file mode 100644 index 000000000..ccbd1c2ea --- /dev/null +++ b/apps/red-ui/src/assets/icons/general/reference.svg @@ -0,0 +1,13 @@ + + + status + + + + + + + + + + \ No newline at end of file diff --git a/libs/common-ui b/libs/common-ui index b65ad23aa..6c79b02a5 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit b65ad23aaa3ed5ece6242c2b3b569322d275e93e +Subproject commit 6c79b02a50f268a6b663e8e46d88f3c0d333a608 From 7ce34ca329d29ff3d95aa9399f58917027d9ab39 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Wed, 5 Jan 2022 15:24:46 +0200 Subject: [PATCH 233/260] references dialog wip --- .../annotation-actions/annotation-actions.component.ts | 4 ++-- .../annotation-references-dialog.component.html | 2 +- .../annotation-references-dialog.component.scss | 4 ++++ .../annotation-references-dialog.component.ts | 2 +- .../components/file-workload/file-workload.component.html | 1 + .../components/file-workload/file-workload.component.ts | 1 + .../app/modules/dossier/services/dossiers-dialog.service.ts | 6 +----- 7 files changed, 11 insertions(+), 9 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.ts index d9cb9a9ba..9db9c00e3 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.ts @@ -38,6 +38,7 @@ export class AnnotationActionsComponent implements OnChanges { @Input() alwaysVisible: boolean; @Input() @Required() file!: File; @Output() annotationsChanged = new EventEmitter(); + @Output() seeReferences = new EventEmitter(); annotationPermissions: AnnotationPermissions; constructor( @@ -157,7 +158,6 @@ export class AnnotationActionsComponent implements OnChanges { } openAnnotationReferencesDialog(): void { - const data = {}; - this._dialogService.openDialog('seeAnnotationReferences', null, data, async () => {}); + this.seeReferences.emit(true); } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html index bd39f1f2d..fdda1748f 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -1,4 +1,4 @@ -
+
X REFERENCES
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss index e69de29bb..4b94df396 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss @@ -0,0 +1,4 @@ +.references-dialog { + position: fixed; + left: -100px; +} diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts index bbce745d7..a52d2d34c 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { BaseDialogComponent } from '../../../../../../../../../../libs/common-ui/src'; +import { BaseDialogComponent } from '@iqser/common-ui'; @Component({ selector: 'redaction-annotation-references-dialog', diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html index 71c41366d..375e46f74 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html @@ -50,6 +50,7 @@ (); @Output() readonly selectPage = new EventEmitter(); @Output() readonly annotationsChanged = new EventEmitter(); + @Output() readonly seeReferences = new EventEmitter(); displayedPages: number[] = []; pagesPanelActive = true; readonly displayedAnnotations$: Observable>; diff --git a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts index bdfc578b9..65d6e8092 100644 --- a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts @@ -24,8 +24,7 @@ type DialogType = | 'removeAnnotations' | 'resizeAnnotation' | 'forceRedaction' - | 'manualAnnotation' - | 'seeAnnotationReferences'; + | 'manualAnnotation'; @Injectable() export class DossiersDialogService extends DialogService { @@ -69,9 +68,6 @@ export class DossiersDialogService extends DialogService { component: ManualAnnotationDialogComponent, dialogConfig: { autoFocus: true }, }, - seeAnnotationReferences: { - component: AnnotationReferencesDialogComponent, - }, }; constructor(protected readonly _dialog: MatDialog) { From e8e8687ee9b2ae72a41f5fa6c794c1cb682b76d8 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Fri, 7 Jan 2022 22:25:58 +0200 Subject: [PATCH 234/260] dialog open on button click and annotation input --- .../annotation-references-dialog.component.ts | 19 +++++----- .../file-workload.component.html | 1 - .../file-workload/file-workload.component.ts | 1 - .../file-preview-screen.component.html | 6 ++++ .../file-preview-screen.component.ts | 35 +++++++++++++++++++ 5 files changed, 49 insertions(+), 13 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts index a52d2d34c..ea3dcc01f 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -1,20 +1,17 @@ -import { Component } from '@angular/core'; -import { BaseDialogComponent } from '@iqser/common-ui'; +import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { AnnotationWrapper } from '@models/file/annotation.wrapper'; @Component({ selector: 'redaction-annotation-references-dialog', templateUrl: './annotation-references-dialog.component.html', styleUrls: ['./annotation-references-dialog.component.scss'], }) -export class AnnotationReferencesDialogComponent extends BaseDialogComponent { +export class AnnotationReferencesDialogComponent implements OnInit { // eslint-disable-next-line @typescript-eslint/no-useless-constructor - constructor() { - super(); + @Input() annotation: AnnotationWrapper; + constructor() {} + + ngOnInit(): void { + console.log(this.annotation); } - - changed: boolean; - disabled: boolean; - valid: boolean; - - save(): void {} } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html index 375e46f74..71c41366d 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html @@ -50,7 +50,6 @@ (); @Output() readonly selectPage = new EventEmitter(); @Output() readonly annotationsChanged = new EventEmitter(); - @Output() readonly seeReferences = new EventEmitter(); displayedPages: number[] = []; pagesPanelActive = true; readonly displayedAnnotations$: Observable>; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html index b90dd8d93..1b5ce036a 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html @@ -118,11 +118,17 @@ + + diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 93db957e2..ee38046dd 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -88,6 +88,8 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni ready = false; private _instance: WebViewerInstance; private _lastPage: string; + private _seeReferences = false; + private _reloadFileOnReanalysis = false; @ViewChild('fileWorkloadComponent') private readonly _workloadComponent: FileWorkloadComponent; @ViewChild('annotationFilterTemplate', { read: TemplateRef, @@ -152,6 +154,39 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni return this._stateService.fileData; } + private _setActiveViewerPage() { + const currentPage = this._instance?.Core.documentViewer?.getCurrentPage(); + if (!currentPage) { + this.activeViewerPage = 1; + } else { + this.activeViewerPage = this.viewModeService.isCompare + ? currentPage % 2 === 0 + ? currentPage / 2 + : (currentPage + 1) / 2 + : currentPage; + } + } + + set seeReferences(e) { + this._seeReferences = e; + } + + get seeReferences(): boolean { + return this._seeReferences; + } + + private get _viewDocumentInfo$() { + return this.documentInfoService.shown$.pipe( + tap(value => { + if (value) { + this.multiSelectService.deactivate(); + this.excludedPagesService.hide(); + } + }), + shareDistinctLast(), + ); + } + private get _canPerformAnnotationActions$() { return combineLatest([ this._stateService.fileData$.pipe(switchMap(fileData => fileData.file$)), From 13a71bf06a87ca64972bd7f1d8507953991343a7 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Sun, 9 Jan 2022 19:14:15 +0200 Subject: [PATCH 235/260] references dialog close button --- .../annotation-references-dialog.component.html | 10 ++++++---- .../annotation-references-dialog.component.scss | 2 +- .../annotation-references-dialog.component.ts | 3 ++- .../file-preview-screen.component.html | 10 +++++----- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html index fdda1748f..598299dd3 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -1,4 +1,6 @@ -
-
X REFERENCES
- -
+
+
+
X REFERENCES
+ +
+
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss index 4b94df396..cc502ada9 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss @@ -1,4 +1,4 @@ .references-dialog { position: fixed; - left: -100px; + right: 350px; } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts index ea3dcc01f..5cb9a4fdc 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnDestroy, OnInit } from '@angular/core'; +import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; @Component({ @@ -9,6 +9,7 @@ import { AnnotationWrapper } from '@models/file/annotation.wrapper'; export class AnnotationReferencesDialogComponent implements OnInit { // eslint-disable-next-line @typescript-eslint/no-useless-constructor @Input() annotation: AnnotationWrapper; + @Output() readonly closeDialog = new EventEmitter(); constructor() {} ngOnInit(): void { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html index 1b5ce036a..a8901693a 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html @@ -124,13 +124,13 @@ [file]="file" [viewer]="activeViewer" >
- - + + Date: Mon, 10 Jan 2022 14:21:03 +0200 Subject: [PATCH 236/260] annotation references in template --- .../annotation-references-dialog.component.html | 6 ++++-- .../annotation-references-dialog.component.scss | 4 ++++ .../annotations-list/annotations-list.component.html | 2 ++ .../annotations-list/annotations-list.component.ts | 1 + .../file-workload/file-workload.component.html | 1 + .../file-workload/file-workload.component.ts | 1 + .../file-preview-screen.component.html | 12 ++++++++---- 7 files changed, 21 insertions(+), 6 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html index 598299dd3..0234943e1 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -1,6 +1,8 @@
-
X REFERENCES
- +
+
X REFERENCES
+ +
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss index cc502ada9..045ba5b10 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss @@ -1,4 +1,8 @@ .references-dialog { position: fixed; right: 350px; + + .references-header { + padding: 13px 13px 0 13px; + } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index 368df6874..f50ea272a 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -60,4 +60,6 @@
+ +
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts index 437b31c31..49f2f0e31 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts @@ -15,6 +15,7 @@ export class AnnotationsListComponent implements OnChanges { @Input() annotations: AnnotationWrapper[]; @Input() selectedAnnotations: AnnotationWrapper[]; @Input() annotationActionsTemplate: TemplateRef; + @Input() annotationReferencesTemplate: TemplateRef; @Input() activeViewerPage: number; @Input() canMultiSelect = true; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html index 71c41366d..ac5e886ee 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html @@ -201,6 +201,7 @@ (selectAnnotations)="selectAnnotations.emit($event)" [activeViewerPage]="activeViewerPage" [annotationActionsTemplate]="annotationActionsTemplate" + [annotationReferencesTemplate]="annotationReferencesTemplate" [annotations]="(displayedAnnotations$ | async)?.get(activeViewerPage)" [canMultiSelect]="!isReadOnly" [file]="file" diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts index 584a25e84..9ba05aae5 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts @@ -54,6 +54,7 @@ export class FileWorkloadComponent { @Input() dialogRef: MatDialogRef; @Input() file!: File; @Input() annotationActionsTemplate: TemplateRef; + @Input() annotationReferencesTemplate: TemplateRef; @Input() viewer: WebViewerInstance; @Output() readonly shouldDeselectAnnotationsOnPageChangeChange = new EventEmitter(); @Output() readonly selectAnnotations = new EventEmitter(); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html index a8901693a..1dd36f48f 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html @@ -106,6 +106,7 @@ [activeViewerPage]="activeViewerPage" [annotationActionsTemplate]="annotationActionsTemplate" [annotations]="visibleAnnotations" + [annotationReferencesTemplate]="annotationReferencesTemplate" [dialogRef]="dialogRef" [file]="file" [selectedAnnotations]="selectedAnnotations" @@ -126,10 +127,13 @@ > - + + + Date: Mon, 10 Jan 2022 17:16:37 +0200 Subject: [PATCH 237/260] separate annotation card component in list --- .../annotation-card.component.html | 22 +++++++++++++ .../annotation-card.component.scss | 13 ++++++++ .../annotation-card.component.ts | 17 ++++++++++ ...nnotation-references-dialog.component.html | 2 +- ...nnotation-references-dialog.component.scss | 5 ++- .../annotations-list.component.html | 32 ++++--------------- .../annotations-list.component.scss | 14 -------- .../file-preview.module.ts | 2 ++ 8 files changed, 66 insertions(+), 41 deletions(-) create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.scss create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html new file mode 100644 index 000000000..a23949aed --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html @@ -0,0 +1,22 @@ +
+ + +
+
+ {{ annotation.typeLabel | translate }} +
+
+ + {{ annotation.descriptor | translate }}: {{ annotation.type | humanize: false }} +
+
+ : {{ annotation.shortContent }} +
+
+ +
+ +
+
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.scss new file mode 100644 index 000000000..2da4583a7 --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.scss @@ -0,0 +1,13 @@ +.details { + display: flex; + position: relative; +} + +.active-icon-marker-container { + min-width: 20px; +} + +redaction-type-annotation-icon { + margin-top: 6px; + margin-right: 10px; +} diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts new file mode 100644 index 000000000..a0b18557d --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts @@ -0,0 +1,17 @@ +import { Component, Input } from '@angular/core'; +import { AnnotationWrapper } from '../../../../../../models/file/annotation.wrapper'; +import { File } from '@red/domain'; +import { MultiSelectService } from '../../services/multi-select.service'; + +@Component({ + selector: 'redaction-annotation-card', + templateUrl: './annotation-card.component.html', + styleUrls: ['./annotation-card.component.scss'], +}) +export class AnnotationCardComponent { + @Input() annotation: AnnotationWrapper; + @Input() file: File; + @Input() isSelected = false; + + constructor(readonly multiSelectService: MultiSelectService) {} +} diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html index 0234943e1..79479c853 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -1,6 +1,6 @@
-
+
X REFERENCES
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss index 045ba5b10..2e6925b09 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss @@ -1,8 +1,11 @@ .references-dialog { position: fixed; - right: 350px; + margin: 0; + right: 370px; + top: 165px; .references-header { padding: 13px 13px 0 13px; + align-items: center; } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index f50ea272a..ee7df1598 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -11,31 +11,13 @@
-
- - -
-
- {{ annotation.typeLabel | translate }} -
-
- - {{ annotation.descriptor | translate }}: {{ annotation.type | humanize: false }} -
-
- : {{ annotation.shortContent }} -
-
- -
- -
-
+
Date: Wed, 12 Jan 2022 14:07:49 +0200 Subject: [PATCH 238/260] show/hide dialog functionality in separate service --- .../annotation-actions.component.html | 5 +++-- .../annotation-actions.component.ts | 9 ++++---- ...nnotation-references-dialog.component.html | 2 +- .../annotation-references-dialog.component.ts | 9 ++++---- .../annotations-list.component.html | 7 ++++-- .../annotations-list.component.ts | 8 +++++-- .../file-workload.component.html | 1 - .../file-workload/file-workload.component.ts | 1 - .../file-preview-screen.component.html | 10 --------- .../file-preview-screen.component.ts | 11 ++-------- .../services/annotation-references.service.ts | 22 +++++++++++++++++++ .../services/dossiers-dialog.service.ts | 2 +- 12 files changed, 49 insertions(+), 38 deletions(-) create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 567aeb3fd..548fe9710 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -88,7 +88,8 @@ > (); - @Output() seeReferences = new EventEmitter(); annotationPermissions: AnnotationPermissions; constructor( private readonly _manualAnnotationService: ManualAnnotationService, readonly annotationActionsService: AnnotationActionsService, + readonly annotationReferencesService: AnnotationReferencesService, + readonly multiSelectService: MultiSelectService, private readonly _permissionsService: PermissionsService, private readonly _dossiersService: DossiersService, private readonly _userService: UserService, @@ -156,8 +159,4 @@ export class AnnotationActionsComponent implements OnChanges { this.annotations, ); } - - openAnnotationReferencesDialog(): void { - this.seeReferences.emit(true); - } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html index 79479c853..7bcbbdf53 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -2,7 +2,7 @@
X REFERENCES
- +
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts index 5cb9a4fdc..1490877f5 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -1,5 +1,6 @@ import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; +import { AnnotationReferencesService } from '../../services/annotation-references.service'; @Component({ selector: 'redaction-annotation-references-dialog', @@ -7,10 +8,10 @@ import { AnnotationWrapper } from '@models/file/annotation.wrapper'; styleUrls: ['./annotation-references-dialog.component.scss'], }) export class AnnotationReferencesDialogComponent implements OnInit { - // eslint-disable-next-line @typescript-eslint/no-useless-constructor - @Input() annotation: AnnotationWrapper; - @Output() readonly closeDialog = new EventEmitter(); - constructor() {} + @Input() + annotation: AnnotationWrapper; + + constructor(readonly annotationReferencesService: AnnotationReferencesService) {} ngOnInit(): void { console.log(this.annotation); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index ee7df1598..ae347c512 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -42,6 +42,9 @@
- -
+ + diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts index 49f2f0e31..4671bf016 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts @@ -3,6 +3,7 @@ import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { HelpModeService, IqserEventTarget } from '@iqser/common-ui'; import { File } from '@red/domain'; import { MultiSelectService } from '../../services/multi-select.service'; +import { AnnotationReferencesService } from '../../services/annotation-references.service'; @Component({ selector: 'redaction-annotations-list', @@ -15,7 +16,6 @@ export class AnnotationsListComponent implements OnChanges { @Input() annotations: AnnotationWrapper[]; @Input() selectedAnnotations: AnnotationWrapper[]; @Input() annotationActionsTemplate: TemplateRef; - @Input() annotationReferencesTemplate: TemplateRef; @Input() activeViewerPage: number; @Input() canMultiSelect = true; @@ -23,7 +23,11 @@ export class AnnotationsListComponent implements OnChanges { @Output() readonly selectAnnotations = new EventEmitter(); @Output() readonly deselectAnnotations = new EventEmitter(); - constructor(readonly multiSelectService: MultiSelectService, readonly helpModeService: HelpModeService) {} + constructor( + readonly multiSelectService: MultiSelectService, + readonly helpModeService: HelpModeService, + readonly annotationReferencesService: AnnotationReferencesService, + ) {} ngOnChanges(changes: SimpleChanges): void { if (changes.annotations && this.annotations) { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html index ac5e886ee..71c41366d 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html @@ -201,7 +201,6 @@ (selectAnnotations)="selectAnnotations.emit($event)" [activeViewerPage]="activeViewerPage" [annotationActionsTemplate]="annotationActionsTemplate" - [annotationReferencesTemplate]="annotationReferencesTemplate" [annotations]="(displayedAnnotations$ | async)?.get(activeViewerPage)" [canMultiSelect]="!isReadOnly" [file]="file" diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts index 9ba05aae5..584a25e84 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts @@ -54,7 +54,6 @@ export class FileWorkloadComponent { @Input() dialogRef: MatDialogRef; @Input() file!: File; @Input() annotationActionsTemplate: TemplateRef; - @Input() annotationReferencesTemplate: TemplateRef; @Input() viewer: WebViewerInstance; @Output() readonly shouldDeselectAnnotationsOnPageChangeChange = new EventEmitter(); @Output() readonly selectAnnotations = new EventEmitter(); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html index 1dd36f48f..b90dd8d93 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html @@ -106,7 +106,6 @@ [activeViewerPage]="activeViewerPage" [annotationActionsTemplate]="annotationActionsTemplate" [annotations]="visibleAnnotations" - [annotationReferencesTemplate]="annotationReferencesTemplate" [dialogRef]="dialogRef" [file]="file" [selectedAnnotations]="selectedAnnotations" @@ -119,7 +118,6 @@ - - - - { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts new file mode 100644 index 000000000..03651811d --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts @@ -0,0 +1,22 @@ +import { Injectable } from '@angular/core'; +import { BehaviorSubject, Observable } from 'rxjs'; +import { shareDistinctLast } from '@iqser/common-ui'; +import { AnnotationWrapper } from '@models/file/annotation.wrapper'; + +@Injectable() +export class AnnotationReferencesService { + readonly annotation$: Observable; + private readonly _annotation$ = new BehaviorSubject(null); + + constructor() { + this.annotation$ = this._annotation$.asObservable().pipe(shareDistinctLast()); + } + + show(annotations: AnnotationWrapper[]) { + this._annotation$.next(annotations[0]); + } + + hide() { + this._annotation$.next(null); + } +} diff --git a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts index 65d6e8092..ae70049f4 100644 --- a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts @@ -23,7 +23,7 @@ type DialogType = | 'changeLegalBasis' | 'removeAnnotations' | 'resizeAnnotation' - | 'forceRedaction' + | 'forceAnnotation' | 'manualAnnotation'; @Injectable() From 23d79a00e2572927298b26f223bb878242214a65 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Wed, 12 Jan 2022 16:55:15 +0200 Subject: [PATCH 239/260] reference cards in dialog --- .../src/app/models/file/annotation.wrapper.ts | 2 ++ ...nnotation-references-dialog.component.html | 14 ++++++++- ...nnotation-references-dialog.component.scss | 17 +++++++++++ .../annotation-references-dialog.component.ts | 29 ++++++++++++++++--- .../annotations-list.component.html | 1 + 5 files changed, 58 insertions(+), 5 deletions(-) diff --git a/apps/red-ui/src/app/models/file/annotation.wrapper.ts b/apps/red-ui/src/app/models/file/annotation.wrapper.ts index 9ba422ab9..9c4ee46e7 100644 --- a/apps/red-ui/src/app/models/file/annotation.wrapper.ts +++ b/apps/red-ui/src/app/models/file/annotation.wrapper.ts @@ -46,6 +46,7 @@ export class AnnotationWrapper { rectangle?: boolean; hintDictionary?: boolean; section?: string; + reference?: Array; manual?: boolean; @@ -259,6 +260,7 @@ export class AnnotationWrapper { annotationWrapper.manual = redactionLogEntry.manual; annotationWrapper.engines = redactionLogEntry.engines; annotationWrapper.section = redactionLogEntry.section; + annotationWrapper.reference = redactionLogEntry.reference; annotationWrapper.rectangle = redactionLogEntry.rectangle; annotationWrapper.hasBeenResized = redactionLogEntry.hasBeenResized; annotationWrapper.hasBeenRecategorized = redactionLogEntry.hasBeenRecategorized; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html index 7bcbbdf53..1f651a5ae 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -1,8 +1,20 @@
-
+
X REFERENCES
+
+
+
+ +
+
+
+
+ +
+
+
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss index 2e6925b09..bca793333 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss @@ -1,11 +1,28 @@ +@use 'common-mixins' as mixins; + .references-dialog { position: fixed; margin: 0; + width: 280px; right: 370px; top: 165px; .references-header { padding: 13px 13px 0 13px; align-items: center; + justify-content: space-between; + } + + .annotations-container { + flex-direction: column; + + .annotation-container { + width: 100%; + border: 1px solid rgba(226, 228, 233, 0.9); + + .annotation-card-container { + padding: 11px 16px 16px 10px; + } + } } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts index 1490877f5..2918d5afb 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -1,6 +1,9 @@ -import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core'; +import { Component, Input, OnInit } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { AnnotationReferencesService } from '../../services/annotation-references.service'; +import { File } from '@red/domain'; +import { PdfViewerDataService } from '../../../../services/pdf-viewer-data.service'; +import { FileDataModel } from '@models/file/file-data.model'; @Component({ selector: 'redaction-annotation-references-dialog', @@ -10,10 +13,28 @@ import { AnnotationReferencesService } from '../../services/annotation-reference export class AnnotationReferencesDialogComponent implements OnInit { @Input() annotation: AnnotationWrapper; + @Input() + file: File; + fileData: FileDataModel; + annotationReferences: AnnotationWrapper[]; - constructor(readonly annotationReferencesService: AnnotationReferencesService) {} + constructor( + readonly annotationReferencesService: AnnotationReferencesService, + private readonly _fileDownloadService: PdfViewerDataService, + ) {} - ngOnInit(): void { - console.log(this.annotation); + async ngOnInit(): Promise { + await this._loadFileData(this.file); + this.annotationReferences = this.fileData.allAnnotations.filter(a => this.annotation.reference.includes(a.annotationId)); + } + + private async _loadFileData(file: File): Promise { + const fileData = await this._fileDownloadService.loadDataFor(file, this.fileData).toPromise(); + + if (file.isPending) { + return; + } + + this.fileData = fileData; } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index ae347c512..ecbdb645e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -47,4 +47,5 @@ From 7759cdd018555a1dca1e3746bf3b04ea6f9e12c4 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 13 Jan 2022 12:17:54 +0200 Subject: [PATCH 240/260] page indicator and click event on reference --- .../annotation-card.component.scss | 2 + ...nnotation-references-dialog.component.html | 43 +++++++++++++------ ...nnotation-references-dialog.component.scss | 6 ++- .../annotation-references-dialog.component.ts | 16 +++++-- ...n-references-page-indicator.component.html | 6 +++ ...n-references-page-indicator.component.scss | 23 ++++++++++ ...ion-references-page-indicator.component.ts | 10 +++++ .../annotations-list.component.html | 1 + .../annotations-list.component.ts | 4 +- .../file-preview.module.ts | 2 + 10 files changed, 92 insertions(+), 21 deletions(-) create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.html create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.scss create mode 100644 apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.scss index 2da4583a7..06d7ec7bb 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.scss @@ -1,6 +1,8 @@ .details { display: flex; position: relative; + font-size: 11px; + line-height: 14px; } .active-icon-marker-container { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html index 1f651a5ae..fbc7b496a 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -1,20 +1,35 @@ -
-
-
-
X REFERENCES
- -
-
-
-
- + +
+
+
+
+ {{ annotationReferences.length }} {{ annotationReferences.length === 1 ? 'REFERENCE' : 'REFERENCES' }}
+
-
-
- +
+
+
+ + +
+
+
+
+ + +
-
+ diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss index bca793333..6fc20e682 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss @@ -8,7 +8,7 @@ top: 165px; .references-header { - padding: 13px 13px 0 13px; + padding: 8px 8px 8px 13px; align-items: center; justify-content: space-between; } @@ -18,10 +18,12 @@ .annotation-container { width: 100%; - border: 1px solid rgba(226, 228, 233, 0.9); + border-top: 1px solid rgba(226, 228, 233, 0.9); .annotation-card-container { padding: 11px 16px 16px 10px; + justify-content: space-between; + align-items: flex-start; } } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts index 2918d5afb..f0a8ac168 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -1,4 +1,4 @@ -import { Component, Input, OnInit } from '@angular/core'; +import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { AnnotationReferencesService } from '../../services/annotation-references.service'; import { File } from '@red/domain'; @@ -10,11 +10,13 @@ import { FileDataModel } from '@models/file/file-data.model'; templateUrl: './annotation-references-dialog.component.html', styleUrls: ['./annotation-references-dialog.component.scss'], }) -export class AnnotationReferencesDialogComponent implements OnInit { +export class AnnotationReferencesDialogComponent implements OnInit, OnChanges { @Input() annotation: AnnotationWrapper; @Input() file: File; + @Output() + readonly referenceClicked = new EventEmitter(); fileData: FileDataModel; annotationReferences: AnnotationWrapper[]; @@ -24,11 +26,19 @@ export class AnnotationReferencesDialogComponent implements OnInit { ) {} async ngOnInit(): Promise { + await this.setReferences(); + } + + async ngOnChanges(changes: SimpleChanges): Promise { + await this.setReferences(); + } + + async setReferences(): Promise { await this._loadFileData(this.file); this.annotationReferences = this.fileData.allAnnotations.filter(a => this.annotation.reference.includes(a.annotationId)); } - private async _loadFileData(file: File): Promise { + private async _loadFileData(file: File): Promise { const fileData = await this._fileDownloadService.loadDataFor(file, this.fileData).toPromise(); if (file.isPending) { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.html new file mode 100644 index 000000000..0b5e6e40b --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.html @@ -0,0 +1,6 @@ +
+ +
+ {{ number }} +
+
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.scss new file mode 100644 index 000000000..d8ac8ff76 --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.scss @@ -0,0 +1,23 @@ +.page-number-wrapper { + position: relative; + height: 30px; + + mat-icon { + width: 27px; + height: 100%; + } + + .text { + left: 0; + right: 0; + bottom: 0; + top: 0; + display: flex; + justify-content: center; + align-items: center; + font-size: 11px; + line-height: 11px; + position: absolute; + background: transparent; + } +} diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts new file mode 100644 index 000000000..42761871a --- /dev/null +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts @@ -0,0 +1,10 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'redaction-annotation-references-page-indicator', + templateUrl: './annotation-references-page-indicator.component.html', + styleUrls: ['./annotation-references-page-indicator.component.scss'], +}) +export class AnnotationReferencesPageIndicatorComponent { + @Input() number; +} diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index ecbdb645e..ed812c15b 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -48,4 +48,5 @@ *ngIf="annotationReferencesService.annotation$ | async as annotation" [annotation]="annotation" [file]="file" + (referenceClicked)="annotationClicked($event, null)" > diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts index 4671bf016..16ad21f1e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts @@ -36,14 +36,14 @@ export class AnnotationsListComponent implements OnChanges { } annotationClicked(annotation: AnnotationWrapper, $event: MouseEvent): void { - if (($event.target as IqserEventTarget).localName === 'input') { + if (($event?.target as IqserEventTarget)?.localName === 'input') { return; } this.pagesPanelActive.emit(false); if (this.isSelected(annotation.annotationId)) { this.deselectAnnotations.emit([annotation]); } else { - if (this.canMultiSelect && ($event.ctrlKey || $event.metaKey) && this.selectedAnnotations.length > 0) { + if (this.canMultiSelect && ($event?.ctrlKey || $event?.metaKey) && this.selectedAnnotations.length > 0) { this.multiSelectService.activate(); } this.selectAnnotations.emit([annotation]); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts index dea30eb79..ee9ce8bf2 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts @@ -22,6 +22,7 @@ import { UserManagementComponent } from './components/user-management/user-manag import { AnnotationReferencesDialogComponent } from './components/annotation-references-dialog/annotation-references-dialog.component'; import { AcceptRecommendationDialogComponent } from './dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component'; import { AnnotationCardComponent } from './components/annotation-card/annotation-card.component'; +import { AnnotationReferencesPageIndicatorComponent } from './components/annotation-references-page-indicator/annotation-references-page-indicator.component'; const routes: Routes = [ { @@ -50,6 +51,7 @@ const routes: Routes = [ AcceptRecommendationDialogComponent, AnnotationReferencesDialogComponent, AnnotationCardComponent, + AnnotationReferencesPageIndicatorComponent, ], imports: [ RouterModule.forChild(routes), From 22b9a51210e83e466cbfc4876f9ee579e1106580 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Fri, 14 Jan 2022 15:24:04 +0200 Subject: [PATCH 241/260] apply filters when reference is clicked --- ...annotation-references-dialog.component.scss | 2 ++ .../annotations-list.component.html | 2 +- .../annotations-list.component.ts | 18 +++++++++++++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss index 6fc20e682..f54b24b62 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss @@ -4,6 +4,7 @@ position: fixed; margin: 0; width: 280px; + max-height: 380px; right: 370px; top: 165px; @@ -15,6 +16,7 @@ .annotations-container { flex-direction: column; + overflow: auto; .annotation-container { width: 100%; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index ed812c15b..1a9e22ec7 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -48,5 +48,5 @@ *ngIf="annotationReferencesService.annotation$ | async as annotation" [annotation]="annotation" [file]="file" - (referenceClicked)="annotationClicked($event, null)" + (referenceClicked)="referenceClicked($event)" > diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts index 16ad21f1e..a3583836d 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts @@ -1,6 +1,6 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, TemplateRef } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { HelpModeService, IqserEventTarget } from '@iqser/common-ui'; +import { FilterService, HelpModeService, IqserEventTarget } from '@iqser/common-ui'; import { File } from '@red/domain'; import { MultiSelectService } from '../../services/multi-select.service'; import { AnnotationReferencesService } from '../../services/annotation-references.service'; @@ -27,6 +27,7 @@ export class AnnotationsListComponent implements OnChanges { readonly multiSelectService: MultiSelectService, readonly helpModeService: HelpModeService, readonly annotationReferencesService: AnnotationReferencesService, + private readonly _filterService: FilterService, ) {} ngOnChanges(changes: SimpleChanges): void { @@ -50,6 +51,21 @@ export class AnnotationsListComponent implements OnChanges { } } + referenceClicked(annotation: AnnotationWrapper): void { + this.annotationClicked(annotation, null); + if (this._filterService.filtersEnabled('primaryFilters')) { + this.toggleFilterAndChildren(annotation); + } + } + + toggleFilterAndChildren(annotation: AnnotationWrapper): void { + const primaryFilters = this._filterService.getGroup('primaryFilters'); + const filter = primaryFilters.filters.find(f => f.id === annotation.superType); + filter.checked = true; + filter.children.forEach(f => (f.checked = true)); + this._filterService.refresh(); + } + isSelected(annotationId: string): boolean { return !!this.selectedAnnotations?.find(a => a?.annotationId === annotationId); } From 32d6a894fc002b0e83c17376a61213876e4bbe31 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Sun, 16 Jan 2022 13:43:01 +0200 Subject: [PATCH 242/260] removed useless stuff & show button if annotation has references --- .../annotation-actions.component.html | 2 +- ...nnotation-references-dialog.component.html | 12 ++++------ ...nnotation-references-dialog.component.scss | 8 +++++++ .../annotation-references-dialog.component.ts | 1 + .../file-preview-screen.component.ts | 1 - .../services/annotation-references.service.ts | 4 ++++ .../services/dossiers-dialog.service.ts | 1 - apps/red-ui/src/assets/i18n/de.json | 22 ++++++++++++++++--- apps/red-ui/src/assets/i18n/en.json | 4 ++++ .../src/assets/icons/general/reference.svg | 3 +-- 10 files changed, 42 insertions(+), 16 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 548fe9710..ebdcd32f0 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -89,7 +89,7 @@
- {{ annotationReferences.length }} {{ annotationReferences.length === 1 ? 'REFERENCE' : 'REFERENCES' }} + {{ annotationReferences.length }} + {{ (annotationReferences.length === 1 ? 'references.singular' : 'references.plural') | translate }}
-
+
-
+
{ + console.log(this.annotation); await this.setReferences(); } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 77c0624eb..8246c2072 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -89,7 +89,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni ready = false; private _instance: WebViewerInstance; private _lastPage: string; - private _reloadFileOnReanalysis = false; @ViewChild('fileWorkloadComponent') private readonly _workloadComponent: FileWorkloadComponent; @ViewChild('annotationFilterTemplate', { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts index 03651811d..26cc1f09e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts @@ -12,6 +12,10 @@ export class AnnotationReferencesService { this.annotation$ = this._annotation$.asObservable().pipe(shareDistinctLast()); } + hasReferences(annotations: AnnotationWrapper[]): boolean { + return !!annotations[0].reference && annotations[0].reference.length !== 0; + } + show(annotations: AnnotationWrapper[]) { this._annotation$.next(annotations[0]); } diff --git a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts index ae70049f4..ca5aef32e 100644 --- a/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts +++ b/apps/red-ui/src/app/modules/dossier/services/dossiers-dialog.service.ts @@ -11,7 +11,6 @@ import { ChangeLegalBasisDialogComponent } from '../dialogs/change-legal-basis-d import { RecategorizeImageDialogComponent } from '../dialogs/recategorize-image-dialog/recategorize-image-dialog.component'; import { ConfirmationDialogComponent, DialogConfig, DialogService, largeDialogConfig } from '@iqser/common-ui'; import { ResizeAnnotationDialogComponent } from '../dialogs/resize-annotation-dialog/resize-annotation-dialog.component'; -import { AnnotationReferencesDialogComponent } from '../screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component'; type DialogType = | 'confirm' diff --git a/apps/red-ui/src/assets/i18n/de.json b/apps/red-ui/src/assets/i18n/de.json index 0d8eb9e41..5ab3ee049 100644 --- a/apps/red-ui/src/assets/i18n/de.json +++ b/apps/red-ui/src/assets/i18n/de.json @@ -141,7 +141,20 @@ "settings": "Einstellungen" }, "annotation": "Anmerkung", + "references": { + "singular": "", + "plural": "" + }, "annotation-actions": { + "resize": { + "label": "Größe ändern" + }, + "resize-accept": { + "label": "Größe speichern" + }, + "resize-cancel": { + "label": "Größenänderung abbrechen" + }, "accept-recommendation": { "label": "Empfehlung annehmen" }, @@ -151,12 +164,15 @@ "edit-reason": { "label": "Begründung bearbeiten" }, - "force-hint": { - "label": "Hinweis erzwingen" - }, "force-redaction": { "label": "Schwärzung erzwingen" }, + "see-references": { + "label": "" + }, + "force-hint": { + "label": "Hinweis erzwingen" + }, "hide": "Ausblenden", "message": { "dictionary": { diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json index f64b1d60d..b17b42042 100644 --- a/apps/red-ui/src/assets/i18n/en.json +++ b/apps/red-ui/src/assets/i18n/en.json @@ -141,6 +141,10 @@ "settings": "Settings" }, "annotation": "Annotation", + "references": { + "singular": "REFERENCE", + "plural": "REFERENCES" + }, "annotation-actions": { "accept-recommendation": { "label": "Accept Recommendation" diff --git a/apps/red-ui/src/assets/icons/general/reference.svg b/apps/red-ui/src/assets/icons/general/reference.svg index ccbd1c2ea..77e985170 100644 --- a/apps/red-ui/src/assets/icons/general/reference.svg +++ b/apps/red-ui/src/assets/icons/general/reference.svg @@ -1,6 +1,5 @@ - status @@ -10,4 +9,4 @@ - \ No newline at end of file + From e35290029ba49a47a724365ecb337dc156c2ab0f Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Sun, 16 Jan 2022 13:55:45 +0200 Subject: [PATCH 243/260] references service back in providers --- .../screens/file-preview-screen/file-preview-screen.component.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 8246c2072..77b752277 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -70,6 +70,7 @@ const ALL_HOTKEY_ARRAY = ['Escape', 'F', 'f', 'ArrowUp', 'ArrowDown']; AnnotationActionsService, FilePreviewStateService, PdfViewerDataService, + AnnotationReferencesService, ], }) export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnInit, OnDestroy, OnAttach, OnDetach { From b795b50c84e0fd1dec8ed2a7edbef4050fb39a4b Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Mon, 17 Jan 2022 11:53:36 +0200 Subject: [PATCH 244/260] fixed some pr comments --- .../annotation-actions.component.html | 2 +- .../annotation-actions.component.ts | 3 ++ .../annotation-card.component.ts | 3 +- .../annotation-references-dialog.component.ts | 36 ++++--------------- ...ion-references-page-indicator.component.ts | 3 +- .../annotations-list.component.html | 3 +- .../annotations-list.component.ts | 12 ++----- .../file-workload.component.html | 1 + .../file-preview-screen.component.html | 1 + 9 files changed, 22 insertions(+), 42 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index ebdcd32f0..511d3dfde 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -89,7 +89,7 @@ (); annotationPermissions: AnnotationPermissions; + referencesButtonEnabled = false; constructor( private readonly _manualAnnotationService: ManualAnnotationService, @@ -63,6 +64,8 @@ export class AnnotationActionsComponent implements OnChanges { @Input() set annotations(value: AnnotationWrapper[]) { this._annotations = value.filter(a => a !== undefined); + this.referencesButtonEnabled = + this.annotationReferencesService.hasReferences(this._annotations) && !this.multiSelectService.isActive; } get viewerAnnotations() { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts index a0b18557d..0ce73621e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts @@ -1,4 +1,4 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { AnnotationWrapper } from '../../../../../../models/file/annotation.wrapper'; import { File } from '@red/domain'; import { MultiSelectService } from '../../services/multi-select.service'; @@ -7,6 +7,7 @@ import { MultiSelectService } from '../../services/multi-select.service'; selector: 'redaction-annotation-card', templateUrl: './annotation-card.component.html', styleUrls: ['./annotation-card.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AnnotationCardComponent { @Input() annotation: AnnotationWrapper; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts index 1a7a9e97d..0131ae11f 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -1,51 +1,29 @@ -import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { AnnotationReferencesService } from '../../services/annotation-references.service'; import { File } from '@red/domain'; -import { PdfViewerDataService } from '../../../../services/pdf-viewer-data.service'; import { FileDataModel } from '@models/file/file-data.model'; @Component({ selector: 'redaction-annotation-references-dialog', templateUrl: './annotation-references-dialog.component.html', styleUrls: ['./annotation-references-dialog.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, }) -export class AnnotationReferencesDialogComponent implements OnInit, OnChanges { +export class AnnotationReferencesDialogComponent implements OnChanges { @Input() annotation: AnnotationWrapper; @Input() file: File; + @Input() + fileData: FileDataModel; @Output() readonly referenceClicked = new EventEmitter(); - fileData: FileDataModel; annotationReferences: AnnotationWrapper[]; - constructor( - readonly annotationReferencesService: AnnotationReferencesService, - private readonly _fileDownloadService: PdfViewerDataService, - ) {} + constructor(readonly annotationReferencesService: AnnotationReferencesService) {} - async ngOnInit(): Promise { - console.log(this.annotation); - await this.setReferences(); - } - - async ngOnChanges(changes: SimpleChanges): Promise { - await this.setReferences(); - } - - async setReferences(): Promise { - await this._loadFileData(this.file); + ngOnChanges(changes: SimpleChanges): void { this.annotationReferences = this.fileData.allAnnotations.filter(a => this.annotation.reference.includes(a.annotationId)); } - - private async _loadFileData(file: File): Promise { - const fileData = await this._fileDownloadService.loadDataFor(file, this.fileData).toPromise(); - - if (file.isPending) { - return; - } - - this.fileData = fileData; - } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts index 42761871a..1bb4e131a 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts @@ -1,9 +1,10 @@ -import { Component, Input } from '@angular/core'; +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; @Component({ selector: 'redaction-annotation-references-page-indicator', templateUrl: './annotation-references-page-indicator.component.html', styleUrls: ['./annotation-references-page-indicator.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AnnotationReferencesPageIndicatorComponent { @Input() number; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index 1a9e22ec7..638ca717a 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -45,8 +45,9 @@
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts index a3583836d..dca79f580 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts @@ -4,6 +4,7 @@ import { FilterService, HelpModeService, IqserEventTarget } from '@iqser/common- import { File } from '@red/domain'; import { MultiSelectService } from '../../services/multi-select.service'; import { AnnotationReferencesService } from '../../services/annotation-references.service'; +import { FileDataModel } from '../../../../../../models/file/file-data.model'; @Component({ selector: 'redaction-annotations-list', @@ -13,6 +14,7 @@ import { AnnotationReferencesService } from '../../services/annotation-reference }) export class AnnotationsListComponent implements OnChanges { @Input() file: File; + @Input() fileData: FileDataModel; @Input() annotations: AnnotationWrapper[]; @Input() selectedAnnotations: AnnotationWrapper[]; @Input() annotationActionsTemplate: TemplateRef; @@ -54,18 +56,10 @@ export class AnnotationsListComponent implements OnChanges { referenceClicked(annotation: AnnotationWrapper): void { this.annotationClicked(annotation, null); if (this._filterService.filtersEnabled('primaryFilters')) { - this.toggleFilterAndChildren(annotation); + this._filterService.toggleFilter('primaryFilters', annotation.superType); } } - toggleFilterAndChildren(annotation: AnnotationWrapper): void { - const primaryFilters = this._filterService.getGroup('primaryFilters'); - const filter = primaryFilters.filters.find(f => f.id === annotation.superType); - filter.checked = true; - filter.children.forEach(f => (f.checked = true)); - this._filterService.refresh(); - } - isSelected(annotationId: string): boolean { return !!this.selectedAnnotations?.find(a => a?.annotationId === annotationId); } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html index 71c41366d..e87104673 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.html @@ -203,6 +203,7 @@ [annotationActionsTemplate]="annotationActionsTemplate" [annotations]="(displayedAnnotations$ | async)?.get(activeViewerPage)" [canMultiSelect]="!isReadOnly" + [fileData]="fileData" [file]="file" [selectedAnnotations]="selectedAnnotations" iqserHelpMode="workload-annotations-list" diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html index b90dd8d93..b8a4fe9b0 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.html @@ -107,6 +107,7 @@ [annotationActionsTemplate]="annotationActionsTemplate" [annotations]="visibleAnnotations" [dialogRef]="dialogRef" + [fileData]="fileData" [file]="file" [selectedAnnotations]="selectedAnnotations" [viewer]="activeViewer" From c8f19f68e0c8a46c9743d083554bbb91a18b0964 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Mon, 17 Jan 2022 12:53:39 +0200 Subject: [PATCH 245/260] ng-container in list component --- ...nnotation-references-dialog.component.html | 48 +++++++++---------- .../annotations-list.component.html | 16 ++++--- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html index db5334841..0c8b1c976 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html @@ -1,31 +1,29 @@ - -
-
-
-
- {{ annotationReferences.length }} - {{ (annotationReferences.length === 1 ? 'references.singular' : 'references.plural') | translate }} -
- +
+
+
+
+ {{ annotationReferences.length }} + {{ (annotationReferences.length === 1 ? 'references.singular' : 'references.plural') | translate }}
-
-
-
- - -
+ +
+
+
+
+ +
-
-
- - -
+
+
+
+ +
- +
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index 638ca717a..6e046bfdb 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -44,10 +44,12 @@
- + + + From 409454972dd0568e75b0ea0ebcf8b4dc20a6d066 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Mon, 17 Jan 2022 14:20:14 +0200 Subject: [PATCH 246/260] wip has references --- .../annotation-actions.component.html | 4 ++-- .../annotation-actions.component.ts | 4 +--- .../annotation-references-dialog.component.ts | 4 ++-- .../annotations-list.component.html | 6 +++--- .../annotations-list.component.ts | 2 +- .../services/annotation-references.service.ts | 18 ++++++++++++------ 6 files changed, 21 insertions(+), 17 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 511d3dfde..5bcf080fb 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -88,8 +88,8 @@ > (); annotationPermissions: AnnotationPermissions; - referencesButtonEnabled = false; constructor( private readonly _manualAnnotationService: ManualAnnotationService, @@ -64,8 +63,7 @@ export class AnnotationActionsComponent implements OnChanges { @Input() set annotations(value: AnnotationWrapper[]) { this._annotations = value.filter(a => a !== undefined); - this.referencesButtonEnabled = - this.annotationReferencesService.hasReferences(this._annotations) && !this.multiSelectService.isActive; + this.annotationReferencesService.setAnnotation(this._annotations); } get viewerAnnotations() { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts index 0131ae11f..60db300f1 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts @@ -1,4 +1,4 @@ -import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core'; +import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output } from '@angular/core'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { AnnotationReferencesService } from '../../services/annotation-references.service'; import { File } from '@red/domain'; @@ -23,7 +23,7 @@ export class AnnotationReferencesDialogComponent implements OnChanges { constructor(readonly annotationReferencesService: AnnotationReferencesService) {} - ngOnChanges(changes: SimpleChanges): void { + ngOnChanges(): void { this.annotationReferences = this.fileData.allAnnotations.filter(a => this.annotation.reference.includes(a.annotationId)); } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index 6e046bfdb..291ab7cd0 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -44,11 +44,11 @@
- + diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts index dca79f580..19877e3bc 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts @@ -56,7 +56,7 @@ export class AnnotationsListComponent implements OnChanges { referenceClicked(annotation: AnnotationWrapper): void { this.annotationClicked(annotation, null); if (this._filterService.filtersEnabled('primaryFilters')) { - this._filterService.toggleFilter('primaryFilters', annotation.superType); + this._filterService.toggleFilter('primaryFilters', annotation.superType, true); } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts index 26cc1f09e..702f0124f 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts @@ -2,25 +2,31 @@ import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { shareDistinctLast } from '@iqser/common-ui'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; +import { map } from 'rxjs/operators'; @Injectable() export class AnnotationReferencesService { readonly annotation$: Observable; - private readonly _annotation$ = new BehaviorSubject(null); + readonly hasReferences$: Observable; + readonly showReferences$: Observable; + private readonly _annotation$: BehaviorSubject = new BehaviorSubject(null); + private readonly _showReferences$: BehaviorSubject = new BehaviorSubject(false); constructor() { this.annotation$ = this._annotation$.asObservable().pipe(shareDistinctLast()); + this.showReferences$ = this._showReferences$.asObservable().pipe(shareDistinctLast()); + this.hasReferences$ = this.annotation$.pipe(map(annotation => !!annotation.reference && annotation.reference.length !== 0)); } - hasReferences(annotations: AnnotationWrapper[]): boolean { - return !!annotations[0].reference && annotations[0].reference.length !== 0; + setAnnotation(annotation: AnnotationWrapper[]): void { + this._annotation$.next(annotation[0]); } - show(annotations: AnnotationWrapper[]) { - this._annotation$.next(annotations[0]); + show() { + this._showReferences$.next(true); } hide() { - this._annotation$.next(null); + this._showReferences$.next(false); } } From fb859ece199f4c1777c4a09ffd57a679aee62bc8 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Tue, 18 Jan 2022 19:00:07 +0200 Subject: [PATCH 247/260] wip reference service instance for every annotation card --- .../annotation-actions.component.html | 2 +- .../annotation-actions.component.ts | 1 - .../annotation-card.component.html | 10 ++++++++++ .../annotation-card/annotation-card.component.ts | 16 +++++++++++++++- .../annotations-list.component.html | 10 ---------- .../annotations-list.component.ts | 7 ------- .../file-workload/file-workload.component.ts | 2 ++ .../file-preview-screen.component.ts | 1 - 8 files changed, 28 insertions(+), 21 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 5bcf080fb..ef03f9bd4 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -88,7 +88,7 @@ > a !== undefined); - this.annotationReferencesService.setAnnotation(this._annotations); } get viewerAnnotations() { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html index a23949aed..aef4b4107 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html @@ -20,3 +20,13 @@
+ + + + diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts index 0ce73621e..7a796d819 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts @@ -2,17 +2,31 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { AnnotationWrapper } from '../../../../../../models/file/annotation.wrapper'; import { File } from '@red/domain'; import { MultiSelectService } from '../../services/multi-select.service'; +import { AnnotationReferencesService } from '../../services/annotation-references.service'; @Component({ selector: 'redaction-annotation-card', templateUrl: './annotation-card.component.html', styleUrls: ['./annotation-card.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, + providers: [AnnotationReferencesService], }) export class AnnotationCardComponent { @Input() annotation: AnnotationWrapper; @Input() file: File; @Input() isSelected = false; - constructor(readonly multiSelectService: MultiSelectService) {} + constructor( + readonly multiSelectService: MultiSelectService, + private readonly _annotationReferenceService: AnnotationReferencesService, + ) { + this._annotationReferenceService.setAnnotation([this.annotation]); + } + + /*referenceClicked(annotation: AnnotationWrapper): void { + this.annotationClicked(annotation, null); + if (this._filterService.filtersEnabled('primaryFilters')) { + this._filterService.toggleFilter('primaryFilters', annotation.superType, true); + } + }*/ } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index 291ab7cd0..5a17cc189 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -43,13 +43,3 @@
- - - - diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts index 19877e3bc..57e31df57 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts @@ -53,13 +53,6 @@ export class AnnotationsListComponent implements OnChanges { } } - referenceClicked(annotation: AnnotationWrapper): void { - this.annotationClicked(annotation, null); - if (this._filterService.filtersEnabled('primaryFilters')) { - this._filterService.toggleFilter('primaryFilters', annotation.superType, true); - } - } - isSelected(annotationId: string): boolean { return !!this.selectedAnnotations?.find(a => a?.annotationId === annotationId); } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts index 584a25e84..2420dba07 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/file-workload/file-workload.component.ts @@ -33,6 +33,7 @@ import { ExcludedPagesService } from '../../services/excluded-pages.service'; import { MultiSelectService } from '../../services/multi-select.service'; import { DocumentInfoService } from '../../services/document-info.service'; import { SkippedService } from '../../services/skipped.service'; +import { FileDataModel } from '../../../../../../models/file/file-data.model'; const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape']; const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']; @@ -55,6 +56,7 @@ export class FileWorkloadComponent { @Input() file!: File; @Input() annotationActionsTemplate: TemplateRef; @Input() viewer: WebViewerInstance; + @Input() fileData: FileDataModel; @Output() readonly shouldDeselectAnnotationsOnPageChangeChange = new EventEmitter(); @Output() readonly selectAnnotations = new EventEmitter(); @Output() readonly deselectAnnotations = new EventEmitter(); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 77b752277..77cfc792e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -51,7 +51,6 @@ import { FilePreviewStateService } from './services/file-preview-state.service'; import { FileDataModel } from '../../../../models/file/file-data.model'; import Annotation = Core.Annotations.Annotation; import PDFNet = Core.PDFNet; -import { AnnotationReferencesService } from './services/annotation-references.service'; const ALL_HOTKEY_ARRAY = ['Escape', 'F', 'f', 'ArrowUp', 'ArrowDown']; From d688a732912c59e424c3cf613ebd355e9444f8fa Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Tue, 25 Jan 2022 20:27:36 +0200 Subject: [PATCH 248/260] fix rebase & reference dialog back in list component --- .../annotation-actions.component.html | 4 ++-- .../annotation-actions.component.ts | 4 ++++ .../annotation-card.component.html | 10 ---------- .../annotation-card/annotation-card.component.ts | 16 +--------------- .../annotations-list.component.html | 10 ++++++++++ .../annotations-list.component.ts | 7 +++++++ .../file-preview-screen.component.ts | 14 +------------- .../services/annotation-references.service.ts | 11 +++-------- 8 files changed, 28 insertions(+), 48 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index ef03f9bd4..2e1736fe0 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -88,8 +88,8 @@ > a !== undefined); } + get hasReferences(): boolean { + return !!this.annotations[0].reference && this.annotations[0].reference.length !== 0; + } + get viewerAnnotations() { if (this.viewer?.Core.annotationManager) { return this._annotations.map(a => this.viewer?.Core.annotationManager?.getAnnotationById(a.id)); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html index aef4b4107..a23949aed 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.html @@ -20,13 +20,3 @@
- - - - diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts index 7a796d819..0ce73621e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-card/annotation-card.component.ts @@ -2,31 +2,17 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; import { AnnotationWrapper } from '../../../../../../models/file/annotation.wrapper'; import { File } from '@red/domain'; import { MultiSelectService } from '../../services/multi-select.service'; -import { AnnotationReferencesService } from '../../services/annotation-references.service'; @Component({ selector: 'redaction-annotation-card', templateUrl: './annotation-card.component.html', styleUrls: ['./annotation-card.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, - providers: [AnnotationReferencesService], }) export class AnnotationCardComponent { @Input() annotation: AnnotationWrapper; @Input() file: File; @Input() isSelected = false; - constructor( - readonly multiSelectService: MultiSelectService, - private readonly _annotationReferenceService: AnnotationReferencesService, - ) { - this._annotationReferenceService.setAnnotation([this.annotation]); - } - - /*referenceClicked(annotation: AnnotationWrapper): void { - this.annotationClicked(annotation, null); - if (this._filterService.filtersEnabled('primaryFilters')) { - this._filterService.toggleFilter('primaryFilters', annotation.superType, true); - } - }*/ + constructor(readonly multiSelectService: MultiSelectService) {} } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index 5a17cc189..c5541b38a 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -43,3 +43,13 @@
+ + + + diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts index 57e31df57..19877e3bc 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.ts @@ -53,6 +53,13 @@ export class AnnotationsListComponent implements OnChanges { } } + referenceClicked(annotation: AnnotationWrapper): void { + this.annotationClicked(annotation, null); + if (this._filterService.filtersEnabled('primaryFilters')) { + this._filterService.toggleFilter('primaryFilters', annotation.superType, true); + } + } + isSelected(annotationId: string): boolean { return !!this.selectedAnnotations?.find(a => a?.annotationId === annotationId); } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index 77cfc792e..cdc234bc3 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -49,6 +49,7 @@ import { SkippedService } from './services/skipped.service'; import { AnnotationActionsService } from './services/annotation-actions.service'; import { FilePreviewStateService } from './services/file-preview-state.service'; import { FileDataModel } from '../../../../models/file/file-data.model'; +import { AnnotationReferencesService } from './services/annotation-references.service'; import Annotation = Core.Annotations.Annotation; import PDFNet = Core.PDFNet; @@ -154,19 +155,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni return this._stateService.fileData; } - private _setActiveViewerPage() { - const currentPage = this._instance?.Core.documentViewer?.getCurrentPage(); - if (!currentPage) { - this.activeViewerPage = 1; - } else { - this.activeViewerPage = this.viewModeService.isCompare - ? currentPage % 2 === 0 - ? currentPage / 2 - : (currentPage + 1) / 2 - : currentPage; - } - } - private get _viewDocumentInfo$() { return this.documentInfoService.shown$.pipe( tap(value => { diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts index 702f0124f..3cbeab42c 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts @@ -2,12 +2,10 @@ import { Injectable } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { shareDistinctLast } from '@iqser/common-ui'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { map } from 'rxjs/operators'; @Injectable() export class AnnotationReferencesService { readonly annotation$: Observable; - readonly hasReferences$: Observable; readonly showReferences$: Observable; private readonly _annotation$: BehaviorSubject = new BehaviorSubject(null); private readonly _showReferences$: BehaviorSubject = new BehaviorSubject(false); @@ -15,18 +13,15 @@ export class AnnotationReferencesService { constructor() { this.annotation$ = this._annotation$.asObservable().pipe(shareDistinctLast()); this.showReferences$ = this._showReferences$.asObservable().pipe(shareDistinctLast()); - this.hasReferences$ = this.annotation$.pipe(map(annotation => !!annotation.reference && annotation.reference.length !== 0)); } - setAnnotation(annotation: AnnotationWrapper[]): void { - this._annotation$.next(annotation[0]); - } - - show() { + show(annotations: AnnotationWrapper[]) { + this._annotation$.next(annotations[0]); this._showReferences$.next(true); } hide() { + this._annotation$.next(null); this._showReferences$.next(false); } } From acc67cade4a3570d46c9328cf327bbb113422cc9 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 27 Jan 2022 13:39:03 +0200 Subject: [PATCH 249/260] fix pr comments --- .../src/app/models/file/annotation.wrapper.ts | 4 ++-- .../annotation-actions.component.html | 4 ++-- .../annotation-actions.component.ts | 6 ------ .../annotation-references-list.component.html} | 0 .../annotation-references-list.component.scss} | 0 .../annotation-references-list.component.ts} | 17 +++++++---------- ...ation-references-page-indicator.component.ts | 2 +- .../annotations-list.component.html | 5 ++--- .../file-preview-screen.component.ts | 12 ------------ .../file-preview-screen/file-preview.module.ts | 4 ++-- .../services/annotation-references.service.ts | 13 ++++--------- package.json | 14 +++++++------- 12 files changed, 27 insertions(+), 54 deletions(-) rename apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/{annotation-references-dialog/annotation-references-dialog.component.html => annotation-references-list/annotation-references-list.component.html} (100%) rename apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/{annotation-references-dialog/annotation-references-dialog.component.scss => annotation-references-list/annotation-references-list.component.scss} (100%) rename apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/{annotation-references-dialog/annotation-references-dialog.component.ts => annotation-references-list/annotation-references-list.component.ts} (68%) diff --git a/apps/red-ui/src/app/models/file/annotation.wrapper.ts b/apps/red-ui/src/app/models/file/annotation.wrapper.ts index 9c4ee46e7..6751a0812 100644 --- a/apps/red-ui/src/app/models/file/annotation.wrapper.ts +++ b/apps/red-ui/src/app/models/file/annotation.wrapper.ts @@ -46,7 +46,7 @@ export class AnnotationWrapper { rectangle?: boolean; hintDictionary?: boolean; section?: string; - reference?: Array; + reference: Array; manual?: boolean; @@ -260,7 +260,7 @@ export class AnnotationWrapper { annotationWrapper.manual = redactionLogEntry.manual; annotationWrapper.engines = redactionLogEntry.engines; annotationWrapper.section = redactionLogEntry.section; - annotationWrapper.reference = redactionLogEntry.reference; + annotationWrapper.reference = redactionLogEntry.reference || []; annotationWrapper.rectangle = redactionLogEntry.rectangle; annotationWrapper.hasBeenResized = redactionLogEntry.hasBeenResized; annotationWrapper.hasBeenRecategorized = redactionLogEntry.hasBeenRecategorized; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 2e1736fe0..6ce94bc3e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -88,8 +88,8 @@ > a !== undefined); } - get hasReferences(): boolean { - return !!this.annotations[0].reference && this.annotations[0].reference.length !== 0; - } - get viewerAnnotations() { if (this.viewer?.Core.annotationManager) { return this._annotations.map(a => this.viewer?.Core.annotationManager?.getAnnotationById(a.id)); diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.html similarity index 100% rename from apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.html rename to apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.html diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss similarity index 100% rename from apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.scss rename to apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.ts similarity index 68% rename from apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts rename to apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.ts index 60db300f1..892e6be51 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-dialog/annotation-references-dialog.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.ts @@ -5,18 +5,15 @@ import { File } from '@red/domain'; import { FileDataModel } from '@models/file/file-data.model'; @Component({ - selector: 'redaction-annotation-references-dialog', - templateUrl: './annotation-references-dialog.component.html', - styleUrls: ['./annotation-references-dialog.component.scss'], + selector: 'redaction-annotation-references-list', + templateUrl: './annotation-references-list.component.html', + styleUrls: ['./annotation-references-list.component.scss'], changeDetection: ChangeDetectionStrategy.OnPush, }) -export class AnnotationReferencesDialogComponent implements OnChanges { - @Input() - annotation: AnnotationWrapper; - @Input() - file: File; - @Input() - fileData: FileDataModel; +export class AnnotationReferencesListComponent implements OnChanges { + @Input() annotation: AnnotationWrapper; + @Input() file: File; + @Input() fileData: FileDataModel; @Output() readonly referenceClicked = new EventEmitter(); annotationReferences: AnnotationWrapper[]; diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts index 1bb4e131a..55edb86bc 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-page-indicator/annotation-references-page-indicator.component.ts @@ -7,5 +7,5 @@ import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; changeDetection: ChangeDetectionStrategy.OnPush, }) export class AnnotationReferencesPageIndicatorComponent { - @Input() number; + @Input() number: number; } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index c5541b38a..8f11088a1 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -45,11 +45,10 @@
- + > diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts index cdc234bc3..006d1700e 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts @@ -155,18 +155,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni return this._stateService.fileData; } - private get _viewDocumentInfo$() { - return this.documentInfoService.shown$.pipe( - tap(value => { - if (value) { - this.multiSelectService.deactivate(); - this.excludedPagesService.hide(); - } - }), - shareDistinctLast(), - ); - } - private get _canPerformAnnotationActions$() { return combineLatest([ this._stateService.fileData$.pipe(switchMap(fileData => fileData.file$)), diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts index ee9ce8bf2..386d9c254 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview.module.ts @@ -19,7 +19,7 @@ import { TypeAnnotationIconComponent } from './components/type-annotation-icon/t import { OverlayModule } from '@angular/cdk/overlay'; import { ViewSwitchComponent } from './components/view-switch/view-switch.component'; import { UserManagementComponent } from './components/user-management/user-management.component'; -import { AnnotationReferencesDialogComponent } from './components/annotation-references-dialog/annotation-references-dialog.component'; +import { AnnotationReferencesListComponent } from './components/annotation-references-list/annotation-references-list.component'; import { AcceptRecommendationDialogComponent } from './dialogs/accept-recommendation-dialog/accept-recommendation-dialog.component'; import { AnnotationCardComponent } from './components/annotation-card/annotation-card.component'; import { AnnotationReferencesPageIndicatorComponent } from './components/annotation-references-page-indicator/annotation-references-page-indicator.component'; @@ -49,7 +49,7 @@ const routes: Routes = [ ViewSwitchComponent, UserManagementComponent, AcceptRecommendationDialogComponent, - AnnotationReferencesDialogComponent, + AnnotationReferencesListComponent, AnnotationCardComponent, AnnotationReferencesPageIndicatorComponent, ], diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts index 3cbeab42c..5cdca8162 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/services/annotation-references.service.ts @@ -6,22 +6,17 @@ import { AnnotationWrapper } from '@models/file/annotation.wrapper'; @Injectable() export class AnnotationReferencesService { readonly annotation$: Observable; - readonly showReferences$: Observable; - private readonly _annotation$: BehaviorSubject = new BehaviorSubject(null); - private readonly _showReferences$: BehaviorSubject = new BehaviorSubject(false); + private readonly _annotation$ = new BehaviorSubject(undefined); constructor() { this.annotation$ = this._annotation$.asObservable().pipe(shareDistinctLast()); - this.showReferences$ = this._showReferences$.asObservable().pipe(shareDistinctLast()); } - show(annotations: AnnotationWrapper[]) { - this._annotation$.next(annotations[0]); - this._showReferences$.next(true); + show(annotation: AnnotationWrapper) { + this._annotation$.next(annotation); } hide() { - this._annotation$.next(null); - this._showReferences$.next(false); + this._annotation$.next(undefined); } } diff --git a/package.json b/package.json index 329e0c1ab..150d95c88 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@materia-ui/ngx-monaco-editor": "^6.0.0", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", - "@nrwl/angular": "13.4.5", + "@nrwl/angular": "13.5.3", "@pdftron/webviewer": "8.2.0", "@swimlane/ngx-charts": "^20.0.1", "file-saver": "^2.0.5", @@ -70,12 +70,12 @@ "@angular/compiler-cli": "13.1.2", "@angular/language-service": "13.1.2", "@bartholomej/ngx-translate-extract": "^8.0.2", - "@nrwl/cli": "13.4.5", - "@nrwl/eslint-plugin-nx": "13.4.5", - "@nrwl/jest": "13.4.5", - "@nrwl/linter": "13.4.5", - "@nrwl/tao": "13.4.5", - "@nrwl/workspace": "13.4.5", + "@nrwl/cli": "13.5.3", + "@nrwl/eslint-plugin-nx": "13.5.3", + "@nrwl/jest": "13.5.3", + "@nrwl/linter": "13.5.3", + "@nrwl/tao": "13.5.3", + "@nrwl/workspace": "13.5.3", "@types/jest": "27.4.0", "@types/lodash": "^4.14.178", "@types/node": "17.0.9", From c9c05b920bd4802932ab6b7c79e41ff4c9b9d8d5 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 27 Jan 2022 20:15:55 +0200 Subject: [PATCH 250/260] reference grey background when selected --- .../annotation-actions/annotation-actions.component.html | 4 ++-- .../annotation-references-list.component.html | 9 +++++++-- .../annotation-references-list.component.scss | 4 ---- .../annotation-references-list.component.ts | 8 ++++++-- .../annotations-list/annotations-list.component.html | 1 + 5 files changed, 16 insertions(+), 10 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html index 6ce94bc3e..90a83df7a 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-actions/annotation-actions.component.html @@ -88,8 +88,8 @@ >
-
+
-
+
(); + @Input() selectedAnnotations: AnnotationWrapper[]; + @Output() readonly referenceClicked = new EventEmitter(); annotationReferences: AnnotationWrapper[]; constructor(readonly annotationReferencesService: AnnotationReferencesService) {} @@ -23,4 +23,8 @@ export class AnnotationReferencesListComponent implements OnChanges { ngOnChanges(): void { this.annotationReferences = this.fileData.allAnnotations.filter(a => this.annotation.reference.includes(a.annotationId)); } + + isSelected(annotationId: string): boolean { + return this.selectedAnnotations.some(a => a.annotationId === annotationId); + } } diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html index 8f11088a1..77df13518 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotations-list/annotations-list.component.html @@ -50,5 +50,6 @@ [annotation]="annotation" [fileData]="fileData" [file]="file" + [selectedAnnotations]="selectedAnnotations" > From 53949a0f655c3f9ec6ef0032befe1d42d4d6382e Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 27 Jan 2022 20:31:26 +0200 Subject: [PATCH 251/260] class.active instead of style.background --- .../annotation-references-list.component.html | 4 ++-- .../annotation-references-list.component.scss | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.html b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.html index a5a00454a..fe7f4ac8d 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.html +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.html @@ -8,7 +8,7 @@
-
+
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss index 3731b49ac..55585cd01 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss @@ -1,4 +1,4 @@ -@use 'common-mixins' as mixins; +@use 'variables'; .references-dialog { position: fixed; @@ -22,6 +22,10 @@ width: 100%; border-top: 1px solid rgba(226, 228, 233, 0.9); + &.active { + background-color: variables.$grey-8; + } + &:not(:first-child) { cursor: pointer; } From 98ecc5a7f20c39fb7d7afa99ad56b24fb45f275e Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 27 Jan 2022 20:39:53 +0200 Subject: [PATCH 252/260] yarn lock update --- yarn.lock | 266 +++++++++++++++++------------------------------------- 1 file changed, 82 insertions(+), 184 deletions(-) diff --git a/yarn.lock b/yarn.lock index 52d4f0e75..054541cb7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1570,7 +1570,7 @@ resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz#d5e0706cf8c6acd8c6032f8d54070af261bbbb2f" integrity sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA== -"@eslint/eslintrc@^1.0.4", "@eslint/eslintrc@^1.0.5": +"@eslint/eslintrc@^1.0.5": version "1.0.5" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.0.5.tgz#33f1b838dbf1f923bfa517e008362b78ddbbf318" integrity sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ== @@ -1590,15 +1590,6 @@ resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== -"@humanwhocodes/config-array@^0.6.0": - version "0.6.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.6.0.tgz#b5621fdb3b32309d2d16575456cbc277fa8f021a" - integrity sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - "@humanwhocodes/config-array@^0.9.2": version "0.9.2" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.2.tgz#68be55c737023009dfc5fe245d51181bb6476914" @@ -1608,7 +1599,7 @@ debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1": +"@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== @@ -2054,20 +2045,19 @@ node-gyp "^8.2.0" read-package-json-fast "^2.0.1" -"@nrwl/angular@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/angular/-/angular-13.4.5.tgz#fa000ff7d62a158af151800a0d78d8c75f950f01" - integrity sha512-XzVG9SLgAYdPh7JHrUse5/l9R+QTsPWxBwsLH9SFgsO675+0yeTDgnppeaJWpgVwIMf3+kcZoxynoltPc+iI7Q== +"@nrwl/angular@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/angular/-/angular-13.5.3.tgz#ea21b45734b317b8fff84fd04ff9950175e22d6c" + integrity sha512-Fh0x9Cz0OMWYx8By1cFLjzKmT2GZY8Se9rqd/31fftVwdftOpt0lrTIrVtb+b16195JAKpCsLvNJlZmp6AOeiQ== dependencies: "@angular-devkit/schematics" "~13.1.0" - "@nrwl/cypress" "13.4.5" - "@nrwl/devkit" "13.4.5" - "@nrwl/jest" "13.4.5" - "@nrwl/linter" "13.4.5" - "@nrwl/storybook" "13.4.5" + "@nrwl/cypress" "13.5.3" + "@nrwl/devkit" "13.5.3" + "@nrwl/jest" "13.5.3" + "@nrwl/linter" "13.5.3" + "@nrwl/storybook" "13.5.3" "@phenomnomnominal/tsquery" "4.1.1" "@schematics/angular" "~13.1.0" - find-parent-dir "^0.3.1" ignore "^5.0.4" jasmine-marbles "~0.8.4" rxjs-for-await "0.0.2" @@ -2077,27 +2067,26 @@ tslib "^2.3.0" webpack-merge "5.7.3" -"@nrwl/cli@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-13.4.5.tgz#21937c66d7bc7d2109c5e32b7ed2f1bbf8509979" - integrity sha512-CyiGIBhVd2EEx3+HST5TwOwI6kL8zKvWBMXrHs0jAB9lJIjqdzLdTPYHsfLOcAYsl08l8eySVVCkGr9UG5XSPQ== +"@nrwl/cli@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-13.5.3.tgz#3b32247e9f9703f95f6e066f6000da2f32ad4e9a" + integrity sha512-TMh8FfF6PPnjuxoSIU0wFVtE6xcf5UfxmX0pSy+ztEDU66RBSPwUxbHUFZGMKrT7jNZLutqmziwi89leTngvfw== dependencies: - "@nrwl/tao" "13.4.5" + "@nrwl/tao" "13.5.3" chalk "4.1.0" enquirer "~2.3.6" v8-compile-cache "2.3.0" - yargs "15.4.1" yargs-parser "20.0.0" -"@nrwl/cypress@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-13.4.5.tgz#88bd7eb4818f27ebc13328b0ad904168231af864" - integrity sha512-hQ3lUHuiTqynvOnvTtJTWzeb7N6RrGntjwjH3CpPgTOKWz1Zj7YXGGULrl4dC/xFeKBlm1ptDX3bbxrZjdePVQ== +"@nrwl/cypress@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-13.5.3.tgz#09fb88e8ea273533e1312058c7d0eb711fe7fca0" + integrity sha512-iM6k9nQrRKX+5pTaKibGPw78+apZtGFvZFV0fu5LaRqBA/0XS4QrKzC2k2MSyDCVmW+X25X17P3J6sbBqACESA== dependencies: "@cypress/webpack-preprocessor" "^5.9.1" - "@nrwl/devkit" "13.4.5" - "@nrwl/linter" "13.4.5" - "@nrwl/workspace" "13.4.5" + "@nrwl/devkit" "13.5.3" + "@nrwl/linter" "13.5.3" + "@nrwl/workspace" "13.5.3" chalk "4.1.0" enhanced-resolve "^5.8.3" fork-ts-checker-webpack-plugin "6.2.10" @@ -2107,40 +2096,40 @@ tsconfig-paths-webpack-plugin "3.4.1" tslib "^2.3.0" webpack-node-externals "^3.0.0" - yargs-parser "20.0.0" -"@nrwl/devkit@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-13.4.5.tgz#e0da52ea91eae1480e46461f0ea6031021a3177a" - integrity sha512-Q3jZxf4T0KKG851s9AVziaEg9rIZcBePCdE70/sQRcuFMRAjny/bt3IEzMPID1Rg12bKnAXy6sWSKjZ8xKToxg== +"@nrwl/devkit@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-13.5.3.tgz#efa41af408384a39b00c23f4340c55b37f9f0193" + integrity sha512-Fg2n5KjCbKn2c5lRGpYzuyB2x385RJmsyJ+7EE230MCTJaw5OXk7U02hrK+nL5dZltEmI06VH409FAEwVyOUqw== dependencies: - "@nrwl/tao" "13.4.5" + "@nrwl/tao" "13.5.3" ejs "^3.1.5" ignore "^5.0.4" rxjs "^6.5.4" semver "7.3.4" tslib "^2.3.0" -"@nrwl/eslint-plugin-nx@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-13.4.5.tgz#8d0e748d9e68c796f7991a147cf9b54e0ff38ad7" - integrity sha512-LzBKxsLZ8S1ZdKtDwKtrT07RCnKaHrTQn6Z9odLWm8s9MpOISoYcLzJm7symWYHc7u7+EOFTAK6F7V1bbzgnwg== +"@nrwl/eslint-plugin-nx@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-13.5.3.tgz#487f6cd34982c84429b54a505b1270ddf49d95e1" + integrity sha512-UUsD15npa5srrPEFnuWAzzfNejvxg8H2iKBmxQXbtXSnXfCYDoi7ahk90CH2/lV7T7fFldyltlItpjXd/t44Mg== dependencies: - "@nrwl/devkit" "13.4.5" - "@nrwl/workspace" "13.4.5" + "@nrwl/devkit" "13.5.3" + "@nrwl/workspace" "13.5.3" "@typescript-eslint/experimental-utils" "~5.3.0" + chalk "4.1.0" confusing-browser-globals "^1.0.9" ts-node "^9.1.1" tsconfig-paths "^3.9.0" -"@nrwl/jest@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-13.4.5.tgz#c4fa11bfac32b1ff2c85ec1737c8bbf2d095691b" - integrity sha512-6ARJQXe7wswtrKuakSP5iNSqLC/GYJtY5ACKLjFN73JgIuV8rjlSlqEuNs4CSc89YpDegtbgNq/rRzOLabKScg== +"@nrwl/jest@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-13.5.3.tgz#487d9d010ff9511a04ef45f9305a44443cc145c8" + integrity sha512-PCBX/4LxKKWxrsgqj0ejAWwT64Iv6fejntZsyQNr2yzDSZY/sQL4XJ8EbVH4yivzxqn3F1+blmpDrDLlAhDy6g== dependencies: "@jest/reporters" "27.2.2" "@jest/test-result" "27.2.2" - "@nrwl/devkit" "13.4.5" + "@nrwl/devkit" "13.5.3" chalk "4.1.0" identity-obj-proxy "3.0.0" jest-config "27.2.2" @@ -2150,38 +2139,35 @@ rxjs "^6.5.4" tslib "^2.3.0" -"@nrwl/linter@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-13.4.5.tgz#44ab2441f391c917f0868ac034135393002341fe" - integrity sha512-VCKud1DG9h9zShB/Kn7DQ5Da4dJhqYvlQ06O6ViNixKp70ghg4PgVWhxEQixDzk5Xt9EB+fVFnVpnm82mSyxzg== +"@nrwl/linter@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-13.5.3.tgz#d5547bd6a6b40a2d1bb08e9d50dfd219ea6d8390" + integrity sha512-xiQVPlhLjesFdt9uHXV4GtuFgiUbx9cATc3At1R6xHkdd7Lbqv/deq+FWJKnGb5MgTpvzyQc/gNUvfSyKoSBsA== dependencies: - "@nrwl/devkit" "13.4.5" - "@nrwl/jest" "13.4.5" + "@nrwl/devkit" "13.5.3" + "@nrwl/jest" "13.5.3" "@phenomnomnominal/tsquery" "4.1.1" - eslint "8.2.0" - glob "7.1.4" - minimatch "3.0.4" tmp "~0.2.1" tslib "^2.3.0" -"@nrwl/storybook@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/storybook/-/storybook-13.4.5.tgz#b86310ae9465633285d80fc4a546a60f3e21479a" - integrity sha512-5wg3xwkclrNybeTMv3lui48roPZgd6LNa8hKeb5/g8GAic5W0OGglGNiLXOlIY0kAs5KIVhvz+7ZXSBVpDuSlw== +"@nrwl/storybook@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/storybook/-/storybook-13.5.3.tgz#1f684cc1e068e44c6a5c35ec7b856a0c4d4204ae" + integrity sha512-sZMQCu/FCMdYgJ/JtqWYEnwG9fgoQUXzAAMtkIpYP3fDlKAh8hCASBO1oQmz2CNjp+iAaIgN4ZRzA9uEMeMJDA== dependencies: - "@nrwl/cypress" "13.4.5" - "@nrwl/devkit" "13.4.5" - "@nrwl/linter" "13.4.5" - "@nrwl/workspace" "13.4.5" + "@nrwl/cypress" "13.5.3" + "@nrwl/devkit" "13.5.3" + "@nrwl/linter" "13.5.3" + "@nrwl/workspace" "13.5.3" core-js "^3.6.5" semver "7.3.4" ts-loader "^9.2.6" tsconfig-paths-webpack-plugin "3.4.1" -"@nrwl/tao@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-13.4.5.tgz#bb61a1280a10dfca8956af42cb3e60443381b2b3" - integrity sha512-DYVmYDEeJ9zLagU52nVXBdA+0SXrypmydrxFLhEAc79tlForNX3dmjqePhNDq7JqllmD643DiNh0pydgsPzUdQ== +"@nrwl/tao@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-13.5.3.tgz#5112120395968916080216d530d62b0928513820" + integrity sha512-YAHW4yGROt+a8yDrgG9UxrmSyi62S0Pi6EhLluk5e9s/sNJM1k2NfoVCzZMZYsCbv4tKYv4RSlqf3EQMe28uJw== dependencies: chalk "4.1.0" enquirer "~2.3.6" @@ -2189,7 +2175,7 @@ fs-extra "^9.1.0" ignore "^5.0.4" jsonc-parser "3.0.0" - nx "13.4.5" + nx "13.5.3" rxjs "^6.5.4" rxjs-for-await "0.0.2" semver "7.3.4" @@ -2197,20 +2183,20 @@ tslib "^2.3.0" yargs-parser "20.0.0" -"@nrwl/workspace@13.4.5": - version "13.4.5" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-13.4.5.tgz#ca449ee876d1e242c23f5189daff3629a713d88f" - integrity sha512-1tw8bJHL55QqVhLMRosXhTeAAxv3NFkBIVY3NodbqQXPlF3qKnly6vWqga9KpKr7quPvD+9DzEpCdP/7K7QoEw== +"@nrwl/workspace@13.5.3": + version "13.5.3" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-13.5.3.tgz#2dc369a0c6bc9b483edcc48375a6c9547719bb98" + integrity sha512-ZY7HGPhs0w0neXLXJgbIYd36+FZuc8LHgaxhExsK9vdusuaXhNVyMkR+TmbtN9sXAB0ZN0+hzcty+V7ncn4sHQ== dependencies: - "@nrwl/cli" "13.4.5" - "@nrwl/devkit" "13.4.5" - "@nrwl/jest" "13.4.5" - "@nrwl/linter" "13.4.5" + "@nrwl/cli" "13.5.3" + "@nrwl/devkit" "13.5.3" + "@nrwl/jest" "13.5.3" + "@nrwl/linter" "13.5.3" "@parcel/watcher" "2.0.4" chalk "4.1.0" chokidar "^3.5.1" + cli-cursor "3.1.0" cli-spinners "2.6.1" - cosmiconfig "^4.0.0" dotenv "~10.0.0" enquirer "~2.3.6" figures "3.2.0" @@ -2223,7 +2209,6 @@ open "^7.4.2" rxjs "^6.5.4" semver "7.3.4" - strip-ansi "6.0.0" tmp "~0.2.1" tslib "^2.3.0" yargs "15.4.1" @@ -3165,7 +3150,7 @@ ansi-html-community@^0.0.8: resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== -ansi-regex@^5.0.0, ansi-regex@^5.0.1: +ansi-regex@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== @@ -4177,7 +4162,7 @@ cli-boxes@^3.0.0: resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145" integrity sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g== -cli-cursor@^3.1.0: +cli-cursor@3.1.0, cli-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== @@ -4481,16 +4466,6 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cosmiconfig@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-4.0.0.tgz#760391549580bbd2df1e562bc177b13c290972dc" - integrity sha512-6e5vDdrXZD+t5v0L8CrurPeybg4Fmf+FCSYxXKYVAqLUtyCSbuyqE059d0kDthTNRzKVjL7QMgNpEUlsoYH3iQ== - dependencies: - is-directory "^0.3.1" - js-yaml "^3.9.0" - parse-json "^4.0.0" - require-from-string "^2.0.1" - cosmiconfig@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" @@ -5331,7 +5306,7 @@ enhanced-resolve@^5.0.0, enhanced-resolve@^5.7.0, enhanced-resolve@^5.8.3: graceful-fs "^4.2.4" tapable "^2.2.0" -enquirer@^2.3.5, enquirer@~2.3.6: +enquirer@~2.3.6: version "2.3.6" resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== @@ -5751,14 +5726,6 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-6.0.0.tgz#9cf45b13c5ac8f3d4c50f46a5121f61b3e318978" - integrity sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - eslint-scope@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.0.tgz#c1f6ea30ac583031f203d65c73e723b01298f153" @@ -5789,50 +5756,6 @@ eslint-visitor-keys@^3.1.0, eslint-visitor-keys@^3.2.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1" integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ== -eslint@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.2.0.tgz#44d3fb506d0f866a506d97a0fc0e90ee6d06a815" - integrity sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw== - dependencies: - "@eslint/eslintrc" "^1.0.4" - "@humanwhocodes/config-array" "^0.6.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^6.0.0" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.0.0" - espree "^9.0.0" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^6.0.1" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.2.0" - semver "^7.2.1" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - eslint@8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.7.0.tgz#22e036842ee5b7cf87b03fe237731675b4d3633c" @@ -5874,7 +5797,7 @@ eslint@8.7.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^9.0.0, espree@^9.2.0, espree@^9.3.0: +espree@^9.2.0, espree@^9.3.0: version "9.3.0" resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.0.tgz#c1240d79183b72aaee6ccfa5a90bc9111df085a8" integrity sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ== @@ -6301,11 +6224,6 @@ find-cache-dir@^3.3.1: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-parent-dir@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125" - integrity sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A== - find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" @@ -7369,11 +7287,6 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2: is-data-descriptor "^1.0.0" kind-of "^6.0.2" -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - is-docker@^2.0.0, is-docker@^2.1.1: version "2.2.1" resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" @@ -8494,7 +8407,7 @@ js-tokens@^4.0.0: resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== -js-yaml@^3.13.1, js-yaml@^3.9.0: +js-yaml@^3.13.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== @@ -8552,7 +8465,7 @@ jsesc@~0.5.0: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: +json-parse-better-errors@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== @@ -9619,12 +9532,12 @@ nwsapi@^2.2.0: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== -nx@13.4.5: - version "13.4.5" - resolved "https://registry.yarnpkg.com/nx/-/nx-13.4.5.tgz#f68857ea33dae302c0d1171f0909155ab0be2bd7" - integrity sha512-efUyCh6jgBWh8SIXoxa33M+pwLQyEbsjb0g6qoNORAibmzHlf0aI79t3pn7Ru2O33D+GTU3qQ/DJVxbE9M/2zg== +nx@13.5.3: + version "13.5.3" + resolved "https://registry.yarnpkg.com/nx/-/nx-13.5.3.tgz#5bdc72fd51eadcaf1dc4d5af800b863e4d103a4e" + integrity sha512-OqYNq+RL+nk8IAbxOl9CnfHnURA68tYlQojUdtdAiKnmcOouSzWnt1zRZb2nUWiMUiWEVojExMvCqXLwgRwQ6Q== dependencies: - "@nrwl/cli" "13.4.5" + "@nrwl/cli" "13.5.3" object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" @@ -9969,14 +9882,6 @@ parse-json@^2.2.0: dependencies: error-ex "^1.2.0" -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - parse-json@^5.0.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -10885,7 +10790,7 @@ process@^0.11.1, process@^0.11.10: resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= -progress@^2.0.0, progress@^2.0.3: +progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -11219,7 +11124,7 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.1, require-from-string@^2.0.2: +require-from-string@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== @@ -11555,7 +11460,7 @@ semver@7.3.4: dependencies: lru-cache "^6.0.0" -semver@7.3.5, semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.2.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: +semver@7.3.5, semver@7.x, semver@^7.0.0, semver@^7.1.1, semver@^7.3.2, semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -12068,13 +11973,6 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -strip-ansi@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" From 61d40c67bec00e4c597e815de4183c28432caae6 Mon Sep 17 00:00:00 2001 From: Edi Cziszter Date: Thu, 27 Jan 2022 20:46:25 +0200 Subject: [PATCH 253/260] fixed overflow --- .../annotation-references-list.component.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss index 55585cd01..537436d50 100644 --- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss +++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/components/annotation-references-list/annotation-references-list.component.scss @@ -17,6 +17,7 @@ .annotations-container { flex-direction: column; overflow: auto; + max-height: 330px; .annotation-container { width: 100%; From f990d0e367d8cbc723da9110655479826dff3d88 Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Thu, 27 Jan 2022 20:51:02 +0100 Subject: [PATCH 254/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3215 -> 3214 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 150d95c88..268344899 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.191.0", + "version": "3.192.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 184fdad685332d8759e2e125285444c15f48cdbc..34c2aaacff53a796e7f98eab0a4f3a830fa0c29b 100644 GIT binary patch delta 3126 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 R?c9E`?f=#PV-EmO005Cq8bSa7 From 38f530dfc9911f63e0c6dac0af11b173c1a7bd62 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Fri, 28 Jan 2022 09:50:59 +0200 Subject: [PATCH 255/260] update nx --- package.json | 14 +-- yarn.lock | 288 ++++++++++++++++++++++++++++++++++++--------------- 2 files changed, 209 insertions(+), 93 deletions(-) diff --git a/package.json b/package.json index 268344899..e05638546 100644 --- a/package.json +++ b/package.json @@ -39,7 +39,7 @@ "@materia-ui/ngx-monaco-editor": "^6.0.0", "@ngx-translate/core": "^14.0.0", "@ngx-translate/http-loader": "^7.0.0", - "@nrwl/angular": "13.5.3", + "@nrwl/angular": "13.6.1", "@pdftron/webviewer": "8.2.0", "@swimlane/ngx-charts": "^20.0.1", "file-saver": "^2.0.5", @@ -70,12 +70,12 @@ "@angular/compiler-cli": "13.1.2", "@angular/language-service": "13.1.2", "@bartholomej/ngx-translate-extract": "^8.0.2", - "@nrwl/cli": "13.5.3", - "@nrwl/eslint-plugin-nx": "13.5.3", - "@nrwl/jest": "13.5.3", - "@nrwl/linter": "13.5.3", - "@nrwl/tao": "13.5.3", - "@nrwl/workspace": "13.5.3", + "@nrwl/cli": "13.6.1", + "@nrwl/eslint-plugin-nx": "13.6.1", + "@nrwl/jest": "13.6.1", + "@nrwl/linter": "13.6.1", + "@nrwl/tao": "13.6.1", + "@nrwl/workspace": "13.6.1", "@types/jest": "27.4.0", "@types/lodash": "^4.14.178", "@types/node": "17.0.9", diff --git a/yarn.lock b/yarn.lock index 054541cb7..11f2a244e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2045,17 +2045,17 @@ node-gyp "^8.2.0" read-package-json-fast "^2.0.1" -"@nrwl/angular@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/angular/-/angular-13.5.3.tgz#ea21b45734b317b8fff84fd04ff9950175e22d6c" - integrity sha512-Fh0x9Cz0OMWYx8By1cFLjzKmT2GZY8Se9rqd/31fftVwdftOpt0lrTIrVtb+b16195JAKpCsLvNJlZmp6AOeiQ== +"@nrwl/angular@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/angular/-/angular-13.6.1.tgz#3013931b17ca38a11865a544a5e80d0d15ccf115" + integrity sha512-mJLsqA28EgQUlwJR82tJWW5lxY4L+FI57es6TSB9PSKWeMuGgrwO15h/aMaFBp9WqMQETh61XnMQAe5pWSCnEQ== dependencies: "@angular-devkit/schematics" "~13.1.0" - "@nrwl/cypress" "13.5.3" - "@nrwl/devkit" "13.5.3" - "@nrwl/jest" "13.5.3" - "@nrwl/linter" "13.5.3" - "@nrwl/storybook" "13.5.3" + "@nrwl/cypress" "13.6.1" + "@nrwl/devkit" "13.6.1" + "@nrwl/jest" "13.6.1" + "@nrwl/linter" "13.6.1" + "@nrwl/storybook" "13.6.1" "@phenomnomnominal/tsquery" "4.1.1" "@schematics/angular" "~13.1.0" ignore "^5.0.4" @@ -2067,69 +2067,69 @@ tslib "^2.3.0" webpack-merge "5.7.3" -"@nrwl/cli@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-13.5.3.tgz#3b32247e9f9703f95f6e066f6000da2f32ad4e9a" - integrity sha512-TMh8FfF6PPnjuxoSIU0wFVtE6xcf5UfxmX0pSy+ztEDU66RBSPwUxbHUFZGMKrT7jNZLutqmziwi89leTngvfw== +"@nrwl/cli@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-13.6.1.tgz#25bba4e1e8fd516ba239c2cab8677d86a6d109c9" + integrity sha512-e6iEM5CKbwm67MK3daAEYuxX9kXeUBtbV4mEPU0mX6q7cqSMd0PdVVHpdZMkJtbUG+c2CD+IayoVOdJryAh4Vw== dependencies: - "@nrwl/tao" "13.5.3" + "@nrwl/tao" "13.6.1" chalk "4.1.0" enquirer "~2.3.6" v8-compile-cache "2.3.0" yargs-parser "20.0.0" -"@nrwl/cypress@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-13.5.3.tgz#09fb88e8ea273533e1312058c7d0eb711fe7fca0" - integrity sha512-iM6k9nQrRKX+5pTaKibGPw78+apZtGFvZFV0fu5LaRqBA/0XS4QrKzC2k2MSyDCVmW+X25X17P3J6sbBqACESA== +"@nrwl/cypress@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/cypress/-/cypress-13.6.1.tgz#71f4d9d052e0f30668f174481fcbaa627a486875" + integrity sha512-luz36D3dal2x5367WK/oURGzObzIwFuGwjlp+L8dq5KzYtRhbzutfHhWCk/JEOsCrLBlI5jKH37x7kbpkH8OKQ== dependencies: "@cypress/webpack-preprocessor" "^5.9.1" - "@nrwl/devkit" "13.5.3" - "@nrwl/linter" "13.5.3" - "@nrwl/workspace" "13.5.3" + "@nrwl/devkit" "13.6.1" + "@nrwl/linter" "13.6.1" + "@nrwl/workspace" "13.6.1" chalk "4.1.0" enhanced-resolve "^5.8.3" fork-ts-checker-webpack-plugin "6.2.10" rxjs "^6.5.4" ts-loader "^9.2.6" tsconfig-paths "^3.9.0" - tsconfig-paths-webpack-plugin "3.4.1" + tsconfig-paths-webpack-plugin "3.5.2" tslib "^2.3.0" webpack-node-externals "^3.0.0" -"@nrwl/devkit@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-13.5.3.tgz#efa41af408384a39b00c23f4340c55b37f9f0193" - integrity sha512-Fg2n5KjCbKn2c5lRGpYzuyB2x385RJmsyJ+7EE230MCTJaw5OXk7U02hrK+nL5dZltEmI06VH409FAEwVyOUqw== +"@nrwl/devkit@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-13.6.1.tgz#2fc99552aed7692d247b70dbc21c8a12d3e15c9e" + integrity sha512-Y3rfzmBqOVLPEiC7BUqckNLfg0dTgPfRmO1bFmSYclALxzs+mMoZGH/3RjIIrYAG6WLYgO298RIzMJsz2vU4sA== dependencies: - "@nrwl/tao" "13.5.3" + "@nrwl/tao" "13.6.1" ejs "^3.1.5" ignore "^5.0.4" rxjs "^6.5.4" semver "7.3.4" tslib "^2.3.0" -"@nrwl/eslint-plugin-nx@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-13.5.3.tgz#487f6cd34982c84429b54a505b1270ddf49d95e1" - integrity sha512-UUsD15npa5srrPEFnuWAzzfNejvxg8H2iKBmxQXbtXSnXfCYDoi7ahk90CH2/lV7T7fFldyltlItpjXd/t44Mg== +"@nrwl/eslint-plugin-nx@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/eslint-plugin-nx/-/eslint-plugin-nx-13.6.1.tgz#fc7712ad11246a3f87929c711f968f98c4300714" + integrity sha512-ATDkLyLZ5c2xytJ4n9Ii4tlKVkXq9eXonOLIY0jzMfJc4dTWZRP8vliJACm1CA/nhNJyJTNaRojIa7gZwKzKRA== dependencies: - "@nrwl/devkit" "13.5.3" - "@nrwl/workspace" "13.5.3" + "@nrwl/devkit" "13.6.1" + "@nrwl/workspace" "13.6.1" + "@swc-node/register" "^1.4.2" "@typescript-eslint/experimental-utils" "~5.3.0" chalk "4.1.0" confusing-browser-globals "^1.0.9" - ts-node "^9.1.1" tsconfig-paths "^3.9.0" -"@nrwl/jest@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-13.5.3.tgz#487d9d010ff9511a04ef45f9305a44443cc145c8" - integrity sha512-PCBX/4LxKKWxrsgqj0ejAWwT64Iv6fejntZsyQNr2yzDSZY/sQL4XJ8EbVH4yivzxqn3F1+blmpDrDLlAhDy6g== +"@nrwl/jest@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/jest/-/jest-13.6.1.tgz#140bd19874ae9a7172747ddb2ec2a7a63b614f94" + integrity sha512-54qgcKfKdMpafdUmpsgSR9gacO7zvJJWPUFlQ2QHxqg6tm88U05Hb1LWK/21u5hgifpe/BHOklHJwPaHdUnKtw== dependencies: "@jest/reporters" "27.2.2" "@jest/test-result" "27.2.2" - "@nrwl/devkit" "13.5.3" + "@nrwl/devkit" "13.6.1" chalk "4.1.0" identity-obj-proxy "3.0.0" jest-config "27.2.2" @@ -2139,35 +2139,35 @@ rxjs "^6.5.4" tslib "^2.3.0" -"@nrwl/linter@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-13.5.3.tgz#d5547bd6a6b40a2d1bb08e9d50dfd219ea6d8390" - integrity sha512-xiQVPlhLjesFdt9uHXV4GtuFgiUbx9cATc3At1R6xHkdd7Lbqv/deq+FWJKnGb5MgTpvzyQc/gNUvfSyKoSBsA== +"@nrwl/linter@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/linter/-/linter-13.6.1.tgz#ba5ce6d57dd41e9380fb243ea46cf5a13a1d1203" + integrity sha512-UDojjrleA/9FwM8zzG/ClAJnenit12l2bNI3xnHGDjazOp3iQg2paOdshq8TzQA9qwvGae0EXwyQfOfkZzBb/A== dependencies: - "@nrwl/devkit" "13.5.3" - "@nrwl/jest" "13.5.3" + "@nrwl/devkit" "13.6.1" + "@nrwl/jest" "13.6.1" "@phenomnomnominal/tsquery" "4.1.1" tmp "~0.2.1" tslib "^2.3.0" -"@nrwl/storybook@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/storybook/-/storybook-13.5.3.tgz#1f684cc1e068e44c6a5c35ec7b856a0c4d4204ae" - integrity sha512-sZMQCu/FCMdYgJ/JtqWYEnwG9fgoQUXzAAMtkIpYP3fDlKAh8hCASBO1oQmz2CNjp+iAaIgN4ZRzA9uEMeMJDA== +"@nrwl/storybook@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/storybook/-/storybook-13.6.1.tgz#ab103dbc0ab19539d90708ace43d495a13bcb20a" + integrity sha512-VwPJgP5Zm6axJKHfEbpX59GacPUcrIXdIsQejHBpfAFwj7JwZgHyybnNxxCk428SWCBz53OXHEc78MEw4XzyGQ== dependencies: - "@nrwl/cypress" "13.5.3" - "@nrwl/devkit" "13.5.3" - "@nrwl/linter" "13.5.3" - "@nrwl/workspace" "13.5.3" + "@nrwl/cypress" "13.6.1" + "@nrwl/devkit" "13.6.1" + "@nrwl/linter" "13.6.1" + "@nrwl/workspace" "13.6.1" core-js "^3.6.5" semver "7.3.4" ts-loader "^9.2.6" - tsconfig-paths-webpack-plugin "3.4.1" + tsconfig-paths-webpack-plugin "3.5.2" -"@nrwl/tao@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-13.5.3.tgz#5112120395968916080216d530d62b0928513820" - integrity sha512-YAHW4yGROt+a8yDrgG9UxrmSyi62S0Pi6EhLluk5e9s/sNJM1k2NfoVCzZMZYsCbv4tKYv4RSlqf3EQMe28uJw== +"@nrwl/tao@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-13.6.1.tgz#6862b22ba1255435263f291a7db9c3f903b8e08e" + integrity sha512-F+ldBZjm8CspTs/n6lBcHFGmRumRV5zTeSCD2p8z6kdAzpDQjuIAPU2O5kRSe0/S1WZ74zNA4SjqprA21zDBGg== dependencies: chalk "4.1.0" enquirer "~2.3.6" @@ -2175,7 +2175,7 @@ fs-extra "^9.1.0" ignore "^5.0.4" jsonc-parser "3.0.0" - nx "13.5.3" + nx "13.6.1" rxjs "^6.5.4" rxjs-for-await "0.0.2" semver "7.3.4" @@ -2183,15 +2183,15 @@ tslib "^2.3.0" yargs-parser "20.0.0" -"@nrwl/workspace@13.5.3": - version "13.5.3" - resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-13.5.3.tgz#2dc369a0c6bc9b483edcc48375a6c9547719bb98" - integrity sha512-ZY7HGPhs0w0neXLXJgbIYd36+FZuc8LHgaxhExsK9vdusuaXhNVyMkR+TmbtN9sXAB0ZN0+hzcty+V7ncn4sHQ== +"@nrwl/workspace@13.6.1": + version "13.6.1" + resolved "https://registry.yarnpkg.com/@nrwl/workspace/-/workspace-13.6.1.tgz#a8693ec69d13cdc83954fe14c2c7c6531f439657" + integrity sha512-pmMRoYDgfSn0xN+yHYqBt/ltXFU/xCn7RQHa7mo3ThU2+gfAb/IhDHug5yRp2UqMKHmmMWQ6DbGuusXLlVix6A== dependencies: - "@nrwl/cli" "13.5.3" - "@nrwl/devkit" "13.5.3" - "@nrwl/jest" "13.5.3" - "@nrwl/linter" "13.5.3" + "@nrwl/cli" "13.6.1" + "@nrwl/devkit" "13.6.1" + "@nrwl/jest" "13.6.1" + "@nrwl/linter" "13.6.1" "@parcel/watcher" "2.0.4" chalk "4.1.0" chokidar "^3.5.1" @@ -2285,6 +2285,117 @@ dependencies: "@sinonjs/commons" "^1.7.0" +"@swc-node/core@^1.8.2": + version "1.8.2" + resolved "https://registry.yarnpkg.com/@swc-node/core/-/core-1.8.2.tgz#950ad394a8e8385658e6a951ec554bbf61a1693e" + integrity sha512-IoJ7tGHQ6JOMSmFe4VhP64uLmFKMNasS0QEgUrLFQ0h/dTvpQMynnoGBEJoPL6LfsebZ/q4uKqbpWrth6/yrAA== + dependencies: + "@swc/core" "^1.2.119" + +"@swc-node/register@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@swc-node/register/-/register-1.4.2.tgz#98801cc5ad8792519511bd6ae31c01f40aa487a3" + integrity sha512-wLZz0J7BTO//1Eq7e4eBQjKF380Hr2eVemz849msQSKcVM1D7UJUt/dP2TinEVGx++/BXJ/0q37i6n9Iw0EM0w== + dependencies: + "@swc-node/core" "^1.8.2" + "@swc-node/sourcemap-support" "^0.1.11" + chalk "4" + debug "^4.3.3" + pirates "^4.0.4" + tslib "^2.3.1" + typescript "^4.5.3" + +"@swc-node/sourcemap-support@^0.1.11": + version "0.1.11" + resolved "https://registry.yarnpkg.com/@swc-node/sourcemap-support/-/sourcemap-support-0.1.11.tgz#50cda396baade0636e8f53596b7a66386490c06d" + integrity sha512-b+Mn3oQl+7nUSt7hPzIbY9B30YhcFo1PT4kd9P4QmD6raycmIealOAhAdZID/JevphzsOXHQB4OqJm7Yi5tMcA== + dependencies: + source-map-support "^0.5.21" + +"@swc/core-android-arm-eabi@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-android-arm-eabi/-/core-android-arm-eabi-1.2.135.tgz#11a53c1e55d66cc281b5de8abbe8560465e268ab" + integrity sha512-Qx5PXLzedOVSWHIY88iTxEa6m5RONs7bDIF05mNH1qaXsOkBD52MZ+mFDW6uGZ2OnOuMjD2OY08877429atBgA== + +"@swc/core-android-arm64@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-android-arm64/-/core-android-arm64-1.2.135.tgz#cddcd82d45229b82c0aa4aecca83dcc1c6667d61" + integrity sha512-XeZN9Efr44hGPOnHnrcNvdYU0Yn1UQOgR1LReS19aFJT7vWdI6Boe900V22J2K2ccJaOYqmic9BR6kRtDO7gGg== + +"@swc/core-darwin-arm64@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-arm64/-/core-darwin-arm64-1.2.135.tgz#1fc8b9028660374c3ef78ca862c08b1b659df72f" + integrity sha512-2DSs8IuGbu86B+ENnJVTAtn57HU4KSw9FJTGQfA+5IWBuUHJgpANcfQ3Xp19MtolfLW+Z4Xy8HCvdFljiQONRQ== + +"@swc/core-darwin-x64@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-darwin-x64/-/core-darwin-x64-1.2.135.tgz#f0af5c49128d91eebd9f2428c660d8a2d066b7d0" + integrity sha512-nS32iLbaW7g6ILlvWCZp1pwfLSndDGragsFcuw9xo6KR58KeDNdG54GQ6CwugqWiCEgzD+ZCvYmfcTjlgGJt/Q== + +"@swc/core-freebsd-x64@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-freebsd-x64/-/core-freebsd-x64-1.2.135.tgz#aa126c82e36ca47895fe68e2072fa93aebaa3c80" + integrity sha512-8tM7eOFsOT7bNlx1u0GoldopMVigPM9sLzKfwdRm4doDsE/DeUXumQI2mb8JTqzHpcjYxEiFBaNy8L7wf8wAEQ== + +"@swc/core-linux-arm-gnueabihf@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.2.135.tgz#56cead34686a2233a36d6e546f7dd096f2c90b7a" + integrity sha512-sppILSuR/HClz9mzZuxziAH7/QSUSgM3gSxGKlXzC8AItcBZFJ/7ygqg0TjCFFcQ+n0BdNltUIMztdv+5qwRSg== + +"@swc/core-linux-arm64-gnu@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.2.135.tgz#0ec99ccdda78aa7e0d018a6928691632eb84bff8" + integrity sha512-inu6jZCHiHw+3kSvmBRGUIDLMi/XFsIyMOue3QJReOuL5BTIQJ/I1oYhLsaSGcmEZM2Mo7QJ2jDBB3SjM5YzeA== + +"@swc/core-linux-arm64-musl@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.2.135.tgz#e41cad8df03b5f8b9eeb124a2d723992061d4026" + integrity sha512-hPGetFUhez77OUgig1XmNHZbUmpKGt72u9cN0AX5NtmFdfYYu4p6l+6YB6jg6/TrPmyJlJD5vroVz8JR/pZS+w== + +"@swc/core-linux-x64-gnu@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.2.135.tgz#c2fd5206b0a40760f4f878f367a21033473c2d12" + integrity sha512-PTEzzMWvUaXI/sInu8oPo7yYj2WPgfl4QL3wo2OEEKwE27xFjUmKv80pXGIFD9/Xn33Xz8cA0d8yGTWYD+tOIg== + +"@swc/core-linux-x64-musl@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.2.135.tgz#fc12e424921dbffee0ef9d025dd162f8aaa45b74" + integrity sha512-6zqf/1x1QYIhYFIPRRo5ArHIvWVWfH8fuRE6AwL1nQz/Y19SAJx3PXgwlAjtu4CZfciuUqY99PeFtTOu1Dnjhg== + +"@swc/core-win32-arm64-msvc@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.2.135.tgz#c65a44f48e6c48105460265a25dcebb5babe5315" + integrity sha512-vEMQSsvYMhdT5MS0pXRNmtMxfe3Bf/TZxMeezadLcOfSdYbeshQ8t41UdVsU1xvUvRA0fmbAcipXgNmwC14ACg== + +"@swc/core-win32-ia32-msvc@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.2.135.tgz#cd92bb983c729f05128c9abe9b74c01467c0afe3" + integrity sha512-w1XwAGHaFNhhDOQgwy36GB0oXKi/0DKj0mmWol263YehMQic5f+usNF9EGfgFkWf8EnRpdP/oEAXpsDfniBmww== + +"@swc/core-win32-x64-msvc@1.2.135": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.2.135.tgz#ff293654b5ac3715782c9e6677cf5a188bb83597" + integrity sha512-hGSoHDbq7mGGb5gg1hTtzxXiqrhmEO02/oAVqSVTX7zsOnVSu9hBxim72R4a8/hqGaCGDIfeXmibwvhcYzrwfg== + +"@swc/core@^1.2.119": + version "1.2.135" + resolved "https://registry.yarnpkg.com/@swc/core/-/core-1.2.135.tgz#ab29d549385790d779e78066bb10e0849241c5e8" + integrity sha512-YaltU0YygEo+pmy28GIEuHgTIKP5mzUXbgathdU2AoKytM+rNTP6QtJLewUgK86CZuu1nDpH42srhgXWIUWz2g== + optionalDependencies: + "@swc/core-android-arm-eabi" "1.2.135" + "@swc/core-android-arm64" "1.2.135" + "@swc/core-darwin-arm64" "1.2.135" + "@swc/core-darwin-x64" "1.2.135" + "@swc/core-freebsd-x64" "1.2.135" + "@swc/core-linux-arm-gnueabihf" "1.2.135" + "@swc/core-linux-arm64-gnu" "1.2.135" + "@swc/core-linux-arm64-musl" "1.2.135" + "@swc/core-linux-x64-gnu" "1.2.135" + "@swc/core-linux-x64-musl" "1.2.135" + "@swc/core-win32-arm64-msvc" "1.2.135" + "@swc/core-win32-ia32-msvc" "1.2.135" + "@swc/core-win32-x64-msvc" "1.2.135" + "@swimlane/ngx-charts@^20.0.1": version "20.0.1" resolved "https://registry.yarnpkg.com/@swimlane/ngx-charts/-/ngx-charts-20.0.1.tgz#6bcbf31b1ba88a53bc5796ed23e7ddf65189a493" @@ -4022,6 +4133,14 @@ caw@^2.0.0: tunnel-agent "^0.6.0" url-to-options "^1.0.1" +chalk@4, chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + chalk@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" @@ -4047,14 +4166,6 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -9532,12 +9643,12 @@ nwsapi@^2.2.0: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== -nx@13.5.3: - version "13.5.3" - resolved "https://registry.yarnpkg.com/nx/-/nx-13.5.3.tgz#5bdc72fd51eadcaf1dc4d5af800b863e4d103a4e" - integrity sha512-OqYNq+RL+nk8IAbxOl9CnfHnURA68tYlQojUdtdAiKnmcOouSzWnt1zRZb2nUWiMUiWEVojExMvCqXLwgRwQ6Q== +nx@13.6.1: + version "13.6.1" + resolved "https://registry.yarnpkg.com/nx/-/nx-13.6.1.tgz#4672b463f4c9a6b4a855a9d98b08efcd861f5ac5" + integrity sha512-155nM2WJR9TGKXhOdWE07/1nKa4QCSjyoeLPh641U6Bs/6uVtXkJoNJdIeaGDHPIpwQQdhM/1SoZFbVmj5//wQ== dependencies: - "@nrwl/cli" "13.5.3" + "@nrwl/cli" "13.6.1" object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" @@ -11752,7 +11863,7 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@0.5.21, source-map-support@^0.5.17, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@0.5.21, source-map-support@^0.5.17, source-map-support@^0.5.21, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -12421,7 +12532,7 @@ ts-node@10.4.0: make-error "^1.1.1" yn "3.1.1" -ts-node@^9.1.1, ts-node@~9.1.1: +ts-node@~9.1.1: version "9.1.1" resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== @@ -12433,10 +12544,10 @@ ts-node@^9.1.1, ts-node@~9.1.1: source-map-support "^0.5.17" yn "3.1.1" -tsconfig-paths-webpack-plugin@3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.4.1.tgz#4f0d7aa7c8258e7f99e0aa9b27c5687693b55eb1" - integrity sha512-HN1aWCPOXLF3dDke1w4z3RfCgmm9yTppg51FMCqZ02p6leKD4JZvvnPZtqhvnQVmoWWaQjbpO93h2WFjRJjQcA== +tsconfig-paths-webpack-plugin@3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz#01aafff59130c04a8c4ebc96a3045c43c376449a" + integrity sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw== dependencies: chalk "^4.1.0" enhanced-resolve "^5.7.0" @@ -12555,6 +12666,11 @@ typescript@4.5.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== +typescript@^4.5.3: + version "4.5.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== + unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" From 306c51dff0ec8118cdfcb73fb0c9d4974cd7f3a6 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Fri, 28 Jan 2022 09:58:13 +0200 Subject: [PATCH 256/260] update angular --- package.json | 26 +- yarn.lock | 1544 +++++++++++++++++++++++++------------------------- 2 files changed, 789 insertions(+), 781 deletions(-) diff --git a/package.json b/package.json index e05638546..0606996a2 100644 --- a/package.json +++ b/package.json @@ -23,18 +23,18 @@ } }, "dependencies": { - "@angular/animations": "13.1.2", + "@angular/animations": "13.2.0", "@angular/cdk": "13.1.2", - "@angular/common": "13.1.2", - "@angular/compiler": "13.1.2", - "@angular/core": "13.1.2", - "@angular/forms": "13.1.2", + "@angular/common": "13.2.0", + "@angular/compiler": "13.2.0", + "@angular/core": "13.2.0", + "@angular/forms": "13.2.0", "@angular/material": "13.1.2", "@angular/material-moment-adapter": "^13.1.2", - "@angular/platform-browser": "13.1.2", - "@angular/platform-browser-dynamic": "13.1.2", - "@angular/router": "13.1.2", - "@angular/service-worker": "13.1.2", + "@angular/platform-browser": "13.2.0", + "@angular/platform-browser-dynamic": "13.2.0", + "@angular/router": "13.2.0", + "@angular/service-worker": "13.2.0", "@biesbjerg/ngx-translate-extract-marker": "^1.0.0", "@materia-ui/ngx-monaco-editor": "^6.0.0", "@ngx-translate/core": "^14.0.0", @@ -62,13 +62,13 @@ "zone.js": "0.11.4" }, "devDependencies": { - "@angular-devkit/build-angular": "13.1.3", + "@angular-devkit/build-angular": "13.2.0", "@angular-eslint/eslint-plugin": "13.0.1", "@angular-eslint/eslint-plugin-template": "13.0.1", "@angular-eslint/template-parser": "13.0.1", - "@angular/cli": "13.1.3", - "@angular/compiler-cli": "13.1.2", - "@angular/language-service": "13.1.2", + "@angular/cli": "13.2.0", + "@angular/compiler-cli": "13.2.0", + "@angular/language-service": "13.2.0", "@bartholomej/ngx-translate-extract": "^8.0.2", "@nrwl/cli": "13.6.1", "@nrwl/eslint-plugin-nx": "13.6.1", diff --git a/yarn.lock b/yarn.lock index 11f2a244e..8abb0955c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,53 +2,53 @@ # yarn lockfile v1 -"@ampproject/remapping@1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.0.2.tgz#a7ebbadb71517dd63298420868f27d98fe230a0a" - integrity sha512-SncaVxs+E3EdoA9xJgHfWPxZfowAgeIsd71VpqCKP6KNKm6s7zSqqvUc70UpKUFsrV3dAmy6qxHoIj5NG+3DiA== +"@ampproject/remapping@1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-1.1.1.tgz#e220d0a5288b07afd6392a584d15921839e9da32" + integrity sha512-YVAcA4DKLOj296CF5SrQ8cYiMRiUGc2sqFpLxsDGWE34suHqhGP/5yMsDHKsrh8hs8I5TiRVXNwKPWQpX3iGjw== dependencies: - "@jridgewell/resolve-uri" "1.0.0" + "@jridgewell/resolve-uri" "^3.0.3" sourcemap-codec "1.4.8" -"@angular-devkit/architect@0.1301.3": - version "0.1301.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1301.3.tgz#197f92c984adf22776798ce568e64396e464a03d" - integrity sha512-fFSevgYGZHCybYoyTkZ9b1YCSthBmoi77alwWjqMhYXUNXx7yx50zJZ6Ur2v3YpctVjU6eoGc5FDFyVHwXT0Iw== +"@angular-devkit/architect@0.1302.0": + version "0.1302.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1302.0.tgz#31a2e6f0c744c5076c85b6db71e31665d7daef55" + integrity sha512-1CmVYvxyfvK/khTcDJwwXibm/z4upM2j5SDpwuIdaLx21E4oQPmHn+U/quT/jE5VI1zfZi2vfvIaSXn9XQzMiQ== dependencies: - "@angular-devkit/core" "13.1.3" + "@angular-devkit/core" "13.2.0" rxjs "6.6.7" -"@angular-devkit/build-angular@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.1.3.tgz#c04cef8a2d405cb66332b674d204a2717b6807f6" - integrity sha512-C5Qv8aGmpGbETG4Mawly/5LnkRwfJAzANL5BtYJn8ZaDlZKCkhvAaRXHpm4Mdqg5idACAT8hgYqPQvqyEBaVDA== +"@angular-devkit/build-angular@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-13.2.0.tgz#5880890b5083a31f96d237ffee5f82af6fcc11a8" + integrity sha512-cHnm/P7uKJjKh2BCN8gnnd240J5z3IesQyRAx88kFSlL5sKCGyGoAYKAjU585/lllIXjtFXSR/S2d/cHg8ShKw== dependencies: - "@ampproject/remapping" "1.0.2" - "@angular-devkit/architect" "0.1301.3" - "@angular-devkit/build-webpack" "0.1301.3" - "@angular-devkit/core" "13.1.3" - "@babel/core" "7.16.0" - "@babel/generator" "7.16.0" - "@babel/helper-annotate-as-pure" "7.16.0" - "@babel/plugin-proposal-async-generator-functions" "7.16.4" - "@babel/plugin-transform-async-to-generator" "7.16.0" - "@babel/plugin-transform-runtime" "7.16.4" - "@babel/preset-env" "7.16.4" - "@babel/runtime" "7.16.3" - "@babel/template" "7.16.0" + "@ampproject/remapping" "1.1.1" + "@angular-devkit/architect" "0.1302.0" + "@angular-devkit/build-webpack" "0.1302.0" + "@angular-devkit/core" "13.2.0" + "@babel/core" "7.16.12" + "@babel/generator" "7.16.8" + "@babel/helper-annotate-as-pure" "7.16.7" + "@babel/plugin-proposal-async-generator-functions" "7.16.8" + "@babel/plugin-transform-async-to-generator" "7.16.8" + "@babel/plugin-transform-runtime" "7.16.10" + "@babel/preset-env" "7.16.11" + "@babel/runtime" "7.16.7" + "@babel/template" "7.16.7" "@discoveryjs/json-ext" "0.5.6" - "@ngtools/webpack" "13.1.3" + "@ngtools/webpack" "13.2.0" ansi-colors "4.1.1" babel-loader "8.2.3" babel-plugin-istanbul "6.1.1" browserslist "^4.9.1" cacache "15.3.0" circular-dependency-plugin "5.2.2" - copy-webpack-plugin "10.0.0" - core-js "3.19.3" + copy-webpack-plugin "10.2.1" + core-js "3.20.3" critters "0.0.16" css-loader "6.5.1" - esbuild-wasm "0.14.11" + esbuild-wasm "0.14.14" glob "7.2.0" https-proxy-agent "5.0.0" inquirer "8.2.0" @@ -58,44 +58,44 @@ less-loader "10.2.0" license-webpack-plugin "4.0.0" loader-utils "3.2.0" - mini-css-extract-plugin "2.4.5" + mini-css-extract-plugin "2.5.3" minimatch "3.0.4" open "8.4.0" ora "5.4.1" parse5-html-rewriting-stream "6.0.1" - piscina "3.1.0" - postcss "8.4.4" + piscina "3.2.0" + postcss "8.4.5" postcss-import "14.0.2" postcss-loader "6.2.1" - postcss-preset-env "6.7.0" + postcss-preset-env "7.2.3" regenerator-runtime "0.13.9" - resolve-url-loader "4.0.0" + resolve-url-loader "5.0.0" rxjs "6.6.7" - sass "1.44.0" + sass "1.49.0" sass-loader "12.4.0" semver "7.3.5" - source-map-loader "3.0.0" + source-map-loader "3.0.1" source-map-support "0.5.21" - stylus "0.55.0" + stylus "0.56.0" stylus-loader "6.2.0" terser "5.10.0" text-table "0.2.0" tree-kill "1.2.2" tslib "2.3.1" - webpack "5.65.0" - webpack-dev-middleware "5.2.2" - webpack-dev-server "4.6.0" + webpack "5.67.0" + webpack-dev-middleware "5.3.0" + webpack-dev-server "4.7.3" webpack-merge "5.8.0" - webpack-subresource-integrity "5.0.0" + webpack-subresource-integrity "5.1.0" optionalDependencies: - esbuild "0.14.11" + esbuild "0.14.14" -"@angular-devkit/build-webpack@0.1301.3": - version "0.1301.3" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1301.3.tgz#4f8f9fd9e09992aaf904c4457f268b203c19b45d" - integrity sha512-FFwKdhq5n0lrqkiJRZoWKy21gERtvupkk0BpIVPTbRqyiqB2htiGM995uBBjpeDngytDLx+BwPFipVfQ+WIi9w== +"@angular-devkit/build-webpack@0.1302.0": + version "0.1302.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1302.0.tgz#92e41035805fb99c1167fe2a9018a20e03025e76" + integrity sha512-x5BLdobF7c7j4W8frJuKM73ZYvPygjPN8vq1iKhsEraClqJG8cLiDwLEEFcrzIfmCHTX1o1o75sWC0FNln2LfQ== dependencies: - "@angular-devkit/architect" "0.1301.3" + "@angular-devkit/architect" "0.1302.0" rxjs "6.6.7" "@angular-devkit/core@13.1.3": @@ -110,6 +110,18 @@ rxjs "6.6.7" source-map "0.7.3" +"@angular-devkit/core@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-13.2.0.tgz#d7ee99ba40af70193a436a27ee1591a1ec754cd9" + integrity sha512-5+aV2W2QUazySMKusBuT2pi2qsXWpTHJG2x62mKGAy0lxzwG8l3if+WP3Uh85SQS+zqlHeKxEbmm9zNn8ZrzFg== + dependencies: + ajv "8.9.0" + ajv-formats "2.1.1" + fast-json-stable-stringify "2.1.0" + magic-string "0.25.7" + rxjs "6.6.7" + source-map "0.7.3" + "@angular-devkit/schematics@13.1.3", "@angular-devkit/schematics@~13.1.0": version "13.1.3" resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-13.1.3.tgz#2328f9cf63d6f556392d96b73af794fc52bfc87f" @@ -121,6 +133,17 @@ ora "5.4.1" rxjs "6.6.7" +"@angular-devkit/schematics@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular-devkit/schematics/-/schematics-13.2.0.tgz#656a5491be9f25e08faffd410c6ad9a75a82a8a2" + integrity sha512-EwoqDqLJH5YpWiLuQJwonnJu2bi4xQlyKXyUTuXsQ4gIsAPrg+ijyAe+F/brAtDLBj0sU7JHoC0U1yx2pZ7f1A== + dependencies: + "@angular-devkit/core" "13.2.0" + jsonc-parser "3.0.0" + magic-string "0.25.7" + ora "5.4.1" + rxjs "6.6.7" + "@angular-eslint/bundled-angular-compiler@13.0.1": version "13.0.1" resolved "https://registry.yarnpkg.com/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-13.0.1.tgz#fc0a568f915948fc4eb701abb331dc2f0e3ebc71" @@ -160,10 +183,10 @@ "@angular-eslint/bundled-angular-compiler" "13.0.1" "@typescript-eslint/experimental-utils" "5.3.0" -"@angular/animations@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.1.2.tgz#fdf0776eaf053b14a4118c682a62f24e4192609a" - integrity sha512-k1eQ8YZq3eelLhJDQjkRCt/4MXxwK2TFeGdtcYJF0G7vFOppE8hlI4PT7Bvmk08lTqvgiqtTI3ZaYmIINLfUMg== +"@angular/animations@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/animations/-/animations-13.2.0.tgz#001983463ea5a1b0ffc8e86b0cd5efeb3acb3a4d" + integrity sha512-zLmNxkfxDQShJ97V9gTyQdlEbCD/zDUdpHXKlUViBIbe2M13FLGV3e2D+x9jGr/PRzFe0cukOnYxNEHJqqjqPA== dependencies: tslib "^2.3.0" @@ -176,15 +199,15 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/cli@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-13.1.3.tgz#d143f30ee67481cc315e0d18fecb076101dfa280" - integrity sha512-Ju/A8LFnfcv1PC665a5FiIQx9SXqB+3yWYFXPIiVkkRcye95gpfsbV48WW7QV35gzIwbR1m3H907Zg6ptiNv0A== +"@angular/cli@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-13.2.0.tgz#550841330a4eead75466f423c68a57be3640ec53" + integrity sha512-xrtClCucVSBwELG6zgaHrjC71p1rZOkwjF/HewnOFNjyjXSbWIO2y5d/6O2wxmNASoeStpiEU0zPpwDGhXiYpQ== dependencies: - "@angular-devkit/architect" "0.1301.3" - "@angular-devkit/core" "13.1.3" - "@angular-devkit/schematics" "13.1.3" - "@schematics/angular" "13.1.3" + "@angular-devkit/architect" "0.1302.0" + "@angular-devkit/core" "13.2.0" + "@angular-devkit/schematics" "13.2.0" + "@schematics/angular" "13.2.0" "@yarnpkg/lockfile" "1.1.0" ansi-colors "4.1.1" debug "4.3.3" @@ -195,23 +218,23 @@ npm-pick-manifest "6.1.1" open "8.4.0" ora "5.4.1" - pacote "12.0.2" - resolve "1.20.0" + pacote "12.0.3" + resolve "1.22.0" semver "7.3.5" symbol-observable "4.0.0" uuid "8.3.2" -"@angular/common@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.1.2.tgz#6a4abe30b1cc42702452bfd2214e482675f5d889" - integrity sha512-/8RWYQkZ1KPNvu2FANJM44wXlOMjMyxZVOEIn3llMRgxV2iiYtmluAOJNafTAbKedAuD6wiSpbi++QbioqCyyA== +"@angular/common@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/common/-/common-13.2.0.tgz#d5e311c14c90867d5da7d1d5f539813e338a7d5f" + integrity sha512-zyq3kscl5BoY+xxl4YOfbKP72xwzx/vKLE+2ougjPu2spm5KIllIAo/VrxVqIBrsGWT/4gs9pvIOqOdOfufxUA== dependencies: tslib "^2.3.0" -"@angular/compiler-cli@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.1.2.tgz#f9adde80bd9d0c3d90d8758c9803537373259053" - integrity sha512-yqM6RLcYtfwIuqBQ7eS7WdksBYY7Dh9sP4rElgLiEhDGIPQf6YE5zeuRThGq5pQ2fvHbNflw8QmTHu/18Y1u/g== +"@angular/compiler-cli@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/compiler-cli/-/compiler-cli-13.2.0.tgz#6eee613e86ec028a4a2b88a9dce45512eef7e862" + integrity sha512-IDX0X3GXjhUzd/cFyNZBG3eVqh6Y2W7MYvH9tXbZHcJ6vH9RkN2+zh/XQautVWy4EP33oQoDlsydfYKqbHr9TA== dependencies: "@babel/core" "^7.8.6" canonical-path "1.0.0" @@ -225,31 +248,38 @@ tslib "^2.3.0" yargs "^17.2.1" -"@angular/compiler@13.1.2", "@angular/compiler@^13.1.1": +"@angular/compiler@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.2.0.tgz#4112970f2bf6e347511de1e32459d717141750e3" + integrity sha512-TTA+Mn31vAwI4qiaH0h8DqNV3DWgZF+Q9G8Qqbw17k8Jf+B5CdLkMYBF8wbGegIdsEfo+6DebCp71W+aJxuSlw== + dependencies: + tslib "^2.3.0" + +"@angular/compiler@^13.1.1": version "13.1.2" resolved "https://registry.yarnpkg.com/@angular/compiler/-/compiler-13.1.2.tgz#86afbe282d0ff407fd8aeb66a79a804f40e7efa4" integrity sha512-xbM3eClhUIHEFR0Et1bVC18Q7+kJx+hNNWWQl63RNYYBxTZnZpXA3mYi6IcEasy7BHkobVW+5teqlibFQY4gfQ== dependencies: tslib "^2.3.0" -"@angular/core@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.1.2.tgz#793b97d0b7339d5b405f39dd5d021b4b78fcf256" - integrity sha512-dsb90lUf8BELzdg7MgSMfPc36xzZKsDggOimfXhIvmctgc+H71Zo07KYTy5JVqsscLdT+A/KBvtU1bKk4P+Rfg== +"@angular/core@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/core/-/core-13.2.0.tgz#8db7b6f56eb2f211b72d943582061b247f39fe7f" + integrity sha512-mWRWbbZ6k00AicA/GrxmWKaw8upo77sRQz4tSYKpwVKt2TtCeoW8OkdYUpnmuVjxpF0bD6PtVc0e1fD6es/ElA== dependencies: tslib "^2.3.0" -"@angular/forms@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.1.2.tgz#f72d7f84b78844a1606cd4226c2a3a1eb1de56b5" - integrity sha512-r5I5cPngk2Erxe/OEL9Hl1j1VcNSAAyVzh7KmtOP8z7RZYCd0MeRISKrmA5CGn5Dh7A5POFLoOpBatmvnc4Z/A== +"@angular/forms@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/forms/-/forms-13.2.0.tgz#67d505c09175d1ba809be721303316db7b0c60d4" + integrity sha512-aduXLuvqynDRRdb316yY1O5rdMQ2DKeNxu5P2FG1nkLQ3hqZvpiaUMhFyXvKDG3s0rV5e/PZs1cpg0Aqdfwevw== dependencies: tslib "^2.3.0" -"@angular/language-service@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-13.1.2.tgz#ff858d02ba4f1604382271f566e81f1fda22e15f" - integrity sha512-x38shYdkGEZm1pOai1xon82SDIlDAB/RZfhrSPCu56ryWmI0yfD49XUXywsEmpEMG5tmvdDlicaR59Q4QXjvwA== +"@angular/language-service@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-13.2.0.tgz#f198f3108fade0bc329f15e8d28c335ba4f4c549" + integrity sha512-nK40YXy9f2MsrejvTiKMrS7YHNvBxp3QIBU8aJN36LpkTTWC8aVqZ5A3to8JL0U6Anra8mkcC070xoYfh6miwg== "@angular/material-moment-adapter@^13.1.2": version "13.1.2" @@ -265,31 +295,31 @@ dependencies: tslib "^2.3.0" -"@angular/platform-browser-dynamic@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.1.2.tgz#2d381503862be7a9d5fd74a27c1f8cf10d9b086e" - integrity sha512-gABOn8DxGai56WmIt5o+eXtduabiq4Mlprg+6+dv+2PvWV871pLvswV9EGUSgwKXvbhBlDZDuNFU5LgvNDuGFg== +"@angular/platform-browser-dynamic@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser-dynamic/-/platform-browser-dynamic-13.2.0.tgz#68e24f5774e016283bc8dc864d4bb3f6abc895b9" + integrity sha512-VPL0uF/KWk+jBfkZwt60K6YbTFOvQzZbhwE4LttjjejstdvR0IMD3PtVDrdgIUWNfjikcCVN5Ds0GB6zZUb04Q== dependencies: tslib "^2.3.0" -"@angular/platform-browser@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.1.2.tgz#6b24c26cc01733f933a3c15288989259f83e8f46" - integrity sha512-yBUWtYJHr/1LuK3/YRRav2O82i6RHVPtRoAlZHoeTlh2CYA4u1m3JHq9XBrxIxSXexBX69pMrZENW1xskwKRTQ== +"@angular/platform-browser@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/platform-browser/-/platform-browser-13.2.0.tgz#d8a309c231dec646ab1dad28240466a00151b54b" + integrity sha512-FB9eKdRqpjopTFbea5JXnqSPFR7DZD4nepOSGnYttV9cVj4pABqx2A6FJCnyvPPUSTamODye/pNkGmzP2P1gcw== dependencies: tslib "^2.3.0" -"@angular/router@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/router/-/router-13.1.2.tgz#69146055473b9f5b8f9ba9b4de3a0740778ea174" - integrity sha512-5S0De6SdlbERoX9FwOBiTWxINchW7nTPUIH/tdanOqq12cqp6/7NigOr3BZDSvUNIh/6Is+pSQTKGAbhxejN2w== +"@angular/router@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/router/-/router-13.2.0.tgz#1bde95cc05195ed2c5cb1ec4f54233e48c2f33a3" + integrity sha512-8fWxcWT/LpaGhmXJ8xH+E7UObzt5IMGzK1sJGRu508y5tcbuBlTJt3yV97mCeUQ0g/E+2GEv6vuxY7OcfDaZow== dependencies: tslib "^2.3.0" -"@angular/service-worker@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-13.1.2.tgz#39007cea6c8dc359f7a6998edc5d1420f4e1c771" - integrity sha512-tsYWIrVDKeiEVJb/QtKc5EIGiGWdpjdrZLXvQkkiNPfbKwONU/rpD4zO+rqr2Ote1s/IFAycp9CyMMOZw0lgeg== +"@angular/service-worker@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/service-worker/-/service-worker-13.2.0.tgz#38e6eb423ef36528f3a7a162a726b0b47098a61d" + integrity sha512-ppxsckRObzMRlSYouGa5GCpbMlVCV7g70JPRYHK3UFTYrMLAEIsOhW9sAugEL72QfxgeXFKAjWdwQgBxwq7uLw== dependencies: tslib "^2.3.0" @@ -317,7 +347,33 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== -"@babel/core@7.16.0", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@^7.8.6": +"@babel/compat-data@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.8.tgz#31560f9f29fdf1868de8cb55049538a1b9732a60" + integrity sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q== + +"@babel/core@7.16.12": + version "7.16.12" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.12.tgz#5edc53c1b71e54881315923ae2aedea2522bb784" + integrity sha512-dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.16.7" + "@babel/parser" "^7.16.12" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.16.10" + "@babel/types" "^7.16.8" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" + +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5", "@babel/core@^7.8.6": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== @@ -359,7 +415,16 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@7.16.0", "@babel/generator@^7.16.0", "@babel/generator@^7.7.2": +"@babel/generator@7.16.8", "@babel/generator@^7.16.8": + version "7.16.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" + integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== + dependencies: + "@babel/types" "^7.16.8" + jsesc "^2.5.1" + source-map "^0.5.0" + +"@babel/generator@^7.16.0", "@babel/generator@^7.7.2": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== @@ -377,29 +442,20 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.16.8": - version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" - integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== - dependencies: - "@babel/types" "^7.16.8" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@7.16.0", "@babel/helper-annotate-as-pure@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" - integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== - dependencies: - "@babel/types" "^7.16.0" - -"@babel/helper-annotate-as-pure@^7.16.7": +"@babel/helper-annotate-as-pure@7.16.7", "@babel/helper-annotate-as-pure@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz#bb2339a7534a9c128e3102024c60760a3a7f3862" integrity sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw== dependencies: "@babel/types" "^7.16.7" +"@babel/helper-annotate-as-pure@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" + integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== + dependencies: + "@babel/types" "^7.16.0" + "@babel/helper-builder-binary-assignment-operator-visitor@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz#38d138561ea207f0f69eb1626a418e4f7e6a580b" @@ -418,7 +474,7 @@ browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-compilation-targets@^7.16.3", "@babel/helper-compilation-targets@^7.16.7": +"@babel/helper-compilation-targets@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== @@ -428,6 +484,19 @@ browserslist "^4.17.5" semver "^6.3.0" +"@babel/helper-create-class-features-plugin@^7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz#8a6959b9cc818a88815ba3c5474619e9c0f2c21c" + integrity sha512-wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.16.7" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-member-expression-to-functions" "^7.16.7" + "@babel/helper-optimise-call-expression" "^7.16.7" + "@babel/helper-replace-supers" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-create-class-features-plugin@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.7.tgz#9c5b34b53a01f2097daf10678d65135c1b9f84ba" @@ -471,6 +540,20 @@ resolve "^1.14.2" semver "^6.1.2" +"@babel/helper-define-polyfill-provider@^0.3.1": + version "0.3.1" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz#52411b445bdb2e676869e5a74960d2d3826d2665" + integrity sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA== + dependencies: + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/traverse" "^7.13.0" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + "@babel/helper-environment-visitor@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" @@ -611,7 +694,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== -"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4", "@babel/helper-remap-async-to-generator@^7.16.8": +"@babel/helper-remap-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz#29ffaade68a367e2ed09c90901986918d25e57e3" integrity sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw== @@ -747,6 +830,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== +"@babel/parser@^7.16.10", "@babel/parser@^7.16.12": + version "7.16.12" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" + integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== + "@babel/parser@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.7.tgz#d372dda9c89fcec340a82630a9f533f2fe15877e" @@ -757,14 +845,14 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.8.tgz#61c243a3875f7d0b0962b0543a33ece6ff2f1f17" integrity sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz#4eda6d6c2a0aa79c70fa7b6da67763dfe2141050" integrity sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz#cc001234dfc139ac45f6bcf801866198c8c72ff9" integrity sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw== @@ -773,16 +861,7 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.7" -"@babel/plugin-proposal-async-generator-functions@7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" - integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.4" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-async-generator-functions@^7.16.4": +"@babel/plugin-proposal-async-generator-functions@7.16.8", "@babel/plugin-proposal-async-generator-functions@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz#3bdd1ebbe620804ea9416706cd67d60787504bc8" integrity sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ== @@ -791,7 +870,7 @@ "@babel/helper-remap-async-to-generator" "^7.16.8" "@babel/plugin-syntax-async-generators" "^7.8.4" -"@babel/plugin-proposal-class-properties@^7.16.0": +"@babel/plugin-proposal-class-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz#925cad7b3b1a2fcea7e59ecc8eb5954f961f91b0" integrity sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww== @@ -799,7 +878,7 @@ "@babel/helper-create-class-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-class-static-block@^7.16.0": +"@babel/plugin-proposal-class-static-block@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.7.tgz#712357570b612106ef5426d13dc433ce0f200c2a" integrity sha512-dgqJJrcZoG/4CkMopzhPJjGxsIe9A8RlkQLnL/Vhhx8AA9ZuaRwGSlscSh42hazc7WSrya/IK7mTeoF0DP9tEw== @@ -808,7 +887,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-proposal-dynamic-import@^7.16.0": +"@babel/plugin-proposal-dynamic-import@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz#c19c897eaa46b27634a00fee9fb7d829158704b2" integrity sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg== @@ -816,7 +895,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.16.0": +"@babel/plugin-proposal-export-namespace-from@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz#09de09df18445a5786a305681423ae63507a6163" integrity sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA== @@ -824,7 +903,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.16.0": +"@babel/plugin-proposal-json-strings@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz#9732cb1d17d9a2626a08c5be25186c195b6fa6e8" integrity sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ== @@ -832,7 +911,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.16.0": +"@babel/plugin-proposal-logical-assignment-operators@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz#be23c0ba74deec1922e639832904be0bea73cdea" integrity sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg== @@ -840,7 +919,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": +"@babel/plugin-proposal-nullish-coalescing-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz#141fc20b6857e59459d430c850a0011e36561d99" integrity sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ== @@ -848,7 +927,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-proposal-numeric-separator@^7.16.0": +"@babel/plugin-proposal-numeric-separator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz#d6b69f4af63fb38b6ca2558442a7fb191236eba9" integrity sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw== @@ -856,7 +935,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.16.0": +"@babel/plugin-proposal-object-rest-spread@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz#94593ef1ddf37021a25bdcb5754c4a8d534b01d8" integrity sha512-3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA== @@ -867,7 +946,7 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.16.7" -"@babel/plugin-proposal-optional-catch-binding@^7.16.0": +"@babel/plugin-proposal-optional-catch-binding@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz#c623a430674ffc4ab732fd0a0ae7722b67cb74cf" integrity sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA== @@ -875,7 +954,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.16.0", "@babel/plugin-proposal-optional-chaining@^7.16.7": +"@babel/plugin-proposal-optional-chaining@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz#7cd629564724816c0e8a969535551f943c64c39a" integrity sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA== @@ -884,15 +963,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.16.0": - version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.7.tgz#e418e3aa6f86edd6d327ce84eff188e479f571e0" - integrity sha512-7twV3pzhrRxSwHeIvFE6coPgvo+exNDOiGUMg39o2LiLo1Y+4aKpfkcLGcg1UHonzorCt7SNXnoMyCnnIOA8Sw== +"@babel/plugin-proposal-private-methods@^7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz#e8df108288555ff259f4527dbe84813aac3a1c50" + integrity sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.16.7" + "@babel/helper-create-class-features-plugin" "^7.16.10" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-proposal-private-property-in-object@^7.16.0": +"@babel/plugin-proposal-private-property-in-object@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz#b0b8cef543c2c3d57e59e2c611994861d46a3fce" integrity sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ== @@ -902,7 +981,7 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.16.0": +"@babel/plugin-proposal-unicode-property-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz#635d18eb10c6214210ffc5ff4932552de08188a2" integrity sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg== @@ -1037,23 +1116,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.16.0": +"@babel/plugin-transform-arrow-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz#44125e653d94b98db76369de9c396dc14bef4154" integrity sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-async-to-generator@7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" - integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== - dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.0" - -"@babel/plugin-transform-async-to-generator@^7.16.0": +"@babel/plugin-transform-async-to-generator@7.16.8", "@babel/plugin-transform-async-to-generator@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz#b83dff4b970cf41f1b819f8b49cc0cfbaa53a808" integrity sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg== @@ -1062,21 +1132,21 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-remap-async-to-generator" "^7.16.8" -"@babel/plugin-transform-block-scoped-functions@^7.16.0": +"@babel/plugin-transform-block-scoped-functions@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz#4d0d57d9632ef6062cdf354bb717102ee042a620" integrity sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-block-scoping@^7.16.0": +"@babel/plugin-transform-block-scoping@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz#f50664ab99ddeaee5bc681b8f3a6ea9d72ab4f87" integrity sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-classes@^7.16.0": +"@babel/plugin-transform-classes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz#8f4b9562850cd973de3b498f1218796eb181ce00" integrity sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ== @@ -1090,21 +1160,21 @@ "@babel/helper-split-export-declaration" "^7.16.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.16.0": +"@babel/plugin-transform-computed-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz#66dee12e46f61d2aae7a73710f591eb3df616470" integrity sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-destructuring@^7.16.0": +"@babel/plugin-transform-destructuring@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz#ca9588ae2d63978a4c29d3f33282d8603f618e23" integrity sha512-VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-dotall-regex@^7.16.0": +"@babel/plugin-transform-dotall-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz#6b2d67686fab15fb6a7fd4bd895d5982cfc81241" integrity sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ== @@ -1120,14 +1190,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-duplicate-keys@^7.16.0": +"@babel/plugin-transform-duplicate-keys@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz#2207e9ca8f82a0d36a5a67b6536e7ef8b08823c9" integrity sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-exponentiation-operator@^7.16.0": +"@babel/plugin-transform-exponentiation-operator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz#efa9862ef97e9e9e5f653f6ddc7b665e8536fe9b" integrity sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA== @@ -1135,14 +1205,14 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-for-of@^7.16.0": +"@babel/plugin-transform-for-of@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz#649d639d4617dff502a9a158c479b3b556728d8c" integrity sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-function-name@^7.16.0": +"@babel/plugin-transform-function-name@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz#5ab34375c64d61d083d7d2f05c38d90b97ec65cf" integrity sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA== @@ -1151,21 +1221,21 @@ "@babel/helper-function-name" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-literals@^7.16.0": +"@babel/plugin-transform-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz#254c9618c5ff749e87cb0c0cef1a0a050c0bdab1" integrity sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-member-expression-literals@^7.16.0": +"@babel/plugin-transform-member-expression-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz#6e5dcf906ef8a098e630149d14c867dd28f92384" integrity sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-modules-amd@^7.16.0": +"@babel/plugin-transform-modules-amd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz#b28d323016a7daaae8609781d1f8c9da42b13186" integrity sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g== @@ -1174,7 +1244,7 @@ "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.16.0": +"@babel/plugin-transform-modules-commonjs@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.8.tgz#cdee19aae887b16b9d331009aa9a219af7c86afe" integrity sha512-oflKPvsLT2+uKQopesJt3ApiaIS2HW+hzHFcwRNtyDGieAeC/dIHZX8buJQ2J2X1rxGPy4eRcUijm3qcSPjYcA== @@ -1184,7 +1254,7 @@ "@babel/helper-simple-access" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.16.0": +"@babel/plugin-transform-modules-systemjs@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.7.tgz#887cefaef88e684d29558c2b13ee0563e287c2d7" integrity sha512-DuK5E3k+QQmnOqBR9UkusByy5WZWGRxfzV529s9nPra1GE7olmxfqO2FHobEOYSPIjPBTr4p66YDcjQnt8cBmw== @@ -1195,7 +1265,7 @@ "@babel/helper-validator-identifier" "^7.16.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.16.0": +"@babel/plugin-transform-modules-umd@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz#23dad479fa585283dbd22215bff12719171e7618" integrity sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ== @@ -1203,21 +1273,21 @@ "@babel/helper-module-transforms" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": +"@babel/plugin-transform-named-capturing-groups-regex@^7.16.8": version "7.16.8" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz#7f860e0e40d844a02c9dcf9d84965e7dfd666252" integrity sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw== dependencies: "@babel/helper-create-regexp-features-plugin" "^7.16.7" -"@babel/plugin-transform-new-target@^7.16.0": +"@babel/plugin-transform-new-target@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz#9967d89a5c243818e0800fdad89db22c5f514244" integrity sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-object-super@^7.16.0": +"@babel/plugin-transform-object-super@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz#ac359cf8d32cf4354d27a46867999490b6c32a94" integrity sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw== @@ -1225,54 +1295,54 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-replace-supers" "^7.16.7" -"@babel/plugin-transform-parameters@^7.16.3", "@babel/plugin-transform-parameters@^7.16.7": +"@babel/plugin-transform-parameters@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz#a1721f55b99b736511cb7e0152f61f17688f331f" integrity sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-property-literals@^7.16.0": +"@babel/plugin-transform-property-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz#2dadac85155436f22c696c4827730e0fe1057a55" integrity sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-regenerator@^7.16.0": +"@babel/plugin-transform-regenerator@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz#9e7576dc476cb89ccc5096fff7af659243b4adeb" integrity sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.16.0": +"@babel/plugin-transform-reserved-words@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz#1d798e078f7c5958eec952059c460b220a63f586" integrity sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-runtime@7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8" - integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A== +"@babel/plugin-transform-runtime@7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz#53d9fd3496daedce1dd99639097fa5d14f4c7c2c" + integrity sha512-9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w== dependencies: - "@babel/helper-module-imports" "^7.16.0" - "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" -"@babel/plugin-transform-shorthand-properties@^7.16.0": +"@babel/plugin-transform-shorthand-properties@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz#e8549ae4afcf8382f711794c0c7b6b934c5fbd2a" integrity sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-spread@^7.16.0": +"@babel/plugin-transform-spread@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz#a303e2122f9f12e0105daeedd0f30fb197d8ff44" integrity sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg== @@ -1280,35 +1350,35 @@ "@babel/helper-plugin-utils" "^7.16.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.16.0": +"@babel/plugin-transform-sticky-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz#c84741d4f4a38072b9a1e2e3fd56d359552e8660" integrity sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-template-literals@^7.16.0": +"@babel/plugin-transform-template-literals@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz#f3d1c45d28967c8e80f53666fc9c3e50618217ab" integrity sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-typeof-symbol@^7.16.0": +"@babel/plugin-transform-typeof-symbol@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz#9cdbe622582c21368bd482b660ba87d5545d4f7e" integrity sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-escapes@^7.16.0": +"@babel/plugin-transform-unicode-escapes@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz#da8717de7b3287a2c6d659750c964f302b31ece3" integrity sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q== dependencies: "@babel/helper-plugin-utils" "^7.16.7" -"@babel/plugin-transform-unicode-regex@^7.16.0": +"@babel/plugin-transform-unicode-regex@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz#0f7aa4a501198976e25e82702574c34cfebe9ef2" integrity sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q== @@ -1316,32 +1386,32 @@ "@babel/helper-create-regexp-features-plugin" "^7.16.7" "@babel/helper-plugin-utils" "^7.16.7" -"@babel/preset-env@7.16.4": - version "7.16.4" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" - integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== +"@babel/preset-env@7.16.11": + version "7.16.11" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.11.tgz#5dd88fd885fae36f88fd7c8342475c9f0abe2982" + integrity sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g== dependencies: - "@babel/compat-data" "^7.16.4" - "@babel/helper-compilation-targets" "^7.16.3" - "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-async-generator-functions" "^7.16.4" - "@babel/plugin-proposal-class-properties" "^7.16.0" - "@babel/plugin-proposal-class-static-block" "^7.16.0" - "@babel/plugin-proposal-dynamic-import" "^7.16.0" - "@babel/plugin-proposal-export-namespace-from" "^7.16.0" - "@babel/plugin-proposal-json-strings" "^7.16.0" - "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" - "@babel/plugin-proposal-numeric-separator" "^7.16.0" - "@babel/plugin-proposal-object-rest-spread" "^7.16.0" - "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" - "@babel/plugin-proposal-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-private-methods" "^7.16.0" - "@babel/plugin-proposal-private-property-in-object" "^7.16.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" + "@babel/compat-data" "^7.16.8" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-plugin-utils" "^7.16.7" + "@babel/helper-validator-option" "^7.16.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-async-generator-functions" "^7.16.8" + "@babel/plugin-proposal-class-properties" "^7.16.7" + "@babel/plugin-proposal-class-static-block" "^7.16.7" + "@babel/plugin-proposal-dynamic-import" "^7.16.7" + "@babel/plugin-proposal-export-namespace-from" "^7.16.7" + "@babel/plugin-proposal-json-strings" "^7.16.7" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.7" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.7" + "@babel/plugin-proposal-numeric-separator" "^7.16.7" + "@babel/plugin-proposal-object-rest-spread" "^7.16.7" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.7" + "@babel/plugin-proposal-optional-chaining" "^7.16.7" + "@babel/plugin-proposal-private-methods" "^7.16.11" + "@babel/plugin-proposal-private-property-in-object" "^7.16.7" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.7" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -1356,44 +1426,44 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.16.0" - "@babel/plugin-transform-async-to-generator" "^7.16.0" - "@babel/plugin-transform-block-scoped-functions" "^7.16.0" - "@babel/plugin-transform-block-scoping" "^7.16.0" - "@babel/plugin-transform-classes" "^7.16.0" - "@babel/plugin-transform-computed-properties" "^7.16.0" - "@babel/plugin-transform-destructuring" "^7.16.0" - "@babel/plugin-transform-dotall-regex" "^7.16.0" - "@babel/plugin-transform-duplicate-keys" "^7.16.0" - "@babel/plugin-transform-exponentiation-operator" "^7.16.0" - "@babel/plugin-transform-for-of" "^7.16.0" - "@babel/plugin-transform-function-name" "^7.16.0" - "@babel/plugin-transform-literals" "^7.16.0" - "@babel/plugin-transform-member-expression-literals" "^7.16.0" - "@babel/plugin-transform-modules-amd" "^7.16.0" - "@babel/plugin-transform-modules-commonjs" "^7.16.0" - "@babel/plugin-transform-modules-systemjs" "^7.16.0" - "@babel/plugin-transform-modules-umd" "^7.16.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" - "@babel/plugin-transform-new-target" "^7.16.0" - "@babel/plugin-transform-object-super" "^7.16.0" - "@babel/plugin-transform-parameters" "^7.16.3" - "@babel/plugin-transform-property-literals" "^7.16.0" - "@babel/plugin-transform-regenerator" "^7.16.0" - "@babel/plugin-transform-reserved-words" "^7.16.0" - "@babel/plugin-transform-shorthand-properties" "^7.16.0" - "@babel/plugin-transform-spread" "^7.16.0" - "@babel/plugin-transform-sticky-regex" "^7.16.0" - "@babel/plugin-transform-template-literals" "^7.16.0" - "@babel/plugin-transform-typeof-symbol" "^7.16.0" - "@babel/plugin-transform-unicode-escapes" "^7.16.0" - "@babel/plugin-transform-unicode-regex" "^7.16.0" + "@babel/plugin-transform-arrow-functions" "^7.16.7" + "@babel/plugin-transform-async-to-generator" "^7.16.8" + "@babel/plugin-transform-block-scoped-functions" "^7.16.7" + "@babel/plugin-transform-block-scoping" "^7.16.7" + "@babel/plugin-transform-classes" "^7.16.7" + "@babel/plugin-transform-computed-properties" "^7.16.7" + "@babel/plugin-transform-destructuring" "^7.16.7" + "@babel/plugin-transform-dotall-regex" "^7.16.7" + "@babel/plugin-transform-duplicate-keys" "^7.16.7" + "@babel/plugin-transform-exponentiation-operator" "^7.16.7" + "@babel/plugin-transform-for-of" "^7.16.7" + "@babel/plugin-transform-function-name" "^7.16.7" + "@babel/plugin-transform-literals" "^7.16.7" + "@babel/plugin-transform-member-expression-literals" "^7.16.7" + "@babel/plugin-transform-modules-amd" "^7.16.7" + "@babel/plugin-transform-modules-commonjs" "^7.16.8" + "@babel/plugin-transform-modules-systemjs" "^7.16.7" + "@babel/plugin-transform-modules-umd" "^7.16.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.8" + "@babel/plugin-transform-new-target" "^7.16.7" + "@babel/plugin-transform-object-super" "^7.16.7" + "@babel/plugin-transform-parameters" "^7.16.7" + "@babel/plugin-transform-property-literals" "^7.16.7" + "@babel/plugin-transform-regenerator" "^7.16.7" + "@babel/plugin-transform-reserved-words" "^7.16.7" + "@babel/plugin-transform-shorthand-properties" "^7.16.7" + "@babel/plugin-transform-spread" "^7.16.7" + "@babel/plugin-transform-sticky-regex" "^7.16.7" + "@babel/plugin-transform-template-literals" "^7.16.7" + "@babel/plugin-transform-typeof-symbol" "^7.16.7" + "@babel/plugin-transform-unicode-escapes" "^7.16.7" + "@babel/plugin-transform-unicode-regex" "^7.16.7" "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.16.0" + "@babel/types" "^7.16.8" babel-plugin-polyfill-corejs2 "^0.3.0" - babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-corejs3 "^0.5.0" babel-plugin-polyfill-regenerator "^0.3.0" - core-js-compat "^3.19.1" + core-js-compat "^3.20.2" semver "^6.3.0" "@babel/preset-modules@^0.1.5": @@ -1415,23 +1485,21 @@ core-js-pure "^3.19.0" regenerator-runtime "^0.13.4" -"@babel/runtime@7.16.3", "@babel/runtime@^7.10.2", "@babel/runtime@^7.8.4": +"@babel/runtime@7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" + integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== + dependencies: + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.10.2", "@babel/runtime@^7.8.4": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/template@7.16.0", "@babel/template@^7.16.0", "@babel/template@^7.3.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" - integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== - dependencies: - "@babel/code-frame" "^7.16.0" - "@babel/parser" "^7.16.0" - "@babel/types" "^7.16.0" - -"@babel/template@^7.16.7": +"@babel/template@7.16.7", "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== @@ -1440,6 +1508,15 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/template@^7.16.0", "@babel/template@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== + dependencies: + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" + "@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.7.2": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" @@ -1455,6 +1532,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.16.10": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" + integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.16.8" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.16.10" + "@babel/types" "^7.16.8" + debug "^4.1.0" + globals "^11.1.0" + "@babel/traverse@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.7.tgz#dac01236a72c2560073658dd1a285fe4e0865d76" @@ -1551,11 +1644,6 @@ dependencies: "@cspotcode/source-map-consumer" "0.8.0" -"@csstools/convert-colors@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" - integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== - "@cypress/webpack-preprocessor@^5.9.1": version "5.10.0" resolved "https://registry.yarnpkg.com/@cypress/webpack-preprocessor/-/webpack-preprocessor-5.10.0.tgz#477eee82c04caec956a07e51d2d90a9947ed6d7e" @@ -1933,10 +2021,10 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" -"@jridgewell/resolve-uri@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-1.0.0.tgz#3fdf5798f0b49e90155896f6291df186eac06c83" - integrity sha512-9oLAnygRMi8Q5QkYEU4XWK04B+nuoXoxjRvRxgjuChkLZFBja0YPSgdZ7dZtwhncLBcQe/I/E+fLuk5qxcYVJA== +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.3.tgz#b80093f4edbb5490c49746231513669c8f518acb" + integrity sha512-fuIOnc81C5iRNevb/XPiM8Khp9bVjreydRQ37rt0C/dY0PAW1DRvEM3WrKX/5rStS5lbgwS0FCgqSndh9tvK5w== "@materia-ui/ngx-monaco-editor@^6.0.0": version "6.0.0" @@ -1945,10 +2033,10 @@ dependencies: tslib "^2.0.0" -"@ngtools/webpack@13.1.3": - version "13.1.3" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.1.3.tgz#f3e516da2b2a352db9d723e8cebbe15b526de14c" - integrity sha512-6Pf52IbChm/dFuegfv0smeBTW2moi0Gdkyjgk/7VWqE6hN35m+YGrCh+XnPp1POJwOKxhAByhV9zs6NWxrK1vA== +"@ngtools/webpack@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-13.2.0.tgz#9e1b9f66007033cf1fd58345b364773ce090cb10" + integrity sha512-dQKPsEsST/HSBYtC75E0ARI1zVsW65h/NYzcAwtOd8DKFmlj8EZMqKC4KwcJ/EKlwR1PN12nBZhuQ1HUVH8Vtg== "@ngx-translate/core@^14.0.0": version "14.0.0" @@ -2262,7 +2350,16 @@ estree-walker "^1.0.1" picomatch "^2.2.2" -"@schematics/angular@13.1.3", "@schematics/angular@~13.1.0": +"@schematics/angular@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-13.2.0.tgz#fee1ef0810d16d7090822233e6e6e01a91a04a2c" + integrity sha512-DlUJ+ix9u/wz7IWc82dix5xsDGu0nztZ6Litrv+EsFDRYc95IFxTWuNwwjL2eRkI2KLIk79wmO7xhlUwrUyNlg== + dependencies: + "@angular-devkit/core" "13.2.0" + "@angular-devkit/schematics" "13.2.0" + jsonc-parser "3.0.0" + +"@schematics/angular@~13.1.0": version "13.1.3" resolved "https://registry.yarnpkg.com/@schematics/angular/-/angular-13.1.3.tgz#c763cdf1a2e0784d5263c23b581bfeb4a4a2f12e" integrity sha512-IixVWAEtN97N74PCxg3T03Ar/ECjGyJBWKAjKTTCrgNSWhm2mKgIc4RyI6cVCnltfJWIo48fcFhlOx/elShaCg== @@ -2420,6 +2517,11 @@ resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== +"@tootallnate/once@2": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" + integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== + "@tsconfig/node10@^1.0.7": version "1.0.8" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.8.tgz#c1e4e80d6f964fbecb3359c43bd48b40f7cadad9" @@ -2473,6 +2575,36 @@ dependencies: "@babel/types" "^7.3.0" +"@types/body-parser@*": + version "1.19.2" + resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" + integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== + dependencies: + "@types/connect" "*" + "@types/node" "*" + +"@types/bonjour@^3.5.9": + version "3.5.10" + resolved "https://registry.yarnpkg.com/@types/bonjour/-/bonjour-3.5.10.tgz#0f6aadfe00ea414edc86f5d106357cda9701e275" + integrity sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw== + dependencies: + "@types/node" "*" + +"@types/connect-history-api-fallback@^1.3.5": + version "1.3.5" + resolved "https://registry.yarnpkg.com/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz#d1f7a8a09d0ed5a57aee5ae9c18ab9b803205dae" + integrity sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw== + dependencies: + "@types/express-serve-static-core" "*" + "@types/node" "*" + +"@types/connect@*": + version "3.4.35" + resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" + integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== + dependencies: + "@types/node" "*" + "@types/d3-path@^2": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/d3-path/-/d3-path-2.0.1.tgz#ca03dfa8b94d8add97ad0cd97e96e2006b4763cb" @@ -2511,6 +2643,25 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.18": + version "4.17.28" + resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8" + integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + +"@types/express@*": + version "4.17.13" + resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034" + integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^4.17.18" + "@types/qs" "*" + "@types/serve-static" "*" + "@types/graceful-fs@^4.1.2": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" @@ -2567,6 +2718,11 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.178.tgz#341f6d2247db528d4a13ddbb374bcdc80406f4f8" integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== +"@types/mime@^1": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" + integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw== + "@types/minimatch@^3.0.3": version "3.0.5" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" @@ -2599,6 +2755,16 @@ dependencies: "@types/node" "*" +"@types/qs@*": + version "6.9.7" + resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" + integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== + +"@types/range-parser@*": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" + integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== + "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -2611,11 +2777,40 @@ resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.1.tgz#d8f1c0d0dc23afad6dc16a9e993a0865774b4065" integrity sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g== +"@types/serve-index@^1.9.1": + version "1.9.1" + resolved "https://registry.yarnpkg.com/@types/serve-index/-/serve-index-1.9.1.tgz#1b5e85370a192c01ec6cec4735cf2917337a6278" + integrity sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg== + dependencies: + "@types/express" "*" + +"@types/serve-static@*": + version "1.13.10" + resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9" + integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ== + dependencies: + "@types/mime" "^1" + "@types/node" "*" + +"@types/sockjs@^0.3.33": + version "0.3.33" + resolved "https://registry.yarnpkg.com/@types/sockjs/-/sockjs-0.3.33.tgz#570d3a0b99ac995360e3136fd6045113b1bd236f" + integrity sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw== + dependencies: + "@types/node" "*" + "@types/stack-utils@^2.0.0": version "2.0.1" resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/ws@^8.2.2": + version "8.2.2" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21" + integrity sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg== + dependencies: + "@types/node" "*" + "@types/yargs-parser@*": version "20.2.1" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" @@ -3213,6 +3408,16 @@ ajv@8.8.2, ajv@^8.0.0, ajv@^8.8.0: require-from-string "^2.0.2" uri-js "^4.2.2" +ajv@8.9.0: + version "8.9.0" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" + integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -3501,19 +3706,6 @@ autoprefixer@^10.4.2: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -autoprefixer@^9.6.1: - version "9.8.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" - integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== - dependencies: - browserslist "^4.12.0" - caniuse-lite "^1.0.30001109" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - picocolors "^0.2.1" - postcss "^7.0.32" - postcss-value-parser "^4.1.0" - axios@^0.18.0: version "0.18.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.18.1.tgz#ff3f0de2e7b5d180e757ad98000f1081b87bcea3" @@ -3619,13 +3811,13 @@ babel-plugin-polyfill-corejs2@^0.3.0: "@babel/helper-define-polyfill-provider" "^0.3.0" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" - integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== +babel-plugin-polyfill-corejs3@^0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz#d66183bf10976ea677f4149a7fcc4d8df43d4060" + integrity sha512-TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A== dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.0" - core-js-compat "^3.18.0" + "@babel/helper-define-polyfill-provider" "^0.3.1" + core-js-compat "^3.20.0" babel-plugin-polyfill-regenerator@^0.3.0: version "0.3.0" @@ -3904,7 +4096,7 @@ browserify-zlib@^0.2.0: dependencies: pako "~1.0.5" -browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.6.4, browserslist@^4.9.1: +browserslist@^4.14.5, browserslist@^4.16.1, browserslist@^4.17.5, browserslist@^4.9.1: version "4.18.1" resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== @@ -4103,7 +4295,7 @@ camelcase@^6.2.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== -caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001280: +caniuse-lite@^1.0.30001280: version "1.0.30001283" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001283.tgz#8573685bdae4d733ef18f78d44ba0ca5fe9e896b" integrity sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg== @@ -4537,10 +4729,10 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -copy-webpack-plugin@10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.0.0.tgz#f25a29ca2398a6ca31183b62e76adacb53b981d1" - integrity sha512-tuCVuFMBbRsb7IH0q1CUb50/Skv+7a6c7DJ+xi4fAbOzNLTYVMUTPnf8uGvKPtmqTvzYBrfEFo7YgP4TsUWmtg== +copy-webpack-plugin@10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz#115a41f913070ac236a1b576066204cbf35341a1" + integrity sha512-nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg== dependencies: fast-glob "^3.2.7" glob-parent "^6.0.1" @@ -4549,10 +4741,10 @@ copy-webpack-plugin@10.0.0: schema-utils "^4.0.0" serialize-javascript "^6.0.0" -core-js-compat@^3.18.0, core-js-compat@^3.19.1: - version "3.20.2" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.2.tgz#d1ff6936c7330959b46b2e08b122a8b14e26140b" - integrity sha512-qZEzVQ+5Qh6cROaTPFLNS4lkvQ6mBzE3R6A6EEpssj7Zr2egMHgsy4XapdifqJDGC9CBiNv7s+ejI96rLNQFdg== +core-js-compat@^3.20.0, core-js-compat@^3.20.2: + version "3.20.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.20.3.tgz#d71f85f94eb5e4bea3407412e549daa083d23bd6" + integrity sha512-c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw== dependencies: browserslist "^4.19.1" semver "7.0.0" @@ -4562,10 +4754,10 @@ core-js-pure@^3.19.0: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4" integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ== -core-js@3.19.3: - version "3.19.3" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.3.tgz#6df8142a996337503019ff3235a7022d7cdf4559" - integrity sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g== +core-js@3.20.3: + version "3.20.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.20.3.tgz#c710d0a676e684522f3db4ee84e5e18a9d11d69a" + integrity sha512-vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag== core-js@^3.6.5: version "3.19.1" @@ -4673,13 +4865,6 @@ crypto-browserify@^3.11.0: randombytes "^2.0.0" randomfill "^1.0.3" -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - css-blank-pseudo@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-3.0.2.tgz#f8660f6a48b17888a9277e53f25cc5abec1f0169" @@ -4687,14 +4872,6 @@ css-blank-pseudo@^3.0.2: dependencies: postcss-selector-parser "^6.0.8" -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - css-has-pseudo@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-3.0.3.tgz#4824a34cb92dae7e09ea1d3fd19691b653412098" @@ -4716,13 +4893,6 @@ css-loader@6.5.1: postcss-value-parser "^4.1.0" semver "^7.3.5" -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - css-prefers-color-scheme@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.2.tgz#d5c03a980caab92d8beeee176a8795d331e0c727" @@ -4753,21 +4923,11 @@ css@^3.0.0: source-map "^0.6.1" source-map-resolve "^0.6.0" -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - cssdb@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-5.0.0.tgz#96db23e70dda3d03a32346de611f0e79fee68b7f" integrity sha512-Q7982SynYCtcLUBCPgUPFy2TZmDiFyimpdln8K2v4w2c07W4rXL7q5F1ksVAqOAQfxKyyUGCKSsioezKT5bU1Q== -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" @@ -4946,7 +5106,7 @@ debug@4.3.2: dependencies: ms "2.1.2" -debug@=3.1.0, debug@~3.1.0: +debug@=3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== @@ -5503,6 +5663,11 @@ esbuild-android-arm64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz#b8b34e35a5b43880664ac7a3fbc70243d7ed894f" integrity sha512-6iHjgvMnC/SzDH8TefL+/3lgCjYWwAd1LixYfmz/TBPbDQlxcuSkX0yiQgcJB9k+ibZ54yjVXziIwGdlc+6WNw== +esbuild-android-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" + integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== + esbuild-darwin-64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.13.tgz#e94e9fd3b4b5455a2e675cd084a19a71b6904bbf" @@ -5513,6 +5678,11 @@ esbuild-darwin-64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.11.tgz#ba805de98c0412e50fcd0636451797da157b0625" integrity sha512-olq84ikh6TiBcrs3FnM4eR5VPPlcJcdW8BnUz/lNoEWYifYQ+Po5DuYV1oz1CTFMw4k6bQIZl8T3yxL+ZT2uvQ== +esbuild-darwin-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" + integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== + esbuild-darwin-arm64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.13.tgz#8c320eafbb3ba2c70d8062128c5b71503e342471" @@ -5523,6 +5693,11 @@ esbuild-darwin-arm64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.11.tgz#4d3573e448af76ce33e16231f3d9f878542d6fe8" integrity sha512-Jj0ieWLREPBYr/TZJrb2GFH8PVzDqiQWavo1pOFFShrcmHWDBDrlDxPzEZ67NF/Un3t6sNNmeI1TUS/fe1xARg== +esbuild-darwin-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" + integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== + esbuild-freebsd-64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.13.tgz#ce0ca5b8c4c274cfebc9326f9b316834bd9dd151" @@ -5533,6 +5708,11 @@ esbuild-freebsd-64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.11.tgz#9294e6ab359ec93590ab097b0f2017de7c78ab4d" integrity sha512-C5sT3/XIztxxz/zwDjPRHyzj/NJFOnakAanXuyfLDwhwupKPd76/PPHHyJx6Po6NI6PomgVp/zi6GRB8PfrOTA== +esbuild-freebsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" + integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== + esbuild-freebsd-arm64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.13.tgz#463da17562fdcfdf03b3b94b28497d8d8dcc8f62" @@ -5543,6 +5723,11 @@ esbuild-freebsd-arm64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.11.tgz#ae3e0b09173350b66cf8321583c9a1c1fcb8bb55" integrity sha512-y3Llu4wbs0bk4cwjsdAtVOesXb6JkdfZDLKMt+v1U3tOEPBdSu6w8796VTksJgPfqvpX22JmPLClls0h5p+L9w== +esbuild-freebsd-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" + integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== + esbuild-linux-32@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.13.tgz#2035793160da2c4be48a929e5bafb14a31789acc" @@ -5553,6 +5738,11 @@ esbuild-linux-32@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.11.tgz#ddadbc7038aa5a6b1675bb1503cf79a0cbf1229a" integrity sha512-Cg3nVsxArjyLke9EuwictFF3Sva+UlDTwHIuIyx8qpxRYAOUTmxr2LzYrhHyTcGOleLGXUXYsnUVwKqnKAgkcg== +esbuild-linux-32@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" + integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== + esbuild-linux-64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.13.tgz#fbe4802a8168c6d339d0749f977b099449b56f22" @@ -5563,6 +5753,11 @@ esbuild-linux-64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.11.tgz#d698e3ce3a231ddfeec6b5df8c546ae8883fcd88" integrity sha512-oeR6dIrrojr8DKVrxtH3xl4eencmjsgI6kPkDCRIIFwv4p+K7ySviM85K66BN01oLjzthpUMvBVfWSJkBLeRbg== +esbuild-linux-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" + integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== + esbuild-linux-arm64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.13.tgz#f08d98df28d436ed4aad1529615822bb74d4d978" @@ -5573,6 +5768,11 @@ esbuild-linux-arm64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.11.tgz#85faea9fa99ad355b5e3b283197a4dfd0a110fe7" integrity sha512-+e6ZCgTFQYZlmg2OqLkg1jHLYtkNDksxWDBWNtI4XG4WxuOCUErLqfEt9qWjvzK3XBcCzHImrajkUjO+rRkbMg== +esbuild-linux-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" + integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== + esbuild-linux-arm@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.13.tgz#6f968c3a98b64e30c80b212384192d0cfcb32e7f" @@ -5583,6 +5783,11 @@ esbuild-linux-arm@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.11.tgz#74cbcf0b8a22c8401bcbcd6ebd4cbf2baca8b7b4" integrity sha512-vcwskfD9g0tojux/ZaTJptJQU3a7YgTYsptK1y6LQ/rJmw7U5QJvboNawqM98Ca3ToYEucfCRGbl66OTNtp6KQ== +esbuild-linux-arm@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" + integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== + esbuild-linux-mips64le@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.13.tgz#690c78dc4725efe7d06a1431287966fbf7774c7f" @@ -5593,6 +5798,11 @@ esbuild-linux-mips64le@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.11.tgz#490429211a3233f5cbbd8575b7758b897e42979a" integrity sha512-Rrs99L+p54vepmXIb87xTG6ukrQv+CzrM8eoeR+r/OFL2Rg8RlyEtCeshXJ2+Q66MXZOgPJaokXJZb9snq28bw== +esbuild-linux-mips64le@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" + integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== + esbuild-linux-ppc64le@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.13.tgz#7ec9048502de46754567e734aae7aebd2df6df02" @@ -5603,11 +5813,21 @@ esbuild-linux-ppc64le@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.11.tgz#fc79d60710213b5b98345f5b138d48245616827a" integrity sha512-JyzziGAI0D30Vyzt0HDihp4s1IUtJ3ssV2zx9O/c+U/dhUHVP2TmlYjzCfCr2Q6mwXTeloDcLS4qkyvJtYptdQ== +esbuild-linux-ppc64le@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" + integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== + esbuild-linux-s390x@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" integrity sha512-DoThrkzunZ1nfRGoDN6REwmo8ZZWHd2ztniPVIR5RMw/Il9wiWEYBahb8jnMzQaSOxBsGp0PbyJeVLTUatnlcw== +esbuild-linux-s390x@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" + integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== + esbuild-netbsd-64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.13.tgz#439bdaefffa03a8fa84324f5d83d636f548a2de3" @@ -5618,6 +5838,11 @@ esbuild-netbsd-64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" integrity sha512-12luoRQz+6eihKYh1zjrw0CBa2aw3twIiHV/FAfjh2NEBDgJQOY4WCEUEN+Rgon7xmLh4XUxCQjnwrvf8zhACw== +esbuild-netbsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" + integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== + esbuild-openbsd-64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.13.tgz#c9958e5291a00a3090c1ec482d6bcdf2d5b5d107" @@ -5628,6 +5853,11 @@ esbuild-openbsd-64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.11.tgz#caeff5f946f79a60ce7bcf88871ca4c71d3476e8" integrity sha512-l18TZDjmvwW6cDeR4fmizNoxndyDHamGOOAenwI4SOJbzlJmwfr0jUgjbaXCUuYVOA964siw+Ix+A+bhALWg8Q== +esbuild-openbsd-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" + integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== + esbuild-sunos-64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.13.tgz#ac9ead8287379cd2f6d00bd38c5997fda9c1179e" @@ -5638,7 +5868,17 @@ esbuild-sunos-64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.11.tgz#90ce7e1749c2958a53509b4bae7b8f7d98f276d6" integrity sha512-bmYzDtwASBB8c+0/HVOAiE9diR7+8zLm/i3kEojUH2z0aIs6x/S4KiTuT5/0VKJ4zk69kXel1cNWlHBMkmavQg== -esbuild-wasm@0.14.11, esbuild-wasm@^0.14.0: +esbuild-sunos-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" + integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== + +esbuild-wasm@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" + integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== + +esbuild-wasm@^0.14.0: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz#bd09f4c42969cddcae39007d284f8ef747aae85d" integrity sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg== @@ -5653,6 +5893,11 @@ esbuild-windows-32@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz#d067f4ce15b29efba6336e6a23597120fafe49ec" integrity sha512-J1Ys5hMid8QgdY00OBvIolXgCQn1ARhYtxPnG6ESWNTty3ashtc4+As5nTrsErnv8ZGUcWZe4WzTP/DmEVX1UQ== +esbuild-windows-32@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" + integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== + esbuild-windows-64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.13.tgz#1da748441f228d75dff474ddb7d584b81887323c" @@ -5663,6 +5908,11 @@ esbuild-windows-64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.11.tgz#13e86dd37a6cd61a5276fa2d271342d0f74da864" integrity sha512-h9FmMskMuGeN/9G9+LlHPAoiQk9jlKDUn9yA0MpiGzwLa82E7r1b1u+h2a+InprbSnSLxDq/7p5YGtYVO85Mlg== +esbuild-windows-64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" + integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== + esbuild-windows-arm64@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.13.tgz#06dfa52a6b178a5932a9a6e2fdb240c09e6da30c" @@ -5673,6 +5923,11 @@ esbuild-windows-arm64@0.14.11: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.11.tgz#e8edfdf1d712085e6dc3fba18a0c225aaae32b75" integrity sha512-dZp7Krv13KpwKklt9/1vBFBMqxEQIO6ri7Azf8C+ob4zOegpJmha2XY9VVWP/OyQ0OWk6cEeIzMJwInRZrzBUQ== +esbuild-windows-arm64@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" + integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== + esbuild@0.13.13: version "0.13.13" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.13.tgz#0b5399c20f219f663c8c1048436fb0f59ab17a41" @@ -5696,7 +5951,31 @@ esbuild@0.13.13: esbuild-windows-64 "0.13.13" esbuild-windows-arm64 "0.13.13" -esbuild@0.14.11, esbuild@^0.14.0: +esbuild@0.14.14: + version "0.14.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.14.tgz#3b99f20d628013c3e2ae90e67687e03f1d6eb071" + integrity sha512-aiK4ddv+uui0k52OqSHu4xxu+SzOim7Rlz4i25pMEiC8rlnGU0HJ9r+ZMfdWL5bzifg+nhnn7x4NSWTeehYblg== + optionalDependencies: + esbuild-android-arm64 "0.14.14" + esbuild-darwin-64 "0.14.14" + esbuild-darwin-arm64 "0.14.14" + esbuild-freebsd-64 "0.14.14" + esbuild-freebsd-arm64 "0.14.14" + esbuild-linux-32 "0.14.14" + esbuild-linux-64 "0.14.14" + esbuild-linux-arm "0.14.14" + esbuild-linux-arm64 "0.14.14" + esbuild-linux-mips64le "0.14.14" + esbuild-linux-ppc64le "0.14.14" + esbuild-linux-s390x "0.14.14" + esbuild-netbsd-64 "0.14.14" + esbuild-openbsd-64 "0.14.14" + esbuild-sunos-64 "0.14.14" + esbuild-windows-32 "0.14.14" + esbuild-windows-64 "0.14.14" + esbuild-windows-arm64 "0.14.14" + +esbuild@^0.14.0: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" integrity sha512-xZvPtVj6yecnDeFb3KjjCM6i7B5TCAQZT77kkW/CpXTMnd6VLnRPKrUB1XHI1pSq6a4Zcy3BGueQ8VljqjDGCg== @@ -6390,11 +6669,6 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== - flush-write-stream@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" @@ -6776,6 +7050,11 @@ graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1. resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -7008,6 +7287,15 @@ http-proxy-agent@^4.0.1: agent-base "6" debug "4" +http-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" + integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== + dependencies: + "@tootallnate/once" "2" + agent-base "6" + debug "4" + http-proxy-middleware@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz#7ef3417a479fb7666a571e09966c66a39bd2c15f" @@ -7081,7 +7369,7 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: +iconv-lite@^0.6.2, iconv-lite@^0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -7168,11 +7456,6 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - infer-owner@^1.0.3, infer-owner@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" @@ -7352,7 +7635,7 @@ is-core-module@^2.2.0: dependencies: has "^1.0.3" -is-core-module@^2.8.0: +is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -8921,7 +9204,29 @@ make-error@1.x, make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^9.0.1, make-fetch-happen@^9.1.0: +make-fetch-happen@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.0.0.tgz#a2dc77ec1ebf082927f4dc6eaa70227f72e5a250" + integrity sha512-CREcDkbKZZ64g5MN1FT+u58mDHX9FQFFtFyio5HonX44BdQdytqPZBXUz+6ibi2w/6ncji59f2phyXGSMGpgzA== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^5.0.0" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.3" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +make-fetch-happen@^9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz#53085a09e7971433e6765f7971bf63f4e05cb968" integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== @@ -9117,10 +9422,10 @@ mimic-response@^1.0.0: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== -mini-css-extract-plugin@2.4.5: - version "2.4.5" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.5.tgz#191d6c170226037212c483af1180b4010b7b9eef" - integrity sha512-oEIhRucyn1JbT/1tU2BhnwO6ft1jjH1iCX9Gc59WFMg0n5773rQU0oyQ0zzeYFFuBfONaRbQJyGoPtuNseMxjA== +mini-css-extract-plugin@2.5.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.5.3.tgz#c5c79f9b22ce9b4f164e9492267358dbe35376d9" + integrity sha512-YseMB8cs8U/KCaAGQoqYmfUuhhGW0a9p9XvWXrxVOkE3/IiISTLw4ALNt7JR5B2eYauFM+PQGSbXMDmVbR7Tfw== dependencies: schema-utils "^4.0.0" @@ -9239,7 +9544,7 @@ mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.5: dependencies: minimist "^1.2.5" -mkdirp@^1.0.3, mkdirp@^1.0.4, mkdirp@~1.0.4: +mkdirp@^1.0.3, mkdirp@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -9366,6 +9671,11 @@ negotiator@0.6.2, negotiator@^0.6.2: resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== +negotiator@^0.6.3: + version "0.6.3" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" @@ -9437,10 +9747,10 @@ node-addon-api@^3.0.0, node-addon-api@^3.2.1: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-forge@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" - integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-forge@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c" + integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w== node-gyp-build@^4.2.2, node-gyp-build@^4.3.0: version "4.3.0" @@ -9597,12 +9907,12 @@ npm-pick-manifest@6.1.1, npm-pick-manifest@^6.0.0, npm-pick-manifest@^6.1.1: npm-package-arg "^8.1.2" semver "^7.3.4" -npm-registry-fetch@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" - integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== +npm-registry-fetch@^12.0.0: + version "12.0.1" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-12.0.1.tgz#211eff2483b1e71706c9a7ce891182ab3ea9168b" + integrity sha512-ricy4ezH3Uv0d4am6RSwHjCYTWJI74NJjurIigWMAG7Vs3PFyd0TUlkrez5L0AgaPzDLRsEzqb5cOZ/Ue01bmA== dependencies: - make-fetch-happen "^9.0.1" + make-fetch-happen "^10.0.0" minipass "^3.1.3" minipass-fetch "^1.3.0" minipass-json-stream "^1.0.1" @@ -9633,11 +9943,6 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" @@ -9924,10 +10229,10 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@12.0.2: - version "12.0.2" - resolved "https://registry.yarnpkg.com/pacote/-/pacote-12.0.2.tgz#14ae30a81fe62ec4fc18c071150e6763e932527c" - integrity sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg== +pacote@12.0.3: + version "12.0.3" + resolved "https://registry.yarnpkg.com/pacote/-/pacote-12.0.3.tgz#b6f25868deb810e7e0ddf001be88da2bcaca57c7" + integrity sha512-CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow== dependencies: "@npmcli/git" "^2.1.0" "@npmcli/installed-package-contents" "^1.0.6" @@ -9942,7 +10247,7 @@ pacote@12.0.2: npm-package-arg "^8.0.1" npm-packlist "^3.0.0" npm-pick-manifest "^6.0.0" - npm-registry-fetch "^11.0.0" + npm-registry-fetch "^12.0.0" promise-retry "^2.0.1" read-package-json-fast "^2.0.1" rimraf "^3.0.2" @@ -10080,7 +10385,7 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.6: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -10126,11 +10431,6 @@ pend@~1.2.0: resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA= -picocolors@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" - integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== - picocolors@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" @@ -10180,10 +10480,10 @@ pirates@^4.0.4: resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw== -piscina@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/piscina/-/piscina-3.1.0.tgz#2333636865b6cb69c5a370bbc499a98cabcf3e04" - integrity sha512-KTW4sjsCD34MHrUbx9eAAbuUSpVj407hQSgk/6Epkg0pbRBmv4a3UX7Sr8wxm9xYqQLnsN4mFOjqGDzHAdgKQg== +piscina@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/piscina/-/piscina-3.2.0.tgz#f5a1dde0c05567775690cccefe59d9223924d154" + integrity sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA== dependencies: eventemitter-asyncresource "^1.0.0" hdr-histogram-js "^2.0.1" @@ -10233,14 +10533,6 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - postcss-attribute-case-insensitive@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.0.tgz#39cbf6babf3ded1e4abf37d09d6eda21c644105c" @@ -10248,14 +10540,6 @@ postcss-attribute-case-insensitive@^5.0.0: dependencies: postcss-selector-parser "^6.0.2" -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-color-functional-notation@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.1.tgz#a25e9e1855e14d04319222a689f120b3240d39e0" @@ -10263,23 +10547,6 @@ postcss-color-functional-notation@^4.2.1: dependencies: postcss-value-parser "^4.2.0" -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - postcss-color-hex-alpha@^8.0.2: version "8.0.2" resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.2.tgz#7a248b006dd47bd83063f662352d31fd982f74ec" @@ -10287,23 +10554,6 @@ postcss-color-hex-alpha@^8.0.2: dependencies: postcss-value-parser "^4.2.0" -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-color-rebeccapurple@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.0.2.tgz#5d397039424a58a9ca628762eb0b88a61a66e079" @@ -10311,13 +10561,6 @@ postcss-color-rebeccapurple@^7.0.2: dependencies: postcss-value-parser "^4.2.0" -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" - postcss-custom-media@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-8.0.0.tgz#1be6aff8be7dc9bf1fe014bde3b71b92bb4552f1" @@ -10330,22 +10573,6 @@ postcss-custom-properties@^12.1.2: dependencies: postcss-value-parser "^4.2.0" -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - postcss-custom-selectors@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-6.0.0.tgz#022839e41fbf71c47ae6e316cb0e6213012df5ef" @@ -10353,14 +10580,6 @@ postcss-custom-selectors@^6.0.0: dependencies: postcss-selector-parser "^6.0.4" -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - postcss-dir-pseudo-class@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.3.tgz#febfe305e75267913a53bf5094c7679f5cfa9b55" @@ -10368,14 +10587,6 @@ postcss-dir-pseudo-class@^6.0.3: dependencies: postcss-selector-parser "^6.0.8" -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - postcss-double-position-gradients@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-3.0.4.tgz#2484b9785ef3ba81b0f03a279c52ec58fc5344c2" @@ -10383,14 +10594,6 @@ postcss-double-position-gradients@^3.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-env-function@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-4.0.4.tgz#4e85359ca4fcdde4ec4b73752a41de818dbe91cc" @@ -10398,13 +10601,6 @@ postcss-env-function@^4.0.4: dependencies: postcss-value-parser "^4.2.0" -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - postcss-focus-visible@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-6.0.3.tgz#14635b71a6b9140f488f11f26cbc9965a13f6843" @@ -10412,13 +10608,6 @@ postcss-focus-visible@^6.0.3: dependencies: postcss-selector-parser "^6.0.8" -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - postcss-focus-within@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-5.0.3.tgz#0b0bf425f14a646bbfd973b463e2d20d85a3a841" @@ -10426,38 +10615,16 @@ postcss-focus-within@^5.0.3: dependencies: postcss-selector-parser "^6.0.8" -postcss-font-variant@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" - integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== - dependencies: - postcss "^7.0.2" - postcss-font-variant@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz#efd59b4b7ea8bb06127f2d031bfbb7f24d32fa66" integrity sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA== -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - postcss-gap-properties@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-3.0.2.tgz#562fbf43a6a721565b3ca0e01008690991d2f726" integrity sha512-EaMy/pbxtQnKDsnbEjdqlkCkROTQZzolcLKgIE+3b7EuJfJydH55cZeHfm+MtIezXRqhR80VKgaztO/vHq94Fw== -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-image-set-function@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-4.0.4.tgz#ce91579ab2c1386d412ff5cd5e733c474b1f75ee" @@ -10474,27 +10641,11 @@ postcss-import@14.0.2, postcss-import@^14.0.2: read-cache "^1.0.0" resolve "^1.1.7" -postcss-initial@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" - integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== - dependencies: - postcss "^7.0.2" - postcss-initial@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-4.0.1.tgz#529f735f72c5724a0fb30527df6fb7ac54d7de42" integrity sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ== -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-lab-function@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-4.0.3.tgz#633745b324afbcd5881da85fe2cef58b17487536" @@ -10511,25 +10662,11 @@ postcss-loader@6.2.1: klona "^2.0.5" semver "^7.3.5" -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - postcss-logical@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-5.0.3.tgz#9934e0fb16af70adbd94217b24d2f315ceb5c2f0" integrity sha512-P5NcHWYrif0vK8rgOy/T87vg0WRIj3HSknrvp1wzDbiBeoDPVmiVRmkown2eSQdpPveat/MC1ess5uhzZFVnqQ== -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - postcss-media-minmax@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz#7140bddec173e2d6d657edbd8554a55794e2a5b5" @@ -10570,45 +10707,16 @@ postcss-nesting@^10.1.2: dependencies: postcss-selector-parser "^6.0.8" -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== - dependencies: - postcss "^7.0.2" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - postcss-overflow-shorthand@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.2.tgz#b4e9c89728cd1e4918173dfb95936b75f78d4148" integrity sha512-odBMVt6PTX7jOE9UNvmnLrFzA9pXS44Jd5shFGGtSHY80QCuJF+14McSy0iavZggRZ9Oj//C9vOKQmexvyEJMg== -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - postcss-page-break@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-3.0.4.tgz#7fbf741c233621622b68d435babfb70dd8c1ee5f" integrity sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ== -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - postcss-place@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-7.0.3.tgz#ca8040dfd937c7769a233a3bd6e66e139cf89e62" @@ -10616,50 +10724,7 @@ postcss-place@^7.0.3: dependencies: postcss-value-parser "^4.2.0" -postcss-preset-env@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-preset-env@^7.0.0, postcss-preset-env@^7.2.3: +postcss-preset-env@7.2.3, postcss-preset-env@^7.0.0, postcss-preset-env@^7.2.3: version "7.2.3" resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-7.2.3.tgz#01b9b6eea0ff16c27a3d514f10105d56363428a6" integrity sha512-Ok0DhLfwrcNGrBn8sNdy1uZqWRk/9FId0GiQ39W4ILop5GHtjJs8bu1MY9isPwHInpVEPWjb4CEcEaSbBLpfwA== @@ -10698,14 +10763,6 @@ postcss-preset-env@^7.0.0, postcss-preset-env@^7.2.3: postcss-replace-overflow-wrap "^4.0.0" postcss-selector-not "^5.0.0" -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - postcss-pseudo-class-any-link@^7.0.2: version "7.0.2" resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.0.2.tgz#6284c2f970715c78fe992d2fac1130e9991585c9" @@ -10713,34 +10770,11 @@ postcss-pseudo-class-any-link@^7.0.2: dependencies: postcss-selector-parser "^6.0.8" -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - postcss-replace-overflow-wrap@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz#d2df6bed10b477bf9c52fab28c568b4b29ca4319" integrity sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw== -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" - integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - postcss-selector-not@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-5.0.0.tgz#ac5fc506f7565dd872f82f5314c0f81a05630dc7" @@ -10748,15 +10782,6 @@ postcss-selector-not@^5.0.0: dependencies: balanced-match "^1.0.0" -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: version "6.0.6" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" @@ -10793,36 +10818,19 @@ postcss-value-parser@^4.2.0: resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@8.4.4, postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.7: - version "8.4.4" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.4.tgz#d53d4ec6a75fd62557a66bb41978bf47ff0c2869" - integrity sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q== +postcss@8.4.5, postcss@^8.2.14, postcss@^8.4.5: + version "8.4.5" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" + integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== dependencies: nanoid "^3.1.30" picocolors "^1.0.0" source-map-js "^1.0.1" -postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.32, postcss@^7.0.35, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^8.4.5: - version "8.4.5" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.5.tgz#bae665764dfd4c6fcc24dc0fdf7e7aa00cc77f95" - integrity sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg== +postcss@^8.2.15, postcss@^8.2.4, postcss@^8.3.7: + version "8.4.4" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.4.tgz#d53d4ec6a75fd62557a66bb41978bf47ff0c2869" + integrity sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q== dependencies: nanoid "^3.1.30" picocolors "^1.0.0" @@ -11267,15 +11275,15 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url-loader@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz#d50d4ddc746bb10468443167acf800dcd6c3ad57" - integrity sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA== +resolve-url-loader@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz#ee3142fb1f1e0d9db9524d539cfa166e9314f795" + integrity sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg== dependencies: adjust-sourcemap-loader "^4.0.0" convert-source-map "^1.7.0" loader-utils "^2.0.0" - postcss "^7.0.35" + postcss "^8.2.14" source-map "0.6.1" resolve-url@^0.2.1: @@ -11288,7 +11296,16 @@ resolve.exports@1.1.0, resolve.exports@^1.1.0: resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== -resolve@1.20.0, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: +resolve@1.22.0: + version "1.22.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== + dependencies: + is-core-module "^2.8.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^1.1.7, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -11436,13 +11453,14 @@ sass-loader@12.4.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.44.0.tgz#619aa0a2275c097f9af5e6b8fe8a95e3056430fb" - integrity sha512-0hLREbHFXGQqls/K8X+koeP+ogFRPF4ZqetVB19b7Cst9Er8cOR0rc6RU7MaI4W1JmUShd1BPgPoeqmmgMMYFw== +sass@1.49.0: + version "1.49.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.0.tgz#65ec1b1d9a6bc1bae8d2c9d4b392c13f5d32c078" + integrity sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" + source-map-js ">=0.6.2 <2.0.0" sass@^1.32.8: version "1.43.5" @@ -11537,12 +11555,12 @@ select-hose@^2.0.0: resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= -selfsigned@^1.10.11: - version "1.10.11" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.11.tgz#24929cd906fe0f44b6d01fb23999a739537acbe9" - integrity sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== +selfsigned@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-2.0.0.tgz#e927cd5377cbb0a1075302cff8df1042cc2bce5b" + integrity sha512-cUdFiCbKoa1mZ6osuJs2uDHrs0k0oprsKveFiiaBKCNq3SYyb5gs2HxhQyDNLCmL51ZZThqi4YNDpCK6GOP1iQ== dependencies: - node-forge "^0.10.0" + node-forge "^1.2.0" semver-compare@^1.0.0: version "1.0.0" @@ -11830,19 +11848,14 @@ source-list-map@^2.0.0: resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.1.tgz#a1741c131e3c77d048252adfa24e23b908670caf" integrity sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA== -source-map-js@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-0.6.2.tgz#0bb5de631b41cfbda6cfba8bd05a80efdfd2385e" - integrity sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug== - -source-map-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.0.tgz#f2a04ee2808ad01c774dea6b7d2639839f3b3049" - integrity sha512-GKGWqWvYr04M7tn8dryIWvb0s8YM41z82iQv01yBtIylgxax0CwvSy6gc2Y02iuXwEfGWRlMicH0nvms9UZphw== +source-map-loader@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-3.0.1.tgz#9ae5edc7c2d42570934be4c95d1ccc6352eba52d" + integrity sha512-Vp1UsfyPvgujKQzi4pyDiTOnE3E4H+yHvkVRN3c/9PJmQS4CQJExvcDvaX/D+RV+xQben9HJ56jMJS3CgUeWyA== dependencies: abab "^2.0.5" - iconv-lite "^0.6.2" - source-map-js "^0.6.2" + iconv-lite "^0.6.3" + source-map-js "^1.0.1" source-map-resolve@^0.5.0: version "0.5.3" @@ -12141,21 +12154,7 @@ stylus-loader@6.2.0: klona "^2.0.4" normalize-path "^3.0.0" -stylus@0.55.0: - version "0.55.0" - resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.55.0.tgz#bd404a36dd93fa87744a9dd2d2b1b8450345e5fc" - integrity sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw== - dependencies: - css "^3.0.0" - debug "~3.1.0" - glob "^7.1.6" - mkdirp "~1.0.4" - safer-buffer "^2.1.2" - sax "~1.2.4" - semver "^6.3.0" - source-map "^0.7.3" - -stylus@^0.56.0: +stylus@0.56.0, stylus@^0.56.0: version "0.56.0" resolved "https://registry.yarnpkg.com/stylus/-/stylus-0.56.0.tgz#13fc85c48082db483c90d2530942fe8b0be988eb" integrity sha512-Ev3fOb4bUElwWu4F9P9WjnnaSpc8XB9OFHSFZSKMFL1CE1oM+oFXWEgAqPmmZIyhBihuqIQlFsVTypiiS9RxeA== @@ -12218,6 +12217,11 @@ supports-hyperlinks@^2.0.0, supports-hyperlinks@^2.2.0: has-flag "^4.0.0" supports-color "^7.0.0" +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + symbol-observable@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" @@ -12722,11 +12726,6 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - unique-filename@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" @@ -12957,10 +12956,10 @@ webidl-conversions@^6.1.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== -webpack-dev-middleware@5.2.2, webpack-dev-middleware@^5.2.1: - version "5.2.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.2.2.tgz#eb5193faa5479ca1086b9f7bed68b89c731bff62" - integrity sha512-DjZyYrsHhkikAFNvSNKrpnziXukU1EChFAh9j4LAm6ndPLPW8cN0KhM7T+RAiOqsQ6ABfQ8hoKIs9IWMTjov+w== +webpack-dev-middleware@5.3.0, webpack-dev-middleware@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz#8fc02dba6e72e1d373eca361623d84610f27be7c" + integrity sha512-MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg== dependencies: colorette "^2.0.10" memfs "^3.2.2" @@ -12968,11 +12967,16 @@ webpack-dev-middleware@5.2.2, webpack-dev-middleware@^5.2.1: range-parser "^1.2.1" schema-utils "^4.0.0" -webpack-dev-server@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.6.0.tgz#e8648601c440172d9b6f248d28db98bed335315a" - integrity sha512-oojcBIKvx3Ya7qs1/AVWHDgmP1Xml8rGsEBnSobxU/UJSX1xP1GPM3MwsAnDzvqcVmVki8tV7lbcsjEjk0PtYg== +webpack-dev-server@4.7.3: + version "4.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz#4e995b141ff51fa499906eebc7906f6925d0beaa" + integrity sha512-mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q== dependencies: + "@types/bonjour" "^3.5.9" + "@types/connect-history-api-fallback" "^1.3.5" + "@types/serve-index" "^1.9.1" + "@types/sockjs" "^0.3.33" + "@types/ws" "^8.2.2" ansi-html-community "^0.0.8" bonjour "^3.5.0" chokidar "^3.5.2" @@ -12990,13 +12994,12 @@ webpack-dev-server@4.6.0: p-retry "^4.5.0" portfinder "^1.0.28" schema-utils "^4.0.0" - selfsigned "^1.10.11" + selfsigned "^2.0.0" serve-index "^1.9.1" sockjs "^0.3.21" spdy "^4.0.2" strip-ansi "^7.0.0" - url "^0.11.0" - webpack-dev-middleware "^5.2.1" + webpack-dev-middleware "^5.3.0" ws "^8.1.0" webpack-merge@5.7.3: @@ -13028,22 +13031,27 @@ webpack-sources@^1.4.0, webpack-sources@^1.4.1: source-list-map "^2.0.0" source-map "~0.6.1" -webpack-sources@^3.0.0, webpack-sources@^3.2.2: +webpack-sources@^3.0.0: version "3.2.2" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.2.tgz#d88e3741833efec57c4c789b6010db9977545260" integrity sha512-cp5qdmHnu5T8wRg2G3vZZHoJPN14aqQ89SyQ11NpGH5zEMDCclt49rzo+MaRazk7/UeILhAI+/sEtcM+7Fr0nw== -webpack-subresource-integrity@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.0.0.tgz#8268b9cc1a229a8f8129ca9eeb59cde52185b6b1" - integrity sha512-x9514FpLRydO+UAQ8DY4aLtCjxmdLkuQVcDFN1kGzuusREYJ1B0rzk/iIlWiL6dnvrhEGFj2+UsdxDkP8Z4UKg== +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack-subresource-integrity@5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz#8b7606b033c6ccac14e684267cb7fb1f5c2a132a" + integrity sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q== dependencies: typed-assert "^1.0.8" -webpack@5.65.0: - version "5.65.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.65.0.tgz#ed2891d9145ba1f0d318e4ea4f89c3fa18e6f9be" - integrity sha512-Q5or2o6EKs7+oKmJo7LaqZaMOlDWQse9Tm5l1WAfU/ujLGN5Pb0SqGeVkN/4bpPmEqEP5RnVhiqsOtWtUVwGRw== +webpack@5.67.0: + version "5.67.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.67.0.tgz#cb43ca2aad5f7cc81c4cd36b626e6b819805dbfd" + integrity sha512-LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw== dependencies: "@types/eslint-scope" "^3.7.0" "@types/estree" "^0.0.50" @@ -13059,7 +13067,7 @@ webpack@5.65.0: eslint-scope "5.1.1" events "^3.2.0" glob-to-regexp "^0.4.1" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" json-parse-better-errors "^1.0.2" loader-runner "^4.2.0" mime-types "^2.1.27" @@ -13068,7 +13076,7 @@ webpack@5.65.0: tapable "^2.1.1" terser-webpack-plugin "^5.1.3" watchpack "^2.3.1" - webpack-sources "^3.2.2" + webpack-sources "^3.2.3" webpack@^4.18.1: version "4.46.0" From 1707b1e25122d74a842a1e61b4ec41b082f89718 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Fri, 28 Jan 2022 09:59:45 +0200 Subject: [PATCH 257/260] update angular material --- package.json | 6 +++--- yarn.lock | 24 ++++++++++++------------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index 0606996a2..11cc59ec0 100644 --- a/package.json +++ b/package.json @@ -24,13 +24,13 @@ }, "dependencies": { "@angular/animations": "13.2.0", - "@angular/cdk": "13.1.2", + "@angular/cdk": "13.2.0", "@angular/common": "13.2.0", "@angular/compiler": "13.2.0", "@angular/core": "13.2.0", "@angular/forms": "13.2.0", - "@angular/material": "13.1.2", - "@angular/material-moment-adapter": "^13.1.2", + "@angular/material": "13.2.0", + "@angular/material-moment-adapter": "^13.2.0", "@angular/platform-browser": "13.2.0", "@angular/platform-browser-dynamic": "13.2.0", "@angular/router": "13.2.0", diff --git a/yarn.lock b/yarn.lock index 8abb0955c..7fea675d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -190,10 +190,10 @@ dependencies: tslib "^2.3.0" -"@angular/cdk@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.1.2.tgz#aaa1b577d1b8101d3d59f4da9a1ea51b7f7a5191" - integrity sha512-xORyqvfM0MueJpxHxVi3CR/X/f1RPKr45vt7NV6/x91OTnh2ukwxg++dAGuA6M5gUAHcVAcaBrfju4GQlU9hmg== +"@angular/cdk@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/cdk/-/cdk-13.2.0.tgz#57f0359b230805774abb7e1b8c1699c06ae9a669" + integrity sha512-1fQyfr/KmcF8y/Xz789DN37XgjQPE4kAYjoh6GRd62yKDm/Ic9hKuoKfAthA1bQeskjTO1pb4sMOgum8B4iHeA== dependencies: tslib "^2.3.0" optionalDependencies: @@ -281,17 +281,17 @@ resolved "https://registry.yarnpkg.com/@angular/language-service/-/language-service-13.2.0.tgz#f198f3108fade0bc329f15e8d28c335ba4f4c549" integrity sha512-nK40YXy9f2MsrejvTiKMrS7YHNvBxp3QIBU8aJN36LpkTTWC8aVqZ5A3to8JL0U6Anra8mkcC070xoYfh6miwg== -"@angular/material-moment-adapter@^13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/material-moment-adapter/-/material-moment-adapter-13.1.2.tgz#8e6adc384dee14501b719672dc109e7dfc410989" - integrity sha512-mOvUnthT55wrRH33iuf8kg3JlJrZBpAHFrHkEMxiFs4jyYnK1TyvH6yKjs/m19lokGIh4B3gN6oK0OG73TmanQ== +"@angular/material-moment-adapter@^13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/material-moment-adapter/-/material-moment-adapter-13.2.0.tgz#4374466f3d794277abebab63761fa53c4a152fb1" + integrity sha512-m4lGQWwZ2/1MPtBmimbARHskCuLHzZ/WVbg8xXdiNHkcfkzSzJaknDM7IU+FwPiGLHAe/sC3U7qJBKAmirguPg== dependencies: tslib "^2.3.0" -"@angular/material@13.1.2": - version "13.1.2" - resolved "https://registry.yarnpkg.com/@angular/material/-/material-13.1.2.tgz#497e9b34f4672ce207bb1198a823cda1f1d416ef" - integrity sha512-M7eDgTMCZ/naoiS6Z5nj3N/sNUFc+CGPHX4yb563RuknqN7huDCvdyxA6KnhYLZsVlNCPh5ZrEr6H8ZiYJWcpg== +"@angular/material@13.2.0": + version "13.2.0" + resolved "https://registry.yarnpkg.com/@angular/material/-/material-13.2.0.tgz#c18d1fcb7fa339ec1f481b558c0c32adbb7ec970" + integrity sha512-VxseAkzEN2fakorQUa+r4enUhTAeY4gJ8NRbd0A7r0gKDLGcszJ1XYph4WiNs3bLkZUH1EirhOMAfpNOZ8SqFg== dependencies: tslib "^2.3.0" From 12ace14f3b8425b84dc80349b0082914c89fb8d8 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Fri, 28 Jan 2022 10:02:57 +0200 Subject: [PATCH 258/260] update other dependencies --- package.json | 22 +-- yarn.lock | 413 ++++++++++++++++++++++++++------------------------- 2 files changed, 219 insertions(+), 216 deletions(-) diff --git a/package.json b/package.json index 11cc59ec0..524a8d226 100644 --- a/package.json +++ b/package.json @@ -44,8 +44,8 @@ "@swimlane/ngx-charts": "^20.0.1", "file-saver": "^2.0.5", "jwt-decode": "^3.1.2", - "keycloak-angular": "^9.0.0", - "keycloak-js": "^16.0.0", + "keycloak-angular": "^9.1.0", + "keycloak-js": "^16.1.1", "lodash.orderby": "^4.6.0", "messageformat": "^2.3.0", "moment": "^2.29.1", @@ -55,7 +55,7 @@ "ngx-translate-messageformat-compiler": "^5.0.1", "papaparse": "^5.3.1", "rxjs": "~7.5.2", - "sass": "^1.48.0", + "sass": "^1.49.0", "scroll-into-view-if-needed": "^2.2.28", "streamsaver": "^2.0.5", "tslib": "^2.3.1", @@ -78,12 +78,12 @@ "@nrwl/workspace": "13.6.1", "@types/jest": "27.4.0", "@types/lodash": "^4.14.178", - "@types/node": "17.0.9", + "@types/node": "17.0.13", "@types/puppeteer": "^5.4.4", - "@typescript-eslint/eslint-plugin": "5.9.1", + "@typescript-eslint/eslint-plugin": "5.10.1", "@typescript-eslint/parser": "5.3.1", - "axios": "^0.24.0", - "dotenv": "10.0.0", + "axios": "^0.25.0", + "dotenv": "14.3.2", "eslint": "8.7.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^16.1.0", @@ -93,8 +93,8 @@ "google-translate-api-browser": "^1.1.71", "husky": "4.3.8", "jest": "27.4.7", - "jest-preset-angular": "11.0.1", - "ng-packagr": "13.1.3", + "jest-preset-angular": "11.1.0", + "ng-packagr": "13.2.0", "postcss": "^8.4.5", "postcss-import": "^14.0.2", "postcss-preset-env": "^7.2.3", @@ -102,11 +102,11 @@ "prettier": "2.5.1", "pretty-quick": "^3.1.3", "sonarqube-scanner": "^2.8.1", - "superagent": "^7.0.2", + "superagent": "^7.1.1", "superagent-promise": "^1.1.0", "ts-jest": "27.1.3", "ts-node": "10.4.0", - "typescript": "4.5.4", + "typescript": "4.5.5", "webpack": "^4.18.1", "xliff": "^6.0.0" } diff --git a/yarn.lock b/yarn.lock index 7fea675d3..b119ae5ec 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2733,10 +2733,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.10.tgz#2e3ad0a680d96367103d3e670d41c2fed3da61ae" integrity sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA== -"@types/node@17.0.9": - version "17.0.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.9.tgz#0b7f161afb5b1cc12518d29b2cdc7175d5490628" - integrity sha512-5dNBXu/FOER+EXnyah7rn8xlNrfMOQb/qXnw4NQgLkCygKBKhdmF/CA5oXVOKZLBEahw8s2WP9LxIcN/oDDRgQ== +"@types/node@17.0.13": + version "17.0.13" + resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.13.tgz#5ed7ed7c662948335fcad6c412bb42d99ea754e3" + integrity sha512-Y86MAxASe25hNzlDbsviXl8jQHb0RDvKt4c40ZJQ1Don0AAL0STLZSs4N+6gLEO55pedy7r2cLwS+ZDxPm/2Bw== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2823,14 +2823,14 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.9.1.tgz#e5a86d7e1f9dc0b3df1e6d94feaf20dd838d066c" - integrity sha512-Xv9tkFlyD4MQGpJgTo6wqDqGvHIRmRgah/2Sjz1PUnJTawjHWIwBivUE9x0QtU2WVii9baYgavo/bHjrZJkqTw== +"@typescript-eslint/eslint-plugin@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.1.tgz#870195d0f2146b36d11fc71131b75aba52354c69" + integrity sha512-xN3CYqFlyE/qOcy978/L0xLR2HlcAGIyIK5sMOasxaaAPfQRj/MmMV6OC3I7NZO84oEUdWCOju34Z9W8E0pFDQ== dependencies: - "@typescript-eslint/experimental-utils" "5.9.1" - "@typescript-eslint/scope-manager" "5.9.1" - "@typescript-eslint/type-utils" "5.9.1" + "@typescript-eslint/scope-manager" "5.10.1" + "@typescript-eslint/type-utils" "5.10.1" + "@typescript-eslint/utils" "5.10.1" debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" @@ -2850,18 +2850,6 @@ eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/experimental-utils@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.9.1.tgz#8c407c4dd5ffe522329df6e4c9c2b52206d5f7f1" - integrity sha512-cb1Njyss0mLL9kLXgS/eEY53SZQ9sT519wpX3i+U457l2UXRDuo87hgKfgRazmu9/tQb0x2sr3Y0yrU+Zz0y+w== - dependencies: - "@types/json-schema" "^7.0.9" - "@typescript-eslint/scope-manager" "5.9.1" - "@typescript-eslint/types" "5.9.1" - "@typescript-eslint/typescript-estree" "5.9.1" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - "@typescript-eslint/experimental-utils@~5.3.0": version "5.3.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.1.tgz#bbd8f9b67b4d5fdcb9d2f90297d8fcda22561e05" @@ -2884,6 +2872,14 @@ "@typescript-eslint/typescript-estree" "5.3.1" debug "^4.3.2" +"@typescript-eslint/scope-manager@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.1.tgz#f0539c73804d2423506db2475352a4dec36cd809" + integrity sha512-Lyvi559Gvpn94k7+ElXNMEnXu/iundV5uFmCUNnftbFrUbAJ1WBoaGgkbOBm07jVZa682oaBU37ao/NGGX4ZDg== + dependencies: + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/visitor-keys" "5.10.1" + "@typescript-eslint/scope-manager@5.3.0": version "5.3.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.3.0.tgz#97d0ccc7c9158e89e202d5e24ce6ba49052d432e" @@ -2900,23 +2896,20 @@ "@typescript-eslint/types" "5.3.1" "@typescript-eslint/visitor-keys" "5.3.1" -"@typescript-eslint/scope-manager@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.9.1.tgz#6c27be89f1a9409f284d95dfa08ee3400166fe69" - integrity sha512-8BwvWkho3B/UOtzRyW07ffJXPaLSUKFBjpq8aqsRvu6HdEuzCY57+ffT7QoV4QXJXWSU1+7g3wE4AlgImmQ9pQ== +"@typescript-eslint/type-utils@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.1.tgz#5e526c00142585e40ab1503e83f1ff608c367405" + integrity sha512-AfVJkV8uck/UIoDqhu+ptEdBoQATON9GXnhOpPLzkQRJcSChkvD//qsz9JVffl2goxX+ybs5klvacE9vmrQyCw== dependencies: - "@typescript-eslint/types" "5.9.1" - "@typescript-eslint/visitor-keys" "5.9.1" - -"@typescript-eslint/type-utils@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.9.1.tgz#c6832ffe655b9b1fec642d36db1a262d721193de" - integrity sha512-tRSpdBnPRssjlUh35rE9ug5HrUvaB9ntREy7gPXXKwmIx61TNN7+l5YKgi1hMKxo5NvqZCfYhA5FvyuJG6X6vg== - dependencies: - "@typescript-eslint/experimental-utils" "5.9.1" + "@typescript-eslint/utils" "5.10.1" debug "^4.3.2" tsutils "^3.21.0" +"@typescript-eslint/types@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.1.tgz#dca9bd4cb8c067fc85304a31f38ec4766ba2d1ea" + integrity sha512-ZvxQ2QMy49bIIBpTqFiOenucqUyjTQ0WNLhBM6X1fh1NNlYAC6Kxsx8bRTY3jdYsYg44a0Z/uEgQkohbR0H87Q== + "@typescript-eslint/types@5.3.0": version "5.3.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.3.0.tgz#af29fd53867c2df0028c57c36a655bd7e9e05416" @@ -2927,10 +2920,18 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.3.1.tgz#afaa715b69ebfcfde3af8b0403bf27527912f9b7" integrity sha512-bG7HeBLolxKHtdHG54Uac750eXuQQPpdJfCYuw4ZI3bZ7+GgKClMWM8jExBtp7NSP4m8PmLRM8+lhzkYnSmSxQ== -"@typescript-eslint/types@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.9.1.tgz#1bef8f238a2fb32ebc6ff6d75020d9f47a1593c6" - integrity sha512-SsWegWudWpkZCwwYcKoDwuAjoZXnM1y2EbEerTHho19Hmm+bQ56QG4L4jrtCu0bI5STaRTvRTZmjprWlTw/5NQ== +"@typescript-eslint/typescript-estree@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.1.tgz#b268e67be0553f8790ba3fe87113282977adda15" + integrity sha512-PwIGnH7jIueXv4opcwEbVGDATjGPO1dx9RkUl5LlHDSe+FXxPwFL5W/qYd5/NHr7f6lo/vvTrAzd0KlQtRusJQ== + dependencies: + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/visitor-keys" "5.10.1" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" "@typescript-eslint/typescript-estree@5.3.0": version "5.3.0" @@ -2958,18 +2959,25 @@ semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/typescript-estree@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.9.1.tgz#d5b996f49476495070d2b8dd354861cf33c005d6" - integrity sha512-gL1sP6A/KG0HwrahVXI9fZyeVTxEYV//6PmcOn1tD0rw8VhUWYeZeuWHwwhnewnvEMcHjhnJLOBhA9rK4vmb8A== +"@typescript-eslint/utils@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.1.tgz#fa682a33af47080ba2c4368ee0ad2128213a1196" + integrity sha512-RRmlITiUbLuTRtn/gcPRi4202niF+q7ylFLCKu4c+O/PcpRvZ/nAUwQ2G00bZgpWkhrNLNnvhZLbDn8Ml0qsQw== dependencies: - "@typescript-eslint/types" "5.9.1" - "@typescript-eslint/visitor-keys" "5.9.1" - debug "^4.3.2" - globby "^11.0.4" - is-glob "^4.0.3" - semver "^7.3.5" - tsutils "^3.21.0" + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.10.1" + "@typescript-eslint/types" "5.10.1" + "@typescript-eslint/typescript-estree" "5.10.1" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/visitor-keys@5.10.1": + version "5.10.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.1.tgz#29102de692f59d7d34ecc457ed59ab5fc558010b" + integrity sha512-NjQ0Xinhy9IL979tpoTRuLKxMc0zJC7QVSdeerXs2/QvOy2yRkzX5dRb10X5woNUdJgU8G3nYRDlI33sq1K4YQ== + dependencies: + "@typescript-eslint/types" "5.10.1" + eslint-visitor-keys "^3.0.0" "@typescript-eslint/visitor-keys@5.3.0": version "5.3.0" @@ -2987,14 +2995,6 @@ "@typescript-eslint/types" "5.3.1" eslint-visitor-keys "^3.0.0" -"@typescript-eslint/visitor-keys@5.9.1": - version "5.9.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.9.1.tgz#f52206f38128dd4f675cf28070a41596eee985b7" - integrity sha512-Xh37pNz9e9ryW4TVdwiFzmr4hloty8cFj8GTWMXh3Z8swGwyQWeCcNgF0hm6t09iZd6eiZmIf4zHedQVP6TVtg== - dependencies: - "@typescript-eslint/types" "5.9.1" - eslint-visitor-keys "^3.0.0" - "@webassemblyjs/ast@1.11.1": version "1.11.1" resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" @@ -3714,12 +3714,12 @@ axios@^0.18.0: follow-redirects "1.5.10" is-buffer "^2.0.2" -axios@^0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" - integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== +axios@^0.25.0: + version "0.25.0" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a" + integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g== dependencies: - follow-redirects "^1.14.4" + follow-redirects "^1.14.7" axobject-query@^2.2.0: version "2.2.0" @@ -5449,7 +5449,12 @@ domutils@^2.8.0: domelementtype "^2.2.0" domhandler "^4.2.0" -dotenv@10.0.0, dotenv@~10.0.0: +dotenv@14.3.2: + version "14.3.2" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-14.3.2.tgz#7c30b3a5f777c79a3429cb2db358eef6751e8369" + integrity sha512-vwEppIphpFdvaMCaHfCEv9IgwcxMljMw2TnAQBB4VWPvzXQLTb82jwmdOKzlEVUL3gNFT4l4TPKO+Bn+sqcrVQ== + +dotenv@~10.0.0: version "10.0.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== @@ -5653,11 +5658,6 @@ es-to-primitive@^1.2.1: is-date-object "^1.0.1" is-symbol "^1.0.2" -esbuild-android-arm64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.13.13.tgz#da07b5fb2daf7d83dcd725f7cf58a6758e6e702a" - integrity sha512-T02aneWWguJrF082jZworjU6vm8f4UQ+IH2K3HREtlqoY9voiJUwHLRL6khRlsNLzVglqgqb7a3HfGx7hAADCQ== - esbuild-android-arm64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.11.tgz#b8b34e35a5b43880664ac7a3fbc70243d7ed894f" @@ -5668,10 +5668,10 @@ esbuild-android-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.14.tgz#3705f32f209deeb11c275af47c298c8783dd5f0c" integrity sha512-be/Uw6DdpQiPfula1J4bdmA+wtZ6T3BRCZsDMFB5X+k0Gp8TIh9UvmAcqvKNnbRAafSaXG3jPCeXxDKqnc8hFQ== -esbuild-darwin-64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.13.13.tgz#e94e9fd3b4b5455a2e675cd084a19a71b6904bbf" - integrity sha512-wkaiGAsN/09X9kDlkxFfbbIgR78SNjMOfUhoel3CqKBDsi9uZhw7HBNHNxTzYUK8X8LAKFpbODgcRB3b/I8gHA== +esbuild-android-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.2.tgz#256b7cf2f9d382a2a92a4ff4e13187587c9b7c6a" + integrity sha512-hEixaKMN3XXCkoe+0WcexO4CcBVU5DCSUT+7P8JZiWZCbAjSkc9b6Yz2X5DSfQmRCtI/cQRU6TfMYrMQ5NBfdw== esbuild-darwin-64@0.14.11: version "0.14.11" @@ -5683,10 +5683,10 @@ esbuild-darwin-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.14.tgz#c07e4eae6d938300a2d330ea82494c55bcea84e5" integrity sha512-BEexYmjWafcISK8cT6O98E3TfcLuZL8DKuubry6G54n2+bD4GkoRD6HYUOnCkfl2p7jodA+s4369IjSFSWjtHg== -esbuild-darwin-arm64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.13.tgz#8c320eafbb3ba2c70d8062128c5b71503e342471" - integrity sha512-b02/nNKGSV85Gw9pUCI5B48AYjk0vFggDeom0S6QMP/cEDtjSh1WVfoIFNAaLA0MHWfue8KBwoGVsN7rBshs4g== +esbuild-darwin-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.2.tgz#891a59ce6bc3aded0265f982469b3eb9571b92f8" + integrity sha512-Uq8t0cbJQkxkQdbUfOl2wZqZ/AtLZjvJulR1HHnc96UgyzG9YlCLSDMiqjM+NANEy7/zzvwKJsy3iNC9wwqLJA== esbuild-darwin-arm64@0.14.11: version "0.14.11" @@ -5698,10 +5698,10 @@ esbuild-darwin-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.14.tgz#a8631e13a51a6f784fb0906e2a64c6ab53988755" integrity sha512-tnBKm41pDOB1GtZ8q/w26gZlLLRzVmP8fdsduYjvM+yFD7E2DLG4KbPAqFMWm4Md9B+DitBglP57FY7AznxbTg== -esbuild-freebsd-64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.13.tgz#ce0ca5b8c4c274cfebc9326f9b316834bd9dd151" - integrity sha512-ALgXYNYDzk9YPVk80A+G4vz2D22Gv4j4y25exDBGgqTcwrVQP8rf/rjwUjHoh9apP76oLbUZTmUmvCMuTI1V9A== +esbuild-darwin-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.2.tgz#ab834fffa9c612b2901ca1e77e4695d4d8aa63a2" + integrity sha512-619MSa17sr7YCIrUj88KzQu2ESA4jKYtIYfLU/smX6qNgxQt3Y/gzM4s6sgJ4fPQzirvmXgcHv1ZNQAs/Xh48A== esbuild-freebsd-64@0.14.11: version "0.14.11" @@ -5713,10 +5713,10 @@ esbuild-freebsd-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.14.tgz#c280c2b944746b27ee6c6487c2691865c90bed2e" integrity sha512-Q9Rx6sgArOHalQtNwAaIzJ6dnQ8A+I7f/RsQsdkS3JrdzmnlFo8JEVofTmwVQLoIop7OKUqIVOGP4PoQcwfVMA== -esbuild-freebsd-arm64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.13.tgz#463da17562fdcfdf03b3b94b28497d8d8dcc8f62" - integrity sha512-uFvkCpsZ1yqWQuonw5T1WZ4j59xP/PCvtu6I4pbLejhNo4nwjW6YalqnBvBSORq5/Ifo9S/wsIlVHzkzEwdtlw== +esbuild-freebsd-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.2.tgz#f7fc87a83f02de27d5a48472571efa1a432ae86d" + integrity sha512-aP6FE/ZsChZpUV6F3HE3x1Pz0paoYXycJ7oLt06g0G9dhJKknPawXCqQg/WMyD+ldCEZfo7F1kavenPdIT/SGQ== esbuild-freebsd-arm64@0.14.11: version "0.14.11" @@ -5728,10 +5728,10 @@ esbuild-freebsd-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.14.tgz#aa4e21276efcf20e5ab2487e91ca1d789573189b" integrity sha512-TJvq0OpLM7BkTczlyPIphcvnwrQwQDG1HqxzoYePWn26SMUAlt6wrLnEvxdbXAvNvDLVzG83kA+JimjK7aRNBA== -esbuild-linux-32@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.13.13.tgz#2035793160da2c4be48a929e5bafb14a31789acc" - integrity sha512-yxR9BBwEPs9acVEwTrEE2JJNHYVuPQC9YGjRfbNqtyfK/vVBQYuw8JaeRFAvFs3pVJdQD0C2BNP4q9d62SCP4w== +esbuild-freebsd-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.2.tgz#bc8758420431106751f3180293cac0b5bc4ce2ee" + integrity sha512-LSm98WTb1QIhyS83+Po0KTpZNdd2XpVpI9ua5rLWqKWbKeNRFwOsjeiuwBaRNc+O32s9oC2ZMefETxHBV6VNkQ== esbuild-linux-32@0.14.11: version "0.14.11" @@ -5743,10 +5743,10 @@ esbuild-linux-32@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.14.tgz#3db4d929239203ce38a9060d5419ac6a6d28846c" integrity sha512-h/CrK9Baimt5VRbu8gqibWV7e1P9l+mkanQgyOgv0Ng3jHT1NVFC9e6rb1zbDdaJVmuhWX5xVliUA5bDDCcJeg== -esbuild-linux-64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.13.13.tgz#fbe4802a8168c6d339d0749f977b099449b56f22" - integrity sha512-kzhjlrlJ+6ESRB/n12WTGll94+y+HFeyoWsOrLo/Si0s0f+Vip4b8vlnG0GSiS6JTsWYAtGHReGczFOaETlKIw== +esbuild-linux-32@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.2.tgz#0cc2dcd816d6d66e255bc7aeac139b1d04246812" + integrity sha512-8VxnNEyeUbiGflTKcuVc5JEPTqXfsx2O6ABwUbfS1Hp26lYPRPC7pKQK5Dxa0MBejGc50jy7YZae3EGQUQ8EkQ== esbuild-linux-64@0.14.11: version "0.14.11" @@ -5758,10 +5758,10 @@ esbuild-linux-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.14.tgz#f880026254c1f565a7a10fdebb7cff9b083a127d" integrity sha512-IC+wAiIg/egp5OhQp4W44D9PcBOH1b621iRn1OXmlLzij9a/6BGr9NMIL4CRwz4j2kp3WNZu5sT473tYdynOuQ== -esbuild-linux-arm64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.13.tgz#f08d98df28d436ed4aad1529615822bb74d4d978" - integrity sha512-KMrEfnVbmmJxT3vfTnPv/AiXpBFbbyExH13BsUGy1HZRPFMi5Gev5gk8kJIZCQSRfNR17aqq8sO5Crm2KpZkng== +esbuild-linux-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.2.tgz#c790f739aa75b15c153609ea3457153fbe4db93d" + integrity sha512-4bzMS2dNxOJoFIiHId4w+tqQzdnsch71JJV1qZnbnErSFWcR9lRgpSqWnTTFtv6XM+MvltRzSXC5wQ7AEBY6Hg== esbuild-linux-arm64@0.14.11: version "0.14.11" @@ -5773,10 +5773,10 @@ esbuild-linux-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.14.tgz#a34bc3076e50b109c3b8c8bad9c146e35942322b" integrity sha512-6QVul3RI4M5/VxVIRF/I5F+7BaxzR3DfNGoqEVSCZqUbgzHExPn+LXr5ly1C7af2Kw4AHpo+wDqx8A4ziP9avw== -esbuild-linux-arm@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.13.13.tgz#6f968c3a98b64e30c80b212384192d0cfcb32e7f" - integrity sha512-hXub4pcEds+U1TfvLp1maJ+GHRw7oizvzbGRdUvVDwtITtjq8qpHV5Q5hWNNn6Q+b3b2UxF03JcgnpzCw96nUQ== +esbuild-linux-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.2.tgz#96858a1f89ad30274dec780d0e3dd8b5691c6b0c" + integrity sha512-RlIVp0RwJrdtasDF1vTFueLYZ8WuFzxoQ1OoRFZOTyJHCGCNgh7xJIC34gd7B7+RT0CzLBB4LcM5n0LS+hIoww== esbuild-linux-arm@0.14.11: version "0.14.11" @@ -5788,10 +5788,10 @@ esbuild-linux-arm@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.14.tgz#231ffd12fef69ee06365d4c94b69850e4830e927" integrity sha512-gxpOaHOPwp7zSmcKYsHrtxabScMqaTzfSQioAMUaB047YiMuDBzqVcKBG8OuESrYkGrL9DDljXr/mQNg7pbdaQ== -esbuild-linux-mips64le@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.13.tgz#690c78dc4725efe7d06a1431287966fbf7774c7f" - integrity sha512-cJT9O1LYljqnnqlHaS0hdG73t7hHzF3zcN0BPsjvBq+5Ad47VJun+/IG4inPhk8ta0aEDK6LdP+F9299xa483w== +esbuild-linux-arm@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.2.tgz#03e193225afa9b1215d2ec6efe8edf0c03eeed6f" + integrity sha512-PaylahvMHhH8YMfJPMKEqi64qA0Su+d4FNfHKvlKes/2dUe4QxgbwXT9oLVgy8iJdcFMrO7By4R8fS8S0p8aVQ== esbuild-linux-mips64le@0.14.11: version "0.14.11" @@ -5803,10 +5803,10 @@ esbuild-linux-mips64le@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.14.tgz#bd00570e3a30422224b732c7a5f262146c357403" integrity sha512-4Jl5/+xoINKbA4cesH3f4R+q0vltAztZ6Jm8YycS8lNhN1pgZJBDxWfI6HUMIAdkKlIpR1PIkA9aXQgZ8sxFAg== -esbuild-linux-ppc64le@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.13.tgz#7ec9048502de46754567e734aae7aebd2df6df02" - integrity sha512-+rghW8st6/7O6QJqAjVK3eXzKkZqYAw6LgHv7yTMiJ6ASnNvghSeOcIvXFep3W2oaJc35SgSPf21Ugh0o777qQ== +esbuild-linux-mips64le@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.2.tgz#972f218d2cb5125237376d40ad60a6e5356a782c" + integrity sha512-Fdwrq2roFnO5oetIiUQQueZ3+5soCxBSJswg3MvYaXDomj47BN6oAWMZgLrFh1oVrtWrxSDLCJBenYdbm2s+qQ== esbuild-linux-ppc64le@0.14.11: version "0.14.11" @@ -5818,6 +5818,11 @@ esbuild-linux-ppc64le@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.14.tgz#430609413fd9e04d9def4e3f06726b031b23d825" integrity sha512-BitW37GxeebKxqYNl4SVuSdnIJAzH830Lr6Mkq3pBHXtzQay0vK+IeOR/Ele1GtNVJ+/f8wYM53tcThkv5SC5w== +esbuild-linux-ppc64le@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.2.tgz#20b71622ac09142b0e523f633af0829def7fed6b" + integrity sha512-vxptskw8JfCDD9QqpRO0XnsM1osuWeRjPaXX1TwdveLogYsbdFtcuiuK/4FxGiNMUr1ojtnCS2rMPbY8puc5NA== + esbuild-linux-s390x@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.11.tgz#ca4b93556bbba6cc95b0644f2ee93c982165ba07" @@ -5828,11 +5833,6 @@ esbuild-linux-s390x@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.14.tgz#2f0d8cbfe53cf3cb97f6372549a41a8051dbd689" integrity sha512-vLj6p76HOZG3wfuTr5MyO3qW5iu8YdhUNxuY+tx846rPo7GcKtYSPMusQjeVEfZlJpSYoR+yrNBBxq+qVF9zrw== -esbuild-netbsd-64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.13.tgz#439bdaefffa03a8fa84324f5d83d636f548a2de3" - integrity sha512-A/B7rwmzPdzF8c3mht5TukbnNwY5qMJqes09ou0RSzA5/jm7Jwl/8z853ofujTFOLhkNHUf002EAgokzSgEMpQ== - esbuild-netbsd-64@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.11.tgz#edb340bc6653c88804cac2253e21b74258fce165" @@ -5843,10 +5843,10 @@ esbuild-netbsd-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.14.tgz#3e44de35e1add7e9582f3c0d2558d86aafbc813b" integrity sha512-fn8looXPQhpVqUyCBWUuPjesH+yGIyfbIQrLKG05rr1Kgm3rZD/gaYrd3Wpmf5syVZx70pKZPvdHp8OTA+y7cQ== -esbuild-openbsd-64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.13.tgz#c9958e5291a00a3090c1ec482d6bcdf2d5b5d107" - integrity sha512-szwtuRA4rXKT3BbwoGpsff6G7nGxdKgUbW9LQo6nm0TVCCjDNDC/LXxT994duIW8Tyq04xZzzZSW7x7ttDiw1w== +esbuild-netbsd-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.2.tgz#dbd6a25117902ef67aa11d8779dd9c6bca7fbe82" + integrity sha512-I8+LzYK5iSNpspS9eCV9sW67Rj8FgMHimGri4mKiGAmN0pNfx+hFX146rYtzGtewuxKtTsPywWteHx+hPRLDsw== esbuild-openbsd-64@0.14.11: version "0.14.11" @@ -5858,10 +5858,10 @@ esbuild-openbsd-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.14.tgz#04710ef1d01cd9f15d54f50d20b5a3778f8306a2" integrity sha512-HdAnJ399pPff3SKbd8g+P4o5znseni5u5n5rJ6Z7ouqOdgbOwHe2ofZbMow17WMdNtz1IyOZk2Wo9Ve6/lZ4Rg== -esbuild-sunos-64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.13.13.tgz#ac9ead8287379cd2f6d00bd38c5997fda9c1179e" - integrity sha512-ihyds9O48tVOYF48iaHYUK/boU5zRaLOXFS+OOL3ceD39AyHo46HVmsJLc7A2ez0AxNZCxuhu+P9OxfPfycTYQ== +esbuild-openbsd-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.2.tgz#3c5f199eed459b2f88865548394c0b77383d9ca4" + integrity sha512-120HgMe9elidWUvM2E6mMf0csrGwx8sYDqUIJugyMy1oHm+/nT08bTAVXuwYG/rkMIqsEO9AlMxuYnwR6En/3Q== esbuild-sunos-64@0.14.11: version "0.14.11" @@ -5873,21 +5873,26 @@ esbuild-sunos-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.14.tgz#8e583dd92c5c7ac4303ddc37f588e44211e04e19" integrity sha512-bmDHa99ulsGnYlh/xjBEfxoGuC8CEG5OWvlgD+pF7bKKiVTbtxqVCvOGEZeoDXB+ja6AvHIbPxrEE32J+m5nqQ== +esbuild-sunos-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.2.tgz#900a681db6b76c6a7f60fc28d2bfe5b11698641c" + integrity sha512-Q3xcf9Uyfra9UuCFxoLixVvdigo0daZaKJ97TL2KNA4bxRUPK18wwGUk3AxvgDQZpRmg82w9PnkaNYo7a+24ow== + esbuild-wasm@0.14.14: version "0.14.14" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.14.tgz#d4c8d5fc405939a2234a31abf00967dfd1da1caa" integrity sha512-qTjK4MWnYtQHCMGg2qDUqeFYXfVvYq5qJkQTIsOV4VZCknoYePVaDTG9ygEB9Ct0kc0DWs7IrS6Ja+GjY62Kzw== +esbuild-wasm@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.2.tgz#49c59c610a0be48becec87a7d9019d143468f2f9" + integrity sha512-Rs8NjWoo1UdsVjhxT2o6kLCX9Sh65pyd3/h4XeJ3jjQNM6NgL+/CSowuJgvOIjDAXMLXpc6fdGnyZQDil9IUJA== + esbuild-wasm@^0.14.0: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-wasm/-/esbuild-wasm-0.14.11.tgz#bd09f4c42969cddcae39007d284f8ef747aae85d" integrity sha512-9e1R6hv0hiU+BkJI2edqUuWfXUbOP2Mox+Ijl/uY1vLLlSsunkrcADqD/4Rz+VCEDzw6ecscJM+uJqR2fRmEUg== -esbuild-windows-32@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.13.13.tgz#a3820fc86631ca594cb7b348514b5cc3f058cfd6" - integrity sha512-h2RTYwpG4ldGVJlbmORObmilzL8EECy8BFiF8trWE1ZPHLpECE9//J3Bi+W3eDUuv/TqUbiNpGrq4t/odbayUw== - esbuild-windows-32@0.14.11: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.11.tgz#d067f4ce15b29efba6336e6a23597120fafe49ec" @@ -5898,10 +5903,10 @@ esbuild-windows-32@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.14.tgz#6d293ddfb71229f21cc13d85d5d2f43e8131693b" integrity sha512-6tVooQcxJCNenPp5GHZBs/RLu31q4B+BuF4MEoRxswT+Eq2JGF0ZWDRQwNKB8QVIo3t6Svc5wNGez+CwKNQjBg== -esbuild-windows-64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.13.13.tgz#1da748441f228d75dff474ddb7d584b81887323c" - integrity sha512-oMrgjP4CjONvDHe7IZXHrMk3wX5Lof/IwFEIbwbhgbXGBaN2dke9PkViTiXC3zGJSGpMvATXVplEhlInJ0drHA== +esbuild-windows-32@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.2.tgz#61e0ba5bd95b277a55d2b997ac4c04dfe2559220" + integrity sha512-TW7O49tPsrq+N1sW8mb3m24j/iDGa4xzAZH4wHWwoIzgtZAYPKC0hpIhufRRG/LA30bdMChO9pjJZ5mtcybtBQ== esbuild-windows-64@0.14.11: version "0.14.11" @@ -5913,10 +5918,10 @@ esbuild-windows-64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.14.tgz#08a36844b69542f8ec1cb33a5ddcea02b9d0b2e8" integrity sha512-kl3BdPXh0/RD/dad41dtzj2itMUR4C6nQbXQCyYHHo4zoUoeIXhpCrSl7BAW1nv5EFL8stT1V+TQVXGZca5A2A== -esbuild-windows-arm64@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.13.tgz#06dfa52a6b178a5932a9a6e2fdb240c09e6da30c" - integrity sha512-6fsDfTuTvltYB5k+QPah/x7LrI2+OLAJLE3bWLDiZI6E8wXMQU+wLqtEO/U/RvJgVY1loPs5eMpUBpVajczh1A== +esbuild-windows-64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.2.tgz#6ab59ef721ff75c682a1c8ae0570dabb637abddb" + integrity sha512-Rym6ViMNmi1E2QuQMWy0AFAfdY0wGwZD73BnzlsQBX5hZBuy/L+Speh7ucUZ16gwsrMM9v86icZUDrSN/lNBKg== esbuild-windows-arm64@0.14.11: version "0.14.11" @@ -5928,28 +5933,10 @@ esbuild-windows-arm64@0.14.14: resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.14.tgz#ca747ce4066d5b8a79dbe48fe6ecd92d202e5366" integrity sha512-dCm1wTOm6HIisLanmybvRKvaXZZo4yEVrHh1dY0v582GThXJOzuXGja1HIQgV09RpSHYRL3m4KoUBL00l6SWEg== -esbuild@0.13.13: - version "0.13.13" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.13.13.tgz#0b5399c20f219f663c8c1048436fb0f59ab17a41" - integrity sha512-Z17A/R6D0b4s3MousytQ/5i7mTCbaF+Ua/yPfoe71vdTv4KBvVAvQ/6ytMngM2DwGJosl8WxaD75NOQl2QF26Q== - optionalDependencies: - esbuild-android-arm64 "0.13.13" - esbuild-darwin-64 "0.13.13" - esbuild-darwin-arm64 "0.13.13" - esbuild-freebsd-64 "0.13.13" - esbuild-freebsd-arm64 "0.13.13" - esbuild-linux-32 "0.13.13" - esbuild-linux-64 "0.13.13" - esbuild-linux-arm "0.13.13" - esbuild-linux-arm64 "0.13.13" - esbuild-linux-mips64le "0.13.13" - esbuild-linux-ppc64le "0.13.13" - esbuild-netbsd-64 "0.13.13" - esbuild-openbsd-64 "0.13.13" - esbuild-sunos-64 "0.13.13" - esbuild-windows-32 "0.13.13" - esbuild-windows-64 "0.13.13" - esbuild-windows-arm64 "0.13.13" +esbuild-windows-arm64@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.2.tgz#aca2a4f83d2f0d1592ad4be832ed0045fc888cda" + integrity sha512-ZrLbhr0vX5Em/P1faMnHucjVVWPS+m3tktAtz93WkMZLmbRJevhiW1y4CbulBd2z0MEdXZ6emDa1zFHq5O5bSA== esbuild@0.14.14: version "0.14.14" @@ -5975,6 +5962,29 @@ esbuild@0.14.14: esbuild-windows-64 "0.14.14" esbuild-windows-arm64 "0.14.14" +esbuild@0.14.2: + version "0.14.2" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.2.tgz#9c1e1a652549cc33e44885eea42ea2cc6267edc2" + integrity sha512-l076A6o/PIgcyM24s0dWmDI/b8RQf41uWoJu9I0M71CtW/YSw5T5NUeXxs5lo2tFQD+O4CW4nBHJXx3OY5NpXg== + optionalDependencies: + esbuild-android-arm64 "0.14.2" + esbuild-darwin-64 "0.14.2" + esbuild-darwin-arm64 "0.14.2" + esbuild-freebsd-64 "0.14.2" + esbuild-freebsd-arm64 "0.14.2" + esbuild-linux-32 "0.14.2" + esbuild-linux-64 "0.14.2" + esbuild-linux-arm "0.14.2" + esbuild-linux-arm64 "0.14.2" + esbuild-linux-mips64le "0.14.2" + esbuild-linux-ppc64le "0.14.2" + esbuild-netbsd-64 "0.14.2" + esbuild-openbsd-64 "0.14.2" + esbuild-sunos-64 "0.14.2" + esbuild-windows-32 "0.14.2" + esbuild-windows-64 "0.14.2" + esbuild-windows-arm64 "0.14.2" + esbuild@^0.14.0: version "0.14.11" resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.11.tgz#ac4acb78907874832afb704c3afe58ad37715c27" @@ -6684,11 +6694,16 @@ follow-redirects@1.5.10: dependencies: debug "=3.1.0" -follow-redirects@^1.0.0, follow-redirects@^1.14.4: +follow-redirects@^1.0.0: version "1.14.5" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== +follow-redirects@^1.14.7: + version "1.14.7" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" + integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" @@ -8423,16 +8438,18 @@ jest-pnp-resolver@^1.2.2: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-preset-angular@11.0.1: - version "11.0.1" - resolved "https://registry.yarnpkg.com/jest-preset-angular/-/jest-preset-angular-11.0.1.tgz#37774639c9589348ebd606081ea95a84e72c1d13" - integrity sha512-7img58VmxvPtwOrkEEczDbV3cjdO/1qzB8Edbde8/e3GJIIk+6LcPnHOLw+dagJxZhcWagYGbqNbR7dxqntOBQ== +jest-preset-angular@11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/jest-preset-angular/-/jest-preset-angular-11.1.0.tgz#10c9bf1d4f4c8b903b272b163fd8c1611d510258" + integrity sha512-R4ePMBiQub95ESJlN7TozIpRIyMU7buvIdjm8KXqxZK/w8MYwLOSszVStsoZycDmWq5ifZI1eRvhOCUFktFotw== dependencies: bs-logger "^0.2.6" - esbuild "0.13.13" + esbuild-wasm "0.14.2" jest-environment-jsdom "^27.0.0" pretty-format "^27.0.0" ts-jest "^27.0.0" + optionalDependencies: + esbuild "0.14.2" jest-regex-util@^27.0.6: version "27.0.6" @@ -8929,17 +8946,17 @@ karma-source-map-support@1.4.0: dependencies: source-map-support "^0.5.5" -keycloak-angular@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/keycloak-angular/-/keycloak-angular-9.0.0.tgz#079934d826158db5b7327d15d5f6d8a8ee57db1a" - integrity sha512-47ugycwEuheoVmeyQMnkW+s3dHzx3ipJ+88iDxhP+gPjVtV2s7lyNtUCw3dErHVTSbhqEhZJ8CrWwPk1qyiE5w== +keycloak-angular@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/keycloak-angular/-/keycloak-angular-9.1.0.tgz#d51f3a36101bc1f309c082ab71434fb352951607" + integrity sha512-ATxVOfxMaBHMOIdGIXDXqQwVhKl0CqCBwg7BabwWToA41jJdV/pBR+QeF3XkBEuvowXfr3bAW2aOfNSXLUJUeg== dependencies: tslib "^2.0.0" -keycloak-js@^16.0.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-16.1.0.tgz#631b548192c4f4fe65c58f6c98fa23f0f25ac061" - integrity sha512-ydD0SJ+cLmtlor5MvyIOJygnGHueWwnAtXvqniv19k4TslcSpAEACTsnsvENdKa7/NTC4/erg6NctS4uF3nMdw== +keycloak-js@^16.1.1: + version "16.1.1" + resolved "https://registry.yarnpkg.com/keycloak-js/-/keycloak-js-16.1.1.tgz#e235f212cc336b9752863ebdce7f7a5707b11b8a" + integrity sha512-AkRNIJFSMLfQKIBKK31UL4FGI59MQFf68Bf8I+PFbOSKNtnfGVPYLiZeJgy03Kv5ddswHBjVZOY5T0f5RpZpLw== dependencies: base64-js "1.3.1" js-sha256 "0.9.0" @@ -9681,10 +9698,10 @@ neo-async@^2.5.0, neo-async@^2.6.1, neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -ng-packagr@13.1.3: - version "13.1.3" - resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-13.1.3.tgz#d1f2067e335d4e19f97a29ae32c4c8d1e1503bd1" - integrity sha512-u6Idmh4qAFYKNYP7tsm+Oys8enZ0FrZLN0muJFx7VY5CChq+PYqHeuWPd2a/JD0dL1Ffzr7qHL4Yak8/Ld0/0Q== +ng-packagr@13.2.0: + version "13.2.0" + resolved "https://registry.yarnpkg.com/ng-packagr/-/ng-packagr-13.2.0.tgz#c057c7f87feb857a1326457b59bd007eeaa2a389" + integrity sha512-qfAipG1jQLjQ0+NXUTYyCmi5xSdMYY3LUWc7iXrbPfl8R2b8fLO+abW1zNMxS6TtcBUZMyfYtz2NGcFrh7QteA== dependencies: "@rollup/plugin-json" "^4.1.0" "@rollup/plugin-node-resolve" "^13.0.0" @@ -9707,7 +9724,7 @@ ng-packagr@13.1.3: postcss-url "^10.1.1" rollup "^2.45.1" rollup-plugin-sourcemaps "^0.6.3" - rxjs "^6.5.0" + rxjs "^7.0.0" sass "^1.32.8" stylus "^0.56.0" optionalDependencies: @@ -11402,13 +11419,20 @@ rxjs-for-await@0.0.2: resolved "https://registry.yarnpkg.com/rxjs-for-await/-/rxjs-for-await-0.0.2.tgz#26598a1d6167147cc192172970e7eed4e620384b" integrity sha512-IJ8R/ZCFMHOcDIqoABs82jal00VrZx8Xkgfe7TOKoaRPAW5nH/VFlG23bXpeGdrmtqI9UobFPgUKgCuFc7Lncw== -rxjs@6.6.7, rxjs@^6.5.0, rxjs@^6.5.4: +rxjs@6.6.7, rxjs@^6.5.4: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== dependencies: tslib "^1.9.0" +rxjs@^7.0.0, rxjs@~7.5.2: + version "7.5.2" + resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" + integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w== + dependencies: + tslib "^2.1.0" + rxjs@^7.2.0: version "7.4.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.4.0.tgz#a12a44d7eebf016f5ff2441b87f28c9a51cebc68" @@ -11416,13 +11440,6 @@ rxjs@^7.2.0: dependencies: tslib "~2.1.0" -rxjs@~7.5.2: - version "7.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" - integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w== - dependencies: - tslib "^2.1.0" - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" @@ -11453,7 +11470,7 @@ sass-loader@12.4.0: klona "^2.0.4" neo-async "^2.6.2" -sass@1.49.0: +sass@1.49.0, sass@^1.49.0: version "1.49.0" resolved "https://registry.yarnpkg.com/sass/-/sass-1.49.0.tgz#65ec1b1d9a6bc1bae8d2c9d4b392c13f5d32c078" integrity sha512-TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw== @@ -11469,15 +11486,6 @@ sass@^1.32.8: dependencies: chokidar ">=3.0.0 <4.0.0" -sass@^1.48.0: - version "1.48.0" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.48.0.tgz#b53cfccc1b8ab4be375cc54f306fda9d4711162c" - integrity sha512-hQi5g4DcfjcipotoHZ80l7GNJHGqQS5LwMBjVYB/TaT0vcSSpbgM8Ad7cgfsB2M0MinbkEQQPO9+sjjSiwxqmw== - dependencies: - chokidar ">=3.0.0 <4.0.0" - immutable "^4.0.0" - source-map-js ">=0.6.2 <2.0.0" - sax@^1.2.4, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" @@ -12171,10 +12179,10 @@ superagent-promise@^1.1.0: resolved "https://registry.yarnpkg.com/superagent-promise/-/superagent-promise-1.1.0.tgz#baf22d8bbdd439a9b07dd10f8c08f54fe2503533" integrity sha1-uvIti73UOamwfdEPjAj1T+JQNTM= -superagent@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-7.0.2.tgz#8fa6d283c9e7cd52928b96cf422356019248e8c4" - integrity sha512-2Kx35bZxLLJMBKtuXezxvD0aZQ7l923VwoCn7EtUx+aFxdG7co7PeRIddfrNtvvMuGaLZXA0mKzX+yWRhjrJ7A== +superagent@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/superagent/-/superagent-7.1.1.tgz#2ab187d38c3078c31c3771c0b751f10163a27136" + integrity sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ== dependencies: component-emitter "^1.3.0" cookiejar "^2.1.3" @@ -12665,12 +12673,7 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@4.5.4: - version "4.5.4" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.4.tgz#a17d3a0263bf5c8723b9c52f43c5084edf13c2e8" - integrity sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg== - -typescript@^4.5.3: +typescript@4.5.5, typescript@^4.5.3: version "4.5.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== From 40ea94873b7db739f135088ed8aa5b80c6dfe68c Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Fri, 28 Jan 2022 10:18:26 +0200 Subject: [PATCH 259/260] fix warnings --- .../app/components/breadcrumbs/breadcrumbs.component.html | 2 +- .../modules/shared/components/select/select.component.html | 6 +++--- .../modules/shared/components/select/select.component.ts | 6 +++--- apps/red-ui/src/app/services/breadcrumbs.service.ts | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/red-ui/src/app/components/breadcrumbs/breadcrumbs.component.html b/apps/red-ui/src/app/components/breadcrumbs/breadcrumbs.component.html index 00792193c..fdf4f4b27 100644 --- a/apps/red-ui/src/app/components/breadcrumbs/breadcrumbs.component.html +++ b/apps/red-ui/src/app/components/breadcrumbs/breadcrumbs.component.html @@ -9,7 +9,7 @@
{{ label }}
-
+
@@ -20,8 +20,8 @@ [value]="valueMapper(option)" > diff --git a/apps/red-ui/src/app/modules/shared/components/select/select.component.ts b/apps/red-ui/src/app/modules/shared/components/select/select.component.ts index 6344482e5..b2e107977 100644 --- a/apps/red-ui/src/app/modules/shared/components/select/select.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/select/select.component.ts @@ -15,7 +15,7 @@ import { MatChip, MatChipList, MatChipSelectionChange } from '@angular/material/ ], }) export class SelectComponent implements AfterViewInit, ControlValueAccessor { - @Input() optionTemplate: TemplateRef; + @Input() optionTemplate?: TemplateRef; @Input() label: string; @Input() options: any[]; @Input() disabled = false; @@ -26,10 +26,10 @@ export class SelectComponent implements AfterViewInit, ControlValueAccessor { private _value: any[] = []; private _onChange: (value: any[]) => void; - @Input() valueMapper: (option: any) => any = option => option.key; - constructor(private readonly _changeDetector: ChangeDetectorRef) {} + @Input() valueMapper: (option: any) => any = option => option.key; + ngAfterViewInit(): void { setTimeout(() => { this._selectChips(this._value); diff --git a/apps/red-ui/src/app/services/breadcrumbs.service.ts b/apps/red-ui/src/app/services/breadcrumbs.service.ts index 6dd0d9cae..118d0a754 100644 --- a/apps/red-ui/src/app/services/breadcrumbs.service.ts +++ b/apps/red-ui/src/app/services/breadcrumbs.service.ts @@ -13,7 +13,7 @@ export type RouterLinkActiveOptions = { exact: boolean } | IsActiveMatchOptions; export interface Breadcrumb { readonly name$: Observable; readonly routerLink?: string[]; - readonly routerLinkActiveOptions?: RouterLinkActiveOptions; + readonly routerLinkActiveOptions?: RouterLinkActiveOptions | undefined; } export type Breadcrumbs = List; From f1da4661e4faa6de481d1bc668051c05f416cf9a Mon Sep 17 00:00:00 2001 From: Atlassian Bamboo Date: Fri, 28 Jan 2022 09:25:09 +0100 Subject: [PATCH 260/260] chore(release) --- package.json | 2 +- paligo-theme.tar.gz | Bin 3214 -> 3215 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 524a8d226..60f715f8a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "redaction", - "version": "3.192.0", + "version": "3.193.0", "private": true, "license": "MIT", "scripts": { diff --git a/paligo-theme.tar.gz b/paligo-theme.tar.gz index 34c2aaacff53a796e7f98eab0a4f3a830fa0c29b..3d8695ac1fb2eadcc8c454eee13ba28263cf7a02 100644 GIT binary patch delta 3128 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 Rc5c7e_J7`>cP0Q(008Az3@iWu