Pull request #256: Common lib
Merge in RED/ui from common-lib to master * commit 'da5197f1010fb16c0a3ddc352d4564e3d0b308ad': (27 commits) artifacts artifacts listing fixed typo checkout shared first checkout shared first checkout shared first checkout shared first checkout shared first checkout shared first checkout shared first checkout shared first checkout shared first checkout shared first changed protocol to ssh changed protocol to ssh changed protocol to ssh changed protocol to ssh updated build file move round checkbox to common lib ...
This commit is contained in:
commit
7ed7946443
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
[submodule "libs/common-ui"]
|
||||
path = libs/common-ui
|
||||
url = https://git.iqser.com/scm/sl/common-ui.git
|
||||
@ -50,9 +50,14 @@
|
||||
"input": "apps/red-ui/src/assets/",
|
||||
"output": "/assets/"
|
||||
},
|
||||
{
|
||||
"glob": "**/*",
|
||||
"input": "libs/common-ui/src/assets/",
|
||||
"output": "/assets/"
|
||||
},
|
||||
"apps/red-ui/src/manifest.webmanifest"
|
||||
],
|
||||
"styles": ["apps/red-ui/src/styles.scss"],
|
||||
"styles": ["apps/red-ui/src/styles.scss", "libs/common-ui/src/assets/styles/common.scss"],
|
||||
"scripts": ["node_modules/@pdftron/webviewer/webviewer.min.js"],
|
||||
"vendorChunk": true,
|
||||
"extractLicenses": false,
|
||||
|
||||
@ -66,13 +66,13 @@
|
||||
</div>
|
||||
<div class="menu right flex-2">
|
||||
<div class="buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openSpotlightSearch()"
|
||||
*ngIf="!isSearchScreen"
|
||||
[icon]="'red:search'"
|
||||
[tooltip]="'search.header-label' | translate"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-notifications *ngIf="userPreferenceService.areDevFeaturesEnabled"></redaction-notifications>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../assets/styles/red-variables';
|
||||
@import '../../../assets/styles/variables';
|
||||
@import '../../../assets/styles/red-mixins';
|
||||
|
||||
.dev-mode {
|
||||
|
||||
@ -22,7 +22,7 @@
|
||||
<!-- Table lines -->
|
||||
<div *cdkVirtualFor="let download of sortedDisplayedEntities$ | async; trackBy: trackByPrimaryKey" class="table-item">
|
||||
<div (click)="toggleEntitySelected($event, download)" class="selection-column">
|
||||
<redaction-round-checkbox [active]="isSelected(download)"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox [active]="isSelected(download)"></iqser-round-checkbox>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@ -47,22 +47,20 @@
|
||||
</div>
|
||||
<div class="actions-container">
|
||||
<div [class.active]="download.inProgress" class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="downloadItem(download)"
|
||||
*ngIf="download.status === 'READY' && !download.inProgress"
|
||||
[tooltip]="'downloads-list.actions.download' | translate"
|
||||
icon="red:download"
|
||||
type="dark-bg"
|
||||
>
|
||||
</redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="deleteItems([download])"
|
||||
[tooltip]="'downloads-list.actions.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
>
|
||||
</redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<mat-spinner *ngIf="download.inProgress" diameter="15"></mat-spinner>
|
||||
</div>
|
||||
@ -75,11 +73,11 @@
|
||||
</section>
|
||||
|
||||
<ng-template #bulkActions>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="deleteItems()"
|
||||
*ngIf="screenStateService.areSomeEntitiesSelected$ | async"
|
||||
[tooltip]="'downloads-list.bulk.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
|
||||
@ -9,6 +9,7 @@ import { ScreenStateService } from '@shared/services/screen-state.service';
|
||||
import { SortingService } from '@services/sorting.service';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { TableColConfig } from '@shared/components/table-col-name/table-col-name.component';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-downloads-list-screen',
|
||||
@ -17,15 +18,16 @@ import { TableColConfig } from '@shared/components/table-col-name/table-col-name
|
||||
providers: [FilterService, SearchService, ScreenStateService, SortingService]
|
||||
})
|
||||
export class DownloadsListScreenComponent extends BaseListingComponent<DownloadStatusWrapper> implements OnInit {
|
||||
itemSize = 80;
|
||||
tableColConfigs: TableColConfig[] = [
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly itemSize = 80;
|
||||
readonly tableColConfigs: TableColConfig[] = [
|
||||
{ label: _('downloads-list.table-col-names.name') },
|
||||
{ label: _('downloads-list.table-col-names.size') },
|
||||
{ label: _('downloads-list.table-col-names.date') },
|
||||
{ label: _('downloads-list.table-col-names.status') }
|
||||
];
|
||||
protected readonly _primaryKey = 'storageId';
|
||||
protected _tableHeaderLabel = _('downloads-list.table-header.title');
|
||||
protected readonly _tableHeaderLabel = _('downloads-list.table-header.title');
|
||||
|
||||
constructor(
|
||||
readonly fileDownloadService: FileDownloadService,
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../assets/styles/red-variables';
|
||||
@import '../../../assets/styles/variables';
|
||||
|
||||
:host {
|
||||
color: $primary;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
<redaction-circle-button [matMenuTriggerFor]="overlay" [showDot]="hasUnread" icon="red:notification"></redaction-circle-button>
|
||||
<iqser-circle-button [matMenuTriggerFor]="overlay" [showDot]="hasUnread" icon="red:notification"></iqser-circle-button>
|
||||
<mat-menu #overlay="matMenu" backdropClass="notifications-backdrop" class="notifications-menu" xPosition="before">
|
||||
<div *ngFor="let group of groupedNotifications | sortBy: 'desc':'dateString'">
|
||||
<div class="all-caps-label">{{ day(group) }}</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../assets/styles/red-variables';
|
||||
@import '../../../assets/styles/variables';
|
||||
|
||||
.mt-2 {
|
||||
margin-top: 2px;
|
||||
|
||||
@ -5,12 +5,7 @@
|
||||
<ng-container *ngIf="showActions$ | async as showActions">
|
||||
<mat-icon class="mr-34" *ngIf="!showActions" [svgIcon]="'red:search'"></mat-icon>
|
||||
|
||||
<redaction-circle-button
|
||||
*ngIf="showActions"
|
||||
class="mr-24"
|
||||
(action)="dialogRef.close()"
|
||||
icon="red:close"
|
||||
></redaction-circle-button>
|
||||
<iqser-circle-button *ngIf="showActions" class="mr-24" (action)="dialogRef.close()" icon="red:close"></iqser-circle-button>
|
||||
</ng-container>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import 'apps/red-ui/src/assets/styles/red-variables';
|
||||
@import '../../../assets/styles/variables';
|
||||
|
||||
.spotlight-wrapper {
|
||||
overflow: hidden;
|
||||
@ -19,7 +19,7 @@
|
||||
font-weight: 500;
|
||||
border: none;
|
||||
outline: none;
|
||||
color: $grey-1;
|
||||
color: $accent;
|
||||
padding: 0 24px;
|
||||
background-color: $white;
|
||||
}
|
||||
|
||||
@ -1 +1 @@
|
||||
@import '../../../assets/styles/red-variables';
|
||||
@import '../../../assets/styles/variables';
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
<div class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openDeleteDossierTemplateDialog($event)"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[tooltip]="'dossier-templates-listing.action.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openEditDossierTemplateDialog($event)"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[tooltip]="'dossier-templates-listing.action.edit' | translate"
|
||||
icon="red:edit"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
.action-buttons {
|
||||
display: flex;
|
||||
|
||||
redaction-circle-button:not(:last-child) {
|
||||
iqser-circle-button:not(:last-child) {
|
||||
margin-right: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -5,6 +5,7 @@ import { Router } from '@angular/router';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { DossierTemplateControllerService } from '@redaction/red-ui-http';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-dossier-template-actions',
|
||||
@ -12,6 +13,8 @@ import { LoadingService } from '@services/loading.service';
|
||||
styleUrls: ['./dossier-template-actions.component.scss']
|
||||
})
|
||||
export class DossierTemplateActionsComponent {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
@Input() dossierTemplateId: string;
|
||||
@Output() loadDossierTemplatesData = new EventEmitter<any>();
|
||||
|
||||
|
||||
@ -1,21 +1,21 @@
|
||||
<div class="collapsed-wrapper">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="toggleCollapse.emit()"
|
||||
[tooltip]="'user-stats.expand' | translate"
|
||||
icon="red:expand"
|
||||
tooltipPosition="before"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
<div class="all-caps-label" translate="user-stats.title"></div>
|
||||
</div>
|
||||
|
||||
<div class="header-wrapper mt-8">
|
||||
<div class="heading-xl flex-1" translate="user-stats.title"></div>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="toggleCollapse.emit()"
|
||||
[tooltip]="'user-stats.collapse' | translate"
|
||||
icon="red:collapse"
|
||||
tooltipPosition="before"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
<div class="mt-44">
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
max-width: 88%;
|
||||
}
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
left: 270px;
|
||||
|
||||
@ -96,5 +96,5 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.first-row {
|
||||
display: flex;
|
||||
|
||||
@ -41,5 +41,5 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -1,26 +1,23 @@
|
||||
import { Component, Inject, OnDestroy } from '@angular/core';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
import { DossierAttributeConfig, FileAttributeConfig } from '@redaction/red-ui-http';
|
||||
import { AppStateService } from '@state/app-state.service';
|
||||
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { HttpErrorResponse } from '@angular/common/http';
|
||||
import { Toaster } from '@services/toaster.service';
|
||||
import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component';
|
||||
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
|
||||
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { AutoUnsubscribeComponent } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-add-edit-dossier-attribute-dialog',
|
||||
templateUrl: './add-edit-dossier-attribute-dialog.component.html',
|
||||
styleUrls: ['./add-edit-dossier-attribute-dialog.component.scss']
|
||||
})
|
||||
export class AddEditDossierAttributeDialogComponent extends AutoUnsubscribeComponent implements OnDestroy {
|
||||
dossierAttributeForm: FormGroup;
|
||||
dossierAttribute: DossierAttributeConfig;
|
||||
translations = dossierAttributeTypesTranslations;
|
||||
dossierTemplateId: string;
|
||||
readonly translations = dossierAttributeTypesTranslations;
|
||||
readonly typeOptions = [
|
||||
DossierAttributeConfig.TypeEnum.TEXT,
|
||||
DossierAttributeConfig.TypeEnum.NUMBER,
|
||||
@ -29,18 +26,16 @@ export class AddEditDossierAttributeDialogComponent extends AutoUnsubscribeCompo
|
||||
];
|
||||
|
||||
constructor(
|
||||
private readonly _appStateService: AppStateService,
|
||||
private readonly _formBuilder: FormBuilder,
|
||||
private readonly _loadingService: LoadingService,
|
||||
private readonly _dossierAttributesService: DossierAttributesService,
|
||||
private readonly _toaster: Toaster,
|
||||
public dialogRef: MatDialogRef<AddEditDossierAttributeDialogComponent>,
|
||||
readonly dialogRef: MatDialogRef<AddEditDossierAttributeDialogComponent>,
|
||||
@Inject(MAT_DIALOG_DATA)
|
||||
public data: { dossierAttribute: DossierAttributeConfig; dossierTemplateId: string }
|
||||
readonly data: { readonly dossierAttribute: DossierAttributeConfig }
|
||||
) {
|
||||
super();
|
||||
this.dossierAttribute = data.dossierAttribute;
|
||||
this.dossierTemplateId = data.dossierTemplateId;
|
||||
|
||||
this.dossierAttributeForm = this._formBuilder.group({
|
||||
label: [this.dossierAttribute?.label, Validators.required],
|
||||
|
||||
@ -110,7 +110,7 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
<ng-template #reportTemplateOptionTemplate let-option="option">
|
||||
|
||||
@ -60,5 +60,5 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -13,5 +13,5 @@
|
||||
[user]="user"
|
||||
></redaction-reset-password>
|
||||
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -45,13 +45,13 @@
|
||||
{{ (user ? 'add-edit-user.actions.save-changes' : 'add-edit-user.actions.save') | translate }}
|
||||
</button>
|
||||
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="delete()"
|
||||
*ngIf="user"
|
||||
[label]="'add-edit-user.actions.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="show-bg"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
|
||||
<div class="all-caps-label cancel" mat-dialog-close translate="add-edit-user.actions.cancel"></div>
|
||||
</div>
|
||||
|
||||
@ -4,6 +4,7 @@ import { User, UserControllerService } from '@redaction/red-ui-http';
|
||||
import { AdminDialogService } from '../../../services/admin-dialog.service';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { rolesTranslations } from '../../../../../translations/roles-translations';
|
||||
import { IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-user-details',
|
||||
@ -11,12 +12,14 @@ import { rolesTranslations } from '../../../../../translations/roles-translation
|
||||
styleUrls: ['./user-details.component.scss']
|
||||
})
|
||||
export class UserDetailsComponent implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
|
||||
@Input() user: User;
|
||||
@Output() toggleResetPassword = new EventEmitter();
|
||||
@Output() closeDialog = new EventEmitter<any>();
|
||||
userForm: FormGroup;
|
||||
readonly ROLES = ['RED_USER', 'RED_MANAGER', 'RED_USER_ADMIN', 'RED_ADMIN'];
|
||||
translations = rolesTranslations;
|
||||
readonly translations = rolesTranslations;
|
||||
private readonly _ROLE_REQUIREMENTS = { RED_MANAGER: 'RED_USER', RED_ADMIN: 'RED_USER_ADMIN' };
|
||||
|
||||
constructor(
|
||||
|
||||
@ -41,5 +41,5 @@
|
||||
class="all-caps-label cancel"
|
||||
></div>
|
||||
</div>
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.dialog-header {
|
||||
color: $primary;
|
||||
|
||||
@ -39,5 +39,5 @@
|
||||
class="all-caps-label cancel"
|
||||
></div>
|
||||
</div>
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.dialog-header {
|
||||
color: $primary;
|
||||
|
||||
@ -34,5 +34,5 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -1,34 +1,34 @@
|
||||
<div class="header-item">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
(click)="toggleSelectAll()"
|
||||
[active]="screenStateService.areAllEntitiesSelected$ | async"
|
||||
[indeterminate]="screenStateService.notAllEntitiesSelected$ | async"
|
||||
></redaction-round-checkbox>
|
||||
></iqser-round-checkbox>
|
||||
<span class="all-caps-label">
|
||||
{{ 'file-attributes-csv-import.table-header.title' | translate: { length: (screenStateService.allEntitiesLength$ | async) } }}
|
||||
</span>
|
||||
|
||||
<ng-container *ngIf="screenStateService.areSomeEntitiesSelected$ | async">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[matMenuTriggerFor]="readOnlyMenu"
|
||||
[tooltip]="'file-attributes-csv-import.table-header.actions.read-only' | translate"
|
||||
icon="red:read-only"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="deactivateSelection()"
|
||||
[tooltip]="'file-attributes-csv-import.table-header.actions.remove-selected' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<div class="separator"></div>
|
||||
|
||||
<redaction-chevron-button
|
||||
<iqser-chevron-button
|
||||
[label]="'file-attributes-csv-import.table-header.actions.type' | translate"
|
||||
[matMenuTriggerFor]="typeMenu"
|
||||
></redaction-chevron-button>
|
||||
></iqser-chevron-button>
|
||||
|
||||
<mat-menu #readOnlyMenu="matMenu" class="padding-bottom-8">
|
||||
<button
|
||||
@ -93,7 +93,7 @@
|
||||
class="table-item"
|
||||
>
|
||||
<div (click)="toggleEntitySelected($event, field)" class="selection-column">
|
||||
<redaction-round-checkbox [active]="isSelected(field)"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox [active]="isSelected(field)"></iqser-round-checkbox>
|
||||
</div>
|
||||
<div [class.editing]="field.editingName" class="name">
|
||||
<div *ngIf="!field.editingName">
|
||||
@ -104,27 +104,27 @@
|
||||
<input [(ngModel)]="field.temporaryName" name="name" />
|
||||
</div>
|
||||
</form>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="field.editingName = true"
|
||||
*ngIf="!field.editingName"
|
||||
[tooltip]="'file-attributes-csv-import.action.edit-name' | translate"
|
||||
class="edit-name-button"
|
||||
icon="red:edit"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
<ng-container *ngIf="field.editingName">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="field.editingName = false; field.name = field.temporaryName"
|
||||
[tooltip]="'file-attributes-csv-import.action.save-name' | translate"
|
||||
icon="red:check"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
<redaction-circle-button
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
<iqser-circle-button
|
||||
(action)="field.editingName = false; field.temporaryName = field.name"
|
||||
[tooltip]="'file-attributes-csv-import.action.cancel-edit-name' | translate"
|
||||
icon="red:close"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</ng-container>
|
||||
</div>
|
||||
<div>
|
||||
@ -142,17 +142,17 @@
|
||||
<mat-slide-toggle [(ngModel)]="field.readonly" color="primary"></mat-slide-toggle>
|
||||
</div>
|
||||
<div class="center">
|
||||
<redaction-round-checkbox (click)="togglePrimary(field)" [active]="field.primaryAttribute"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox (click)="togglePrimary(field)" [active]="field.primaryAttribute"></iqser-round-checkbox>
|
||||
</div>
|
||||
<div class="actions-container">
|
||||
<div class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="field.primaryAttribute = false; toggleFieldActive.emit(field)"
|
||||
[removeTooltip]="true"
|
||||
[tooltip]="'file-attributes-csv-import.action.remove' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="scrollbar-placeholder"></div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../../assets/styles/variables';
|
||||
|
||||
redaction-table-col-name::ng-deep {
|
||||
> div {
|
||||
@ -19,7 +19,7 @@ redaction-table-col-name::ng-deep {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ cdk-virtual-scroll-viewport {
|
||||
display: none;
|
||||
}
|
||||
|
||||
redaction-circle-button:first-of-type {
|
||||
iqser-circle-button:first-of-type {
|
||||
margin-left: 7px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import { ScreenStateService } from '@shared/services/screen-state.service';
|
||||
import { SortingService } from '@services/sorting.service';
|
||||
import { BaseListingComponent } from '@shared/base/base-listing.component';
|
||||
import { fileAttributeTypesTranslations } from '../../../translations/file-attribute-types-translations';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-active-fields-listing',
|
||||
@ -15,11 +16,13 @@ import { fileAttributeTypesTranslations } from '../../../translations/file-attri
|
||||
providers: [FilterService, SearchService, ScreenStateService, SortingService]
|
||||
})
|
||||
export class ActiveFieldsListingComponent extends BaseListingComponent<Field> implements OnChanges {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = fileAttributeTypesTranslations;
|
||||
|
||||
@Input() entities: Field[];
|
||||
@Output() entitiesChange = new EventEmitter<Field[]>();
|
||||
@Output() setHoveredColumn = new EventEmitter<string>();
|
||||
@Output() toggleFieldActive = new EventEmitter<Field>();
|
||||
translations = fileAttributeTypesTranslations;
|
||||
|
||||
readonly typeOptions = [FileAttributeConfig.TypeEnum.TEXT, FileAttributeConfig.TypeEnum.NUMBER, FileAttributeConfig.TypeEnum.DATE];
|
||||
protected readonly _primaryKey = 'csvColumn';
|
||||
|
||||
@ -48,12 +48,12 @@
|
||||
type="text"
|
||||
/>
|
||||
</div>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="readFile()"
|
||||
*ngIf="changedParseConfig"
|
||||
[tooltip]="'file-attributes-csv-import.parse-csv' | translate"
|
||||
icon="red:check"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@ -69,11 +69,11 @@
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(click)="isSearchOpen = !isSearchOpen"
|
||||
[attr.aria-expanded]="isSearchOpen"
|
||||
icon="red:search"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
<div class="quick-activation">
|
||||
<span
|
||||
(click)="activateAll()"
|
||||
@ -127,10 +127,10 @@
|
||||
>
|
||||
<div class="csv-part-header">
|
||||
<div [translate]="'file-attributes-csv-import.csv-column'" class="all-caps-label"></div>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(click)="previewExpanded = !previewExpanded"
|
||||
[icon]="previewExpanded ? 'red:expand' : 'red:collapse'"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
<div [class.hidden]="!previewExpanded" class="csv-part-content">
|
||||
<div *ngIf="!hoveredColumn" class="no-column-data" translate="file-attributes-csv-import.no-hovered-column"></div>
|
||||
@ -162,5 +162,5 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
.sub-header {
|
||||
@ -37,7 +37,7 @@
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
margin-left: 8px;
|
||||
}
|
||||
}
|
||||
@ -174,7 +174,7 @@
|
||||
background: $grey-2;
|
||||
border-right: 1px solid $separator;
|
||||
|
||||
&:not(.collapsed) redaction-circle-button {
|
||||
&:not(.collapsed) iqser-circle-button {
|
||||
margin-right: -8px;
|
||||
}
|
||||
|
||||
|
||||
@ -27,5 +27,5 @@
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<redaction-circle-button class="dialog-close" icon="red:close" mat-dialog-close></redaction-circle-button>
|
||||
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
|
||||
</section>
|
||||
|
||||
@ -8,14 +8,14 @@
|
||||
<div class="breadcrumb" translate="audit"></div>
|
||||
|
||||
<div class="actions">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
*ngIf="permissionsService.isUser()"
|
||||
[tooltip]="'common.close' | translate"
|
||||
class="ml-6"
|
||||
icon="red:close"
|
||||
redactionNavigateLastDossiersScreen
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="red-content-inner">
|
||||
|
||||
@ -5,7 +5,7 @@ import { AuditControllerService, AuditResponse, AuditSearchRequest } from '@reda
|
||||
import { Moment } from 'moment';
|
||||
import { applyIntervalConstraints } from '@utils/date-inputs-utils';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component';
|
||||
import { AutoUnsubscribeComponent } from '@iqser/common-ui';
|
||||
import { auditCategoriesTranslations } from '../../translations/audit-categories-translations';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
<div class="flex-1 actions">
|
||||
<redaction-dossier-template-actions></redaction-dossier-template-actions>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[routerLink]="['../..']"
|
||||
[tooltip]="'common.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -55,13 +55,13 @@
|
||||
|
||||
<div class="actions-container">
|
||||
<div class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openEditColorDialog($event, color)"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[tooltip]="'default-colors-screen.action.edit' | translate"
|
||||
icon="red:edit"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="scrollbar-placeholder"></div>
|
||||
|
||||
@ -12,6 +12,7 @@ import { BaseListingComponent } from '@shared/base/base-listing.component';
|
||||
import { DefaultColorType } from '@models/default-color-key.model';
|
||||
import { SortingService } from '@services/sorting.service';
|
||||
import { defaultColorsTranslations } from '../../translations/default-colors-translations';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './default-colors-screen.component.html',
|
||||
@ -26,7 +27,8 @@ export class DefaultColorsScreenComponent
|
||||
}>
|
||||
implements OnInit
|
||||
{
|
||||
translations = defaultColorsTranslations;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = defaultColorsTranslations;
|
||||
protected readonly _primaryKey = 'key';
|
||||
private _colorsObj: Colors;
|
||||
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
<div class="flex-1 actions">
|
||||
<redaction-dossier-template-actions></redaction-dossier-template-actions>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[routerLink]="['../..']"
|
||||
[tooltip]="'common.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -21,23 +21,23 @@
|
||||
|
||||
<div class="content-container">
|
||||
<div class="header-item">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
(click)="toggleSelectAll()"
|
||||
[active]="screenStateService.areAllEntitiesSelected$ | async"
|
||||
[indeterminate]="screenStateService.notAllEntitiesSelected$ | async"
|
||||
></redaction-round-checkbox>
|
||||
></iqser-round-checkbox>
|
||||
|
||||
<span class="all-caps-label">
|
||||
{{ 'dictionary-listing.table-header.title' | translate: { length: (screenStateService.displayedLength$ | async) } }}
|
||||
</span>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openDeleteDictionariesDialog($event)"
|
||||
*ngIf="canBulkDelete$(permissionsService.isAdmin()) | async"
|
||||
[tooltip]="'dictionary-listing.bulk.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<div class="attributes-actions-container">
|
||||
<redaction-input-with-action
|
||||
@ -46,13 +46,13 @@
|
||||
type="search"
|
||||
></redaction-input-with-action>
|
||||
<div class="actions">
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="openAddEditDictionaryDialog()"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[label]="'dictionary-listing.add-new' | translate"
|
||||
icon="red:plus"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -102,7 +102,7 @@
|
||||
class="table-item pointer"
|
||||
>
|
||||
<div (click)="toggleEntitySelected($event, dict)" class="selection-column">
|
||||
<redaction-round-checkbox [active]="isSelected(dict)"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox [active]="isSelected(dict)"></iqser-round-checkbox>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@ -134,19 +134,19 @@
|
||||
|
||||
<div class="actions-container">
|
||||
<div *ngIf="permissionsService.isAdmin()" class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openDeleteDictionariesDialog($event, [dict])"
|
||||
[tooltip]="'dictionary-listing.action.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openAddEditDictionaryDialog($event, dict)"
|
||||
[tooltip]="'dictionary-listing.action.edit' | translate"
|
||||
icon="red:edit"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="scrollbar-placeholder"></div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
.header-item {
|
||||
|
||||
@ -15,6 +15,7 @@ import { ScreenStateService } from '@shared/services/screen-state.service';
|
||||
import { SortingService } from '@services/sorting.service';
|
||||
import { BaseListingComponent } from '@shared/base/base-listing.component';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
const toChartConfig = (dict: TypeValueWrapper): DoughnutChartConfig => ({
|
||||
value: dict.entries?.length ?? 0,
|
||||
@ -29,6 +30,9 @@ const toChartConfig = (dict: TypeValueWrapper): DoughnutChartConfig => ({
|
||||
providers: [FilterService, SearchService, ScreenStateService, SortingService]
|
||||
})
|
||||
export class DictionaryListingScreenComponent extends BaseListingComponent<TypeValueWrapper> implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
chartData: DoughnutChartConfig[] = [];
|
||||
|
||||
protected readonly _primaryKey = 'label';
|
||||
|
||||
@ -3,48 +3,48 @@
|
||||
<redaction-admin-breadcrumbs></redaction-admin-breadcrumbs>
|
||||
|
||||
<div class="actions">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openDeleteDictionaryDialog($event)"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[tooltip]="'dictionary-overview.action.delete' | translate"
|
||||
icon="red:trash"
|
||||
tooltipPosition="below"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openEditDictionaryDialog($event)"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[tooltip]="'dictionary-overview.action.edit' | translate"
|
||||
icon="red:edit"
|
||||
tooltipPosition="below"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="download()"
|
||||
[tooltip]="'dictionary-overview.action.download' | translate"
|
||||
icon="red:download"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="fileInput.click()"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[tooltip]="'dictionary-overview.action.upload' | translate"
|
||||
icon="red:upload"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<input #fileInput (change)="upload($event)" accept="text/plain" class="file-upload-input" hidden type="file" />
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[routerLink]="['..']"
|
||||
[tooltip]="'common.close' | translate"
|
||||
class="ml-6"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
.right-container {
|
||||
|
||||
@ -11,13 +11,15 @@ import { DictionaryManagerComponent } from '@shared/components/dictionary-manage
|
||||
import { DictionarySaveService } from '@shared/services/dictionary-save.service';
|
||||
import { TypeValueWrapper } from '@models/file/type-value.wrapper';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-dictionary-overview-screen',
|
||||
templateUrl: './dictionary-overview-screen.component.html',
|
||||
styleUrls: ['./dictionary-overview-screen.component.scss']
|
||||
})
|
||||
export class DictionaryOverviewScreenComponent extends ComponentHasChanges implements OnInit {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
entries: string[] = [];
|
||||
|
||||
@ViewChild('dictionaryManager', { static: false })
|
||||
|
||||
@ -73,21 +73,21 @@
|
||||
</div>
|
||||
|
||||
<div [class.hidden]="!hasDigitalSignatureSet" class="changes-box">
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="saveDigitalSignature()"
|
||||
[disabled]="digitalSignatureForm.invalid"
|
||||
[label]="'digital-signature-screen.action.save' | translate"
|
||||
icon="red:check"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="removeDigitalSignature()"
|
||||
*ngIf="digitalSignatureExists"
|
||||
[label]="'digital-signature-screen.action.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
|
||||
<div
|
||||
(click)="loadDigitalSignatureAndInitializeForm()"
|
||||
|
||||
@ -4,9 +4,10 @@ import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
import { Toaster } from '@services/toaster.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { lastIndexOfEnd } from '@utils/functions';
|
||||
import { AutoUnsubscribeComponent } from '@shared/base/auto-unsubscribe.component';
|
||||
import { AutoUnsubscribeComponent } from '@iqser/common-ui';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-digital-signature-screen',
|
||||
@ -14,6 +15,8 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
styleUrls: ['./digital-signature-screen.component.scss']
|
||||
})
|
||||
export class DigitalSignatureScreenComponent extends AutoUnsubscribeComponent implements OnDestroy {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
|
||||
digitalSignature: DigitalSignature;
|
||||
digitalSignatureForm: FormGroup;
|
||||
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
<div class="actions flex-1">
|
||||
<redaction-dossier-template-actions></redaction-dossier-template-actions>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[routerLink]="['../..']"
|
||||
[tooltip]="'common.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -21,11 +21,11 @@
|
||||
|
||||
<div class="content-container">
|
||||
<div *ngIf="(screenStateService.noData$ | async) === false" class="header-item">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
(click)="toggleSelectAll()"
|
||||
[active]="screenStateService.areAllEntitiesSelected$ | async"
|
||||
[indeterminate]="screenStateService.notAllEntitiesSelected$ | async"
|
||||
></redaction-round-checkbox>
|
||||
></iqser-round-checkbox>
|
||||
|
||||
<span class="all-caps-label">
|
||||
{{
|
||||
@ -34,13 +34,13 @@
|
||||
}}
|
||||
</span>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openConfirmDeleteAttributeDialog($event)"
|
||||
*ngIf="permissionsService.isAdmin() && screenStateService.areSomeEntitiesSelected$ | async"
|
||||
[tooltip]="'dossier-attributes-listing.bulk.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<div class="attributes-actions-container">
|
||||
<redaction-input-with-action
|
||||
@ -49,13 +49,13 @@
|
||||
type="search"
|
||||
></redaction-input-with-action>
|
||||
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="openAddEditAttributeDialog($event)"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[label]="'dossier-attributes-listing.add-new' | translate"
|
||||
icon="red:plus"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -102,7 +102,7 @@
|
||||
class="table-item pointer"
|
||||
>
|
||||
<div (click)="toggleEntitySelected($event, attribute)" class="selection-column">
|
||||
<redaction-round-checkbox [active]="isSelected(attribute)"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox [active]="isSelected(attribute)"></iqser-round-checkbox>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@ -118,19 +118,19 @@
|
||||
</div>
|
||||
<div class="actions-container">
|
||||
<div *ngIf="permissionsService.isAdmin()" class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openAddEditAttributeDialog($event, attribute)"
|
||||
[tooltip]="'dossier-attributes-listing.action.edit' | translate"
|
||||
icon="red:edit"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openConfirmDeleteAttributeDialog($event, attribute)"
|
||||
[tooltip]="'dossier-attributes-listing.action.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="scrollbar-placeholder"></div>
|
||||
|
||||
@ -12,6 +12,7 @@ import { ScreenStateService } from '@shared/services/screen-state.service';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
|
||||
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './dossier-attributes-listing-screen.component.html',
|
||||
@ -19,7 +20,9 @@ import { dossierAttributeTypesTranslations } from '../../translations/dossier-at
|
||||
providers: [FilterService, SearchService, ScreenStateService, SortingService]
|
||||
})
|
||||
export class DossierAttributesListingScreenComponent extends BaseListingComponent<DossierAttributeConfig> implements OnInit {
|
||||
translations = dossierAttributeTypesTranslations;
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = dossierAttributeTypesTranslations;
|
||||
protected readonly _primaryKey = 'label';
|
||||
|
||||
constructor(
|
||||
|
||||
@ -12,11 +12,11 @@
|
||||
<div class="red-content-inner">
|
||||
<div class="content-container">
|
||||
<div class="header-item">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
(click)="toggleSelectAll()"
|
||||
[active]="screenStateService.areAllEntitiesSelected$ | async"
|
||||
[indeterminate]="screenStateService.notAllEntitiesSelected$ | async"
|
||||
></redaction-round-checkbox>
|
||||
></iqser-round-checkbox>
|
||||
|
||||
<span class="all-caps-label">
|
||||
{{
|
||||
@ -25,13 +25,13 @@
|
||||
}}
|
||||
</span>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openDeleteTemplatesDialog($event)"
|
||||
*ngIf="canBulkDelete$(permissionsService.isAdmin()) | async"
|
||||
[tooltip]="'dossier-templates-listing.bulk.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<div class="actions flex-1">
|
||||
<redaction-input-with-action
|
||||
@ -40,13 +40,13 @@
|
||||
type="search"
|
||||
></redaction-input-with-action>
|
||||
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="openAddDossierTemplateDialog()"
|
||||
*ngIf="permissionsService.isAdmin() && userPreferenceService.areDevFeaturesEnabled"
|
||||
[label]="'dossier-templates-listing.add-new' | translate"
|
||||
icon="red:plus"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -94,7 +94,7 @@
|
||||
class="table-item pointer"
|
||||
>
|
||||
<div (click)="toggleEntitySelected($event, dossierTemplate)" class="selection-column">
|
||||
<redaction-round-checkbox [active]="isSelected(dossierTemplate)"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox [active]="isSelected(dossierTemplate)"></iqser-round-checkbox>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
.header-item {
|
||||
|
||||
@ -11,6 +11,7 @@ import { SearchService } from '@shared/services/search.service';
|
||||
import { ScreenStateService } from '@shared/services/screen-state.service';
|
||||
import { BaseListingComponent } from '@shared/base/base-listing.component';
|
||||
import { SortingService } from '@services/sorting.service';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './dossier-templates-listing-screen.component.html',
|
||||
@ -19,7 +20,9 @@ import { SortingService } from '@services/sorting.service';
|
||||
providers: [FilterService, SearchService, ScreenStateService, SortingService]
|
||||
})
|
||||
export class DossierTemplatesListingScreenComponent extends BaseListingComponent<DossierTemplateModelWrapper> implements OnInit {
|
||||
protected _primaryKey = 'name';
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
protected readonly _primaryKey = 'name';
|
||||
|
||||
constructor(
|
||||
private readonly _dialogService: AdminDialogService,
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
<div class="actions flex-1">
|
||||
<redaction-dossier-template-actions></redaction-dossier-template-actions>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[routerLink]="['../..']"
|
||||
[tooltip]="'common.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -21,11 +21,11 @@
|
||||
|
||||
<div class="content-container">
|
||||
<div class="header-item">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
(click)="toggleSelectAll()"
|
||||
[active]="screenStateService.areAllEntitiesSelected$ | async"
|
||||
[indeterminate]="screenStateService.notAllEntitiesSelected$ | async"
|
||||
></redaction-round-checkbox>
|
||||
></iqser-round-checkbox>
|
||||
|
||||
<span class="all-caps-label">
|
||||
{{
|
||||
@ -33,13 +33,13 @@
|
||||
}}
|
||||
</span>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(click)="openConfirmDeleteAttributeDialog($event)"
|
||||
*ngIf="canBulkDelete$(permissionsService.isAdmin()) | async"
|
||||
[tooltip]="'file-attributes-listing.bulk-actions.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<div class="attributes-actions-container">
|
||||
<redaction-input-with-action
|
||||
@ -49,22 +49,22 @@
|
||||
></redaction-input-with-action>
|
||||
<input #fileInput (change)="importCSV($event.target['files'])" accept=".csv" class="csv-input" type="file" />
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="fileInput.click()"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[tooltip]="'file-attributes-listing.upload-csv' | translate"
|
||||
icon="red:upload"
|
||||
tooltipPosition="above"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="openAddEditAttributeDialog($event)"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[label]="'file-attributes-listing.add-new' | translate"
|
||||
icon="red:plus"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -121,7 +121,7 @@
|
||||
<!-- Table lines -->
|
||||
<div *cdkVirtualFor="let attribute of sortedDisplayedEntities$ | async" class="table-item">
|
||||
<div (click)="toggleEntitySelected($event, attribute)" class="selection-column">
|
||||
<redaction-round-checkbox [active]="isSelected(attribute)"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox [active]="isSelected(attribute)"></iqser-round-checkbox>
|
||||
</div>
|
||||
|
||||
<div class="label">
|
||||
@ -142,24 +142,22 @@
|
||||
{{ attribute.csvColumnHeader }}
|
||||
</div>
|
||||
<div class="center">
|
||||
<redaction-round-checkbox *ngIf="attribute.primaryAttribute" [active]="true" [size]="18"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox *ngIf="attribute.primaryAttribute" [active]="true" [size]="18"></iqser-round-checkbox>
|
||||
</div>
|
||||
<div class="actions-container">
|
||||
<div *ngIf="permissionsService.isAdmin()" class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openAddEditAttributeDialog($event, attribute)"
|
||||
[tooltip]="'file-attributes-listing.action.edit' | translate"
|
||||
icon="red:edit"
|
||||
type="dark-bg"
|
||||
>
|
||||
</redaction-circle-button>
|
||||
<redaction-circle-button
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
<iqser-circle-button
|
||||
(action)="openConfirmDeleteAttributeDialog($event, attribute)"
|
||||
[tooltip]="'file-attributes-listing.action.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
>
|
||||
</redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="scrollbar-placeholder"></div>
|
||||
|
||||
@ -67,6 +67,6 @@ redaction-table-col-name::ng-deep {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.table-item > div:not(.selection-column) redaction-round-checkbox {
|
||||
.table-item > div:not(.selection-column) iqser-round-checkbox {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
@ -11,6 +11,7 @@ import { ScreenStateService } from '@shared/services/screen-state.service';
|
||||
import { SortingService } from '@services/sorting.service';
|
||||
import { BaseListingComponent } from '@shared/base/base-listing.component';
|
||||
import { fileAttributeTypesTranslations } from '../../translations/file-attribute-types-translations';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './file-attributes-listing-screen.component.html',
|
||||
@ -19,7 +20,9 @@ import { fileAttributeTypesTranslations } from '../../translations/file-attribut
|
||||
providers: [FilterService, SearchService, ScreenStateService, SortingService]
|
||||
})
|
||||
export class FileAttributesListingScreenComponent extends BaseListingComponent<FileAttributeConfig> implements OnInit, OnDestroy {
|
||||
translations = fileAttributeTypesTranslations;
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = fileAttributeTypesTranslations;
|
||||
protected readonly _primaryKey = 'label';
|
||||
private _existingConfiguration: FileAttributesConfig;
|
||||
@ViewChild('fileInput') private _fileInput: ElementRef;
|
||||
|
||||
@ -8,14 +8,14 @@
|
||||
<div class="breadcrumb" translate="configurations"></div>
|
||||
|
||||
<div class="actions">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
*ngIf="permissionsService.isUser()"
|
||||
class="ml-6"
|
||||
icon="red:close"
|
||||
redactionNavigateLastDossiersScreen
|
||||
tooltip="common.close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -164,12 +164,12 @@
|
||||
{{ 'general-config-screen.actions.save' | translate }}
|
||||
</button>
|
||||
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="testConnection()"
|
||||
[disabled]="smtpForm.invalid"
|
||||
[label]="'general-config-screen.actions.test-connection' | translate"
|
||||
type="show-bg"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
.content-container {
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { Component, OnInit } from '@angular/core';
|
||||
import { Component, OnDestroy, OnInit } from '@angular/core';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
@ -8,20 +8,22 @@ import {
|
||||
SmtpConfigurationControllerService,
|
||||
SMTPConfigurationModel
|
||||
} from '@redaction/red-ui-http';
|
||||
import { AppConfigService } from '../../../app-config/app-config.service';
|
||||
import { AutoUnsubscribeComponent } from '../../../shared/base/auto-unsubscribe.component';
|
||||
import { Toaster } from '../../../../services/toaster.service';
|
||||
import { LoadingService } from '../../../../services/loading.service';
|
||||
import { AppConfigService } from '@app-config/app-config.service';
|
||||
import { AutoUnsubscribeComponent } from '@iqser/common-ui';
|
||||
import { Toaster } from '@services/toaster.service';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-general-config-screen',
|
||||
templateUrl: './general-config-screen.component.html',
|
||||
styleUrls: ['./general-config-screen.component.scss']
|
||||
})
|
||||
export class GeneralConfigScreenComponent extends AutoUnsubscribeComponent implements OnInit {
|
||||
configForm: FormGroup;
|
||||
smtpForm: FormGroup;
|
||||
export class GeneralConfigScreenComponent extends AutoUnsubscribeComponent implements OnInit, OnDestroy {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly configForm: FormGroup;
|
||||
readonly smtpForm: FormGroup;
|
||||
|
||||
private _initialGeneralConfiguration: GeneralConfigurationModel;
|
||||
private _initialSMTPConfiguration: SMTPConfigurationModel;
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.content-container {
|
||||
overflow: auto;
|
||||
|
||||
@ -4,9 +4,9 @@ import { LicenseReport, LicenseReportControllerService } from '@redaction/red-ui
|
||||
import { AppConfigService } from '@app-config/app-config.service';
|
||||
import * as moment from 'moment';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { ButtonConfig } from '@shared/components/page-header/models/button-config.model';
|
||||
import { IconButtonTypes } from '@shared/components/buttons/icon-button/icon-button.component';
|
||||
import { LoadingService } from '../../../../services/loading.service';
|
||||
import { ButtonConfig } from '../../../shared/components/page-header/models/button-config.model';
|
||||
import { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
|
||||
@Component({
|
||||
@ -38,7 +38,7 @@ export class LicenseInformationScreenComponent implements OnInit {
|
||||
{
|
||||
label: _('license-info-screen.email-report'),
|
||||
action: () => this.sendMail(),
|
||||
type: IconButtonTypes.PRIMARY
|
||||
type: IconButtonTypes.primary
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
<div class="actions flex-1">
|
||||
<redaction-dossier-template-actions></redaction-dossier-template-actions>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[routerLink]="['../..']"
|
||||
[tooltip]="'common.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -44,12 +44,12 @@
|
||||
<div class="right-container" redactionHasScrollbar>
|
||||
<div class="header">
|
||||
<div class="heading" translate="reports-screen.report-documents"></div>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="fileInput.click()"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[tooltip]="'reports-screen.upload-document' | translate"
|
||||
icon="red:upload"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
<div
|
||||
@ -63,19 +63,19 @@
|
||||
<div class="name">{{ template.fileName }}</div>
|
||||
|
||||
<div class="actions">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="download(template)"
|
||||
[iconSize]="12"
|
||||
[size]="18"
|
||||
icon="red:download"
|
||||
></redaction-circle-button>
|
||||
<redaction-circle-button
|
||||
></iqser-circle-button>
|
||||
<iqser-circle-button
|
||||
(action)="deleteTemplate(template)"
|
||||
*ngIf="permissionsService.isAdmin()"
|
||||
[iconSize]="12"
|
||||
[size]="18"
|
||||
icon="red:trash"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
.page-header .actions {
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
<div class="flex-1 actions">
|
||||
<redaction-dossier-template-actions></redaction-dossier-template-actions>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[routerLink]="['../..']"
|
||||
[tooltip]="'common.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -23,12 +23,12 @@
|
||||
<ngx-monaco-editor (init)="onCodeEditorInit($event)" [(ngModel)]="codeEditorText" [options]="editorOptions"></ngx-monaco-editor>
|
||||
</div>
|
||||
<div *ngIf="hasChanges && permissionsService.isAdmin()" class="changes-box">
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="save()"
|
||||
[label]="'rules-screen.save-changes' | translate"
|
||||
icon="red:check"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
<div (click)="revert()" class="all-caps-label cancel" translate="rules-screen.revert-changes"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -13,6 +13,7 @@ import { LoadingService } from '../../../../services/loading.service';
|
||||
import ICodeEditor = monaco.editor.ICodeEditor;
|
||||
import IModelDeltaDecoration = monaco.editor.IModelDeltaDecoration;
|
||||
import IStandaloneEditorConstructionOptions = monaco.editor.IStandaloneEditorConstructionOptions;
|
||||
import { IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-rules-screen',
|
||||
@ -20,7 +21,8 @@ import IStandaloneEditorConstructionOptions = monaco.editor.IStandaloneEditorCon
|
||||
styleUrls: ['./rules-screen.component.scss']
|
||||
})
|
||||
export class RulesScreenComponent extends ComponentHasChanges implements OnInit {
|
||||
editorOptions: IStandaloneEditorConstructionOptions = {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly editorOptions: IStandaloneEditorConstructionOptions = {
|
||||
theme: 'vs',
|
||||
language: 'java',
|
||||
automaticLayout: true,
|
||||
|
||||
@ -6,31 +6,31 @@
|
||||
<div class="red-content-inner">
|
||||
<div class="content-container">
|
||||
<div class="header-item">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
(click)="toggleSelectAll()"
|
||||
[active]="screenStateService.areAllEntitiesSelected$ | async"
|
||||
[indeterminate]="screenStateService.notAllEntitiesSelected$ | async"
|
||||
></redaction-round-checkbox>
|
||||
></iqser-round-checkbox>
|
||||
|
||||
<span class="all-caps-label">
|
||||
{{ 'trash.table-header.title' | translate: { length: (screenStateService.displayedLength$ | async) } }}
|
||||
</span>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="bulkRestore()"
|
||||
*ngIf="screenStateService.areSomeEntitiesSelected$ | async"
|
||||
[tooltip]="'trash.bulk.restore' | translate"
|
||||
icon="red:put-back"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="bulkDelete()"
|
||||
*ngIf="screenStateService.areSomeEntitiesSelected$ | async"
|
||||
[tooltip]="'trash.bulk.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
<div [class.no-data]="screenStateService.noData$ | async" class="table-header" redactionSyncWidth="table-item">
|
||||
@ -69,7 +69,7 @@
|
||||
<cdk-virtual-scroll-viewport [itemSize]="itemSize" redactionHasScrollbar>
|
||||
<div *cdkVirtualFor="let entity of sortedDisplayedEntities$ | async; trackBy: trackByPrimaryKey" class="table-item">
|
||||
<div (click)="toggleEntitySelected($event, entity)" class="selection-column">
|
||||
<redaction-round-checkbox [active]="isSelected(entity)"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox [active]="isSelected(entity)"></iqser-round-checkbox>
|
||||
</div>
|
||||
|
||||
<div class="filename">
|
||||
@ -105,20 +105,20 @@
|
||||
{{ getRestoreDate(entity.softDeletedTime) | date: 'timeFromNow' }}
|
||||
</div>
|
||||
<div class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
*ngIf="canRestore(entity.softDeletedTime)"
|
||||
(action)="bulkRestore([entity.dossierId])"
|
||||
[tooltip]="'trash.action.restore' | translate"
|
||||
icon="red:put-back"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="bulkDelete([entity.dossierId])"
|
||||
[tooltip]="'trash.action.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
.header-item {
|
||||
padding: 0 24px 0 10px;
|
||||
|
||||
redaction-circle-button:not(:last-child) {
|
||||
iqser-circle-button:not(:last-child) {
|
||||
margin-right: 4px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@ -2,7 +2,7 @@ import { ChangeDetectionStrategy, Component, Injector, OnInit } from '@angular/c
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { Dossier } from '@redaction/red-ui-http';
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { AppConfigKey, AppConfigService } from '../../../app-config/app-config.service';
|
||||
import { AppConfigKey, AppConfigService } from '@app-config/app-config.service';
|
||||
import * as moment from 'moment';
|
||||
import { FilterService } from '@shared/services/filter.service';
|
||||
import { SearchService } from '@shared/services/search.service';
|
||||
@ -10,6 +10,7 @@ import { ScreenStateService } from '@shared/services/screen-state.service';
|
||||
import { SortingService } from '@services/sorting.service';
|
||||
import { BaseListingComponent } from '@shared/base/base-listing.component';
|
||||
import { DossiersService } from '../../../dossier/services/dossiers.service';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
const HOURS_IN_A_DAY = 24;
|
||||
const MINUTES_IN_AN_HOUR = 60;
|
||||
@ -21,6 +22,7 @@ const MINUTES_IN_AN_HOUR = 60;
|
||||
providers: [FilterService, SearchService, ScreenStateService, SortingService, DossiersService]
|
||||
})
|
||||
export class TrashScreenComponent extends BaseListingComponent<Dossier> implements OnInit {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly itemSize = 80;
|
||||
protected readonly _primaryKey = 'dossierName';
|
||||
private readonly _deleteRetentionHours = this._appConfigService.getConfig(AppConfigKey.DELETE_RETENTION_HOURS);
|
||||
|
||||
@ -13,38 +13,38 @@
|
||||
[placeholder]="'user-listing.search' | translate"
|
||||
type="search"
|
||||
></redaction-input-with-action>
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="openAddEditUserDialog($event)"
|
||||
*ngIf="permissionsService.isUserAdmin()"
|
||||
[label]="'user-listing.add-new' | translate"
|
||||
icon="red:plus"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
<redaction-circle-button
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
<iqser-circle-button
|
||||
*ngIf="permissionsService.isUser()"
|
||||
[tooltip]="'common.close' | translate"
|
||||
class="ml-6"
|
||||
icon="red:close"
|
||||
redactionNavigateLastDossiersScreen
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="red-content-inner">
|
||||
<div [class.extended]="collapsedDetails" class="content-container">
|
||||
<div class="header-item">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
(click)="toggleSelectAll()"
|
||||
[active]="screenStateService.areAllEntitiesSelected$ | async"
|
||||
[indeterminate]="screenStateService.notAllEntitiesSelected$ | async"
|
||||
></redaction-round-checkbox>
|
||||
></iqser-round-checkbox>
|
||||
|
||||
<span class="all-caps-label">
|
||||
{{ 'user-listing.table-header.title' | translate: { length: (screenStateService.displayedLength$ | async) } }}
|
||||
</span>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="bulkDelete()"
|
||||
*ngIf="screenStateService.areSomeEntitiesSelected$ | async"
|
||||
[disabled]="(canDeleteSelected$ | async) === false"
|
||||
@ -55,8 +55,8 @@
|
||||
"
|
||||
icon="red:trash"
|
||||
tooltipPosition="after"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
<div class="table-header" redactionSyncWidth="table-item">
|
||||
@ -83,7 +83,7 @@
|
||||
<!-- Table lines -->
|
||||
<div *cdkVirtualFor="let user of sortedDisplayedEntities$ | async; trackBy: trackByPrimaryKey" class="table-item">
|
||||
<div (click)="toggleEntitySelected($event, user)" class="selection-column">
|
||||
<redaction-round-checkbox [active]="isSelected(user)"></redaction-round-checkbox>
|
||||
<iqser-round-checkbox [active]="isSelected(user)"></iqser-round-checkbox>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
@ -104,19 +104,19 @@
|
||||
<div class="small-label">{{ getDisplayRoles(user) }}</div>
|
||||
<div class="actions-container">
|
||||
<div class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openAddEditUserDialog($event, user)"
|
||||
[tooltip]="'user-listing.action.edit' | translate"
|
||||
icon="red:edit"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
<redaction-circle-button
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
<iqser-circle-button
|
||||
(action)="openDeleteUsersDialog([user], $event)"
|
||||
[disabled]="user.userId === userService.userId"
|
||||
[tooltip]="'user-listing.action.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="scrollbar-placeholder"></div>
|
||||
|
||||
@ -54,7 +54,7 @@
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
redaction-icon-button:not(:last-child) {
|
||||
iqser-icon-button:not(:last-child) {
|
||||
margin-right: 6px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,6 +16,7 @@ import { BaseListingComponent } from '@shared/base/base-listing.component';
|
||||
import { Observable } from 'rxjs';
|
||||
import { map } from 'rxjs/operators';
|
||||
import { rolesTranslations } from '../../../../translations/roles-translations';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './user-listing-screen.component.html',
|
||||
@ -23,10 +24,12 @@ import { rolesTranslations } from '../../../../translations/roles-translations';
|
||||
providers: [FilterService, SearchService, ScreenStateService, SortingService]
|
||||
})
|
||||
export class UserListingScreenComponent extends BaseListingComponent<User> implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly canDeleteSelected$ = this._canDeleteSelected$;
|
||||
collapsedDetails = false;
|
||||
chartData: DoughnutChartConfig[] = [];
|
||||
translations = rolesTranslations;
|
||||
readonly translations = rolesTranslations;
|
||||
protected readonly _primaryKey = 'userId';
|
||||
@ViewChildren(InitialsAvatarComponent)
|
||||
private readonly _avatars: QueryList<InitialsAvatarComponent>;
|
||||
|
||||
@ -5,12 +5,12 @@
|
||||
<div class="actions flex-1">
|
||||
<redaction-dossier-template-actions></redaction-dossier-template-actions>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
[routerLink]="['../..']"
|
||||
[tooltip]="'common.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -22,13 +22,13 @@
|
||||
<div class="content-container">
|
||||
<div #viewer class="viewer"></div>
|
||||
<div *ngIf="changed && permissionsService.isAdmin()" class="changes-box">
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="save()"
|
||||
[disabled]="configForm.invalid"
|
||||
[label]="'watermark-screen.action.save' | translate"
|
||||
icon="red:check"
|
||||
type="primary"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
<div (click)="revert()" class="all-caps-label cancel" translate="watermark-screen.action.revert"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.page-header .actions {
|
||||
display: flex;
|
||||
|
||||
@ -13,6 +13,7 @@ import { BASE_HREF } from '../../../../tokens';
|
||||
import { stampPDFPage } from '../../../../utils/page-stamper';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { LoadingService } from '../../../../services/loading.service';
|
||||
import { IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
export const DEFAULT_WATERMARK: WatermarkModelRes = {
|
||||
text: null,
|
||||
@ -21,7 +22,7 @@ export const DEFAULT_WATERMARK: WatermarkModelRes = {
|
||||
fontSize: 11,
|
||||
fontType: 'sans-serif',
|
||||
orientation: WatermarkModelRes.OrientationEnum.DIAGONAL
|
||||
};
|
||||
} as const;
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-watermark-screen',
|
||||
@ -29,6 +30,7 @@ export const DEFAULT_WATERMARK: WatermarkModelRes = {
|
||||
styleUrls: ['./watermark-screen.component.scss']
|
||||
})
|
||||
export class WatermarkScreenComponent implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
configForm: FormGroup;
|
||||
private _instance: WebViewerInstance;
|
||||
private _watermark: WatermarkModelRes = {};
|
||||
|
||||
@ -11,7 +11,7 @@ import { AddEditUserDialogComponent } from '../dialogs/add-edit-user-dialog/add-
|
||||
import { ConfirmDeleteUsersDialogComponent } from '../dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component';
|
||||
import { FileAttributesCsvImportDialogComponent } from '../dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component';
|
||||
import { ComponentType } from '@angular/cdk/portal';
|
||||
import { DialogService } from '@shared/services/dialog.service';
|
||||
import { DialogService, largeDialogConfig } from '@shared/services/dialog.service';
|
||||
import { AddEditDossierAttributeDialogComponent } from '../dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component';
|
||||
|
||||
type DialogType =
|
||||
@ -57,7 +57,7 @@ export class AdminDialogService extends DialogService<DialogType> {
|
||||
},
|
||||
importFileAttributes: {
|
||||
component: FileAttributesCsvImportDialogComponent,
|
||||
dialogConfig: this._largeConfig
|
||||
dialogConfig: largeDialogConfig
|
||||
},
|
||||
deleteUsers: {
|
||||
component: ConfirmDeleteUsersDialogComponent,
|
||||
|
||||
@ -1,118 +1,118 @@
|
||||
<div *ngIf="canPerformAnnotationActions" [class.always-visible]="alwaysVisible" class="annotation-actions">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="annotationActionsService.changeLegalBasis($event, annotations, annotationsChanged)"
|
||||
*ngIf="annotationPermissions.canChangeLegalBasis"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.edit-reason.label' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:edit"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="annotationActionsService.convertRecommendationToAnnotation($event, annotations, annotationsChanged)"
|
||||
*ngIf="annotationPermissions.canAcceptRecommendation"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.accept-recommendation.label' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:check"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="annotationActionsService.acceptSuggestion($event, annotations, annotationsChanged)"
|
||||
*ngIf="annotationPermissions.canAcceptSuggestion"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.accept-suggestion.label' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:check"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="annotationActionsService.undoDirectAction($event, annotations, annotationsChanged)"
|
||||
*ngIf="annotationPermissions.canUndo"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.undo' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:undo"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="annotationActionsService.rejectSuggestion($event, annotations, annotationsChanged)"
|
||||
*ngIf="annotationPermissions.canRejectSuggestion"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.reject-suggestion' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:trash"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="annotationActionsService.recategorizeImage($event, annotations, annotationsChanged)"
|
||||
*ngIf="annotationPermissions.canRecategorizeImage"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.recategorize-image' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:thumb-down"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="annotationActionsService.markAsFalsePositive($event, annotations, annotationsChanged)"
|
||||
*ngIf="annotationPermissions.canMarkTextOnlyAsFalsePositive && !annotationPermissions.canPerformMultipleRemoveActions"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.remove-annotation.false-positive' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:thumb-down"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="annotationActionsService.forceRedaction($event, annotations, annotationsChanged)"
|
||||
*ngIf="annotationPermissions.canForceRedaction"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.force-redaction.label' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:thumb-up"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="hideAnnotation($event)"
|
||||
*ngIf="isImage && isVisible"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.hide' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:visibility-off"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="showAnnotation($event)"
|
||||
*ngIf="isImage && !isVisible"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.show' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:visibility"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="suggestRemoveAnnotations($event, true)"
|
||||
*ngIf="annotationPermissions.canRemoveOrSuggestToRemoveFromDictionary"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.remove-annotation.remove-from-dict' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:remove-from-dict"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="markAsFalsePositive($event)"
|
||||
*ngIf="annotationPermissions.canMarkAsFalsePositive"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.remove-annotation.false-positive' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:thumb-down"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="suggestRemoveAnnotations($event, false)"
|
||||
*ngIf="annotationPermissions.canRemoveOrSuggestToRemoveOnlyHere"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'annotation-actions.remove-annotation.only-here' | translate"
|
||||
[type]="btnType"
|
||||
[type]="buttonType"
|
||||
icon="red:trash"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.annotation-actions {
|
||||
display: none;
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
display: block;
|
||||
}
|
||||
|
||||
|
||||
@ -6,13 +6,20 @@ import { AnnotationPermissions } from '@models/file/annotation.permissions';
|
||||
import { AnnotationActionsService } from '../../services/annotation-actions.service';
|
||||
import { WebViewerInstance } from '@pdftron/webviewer';
|
||||
|
||||
export const AnnotationButtonTypes = {
|
||||
dark: 'dark',
|
||||
primary: 'primary'
|
||||
} as const;
|
||||
|
||||
export type AnnotationButtonType = keyof typeof AnnotationButtonTypes;
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-annotation-actions',
|
||||
templateUrl: './annotation-actions.component.html',
|
||||
styleUrls: ['./annotation-actions.component.scss']
|
||||
})
|
||||
export class AnnotationActionsComponent implements OnInit {
|
||||
@Input() btnType: 'dark-bg' | 'primary' = 'dark-bg';
|
||||
@Input() buttonType: AnnotationButtonType = AnnotationButtonTypes.dark;
|
||||
@Input() tooltipPosition: 'before' | 'above' = 'before';
|
||||
@Input() canPerformAnnotationActions: boolean;
|
||||
@Input() viewer: WebViewerInstance;
|
||||
|
||||
@ -1,78 +1,78 @@
|
||||
<ng-container *ngIf="areSomeFilesSelected">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="delete()"
|
||||
*ngIf="canDelete"
|
||||
[tooltip]="'dossier-overview.bulk.delete' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="assign()"
|
||||
*ngIf="canAssign"
|
||||
[tooltip]="assignTooltip"
|
||||
icon="red:assign"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="assignToMe()"
|
||||
*ngIf="canAssignToSelf"
|
||||
[tooltip]="'dossier-overview.assign-me' | translate"
|
||||
icon="red:assign-me"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="setToUnderApproval()"
|
||||
*ngIf="canSetToUnderApproval"
|
||||
[tooltip]="'dossier-overview.under-approval' | translate"
|
||||
icon="red:ready-for-approval"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="setToUnderReview()"
|
||||
*ngIf="canSetToUnderReview"
|
||||
[tooltip]="'dossier-overview.under-review' | translate"
|
||||
icon="red:undo"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-file-download-btn [dossier]="dossier" [file]="selectedFiles"></redaction-file-download-btn>
|
||||
|
||||
<!-- Approved-->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="approveDocuments()"
|
||||
*ngIf="isReadyForApproval"
|
||||
[disabled]="!canApprove"
|
||||
[tooltip]="canApprove ? ('dossier-overview.approve' | translate) : ('dossier-overview.approve-disabled' | translate)"
|
||||
icon="red:approved"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- Back to approval -->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="setToUnderApproval()"
|
||||
*ngIf="canUndoApproval"
|
||||
[tooltip]="'dossier-overview.under-approval' | translate"
|
||||
icon="red:undo"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="ocr()"
|
||||
*ngIf="canOcr"
|
||||
[tooltip]="'dossier-overview.ocr-file' | translate"
|
||||
icon="red:ocr"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="reanalyse()"
|
||||
*ngIf="canReanalyse"
|
||||
[tooltip]="'dossier-overview.bulk.reanalyse' | translate"
|
||||
icon="red:refresh"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</ng-container>
|
||||
|
||||
@ -11,6 +11,7 @@ import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/con
|
||||
import { ScreenStateService } from '@shared/services/screen-state.service';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-dossier-overview-bulk-actions',
|
||||
@ -18,6 +19,8 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
styleUrls: ['./dossier-overview-bulk-actions.component.scss']
|
||||
})
|
||||
export class DossierOverviewBulkActionsComponent {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
@Output()
|
||||
reload = new EventEmitter();
|
||||
|
||||
|
||||
@ -5,14 +5,14 @@
|
||||
<div>{{ comment.date | date: 'd MMM. yyyy, hh:mm a' }}</div>
|
||||
</div>
|
||||
<div class="comment-actions">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="deleteComment(comment)"
|
||||
*ngIf="permissionsService.canDeleteComment(comment)"
|
||||
[iconSize]="10"
|
||||
[size]="20"
|
||||
class="pointer"
|
||||
icon="red:trash"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div>{{ comment.text }}</div>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
:host {
|
||||
display: flex;
|
||||
|
||||
@ -1,17 +1,17 @@
|
||||
<div class="right-title heading" translate="file-preview.tabs.document-info.label">
|
||||
<div>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="edit()"
|
||||
[tooltip]="'file-preview.tabs.document-info.edit' | translate"
|
||||
icon="red:edit"
|
||||
tooltipPosition="before"
|
||||
></redaction-circle-button>
|
||||
<redaction-circle-button
|
||||
></iqser-circle-button>
|
||||
<iqser-circle-button
|
||||
(action)="closeDocumentInfoView.emit()"
|
||||
[tooltip]="'file-preview.tabs.document-info.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="before"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
:host {
|
||||
@ -28,7 +28,7 @@
|
||||
.right-title > div {
|
||||
display: flex;
|
||||
|
||||
> redaction-circle-button:not(:last-child) {
|
||||
> iqser-circle-button:not(:last-child) {
|
||||
margin-right: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-components';
|
||||
@import '../../../../../assets/styles/red-text-styles';
|
||||
|
||||
|
||||
@ -17,14 +17,14 @@
|
||||
<ng-container *ngIf="!editingOwner; else editOwner">
|
||||
<redaction-initials-avatar [userId]="owner.userId" [withName]="true" color="gray" size="large"></redaction-initials-avatar>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="editingOwner = true"
|
||||
*ngIf="permissionsService.isManager()"
|
||||
[tooltip]="'dossier-details.edit-owner' | translate"
|
||||
class="ml-14"
|
||||
icon="red:edit"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</ng-container>
|
||||
</div>
|
||||
</div>
|
||||
@ -81,10 +81,10 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #collapsible let-action="action" let-tooltip="tooltip">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="toggleCollapse.emit()"
|
||||
[icon]="'red:' + action"
|
||||
[tooltip]="tooltip"
|
||||
tooltipPosition="before"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.header-wrapper {
|
||||
display: flex;
|
||||
@ -9,7 +9,7 @@
|
||||
max-width: 88%;
|
||||
}
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
position: absolute;
|
||||
top: -8px;
|
||||
left: 290px;
|
||||
|
||||
@ -1,20 +1,20 @@
|
||||
<redaction-status-bar [config]="getDossierStatusConfig(dossier)"></redaction-status-bar>
|
||||
<div [class.active]="actionMenuOpen" class="action-buttons">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openEditDossierDialog($event, dossier)"
|
||||
*ngIf="permissionsService.isManager()"
|
||||
[tooltip]="'dossier-listing.edit.action' | translate"
|
||||
icon="red:edit"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="reanalyseDossier($event, dossier)"
|
||||
*ngIf="permissionsService.displayReanalyseBtn(dossier)"
|
||||
[tooltip]="'dossier-listing.reanalyse.action' | translate"
|
||||
icon="red:refresh"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-file-download-btn [dossier]="dossier" [file]="dossier.files" type="dark-bg"></redaction-file-download-btn>
|
||||
<redaction-file-download-btn [dossier]="dossier" [file]="dossier.files" [type]="circleButtonTypes.dark"></redaction-file-download-btn>
|
||||
</div>
|
||||
|
||||
@ -4,6 +4,7 @@ import { DossierWrapper } from '@state/model/dossier.wrapper';
|
||||
import { StatusSorter } from '@utils/sorters/status-sorter';
|
||||
import { AppStateService } from '@state/app-state.service';
|
||||
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-dossier-listing-actions',
|
||||
@ -11,6 +12,8 @@ import { DossiersDialogService } from '../../services/dossiers-dialog.service';
|
||||
styleUrls: ['./dossier-listing-actions.component.scss']
|
||||
})
|
||||
export class DossierListingActionsComponent {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
@Input() dossier: DossierWrapper;
|
||||
@Output() actionPerformed = new EventEmitter<DossierWrapper | undefined>();
|
||||
actionMenuOpen = false;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
:host {
|
||||
flex: 1;
|
||||
|
||||
@ -10,32 +10,32 @@
|
||||
<ng-template #actions>
|
||||
<div class="file-actions" *ngIf="fileStatus">
|
||||
<!-- delete-->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openDeleteFileDialog($event)"
|
||||
*ngIf="permissionsService.canDeleteFile(fileStatus)"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'dossier-overview.delete.action' | translate"
|
||||
[type]="buttonType"
|
||||
icon="red:trash"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="assign($event)"
|
||||
*ngIf="canAssign && screen === 'dossier-overview'"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="assignTooltip"
|
||||
[type]="buttonType"
|
||||
icon="red:assign"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="assignToMe($event)"
|
||||
*ngIf="canAssignToSelf && screen === 'dossier-overview'"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'dossier-overview.assign-me' | translate"
|
||||
[type]="buttonType"
|
||||
icon="red:assign-me"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- download redacted file-->
|
||||
<redaction-file-download-btn
|
||||
@ -46,16 +46,16 @@
|
||||
[type]="buttonType"
|
||||
></redaction-file-download-btn>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="toggleViewDocumentInfo()"
|
||||
*ngIf="screen === 'file-preview'"
|
||||
[attr.aria-expanded]="activeDocumentInfo"
|
||||
[tooltip]="'file-preview.document-info' | translate"
|
||||
icon="red:status-info"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="toggleExcludePages()"
|
||||
*ngIf="screen === 'file-preview'"
|
||||
[attr.aria-expanded]="activeExcludePages"
|
||||
@ -63,30 +63,30 @@
|
||||
[tooltip]="'file-preview.exclude-pages' | translate"
|
||||
icon="red:exclude-pages"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- Ready for approval-->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="setFileUnderApproval($event)"
|
||||
*ngIf="canSetToUnderApproval"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'dossier-overview.under-approval' | translate"
|
||||
[type]="buttonType"
|
||||
icon="red:ready-for-approval"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- Back to review -->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="setFileUnderReview($event, true)"
|
||||
*ngIf="canSetToUnderReview"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'dossier-overview.under-review' | translate"
|
||||
[type]="buttonType"
|
||||
icon="red:undo"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- Approved-->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="setFileApproved($event)"
|
||||
*ngIf="permissionsService.isReadyForApproval(fileStatus)"
|
||||
[disabled]="!permissionsService.canApprove(fileStatus)"
|
||||
@ -98,47 +98,47 @@
|
||||
"
|
||||
[type]="buttonType"
|
||||
icon="red:approved"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- Back to approval -->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="setFileUnderApproval($event)"
|
||||
*ngIf="canUndoApproval"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'dossier-overview.under-approval' | translate"
|
||||
[type]="buttonType"
|
||||
icon="red:undo"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="ocrFile($event)"
|
||||
*ngIf="canOcr"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'dossier-overview.ocr-file' | translate"
|
||||
[type]="buttonType"
|
||||
icon="red:ocr"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- reanalyse file preview -->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="reanalyseFile($event)"
|
||||
*ngIf="canReanalyse && screen === 'file-preview'"
|
||||
[tooltip]="'file-preview.reanalyse-notification' | translate"
|
||||
icon="red:refresh"
|
||||
tooltipClass="warn small"
|
||||
tooltipPosition="below"
|
||||
type="warn"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.warn"
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- reanalyse file listing -->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="reanalyseFile($event)"
|
||||
*ngIf="canReanalyse && screen === 'dossier-overview'"
|
||||
[tooltipPosition]="tooltipPosition"
|
||||
[tooltip]="'dossier-overview.reanalyse.action' | translate"
|
||||
icon="red:refresh"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- exclude from redaction -->
|
||||
<div class="red-input-group">
|
||||
|
||||
@ -9,6 +9,7 @@ import { LoadingService } from '@services/loading.service';
|
||||
import { FileManagementControllerService } from '@redaction/red-ui-http';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-file-actions',
|
||||
@ -16,6 +17,8 @@ import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
styleUrls: ['./file-actions.component.scss']
|
||||
})
|
||||
export class FileActionsComponent implements OnInit {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
@Input() fileStatus: FileStatusWrapper;
|
||||
@Input() activeDocumentInfo: boolean;
|
||||
@Input() activeExcludePages: boolean;
|
||||
@ -43,7 +46,7 @@ export class FileActionsComponent implements OnInit {
|
||||
}
|
||||
|
||||
get buttonType() {
|
||||
return this.screen === 'file-preview' ? 'default' : 'dark-bg';
|
||||
return this.screen === 'file-preview' ? CircleButtonTypes.default : CircleButtonTypes.dark;
|
||||
}
|
||||
|
||||
get toggleTooltip(): string {
|
||||
|
||||
@ -17,12 +17,12 @@
|
||||
</div>
|
||||
<div *ngIf="excludePages" class="right-title heading" translate="file-preview.tabs.exclude-pages.label">
|
||||
<div>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="actionPerformed.emit('view-exclude-pages')"
|
||||
[tooltip]="'file-preview.tabs.exclude-pages.close' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="before"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-content">
|
||||
@ -38,11 +38,11 @@
|
||||
</div>
|
||||
<div *ngIf="multiSelectActive" class="multi-select">
|
||||
<div class="selected-wrapper">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
(click)="!!selectedAnnotations?.length && selectAnnotations.emit()"
|
||||
[indeterminate]="!!selectedAnnotations?.length"
|
||||
type="red-bg"
|
||||
></redaction-round-checkbox>
|
||||
type="with-bg"
|
||||
></iqser-round-checkbox>
|
||||
<span class="all-caps-label">{{ selectedAnnotations?.length || 0 }} selected </span>
|
||||
<redaction-annotation-actions
|
||||
(annotationsChanged)="annotationsChanged.emit($event)"
|
||||
@ -51,11 +51,11 @@
|
||||
[annotations]="selectedAnnotations"
|
||||
[canPerformAnnotationActions]="!isReadOnly"
|
||||
[viewer]="viewer"
|
||||
btnType="primary"
|
||||
buttonType="primary"
|
||||
tooltipPosition="above"
|
||||
></redaction-annotation-actions>
|
||||
</div>
|
||||
<redaction-circle-button (action)="multiSelectActive = false" icon="red:close" type="primary"></redaction-circle-button>
|
||||
<iqser-circle-button (action)="multiSelectActive = false" icon="red:close" [type]="circleButtonTypes.primary"></iqser-circle-button>
|
||||
</div>
|
||||
<div [class.lower-height]="multiSelectActive || isReadOnly" class="annotations-wrapper">
|
||||
<div
|
||||
@ -147,21 +147,21 @@
|
||||
</ng-container>
|
||||
</redaction-empty-state>
|
||||
<div class="no-annotations-buttons-container mt-32">
|
||||
<redaction-icon-button
|
||||
<iqser-icon-button
|
||||
(action)="jumpToPreviousWithAnnotations()"
|
||||
[disabled]="activeViewerPage <= displayedPages[0]"
|
||||
[label]="'file-preview.tabs.annotations.jump-to-previous' | translate"
|
||||
icon="red:nav-prev"
|
||||
type="show-bg"
|
||||
></redaction-icon-button>
|
||||
<redaction-icon-button
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
<iqser-icon-button
|
||||
(action)="jumpToNextWithAnnotations()"
|
||||
[disabled]="activeViewerPage >= displayedPages[displayedPages.length - 1]"
|
||||
[label]="'file-preview.tabs.annotations.jump-to-next' | translate"
|
||||
class="mt-8"
|
||||
icon="red:nav-next"
|
||||
type="show-bg"
|
||||
></redaction-icon-button>
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</ng-container>
|
||||
|
||||
@ -195,10 +195,10 @@
|
||||
</div>
|
||||
|
||||
<div class="active-icon-marker-container">
|
||||
<redaction-round-checkbox
|
||||
<iqser-round-checkbox
|
||||
*ngIf="multiSelectActive && isSelected(annotation)"
|
||||
[active]="true"
|
||||
></redaction-round-checkbox>
|
||||
></iqser-round-checkbox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -244,10 +244,10 @@
|
||||
</ng-template>
|
||||
|
||||
<ng-template #annotationFilterActionTemplate let-filter="filter">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="toggleSkipped.emit($event)"
|
||||
*ngIf="filter.key === 'skipped'"
|
||||
[icon]="hideSkipped ? 'red:visibility-off' : 'red:visibility'"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</ng-template>
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
.read-only {
|
||||
@ -41,7 +41,7 @@
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
redaction-icon-button {
|
||||
iqser-icon-button {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@ -59,7 +59,7 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
redaction-round-checkbox.inactive {
|
||||
iqser-round-checkbox .wrapper.inactive {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
|
||||
@ -21,6 +21,7 @@ import { FilterModel } from '@shared/components/filters/popup-filter/model/filte
|
||||
import { CommentsComponent } from '../comments/comments.component';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { WebViewerInstance } from '@pdftron/webviewer';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape'];
|
||||
const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];
|
||||
@ -31,6 +32,9 @@ const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];
|
||||
styleUrls: ['./file-workload.component.scss']
|
||||
})
|
||||
export class FileWorkloadComponent {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
displayedAnnotations: { [key: number]: { annotations: AnnotationWrapper[] } } = {};
|
||||
@Input() selectedAnnotations: AnnotationWrapper[];
|
||||
@Input() activeViewerPage: number;
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import 'apps/red-ui/src/assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.needs-work {
|
||||
display: flex;
|
||||
|
||||
@ -21,12 +21,12 @@
|
||||
{{ range.startPage }}
|
||||
</ng-container>
|
||||
<ng-container *ngIf="range.startPage !== range.endPage"> {{ range.startPage }} -{{ range.endPage }} </ng-container>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="includePagesRange(range)"
|
||||
*ngIf="permissionsService.canExcludePages()"
|
||||
[tooltip]="'file-preview.tabs.exclude-pages.put-back' | translate"
|
||||
icon="red:undo"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
@import '../../../../../assets/styles/red-mixins';
|
||||
|
||||
:host {
|
||||
@ -29,14 +29,14 @@
|
||||
justify-content: space-between;
|
||||
height: 50px;
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: $grey-8;
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
display: initial;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
@import '../../../../../assets/styles/red-variables';
|
||||
@import '../../../../../assets/styles/variables';
|
||||
|
||||
.page-wrapper {
|
||||
color: $grey-1;
|
||||
color: $accent;
|
||||
position: relative;
|
||||
padding: 12px 14px 12px 8px;
|
||||
cursor: pointer;
|
||||
@ -12,7 +12,7 @@
|
||||
}
|
||||
|
||||
&.active {
|
||||
border-left: 4px solid $red-1;
|
||||
border-left: 4px solid $primary;
|
||||
}
|
||||
|
||||
mat-icon {
|
||||
@ -38,7 +38,7 @@
|
||||
color: $grey-5;
|
||||
|
||||
.text {
|
||||
color: $grey-1;
|
||||
color: $accent;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user