diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts index 105678bf6..6b88ae96c 100644 --- a/apps/red-ui/src/app/app.module.ts +++ b/apps/red-ui/src/app/app.module.ts @@ -10,6 +10,8 @@ import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { ServiceWorkerModule } from '@angular/service-worker'; import { HelpModeKey } from '@common-ui/help-mode/types'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; +import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component'; import { GET_TENANT_FROM_PATH_FN, UI_ROOT } from '@common-ui/utils'; import { AuthErrorComponent } from '@components/auth-error/auth-error.component'; import { BaseScreenComponent } from '@components/base-screen/base-screen.component'; @@ -33,7 +35,6 @@ import { HelpModeComponent, HiddenActionDirective, IconButtonComponent, - InputWithActionComponent, IqserAllowDirective, IqserDenyDirective, IqserListingModule, @@ -41,7 +42,6 @@ import { IqserTranslateModule, LanguageService, MAX_RETRIES_ON_SERVER_ERROR, - RoundCheckboxComponent, SERVER_ERROR_SKIP_PATHS, ServerErrorInterceptor, StopPropagationDirective, diff --git a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.ts index e1b29d59f..03a5d3b88 100644 --- a/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/dialogs/configure-digital-signature-dialog/configure-certificate-dialog.component.ts @@ -1,22 +1,18 @@ -import { ChangeDetectorRef, Component, ViewChild } from '@angular/core'; -import { digitalSignatureDialogTranslations } from '../../translations/digital-signature-dialog-translations'; -import { - BaseDialogComponent, - CircleButtonComponent, - DetailsRadioComponent, - DetailsRadioOption, - IconButtonComponent, -} from '@iqser/common-ui'; -import { MatDialogClose, MatDialogRef } from '@angular/material/dialog'; -import { PkcsSignatureConfigurationComponent } from './form/pkcs-signature-configuration/pkcs-signature-configuration.component'; -import { KmsSignatureConfigurationComponent } from './form/kms-signature-configuration/kms-signature-configuration.component'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { HttpStatusCode } from '@angular/common/http'; -import { DigitalSignatureOption, DigitalSignatureOptions } from '@red/domain'; import { NgIf } from '@angular/common'; +import { HttpStatusCode } from '@angular/common/http'; +import { ChangeDetectorRef, Component, ViewChild } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; +import { MatDialogClose, MatDialogRef } from '@angular/material/dialog'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; +import { BaseDialogComponent, CircleButtonComponent, IconButtonComponent } from '@iqser/common-ui'; import { TranslateModule } from '@ngx-translate/core'; +import { DigitalSignatureOption, DigitalSignatureOptions } from '@red/domain'; import { DigitalSignatureService } from '../../services/digital-signature.service'; +import { digitalSignatureDialogTranslations } from '../../translations/digital-signature-dialog-translations'; +import { KmsSignatureConfigurationComponent } from './form/kms-signature-configuration/kms-signature-configuration.component'; +import { PkcsSignatureConfigurationComponent } from './form/pkcs-signature-configuration/pkcs-signature-configuration.component'; const DEFAULT_DIALOG_WIDTH = '662px'; const KMS_SIGNATURE_DIALOG_WIDTH = '810px'; diff --git a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts index e4ffec6fa..bae463a1f 100644 --- a/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/component-mappings/component-mappings-screen.component.ts @@ -1,35 +1,34 @@ +import { AsyncPipe, NgIf } from '@angular/common'; import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; +import { RouterLink } from '@angular/router'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; +import { getCurrentUser } from '@common-ui/users'; +import { getParam } from '@common-ui/utils'; import { + CircleButtonComponent, + IconButtonComponent, + IconButtonTypes, + IqserAllowDirective, + IqserDialog, + IqserListingModule, ListingComponent, - TableColumnConfig, listingProvidersFactory, LoadingService, - IconButtonTypes, - IqserDialog, - CircleButtonComponent, - IqserListingModule, - InputWithActionComponent, - IconButtonComponent, - IqserAllowDirective, + TableColumnConfig, } from '@iqser/common-ui'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { TranslateModule } from '@ngx-translate/core'; +import { ComponentMapping, DOSSIER_TEMPLATE_ID, User } from '@red/domain'; +import { ComponentMappingsService } from '@services/entity-services/component-mappings.service'; import { defaultColorsTranslations } from '@translations/default-colors-translations'; import { Roles } from '@users/roles'; -import { getCurrentUser } from '@common-ui/users'; -import { DOSSIER_TEMPLATE_ID, User } from '@red/domain'; -import { ComponentMapping } from '@red/domain'; import { combineLatest, firstValueFrom } from 'rxjs'; -import { ComponentMappingsService } from '@services/entity-services/component-mappings.service'; import { map, tap } from 'rxjs/operators'; -import { AddEditComponentMappingDialogComponent } from './add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component'; import { AdminDialogService } from '../../services/admin-dialog.service'; -import { getParam } from '@common-ui/utils'; -import { DossierTemplateBreadcrumbsComponent } from '../../shared/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component'; -import { AsyncPipe, NgIf } from '@angular/common'; -import { DossierTemplateActionsComponent } from '../../shared/components/dossier-template-actions/dossier-template-actions.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { RouterLink } from '@angular/router'; import { AdminSideNavComponent } from '../../shared/components/admin-side-nav/admin-side-nav.component'; +import { DossierTemplateActionsComponent } from '../../shared/components/dossier-template-actions/dossier-template-actions.component'; +import { DossierTemplateBreadcrumbsComponent } from '../../shared/components/dossier-template-breadcrumbs/dossier-template-breadcrumbs.component'; +import { AddEditComponentMappingDialogComponent } from './add-edit-component-mapping-dialog/add-edit-component-mapping-dialog.component'; @Component({ templateUrl: './component-mappings-screen.component.html', @@ -52,18 +51,18 @@ import { AdminSideNavComponent } from '../../shared/components/admin-side-nav/ad ], }) export class ComponentMappingsScreenComponent extends ListingComponent implements OnInit { + readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID); + protected readonly context$; + protected readonly currentUser = getCurrentUser(); + protected readonly translations = defaultColorsTranslations; + protected readonly roles = Roles; + protected readonly iconButtonTypes = IconButtonTypes; tableColumnConfigs: readonly TableColumnConfig[] = [ { label: _('component-mappings-screen.table-col-names.name'), sortByKey: 'searchKey' }, { label: _('component-mappings-screen.table-col-names.version') }, { label: _('component-mappings-screen.table-col-names.number-of-lines') }, ]; readonly tableHeaderLabel = _('component-mappings-screen.table-header.title'); - protected readonly context$; - protected readonly currentUser = getCurrentUser(); - protected readonly translations = defaultColorsTranslations; - protected readonly roles = Roles; - protected readonly iconButtonTypes = IconButtonTypes; - readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID); constructor( private readonly _loadingService: LoadingService, 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 c186dd557..7091dfcc6 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 @@ -1,12 +1,13 @@ +import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; import { CircleButtonComponent, defaultDialogConfig, IconButtonComponent, IconButtonTypes, - InputWithActionComponent, IqserListingModule, ListingComponent, listingProvidersFactory, @@ -15,6 +16,7 @@ import { } from '@iqser/common-ui'; import { getCurrentUser } from '@iqser/common-ui/lib/users'; import { getParam } from '@iqser/common-ui/lib/utils'; +import { TranslateModule } from '@ngx-translate/core'; import { DOSSIER_TEMPLATE_ID, DossierAttributeConfig, IDossierAttributeConfig, User } from '@red/domain'; import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service'; import { PermissionsService } from '@services/permissions.service'; @@ -24,8 +26,6 @@ import { AddEditDossierAttributeDialogComponent, AddEditDossierAttributeDialogData, } from './add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; import { TableItemComponent } from './table-item/table-item.component'; @Component({ diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.ts index 5644f963c..7d4be21cd 100644 --- a/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/dossier-states-listing/dossier-states-listing-screen/dossier-states-listing-screen.component.ts @@ -1,32 +1,32 @@ +import { AsyncPipe, NgIf } from '@angular/common'; import { Component, OnDestroy, OnInit } from '@angular/core'; +import { MatDialog } from '@angular/material/dialog'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; import { defaultDialogConfig, IconButtonComponent, IconButtonTypes, - InputWithActionComponent, IqserListingModule, ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig, } from '@iqser/common-ui'; +import { SortingOrders } from '@iqser/common-ui/lib/sorting'; +import { getParam } from '@iqser/common-ui/lib/utils'; +import { TranslateModule } from '@ngx-translate/core'; import { type DonutChartConfig, DOSSIER_TEMPLATE_ID, type DossierState } from '@red/domain'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { firstValueFrom, Observable } from 'rxjs'; import { DossierStatesMapService } from '@services/entity-services/dossier-states-map.service'; -import { map, tap } from 'rxjs/operators'; import { DossierStatesService } from '@services/entity-services/dossier-states.service'; import { PermissionsService } from '@services/permissions.service'; -import { MatDialog } from '@angular/material/dialog'; +import { DonutChartComponent } from '@shared/components/donut-chart/donut-chart.component'; +import { firstValueFrom, Observable } from 'rxjs'; +import { map, tap } from 'rxjs/operators'; import { AddEditDossierStateDialogComponent, AddEditDossierStateDialogData, } from '../add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component'; -import { SortingOrders } from '@iqser/common-ui/lib/sorting'; -import { getParam } from '@iqser/common-ui/lib/utils'; -import { DonutChartComponent } from '@shared/components/donut-chart/donut-chart.component'; -import { AsyncPipe, NgIf } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; import { DossierStatesTableItemComponent } from '../dossier-states-table-item/dossier-states-table-item.component'; @Component({ 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 585f709d0..8b3c7e204 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 @@ -1,10 +1,11 @@ +import { AsyncPipe } from '@angular/common'; import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; import { CircleButtonComponent, IconButtonComponent, IconButtonTypes, - InputWithActionComponent, IqserAllowDirective, IqserListingModule, IqserPermissionsService, @@ -14,6 +15,7 @@ import { TableColumnConfig, } from '@iqser/common-ui'; import { getCurrentUser } from '@iqser/common-ui/lib/users'; +import { TranslateModule } from '@ngx-translate/core'; import { DossierTemplate, User } from '@red/domain'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; import { RouterHistoryService } from '@services/router-history.service'; @@ -21,8 +23,6 @@ import { Roles } from '@users/roles'; import { UserPreferenceService } from '@users/user-preference.service'; import { firstValueFrom } from 'rxjs'; import { AdminDialogService } from '../../../services/admin-dialog.service'; -import { TranslateModule } from '@ngx-translate/core'; -import { AsyncPipe } from '@angular/common'; import { TableItemComponent } from '../table-item/table-item.component'; @Component({ diff --git a/apps/red-ui/src/app/modules/admin/screens/entities-listing/entities-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/entities-listing/entities-listing-screen.component.ts index b72086c06..43c425a5a 100644 --- a/apps/red-ui/src/app/modules/admin/screens/entities-listing/entities-listing-screen.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/entities-listing/entities-listing-screen.component.ts @@ -1,10 +1,12 @@ +import { AsyncPipe, NgIf, NgStyle } from '@angular/common'; import { Component, OnInit } from '@angular/core'; +import { RouterLink } from '@angular/router'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; import { CircleButtonComponent, IconButtonComponent, IconButtonTypes, - InputWithActionComponent, IqserListingModule, ListingComponent, listingProvidersFactory, @@ -12,18 +14,16 @@ import { TableColumnConfig, } from '@iqser/common-ui'; import { getParam } from '@iqser/common-ui/lib/utils'; +import { TranslateModule } from '@ngx-translate/core'; import { Dictionary, DOSSIER_TEMPLATE_ID, DossierTemplateStats } from '@red/domain'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; import { DictionaryService } from '@services/entity-services/dictionary.service'; import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service'; import { PermissionsService } from '@services/permissions.service'; +import { AnnotationIconComponent } from '@shared/components/annotation-icon/annotation-icon.component'; import { firstValueFrom, Observable } from 'rxjs'; import { tap } from 'rxjs/operators'; import { AdminDialogService } from '../../services/admin-dialog.service'; -import { TranslateModule } from '@ngx-translate/core'; -import { AsyncPipe, NgIf, NgStyle } from '@angular/common'; -import { AnnotationIconComponent } from '@shared/components/annotation-icon/annotation-icon.component'; -import { RouterLink } from '@angular/router'; @Component({ templateUrl: './entities-listing-screen.component.html', diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-csv-import-dialog/active-fields-listing/active-fields-listing.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-csv-import-dialog/active-fields-listing/active-fields-listing.component.ts index 4a54df699..1fff7b4f8 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-csv-import-dialog/active-fields-listing/active-fields-listing.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-csv-import-dialog/active-fields-listing/active-fields-listing.component.ts @@ -1,24 +1,24 @@ +import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core'; +import { FormsModule } from '@angular/forms'; +import { MatFormField } from '@angular/material/form-field'; +import { MatMenu, MatMenuTrigger } from '@angular/material/menu'; +import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; +import { MatSlideToggle } from '@angular/material/slide-toggle'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { EditableInputComponent } from '@common-ui/inputs/editable-input/editable-input.component'; +import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component'; import { ChevronButtonComponent, CircleButtonComponent, - EditableInputComponent, IqserListingModule, ListingComponent, listingProvidersFactory, - RoundCheckboxComponent, TableColumnConfig, } from '@iqser/common-ui'; +import { TranslateModule } from '@ngx-translate/core'; import { FileAttributeConfigTypes, IField } from '@red/domain'; import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations'; -import { MatMenu, MatMenuTrigger } from '@angular/material/menu'; -import { TranslateModule } from '@ngx-translate/core'; -import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; -import { MatFormField } from '@angular/material/form-field'; -import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; -import { FormsModule } from '@angular/forms'; -import { MatSlideToggle } from '@angular/material/slide-toggle'; @Component({ selector: 'redaction-active-fields-listing', diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts index 0117a9352..164beff9e 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.ts @@ -1,29 +1,29 @@ +import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; import { ChangeDetectionStrategy, Component, Inject } from '@angular/core'; import { AbstractControl, ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, ValidatorFn, Validators } from '@angular/forms'; +import { MatAutocomplete, MatAutocompleteTrigger, MatOption } from '@angular/material/autocomplete'; 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 { MatFormField } from '@angular/material/form-field'; +import { MatSelect, MatSelectTrigger } from '@angular/material/select'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; import { CircleButtonComponent, IconButtonComponent, IconButtonTypes, - InputWithActionComponent, IqserTranslateModule, ListingComponent, listingProvidersFactory, TableColumnConfig, Toaster, } from '@iqser/common-ui'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { trackByFactory } from '@iqser/common-ui/lib/utils'; import { FileAttributeConfig, FileAttributeConfigTypes, FileAttributeEncodingTypes, IField, IFileAttributesConfig } from '@red/domain'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; import { fileAttributeEncodingTypesTranslations } from '@translations/file-attribute-encoding-types-translations'; -import { trackByFactory } from '@iqser/common-ui/lib/utils'; -import { MatFormField } from '@angular/material/form-field'; -import { MatAutocomplete, MatAutocompleteTrigger, MatOption } from '@angular/material/autocomplete'; -import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; -import { MatSelect, MatSelectTrigger } from '@angular/material/select'; +import * as Papa from 'papaparse'; +import { firstValueFrom, Observable } from 'rxjs'; +import { map, startWith } from 'rxjs/operators'; import { ActiveFieldsListingComponent } from './active-fields-listing/active-fields-listing.component'; export interface IFileAttributesCSVImportData { diff --git a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.html b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.html index b3b0651ff..2db9a3f94 100644 --- a/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.html +++ b/apps/red-ui/src/app/modules/admin/screens/file-attributes-listing/file-attributes-listing-screen.component.html @@ -93,15 +93,15 @@
- +
- +
- +
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 7fb89faab..56a96bf67 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 @@ -1,25 +1,29 @@ +import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; import { HttpStatusCode } from '@angular/common/http'; import { Component, ElementRef, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; +import { MatIcon } from '@angular/material/icon'; +import { MatTooltip } from '@angular/material/tooltip'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; +import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component'; import { CircleButtonComponent, defaultDialogConfig, IconButtonComponent, IconButtonTypes, - InputWithActionComponent, IqserAllowDirective, IqserListingModule, largeDialogConfig, ListingComponent, listingProvidersFactory, LoadingService, - RoundCheckboxComponent, TableColumnConfig, Toaster, } from '@iqser/common-ui'; import { getCurrentUser } from '@iqser/common-ui/lib/users'; import { getParam } from '@iqser/common-ui/lib/utils'; +import { TranslateModule } from '@ngx-translate/core'; import { DOSSIER_TEMPLATE_ID, FileAttributeConfig, IFileAttributeConfig, IFileAttributesConfig, User } from '@red/domain'; import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service'; import { FileAttributesService } from '@services/entity-services/file-attributes.service'; @@ -37,10 +41,6 @@ import { FileAttributesCsvImportDialogComponent, IFileAttributesCSVImportData, } from './file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component'; -import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; -import { MatIcon } from '@angular/material/icon'; -import { MatTooltip } from '@angular/material/tooltip'; -import { TranslateModule } from '@ngx-translate/core'; @Component({ templateUrl: './file-attributes-listing-screen.component.html', diff --git a/apps/red-ui/src/app/modules/dossier-overview/components/file-attribute/file-attribute.component.ts b/apps/red-ui/src/app/modules/dossier-overview/components/file-attribute/file-attribute.component.ts index a69cc33ab..49e760e9d 100644 --- a/apps/red-ui/src/app/modules/dossier-overview/components/file-attribute/file-attribute.component.ts +++ b/apps/red-ui/src/app/modules/dossier-overview/components/file-attribute/file-attribute.component.ts @@ -1,29 +1,23 @@ +import { AsyncPipe, NgClass, NgIf, NgTemplateOutlet } from '@angular/common'; import { Component, computed, effect, HostListener, Input, OnDestroy } from '@angular/core'; -import { Dossier, File, FileAttributeConfigTypes, IFileAttributeConfig } from '@red/domain'; -import { - BaseFormComponent, - CircleButtonComponent, - DynamicInputComponent, - HelpModeService, - ListingService, - Toaster, -} from '@iqser/common-ui'; -import { PermissionsService } from '@services/permissions.service'; import { AbstractControl, FormBuilder, FormsModule, ReactiveFormsModule, UntypedFormGroup, ValidatorFn } from '@angular/forms'; -import { FileAttributesService } from '@services/entity-services/file-attributes.service'; -import { firstValueFrom, Subscription } from 'rxjs'; -import { FilesService } from '@services/files/files.service'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import dayjs from 'dayjs'; +import { MatIconModule } from '@angular/material/icon'; +import { MatTooltipModule } from '@angular/material/tooltip'; import { NavigationEnd, Router } from '@angular/router'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { DynamicInputComponent } from '@common-ui/inputs/dynamic-input/dynamic-input.component'; +import { BaseFormComponent, CircleButtonComponent, HelpModeService, ListingService, Toaster } from '@iqser/common-ui'; +import { Debounce } from '@iqser/common-ui/lib/utils'; +import { TranslateModule } from '@ngx-translate/core'; +import { Dossier, File, FileAttributeConfigTypes, IFileAttributeConfig } from '@red/domain'; +import { FileAttributesService } from '@services/entity-services/file-attributes.service'; +import { FilesService } from '@services/files/files.service'; +import { PermissionsService } from '@services/permissions.service'; +import { DatePipe } from '@shared/pipes/date.pipe'; +import dayjs from 'dayjs'; +import { firstValueFrom, Subscription } from 'rxjs'; import { filter, map, tap } from 'rxjs/operators'; import { ConfigService } from '../../config.service'; -import { Debounce } from '@iqser/common-ui/lib/utils'; -import { AsyncPipe, NgClass, NgIf, NgTemplateOutlet } from '@angular/common'; -import { MatTooltipModule } from '@angular/material/tooltip'; -import { MatIconModule } from '@angular/material/icon'; -import { TranslateModule } from '@ngx-translate/core'; -import { DatePipe } from '@shared/pipes/date.pipe'; @Component({ selector: 'redaction-file-attribute', @@ -46,14 +40,12 @@ import { DatePipe } from '@shared/pipes/date.pipe'; ], }) export class FileAttributeComponent extends BaseFormComponent implements OnDestroy { + readonly #subscriptions = new Subscription(); + #widthFactor = window.innerWidth >= 1800 ? 0.85 : 0.7; isInEditMode = false; closedDatepicker = true; @Input({ required: true }) fileAttribute!: IFileAttributeConfig; @Input({ required: true }) file!: File; - @Input({ required: true }) dossier!: Dossier; - @Input() fileNameColumn = false; - readonlyAttrs: string[] = []; - readonly #subscriptions = new Subscription(); readonly #shouldClose = computed( () => (this.fileAttributesService.isEditingFileAttribute() && @@ -63,32 +55,10 @@ export class FileAttributeComponent extends BaseFormComponent implements OnDestr this.file.fileId !== this.fileAttributesService.fileEdit())) || !this.fileAttributesService.openAttributeEdits().length, ); + @Input({ required: true }) dossier!: Dossier; + @Input() fileNameColumn = false; + readonlyAttrs: string[] = []; @Input() width?: number; - #widthFactor = window.innerWidth >= 1800 ? 0.85 : 0.7; - - get editFieldWidth(): string { - return this.width ? `${this.width * this.#widthFactor}px` : 'unset'; - } - - get attributeValueWidth(): string { - return this.width ? `${this.width * 0.9}px` : 'unset'; - } - - get isDate(): boolean { - return this.fileAttribute.type === FileAttributeConfigTypes.DATE; - } - - get isNumber(): boolean { - return this.fileAttribute.type === FileAttributeConfigTypes.NUMBER; - } - - get isText(): boolean { - return this.fileAttribute.type === FileAttributeConfigTypes.TEXT; - } - - get fileAttributeValue(): string { - return this.file.fileAttributes.attributeIdToValue[this.fileAttribute.id]; - } constructor( router: Router, @@ -121,6 +91,30 @@ export class FileAttributeComponent extends BaseFormComponent implements OnDestr ); } + get editFieldWidth(): string { + return this.width ? `${this.width * this.#widthFactor}px` : 'unset'; + } + + get attributeValueWidth(): string { + return this.width ? `${this.width * 0.9}px` : 'unset'; + } + + get isDate(): boolean { + return this.fileAttribute.type === FileAttributeConfigTypes.DATE; + } + + get isNumber(): boolean { + return this.fileAttribute.type === FileAttributeConfigTypes.NUMBER; + } + + get isText(): boolean { + return this.fileAttribute.type === FileAttributeConfigTypes.TEXT; + } + + get fileAttributeValue(): string { + return this.file.fileAttributes.attributeIdToValue[this.fileAttribute.id]; + } + @HostListener('window:resize') onResize() { if (window.innerWidth >= 1800) { diff --git a/apps/red-ui/src/app/modules/file-preview/components/annotation-card/annotation-card.component.html b/apps/red-ui/src/app/modules/file-preview/components/annotation-card/annotation-card.component.html index e017c7e41..07b4618bc 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/annotation-card/annotation-card.component.html +++ b/apps/red-ui/src/app/modules/file-preview/components/annotation-card/annotation-card.component.html @@ -39,6 +39,6 @@
- +
diff --git a/apps/red-ui/src/app/modules/file-preview/components/annotation-card/annotation-card.component.ts b/apps/red-ui/src/app/modules/file-preview/components/annotation-card/annotation-card.component.ts index bceca2a7a..60d8a9d39 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/annotation-card/annotation-card.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/annotation-card/annotation-card.component.ts @@ -1,13 +1,13 @@ +import { NgIf, UpperCasePipe } from '@angular/common'; import { Component, Input } from '@angular/core'; +import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component'; +import { getConfig, IqserDenyDirective } from '@iqser/common-ui'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; -import { MultiSelectService } from '../../services/multi-select.service'; +import { TranslateModule } from '@ngx-translate/core'; +import { AnnotationIconComponent } from '@shared/components/annotation-icon/annotation-icon.component'; import { annotationTypesTranslations } from '@translations/annotation-types-translations'; import { Roles } from '@users/roles'; -import { getConfig } from '@iqser/common-ui'; -import { AnnotationIconComponent } from '@shared/components/annotation-icon/annotation-icon.component'; -import { TranslateModule } from '@ngx-translate/core'; -import { IqserDenyDirective, RoundCheckboxComponent } from '@iqser/common-ui'; -import { NgIf, UpperCasePipe } from '@angular/common'; +import { MultiSelectService } from '../../services/multi-select.service'; @Component({ selector: 'redaction-annotation-card', diff --git a/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts b/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts index 4e596eea3..2efefebad 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/comments/comments.component.ts @@ -1,18 +1,19 @@ +import { NgForOf, NgIf } from '@angular/common'; import { Component, inject, Input, OnChanges, signal, SimpleChanges, ViewChild } from '@angular/core'; -import { CircleButtonComponent, InputWithActionComponent, LoadingService } from '@iqser/common-ui'; +import { MatTooltip } from '@angular/material/tooltip'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; +import { NamePipe } from '@common-ui/users/name.pipe'; +import { CircleButtonComponent, LoadingService } from '@iqser/common-ui'; import { getCurrentUser } from '@iqser/common-ui/lib/users'; import { trackByFactory } from '@iqser/common-ui/lib/utils'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; +import { TranslateModule } from '@ngx-translate/core'; import type { IComment, User } from '@red/domain'; import { CommentsApiService } from '@services/comments-api.service'; import { PermissionsService } from '@services/permissions.service'; +import { DatePipe } from '@shared/pipes/date.pipe'; import { NGXLogger } from 'ngx-logger'; import { FilePreviewStateService } from '../../services/file-preview-state.service'; -import { NgForOf, NgIf } from '@angular/common'; -import { MatTooltip } from '@angular/material/tooltip'; -import { NamePipe } from '@common-ui/users/name.pipe'; -import { TranslateModule } from '@ngx-translate/core'; -import { DatePipe } from '@shared/pipes/date.pipe'; @Component({ selector: 'redaction-comments', diff --git a/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts b/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts index 3269aa672..0887d8e04 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/file-workload/file-workload.component.ts @@ -1,6 +1,10 @@ +import { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common'; import { ChangeDetectorRef, Component, computed, effect, ElementRef, HostListener, OnDestroy, OnInit, ViewChild } from '@angular/core'; import { MatDialog } from '@angular/material/dialog'; +import { MatIcon } from '@angular/material/icon'; +import { MatTooltip } from '@angular/material/tooltip'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component'; import { CapitalizePipe, CircleButtonComponent, @@ -10,12 +14,14 @@ import { IconButtonComponent, IconButtonTypes, PreventDefaultDirective, - RoundCheckboxComponent, } from '@iqser/common-ui'; import { FilterService, INestedFilter, PopupFilterComponent } from '@iqser/common-ui/lib/filtering'; import { AutoUnsubscribe, Debounce, IqserEventTarget } from '@iqser/common-ui/lib/utils'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { ListItem } from '@models/file/list-item'; +import { TranslateModule } from '@ngx-translate/core'; +import { WorkflowFileStatuses } from '@red/domain'; +import { workloadTranslations } from '@translations/workload-translations'; import { UserPreferenceService } from '@users/user-preference.service'; import { getLocalStorageDataByFileId } from '@utils/local-storage'; import { combineLatest, delay, Observable } from 'rxjs'; @@ -34,17 +40,11 @@ import { FilePreviewStateService } from '../../services/file-preview-state.servi import { MultiSelectService } from '../../services/multi-select.service'; import { SkippedService } from '../../services/skipped.service'; import { ViewModeService } from '../../services/view-mode.service'; -import { workloadTranslations } from '@translations/workload-translations'; -import { WorkflowFileStatuses } from '@red/domain'; +import { AnnotationActionsComponent } from '../annotation-actions/annotation-actions.component'; import { AnnotationsListComponent } from '../annotations-list/annotations-list.component'; import { PageExclusionComponent } from '../page-exclusion/page-exclusion.component'; -import { AsyncPipe, NgIf, NgTemplateOutlet } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; -import { ReadonlyBannerComponent } from '../readonly-banner/readonly-banner.component'; -import { AnnotationActionsComponent } from '../annotation-actions/annotation-actions.component'; -import { MatTooltip } from '@angular/material/tooltip'; -import { MatIcon } from '@angular/material/icon'; import { PagesComponent } from '../pages/pages.component'; +import { ReadonlyBannerComponent } from '../readonly-banner/readonly-banner.component'; const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape']; const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown']; @@ -79,9 +79,6 @@ export class FileWorkloadComponent extends AutoUnsubscribe implements OnInit, On @ViewChild('annotationsElement') private readonly _annotationsElement: ElementRef; @ViewChild('quickNavigation') private readonly _quickNavigationElement: ElementRef; readonly #isIqserDevMode = this._userPreferenceService.isIqserDevMode; - displayedAnnotations = new Map(); - displayedPages: number[] = []; - pagesPanelActive = true; protected readonly iconButtonTypes = IconButtonTypes; protected readonly circleButtonTypes = CircleButtonTypes; protected readonly displayedAnnotations$: Observable[]>>; @@ -91,6 +88,9 @@ export class FileWorkloadComponent extends AutoUnsubscribe implements OnInit, On protected readonly currentPageIsExcluded = computed(() => this.state.file().excludedPages.includes(this.pdf.currentPage())); protected readonly translations = workloadTranslations; protected readonly isDocumine = getConfig().IS_DOCUMINE; + displayedAnnotations = new Map(); + displayedPages: number[] = []; + pagesPanelActive = true; constructor( readonly filterService: FilterService, @@ -157,6 +157,11 @@ export class FileWorkloadComponent extends AutoUnsubscribe implements OnInit, On return this.displayedAnnotations.get(this.pdf.currentPage()) || []; } + get showAnalysisDisabledBanner() { + const file = this.state.file(); + return this.isDocumine && file.excludedFromAutomaticAnalysis && file.workflowStatus !== WorkflowFileStatuses.APPROVED; + } + private get _firstSelectedAnnotation() { return this.listingService.selected.length ? this.listingService.selected[0] : null; } @@ -513,9 +518,4 @@ export class FileWorkloadComponent extends AutoUnsubscribe implements OnInit, On }); return listItemsMap; } - - get showAnalysisDisabledBanner() { - const file = this.state.file(); - return this.isDocumine && file.excludedFromAutomaticAnalysis && file.workflowStatus !== WorkflowFileStatuses.APPROVED; - } } diff --git a/apps/red-ui/src/app/modules/file-preview/components/page-exclusion/page-exclusion.component.ts b/apps/red-ui/src/app/modules/file-preview/components/page-exclusion/page-exclusion.component.ts index 6c8a1357a..fad8d2dc1 100644 --- a/apps/red-ui/src/app/modules/file-preview/components/page-exclusion/page-exclusion.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/components/page-exclusion/page-exclusion.component.ts @@ -1,13 +1,14 @@ -import { Component, computed, ViewChild } from '@angular/core'; -import { PermissionsService } from '@services/permissions.service'; -import { CircleButtonComponent, HasScrollbarDirective, InputWithActionComponent, LoadingService, Toaster } from '@iqser/common-ui'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { IPageRange } from '@red/domain'; -import { ReanalysisService } from '@services/reanalysis.service'; -import { FilePreviewStateService } from '../../services/file-preview-state.service'; -import { extractPageRanges } from '@utils/page-ranges-mapper'; -import { TranslateModule } from '@ngx-translate/core'; import { NgForOf, NgIf } from '@angular/common'; +import { Component, computed, ViewChild } from '@angular/core'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; +import { CircleButtonComponent, HasScrollbarDirective, LoadingService, Toaster } from '@iqser/common-ui'; +import { TranslateModule } from '@ngx-translate/core'; +import { IPageRange } from '@red/domain'; +import { PermissionsService } from '@services/permissions.service'; +import { ReanalysisService } from '@services/reanalysis.service'; +import { extractPageRanges } from '@utils/page-ranges-mapper'; +import { FilePreviewStateService } from '../../services/file-preview-state.service'; @Component({ selector: 'redaction-page-exclusion', @@ -17,6 +18,7 @@ import { NgForOf, NgIf } from '@angular/common'; imports: [InputWithActionComponent, TranslateModule, NgIf, HasScrollbarDirective, NgForOf, CircleButtonComponent], }) export class PageExclusionComponent { + @ViewChild(InputWithActionComponent) private readonly _inputComponent: InputWithActionComponent; readonly excludedRanges = computed(() => { const file = this._state.file(); const sorted = [...file.excludedPages].sort((p1, p2) => p1 - p2); @@ -24,7 +26,6 @@ export class PageExclusionComponent { }); readonly canExcludePages = computed(() => this.permissionsService.canExcludePages(this._state.file(), this._state.dossier())); readonly noExcludedAndCantExclude = computed(() => !this.canExcludePages() && !this.excludedRanges().length); - @ViewChild(InputWithActionComponent) private readonly _inputComponent: InputWithActionComponent; constructor( readonly permissionsService: PermissionsService, @@ -56,6 +57,17 @@ export class PageExclusionComponent { this._loadingService.stop(); } + flattenPageRanges(ranges: IPageRange[]) { + const flattenedPages = []; + ranges.forEach(range => { + for (let page = range.startPage; page <= range.endPage; page++) { + flattenedPages.push(page); + } + }); + + return flattenedPages; + } + private _toPageRange(pages: number[]) { return pages.reduce((ranges: IPageRange[], page) => { if (!ranges.length) { @@ -70,15 +82,4 @@ export class PageExclusionComponent { return ranges; }, []); } - - flattenPageRanges(ranges: IPageRange[]) { - const flattenedPages = []; - ranges.forEach(range => { - for (let page = range.startPage; page <= range.endPage; page++) { - flattenedPages.push(page); - } - }); - - return flattenedPages; - } } diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/add-hint-dialog/add-hint-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/add-hint-dialog/add-hint-dialog.component.ts index 8958053c5..07234fb4c 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/add-hint-dialog/add-hint-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/add-hint-dialog/add-hint-dialog.component.ts @@ -6,10 +6,10 @@ import { MatDialogClose } from '@angular/material/dialog'; import { MatFormField } from '@angular/material/form-field'; import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; import { MatTooltip } from '@angular/material/tooltip'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; import { CircleButtonComponent, - DetailsRadioComponent, - DetailsRadioOption, HasScrollbarDirective, IconButtonComponent, IconButtonTypes, diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/docu-mine/remove-annotation-dialog/remove-annotation-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/docu-mine/remove-annotation-dialog/remove-annotation-dialog.component.ts index 7fe6b97ab..58ffe7ace 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/docu-mine/remove-annotation-dialog/remove-annotation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/docu-mine/remove-annotation-dialog/remove-annotation-dialog.component.ts @@ -3,16 +3,10 @@ import { NgIf, NgStyle } from '@angular/common'; import { Component } from '@angular/core'; import { FormBuilder, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms'; import { MatDialogClose } from '@angular/material/dialog'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; import { ReplaceNbspPipe } from '@common-ui/pipes/replace-nbsp.pipe'; -import { - CircleButtonComponent, - DetailsRadioComponent, - DetailsRadioOption, - HasScrollbarDirective, - IconButtonComponent, - IconButtonTypes, - IqserDialogComponent, -} from '@iqser/common-ui'; +import { CircleButtonComponent, HasScrollbarDirective, IconButtonComponent, IconButtonTypes, IqserDialogComponent } from '@iqser/common-ui'; import { TranslateModule } from '@ngx-translate/core'; import { getRemoveRedactionOptions } from '../../../utils/dialog-options'; import { RemoveAnnotationData, RemoveAnnotationOption, RemoveAnnotationOptions, RemoveAnnotationResult } from '../../../utils/dialog-types'; diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/document-info-dialog/document-info-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/document-info-dialog/document-info-dialog.component.ts index 855f2c4ea..8bcb142ac 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/document-info-dialog/document-info-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/document-info-dialog/document-info-dialog.component.ts @@ -1,15 +1,16 @@ +import { NgForOf, NgIf } from '@angular/common'; import { Component, Inject, OnInit } from '@angular/core'; import { ReactiveFormsModule, UntypedFormGroup } 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 { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; -import { FilesService } from '@services/files/files.service'; -import { BaseDialogComponent, CircleButtonComponent, DynamicInputComponent, IconButtonComponent } from '@iqser/common-ui'; -import { firstValueFrom } from 'rxjs'; -import dayjs from 'dayjs'; -import { NgForOf, NgIf } from '@angular/common'; +import { DynamicInputComponent } from '@common-ui/inputs/dynamic-input/dynamic-input.component'; +import { BaseDialogComponent, CircleButtonComponent, IconButtonComponent } from '@iqser/common-ui'; import { TranslateModule } from '@ngx-translate/core'; +import { Dossier, File, IFileAttributeConfig } from '@red/domain'; +import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; +import { FileAttributesService } from '@services/entity-services/file-attributes.service'; +import { FilesService } from '@services/files/files.service'; +import dayjs from 'dayjs'; +import { firstValueFrom } from 'rxjs'; @Component({ templateUrl: './document-info-dialog.component.html', @@ -17,11 +18,10 @@ import { TranslateModule } from '@ngx-translate/core'; imports: [ReactiveFormsModule, NgIf, NgForOf, DynamicInputComponent, IconButtonComponent, TranslateModule, CircleButtonComponent], }) export class DocumentInfoDialogComponent extends BaseDialogComponent implements OnInit { + private readonly _dossier: Dossier; form: UntypedFormGroup; attributes: IFileAttributeConfig[]; - private readonly _dossier: Dossier; - constructor( activeDossiersService: ActiveDossiersService, private readonly _fileAttributesService: FileAttributesService, diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.ts index 3f200a38a..865517d61 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/edit-redaction-dialog/edit-redaction-dialog.component.ts @@ -5,9 +5,9 @@ import { MatDialogClose } from '@angular/material/dialog'; import { MatFormField } from '@angular/material/form-field'; import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; import { MatTooltip } from '@angular/material/tooltip'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; import { CircleButtonComponent, - DetailsRadioOption, HasScrollbarDirective, HelpButtonComponent, IconButtonComponent, diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/highlight-action-dialog/highlight-action-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/highlight-action-dialog/highlight-action-dialog.component.ts index 1ba594f55..b6c1324a6 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/highlight-action-dialog/highlight-action-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/highlight-action-dialog/highlight-action-dialog.component.ts @@ -1,25 +1,19 @@ +import { NgIf } from '@angular/common'; import { Component, Inject } from '@angular/core'; import { ReactiveFormsModule, UntypedFormGroup, Validators } from '@angular/forms'; +import { MatCheckbox } from '@angular/material/checkbox'; import { MAT_DIALOG_DATA, MatDialogClose, MatDialogRef } from '@angular/material/dialog'; -import { EarmarkOperation, EarmarkOperationPages } from '@red/domain'; -import { - BaseDialogComponent, - CircleButtonComponent, - DetailsRadioComponent, - DetailsRadioOption, - HelpButtonComponent, - IconButtonComponent, - IqserDenyDirective, -} from '@iqser/common-ui'; -import { EarmarksService } from '@services/files/earmarks.service'; -import { firstValueFrom } from 'rxjs'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; +import { BaseDialogComponent, CircleButtonComponent, HelpButtonComponent, IconButtonComponent, IqserDenyDirective } from '@iqser/common-ui'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; +import { TranslateModule } from '@ngx-translate/core'; +import { EarmarkOperation, EarmarkOperationPages } from '@red/domain'; +import { EarmarksService } from '@services/files/earmarks.service'; import { highlightsTranslations } from '@translations/highlights-translations'; import { Roles } from '@users/roles'; -import { NgIf } from '@angular/common'; import { ColorPickerModule } from 'ngx-color-picker'; -import { MatCheckbox } from '@angular/material/checkbox'; -import { TranslateModule } from '@ngx-translate/core'; +import { firstValueFrom } from 'rxjs'; export interface HighlightActionData { readonly operation: EarmarkOperation; @@ -49,9 +43,9 @@ export interface HighlightActionData { ], }) export class HighlightActionDialogComponent extends BaseDialogComponent { + readonly #operation = this.data.operation; readonly translations = highlightsTranslations; readonly roles = Roles; - readonly #operation = this.data.operation; readonly options: DetailsRadioOption[] = [ { label: highlightsTranslations[this.#operation].options[EarmarkOperationPages.THIS_PAGE].label, diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/redact-recommendation-dialog/redact-recommendation-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/redact-recommendation-dialog/redact-recommendation-dialog.component.ts index 3be29be9d..dc50676e2 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/redact-recommendation-dialog/redact-recommendation-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/redact-recommendation-dialog/redact-recommendation-dialog.component.ts @@ -6,15 +6,9 @@ import { MatDialogClose } from '@angular/material/dialog'; import { MatFormField } from '@angular/material/form-field'; import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; import { MatTooltip } from '@angular/material/tooltip'; -import { - CircleButtonComponent, - DetailsRadioComponent, - DetailsRadioOption, - HasScrollbarDirective, - IconButtonComponent, - IconButtonTypes, - IqserDialogComponent, -} from '@iqser/common-ui'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; +import { CircleButtonComponent, HasScrollbarDirective, IconButtonComponent, IconButtonTypes, IqserDialogComponent } from '@iqser/common-ui'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { TranslateModule } from '@ngx-translate/core'; import { Dictionary, IAddRedactionRequest, SuperTypes } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/redact-text-dialog/redact-text-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/redact-text-dialog/redact-text-dialog.component.ts index ecf2eba9f..ceea04f86 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/redact-text-dialog/redact-text-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/redact-text-dialog/redact-text-dialog.component.ts @@ -6,15 +6,9 @@ import { MatDialogClose } from '@angular/material/dialog'; import { MatFormField } from '@angular/material/form-field'; import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; import { MatTooltip } from '@angular/material/tooltip'; -import { - CircleButtonComponent, - DetailsRadioComponent, - DetailsRadioOption, - HasScrollbarDirective, - IconButtonComponent, - IconButtonTypes, - IqserDialogComponent, -} from '@iqser/common-ui'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; +import { CircleButtonComponent, HasScrollbarDirective, IconButtonComponent, IconButtonTypes, IqserDialogComponent } from '@iqser/common-ui'; import { TranslateModule } from '@ngx-translate/core'; import { Dictionary, IAddRedactionRequest, SuperTypes } from '@red/domain'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.ts index 7bd965137..431d41fbc 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/remove-redaction-dialog/remove-redaction-dialog.component.ts @@ -3,10 +3,10 @@ import { Component, computed } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; import { FormBuilder, ReactiveFormsModule, UntypedFormGroup } from '@angular/forms'; import { MatDialogClose } from '@angular/material/dialog'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; import { CircleButtonComponent, - DetailsRadioComponent, - DetailsRadioOption, HasScrollbarDirective, HelpButtonComponent, IconButtonComponent, diff --git a/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.ts b/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.ts index 34f7a90bd..a2f2de68a 100644 --- a/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.ts +++ b/apps/red-ui/src/app/modules/file-preview/dialogs/resize-redaction-dialog/resize-redaction-dialog.component.ts @@ -4,15 +4,9 @@ import { FormBuilder, FormControl, FormGroup, ReactiveFormsModule } from '@angul import { MatDialogClose } from '@angular/material/dialog'; import { MatFormField } from '@angular/material/form-field'; import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; -import { - CircleButtonComponent, - DetailsRadioComponent, - DetailsRadioOption, - HasScrollbarDirective, - IconButtonComponent, - IconButtonTypes, - IqserDialogComponent, -} from '@iqser/common-ui'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; +import { CircleButtonComponent, HasScrollbarDirective, IconButtonComponent, IconButtonTypes, IqserDialogComponent } from '@iqser/common-ui'; import { TranslateModule } from '@ngx-translate/core'; import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; diff --git a/apps/red-ui/src/app/modules/file-preview/utils/dialog-options.ts b/apps/red-ui/src/app/modules/file-preview/utils/dialog-options.ts index 3f9cb2e40..7aff7bccd 100644 --- a/apps/red-ui/src/app/modules/file-preview/utils/dialog-options.ts +++ b/apps/red-ui/src/app/modules/file-preview/utils/dialog-options.ts @@ -1,4 +1,4 @@ -import { DetailsRadioOption } from '@iqser/common-ui'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { Dossier } from '@red/domain'; import { addHintTranslations } from '@translations/add-hint-translations'; diff --git a/apps/red-ui/src/app/modules/file-preview/utils/dialog-types.ts b/apps/red-ui/src/app/modules/file-preview/utils/dialog-types.ts index 90b48b1dd..8fcac6603 100644 --- a/apps/red-ui/src/app/modules/file-preview/utils/dialog-types.ts +++ b/apps/red-ui/src/app/modules/file-preview/utils/dialog-types.ts @@ -1,4 +1,4 @@ -import { DetailsRadioOption } from '@iqser/common-ui'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; import { AnnotationWrapper } from '@models/file/annotation.wrapper'; import { ManualRedactionEntryWrapper } from '@models/file/manual-redaction-entry.wrapper'; import { Dictionary, Dossier, File, IAddRedactionRequest, IManualRedactionEntry } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts index b5dec159b..e6288aca7 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts @@ -1,24 +1,24 @@ +import { NgForOf, NgIf } from '@angular/common'; import { Component, ElementRef, Input, OnInit, QueryList, ViewChildren } from '@angular/core'; import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { DynamicInputComponent } from '@common-ui/inputs/dynamic-input/dynamic-input.component'; +import { SnakeCasePipe } from '@common-ui/pipes/snake-case.pipe'; import { CircleButtonComponent, - DynamicInputComponent, EmptyStateComponent, IconButtonComponent, IconButtonTypes, LoadingService, Toaster, } from '@iqser/common-ui'; +import { TranslateModule } from '@ngx-translate/core'; import { Dossier, DossierAttributeConfigType, DossierAttributeConfigTypes, DossierAttributeWithValue } from '@red/domain'; import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service'; import { PermissionsService } from '@services/permissions.service'; import dayjs from 'dayjs'; import { firstValueFrom } from 'rxjs'; import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface'; -import { NgForOf, NgIf } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; -import { SnakeCasePipe } from '@common-ui/pipes/snake-case.pipe'; @Component({ selector: 'redaction-edit-dossier-attributes', diff --git a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts index 45eb9670d..cee33972f 100644 --- a/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts +++ b/apps/red-ui/src/app/modules/shared-dossiers/dialogs/edit-dossier-dialog/edit-dossier-team/edit-dossier-team.component.ts @@ -4,9 +4,11 @@ import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angula import { MatFormField } from '@angular/material/form-field'; import { MatIcon } from '@angular/material/icon'; import { MatOption, MatSelect } from '@angular/material/select'; +import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component'; +import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component'; import { InitialsAvatarComponent } from '@common-ui/users'; import { NamePipe } from '@common-ui/users/name.pipe'; -import { getConfig, InputWithActionComponent, RoundCheckboxComponent, StopPropagationDirective } from '@iqser/common-ui'; +import { getConfig, StopPropagationDirective } from '@iqser/common-ui'; import { Debounce } from '@iqser/common-ui/lib/utils'; import { TranslateModule } from '@ngx-translate/core'; import { Dossier, IDossierRequest } from '@red/domain'; diff --git a/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts b/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts index 7ff945916..a45e20c63 100644 --- a/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/add-edit-entity/add-edit-entity.component.ts @@ -1,22 +1,23 @@ +import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; import { booleanAttribute, ChangeDetectorRef, Component, Input, OnInit } from '@angular/core'; import { FormGroup, ReactiveFormsModule, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms'; +import { MatButtonToggle, MatButtonToggleGroup } from '@angular/material/button-toggle'; +import { MatCheckbox } from '@angular/material/checkbox'; +import { MatFormField } from '@angular/material/form-field'; +import { MatIcon } from '@angular/material/icon'; +import { MatSelect } from '@angular/material/select'; +import { MatSlideToggle } from '@angular/material/slide-toggle'; import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { BaseFormComponent, getConfig, HasScrollbarDirective, LoadingService, RoundCheckboxComponent, Toaster } from '@iqser/common-ui'; +import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component'; +import { BaseFormComponent, getConfig, HasScrollbarDirective, LoadingService, Toaster } from '@iqser/common-ui'; +import { TranslateModule } from '@ngx-translate/core'; import { Dictionary, IDictionary } from '@red/domain'; import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service'; import { DictionaryService } from '@services/entity-services/dictionary.service'; import { toSnakeCase } from '@utils/functions'; +import { ColorPickerModule } from 'ngx-color-picker'; import { Observable } from 'rxjs'; import { map, startWith } from 'rxjs/operators'; -import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; -import { TranslateModule } from '@ngx-translate/core'; -import { ColorPickerModule } from 'ngx-color-picker'; -import { MatIcon } from '@angular/material/icon'; -import { MatButtonToggle, MatButtonToggleGroup } from '@angular/material/button-toggle'; -import { MatFormField } from '@angular/material/form-field'; -import { MatSelect } from '@angular/material/select'; -import { MatSlideToggle } from '@angular/material/slide-toggle'; -import { MatCheckbox } from '@angular/material/checkbox'; const REDACTION_FIELDS = ['defaultReason']; diff --git a/apps/red-ui/src/app/modules/shared/components/dossier-watermark-selector/watermark-selector.component.ts b/apps/red-ui/src/app/modules/shared/components/dossier-watermark-selector/watermark-selector.component.ts index 8d5039a01..165278a34 100644 --- a/apps/red-ui/src/app/modules/shared/components/dossier-watermark-selector/watermark-selector.component.ts +++ b/apps/red-ui/src/app/modules/shared/components/dossier-watermark-selector/watermark-selector.component.ts @@ -1,16 +1,16 @@ +import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; import { ChangeDetectionStrategy, Component, Input, OnChanges, SimpleChanges } from '@angular/core'; -import { BehaviorSubject, Observable } from 'rxjs'; -import { FormFieldComponent } from '@iqser/common-ui'; -import { filter, map, tap } from 'rxjs/operators'; import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms'; +import { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox'; +import { MatFormField } from '@angular/material/form-field'; +import { MatIcon } from '@angular/material/icon'; +import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; +import { FormFieldComponent } from '@common-ui/inputs/form-field/form-field-component.directive'; +import { shareLast } from '@iqser/common-ui/lib/utils'; import { Watermark } from '@red/domain'; import { WatermarksMapService } from '@services/entity-services/watermarks-map.service'; -import { MatCheckbox, MatCheckboxChange } from '@angular/material/checkbox'; -import { shareLast } from '@iqser/common-ui/lib/utils'; -import { AsyncPipe, NgForOf, NgIf } from '@angular/common'; -import { MatFormField } from '@angular/material/form-field'; -import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select'; -import { MatIcon } from '@angular/material/icon'; +import { BehaviorSubject, Observable } from 'rxjs'; +import { filter, map, tap } from 'rxjs/operators'; @Component({ selector: 'redaction-watermark-selector [dossierTemplateId] [label]', diff --git a/apps/red-ui/src/app/modules/upload-download/dialogs/overwrite-files-dialog/overwrite-files-dialog.component.ts b/apps/red-ui/src/app/modules/upload-download/dialogs/overwrite-files-dialog/overwrite-files-dialog.component.ts index 8019cbcd6..d9d05caae 100644 --- a/apps/red-ui/src/app/modules/upload-download/dialogs/overwrite-files-dialog/overwrite-files-dialog.component.ts +++ b/apps/red-ui/src/app/modules/upload-download/dialogs/overwrite-files-dialog/overwrite-files-dialog.component.ts @@ -1,12 +1,14 @@ -import { Component, Inject } from '@angular/core'; -import { TranslateModule, TranslateService } from '@ngx-translate/core'; -import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; -import { DetailsRadioComponent, DetailsRadioOption, IconButtonComponent, IconButtonTypes } from '@iqser/common-ui'; -import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; -import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; -import { OverwriteFileOption, OverwriteFileOptions } from '@red/domain'; import { NgIf } from '@angular/common'; +import { Component, Inject } from '@angular/core'; +import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms'; import { MatCheckbox } from '@angular/material/checkbox'; +import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog'; +import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker'; +import { DetailsRadioOption } from '@common-ui/inputs/details-radio/details-radio-option'; +import { DetailsRadioComponent } from '@common-ui/inputs/details-radio/details-radio.component'; +import { IconButtonComponent, IconButtonTypes } from '@iqser/common-ui'; +import { TranslateModule, TranslateService } from '@ngx-translate/core'; +import { OverwriteFileOption, OverwriteFileOptions } from '@red/domain'; @Component({ selector: 'redaction-overwrite-files-dialog', diff --git a/docker/red-ui/Dockerfile b/docker/red-ui/Dockerfile index bf4ecdb01..e85f4c56c 100644 --- a/docker/red-ui/Dockerfile +++ b/docker/red-ui/Dockerfile @@ -1,4 +1,4 @@ -FROM node:20.11-buster AS builder +FROM node:20.14-buster AS builder WORKDIR /ng-app @@ -23,7 +23,7 @@ CMD ["/bin/cp", "-r", "/ng-app/dist/paligo-styles", "/tmp/styles-export"] ### STAGE 2: Setup ### -FROM nginx:1.25.4-alpine +FROM nginx:1.27.0-alpine ENV NGINX_ENVSUBST_OUTPUT_DIR=/tmp ENV PDFTRON_ALLOWED_HOSTS='' ## Copy our default nginx config diff --git a/libs/common-ui b/libs/common-ui index d595a22db..f3faa6a6c 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit d595a22db164ec8669da572fdd49a28b464eb61a +Subproject commit f3faa6a6cc6b36840de6952f15938858130a4ef2