update dependencies
This commit is contained in:
parent
514fa0fc20
commit
3f4a0d739c
@ -136,10 +136,8 @@
|
||||
"warn",
|
||||
{
|
||||
"default": [
|
||||
// Index signature
|
||||
"signature",
|
||||
"call-signature",
|
||||
// Fields
|
||||
"#private-static-field",
|
||||
"private-static-field",
|
||||
"protected-static-field",
|
||||
@ -162,14 +160,11 @@
|
||||
"abstract-field",
|
||||
"decorated-field",
|
||||
"field",
|
||||
// Static initialization
|
||||
"static-initialization",
|
||||
// Constructors
|
||||
"public-constructor",
|
||||
"protected-constructor",
|
||||
"private-constructor",
|
||||
"constructor",
|
||||
// Getters
|
||||
"public-static-get",
|
||||
"protected-static-get",
|
||||
"private-static-get",
|
||||
@ -192,7 +187,6 @@
|
||||
"abstract-get",
|
||||
"decorated-get",
|
||||
"get",
|
||||
// Setters
|
||||
"public-static-set",
|
||||
"protected-static-set",
|
||||
"private-static-set",
|
||||
@ -215,7 +209,6 @@
|
||||
"abstract-set",
|
||||
"decorated-set",
|
||||
"set",
|
||||
// Methods
|
||||
"public-static-method",
|
||||
"protected-static-method",
|
||||
"private-static-method",
|
||||
|
||||
@ -21,7 +21,6 @@
|
||||
(action)="deleteItems()"
|
||||
*ngIf="listingService.areSomeSelected$ | async"
|
||||
[tooltip]="'downloads-list.bulk.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
@ -57,14 +56,12 @@
|
||||
(action)="downloadItem(download)"
|
||||
*ngIf="download.status === 'READY' && !download.inProgress"
|
||||
[tooltip]="'downloads-list.actions.download' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:download"
|
||||
></iqser-circle-button>
|
||||
|
||||
<iqser-circle-button
|
||||
(action)="deleteItems([download])"
|
||||
[tooltip]="'downloads-list.actions.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import { Component, OnDestroy } from '@angular/core';
|
||||
import { FileDownloadService } from '@upload-download/services/file-download.service';
|
||||
import { DownloadStatus } from '@red/domain';
|
||||
import { CircleButtonTypes, ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { DownloadStatus } from '@red/domain';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { FileDownloadService } from '@upload-download/services/file-download.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
@ -15,7 +15,7 @@ import { firstValueFrom } from 'rxjs';
|
||||
}),
|
||||
})
|
||||
export class DownloadsListScreenComponent extends ListingComponent<DownloadStatus> implements OnDestroy {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly #interval: NodeJS.Timer;
|
||||
readonly tableHeaderLabel = _('downloads-list.table-header.title');
|
||||
readonly tableColumnConfigs: TableColumnConfig<DownloadStatus>[] = [
|
||||
{ label: _('downloads-list.table-col-names.name'), width: '2fr' },
|
||||
@ -23,7 +23,6 @@ export class DownloadsListScreenComponent extends ListingComponent<DownloadStatu
|
||||
{ label: _('downloads-list.table-col-names.date') },
|
||||
{ label: _('downloads-list.table-col-names.status') },
|
||||
];
|
||||
readonly #interval: NodeJS.Timer;
|
||||
|
||||
constructor(
|
||||
private readonly _loadingService: LoadingService,
|
||||
|
||||
@ -118,7 +118,6 @@
|
||||
(action)="openAuditDetails(log)"
|
||||
*ngIf="log.hasDetails"
|
||||
[tooltip]="'audit-screen.action.info' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="red:info"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,24 +1,17 @@
|
||||
import { Component, inject, OnDestroy, OnInit } from '@angular/core';
|
||||
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||
import { applyIntervalConstraints } from '@utils/date-inputs-utils';
|
||||
import {
|
||||
CircleButtonTypes,
|
||||
IqserPermissionsService,
|
||||
ListingComponent,
|
||||
listingProvidersFactory,
|
||||
LoadingService,
|
||||
TableColumnConfig,
|
||||
} from '@iqser/common-ui';
|
||||
import { auditCategoriesTranslations } from '@translations/audit-categories-translations';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { Audit, IAudit, IAuditResponse, IAuditSearchRequest, User } from '@red/domain';
|
||||
import { AuditService } from '../../services/audit.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { Dayjs } from 'dayjs';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { IqserPermissionsService, ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { Audit, IAudit, IAuditResponse, IAuditSearchRequest, User } from '@red/domain';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { auditCategoriesTranslations } from '@translations/audit-categories-translations';
|
||||
import { Roles } from '@users/roles';
|
||||
import { applyIntervalConstraints } from '@utils/date-inputs-utils';
|
||||
import { Dayjs } from 'dayjs';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { AuditService } from '../../services/audit.service';
|
||||
|
||||
const PAGE_SIZE = 50;
|
||||
|
||||
@ -30,7 +23,6 @@ const PAGE_SIZE = 50;
|
||||
export class AuditScreenComponent extends ListingComponent<Audit> implements OnInit, OnDestroy {
|
||||
private _previousFrom: Dayjs;
|
||||
private _previousTo: Dayjs;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly ALL_CATEGORIES = 'allCategories';
|
||||
readonly ALL_USERS = _('audit-screen.all-users');
|
||||
readonly translations = auditCategoriesTranslations;
|
||||
|
||||
@ -42,7 +42,6 @@
|
||||
*allow="roles.colors.write; if: currentUser.isAdmin"
|
||||
[attr.help-mode-key]="'default_colors'"
|
||||
[tooltip]="'default-colors-screen.action.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,23 +1,15 @@
|
||||
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
|
||||
import { DefaultColorTypes, DOSSIER_TEMPLATE_ID, User } from '@red/domain';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import {
|
||||
CircleButtonTypes,
|
||||
getConfig,
|
||||
IListable,
|
||||
ListingComponent,
|
||||
listingProvidersFactory,
|
||||
LoadingService,
|
||||
TableColumnConfig,
|
||||
} from '@iqser/common-ui';
|
||||
import { defaultColorsTranslations } from '@translations/default-colors-translations';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { combineLatest } from 'rxjs';
|
||||
import { map, tap } from 'rxjs/operators';
|
||||
import { DefaultColorsService } from '@services/entity-services/default-colors.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { getConfig, IListable, ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
import { DefaultColorTypes, DOSSIER_TEMPLATE_ID, User } from '@red/domain';
|
||||
import { DefaultColorsService } from '@services/entity-services/default-colors.service';
|
||||
import { defaultColorsTranslations } from '@translations/default-colors-translations';
|
||||
import { Roles } from '@users/roles';
|
||||
import { combineLatest } from 'rxjs';
|
||||
import { map, tap } from 'rxjs/operators';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
|
||||
interface ListItem extends IListable {
|
||||
readonly key: string;
|
||||
@ -35,7 +27,6 @@ export class DefaultColorsScreenComponent extends ListingComponent<ListItem> imp
|
||||
readonly #documineDefaultColors = ['recommendationColor', 'skippedColor', 'redactionColor'];
|
||||
readonly #isDocumine = getConfig().IS_DOCUMINE;
|
||||
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly currentUser = getCurrentUser<User>();
|
||||
readonly roles = Roles;
|
||||
readonly translations = defaultColorsTranslations;
|
||||
|
||||
@ -20,7 +20,6 @@
|
||||
(action)="openConfirmDeleteAttributeDialog()"
|
||||
*ngIf="canEditDossierAttributes && (listingService.areSomeSelected$ | async)"
|
||||
[tooltip]="'dossier-attributes-listing.bulk.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
|
||||
@ -1,6 +1,7 @@
|
||||
import { Component, OnInit, TemplateRef, ViewChild } from '@angular/core';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
CircleButtonTypes,
|
||||
defaultDialogConfig,
|
||||
IconButtonTypes,
|
||||
ListingComponent,
|
||||
@ -8,19 +9,17 @@ import {
|
||||
LoadingService,
|
||||
TableColumnConfig,
|
||||
} from '@iqser/common-ui';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
import { DOSSIER_TEMPLATE_ID, DossierAttributeConfig, IDossierAttributeConfig, User } from '@red/domain';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import {
|
||||
AddEditDossierAttributeDialogComponent,
|
||||
AddEditDossierAttributeDialogData,
|
||||
} from './add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
|
||||
@Component({
|
||||
templateUrl: './dossier-attributes-listing-screen.component.html',
|
||||
@ -33,7 +32,6 @@ import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
export class DossierAttributesListingScreenComponent extends ListingComponent<DossierAttributeConfig> implements OnInit {
|
||||
readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly currentUser = getCurrentUser<User>();
|
||||
readonly tableHeaderLabel = _('dossier-attributes-listing.table-header.title');
|
||||
readonly tableColumnConfigs: TableColumnConfig<DossierAttributeConfig>[] = [
|
||||
|
||||
@ -16,14 +16,12 @@
|
||||
<iqser-circle-button
|
||||
(action)="openAddEditAttributeDialog.emit(attribute)"
|
||||
[tooltip]="'dossier-attributes-listing.action.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
|
||||
<iqser-circle-button
|
||||
(action)="openConfirmDeleteAttributeDialog.emit([attribute])"
|
||||
[tooltip]="'dossier-attributes-listing.action.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
||||
import { DossierAttributeConfig, IDossierAttributeConfig } from '@red/domain';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
import { dossierAttributeTypesTranslations } from '@translations/dossier-attribute-types-translations';
|
||||
|
||||
@Component({
|
||||
@ -9,7 +8,6 @@ import { dossierAttributeTypesTranslations } from '@translations/dossier-attribu
|
||||
styleUrls: ['./table-item.component.scss'],
|
||||
})
|
||||
export class TableItemComponent {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = dossierAttributeTypesTranslations;
|
||||
|
||||
@Input() attribute: DossierAttributeConfig;
|
||||
|
||||
@ -19,14 +19,12 @@
|
||||
<iqser-circle-button
|
||||
(action)="openEditStateDialog(state)"
|
||||
[tooltip]="'dossier-states-listing.action.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
|
||||
<iqser-circle-button
|
||||
(action)="openConfirmDeleteStateDialog(state)"
|
||||
[tooltip]="'dossier-states-listing.action.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import { Component, inject, Input } from '@angular/core';
|
||||
import { CircleButtonTypes, defaultDialogConfig, EntitiesService } from '@iqser/common-ui';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { defaultDialogConfig, EntitiesService } from '@iqser/common-ui';
|
||||
import { DossierState, IDossierState } from '@red/domain';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import {
|
||||
AddEditDossierStateDialogComponent,
|
||||
AddEditDossierStateDialogData,
|
||||
} from '../add-edit-dossier-state-dialog/add-edit-dossier-state-dialog.component';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import {
|
||||
ConfirmDeleteDossierStateDialogComponent,
|
||||
ConfirmDeleteDossierStateDialogData,
|
||||
@ -18,12 +18,10 @@ import {
|
||||
styleUrls: ['./dossier-states-table-item.component.scss'],
|
||||
})
|
||||
export class DossierStatesTableItemComponent {
|
||||
@Input() state: DossierState;
|
||||
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly permissionsService = inject(PermissionsService);
|
||||
readonly #dialog = inject(MatDialog);
|
||||
readonly #entitiesService = inject(EntitiesService);
|
||||
@Input() state: DossierState;
|
||||
readonly permissionsService = inject(PermissionsService);
|
||||
|
||||
openConfirmDeleteStateDialog(dossierState: DossierState) {
|
||||
const data: ConfirmDeleteDossierStateDialogData = {
|
||||
|
||||
@ -22,7 +22,6 @@
|
||||
*allow="roles.templates.write; if: currentUser.isAdmin && (listingService.areSomeSelected$ | async)"
|
||||
[icon]="'iqser:trash'"
|
||||
[tooltip]="'dossier-templates-listing.bulk.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
buttonId="dossier-template-listing-bulk-delete-btn"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
|
||||
@ -1,9 +1,6 @@
|
||||
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
|
||||
import { UserPreferenceService } from '@users/user-preference.service';
|
||||
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
||||
import { DossierTemplate, User } from '@red/domain';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
CircleButtonTypes,
|
||||
IconButtonTypes,
|
||||
IqserPermissionsService,
|
||||
ListingComponent,
|
||||
@ -11,12 +8,14 @@ import {
|
||||
LoadingService,
|
||||
TableColumnConfig,
|
||||
} from '@iqser/common-ui';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { Roles } from '@users/roles';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { DossierTemplate, User } from '@red/domain';
|
||||
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { UserPreferenceService } from '@users/user-preference.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
||||
|
||||
@Component({
|
||||
templateUrl: './dossier-templates-listing-screen.component.html',
|
||||
@ -29,7 +28,6 @@ import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
})
|
||||
export class DossierTemplatesListingScreenComponent extends ListingComponent<DossierTemplate> implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly roles = Roles;
|
||||
readonly currentUser = getCurrentUser<User>();
|
||||
readonly tableHeaderLabel = _('dossier-templates-listing.table-header.title');
|
||||
|
||||
@ -42,7 +42,6 @@
|
||||
(action)="openDeleteEntitiesDialog()"
|
||||
*ngIf="permissionsService.canDeleteEntities(listingService.selected)"
|
||||
[tooltip]="'entities-listing.bulk.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
@ -57,9 +56,9 @@
|
||||
<iqser-icon-button
|
||||
(action)="openAddEntityDialog()"
|
||||
*ngIf="permissionsService.canEditEntities()"
|
||||
[attr.help-mode-key]="'create_new_entity'"
|
||||
[label]="'entities-listing.add-new' | translate"
|
||||
[type]="iconButtonTypes.primary"
|
||||
[attr.help-mode-key]="'create_new_entity'"
|
||||
icon="iqser:plus"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
@ -103,7 +102,6 @@
|
||||
(action)="openDeleteEntitiesDialog([dict])"
|
||||
*ngIf="permissionsService.canDeleteEntities(dict)"
|
||||
[tooltip]="'entities-listing.action.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -111,7 +109,6 @@
|
||||
*ngIf="permissionsService.canEditEntities()"
|
||||
[routerLink]="dict.routerLink | tenant"
|
||||
[tooltip]="'entities-listing.action.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,22 +1,15 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import {
|
||||
CircleButtonTypes,
|
||||
IconButtonTypes,
|
||||
ListingComponent,
|
||||
listingProvidersFactory,
|
||||
LoadingService,
|
||||
TableColumnConfig,
|
||||
} from '@iqser/common-ui';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { DictionaryService } from '@services/entity-services/dictionary.service';
|
||||
import { Dictionary, DOSSIER_TEMPLATE_ID, DossierTemplateStats } from '@red/domain';
|
||||
import { firstValueFrom, Observable } from 'rxjs';
|
||||
import { DossierTemplateStatsService } from '@services/entity-services/dossier-template-stats.service';
|
||||
import { tap } from 'rxjs/operators';
|
||||
import { DictionariesMapService } from '@services/entity-services/dictionaries-map.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { IconButtonTypes, ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
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 { firstValueFrom, Observable } from 'rxjs';
|
||||
import { tap } from 'rxjs/operators';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
|
||||
@Component({
|
||||
templateUrl: './entities-listing-screen.component.html',
|
||||
@ -26,7 +19,6 @@ import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
export class EntitiesListingScreenComponent extends ListingComponent<Dictionary> implements OnInit {
|
||||
readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly tableHeaderLabel = _('entities-listing.table-header.title');
|
||||
readonly tableColumnConfigs: TableColumnConfig<Dictionary>[] = [
|
||||
{ label: _('entities-listing.table-col-names.type'), sortByKey: 'searchKey', width: '2fr' },
|
||||
|
||||
@ -15,14 +15,12 @@
|
||||
<iqser-circle-button
|
||||
[matMenuTriggerFor]="readOnlyMenu"
|
||||
[tooltip]="'file-attributes-csv-import.table-header.actions.read-only' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="red:read-only"
|
||||
></iqser-circle-button>
|
||||
|
||||
<iqser-circle-button
|
||||
(action)="deactivateSelection()"
|
||||
[tooltip]="'file-attributes-csv-import.table-header.actions.remove-selected' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -59,7 +57,6 @@
|
||||
<div class="cell">
|
||||
<iqser-editable-input
|
||||
(save)="field.name = $event"
|
||||
[buttonsType]="circleButtonTypes.dark"
|
||||
[cancelTooltip]="'file-attributes-csv-import.action.cancel-edit-name' | translate"
|
||||
[class]="'w-200'"
|
||||
[editTooltip]="'file-attributes-csv-import.action.edit-name' | translate"
|
||||
@ -94,7 +91,6 @@
|
||||
(action)="field.primaryAttribute = false; toggleFieldActive.emit(field)"
|
||||
[removeTooltip]="true"
|
||||
[tooltip]="'file-attributes-csv-import.action.remove' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
|
||||
import { CircleButtonTypes, ListingComponent, listingProvidersFactory, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { ListingComponent, listingProvidersFactory, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { FileAttributeConfigTypes, IField } from '@red/domain';
|
||||
import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-active-fields-listing',
|
||||
@ -11,7 +11,6 @@ import { FileAttributeConfigTypes, IField } from '@red/domain';
|
||||
providers: listingProvidersFactory(ActiveFieldsListingComponent),
|
||||
})
|
||||
export class ActiveFieldsListingComponent extends ListingComponent<IField> implements OnChanges {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = fileAttributeTypesTranslations;
|
||||
readonly tableHeaderLabel = _('file-attributes-csv-import.table-header.title');
|
||||
readonly tableColumnConfigs: TableColumnConfig<IField>[] = [
|
||||
|
||||
@ -25,7 +25,6 @@
|
||||
(action)="openConfirmDeleteAttributeDialog()"
|
||||
*ngIf="permissionsService.canEditGlobalFileAttributes() && (listingService.areSomeSelected$ | async)"
|
||||
[tooltip]="'file-attributes-listing.bulk-actions.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
@ -43,9 +42,8 @@
|
||||
<iqser-circle-button
|
||||
(action)="fileInput.click()"
|
||||
*allow="roles.fileAttributes.writeConfig; if: currentUser.isAdmin"
|
||||
[tooltip]="'file-attributes-listing.upload-csv' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
[attr.help-mode-key]="'upload_file_attribute'"
|
||||
[tooltip]="'file-attributes-listing.upload-csv' | translate"
|
||||
icon="iqser:upload"
|
||||
tooltipPosition="above"
|
||||
></iqser-circle-button>
|
||||
@ -53,9 +51,8 @@
|
||||
<iqser-circle-button
|
||||
(action)="openConfigurationsDialog()"
|
||||
*allow="roles.fileAttributes.writeConfig; if: currentUser.isAdmin"
|
||||
[tooltip]="'file-attributes-listing.configurations' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
[attr.help-mode-key]="'upload_file_attribute'"
|
||||
[tooltip]="'file-attributes-listing.configurations' | translate"
|
||||
icon="iqser:settings"
|
||||
tooltipPosition="above"
|
||||
></iqser-circle-button>
|
||||
@ -63,8 +60,8 @@
|
||||
<iqser-icon-button
|
||||
(action)="openAddEditAttributeDialog()"
|
||||
*ngIf="permissionsService.canEditGlobalFileAttributes()"
|
||||
[label]="'file-attributes-listing.add-new' | translate"
|
||||
[attr.help-mode-key]="'create_new_file_attribute'"
|
||||
[label]="'file-attributes-listing.add-new' | translate"
|
||||
[type]="iconButtonTypes.primary"
|
||||
icon="iqser:plus"
|
||||
></iqser-icon-button>
|
||||
@ -113,14 +110,12 @@
|
||||
<iqser-circle-button
|
||||
(action)="openAddEditAttributeDialog(attribute)"
|
||||
[tooltip]="'file-attributes-listing.action.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
|
||||
<iqser-circle-button
|
||||
(action)="openConfirmDeleteAttributeDialog([attribute])"
|
||||
[tooltip]="'file-attributes-listing.action.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
import { HttpStatusCode } from '@angular/common/http';
|
||||
import { Component, ElementRef, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
CircleButtonTypes,
|
||||
defaultDialogConfig,
|
||||
IconButtonTypes,
|
||||
largeDialogConfig,
|
||||
@ -11,27 +12,25 @@ import {
|
||||
TableColumnConfig,
|
||||
Toaster,
|
||||
} from '@iqser/common-ui';
|
||||
import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
import { DOSSIER_TEMPLATE_ID, FileAttributeConfig, IFileAttributeConfig, IFileAttributesConfig, User } from '@red/domain';
|
||||
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
||||
import { HttpStatusCode } from '@angular/common/http';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
|
||||
import { FileAttributesService } from '@services/entity-services/file-attributes.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations';
|
||||
import { Roles } from '@users/roles';
|
||||
import { MatDialog } from '@angular/material/dialog';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import {
|
||||
AddEditFileAttributeDialogComponent,
|
||||
AddEditFileAttributeDialogData,
|
||||
} from './add-edit-file-attribute-dialog/add-edit-file-attribute-dialog.component';
|
||||
import { FileAttributesConfigurationsDialogComponent } from './file-attributes-configurations-dialog/file-attributes-configurations-dialog.component';
|
||||
import {
|
||||
FileAttributesCsvImportDialogComponent,
|
||||
IFileAttributesCSVImportData,
|
||||
} from './file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component';
|
||||
import { FileAttributesConfigurationsDialogComponent } from './file-attributes-configurations-dialog/file-attributes-configurations-dialog.component';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
|
||||
@Component({
|
||||
templateUrl: './file-attributes-listing-screen.component.html',
|
||||
@ -44,7 +43,6 @@ export class FileAttributesListingScreenComponent extends ListingComponent<FileA
|
||||
@ViewChild('fileInput') private _fileInput: ElementRef;
|
||||
readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly currentUser = getCurrentUser<User>();
|
||||
readonly translations = fileAttributeTypesTranslations;
|
||||
readonly tableHeaderLabel = _('file-attributes-listing.table-header.title');
|
||||
|
||||
@ -13,7 +13,6 @@
|
||||
(action)="openConfirmDeleteDialog()"
|
||||
*ngIf="canAddEditJustifications && listingService.areSomeSelected$ | async"
|
||||
[tooltip]="'justifications-listing.bulk.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
|
||||
@ -1,21 +1,14 @@
|
||||
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
CircleButtonTypes,
|
||||
IconButtonTypes,
|
||||
ListingComponent,
|
||||
listingProvidersFactory,
|
||||
LoadingService,
|
||||
TableColumnConfig,
|
||||
} from '@iqser/common-ui';
|
||||
import { DOSSIER_TEMPLATE_ID, Justification } from '@red/domain';
|
||||
import { JustificationsService } from '@services/entity-services/justifications.service';
|
||||
import { JustificationsDialogService } from '../justifications-dialog.service';
|
||||
import { UserPreferenceService } from '@users/user-preference.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { IconButtonTypes, 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 { DOSSIER_TEMPLATE_ID, Justification } from '@red/domain';
|
||||
import { JustificationsService } from '@services/entity-services/justifications.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { UserPreferenceService } from '@users/user-preference.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { JustificationsDialogService } from '../justifications-dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-justifications-screen',
|
||||
@ -30,7 +23,6 @@ import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
export class JustificationsScreenComponent extends ListingComponent<Justification> implements OnInit {
|
||||
readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly tableHeaderLabel = _('justifications-listing.table-header');
|
||||
readonly tableColumnConfigs: TableColumnConfig<Justification>[] = [
|
||||
{ label: _('justifications-listing.table-col-names.name'), width: '2fr', sortByKey: 'name' },
|
||||
|
||||
@ -18,14 +18,12 @@
|
||||
<iqser-circle-button
|
||||
(action)="openEditJustificationDialog()"
|
||||
[tooltip]="'justifications-listing.actions.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
|
||||
<iqser-circle-button
|
||||
(action)="openConfirmDeleteDialog()"
|
||||
[tooltip]="'justifications-listing.actions.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</ng-container>
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
|
||||
import { DOSSIER_TEMPLATE_ID, Justification } from '@red/domain';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
import { JustificationsDialogService } from '../justifications-dialog.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
import { DOSSIER_TEMPLATE_ID, Justification } from '@red/domain';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { JustificationsDialogService } from '../justifications-dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-table-item',
|
||||
@ -11,8 +10,7 @@ import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
export class TableItemComponent {
|
||||
readonly #dossierTemplateId: string = getParam(DOSSIER_TEMPLATE_ID);
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
|
||||
@Input() justification: Justification;
|
||||
readonly canAddEditJustifications = inject(PermissionsService).canAddEditJustifications();
|
||||
|
||||
|
||||
@ -34,7 +34,6 @@
|
||||
[tooltip]="
|
||||
(canDeleteSelected$ | async) ? ('user-listing.bulk.delete' | translate) : ('user-listing.bulk.delete-disabled' | translate)
|
||||
"
|
||||
[type]="circleButtonTypes.dark"
|
||||
buttonId="bulk-delete-users-btn"
|
||||
icon="iqser:trash"
|
||||
tooltipPosition="after"
|
||||
@ -73,7 +72,6 @@
|
||||
<iqser-circle-button
|
||||
(action)="openAddEditUserDialog(user)"
|
||||
[tooltip]="'user-listing.action.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -81,7 +79,6 @@
|
||||
(action)="openDeleteUsersDialog([user.id])"
|
||||
[disabled]="deleteDisabled(user)"
|
||||
[tooltip]="'user-listing.action.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,12 +1,7 @@
|
||||
import { Component, inject, OnInit } from '@angular/core';
|
||||
import { UserService } from '@users/user.service';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DonutChartConfig, User, UserTypes } from '@red/domain';
|
||||
import { TranslateChartService } from '@services/translate-chart.service';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
ButtonConfig,
|
||||
CircleButtonTypes,
|
||||
IconButtonTypes,
|
||||
ListingComponent,
|
||||
listingProvidersFactory,
|
||||
@ -14,14 +9,18 @@ import {
|
||||
SearchPositions,
|
||||
TableColumnConfig,
|
||||
} from '@iqser/common-ui';
|
||||
import { NestedFilter } from '@iqser/common-ui/lib/filtering';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { DonutChartConfig, User, UserTypes } from '@red/domain';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { TranslateChartService } from '@services/translate-chart.service';
|
||||
import { rolesTranslations } from '@translations/roles-translations';
|
||||
import { Roles } from '@users/roles';
|
||||
import { UserService } from '@users/user.service';
|
||||
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';
|
||||
import { userTypeChecker, userTypeFilters } from '../../../../utils';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { NestedFilter } from '@iqser/common-ui/lib/filtering';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
|
||||
function configToFilter({ key, label }: DonutChartConfig) {
|
||||
return new NestedFilter({
|
||||
@ -42,8 +41,6 @@ export class UserListingScreenComponent extends ListingComponent<User> implement
|
||||
readonly routerHistoryService = inject(RouterHistoryService);
|
||||
readonly searchPositions = SearchPositions;
|
||||
readonly translations = rolesTranslations;
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly roles = Roles;
|
||||
readonly currentUser = this._userService.currentUser;
|
||||
readonly canDeleteSelected$ = this.#canDeleteSelected$;
|
||||
|
||||
@ -13,10 +13,10 @@
|
||||
<div class="table-header-actions">
|
||||
<iqser-icon-button
|
||||
*allow="roles.watermarks.write; if: currentUser.isAdmin"
|
||||
[attr.help-mode-key]="'create_new_watermark'"
|
||||
[label]="'watermarks-listing.add-new' | translate"
|
||||
[routerLink]="getRouterLink() | tenant"
|
||||
[type]="iconButtonTypes.primary"
|
||||
[attr.help-mode-key]="'create_new_watermark'"
|
||||
icon="iqser:plus"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
@ -31,9 +31,9 @@
|
||||
<div class="center cell">
|
||||
<mat-slide-toggle
|
||||
(toggleChange)="toggleStatus(entity)"
|
||||
[attr.help-mode-key]="'enable_disable_watermark'"
|
||||
[checked]="entity.enabled"
|
||||
[disabled]="!currentUser.isAdmin || (permissionsService.has$(roles.watermarks.write) | async) === false"
|
||||
[attr.help-mode-key]="'enable_disable_watermark'"
|
||||
color="primary"
|
||||
></mat-slide-toggle>
|
||||
</div>
|
||||
@ -60,7 +60,6 @@
|
||||
<iqser-circle-button
|
||||
[routerLink]="getRouterLink(entity) | tenant"
|
||||
[tooltip]="'watermarks-listing.action.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -68,7 +67,6 @@
|
||||
(action)="openConfirmDeleteWatermarkDialog(entity)"
|
||||
*allow="roles.watermarks.write; if: currentUser.isAdmin"
|
||||
[tooltip]="'watermarks-listing.action.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
CircleButtonTypes,
|
||||
IconButtonTypes,
|
||||
IConfirmationDialogData,
|
||||
IqserPermissionsService,
|
||||
@ -10,14 +10,13 @@ import {
|
||||
TableColumnConfig,
|
||||
Toaster,
|
||||
} from '@iqser/common-ui';
|
||||
import { DOSSIER_TEMPLATE_ID, User, Watermark } from '@red/domain';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { WatermarkService } from '@services/entity-services/watermark.service';
|
||||
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
||||
import { WatermarksMapService } from '@services/entity-services/watermarks-map.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
import { DOSSIER_TEMPLATE_ID, User, Watermark } from '@red/domain';
|
||||
import { WatermarkService } from '@services/entity-services/watermark.service';
|
||||
import { WatermarksMapService } from '@services/entity-services/watermarks-map.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
||||
|
||||
@Component({
|
||||
templateUrl: './watermarks-listing-screen.component.html',
|
||||
@ -27,7 +26,6 @@ import { getParam } from '@iqser/common-ui/lib/utils';
|
||||
export class WatermarksListingScreenComponent extends ListingComponent<Watermark> implements OnInit {
|
||||
readonly #dossierTemplateId = getParam(DOSSIER_TEMPLATE_ID);
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly currentUser = getCurrentUser<User>();
|
||||
readonly roles = Roles;
|
||||
readonly tableColumnConfigs: TableColumnConfig<Watermark>[] = [
|
||||
|
||||
@ -4,7 +4,6 @@
|
||||
(action)="openDeleteDossierTemplateDialog()"
|
||||
[buttonId]="'delete-dossier-template-btn'"
|
||||
[tooltip]="'dossier-templates-listing.action.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -12,7 +11,6 @@
|
||||
(action)="openEditCloneDossierTemplateDialog(true)"
|
||||
[buttonId]="'copy-dossier-template-btn'"
|
||||
[tooltip]="'dossier-templates-listing.action.clone' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:copy"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -20,7 +18,6 @@
|
||||
(action)="openEditCloneDossierTemplateDialog()"
|
||||
[buttonId]="'edit-dossier-template-btn'"
|
||||
[tooltip]="'dossier-templates-listing.action.edit' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import { NgIf } from '@angular/common';
|
||||
import { Component, Input, OnInit } from '@angular/core';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
||||
import { CircleButtonComponent, CircleButtonTypes, IqserHelpModeModule, LoadingService } from '@iqser/common-ui';
|
||||
import { CircleButtonComponent, IqserHelpModeModule, LoadingService } from '@iqser/common-ui';
|
||||
import { TenantsService } from '@iqser/common-ui/lib/tenants';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { DOSSIER_TEMPLATE_ID, type User } from '@red/domain';
|
||||
import { DossierTemplatesService } from '@services/dossier-templates/dossier-templates.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { DOSSIER_TEMPLATE_ID, type User } from '@red/domain';
|
||||
import { NgIf } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { TenantsService } from '@iqser/common-ui/lib/tenants';
|
||||
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-dossier-template-actions',
|
||||
@ -20,7 +20,6 @@ import { TenantsService } from '@iqser/common-ui/lib/tenants';
|
||||
export class DossierTemplateActionsComponent implements OnInit {
|
||||
@Input() dossierTemplateId: string;
|
||||
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly currentUser = getCurrentUser<User>();
|
||||
|
||||
constructor(
|
||||
|
||||
@ -5,7 +5,6 @@ import { Action, ActionTypes, Dossier, File, ProcessingFileStatuses } from '@red
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { LongPressEvent } from '@shared/directives/long-press.directive';
|
||||
import { UserPreferenceService } from '@users/user-preference.service';
|
||||
import { ConfigService } from '../../config.service';
|
||||
import { BulkActionsService } from '../../services/bulk-actions.service';
|
||||
|
||||
@Component({
|
||||
@ -35,7 +34,7 @@ export class DossierOverviewBulkActionsComponent implements OnChanges {
|
||||
#canMoveToSameState: boolean;
|
||||
@Input() dossier: Dossier;
|
||||
@Input() selectedFiles: File[];
|
||||
@Input() buttonType: CircleButtonType = CircleButtonTypes.dark;
|
||||
@Input() buttonType: CircleButtonType = CircleButtonTypes.default;
|
||||
@Input() maxWidth: number;
|
||||
buttons: Action[];
|
||||
|
||||
@ -43,7 +42,6 @@ export class DossierOverviewBulkActionsComponent implements OnChanges {
|
||||
private readonly _permissionsService: PermissionsService,
|
||||
private readonly _userPreferenceService: UserPreferenceService,
|
||||
private readonly _bulkActionsService: BulkActionsService,
|
||||
private readonly _configService: ConfigService,
|
||||
) {}
|
||||
|
||||
private get _buttons(): Action[] {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
||||
import { ConfigService } from '../../config.service';
|
||||
import { CircleButtonTypes, ListingMode, ListingModes, ListingService } from '@iqser/common-ui';
|
||||
import { ListingMode, ListingModes, ListingService } from '@iqser/common-ui';
|
||||
import { File } from '@red/domain';
|
||||
import { ConfigService } from '../../config.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-view-mode-selection',
|
||||
@ -11,7 +11,6 @@ import { File } from '@red/domain';
|
||||
})
|
||||
export class ViewModeSelectionComponent {
|
||||
readonly listingModes = ListingModes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
constructor(readonly configService: ConfigService, private readonly _listingService: ListingService<File>) {}
|
||||
|
||||
|
||||
@ -216,7 +216,6 @@
|
||||
(action)="skippedService.toggleSkipped()"
|
||||
*ngIf="filter.id === 'skipped'"
|
||||
[icon]="skippedService.hideSkipped() ? 'red:visibility-off' : 'red:visibility'"
|
||||
[type]="circleButtonTypes.dark"
|
||||
iqserPreventDefault
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
|
||||
@ -11,7 +11,6 @@
|
||||
[size]="28"
|
||||
[tooltipPosition]="'above'"
|
||||
[tooltip]="'file-preview.highlights.convert' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
class="mr-2"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -22,6 +21,5 @@
|
||||
[size]="28"
|
||||
[tooltipPosition]="'above'"
|
||||
[tooltip]="'file-preview.highlights.remove' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,12 +1,11 @@
|
||||
import { Component, Input } from '@angular/core';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
import { EarmarkGroup, EarmarkOperation } from '@red/domain';
|
||||
import { FilePreviewStateService } from '../../services/file-preview-state.service';
|
||||
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
|
||||
import { FilePreviewDialogService } from '../../services/file-preview-dialog.service';
|
||||
import { FileDataService } from '../../services/file-data.service';
|
||||
import { MultiSelectService } from '../../services/multi-select.service';
|
||||
import { EarmarkGroup, EarmarkOperation } from '@red/domain';
|
||||
import { Roles } from '@users/roles';
|
||||
import { FileDataService } from '../../services/file-data.service';
|
||||
import { FilePreviewDialogService } from '../../services/file-preview-dialog.service';
|
||||
import { FilePreviewStateService } from '../../services/file-preview-state.service';
|
||||
import { MultiSelectService } from '../../services/multi-select.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-highlights-separator',
|
||||
@ -17,7 +16,6 @@ export class HighlightsSeparatorComponent {
|
||||
@Input({ required: true }) highlightGroup: EarmarkGroup;
|
||||
@Input({ required: true }) annotation: AnnotationWrapper;
|
||||
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly roles = Roles;
|
||||
|
||||
constructor(
|
||||
|
||||
@ -11,7 +11,6 @@
|
||||
(action)="isEditingSelectedText = true"
|
||||
*ngIf="isDictionaryRequest"
|
||||
[tooltip]="'manual-annotation.dialog.content.edit-selected-text' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:edit"
|
||||
tooltipPosition="below"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -1,16 +1,16 @@
|
||||
import { Component, Inject, OnInit } from '@angular/core';
|
||||
import { UntypedFormGroup, Validators } from '@angular/forms';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { BaseDialogComponent, IqserPermissionsService } from '@iqser/common-ui';
|
||||
import { ManualRedactionEntryWrapper } from '@models/file/manual-redaction-entry.wrapper';
|
||||
import { JustificationsService } from '@services/entity-services/justifications.service';
|
||||
import { Dictionary, Dossier, File, IAddRedactionRequest, SuperTypes } from '@red/domain';
|
||||
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
|
||||
import { DictionaryService } from '@services/entity-services/dictionary.service';
|
||||
import { BaseDialogComponent, CircleButtonTypes, IqserPermissionsService } from '@iqser/common-ui';
|
||||
import { JustificationsService } from '@services/entity-services/justifications.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { ManualRedactionService } from '../../services/manual-redaction.service';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { Roles } from '@users/roles';
|
||||
|
||||
export interface LegalBasisOption {
|
||||
label?: string;
|
||||
@ -23,19 +23,16 @@ export interface LegalBasisOption {
|
||||
styleUrls: ['./manual-annotation-dialog.component.scss'],
|
||||
})
|
||||
export class ManualAnnotationDialogComponent extends BaseDialogComponent implements OnInit {
|
||||
readonly #dossier: Dossier;
|
||||
readonly roles = Roles;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
isDictionaryRequest: boolean;
|
||||
isFalsePositiveRequest: boolean;
|
||||
isEditingSelectedText = false;
|
||||
applyOnMultiplePages = false;
|
||||
manualRedactionTypeExists = true;
|
||||
|
||||
possibleDictionaries: Dictionary[] = [];
|
||||
legalOptions: LegalBasisOption[] = [];
|
||||
|
||||
private readonly _dossier: Dossier;
|
||||
|
||||
constructor(
|
||||
readonly iqserPermissionsService: IqserPermissionsService,
|
||||
private readonly _justificationsService: JustificationsService,
|
||||
@ -46,12 +43,12 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme
|
||||
@Inject(MAT_DIALOG_DATA) readonly data: { manualRedactionEntryWrapper: ManualRedactionEntryWrapper; dossierId: string; file: File },
|
||||
) {
|
||||
super(_dialogRef);
|
||||
this._dossier = activeDossiersService.find(this.data.dossierId);
|
||||
this.#dossier = activeDossiersService.find(this.data.dossierId);
|
||||
|
||||
this.isFalsePositiveRequest = this.data.manualRedactionEntryWrapper.type === 'FALSE_POSITIVE';
|
||||
this.isDictionaryRequest = this.data.manualRedactionEntryWrapper.type === 'DICTIONARY' || this.isFalsePositiveRequest;
|
||||
|
||||
this.manualRedactionTypeExists = this._dictionaryService.hasManualType(this._dossier.dossierTemplateId);
|
||||
this.manualRedactionTypeExists = this._dictionaryService.hasManualType(this.#dossier.dossierTemplateId);
|
||||
|
||||
this.form = this._getForm();
|
||||
this.initialFormValue = this.form.getRawValue();
|
||||
@ -79,10 +76,10 @@ export class ManualAnnotationDialogComponent extends BaseDialogComponent impleme
|
||||
|
||||
async ngOnInit() {
|
||||
this.possibleDictionaries = this.isDictionaryRequest
|
||||
? await this._dictionaryService.getDictionariesOptions(this._dossier.dossierTemplateId, this._dossier.id)
|
||||
: this._dictionaryService.getRedactionTypes(this._dossier.dossierTemplateId);
|
||||
? await this._dictionaryService.getDictionariesOptions(this.#dossier.dossierTemplateId, this.#dossier.id)
|
||||
: this._dictionaryService.getRedactionTypes(this.#dossier.dossierTemplateId);
|
||||
|
||||
const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this._dossier.dossierTemplateId));
|
||||
const data = await firstValueFrom(this._justificationsService.getForDossierTemplate(this.#dossier.dossierTemplateId));
|
||||
this.legalOptions = data.map(lbm => ({
|
||||
legalBasis: lbm.reason,
|
||||
description: lbm.description,
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
<div [id]="getValueCellId(index)">
|
||||
<iqser-editable-input
|
||||
(save)="saveEdit($event, entry.value.originalKey)"
|
||||
[buttonsType]="circleButtonTypes.dark"
|
||||
[canEdit]="canEdit"
|
||||
[cancelTooltip]="'rss-dialog.actions.cancel-edit' | translate"
|
||||
[editTooltip]="'rss-dialog.actions.edit' | translate"
|
||||
@ -29,7 +28,6 @@
|
||||
*ngIf="entry.value.value && canEdit"
|
||||
[showDot]="true"
|
||||
[tooltip]="'rss-dialog.actions.undo' | translate : { value: entry.value.originalValue } | replaceNbsp"
|
||||
[type]="circleButtonTypes.dark"
|
||||
class="ml-2"
|
||||
icon="red:undo"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -3,13 +3,7 @@ import { ChangeDetectionStrategy, Component, Inject, OnInit, signal } from '@ang
|
||||
import { MatCheckboxModule } from '@angular/material/checkbox';
|
||||
import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
|
||||
import { ReplaceNbspPipe } from '@common-ui/pipes/replace-nbsp.pipe';
|
||||
import {
|
||||
BaseDialogComponent,
|
||||
CircleButtonComponent,
|
||||
CircleButtonTypes,
|
||||
EditableInputComponent,
|
||||
IconButtonComponent,
|
||||
} from '@iqser/common-ui';
|
||||
import { BaseDialogComponent, CircleButtonComponent, EditableInputComponent, IconButtonComponent } from '@iqser/common-ui';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { IFile, RssEntry, WorkflowFileStatuses } from '@red/domain';
|
||||
import { FilesMapService } from '@services/files/files-map.service';
|
||||
@ -40,7 +34,6 @@ interface ScmData {
|
||||
],
|
||||
})
|
||||
export class StructuredComponentManagementDialogComponent extends BaseDialogComponent implements OnInit {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly scmData = signal<RssEntry | undefined>(undefined);
|
||||
readonly openScmDialogByDefault = signal(this.userPreferences.getOpenScmDialogByDefault());
|
||||
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
<iqser-circle-button
|
||||
(action)="openEditDossierDialog(dossier.id)"
|
||||
*allow="roles.dossiers.read; if: currentUser.isUser"
|
||||
[attr.help-mode-key]="'edit_dossier_dossier_info'"
|
||||
[icon]="
|
||||
((iqserPermissionsService.has$(roles.dossiers.edit) | async) && currentUser.isManager) || canEditDossierDictionary
|
||||
? 'iqser:edit'
|
||||
@ -13,24 +14,20 @@
|
||||
: 'dossier-listing.dossier-info.action'
|
||||
) | translate
|
||||
"
|
||||
[type]="circleButtonTypes.dark"
|
||||
[attr.help-mode-key]="'edit_dossier_dossier_info'"
|
||||
></iqser-circle-button>
|
||||
|
||||
<iqser-circle-button
|
||||
(action)="reanalyseDossier(dossier)"
|
||||
*ngIf="displayReanalyseBtn"
|
||||
[tooltip]="'dossier-listing.reanalyse.action' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:refresh"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-file-download-btn
|
||||
[attr.help-mode-key]="'download_dossier'"
|
||||
[buttonId]="'download-dossier-files-' + dossier.id"
|
||||
[disabled]="downloadBtnDisabled"
|
||||
[dossier]="dossier"
|
||||
[files]="files"
|
||||
[attr.help-mode-key]="'download_dossier'"
|
||||
[type]="circleButtonTypes.dark"
|
||||
></redaction-file-download-btn>
|
||||
</div>
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { Component, Input, OnChanges } from '@angular/core';
|
||||
import { CircleButtonTypes, IqserPermissionsService, ScrollableParentViews } from '@iqser/common-ui';
|
||||
import { IqserPermissionsService } from '@iqser/common-ui';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import type { Dossier, File, User } from '@red/domain';
|
||||
import { FilesMapService } from '@services/files/files-map.service';
|
||||
@ -15,9 +15,7 @@ import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
||||
templateUrl: './dossiers-listing-actions.component.html',
|
||||
})
|
||||
export class DossiersListingActionsComponent implements OnChanges {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly roles = Roles;
|
||||
readonly scrollableParentViews = ScrollableParentViews;
|
||||
readonly currentUser = getCurrentUser<User>();
|
||||
|
||||
analysisForced: boolean;
|
||||
|
||||
@ -14,7 +14,6 @@
|
||||
<div [attr.help-mode-key]="fileActionsHelpModeKey" class="file-actions">
|
||||
<redaction-expandable-file-actions
|
||||
[actions]="buttons"
|
||||
[buttonType]="buttonType"
|
||||
[id]="'actions-for-' + file.fileId"
|
||||
[maxWidth]="maxWidth"
|
||||
[minWidth]="minWidth"
|
||||
|
||||
@ -2,15 +2,7 @@ import { ChangeDetectorRef, Component, HostBinding, Injector, Input, OnChanges,
|
||||
import { toObservable } from '@angular/core/rxjs-interop';
|
||||
import { Router } from '@angular/router';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import {
|
||||
CircleButtonType,
|
||||
CircleButtonTypes,
|
||||
getConfig,
|
||||
IConfirmationDialogData,
|
||||
IqserPermissionsService,
|
||||
LoadingService,
|
||||
Toaster,
|
||||
} from '@iqser/common-ui';
|
||||
import { CircleButtonTypes, getConfig, IConfirmationDialogData, IqserPermissionsService, LoadingService, Toaster } from '@iqser/common-ui';
|
||||
import { TenantsService } from '@iqser/common-ui/lib/tenants';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { IqserTooltipPositions } from '@iqser/common-ui/lib/utils';
|
||||
@ -50,11 +42,9 @@ export class FileActionsComponent implements OnChanges {
|
||||
@Input() maxWidth: number;
|
||||
@Input() minWidth: number;
|
||||
@Input() fileActionsHelpModeKey: 'document_features_in_dossier' | 'editor_document_features' = 'document_features_in_dossier';
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly currentUser = getCurrentUser<User>();
|
||||
toggleTooltip?: string;
|
||||
assignTooltip?: string;
|
||||
buttonType?: CircleButtonType;
|
||||
showSetToNew = false;
|
||||
showUndoApproval = false;
|
||||
showAssignToSelf = false;
|
||||
@ -404,7 +394,6 @@ export class FileActionsComponent implements OnChanges {
|
||||
this.isFilePreview = this.type === 'file-preview';
|
||||
|
||||
this.assignTooltip = this.file.isUnderApproval ? _('dossier-overview.assign-approver') : _('dossier-overview.assign-reviewer');
|
||||
this.buttonType = this.isFilePreview ? CircleButtonTypes.default : CircleButtonTypes.dark;
|
||||
this.showAssign =
|
||||
(this._permissionsService.canAssignUser(this.file, this.dossier) ||
|
||||
this._permissionsService.canUnassignUser(this.file, this.dossier)) &&
|
||||
|
||||
@ -68,14 +68,12 @@
|
||||
<iqser-circle-button
|
||||
(action)="deleteAttr(attr)"
|
||||
[tooltip]="'edit-dossier-dialog.attributes.delete-image' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
|
||||
<iqser-circle-button
|
||||
(action)="fileInputClick(attr)"
|
||||
[tooltip]="'edit-dossier-dialog.attributes.upload-image' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:upload"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { Component, ElementRef, Input, OnInit, QueryList, ViewChildren } from '@angular/core';
|
||||
import { EditDossierSaveResult, EditDossierSectionInterface } from '../edit-dossier-section.interface';
|
||||
import { Dossier, DossierAttributeConfigType, DossierAttributeConfigTypes, DossierAttributeWithValue } from '@red/domain';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { CircleButtonTypes, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
|
||||
import { UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
|
||||
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';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-edit-dossier-attributes',
|
||||
@ -15,17 +15,14 @@ import dayjs from 'dayjs';
|
||||
styleUrls: ['./edit-dossier-attributes.component.scss'],
|
||||
})
|
||||
export class EditDossierAttributesComponent implements EditDossierSectionInterface, OnInit {
|
||||
@ViewChildren('fileInput') private _fileInputs: QueryList<ElementRef>;
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly dossierAttributeConfigTypes = DossierAttributeConfigTypes;
|
||||
|
||||
@Input() dossier: Dossier;
|
||||
customAttributes: DossierAttributeWithValue[] = [];
|
||||
imageAttributes: DossierAttributeWithValue[] = [];
|
||||
attributes: DossierAttributeWithValue[] = [];
|
||||
|
||||
form: UntypedFormGroup;
|
||||
@ViewChildren('fileInput') private _fileInputs: QueryList<ElementRef>;
|
||||
|
||||
constructor(
|
||||
private readonly _permissionsService: PermissionsService,
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { Component, Input, OnInit, ViewChild } from '@angular/core';
|
||||
import { LoadingService } from '@iqser/common-ui';
|
||||
import { List } from '@iqser/common-ui/lib/utils';
|
||||
import { Dictionary, DictionaryEntryType, DictionaryEntryTypes, Dossier } from '@red/domain';
|
||||
import { EditDossierSaveResult } from '../edit-dossier-section.interface';
|
||||
import { DictionaryService } from '@services/entity-services/dictionary.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { DictionaryManagerComponent } from '@shared/components/dictionary-manager/dictionary-manager.component';
|
||||
import { DictionaryService } from '@services/entity-services/dictionary.service';
|
||||
import { CircleButtonTypes, LoadingService } from '@iqser/common-ui';
|
||||
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { List } from '@iqser/common-ui/lib/utils';
|
||||
import { DossiersDialogService } from '../../../services/dossiers-dialog.service';
|
||||
import { EditDossierSaveResult } from '../edit-dossier-section.interface';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-edit-dossier-dictionary',
|
||||
@ -15,17 +15,14 @@ import { List } from '@iqser/common-ui/lib/utils';
|
||||
styleUrls: ['./edit-dossier-dictionary.component.scss'],
|
||||
})
|
||||
export class EditDossierDictionaryComponent implements OnInit {
|
||||
@ViewChild(DictionaryManagerComponent, { static: false }) private readonly _dictionaryManager: DictionaryManagerComponent;
|
||||
@Input() dossier: Dossier;
|
||||
|
||||
canEdit = false;
|
||||
dictionaries: Dictionary[];
|
||||
selectedDictionary: Dictionary;
|
||||
activeEntryType = DictionaryEntryTypes.ENTRY;
|
||||
entriesToDisplay: List = [];
|
||||
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly entryTypes = DictionaryEntryTypes;
|
||||
@ViewChild(DictionaryManagerComponent, { static: false }) private readonly _dictionaryManager: DictionaryManagerComponent;
|
||||
|
||||
constructor(
|
||||
private readonly _dictionaryService: DictionaryService,
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import { Component, Input, OnChanges } from '@angular/core';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { Dossier, File, ProcessingFileStatuses } from '@red/domain';
|
||||
import { FileDownloadService } from '@upload-download/services/file-download.service';
|
||||
import { CircleButtonType, CircleButtonTypes, IqserDialog, Toaster } from '@iqser/common-ui';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { DownloadDialogComponent } from '@shared/dialogs/download-dialog/download-dialog.component';
|
||||
import { CircleButtonType, CircleButtonTypes, IqserDialog, Toaster } from '@iqser/common-ui';
|
||||
import { TenantsService } from '@iqser/common-ui/lib/tenants';
|
||||
import { Dossier, File, ProcessingFileStatuses } from '@red/domain';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { DownloadDialogComponent } from '@shared/dialogs/download-dialog/download-dialog.component';
|
||||
import { FileDownloadService } from '@upload-download/services/file-download.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-file-download-btn',
|
||||
|
||||
@ -11,13 +11,13 @@
|
||||
<div class="content-container">
|
||||
<iqser-table
|
||||
[bulkActions]="bulkActions"
|
||||
[headerHelpModeKey]="'trash'"
|
||||
[itemSize]="80"
|
||||
[noDataText]="'trash.no-data.title' | translate"
|
||||
[noMatchText]="'trash.no-match.title' | translate"
|
||||
[selectionEnabled]="true"
|
||||
[tableColumnConfigs]="tableColumnConfigs"
|
||||
[tableItemClasses]="{ disabled: disabledFn }"
|
||||
[headerHelpModeKey]="'trash'"
|
||||
noDataIcon="red:template"
|
||||
></iqser-table>
|
||||
</div>
|
||||
@ -29,7 +29,6 @@
|
||||
(action)="restore()"
|
||||
*ngIf="canRestoreSelected$ | async"
|
||||
[tooltip]="'trash.bulk.restore' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="red:put-back"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -37,7 +36,6 @@
|
||||
(action)="hardDelete()"
|
||||
*ngIf="canHardDeleteSelected$ | async"
|
||||
[tooltip]="'trash.bulk.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
import { ChangeDetectionStrategy, Component, OnInit } from '@angular/core';
|
||||
import { CircleButtonTypes, ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { firstValueFrom, Observable } from 'rxjs';
|
||||
import { distinctUntilChanged, map } from 'rxjs/operators';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { ListingComponent, listingProvidersFactory, LoadingService, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { SortingOrders } from '@iqser/common-ui/lib/sorting';
|
||||
import { TrashItem } from '@red/domain';
|
||||
import { TrashService } from '@services/entity-services/trash.service';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { firstValueFrom, Observable } from 'rxjs';
|
||||
import { distinctUntilChanged, map } from 'rxjs/operators';
|
||||
import { TrashDialogService } from '../services/trash-dialog.service';
|
||||
import { SortingOrders } from '@iqser/common-ui/lib/sorting';
|
||||
|
||||
@Component({
|
||||
templateUrl: './trash-screen.component.html',
|
||||
@ -18,7 +18,6 @@ import { SortingOrders } from '@iqser/common-ui/lib/sorting';
|
||||
}),
|
||||
})
|
||||
export class TrashScreenComponent extends ListingComponent<TrashItem> implements OnInit {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly tableHeaderLabel = _('trash.table-header.title');
|
||||
readonly canRestoreSelected$ = this._canRestoreSelected$;
|
||||
readonly canHardDeleteSelected$ = this._canHardDeleteSelected$;
|
||||
@ -44,10 +43,6 @@ export class TrashScreenComponent extends ListingComponent<TrashItem> implements
|
||||
});
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this._loadingService.stop();
|
||||
}
|
||||
|
||||
private get _canRestoreSelected$(): Observable<boolean> {
|
||||
return this.listingService.selectedEntities$.pipe(
|
||||
map(entities => entities.length && !entities.find(dossier => !(dossier.canRestore && dossier.hasRestoreRights))),
|
||||
@ -62,6 +57,10 @@ export class TrashScreenComponent extends ListingComponent<TrashItem> implements
|
||||
);
|
||||
}
|
||||
|
||||
ngOnInit() {
|
||||
this._loadingService.stop();
|
||||
}
|
||||
|
||||
disabledFn = (dossier: TrashItem) => !dossier.canRestore;
|
||||
|
||||
hardDelete(items = this.listingService.selected): void {
|
||||
|
||||
@ -46,7 +46,6 @@
|
||||
(action)="restore.emit([item])"
|
||||
*ngIf="item.canRestore && item.hasRestoreRights"
|
||||
[tooltip]="'trash.action.restore' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="red:put-back"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -54,7 +53,6 @@
|
||||
(action)="hardDelete.emit([item])"
|
||||
*ngIf="item.hasHardDeleteRights"
|
||||
[tooltip]="'trash.action.delete' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:trash"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output } from '@angular/core';
|
||||
import { Dossier, DossierStats, TrashDossier, TrashFile, TrashItem } from '@red/domain';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
|
||||
import { Observable } from 'rxjs';
|
||||
import { DossierStatsService } from '@services/dossiers/dossier-stats.service';
|
||||
import { Observable } from 'rxjs';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-trash-table-item [item]',
|
||||
@ -12,8 +11,6 @@ import { DossierStatsService } from '@services/dossiers/dossier-stats.service';
|
||||
changeDetection: ChangeDetectionStrategy.OnPush,
|
||||
})
|
||||
export class TrashTableItemComponent implements OnChanges {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
@Input() item: TrashItem;
|
||||
@Output() restore = new EventEmitter<TrashItem[]>();
|
||||
@Output() hardDelete = new EventEmitter<TrashItem[]>();
|
||||
|
||||
@ -51,7 +51,6 @@
|
||||
(action)="uploadItem(model)"
|
||||
*ngIf="model.error && !model.sizeError && !model.typeError"
|
||||
[tooltip]="'upload-status.dialog.actions.re-upload' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:refresh"
|
||||
tooltipPosition="before"
|
||||
></iqser-circle-button>
|
||||
@ -59,7 +58,6 @@
|
||||
<iqser-circle-button
|
||||
(action)="cancelItem(model)"
|
||||
[tooltip]="'upload-status.dialog.actions.cancel' | translate"
|
||||
[type]="circleButtonTypes.dark"
|
||||
icon="iqser:close"
|
||||
tooltipPosition="before"
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -1,8 +1,7 @@
|
||||
import { OverlayRef } from '@angular/cdk/overlay';
|
||||
import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
|
||||
import { FileUploadModel } from '../model/file-upload.model';
|
||||
import { FileUploadService } from '../services/file-upload.service';
|
||||
import { OverlayRef } from '@angular/cdk/overlay';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-upload-status-overlay',
|
||||
@ -10,8 +9,6 @@ import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
styleUrls: ['./upload-status-overlay.component.scss'],
|
||||
})
|
||||
export class UploadStatusOverlayComponent implements OnInit {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
collapsed = true;
|
||||
uploadStatusInterval: number;
|
||||
|
||||
|
||||
@ -1 +1 @@
|
||||
Subproject commit 867037cc0a1008ee052ed9ed145d8f5d1bef1bbd
|
||||
Subproject commit 1e4247c24750f979e3f3e139f5882884355c65e2
|
||||
2
nx.json
2
nx.json
@ -51,6 +51,6 @@
|
||||
"{workspaceRoot}/tslint.json",
|
||||
"{workspaceRoot}/nx.json"
|
||||
],
|
||||
"production": ["default", "!{projectRoot}/.eslintrc.json"]
|
||||
"production": ["default", "!{projectRoot}/.eslintrc.json", "!{projectRoot}/src/test-setup.[jt]s"]
|
||||
}
|
||||
}
|
||||
|
||||
56
package.json
56
package.json
@ -22,22 +22,22 @@
|
||||
"*.{ts,js,html}": "eslint --fix"
|
||||
},
|
||||
"dependencies": {
|
||||
"@angular/animations": "16.1.1",
|
||||
"@angular/cdk": "16.1.1",
|
||||
"@angular/common": "16.1.1",
|
||||
"@angular/compiler": "16.1.1",
|
||||
"@angular/core": "16.1.1",
|
||||
"@angular/forms": "16.1.1",
|
||||
"@angular/material": "16.1.1",
|
||||
"@angular/platform-browser": "16.1.1",
|
||||
"@angular/platform-browser-dynamic": "16.1.1",
|
||||
"@angular/router": "16.1.1",
|
||||
"@angular/service-worker": "16.1.1",
|
||||
"@angular/animations": "16.2.2",
|
||||
"@angular/cdk": "16.2.1",
|
||||
"@angular/common": "16.2.2",
|
||||
"@angular/compiler": "16.2.2",
|
||||
"@angular/core": "16.2.2",
|
||||
"@angular/forms": "16.2.2",
|
||||
"@angular/material": "16.2.1",
|
||||
"@angular/platform-browser": "16.2.2",
|
||||
"@angular/platform-browser-dynamic": "16.2.2",
|
||||
"@angular/router": "16.2.2",
|
||||
"@angular/service-worker": "16.2.2",
|
||||
"@materia-ui/ngx-monaco-editor": "^6.0.0",
|
||||
"@messageformat/core": "^3.1.0",
|
||||
"@ngx-translate/core": "15.0.0",
|
||||
"@ngx-translate/http-loader": "8.0.0",
|
||||
"@nx/angular": "16.3.2",
|
||||
"@nx/angular": "16.7.4",
|
||||
"@pdftron/webviewer": "10.1.1",
|
||||
"chart.js": "^4.3.0",
|
||||
"dayjs": "^1.11.5",
|
||||
@ -63,32 +63,32 @@
|
||||
"zone.js": "0.13.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "16.1.0",
|
||||
"@angular-devkit/core": "16.1.0",
|
||||
"@angular-devkit/schematics": "16.1.0",
|
||||
"@angular-devkit/build-angular": "16.2.0",
|
||||
"@angular-devkit/core": "16.2.0",
|
||||
"@angular-devkit/schematics": "16.2.0",
|
||||
"@angular-eslint/builder": "16.0.3",
|
||||
"@angular-eslint/eslint-plugin": "16.0.3",
|
||||
"@angular-eslint/eslint-plugin-template": "16.0.3",
|
||||
"@angular-eslint/schematics": "16.0.3",
|
||||
"@angular-eslint/template-parser": "16.0.3",
|
||||
"@angular/cli": "16.1.0",
|
||||
"@angular/compiler-cli": "16.1.1",
|
||||
"@angular/language-service": "16.1.1",
|
||||
"@angular/cli": "~16.2.0",
|
||||
"@angular/compiler-cli": "16.2.2",
|
||||
"@angular/language-service": "16.2.2",
|
||||
"@bartholomej/ngx-translate-extract": "^8.0.2",
|
||||
"@nx/eslint-plugin": "16.3.2",
|
||||
"@nx/jest": "16.3.2",
|
||||
"@nx/linter": "16.3.2",
|
||||
"@nx/workspace": "16.3.2",
|
||||
"@schematics/angular": "16.1.0",
|
||||
"@nx/eslint-plugin": "16.7.4",
|
||||
"@nx/jest": "16.7.4",
|
||||
"@nx/linter": "16.7.4",
|
||||
"@nx/workspace": "16.7.4",
|
||||
"@schematics/angular": "16.2.0",
|
||||
"@types/file-saver": "^2.0.5",
|
||||
"@types/jest": "29.5.2",
|
||||
"@types/lodash-es": "^4.17.6",
|
||||
"@types/node": "20.3.1",
|
||||
"@typescript-eslint/eslint-plugin": "5.59.11",
|
||||
"@typescript-eslint/parser": "5.59.11",
|
||||
"@typescript-eslint/eslint-plugin": "5.62.0",
|
||||
"@typescript-eslint/parser": "5.62.0",
|
||||
"axios": "^1.3.4",
|
||||
"dotenv": "16.1.4",
|
||||
"eslint": "8.42.0",
|
||||
"eslint": "8.46.0",
|
||||
"eslint-config-prettier": "8.8.0",
|
||||
"eslint-plugin-prettier": "^4.0.0",
|
||||
"eslint-plugin-rxjs": "^5.0.2",
|
||||
@ -99,8 +99,8 @@
|
||||
"jest-extended": "4.0.0",
|
||||
"jest-preset-angular": "13.1.1",
|
||||
"lint-staged": "^13.2.0",
|
||||
"nx": "16.3.2",
|
||||
"nx-cloud": "16.0.5",
|
||||
"nx": "16.7.4",
|
||||
"nx-cloud": "16.3.0",
|
||||
"postcss": "8.4.24",
|
||||
"postcss-import": "15.1.0",
|
||||
"postcss-preset-env": "8.5.0",
|
||||
|
||||
@ -18,13 +18,13 @@
|
||||
"baseUrl": ".",
|
||||
"paths": {
|
||||
"@biesbjerg/ngx-translate-extract-marker": ["libs/common-ui/src/lib/translations/ngx-translate-extract-marker"],
|
||||
"@common-ui/*": ["libs/common-ui/src/lib/*"],
|
||||
"@components/*": ["apps/red-ui/src/app/components/*"],
|
||||
"@environments/*": ["apps/red-ui/src/environments/*"],
|
||||
"@guards/*": ["apps/red-ui/src/app/guards/*"],
|
||||
"@i18n/*": ["apps/red-ui/src/app/i18n/*"],
|
||||
"@iqser/common-ui": ["libs/common-ui/src/index.ts"],
|
||||
"@iqser/common-ui/*": ["libs/common-ui/src/*"],
|
||||
"@common-ui/*": ["libs/common-ui/src/lib/*"],
|
||||
"@models/*": ["apps/red-ui/src/app/models/*"],
|
||||
"@red/domain": ["libs/red-domain/src/index.ts"],
|
||||
"@services/*": ["apps/red-ui/src/app/services/*"],
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user