move input with action to common lib, update icons namespace

This commit is contained in:
Dan Percic 2021-08-21 15:29:20 +03:00 committed by Timo Bejan
parent eed3aecf4a
commit fa44c6332a
83 changed files with 224 additions and 604 deletions

View File

@ -70,7 +70,7 @@
<iqser-circle-button
(action)="openSpotlightSearch()"
*ngIf="(isSearchScreen$ | async) === false"
[icon]="'red:search'"
[icon]="'iqser:search'"
[tooltip]="'search.header-label' | translate"
tooltipPosition="below"
redactionHelpMode="search"

View File

@ -4,5 +4,5 @@
<img src="assets/illustrations/illustration.gif" alt="" width="335" />
<p class="pre" [innerHTML]="'help-mode.clicking-anywhere-on' | translate"></p>
</div>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -10,7 +10,11 @@
</a>
<div class="close">
(esc)
<iqser-circle-button class="dialog-close" icon="red:close" (click)="helpModeService.deactivateHelpMode()"></iqser-circle-button>
<iqser-circle-button
class="dialog-close"
icon="iqser:close"
(click)="helpModeService.deactivateHelpMode()"
></iqser-circle-button>
</div>
</div>
</div>

View File

@ -3,9 +3,9 @@
<input id="query" type="text" formControlName="query" autocomplete="off" class="spotlight-row" [placeholder]="data.placeholder" />
<ng-container *ngIf="showActions$ | async as showActions">
<mat-icon class="mr-34" *ngIf="!showActions" [svgIcon]="'red:search'"></mat-icon>
<mat-icon class="mr-34" *ngIf="!showActions" [svgIcon]="'iqser:search'"></mat-icon>
<iqser-circle-button *ngIf="showActions" class="mr-24" (action)="dialogRef.close()" icon="red:close"></iqser-circle-button>
<iqser-circle-button *ngIf="showActions" class="mr-24" (action)="dialogRef.close()" icon="iqser:close"></iqser-circle-button>
</ng-container>
</div>

View File

@ -15,6 +15,6 @@
</div>
<div class="text-right">
<a (click)="remove()" *ngIf="options.closeButton" class="toast-close-button">
<mat-icon svgIcon="red:close"></mat-icon>
<mat-icon svgIcon="iqser:close"></mat-icon>
</a>
</div>

View File

@ -8,21 +8,21 @@
<form (submit)="save()" [formGroup]="formGroup">
<div class="dialog-content">
<div class="dialog-content-left">
<div class="red-input-group required">
<div class="iqser-input-group required">
<label translate="user-profile.form.email"></label>
<input formControlName="email" name="email" type="email" />
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="user-profile.form.first-name"></label>
<input formControlName="firstName" name="firstName" type="text" />
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="user-profile.form.last-name"></label>
<input formControlName="lastName" name="lastName" type="text" />
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="top-bar.navigation-items.my-account.children.language.label"></label>
<mat-select formControlName="language">
<mat-option *ngFor="let language of languages" [value]="language">

View File

@ -11,7 +11,7 @@
(action)="openEditDossierTemplateDialog($event)"
*ngIf="currentUser.isAdmin"
[tooltip]="'dossier-templates-listing.action.edit' | translate"
icon="red:edit"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
</div>

View File

@ -5,18 +5,18 @@
<form (submit)="saveDictionary()" [formGroup]="dictionaryForm">
<div class="dialog-content">
<div class="red-input-group mb-14">
<div class="iqser-input-group mb-14">
<label translate="add-edit-dictionary.form.technical-name"></label>
<div class="technical-name">{{ dictionary?.type || technicalName || '-' }}</div>
</div>
<div *ngIf="!!dictionary" class="red-input-group mb-14">
<div *ngIf="!!dictionary" class="iqser-input-group mb-14">
<label translate="add-edit-dictionary.form.name"></label>
{{ dictionary.label }}
</div>
<div class="first-row">
<div *ngIf="!dictionary" class="red-input-group required">
<div *ngIf="!dictionary" class="iqser-input-group required">
<label translate="add-edit-dictionary.form.name"></label>
<input
[placeholder]="'add-edit-dictionary.form.name-placeholder' | translate"
@ -27,7 +27,7 @@
<span class="hint" translate="add-edit-dictionary.form.name-hint"></span>
</div>
<div class="red-input-group required w-75">
<div class="iqser-input-group required w-75">
<label translate="add-edit-dictionary.form.rank"></label>
<input
[placeholder]="'add-edit-dictionary.form.rank-placeholder' | translate"
@ -37,7 +37,7 @@
/>
</div>
<div class="red-input-group required">
<div class="iqser-input-group required">
<label translate="add-edit-dictionary.form.color"></label>
<input
[placeholder]="'add-edit-dictionary.form.color-placeholder' | translate"
@ -58,7 +58,7 @@
</div>
</div>
<div class="red-input-group w-450">
<div class="iqser-input-group w-450">
<label translate="add-edit-dictionary.form.description"></label>
<textarea
[placeholder]="'add-edit-dictionary.form.description-placeholder' | translate"
@ -70,7 +70,7 @@
></textarea>
</div>
<div class="red-input-group slider-row">
<div class="iqser-input-group slider-row">
<mat-button-toggle-group appearance="legacy" formControlName="hint" name="hint">
<mat-button-toggle [value]="false">
{{ 'add-edit-dictionary.form.redaction' | translate }}
@ -81,13 +81,13 @@
</mat-button-toggle-group>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="caseSensitive" name="caseSensitive">
{{ 'add-edit-dictionary.form.case-sensitive' | translate }}
</mat-checkbox>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<mat-checkbox color="primary" formControlName="addToDictionaryAction" name="addToDictionaryAction">
{{ 'add-edit-dictionary.form.add-to-dictionary-action' | translate }}
</mat-checkbox>
@ -101,5 +101,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -7,7 +7,7 @@
margin-right: 16px;
}
.red-input-group {
.iqser-input-group {
margin-top: 0;
}
}

View File

@ -10,7 +10,7 @@
<form (submit)="saveFileAttribute()" [formGroup]="dossierAttributeForm">
<div class="dialog-content">
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="add-edit-dossier-attribute.form.label"></label>
<input
[placeholder]="'add-edit-dossier-attribute.form.label-placeholder' | translate"
@ -20,12 +20,12 @@
/>
</div>
<div *ngIf="!!dossierAttribute" class="red-input-group required w-300">
<div *ngIf="!!dossierAttribute" class="iqser-input-group required w-300">
<label translate="add-edit-dossier-attribute.form.placeholder"></label>
<input formControlName="placeholder" name="placeholder" type="text" />
</div>
<div class="red-input-group w-300">
<div class="iqser-input-group w-300">
<label translate="add-edit-dossier-attribute.form.type"></label>
<mat-select formControlName="type">
<mat-option *ngFor="let type of typeOptions" [value]="type">
@ -41,5 +41,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -10,7 +10,7 @@
<form (submit)="saveDossierTemplate()" [formGroup]="dossierTemplateForm">
<div class="dialog-content">
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="add-edit-dossier-template.form.name"></label>
<input
[placeholder]="'add-edit-dossier-template.form.name-placeholder' | translate"
@ -20,7 +20,7 @@
/>
</div>
<div class="red-input-group w-400">
<div class="iqser-input-group w-400">
<label translate="add-edit-dossier-template.form.description"></label>
<textarea
[placeholder]="'add-edit-dossier-template.form.description-placeholder' | translate"
@ -48,7 +48,7 @@
</div>
<div>
<div class="red-input-group datepicker-wrapper">
<div class="iqser-input-group datepicker-wrapper">
<ng-container *ngIf="hasValidFrom">
<input [matDatepicker]="fromPicker" formControlName="validFrom" placeholder="dd/mm/yy" />
<mat-datepicker-toggle [for]="fromPicker" matSuffix>
@ -58,7 +58,7 @@
</ng-container>
</div>
<div class="red-input-group datepicker-wrapper">
<div class="iqser-input-group datepicker-wrapper">
<ng-container *ngIf="hasValidTo">
<input [matDatepicker]="toPicker" formControlName="validTo" placeholder="dd/mm/yy" />
<mat-datepicker-toggle [for]="toPicker" matSuffix>
@ -110,7 +110,7 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>
<ng-template #reportTemplateOptionTemplate let-option="option">

