move circle button to common lib
This commit is contained in:
parent
9289d692ef
commit
498fe51e80
@ -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>
|
||||
|
||||
@ -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 @@
|
||||
<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>
|
||||
|
||||
@ -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,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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -50,7 +50,7 @@
|
||||
*ngIf="user"
|
||||
[label]="'add-edit-user.actions.delete' | translate"
|
||||
icon="red:trash"
|
||||
[type]="iconButtonTypes.show_bg"
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
|
||||
<div class="all-caps-label cancel" mat-dialog-close translate="add-edit-user.actions.cancel"></div>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -9,19 +9,19 @@
|
||||
</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>
|
||||
|
||||
@ -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>
|
||||
@ -146,13 +146,13 @@
|
||||
</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>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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,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>
|
||||
|
||||
@ -31,13 +31,13 @@
|
||||
{{ '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
|
||||
@ -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>
|
||||
|
||||
@ -15,7 +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 { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
const toChartConfig = (dict: TypeValueWrapper): DoughnutChartConfig => ({
|
||||
value: dict.entries?.length ?? 0,
|
||||
@ -31,6 +31,7 @@ const toChartConfig = (dict: TypeValueWrapper): DoughnutChartConfig => ({
|
||||
})
|
||||
export class DictionaryListingScreenComponent extends BaseListingComponent<TypeValueWrapper> implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
chartData: DoughnutChartConfig[] = [];
|
||||
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -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 })
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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
|
||||
@ -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,7 +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 { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './dossier-attributes-listing-screen.component.html',
|
||||
@ -21,6 +21,7 @@ import { IconButtonTypes } from '@iqser/common-ui';
|
||||
})
|
||||
export class DossierAttributesListingScreenComponent extends BaseListingComponent<DossierAttributeConfig> implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = dossierAttributeTypesTranslations;
|
||||
protected readonly _primaryKey = '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
|
||||
|
||||
@ -11,7 +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 { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './dossier-templates-listing-screen.component.html',
|
||||
@ -21,6 +21,7 @@ import { IconButtonTypes } from '@iqser/common-ui';
|
||||
})
|
||||
export class DossierTemplatesListingScreenComponent extends BaseListingComponent<DossierTemplateModelWrapper> implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
protected readonly _primaryKey = 'name';
|
||||
|
||||
constructor(
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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,14 +49,14 @@
|
||||
></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>
|
||||
|
||||
<iqser-icon-button
|
||||
(action)="openAddEditAttributeDialog($event)"
|
||||
@ -146,20 +146,18 @@
|
||||
</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>
|
||||
|
||||
@ -11,7 +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 { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './file-attributes-listing-screen.component.html',
|
||||
@ -21,6 +21,7 @@ import { IconButtonTypes } from '@iqser/common-ui';
|
||||
})
|
||||
export class FileAttributesListingScreenComponent extends BaseListingComponent<FileAttributeConfig> implements OnInit, OnDestroy {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = fileAttributeTypesTranslations;
|
||||
protected readonly _primaryKey = 'label';
|
||||
private _existingConfiguration: FileAttributesConfig;
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -168,7 +168,7 @@
|
||||
(action)="testConnection()"
|
||||
[disabled]="smtpForm.invalid"
|
||||
[label]="'general-config-screen.actions.test-connection' | translate"
|
||||
[type]="iconButtonTypes.show_bg"
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -16,21 +16,21 @@
|
||||
{{ '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">
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
.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);
|
||||
|
||||
@ -20,14 +20,14 @@
|
||||
icon="red:plus"
|
||||
[type]="iconButtonTypes.primary"
|
||||
></iqser-icon-button>
|
||||
<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>
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
{{ '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">
|
||||
@ -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>
|
||||
|
||||
@ -16,7 +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 { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './user-listing-screen.component.html',
|
||||
@ -25,6 +25,7 @@ import { IconButtonTypes } from '@iqser/common-ui';
|
||||
})
|
||||
export class UserListingScreenComponent extends BaseListingComponent<User> implements OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly canDeleteSelected$ = this._canDeleteSelected$;
|
||||
collapsedDetails = false;
|
||||
chartData: DoughnutChartConfig[] = [];
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
.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,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>
|
||||
|
||||
|
||||
@ -28,7 +28,7 @@
|
||||
.right-title > div {
|
||||
display: flex;
|
||||
|
||||
> redaction-circle-button:not(:last-child) {
|
||||
> iqser-circle-button:not(:last-child) {
|
||||
margin-right: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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">
|
||||
@ -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
|
||||
@ -152,7 +152,7 @@
|
||||
[disabled]="activeViewerPage <= displayedPages[0]"
|
||||
[label]="'file-preview.tabs.annotations.jump-to-previous' | translate"
|
||||
icon="red:nav-prev"
|
||||
[type]="iconButtonTypes.show_bg"
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
<iqser-icon-button
|
||||
(action)="jumpToNextWithAnnotations()"
|
||||
@ -160,7 +160,7 @@
|
||||
[label]="'file-preview.tabs.annotations.jump-to-next' | translate"
|
||||
class="mt-8"
|
||||
icon="red:nav-next"
|
||||
[type]="iconButtonTypes.show_bg"
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</ng-container>
|
||||
@ -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>
|
||||
|
||||
@ -21,7 +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 { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
const COMMAND_KEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Escape'];
|
||||
const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];
|
||||
@ -33,6 +33,7 @@ const ALL_HOTKEY_ARRAY = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown'];
|
||||
})
|
||||
export class FileWorkloadComponent {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
displayedAnnotations: { [key: number]: { annotations: AnnotationWrapper[] } } = {};
|
||||
@Input() selectedAnnotations: AnnotationWrapper[];
|
||||
|
||||
@ -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>
|
||||
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
<div *ngIf="overflowCount && !expandedTeam" [class.large-spacing]="largeSpacing" class="member pointer">
|
||||
<div (click)="toggleExpandedTeam()" class="oval large white-dark">+{{ overflowCount }}</div>
|
||||
</div>
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="openAssignDossierMembersDialog.emit()"
|
||||
*ngIf="permissionsService.isManager() && canAdd"
|
||||
[class.large-spacing]="largeSpacing"
|
||||
@ -22,8 +22,7 @@
|
||||
[tooltip]="'dossier-details.assign-members' | translate"
|
||||
class="member"
|
||||
icon="red:plus"
|
||||
type="primary"
|
||||
>
|
||||
</redaction-circle-button>
|
||||
[type]="circleButtonTypes.primary"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
<div (click)="toggleExpandedTeam()" *ngIf="expandedTeam" class="all-caps-label see-less pointer" translate="dossier-details.see-less"></div>
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
||||
import { PermissionsService } from '@services/permissions.service';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-team-members',
|
||||
@ -7,6 +8,8 @@ import { PermissionsService } from '@services/permissions.service';
|
||||
styleUrls: ['./team-members.component.scss']
|
||||
})
|
||||
export class TeamMembersComponent {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
@Input() memberIds: string[];
|
||||
@Input() perLine: number;
|
||||
@Input() canAdd = true;
|
||||
|
||||
@ -87,12 +87,12 @@
|
||||
[disabled]="disabled"
|
||||
[label]="'add-dossier-dialog.actions.save-and-add-members' | translate"
|
||||
icon="red:assign"
|
||||
[type]="iconButtonTypes.show_bg"
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
</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">
|
||||
|
||||
@ -30,5 +30,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>
|
||||
|
||||
@ -35,5 +35,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>
|
||||
|
||||
@ -15,5 +15,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>
|
||||
|
||||
@ -20,5 +20,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>
|
||||
|
||||
@ -57,7 +57,7 @@
|
||||
[label]="'edit-dossier-dialog.attributes.upload-image' | translate"
|
||||
class="upload-button"
|
||||
icon="red:upload"
|
||||
[type]="iconButtonTypes.show_bg"
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
|
||||
<input
|
||||
@ -72,18 +72,18 @@
|
||||
/>
|
||||
</div>
|
||||
<div *ngIf="currentAttrValue(attr) && canEdit">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="deleteAttr(attr)"
|
||||
[tooltip]="'edit-dossier-dialog.attributes.delete-image' | translate"
|
||||
icon="red:trash"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
<redaction-circle-button
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
<iqser-circle-button
|
||||
(action)="fileInputClick(attr)"
|
||||
[tooltip]="'edit-dossier-dialog.attributes.upload-image' | translate"
|
||||
icon="red:upload"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -64,7 +64,7 @@
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
redaction-circle-button:not(:last-child) {
|
||||
iqser-circle-button:not(:last-child) {
|
||||
margin-right: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
@ -8,7 +8,7 @@ import { FormBuilder, FormGroup } from '@angular/forms';
|
||||
import * as moment from 'moment';
|
||||
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
|
||||
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
|
||||
import { IconButtonTypes } from '@iqser/common-ui';
|
||||
import { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-edit-dossier-attributes',
|
||||
@ -17,6 +17,7 @@ import { IconButtonTypes } from '@iqser/common-ui';
|
||||
})
|
||||
export class EditDossierAttributesComponent implements EditDossierSectionInterface, OnInit {
|
||||
readonly iconButtonTypes = IconButtonTypes;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
@Input() dossierWrapper: DossierWrapper;
|
||||
@Output() updateDossier = new EventEmitter<any>();
|
||||
|
||||
@ -75,5 +75,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>
|
||||
|
||||
@ -61,7 +61,7 @@
|
||||
*ngIf="permissionsService.canDeleteDossier(dossierWrapper)"
|
||||
[label]="'dossier-listing.delete.action' | translate"
|
||||
icon="red:trash"
|
||||
[type]="iconButtonTypes.show_bg"
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@ -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>
|
||||
|
||||
@ -70,5 +70,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>
|
||||
|
||||
@ -30,5 +30,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>
|
||||
|
||||
@ -49,5 +49,5 @@
|
||||
</button>
|
||||
</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>
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
tooltipPosition="below"
|
||||
></redaction-file-download-btn>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="reanalyseDossier()"
|
||||
*ngIf="permissionsService.displayReanalyseBtn()"
|
||||
[disabled]="screenStateService.areSomeEntitiesSelected$ | async"
|
||||
@ -19,17 +19,17 @@
|
||||
[tooltip]="'dossier-overview.new-rule.toast.actions.reanalyse-all' | translate"
|
||||
icon="red:refresh"
|
||||
tooltipPosition="below"
|
||||
type="warn"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.warn"
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="fileInput.click()"
|
||||
[tooltip]="'dossier-overview.header-actions.upload-document' | translate"
|
||||
class="ml-14"
|
||||
icon="red:upload"
|
||||
tooltipPosition="below"
|
||||
type="primary"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.primary"
|
||||
></iqser-circle-button>
|
||||
</redaction-page-header>
|
||||
|
||||
<div class="overlay-shadow"></div>
|
||||
|
||||
@ -35,6 +35,7 @@ import { UserPreferenceService } from '@services/user-preference.service';
|
||||
import { workloadTranslations } from '../../translations/workload-translations';
|
||||
import { fileStatusTranslations } from '../../translations/file-status-translations';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
templateUrl: './dossier-overview-screen.component.html',
|
||||
@ -45,14 +46,16 @@ export class DossierOverviewScreenComponent
|
||||
extends BaseListingComponent<FileStatusWrapper>
|
||||
implements OnInit, OnDestroy, OnDetach, OnAttach
|
||||
{
|
||||
private readonly _lastOpenedFileKey = 'Dossier-Recent-' + this.activeDossier.dossierId;
|
||||
protected readonly _primaryKey = 'filename';
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
readonly itemSize = 80;
|
||||
collapsedDetails = false;
|
||||
actionConfigs: ActionConfig[];
|
||||
dossierAttributes: DossierAttributeWithValue[] = [];
|
||||
protected readonly _primaryKey = 'filename';
|
||||
@ViewChild(DossierDetailsComponent, { static: false })
|
||||
private readonly _dossierDetailsComponent: DossierDetailsComponent;
|
||||
private readonly _lastOpenedFileKey = 'Dossier-Recent-' + this.activeDossier.dossierId;
|
||||
private _lastScrollPosition: number;
|
||||
|
||||
@ViewChild('needsWorkTemplate', { read: TemplateRef, static: true })
|
||||
|
||||
@ -63,21 +63,21 @@
|
||||
></redaction-assign-user-dropdown>
|
||||
|
||||
<div *ngIf="canAssign" class="assign-actions-wrapper">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="editingReviewer = true"
|
||||
*ngIf="permissionsService.canAssignUser() && currentReviewer"
|
||||
[tooltip]="assignTooltip"
|
||||
icon="red:edit"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="assignToMe()"
|
||||
*ngIf="permissionsService.canAssignToSelf()"
|
||||
[tooltip]="'file-preview.assign-me' | translate"
|
||||
icon="red:assign-me"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
<ng-container *ngIf="permissionsService.isApprover() && !!lastReviewer">
|
||||
@ -93,27 +93,27 @@
|
||||
[activeExcludePages]="excludePages"
|
||||
></redaction-file-actions>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="toggleFullScreen()"
|
||||
[icon]="fullScreen ? 'red:exit-fullscreen' : 'red:fullscreen'"
|
||||
[tooltip]="'file-preview.fullscreen' | translate"
|
||||
class="ml-2"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- Dev Mode Features-->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="downloadOriginalFile()"
|
||||
*ngIf="userPreferenceService.areDevFeaturesEnabled"
|
||||
[tooltip]="'file-preview.download-original-file' | translate"
|
||||
class="ml-8"
|
||||
icon="red:download"
|
||||
tooltipPosition="below"
|
||||
type="primary"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.primary"
|
||||
></iqser-circle-button>
|
||||
<!-- End Dev Mode Features-->
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="closeFullScreen()"
|
||||
*ngIf="!fullScreen"
|
||||
[routerLink]="['/main/dossiers/' + appStateService.activeDossierId]"
|
||||
@ -121,7 +121,7 @@
|
||||
class="ml-8"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -36,7 +36,7 @@ import { handleFilterDelta, processFilters } from '@shared/components/filters/po
|
||||
import { LoadingService } from '@services/loading.service';
|
||||
import { stampPDFPage } from '@utils/page-stamper';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { AutoUnsubscribeComponent } from '@iqser/common-ui';
|
||||
import { AutoUnsubscribeComponent, CircleButtonTypes } from '@iqser/common-ui';
|
||||
import { fileStatusTranslations } from '../../translations/file-status-translations';
|
||||
|
||||
const ALL_HOTKEY_ARRAY = ['Escape', 'F', 'f'];
|
||||
@ -47,6 +47,9 @@ const ALL_HOTKEY_ARRAY = ['Escape', 'F', 'f'];
|
||||
styleUrls: ['./file-preview-screen.component.scss']
|
||||
})
|
||||
export class FilePreviewScreenComponent extends AutoUnsubscribeComponent implements OnInit, OnDestroy, OnAttach, OnDetach {
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
readonly translations = fileStatusTranslations;
|
||||
|
||||
dialogRef: MatDialogRef<any>;
|
||||
viewMode: ViewMode = 'STANDARD';
|
||||
fullScreen = false;
|
||||
@ -63,7 +66,6 @@ export class FilePreviewScreenComponent extends AutoUnsubscribeComponent impleme
|
||||
viewDocumentInfo = false;
|
||||
excludePages = false;
|
||||
@ViewChild(PdfViewerComponent) viewerComponent: PdfViewerComponent;
|
||||
readonly translations = fileStatusTranslations;
|
||||
private _instance: WebViewerInstance;
|
||||
private _lastPage: string;
|
||||
private _reloadFileOnReanalysis = false;
|
||||
|
||||
@ -10,20 +10,20 @@
|
||||
</mat-select>
|
||||
</div>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="save.emit(value)"
|
||||
[tooltip]="'assign-user.save' | translate"
|
||||
class="pl-1"
|
||||
icon="red:check"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="value = oldUser; cancel.emit()"
|
||||
[tooltip]="'assign-user.cancel' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
|
||||
<ng-template #avatar let-userId="userId">
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
margin-left: 2px;
|
||||
|
||||
&:first-of-type {
|
||||
|
||||
@ -1,15 +0,0 @@
|
||||
<div [matTooltipClass]="tooltipClass" [matTooltipPosition]="tooltipPosition" [matTooltip]="tooltip">
|
||||
<button
|
||||
(click)="performAction($event)"
|
||||
[class.dark-bg]="type === 'dark-bg'"
|
||||
[class.overlay]="showDot"
|
||||
[class.primary]="type === 'primary'"
|
||||
[class.warn]="type === 'warn'"
|
||||
[disabled]="disabled"
|
||||
[type]="isSubmit ? 'submit' : 'button'"
|
||||
mat-icon-button
|
||||
>
|
||||
<mat-icon [svgIcon]="icon"></mat-icon>
|
||||
</button>
|
||||
<div *ngIf="showDot" class="dot"></div>
|
||||
</div>
|
||||
@ -1,41 +0,0 @@
|
||||
@import '../../../../../../assets/styles/variables';
|
||||
|
||||
:host {
|
||||
height: var(--size);
|
||||
width: var(--size);
|
||||
align-items: center;
|
||||
|
||||
button {
|
||||
height: var(--size);
|
||||
width: var(--size);
|
||||
line-height: var(--size);
|
||||
|
||||
mat-icon {
|
||||
width: var(--iconSize);
|
||||
height: var(--iconSize);
|
||||
line-height: var(--iconSize);
|
||||
margin: 0;
|
||||
|
||||
svg {
|
||||
line-height: var(--iconSize);
|
||||
}
|
||||
}
|
||||
|
||||
&.mat-button-disabled {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
&.primary.mat-button-disabled {
|
||||
background-color: $grey-6;
|
||||
color: $white !important;
|
||||
}
|
||||
|
||||
&.warn:not([disabled]) {
|
||||
background-color: $yellow-2;
|
||||
|
||||
&:hover {
|
||||
background-color: $yellow-2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,47 +0,0 @@
|
||||
import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';
|
||||
import { MatTooltip } from '@angular/material/tooltip';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-circle-button',
|
||||
templateUrl: './circle-button.component.html',
|
||||
styleUrls: ['./circle-button.component.scss'],
|
||||
changeDetection: ChangeDetectionStrategy.OnPush
|
||||
})
|
||||
export class CircleButtonComponent implements OnInit {
|
||||
@Input() icon: string;
|
||||
@Input() tooltip: string;
|
||||
@Input() showDot = false;
|
||||
@Input() tooltipPosition: 'above' | 'below' | 'before' | 'after' = 'above';
|
||||
@Input() tooltipClass: string;
|
||||
@Input() disabled = false;
|
||||
@Input() type: 'default' | 'primary' | 'warn' | 'dark-bg' = 'default';
|
||||
@Input() removeTooltip = false;
|
||||
@Input() size = 34;
|
||||
@Input() iconSize = 14;
|
||||
@Input() isSubmit = false;
|
||||
@Output() action = new EventEmitter<any>();
|
||||
|
||||
@ViewChild(MatTooltip) matTooltip: MatTooltip;
|
||||
|
||||
constructor(private _elRef: ElementRef) {}
|
||||
|
||||
ngOnInit(): void {
|
||||
this._elRef.nativeElement.style.setProperty('--size', this.size + 'px');
|
||||
this._elRef.nativeElement.style.setProperty('--iconSize', this.iconSize + 'px');
|
||||
}
|
||||
|
||||
performAction($event: any) {
|
||||
if (!this.disabled) {
|
||||
if (this.removeTooltip) {
|
||||
this.matTooltip.hide();
|
||||
// Timeout to allow tooltip to disappear first,
|
||||
// useful when removing an item from the list without a confirmation dialog
|
||||
setTimeout(() => {
|
||||
this.action.emit($event);
|
||||
}, 0);
|
||||
} else {
|
||||
this.action.emit($event);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,4 +1,4 @@
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="downloadFiles($event)"
|
||||
[disabled]="disabled || !canDownloadFiles"
|
||||
[tooltipClass]="tooltipClass"
|
||||
@ -6,4 +6,4 @@
|
||||
[tooltip]="tooltip"
|
||||
[type]="type"
|
||||
icon="red:download"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
@ -4,7 +4,7 @@ import { DossierWrapper } from '@state/model/dossier.wrapper';
|
||||
import { FileStatusWrapper } from '@models/file/file-status.wrapper';
|
||||
import { FileDownloadService } from '@upload-download/services/file-download.service';
|
||||
import { Toaster } from '@services/toaster.service';
|
||||
import { AutoUnsubscribeComponent } from '@iqser/common-ui';
|
||||
import { AutoUnsubscribeComponent, CircleButtonType, CircleButtonTypes } from '@iqser/common-ui';
|
||||
import { TranslateService } from '@ngx-translate/core';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
|
||||
@ -20,7 +20,7 @@ export class FileDownloadBtnComponent extends AutoUnsubscribeComponent implement
|
||||
@Input() dossier: DossierWrapper;
|
||||
@Input() file: FileStatusWrapper | FileStatusWrapper[];
|
||||
@Input() tooltipPosition: 'above' | 'below' | 'before' | 'after' = 'above';
|
||||
@Input() type: 'default' | 'primary' | 'warn' | 'dark-bg' = 'default';
|
||||
@Input() type: CircleButtonType = CircleButtonTypes.default;
|
||||
@Input() tooltipClass: string;
|
||||
@Input() disabled = false;
|
||||
|
||||
|
||||
@ -13,22 +13,22 @@
|
||||
<!-- Search-->
|
||||
<mat-icon *ngIf="type === 'search' && !hasContent" class="icon-right" svgIcon="red:search"></mat-icon>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="clearContent()"
|
||||
*ngIf="type === 'search' && hasContent"
|
||||
[disabled]="form.invalid"
|
||||
[size]="25"
|
||||
icon="red:close"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
|
||||
<!-- Submit-->
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="executeAction($event)"
|
||||
*ngIf="type === 'action'"
|
||||
[disabled]="!hasContent"
|
||||
[icon]="icon"
|
||||
[isSubmit]="true"
|
||||
[size]="25"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@ -7,7 +7,7 @@ mat-icon.disabled {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
redaction-circle-button {
|
||||
iqser-circle-button {
|
||||
position: absolute;
|
||||
top: 4px;
|
||||
right: 5px;
|
||||
|
||||
@ -34,26 +34,26 @@
|
||||
</ng-container>
|
||||
|
||||
<ng-container *ngFor="let config of actionConfigs; trackBy: trackByLabel">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="config.action($event)"
|
||||
*ngIf="!config.hide"
|
||||
[icon]="config.icon"
|
||||
[tooltip]="config.label"
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</ng-container>
|
||||
|
||||
<!-- Extra custom actions here -->
|
||||
<ng-content></ng-content>
|
||||
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
*ngIf="showCloseButton"
|
||||
[class.ml-6]="actionConfigs"
|
||||
[tooltip]="'common.close' | translate"
|
||||
icon="red:close"
|
||||
redactionNavigateLastDossiersScreen
|
||||
tooltipPosition="below"
|
||||
></redaction-circle-button>
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -22,5 +22,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>
|
||||
|
||||
@ -6,7 +6,6 @@ import { InitialsAvatarComponent } from './components/initials-avatar/initials-a
|
||||
import { ScrollingModule } from '@angular/cdk/scrolling';
|
||||
import { TableColNameComponent } from './components/table-col-name/table-col-name.component';
|
||||
import { PaginationComponent } from './components/pagination/pagination.component';
|
||||
import { CircleButtonComponent } from './components/buttons/circle-button/circle-button.component';
|
||||
import { FileDownloadBtnComponent } from './components/buttons/file-download-btn/file-download-btn.component';
|
||||
import { UserButtonComponent } from './components/buttons/user-button/user-button.component';
|
||||
import { MatConfigModule } from '../mat-config/mat-config.module';
|
||||
@ -40,7 +39,7 @@ import { DatePipe } from '@shared/pipes/date.pipe';
|
||||
import { TableHeaderComponent } from './components/table-header/table-header.component';
|
||||
import { CommonUiModule } from '@iqser/common-ui';
|
||||
|
||||
const buttons = [CircleButtonComponent, FileDownloadBtnComponent, UserButtonComponent];
|
||||
const buttons = [FileDownloadBtnComponent, UserButtonComponent];
|
||||
|
||||
const components = [
|
||||
FullPageLoadingIndicatorComponent,
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
<iqser-icon-button
|
||||
(action)="selectOption('skip')"
|
||||
[label]="'overwrite-files-dialog.options.skip' | translate"
|
||||
[type]="iconButtonTypes.show_bg"
|
||||
[type]="iconButtonTypes.dark"
|
||||
></iqser-icon-button>
|
||||
<div (click)="cancel()" class="all-caps-label cancel" translate="overwrite-files-dialog.options.cancel"></div>
|
||||
</div>
|
||||
|
||||
@ -3,8 +3,8 @@
|
||||
<div class="title flex-1">
|
||||
{{ 'upload-status.dialog.title' | translate: { len: uploadService.files.length } }}
|
||||
</div>
|
||||
<redaction-circle-button [icon]="'red:status-' + (collapsed ? 'expand' : 'collapse')"></redaction-circle-button>
|
||||
<redaction-circle-button (action)="closeDialog()" icon="red:close"></redaction-circle-button>
|
||||
<iqser-circle-button [icon]="'red:status-' + (collapsed ? 'expand' : 'collapse')"></iqser-circle-button>
|
||||
<iqser-circle-button (action)="closeDialog()" icon="red:close"></iqser-circle-button>
|
||||
</div>
|
||||
<div [hidden]="collapsed" class="upload-download-list">
|
||||
<div *ngFor="let dossierId of uploadService.activeDossierKeys">
|
||||
@ -39,21 +39,21 @@
|
||||
</div>
|
||||
|
||||
<div *ngIf="model.error || !model.completed" [class.error]="model.error" class="actions">
|
||||
<redaction-circle-button
|
||||
<iqser-circle-button
|
||||
(action)="uploadItem(model)"
|
||||
*ngIf="model.error && !model.sizeError"
|
||||
[tooltip]="'upload-status.dialog.actions.re-upload' | translate"
|
||||
icon="red:refresh"
|
||||
tooltipPosition="before"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
<redaction-circle-button
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
<iqser-circle-button
|
||||
(action)="cancelItem(model)"
|
||||
[tooltip]="'upload-status.dialog.actions.cancel' | translate"
|
||||
icon="red:close"
|
||||
tooltipPosition="before"
|
||||
type="dark-bg"
|
||||
></redaction-circle-button>
|
||||
[type]="circleButtonTypes.dark"
|
||||
></iqser-circle-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -2,6 +2,7 @@ import { ChangeDetectorRef, Component, OnInit } from '@angular/core';
|
||||
import { FileUploadModel } from '../model/file-upload.model';
|
||||
import { FileUploadService } from '../services/file-upload.service';
|
||||
import { OverlayRef } from '@angular/cdk/overlay';
|
||||
import { CircleButtonTypes } from '@iqser/common-ui';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-upload-status-overlay',
|
||||
@ -9,8 +10,9 @@ import { OverlayRef } from '@angular/cdk/overlay';
|
||||
styleUrls: ['./upload-status-overlay.component.scss']
|
||||
})
|
||||
export class UploadStatusOverlayComponent implements OnInit {
|
||||
collapsed = true;
|
||||
readonly circleButtonTypes = CircleButtonTypes;
|
||||
|
||||
collapsed = true;
|
||||
uploadStatusInterval: number;
|
||||
|
||||
constructor(
|
||||
|
||||
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