View File

@ -15,7 +15,7 @@
min-height: 42px;
}
.red-input-group {
.iqser-input-group {
min-height: 42px;
justify-content: center;
}

View File

@ -10,7 +10,7 @@
<form (submit)="saveFileAttribute()" [formGroup]="fileAttributeForm">
<div class="dialog-content">
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="add-edit-file-attribute.form.name"></label>
<input
[placeholder]="'add-edit-file-attribute.form.name-placeholder' | translate"
@ -20,7 +20,7 @@
/>
</div>
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="add-edit-file-attribute.form.column-header"></label>
<input
[placeholder]="'add-edit-file-attribute.form.column-header-placeholder' | translate"
@ -30,7 +30,7 @@
/>
</div>
<div class="red-input-group w-300 required">
<div class="iqser-input-group w-300 required">
<label translate="add-edit-file-attribute.form.type"></label>
<mat-select formControlName="type">
<mat-option *ngFor="let type of typeOptions" [value]="type">
@ -40,13 +40,13 @@
</div>
<div class="options-wrapper">
<div class="red-input-group">
<div class="iqser-input-group">
<mat-slide-toggle color="primary" formControlName="readonly">{{
'add-edit-file-attribute.form.read-only' | translate
}}</mat-slide-toggle>
</div>
<div class="red-input-group mt-0">
<div class="iqser-input-group mt-0">
<mat-checkbox color="primary" formControlName="primaryAttribute" name="primaryAttribute">
{{ 'add-edit-file-attribute.form.primary' | translate }}
</mat-checkbox>
@ -72,5 +72,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -13,5 +13,5 @@
[user]="user"
></redaction-reset-password>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -2,7 +2,7 @@
<form (submit)="save()" [formGroup]="passwordForm">
<div class="dialog-content">
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="reset-password-dialog.form.password"></label>
<input formControlName="temporaryPassword" name="temporaryPassword" type="password" />
</div>

View File

@ -8,22 +8,22 @@
<form (submit)="save()" [formGroup]="userForm">
<div class="dialog-content">
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="add-edit-user.form.first-name"></label>
<input formControlName="firstName" name="firstName" type="text" />
</div>
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="add-edit-user.form.last-name"></label>
<input formControlName="lastName" name="lastName" type="text" />
</div>
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="add-edit-user.form.email"></label>
<input formControlName="email" name="email" type="email" />
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="add-edit-user.form.role"></label>
<div class="roles-wrapper">
<mat-checkbox *ngFor="let role of ROLES" [formControlName]="role" color="primary">

View File

@ -13,7 +13,7 @@
<div *ngIf="showToast" class="inline-dialog-toast toast-error">
<div translate="confirm-delete-file-attribute.toast-error"></div>
<a (click)="showToast = false" class="toast-close-button">
<mat-icon svgIcon="red:close"></mat-icon>
<mat-icon svgIcon="iqser:close"></mat-icon>
</a>
</div>
@ -41,5 +41,5 @@
class="all-caps-label cancel"
></div>
</div>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -4,7 +4,7 @@
<div *ngIf="showToast" class="inline-dialog-toast toast-error">
<div translate="confirm-delete-users.toast-error"></div>
<a (click)="showToast = false" class="toast-close-button">
<mat-icon svgIcon="red:close"></mat-icon>
<mat-icon svgIcon="iqser:close"></mat-icon>
</a>
</div>
@ -39,5 +39,5 @@
class="all-caps-label cancel"
></div>
</div>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -3,7 +3,7 @@
<form (submit)="saveColors()" [formGroup]="colorForm">
<div class="dialog-content">
<div class="red-input-group required">
<div class="iqser-input-group required">
<label translate="edit-color-dialog.form.color"></label>
<input
[placeholder]="'edit-color-dialog.form.color-placeholder' | translate"
@ -34,5 +34,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -1,3 +1,3 @@
.red-input-group {
.iqser-input-group {
width: fit-content;
}

View File

@ -36,7 +36,7 @@
</div>
<div>
<div class="red-input-group">
<div class="iqser-input-group">
<mat-form-field class="no-label">
<mat-select [(ngModel)]="field.type">
<mat-option *ngFor="let type of typeOptions" [value]="type">

View File

@ -11,7 +11,7 @@
</div>
<div class="right">
<form (submit)="changedParseConfig && readFile()" [formGroup]="baseConfigForm">
<div class="red-input-group required w-250">
<div class="iqser-input-group required w-250">
<mat-form-field floatLabel="always">
<mat-label>{{ 'file-attributes-csv-import.key-column' | translate }}</mat-label>
<input
@ -29,7 +29,7 @@
</mat-form-field>
</div>
<div class="red-input-group required w-110">
<div class="iqser-input-group required w-110">
<label translate="file-attributes-csv-import.delimiter"></label>
<input
[placeholder]="'file-attributes-csv-import.delimiter-placeholder' | translate"
@ -39,7 +39,7 @@
/>
</div>
<div class="red-input-group required w-160">
<div class="iqser-input-group required w-160">
<label translate="file-attributes-csv-import.encoding"></label>
<input
[placeholder]="'file-attributes-csv-import.encoding-placeholder' | translate"
@ -52,7 +52,7 @@
(action)="readFile()"
*ngIf="changedParseConfig"
[tooltip]="'file-attributes-csv-import.parse-csv' | translate"
icon="red:check"
icon="iqser:check"
></iqser-circle-button>
</form>
</div>
@ -72,7 +72,7 @@
<iqser-circle-button
(click)="isSearchOpen = !isSearchOpen"
[attr.aria-expanded]="isSearchOpen"
icon="red:search"
icon="iqser:search"
></iqser-circle-button>
<div class="quick-activation">
<span
@ -89,11 +89,11 @@
</div>
</div>
<div *ngIf="isSearchOpen" class="search-input-container">
<redaction-input-with-action
<iqser-input-with-action
[(value)]="searchService.searchValue"
[placeholder]="'file-attributes-csv-import.search.placeholder' | translate"
width="full"
></redaction-input-with-action>
></iqser-input-with-action>
</div>
<div [class.search-open]="isSearchOpen" class="csv-header-pill-content">
<div
@ -161,5 +161,5 @@
</div>
</div>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -33,7 +33,7 @@
align-items: flex-end;
padding-left: 16px;
.red-input-group {
.iqser-input-group {
margin: 0 8px;
}

View File

@ -3,7 +3,7 @@
<form (submit)="save()" [formGroup]="authForm">
<div class="dialog-content">
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="smtp-auth-config.form.username"></label>
<input
[placeholder]="'smtp-auth-config.form.username-placeholder' | translate"
@ -13,7 +13,7 @@
/>
</div>
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="smtp-auth-config.form.password"></label>
<input formControlName="password" name="password" type="password" />
</div>
@ -27,5 +27,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -12,7 +12,7 @@
*ngIf="currentUser.isUser"
[tooltip]="'common.close' | translate"
class="ml-6"
icon="red:close"
icon="iqser:close"
redactionNavigateLastDossiersScreen
tooltipPosition="below"
></iqser-circle-button>
@ -31,7 +31,7 @@
></redaction-pagination>
<div class="separator">·</div>
<form [formGroup]="filterForm">
<div class="red-input-group w-150 mr-20">
<div class="iqser-input-group w-150 mr-20">
<mat-form-field class="no-label">
<mat-select formControlName="category">
<mat-option *ngFor="let category of categories" [value]="category">
@ -40,7 +40,7 @@
</mat-select>
</mat-form-field>
</div>
<div class="red-input-group w-150">
<div class="iqser-input-group w-150">
<mat-form-field class="no-label">
<mat-select formControlName="userId">
<mat-select-trigger>
@ -65,7 +65,7 @@
</mat-form-field>
</div>
<div class="separator">·</div>
<div class="red-input-group datepicker-wrapper mr-20">
<div class="iqser-input-group datepicker-wrapper mr-20">
<input [matDatepicker]="fromPicker" formControlName="from" placeholder="dd/mm/yy" />
<mat-datepicker-toggle [for]="fromPicker" matSuffix>
<mat-icon matDatepickerToggleIcon svgIcon="red:calendar"></mat-icon>
@ -75,7 +75,7 @@
<div class="mr-20" translate="audit-screen.to"></div>
<div class="red-input-group datepicker-wrapper">
<div class="iqser-input-group datepicker-wrapper">
<input [matDatepicker]="toPicker" formControlName="to" placeholder="dd/mm/yy" />
<mat-datepicker-toggle [for]="toPicker" matSuffix>
<mat-icon matDatepickerToggleIcon svgIcon="red:calendar"></mat-icon>

View File

@ -8,7 +8,7 @@
display: flex;
align-items: center;
.red-input-group {
.iqser-input-group {
margin-top: 0 !important;
}

View File

@ -8,7 +8,7 @@
<iqser-circle-button
[routerLink]="['../..']"
[tooltip]="'common.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>
@ -42,7 +42,7 @@
(action)="openEditColorDialog($event, color)"
*ngIf="currentUser.isAdmin"
[tooltip]="'default-colors-screen.action.edit' | translate"
icon="red:edit"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
</div>

View File

@ -8,7 +8,7 @@
<iqser-circle-button
[routerLink]="['../..']"
[tooltip]="'common.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>
@ -91,7 +91,7 @@
<iqser-circle-button
(action)="openAddEditDictionaryDialog($event, dict)"
[tooltip]="'dictionary-listing.action.edit' | translate"
icon="red:edit"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
</div>
@ -125,10 +125,10 @@
></iqser-circle-button>
<div class="attributes-actions-container">
<redaction-input-with-action
<iqser-input-with-action
[(value)]="searchService.searchValue"
[placeholder]="'dictionary-listing.search' | translate"
></redaction-input-with-action>
></iqser-input-with-action>
<div class="actions">
<iqser-icon-button
(action)="openAddEditDictionaryDialog()"

View File

@ -17,7 +17,7 @@
*ngIf="currentUser.isAdmin"
[tooltip]="'dictionary-overview.action.edit' | translate"
[type]="circleButtonTypes.dark"
icon="red:edit"
icon="iqser:edit"
tooltipPosition="below"
></iqser-circle-button>
@ -42,7 +42,7 @@
[routerLink]="['..']"
[tooltip]="'common.close' | translate"
class="ml-6"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>

View File

@ -20,7 +20,7 @@
buttonIcon="red:upload"
></redaction-empty-state>
<div [class.hidden]="!hasDigitalSignatureSet" class="red-input-group required w-300">
<div [class.hidden]="!hasDigitalSignatureSet" class="iqser-input-group required w-300">
<label translate="digital-signature-screen.certificate-name.label"></label>
<input
[placeholder]="'digital-signature-screen.certificate-name.placeholder' | translate"
@ -32,7 +32,7 @@
<div
*ngIf="!digitalSignatureExists"
[class.hidden]="!hasDigitalSignatureSet"
class="red-input-group required w-300"
class="iqser-input-group required w-300"
>
<label translate="digital-signature-screen.password.label"></label>
<input
@ -42,7 +42,7 @@
/>
</div>
<div [class.hidden]="!hasDigitalSignatureSet" class="red-input-group w-300">
<div [class.hidden]="!hasDigitalSignatureSet" class="iqser-input-group w-300">
<label translate="digital-signature-screen.reason.label"></label>
<input
[placeholder]="'digital-signature-screen.reason.placeholder' | translate"
@ -51,7 +51,7 @@
/>
</div>
<div [class.hidden]="!hasDigitalSignatureSet" class="red-input-group w-300">
<div [class.hidden]="!hasDigitalSignatureSet" class="iqser-input-group w-300">
<label translate="digital-signature-screen.location.label"></label>
<input
[placeholder]="'digital-signature-screen.location.placeholder' | translate"
@ -60,7 +60,7 @@
/>
</div>
<div [class.hidden]="!hasDigitalSignatureSet" class="red-input-group w-300">
<div [class.hidden]="!hasDigitalSignatureSet" class="iqser-input-group w-300">
<label translate="digital-signature-screen.contact-info.label"></label>
<input
[placeholder]="'digital-signature-screen.contact-info.placeholder' | translate"
@ -74,7 +74,7 @@
(action)="saveDigitalSignature()"
[disabled]="digitalSignatureForm.invalid"
[label]="'digital-signature-screen.action.save' | translate"
icon="red:check"
icon="iqser:check"
[type]="iconButtonTypes.primary"
></iqser-icon-button>

View File

@ -8,7 +8,7 @@
<iqser-circle-button
[routerLink]="['../..']"
[tooltip]="'common.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>
@ -67,7 +67,7 @@
<iqser-circle-button
(action)="openAddEditAttributeDialog($event, attribute)"
[tooltip]="'dossier-attributes-listing.action.edit' | translate"
icon="red:edit"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
@ -96,10 +96,10 @@
></iqser-circle-button>
<div class="attributes-actions-container">
<redaction-input-with-action
<iqser-input-with-action
[(value)]="searchService.searchValue"
[placeholder]="'dossier-attributes-listing.search' | translate"
></redaction-input-with-action>
></iqser-input-with-action>
<iqser-icon-button
(action)="openAddEditAttributeDialog($event)"

View File

@ -15,10 +15,10 @@
[tableHeaderLabel]="tableHeaderLabel"
>
<div class="actions flex-1">
<redaction-input-with-action
<iqser-input-with-action
[(value)]="searchService.searchValue"
[placeholder]="'dossier-templates-listing.search' | translate"
></redaction-input-with-action>
></iqser-input-with-action>
<iqser-icon-button
(action)="openAddDossierTemplateDialog()"

View File

@ -8,7 +8,7 @@
<iqser-circle-button
[routerLink]="['../..']"
[tooltip]="'common.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>
@ -76,7 +76,7 @@
<iqser-circle-button
(action)="openAddEditAttributeDialog($event, attribute)"
[tooltip]="'file-attributes-listing.action.edit' | translate"
icon="red:edit"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
<iqser-circle-button
@ -106,10 +106,10 @@
></iqser-circle-button>
<div class="attributes-actions-container">
<redaction-input-with-action
<iqser-input-with-action
[(value)]="searchService.searchValue"
[placeholder]="'file-attributes-listing.search' | translate"
></redaction-input-with-action>
></iqser-input-with-action>
<input #fileInput (change)="importCSV($event.target['files'])" accept=".csv" class="csv-input" type="file" />

View File

@ -11,7 +11,7 @@
<iqser-circle-button
*ngIf="currentUser.isUser"
class="ml-6"
icon="red:close"
icon="iqser:close"
redactionNavigateLastDossiersScreen
tooltip="common.close"
tooltipPosition="below"
@ -29,7 +29,7 @@
<form (submit)="saveGeneralConfig()" [formGroup]="configForm">
<div class="dialog-content">
<div class="dialog-content-left">
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="general-config-screen.app-name.label"></label>
<input
formControlName="auxiliaryName"
@ -66,7 +66,7 @@
<form (submit)="save()" [formGroup]="smtpForm">
<div class="dialog-content">
<div class="dialog-content-left">
<div class="red-input-group required">
<div class="iqser-input-group required">
<label translate="general-config-screen.form.host"></label>
<input
formControlName="host"
@ -76,12 +76,12 @@
/>
</div>
<div class="red-input-group w-100">
<div class="iqser-input-group w-100">
<label translate="general-config-screen.form.port"></label>
<input formControlName="port" name="port" type="number" />
</div>
<div class="red-input-group required">
<div class="iqser-input-group required">
<label translate="general-config-screen.form.from"></label>
<input
formControlName="from"
@ -91,7 +91,7 @@
/>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="general-config-screen.form.from-display-name"></label>
<input
formControlName="fromDisplayName"
@ -102,7 +102,7 @@
<span class="hint" translate="general-config-screen.form.from-display-name-hint"></span>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="general-config-screen.form.reply-to"></label>
<input
formControlName="replyTo"
@ -112,7 +112,7 @@
/>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="general-config-screen.form.reply-to-display-name"></label>
<input
formControlName="replyToDisplayName"
@ -122,7 +122,7 @@
/>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="general-config-screen.form.envelope-from"></label>
<input
formControlName="envelopeFrom"
@ -134,15 +134,15 @@
</div>
</div>
<div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="general-config-screen.form.ssl"></label>
<mat-slide-toggle color="primary" formControlName="ssl"></mat-slide-toggle>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="general-config-screen.form.starttls"></label>
<mat-slide-toggle color="primary" formControlName="starttls"></mat-slide-toggle>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="general-config-screen.form.auth"></label>
<mat-slide-toggle color="primary" formControlName="auth"></mat-slide-toggle>
</div>

View File

@ -8,7 +8,7 @@
<iqser-circle-button
[routerLink]="['../..']"
[tooltip]="'common.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>

View File

@ -8,7 +8,7 @@
<iqser-circle-button
[routerLink]="['../..']"
[tooltip]="'common.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>
@ -26,7 +26,7 @@
<iqser-icon-button
(action)="save()"
[label]="'rules-screen.save-changes' | translate"
icon="red:check"
icon="iqser:check"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
<div (click)="revert()" class="all-caps-label cancel" translate="rules-screen.revert-changes"></div>

View File

@ -8,10 +8,10 @@
<div class="breadcrumb" translate="user-management"></div>
<div class="actions">
<redaction-input-with-action
<iqser-input-with-action
[(value)]="searchService.searchValue"
[placeholder]="'user-listing.search' | translate"
></redaction-input-with-action>
></iqser-input-with-action>
<iqser-icon-button
(action)="openAddEditUserDialog($event)"
*ngIf="currentUser.isUserAdmin"
@ -23,7 +23,7 @@
*ngIf="currentUser.isUser"
[tooltip]="'common.close' | translate"
class="ml-6"
icon="red:close"
icon="iqser:close"
redactionNavigateLastDossiersScreen
tooltipPosition="below"
></iqser-circle-button>
@ -66,7 +66,7 @@
<iqser-circle-button
(action)="openAddEditUserDialog($event, user)"
[tooltip]="'user-listing.action.edit' | translate"
icon="red:edit"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>
<iqser-circle-button

View File

@ -50,7 +50,7 @@
.page-header .actions {
justify-content: flex-end;
redaction-input-with-action:not(:last-child) {
iqser-input-with-action:not(:last-child) {
margin-right: 16px;
}

View File

@ -8,7 +8,7 @@
<iqser-circle-button
[routerLink]="['../..']"
[tooltip]="'common.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>
@ -26,7 +26,7 @@
(action)="save()"
[disabled]="configForm.invalid"
[label]="'watermark-screen.action.save' | translate"
icon="red:check"
icon="iqser:check"
[type]="iconButtonTypes.primary"
></iqser-icon-button>
<div (click)="revert()" class="all-caps-label cancel" translate="watermark-screen.action.revert"></div>
@ -36,7 +36,7 @@
<div class="right-container" redactionHasScrollbar>
<div class="heading-xl" translate="watermark-screen.title"></div>
<form (keyup)="configChanged()" [formGroup]="configForm">
<div class="red-input-group w-300">
<div class="iqser-input-group w-300">
<textarea
(mousemove)="triggerChanges()"
[placeholder]="'watermark-screen.form.text-placeholder' | translate"
@ -49,7 +49,7 @@
></textarea>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label class="all-caps-label mb-8" translate="watermark-screen.form.orientation"></label>
<div class="square-options">
<div
@ -64,17 +64,17 @@
</div>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label class="all-caps-label" translate="watermark-screen.form.font-size"></label>
<mat-slider (change)="configChanged()" color="primary" formControlName="fontSize" max="50" min="5"></mat-slider>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label class="all-caps-label" translate="watermark-screen.form.opacity"></label>
<mat-slider (change)="configChanged()" color="primary" formControlName="opacity" min="1"></mat-slider>
</div>
<div class="red-input-group w-150">
<div class="iqser-input-group w-150">
<label class="all-caps-label mb-5" translate="watermark-screen.form.color"></label>
<input
[placeholder]="'add-edit-dictionary.form.color-placeholder' | translate"
@ -101,7 +101,7 @@
</div>
</div>
<div class="red-input-group">
<div class="iqser-input-group">
<label class="all-caps-label mb-8" translate="watermark-screen.form.font-type"></label>
<div class="square-options">
<div

View File

@ -5,7 +5,7 @@
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.edit-reason.label' | translate"
[type]="buttonType"
icon="red:edit"
icon="iqser:edit"
></iqser-circle-button>
<iqser-circle-button
@ -14,7 +14,7 @@
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.accept-recommendation.label' | translate"
[type]="buttonType"
icon="red:check"
icon="iqser:check"
></iqser-circle-button>
<iqser-circle-button
@ -23,7 +23,7 @@
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.accept-suggestion.label' | translate"
[type]="buttonType"
icon="red:check"
icon="iqser:check"
></iqser-circle-button>
<iqser-circle-button
@ -41,7 +41,7 @@
[tooltipPosition]="tooltipPosition"
[tooltip]="'annotation-actions.reject-suggestion' | translate"
[type]="buttonType"
icon="red:close"
icon="iqser:close"
></iqser-circle-button>
<iqser-circle-button

View File

@ -18,13 +18,13 @@
<div>{{ comment.text }}</div>
</div>
<redaction-input-with-action
<iqser-input-with-action
(action)="addComment($event)"
*ngIf="permissionsService.canAddComment()"
[placeholder]="'comments.add-comment' | translate"
autocomplete="off"
icon="red:collapse"
width="full"
></redaction-input-with-action>
></iqser-input-with-action>
<div (click)="toggleExpandComments($event)" class="all-caps-label pointer hide-comments" translate="comments.hide-comments"></div>

View File

@ -34,7 +34,7 @@
}
}
redaction-input-with-action {
iqser-input-with-action {
margin: 5px 0 10px 0;
}

View File

@ -3,13 +3,13 @@
<iqser-circle-button
(action)="edit()"
[tooltip]="'file-preview.tabs.document-info.edit' | translate"
icon="red:edit"
icon="iqser:edit"
tooltipPosition="before"
></iqser-circle-button>
<iqser-circle-button
(action)="closeDocumentInfoView.emit()"
[tooltip]="'file-preview.tabs.document-info.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="before"
></iqser-circle-button>
</div>

View File

@ -22,7 +22,7 @@
*ngIf="currentUser.isManager"
[tooltip]="'dossier-details.edit-owner' | translate"
class="ml-14"
icon="red:edit"
icon="iqser:edit"
tooltipPosition="below"
></iqser-circle-button>
</ng-container>

View File

@ -4,7 +4,7 @@
(action)="openEditDossierDialog($event, dossier)"
*ngIf="currentUser.isManager"
[tooltip]="'dossier-listing.edit.action' | translate"
icon="red:edit"
icon="iqser:edit"
[type]="circleButtonTypes.dark"
></iqser-circle-button>

View File

@ -138,7 +138,7 @@
></iqser-circle-button>
<!-- exclude from redaction -->
<div class="red-input-group">
<div class="iqser-input-group">
<mat-slide-toggle
(change)="toggleAnalysis()"
(click)="$event.stopPropagation()"

View File

@ -22,7 +22,7 @@
<iqser-circle-button
(action)="actionPerformed.emit('view-exclude-pages')"
[tooltip]="'file-preview.tabs.exclude-pages.close' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="before"
></iqser-circle-button>
</div>
@ -59,7 +59,11 @@
tooltipPosition="above"
></redaction-annotation-actions>
</div>
<iqser-circle-button (action)="multiSelectActive = false" icon="red:close" [type]="circleButtonTypes.primary"></iqser-circle-button>
<iqser-circle-button
(action)="multiSelectActive = false"
icon="iqser:close"
[type]="circleButtonTypes.primary"
></iqser-circle-button>
</div>
<div [class.lower-height]="multiSelectActive || isReadOnly" class="annotations-wrapper">

View File

@ -124,7 +124,7 @@
}
.pages {
@include no-scroll-bar();
@include no-scroll-bar;
overflow: auto;
flex: 1;
}

View File

@ -1,12 +1,12 @@
<div *ngIf="permissionsService.canExcludePages()" class="exclude-pages-input-container">
<redaction-input-with-action
<iqser-input-with-action
(action)="excludePagesRange($event)"
[hint]="'file-preview.tabs.exclude-pages.hint' | translate"
[placeholder]="'file-preview.tabs.exclude-pages.input-placeholder' | translate"
autocomplete="off"
icon="red:check"
icon="iqser:check"
width="full"
></redaction-input-with-action>
></iqser-input-with-action>
</div>
<div *ngIf="excludedPagesRanges.length" class="all-caps-label-container">

View File

@ -1,11 +1,10 @@
import { Component, EventEmitter, Input, OnChanges, Output, ViewChild } from '@angular/core';
import { PermissionsService } from '@services/permissions.service';
import { PageRange, ReanalysisControllerService } from '@redaction/red-ui-http';
import { Toaster } from '@iqser/common-ui';
import { InputWithActionComponent, Toaster } from '@iqser/common-ui';
import { LoadingService } from '@services/loading.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { FileStatusWrapper } from '@models/file/file-status.wrapper';
import { InputWithActionComponent } from '@shared/components/input-with-action/input-with-action.component';
@Component({
selector: 'redaction-page-exclusion',

View File

@ -1,5 +1,5 @@
<form (submit)="saveMembers()" [formGroup]="teamForm">
<div class="red-input-group w-300">
<div class="iqser-input-group w-300">
<mat-form-field floatLabel="always">
<mat-label>{{ 'assign-dossier-owner.dialog.single-user' | translate }}</mat-label>
<mat-select formControlName="owner">
@ -35,13 +35,13 @@
<pre *ngIf="selectedReviewersList.length === 0" [innerHTML]="'assign-dossier-owner.dialog.no-reviewers' | translate" class="info"></pre>
<redaction-input-with-action
<iqser-input-with-action
[(value)]="searchQuery"
(valueChange)="setMembersSelectOptions()"
[placeholder]="'assign-dossier-owner.dialog.search' | translate"
[width]="560"
class="search-container"
></redaction-input-with-action>
></iqser-input-with-action>
<div class="members-list">
<div
@ -55,7 +55,7 @@
<iqser-round-checkbox [active]="isApprover(userId)" class="mr-8"></iqser-round-checkbox>
<span translate="assign-dossier-owner.dialog.make-approver"></span>
</div>
<mat-icon *ngIf="!isOwner(userId)" svgIcon="red:check"></mat-icon>
<mat-icon *ngIf="!isOwner(userId)" svgIcon="iqser:check"></mat-icon>
</div>
</div>
</div>

View File

@ -8,7 +8,7 @@
>
<redaction-initials-avatar [userId]="userId" color="gray" size="large"></redaction-initials-avatar>
<div *ngIf="canRemoveMember(userId)" class="remove">
<mat-icon svgIcon="red:close"></mat-icon>
<mat-icon svgIcon="iqser:close"></mat-icon>
</div>
</div>
<div *ngIf="overflowCount && !expandedTeam" [class.large-spacing]="largeSpacing" class="member pointer">

View File

@ -3,7 +3,7 @@
<div class="dialog-header heading-l" translate="add-dossier-dialog.header-new"></div>
<div class="dialog-content">
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="add-dossier-dialog.form.name.label"></label>
<input
[placeholder]="'add-dossier-dialog.form.name.placeholder' | translate"
@ -13,7 +13,7 @@
/>
</div>
<div class="red-input-group required w-400">
<div class="iqser-input-group required w-400">
<mat-form-field floatLabel="always">
<mat-label>{{ 'add-dossier-dialog.form.template' | translate }}</mat-label>
<mat-select (valueChange)="dossierTemplateChanged($event)" formControlName="dossierTemplateId" style="width: 100%">
@ -29,7 +29,7 @@
</mat-form-field>
</div>
<div class="red-input-group w-400">
<div class="iqser-input-group w-400">
<label translate="add-dossier-dialog.form.description.label"></label>
<textarea
[placeholder]="'add-dossier-dialog.form.description.placeholder' | translate"
@ -50,7 +50,7 @@
{{ 'add-dossier-dialog.form.due-date' | translate }}
</mat-checkbox>
<div *ngIf="hasDueDate" class="red-input-group datepicker-wrapper">
<div *ngIf="hasDueDate" class="iqser-input-group datepicker-wrapper">
<input [matDatepicker]="picker" formControlName="dueDate" placeholder="dd/mm/yy" />
<mat-datepicker-toggle [for]="picker" matSuffix>
<mat-icon matDatepickerToggleIcon svgIcon="red:calendar"></mat-icon>
@ -92,7 +92,7 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>
<ng-template #reportTemplateOptionTemplate let-option="option">

View File

@ -9,7 +9,7 @@
<form (submit)="saveUsers()" [formGroup]="usersForm">
<div class="dialog-content">
<div class="red-input-group w-300 required">
<div class="iqser-input-group w-300 required">
<mat-form-field floatLabel="always">
<mat-label>{{ 'assign-owner.dialog.label' | translate: { type: data.mode } }}</mat-label>
<mat-select formControlName="singleUser">
@ -30,5 +30,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -3,7 +3,7 @@
<div class="dialog-header heading-l" translate="change-legal-basis-dialog.header"></div>
<div class="dialog-content">
<div class="red-input-group required w-400">
<div class="iqser-input-group required w-400">
<label translate="change-legal-basis-dialog.content.reason"></label>
<mat-select
[placeholder]="'change-legal-basis-dialog.content.reason-placeholder' | translate"
@ -16,12 +16,12 @@
</mat-select>
</div>
<div class="red-input-group w-400">
<div class="iqser-input-group w-400">
<label translate="change-legal-basis-dialog.content.legalBasis"></label>
<input [value]="legalBasisForm.get('reason').value?.legalBasis" disabled type="text" />
</div>
<div [class.required]="!isDocumentAdmin" class="red-input-group w-300">
<div [class.required]="!isDocumentAdmin" class="iqser-input-group w-300">
<label translate="change-legal-basis-dialog.content.comment"></label>
<textarea formControlName="comment" name="comment" redactionHasScrollbar rows="4" type="text"></textarea>
</div>
@ -35,5 +35,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -3,7 +3,7 @@
<form (submit)="saveDocumentInfo()" [formGroup]="documentInfoForm">
<div class="dialog-content">
<div *ngFor="let attr of attributes" class="red-input-group w-300">
<div *ngFor="let attr of attributes" class="iqser-input-group w-300">
<label>{{ attr.label }}</label>
<input [formControlName]="attr.id" [name]="attr.id" type="text" />
</div>
@ -15,5 +15,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -10,7 +10,7 @@
icon="red:attribute"
></redaction-empty-state>
<div *ngFor="let attr of customAttributes" [class.datepicker-wrapper]="isDate(attr)" class="red-input-group">
<div *ngFor="let attr of customAttributes" [class.datepicker-wrapper]="isDate(attr)" class="iqser-input-group">
<label>{{ attr.label }}</label>
<input
*ngIf="isNumber(attr) || isText(attr)"
@ -43,7 +43,7 @@
<div
*ngFor="let attr of imageAttributes"
[class.displayed-preview]="currentAttrValue(attr)"
class="red-input-group image-attribute"
class="iqser-input-group image-attribute"
>
<div>
<img *ngIf="currentAttrValue(attr)" [alt]="attr.label" [src]="currentAttrValue(attr)" />

View File

@ -71,5 +71,5 @@
</div>
</div>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -1,5 +1,5 @@
<form (submit)="save()" [formGroup]="dossierForm">
<div class="red-input-group required w-300">
<div class="iqser-input-group required w-300">
<label translate="edit-dossier-dialog.general-info.form.name.label"></label>
<input
[placeholder]="'edit-dossier-dialog.general-info.form.name.placeholder' | translate"
@ -9,7 +9,7 @@
/>
</div>
<div class="red-input-group required w-400">
<div class="iqser-input-group required w-400">
<mat-form-field floatLabel="always">
<mat-label>{{ 'edit-dossier-dialog.general-info.form.template' | translate }}</mat-label>
<mat-select formControlName="dossierTemplateId" style="width: 100%">
@ -25,7 +25,7 @@
</mat-form-field>
</div>
<div class="red-input-group w-400">
<div class="iqser-input-group w-400">
<label translate="edit-dossier-dialog.general-info.form.description.label"></label>
<textarea
[placeholder]="'edit-dossier-dialog.general-info.form.description.placeholder' | translate"
@ -46,7 +46,7 @@
{{ 'edit-dossier-dialog.general-info.form.due-date' | translate }}
</mat-checkbox>
<div *ngIf="hasDueDate" class="red-input-group datepicker-wrapper">
<div *ngIf="hasDueDate" class="iqser-input-group datepicker-wrapper">
<input [matDatepicker]="picker" formControlName="dueDate" placeholder="dd/mm/yy" />
<mat-datepicker-toggle [for]="picker" matSuffix>
<mat-icon matDatepickerToggleIcon svgIcon="red:calendar"></mat-icon>

View File

@ -3,7 +3,7 @@
<div class="dialog-header heading-l" translate="manual-annotation.dialog.header.force"></div>
<div class="dialog-content">
<div class="red-input-group required w-400">
<div class="iqser-input-group required w-400">
<label translate="manual-annotation.dialog.content.reason"></label>
<mat-select
[placeholder]="'manual-annotation.dialog.content.reason-placeholder' | translate"
@ -16,12 +16,12 @@
</mat-select>
</div>
<div class="red-input-group w-400">
<div class="iqser-input-group w-400">
<label translate="manual-annotation.dialog.content.legalBasis"></label>
<input [value]="redactionForm.get('reason').value?.legalBasis" disabled type="text" />
</div>
<div [class.required]="!isDocumentAdmin" class="red-input-group w-300">
<div [class.required]="!isDocumentAdmin" class="iqser-input-group w-300">
<label translate="manual-annotation.dialog.content.comment"></label>
<textarea formControlName="comment" name="comment" redactionHasScrollbar rows="4" type="text"></textarea>
</div>
@ -34,5 +34,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -4,19 +4,19 @@
<div class="dialog-content">
<ng-container *ngIf="manualRedactionEntryWrapper.annotationType === 'TEXT'">
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="manual-annotation.dialog.content.text"></label>
</div>
{{ format(manualRedactionEntryWrapper.manualRedactionEntry.value) }}
</ng-container>
<ng-container *ngIf="manualRedactionEntryWrapper.annotationType === 'RECTANGLE'">
<div class="red-input-group">
<div class="iqser-input-group">
<label translate="manual-annotation.dialog.content.rectangle"></label>
</div>
</ng-container>
<div *ngIf="!isDictionaryRequest" class="red-input-group required w-400">
<div *ngIf="!isDictionaryRequest" class="iqser-input-group required w-400">
<label translate="manual-annotation.dialog.content.reason"></label>
<mat-select
[placeholder]="'manual-annotation.dialog.content.reason-placeholder' | translate"
@ -34,17 +34,17 @@
</mat-select>
</div>
<div *ngIf="!isDictionaryRequest" class="red-input-group w-400">
<div *ngIf="!isDictionaryRequest" class="iqser-input-group w-400">
<label translate="manual-annotation.dialog.content.legalBasis"></label>
<input [value]="redactionForm.get('reason').value?.legalBasis" disabled type="text" />
</div>
<div [class.required]="!isDocumentAdmin" class="red-input-group w-300">
<div [class.required]="!isDocumentAdmin" class="iqser-input-group w-300">
<label translate="manual-annotation.dialog.content.comment"></label>
<textarea formControlName="comment" name="comment" redactionHasScrollbar rows="4" type="text"></textarea>
</div>
<div *ngIf="isDictionaryRequest && !isFalsePositiveRequest" class="red-input-group required w-300">
<div *ngIf="isDictionaryRequest && !isFalsePositiveRequest" class="iqser-input-group required w-300">
<label translate="manual-annotation.dialog.content.dictionary"></label>
<mat-select formControlName="dictionary">
@ -70,5 +70,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -3,7 +3,7 @@
<div class="dialog-header heading-l" translate="recategorize-image-dialog.header"></div>
<div class="dialog-content">
<div class="red-input-group required w-400">
<div class="iqser-input-group required w-400">
<label translate="recategorize-image-dialog.content.type"></label>
<mat-select
[placeholder]="'recategorize-image-dialog.content.type-placeholder' | translate"
@ -16,7 +16,7 @@
</mat-select>
</div>
<div [class.required]="!isDocumentAdmin" class="red-input-group w-300">
<div [class.required]="!isDocumentAdmin" class="iqser-input-group w-300">
<label translate="recategorize-image-dialog.content.comment"></label>
<textarea formControlName="comment" name="comment" redactionHasScrollbar rows="4" type="text"></textarea>
</div>
@ -30,5 +30,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -39,7 +39,7 @@
</li>
</ul>
<div [class.required]="!permissionsService.isApprover()" class="red-input-group w-300">
<div [class.required]="!permissionsService.isApprover()" class="iqser-input-group w-300">
<label translate="manual-annotation.dialog.content.comment"></label>
<textarea formControlName="comment" name="comment" redactionHasScrollbar rows="4" type="text"></textarea>
</div>
@ -55,5 +55,5 @@
</div>
</form>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -1,5 +1,13 @@
import { ChangeDetectorRef, Component, ElementRef, HostListener, Injector, OnDestroy, OnInit, TemplateRef, ViewChild } from '@angular/core';
import { Toaster } from '@iqser/common-ui';
import {
CircleButtonTypes,
DefaultListingServices,
keyChecker,
ListingComponent,
NestedFilter,
TableColumnConfig,
Toaster
} from '@iqser/common-ui';
import { AppStateService } from '@state/app-state.service';
import { FileDropOverlayService } from '@upload-download/services/file-drop-overlay.service';
import { FileUploadModel } from '@upload-download/model/file-upload.model';
@ -19,7 +27,6 @@ import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { OnAttach, OnDetach } from '@utils/custom-route-reuse.strategy';
import { AppConfigKey, AppConfigService } from '@app-config/app-config.service';
import { ActionConfig } from '@shared/components/page-header/models/action-config.model';
import { CircleButtonTypes, DefaultListingServices, keyChecker, ListingComponent, NestedFilter, TableColumnConfig } from '@iqser/common-ui';
import { LoadingService } from '@services/loading.service';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
@ -47,7 +54,7 @@ export class DossierOverviewScreenComponent extends ListingComponent<FileStatusW
{
label: this._translateService.instant('dossier-overview.header-actions.edit'),
action: $event => this.openEditDossierDialog($event),
icon: 'red:edit',
icon: 'iqser:edit',
hide: !this.currentUser.isManager
}
];

View File

@ -67,7 +67,7 @@
(action)="editingReviewer = true"
*ngIf="permissionsService.canAssignUser() && currentReviewer"
[tooltip]="assignTooltip"
icon="red:edit"
icon="iqser:edit"
tooltipPosition="below"
></iqser-circle-button>
@ -119,7 +119,7 @@
[routerLink]="['/main/dossiers/' + appStateService.activeDossierId]"
[tooltip]="'common.close' | translate"
class="ml-8"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>

View File

@ -14,7 +14,7 @@
<redaction-empty-state
*ngIf="searchResult.length === 0"
[icon]="'red:search'"
[icon]="'iqser:search'"
[text]="'search-screen.no-data' | translate"
></redaction-empty-state>

View File

@ -22,8 +22,6 @@ export class IconsModule {
'attribute',
'calendar',
'case-sensitive',
'check',
'close',
'collapse',
'color-picker',
'comment',
@ -32,7 +30,6 @@ export class IconsModule {
'document',
'double-chevron-right',
'download',
'edit',
'entries',
'enter',
'error',
@ -69,7 +66,6 @@ export class IconsModule {
'refresh',
'remove-from-dict',
'report',
'search',
'secret',
'status',
'status-collapse',

View File

@ -1,5 +1,5 @@
<div class="flex-align-items-center space-between">
<div class="red-input-group w-250">
<div class="iqser-input-group w-250">
<mat-select [(ngModel)]="value">
<mat-select-trigger>
<ng-container *ngTemplateOutlet="avatar; context: getContext(value)"></ng-container>
@ -14,14 +14,14 @@
(action)="save.emit(value)"
[tooltip]="'assign-user.save' | translate"
class="pl-1"
icon="red:check"
icon="iqser:check"
tooltipPosition="below"
></iqser-circle-button>
<iqser-circle-button
(action)="value = oldUser; cancel.emit()"
[tooltip]="'assign-user.cancel' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="below"
></iqser-circle-button>
</div>

View File

@ -2,7 +2,7 @@
justify-content: space-between;
}
.red-input-group mat-select {
.iqser-input-group mat-select {
display: flex;
flex-direction: column;
justify-content: center;

View File

@ -1,6 +1,6 @@
<div class="content-container">
<div class="actions-bar">
<div class="red-input-group w-250 mr-32">
<div class="iqser-input-group w-250 mr-32">
<input
#inputElement
(keyup)="searchChanged(searchText)"
@ -12,7 +12,7 @@
<div class="input-icons">
<div *ngIf="searchText.length === 0" class="no-input">
<mat-icon svgIcon="red:search"></mat-icon>
<mat-icon svgIcon="iqser:search"></mat-icon>
</div>
<div *ngIf="searchText.length > 0" class="with-input">
<div class="search-match-text">
@ -20,17 +20,17 @@
</div>
<mat-icon (click)="previousSearchMatch()" class="pointer" svgIcon="red:arrow-up"></mat-icon>
<mat-icon (click)="nextSearchMatch()" class="pointer" svgIcon="iqser:arrow-down"></mat-icon>
<mat-icon (click)="searchChanged(''); inputElement.focus()" class="pointer" svgIcon="red:close"></mat-icon>
<mat-icon (click)="searchChanged(''); inputElement.focus()" class="pointer" svgIcon="iqser:close"></mat-icon>
</div>
</div>
</div>
<div class="compare">
<div class="red-input-group mr-16">
<div class="iqser-input-group mr-16">
<mat-checkbox [(ngModel)]="compare" color="primary">
{{ 'dictionary-overview.compare.compare' | translate }}
</mat-checkbox>
</div>
<div class="red-input-group w-200 mt-0">
<div class="iqser-input-group w-200 mt-0">
<mat-select [(ngModel)]="dossier" [disabled]="!compare">
<mat-option [value]="selectDossier">{{ selectDossier.dossierName | translate }}</mat-option>
<mat-option *ngFor="let dossier of dossiers" [value]="dossier">
@ -68,7 +68,7 @@
(action)="saveDictionary.emit(currentEntries)"
[label]="'dictionary-overview.save-changes' | translate"
[type]="iconButtonTypes.primary"
icon="red:check"
icon="iqser:check"
></iqser-icon-button>
<div (click)="revert()" class="all-caps-label cancel" translate="dictionary-overview.revert-changes"></div>
</div>

View File

@ -14,7 +14,7 @@ form {
align-items: center;
height: 100%;
.red-input-group {
.iqser-input-group {
margin-top: 0;
}
}
@ -66,7 +66,7 @@ ngx-monaco-editor {
max-width: 450px;
}
.red-input-group {
.iqser-input-group {
input {
padding-right: 32px;

View File

@ -1,25 +0,0 @@
<div [style.max-width]="computedWidth" [style.width]="computedWidth" class="red-input-group">
<input
[(ngModel)]="value"
(ngModelChange)="valueChange.emit($event)"
[autocomplete]="autocomplete"
[placeholder]="placeholder"
class="with-icon mt-0"
type="text"
/>
<span *ngIf="hint" class="hint">{{ hint }}</span>
<mat-icon *ngIf="isSearch && !hasContent" class="icon-right" svgIcon="red:search"></mat-icon>
<iqser-circle-button (action)="reset()" *ngIf="isSearch && hasContent" [size]="25" icon="red:close"></iqser-circle-button>
<iqser-circle-button
(action)="executeAction($event)"
*ngIf="!isSearch"
[disabled]="!hasContent"
[icon]="icon"
[isSubmit]="true"
[size]="25"
></iqser-circle-button>
</div>

View File

@ -1,14 +0,0 @@
:host {
display: block;
}
mat-icon.disabled {
opacity: 0.7;
cursor: not-allowed;
}
iqser-circle-button {
position: absolute;
top: 4px;
right: 5px;
}

View File

@ -1,41 +0,0 @@
import { Component, EventEmitter, Input, Output } from '@angular/core';
@Component({
selector: 'redaction-input-with-action',
templateUrl: './input-with-action.component.html',
styleUrls: ['./input-with-action.component.scss']
})
export class InputWithActionComponent {
@Input() placeholder: string;
@Input() hint: string;
@Input() width: number | 'full' = 250;
@Input() icon: string;
@Input() autocomplete: 'on' | 'off' = 'on';
@Input() value = '';
@Output() readonly action = new EventEmitter<string>();
@Output() readonly valueChange = new EventEmitter<string>();
get hasContent(): boolean {
return !!this.value.length;
}
get computedWidth(): string {
return this.width === 'full' ? '100%' : `${this.width}px`;
}
reset(): void {
this.value = '';
}
get isSearch(): boolean {
return this.action.observers.length === 0;
}
executeAction($event: MouseEvent): void {
$event.stopPropagation();
if (this.hasContent) {
this.action.emit(this.value);
}
}
}

View File

@ -44,7 +44,7 @@
*ngIf="showCloseButton"
[class.ml-6]="actionConfigs"
[tooltip]="'common.close' | translate"
icon="red:close"
icon="iqser:close"
redactionNavigateLastDossiersScreen
tooltipPosition="below"
></iqser-circle-button>
@ -52,11 +52,11 @@
</div>
<ng-template #searchBar>
<redaction-input-with-action
<iqser-input-with-action
[(value)]="searchService.searchValue"
*ngIf="searchPlaceholder && searchService"
[placeholder]="searchPlaceholder"
[width]="searchWidth"
[class.mr-8]="searchPosition === searchPositions.beforeFilters"
></redaction-input-with-action>
></iqser-input-with-action>
</ng-template>

View File

@ -7,7 +7,7 @@
<p [class.heading]="isDeleteAction" [innerHTML]="config.question" class="mt-0 mb-8"></p>
<p *ngIf="config.details" [innerHTML]="config.details" class="mt-0"></p>
<div *ngIf="config.requireInput" class="red-input-group required w-300 mt-24">
<div *ngIf="config.requireInput" class="iqser-input-group required w-300 mt-24">
<label>{{ inputLabel }}</label>
<input [(ngModel)]="inputValue" />
</div>
@ -33,5 +33,5 @@
</div>
</div>
<iqser-circle-button class="dialog-close" icon="red:close" mat-dialog-close></iqser-circle-button>
<iqser-circle-button class="dialog-close" icon="iqser:close" mat-dialog-close></iqser-circle-button>
</section>

View File

@ -25,7 +25,6 @@ import { DictionaryManagerComponent } from './components/dictionary-manager/dict
import { SideNavComponent } from '@shared/components/side-nav/side-nav.component';
import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
import { AssignUserDropdownComponent } from './components/assign-user-dropdown/assign-user-dropdown.component';
import { InputWithActionComponent } from '@shared/components/input-with-action/input-with-action.component';
import { PageHeaderComponent } from './components/page-header/page-header.component';
import { DatePipe } from '@shared/pipes/date.pipe';
import { HelpModeDirective } from '@shared/directives/help-mode.directive';
@ -36,7 +35,6 @@ const components = [
FullPageLoadingIndicatorComponent,
InitialsAvatarComponent,
PaginationComponent,
InputWithActionComponent,
AnnotationIconComponent,
SimpleDoughnutChartComponent,
DictionaryAnnotationIconComponent,

View File

@ -4,7 +4,7 @@
{{ 'upload-status.dialog.title' | translate: { len: uploadService.files.length } }}
</div>
<iqser-circle-button [icon]="'red:status-' + (collapsed ? 'expand' : 'collapse')"></iqser-circle-button>
<iqser-circle-button (action)="closeDialog()" icon="red:close"></iqser-circle-button>
<iqser-circle-button (action)="closeDialog()" icon="iqser:close"></iqser-circle-button>
</div>
<div [hidden]="collapsed" class="upload-download-list">
<div *ngFor="let dossierId of uploadService.activeDossierKeys">
@ -50,7 +50,7 @@
<iqser-circle-button
(action)="cancelItem(model)"
[tooltip]="'upload-status.dialog.actions.cancel' | translate"
icon="red:close"
icon="iqser:close"
tooltipPosition="before"
[type]="circleButtonTypes.dark"
></iqser-circle-button>

View File

@ -1,9 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg height="100px" version="1.1" viewBox="0 0 100 100" width="100px"
xmlns="http://www.w3.org/2000/svg">
<g fill="none" fill-rule="evenodd" id="search" stroke="none" stroke-width="1">
<path
d="M95.5,74.5 L76.5,55.5 C78.5,50.5 79.5,45.5 79.5,40 C79.5,18 61.5,0 39.5,0 C18,0 0,18 0,40 C0,62 18,80 40,80 C45.5,80 51,79 55.5,77 L74.5,96 C77.5,99 81.5,100.5 85,100.5 C89,100.5 92.5,99 95.5,96 C101.5,90 101.5,80 95.5,74.5 Z M10,40 C10,23.5 23.5,10 40,10 C56.5,10 70,23.5 70,40 C70,56.5 56.5,70 40,70 C23.5,70 10,56.5 10,40 Z M88.5,88.5 C86.5,90.5 83.5,90.5 81.5,88.5 L64.5,71.5 C67,69.5 69.5,67 71.5,64.5 L88.5,81.5 C90.5,83.5 90.5,86.5 88.5,88.5 Z"
fill="currentColor" fill-rule="nonzero" id="Shape"></path>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 801 B

View File

@ -1,267 +0,0 @@
@import 'variables';
@import 'red-mixins';
form .red-input-group:not(first-of-type) {
margin-top: 14px;
}
.red-input-group {
display: flex;
flex-direction: column;
position: relative;
height: fit-content;
.hint {
margin-top: 5px;
font-size: 11px;
line-height: 14px;
opacity: 0.7;
}
.input-icon {
position: absolute;
right: 1px;
bottom: 1px;
background: $grey-5;
height: 34px;
width: 34px;
border-left: 1px solid $grey-5;
border-top-right-radius: 7px;
border-bottom-right-radius: 7px;
cursor: pointer;
transition: background-color 0.25s ease;
display: flex;
align-items: center;
justify-content: center;
&:hover {
background: $grey-6;
}
mat-icon {
width: 14px;
height: 14px;
color: $accent;
}
&.disabled {
cursor: default;
}
}
.mat-form-field-underline {
display: none;
}
.mat-form-field-wrapper,
.mat-form-field-infix {
padding-bottom: 0;
}
.mat-form-field-label {
opacity: 0.7 !important;
color: $accent !important;
transform: translateY(-1.34em) !important;
}
&:first-child {
margin-top: 0;
}
.icon-right {
width: 14px;
height: 14px;
position: absolute;
top: 10px;
right: 10px;
}
.slider-row {
display: flex;
flex-direction: row;
align-items: center;
}
.mat-button-toggle-checked {
background: $primary;
transition: background-color 0.25s ease;
color: $white;
}
input,
textarea,
mat-select {
box-sizing: border-box;
padding-left: 11px;
padding-right: 11px;
border: 1px solid $grey-5;
font-family: Inter, sans-serif;
font-size: 13px;
background-color: #ffffff;
border-radius: 8px;
outline: none;
margin-top: 3px;
min-height: 36px;
&.with-icon {
padding-right: 34px;
}
&:focus:not(:disabled):not(.mat-select-disabled) {
border-color: $accent;
}
&::placeholder {
color: $accent;
opacity: 0.7;
}
&.ng-invalid.ng-touched {
border-color: rgba($primary, 0.3);
&:focus {
border-color: $primary;
}
}
&:disabled,
&.mat-select-disabled {
background-color: $grey-2;
color: rgba($accent, 0.3);
}
}
textarea {
line-height: 18px;
}
.hex-color-input {
width: 150px;
max-width: 150px;
}
mat-select {
.mat-select-trigger {
height: 32px;
}
.mat-select-value {
vertical-align: middle;
}
}
textarea {
resize: vertical;
padding-top: 7px;
padding-bottom: 7px;
@include scroll-bar;
&.has-scrollbar {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
}
label:not(.mat-slide-toggle-label) {
opacity: 0.7;
font-size: 11px;
letter-spacing: 0;
line-height: 14px;
margin-bottom: 2px;
color: $accent;
&.mat-checkbox-layout {
opacity: 1;
margin-bottom: 0;
}
}
&.required label:after {
content: ' *';
color: $primary;
}
&.datepicker-wrapper {
position: relative;
display: flex;
margin-top: 0;
width: 120px;
.mat-datepicker-input {
margin-top: 0;
width: 120px;
}
.mat-datepicker-toggle {
position: absolute;
right: 0;
bottom: 0;
color: $accent;
&.mat-datepicker-toggle-active {
color: $primary;
}
.mat-icon-button {
width: 34px;
height: 34px;
line-height: 34px;
}
mat-icon {
width: 14px;
height: 17px;
}
}
}
&.w-75 {
width: 75px;
max-width: 75px;
}
&.w-110 {
width: 110px;
max-width: 110px;
}
&.w-150 {
max-width: 150px;
width: 150px;
}
&.w-160 {
width: 160px;
max-width: 160px;
}
&.w-200 {
width: 200px;
max-width: 200px;
}
&.w-250 {
width: 250px;
max-width: 250px;
}
&.w-300 {
width: 300px;
max-width: 300px;
}
&.w-400 {
width: 400px;
max-width: 400px;
}
&.w-450 {
width: 450px;
max-width: 450px;
}
&.w-full {
width: 100%;
max-width: 100%;
}
}

View File

@ -1,4 +1,5 @@
@import 'variables';
@import 'libs/common-ui/src/assets/styles/mixins';
@mixin line-clamp($lines) {
display: -webkit-box;
@ -13,34 +14,6 @@
}
}
@mixin no-scroll-bar {
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE 10+ */
&::-webkit-scrollbar {
width: 0;
background: transparent; /* Chrome/Safari/Webkit */
}
}
@mixin scroll-bar {
scrollbar-color: $grey-5 $grey-2;
scrollbar-width: thin;
&::-webkit-scrollbar {
width: 11px;
}
/* Track */
&::-webkit-scrollbar-track {
background: $grey-2;
}
/* Handle */
&::-webkit-scrollbar-thumb {
background: $grey-5;
}
}
@mixin inset-shadow {
box-shadow: inset 0 4px 3px -2px $grey-4;
}

View File

@ -51,7 +51,7 @@ section.settings {
form {
margin-left: 6px;
.red-input-group {
.iqser-input-group {
width: 250px;
}
}
@ -216,10 +216,6 @@ section.settings {
flex: 2;
}
.mt-0 {
margin-top: 0 !important;
}
.mt-5 {
margin-top: 5px;
}

View File

@ -4,7 +4,6 @@
@import 'red-page-layout';
@import 'red-text-styles';
@import 'red-dialog';
@import 'red-input';
@import 'red-select';
@import 'red-autocomplete';
@import 'red-list';