diff --git a/apps/red-ui/src/app/app.component.html b/apps/red-ui/src/app/app.component.html
index 5735353bf..ff64625af 100644
--- a/apps/red-ui/src/app/app.component.html
+++ b/apps/red-ui/src/app/app.component.html
@@ -1,2 +1,3 @@
-
+
+
diff --git a/apps/red-ui/src/app/app.component.ts b/apps/red-ui/src/app/app.component.ts
index 8660f6cb6..58cafd198 100644
--- a/apps/red-ui/src/app/app.component.ts
+++ b/apps/red-ui/src/app/app.component.ts
@@ -1,5 +1,4 @@
import { Component } from '@angular/core';
-import { LoadingService } from '@services/loading.service';
@Component({
selector: 'redaction-root',
@@ -7,5 +6,5 @@ import { LoadingService } from '@services/loading.service';
styleUrls: ['./app.component.scss']
})
export class AppComponent {
- constructor(readonly loadingService: LoadingService) {}
+ constructor() {}
}
diff --git a/apps/red-ui/src/app/app.module.ts b/apps/red-ui/src/app/app.module.ts
index 6d9101e6b..a1d9b56cd 100644
--- a/apps/red-ui/src/app/app.module.ts
+++ b/apps/red-ui/src/app/app.module.ts
@@ -37,6 +37,7 @@ import { PruningTranslationLoader } from '@utils/pruning-translation-loader';
import { DatePipe } from '@shared/pipes/date.pipe';
import * as links from '../assets/help-mode/links.json';
import { HELP_DOCS, IqserHelpModeModule } from '@iqser/common-ui';
+import { ServerErrorInterceptor } from '@utils/server-error-interceptor';
export function httpLoaderFactory(httpClient: HttpClient) {
return new PruningTranslationLoader(httpClient, '/assets/i18n/', '.json');
@@ -96,6 +97,11 @@ const components = [
ServiceWorkerModule.register('ngsw-worker.js', { enabled: environment.production })
],
providers: [
+ {
+ provide: HTTP_INTERCEPTORS,
+ multi: true,
+ useClass: ServerErrorInterceptor
+ },
{
provide: ErrorHandler,
useClass: GlobalErrorHandler
diff --git a/apps/red-ui/src/app/components/base-screen/base-screen.component.scss b/apps/red-ui/src/app/components/base-screen/base-screen.component.scss
index b573da15f..ab6144a7f 100644
--- a/apps/red-ui/src/app/components/base-screen/base-screen.component.scss
+++ b/apps/red-ui/src/app/components/base-screen/base-screen.component.scss
@@ -1,9 +1,8 @@
@import '../../../assets/styles/variables';
-@import '../../../assets/styles/red-mixins';
.dev-mode {
- background-color: #dd4d50;
- color: #fff;
+ background-color: $primary;
+ color: $white;
font-size: 22px;
line-height: 16px;
text-align: center;
diff --git a/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts b/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts
index 591829755..53846e45a 100644
--- a/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts
+++ b/apps/red-ui/src/app/components/downloads-list-screen/downloads-list-screen.component.ts
@@ -2,9 +2,8 @@ import { Component, Injector, OnInit } from '@angular/core';
import { FileDownloadService } from '@upload-download/services/file-download.service';
import { DownloadStatusWrapper } from '@upload-download/model/download-status.wrapper';
import { DownloadControllerService } from '@redaction/red-ui-http';
-import { CircleButtonTypes, DefaultListingServices, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
+import { CircleButtonTypes, DefaultListingServices, ListingComponent, LoadingService, TableColumnConfig } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
-import { LoadingService } from '@services/loading.service';
import { timer } from 'rxjs';
import { RouterHistoryService } from '@services/router-history.service';
@@ -16,7 +15,6 @@ import { RouterHistoryService } from '@services/router-history.service';
})
export class DownloadsListScreenComponent extends ListingComponent implements OnInit {
readonly itemSize = 80;
- protected readonly _primaryKey = 'storageId';
readonly circleButtonTypes = CircleButtonTypes;
readonly tableHeaderLabel = _('downloads-list.table-header.title');
readonly tableColumnConfigs: readonly TableColumnConfig[] = [
@@ -25,6 +23,7 @@ export class DownloadsListScreenComponent extends ListingComponent {
this.loadDossierTemplatesData?.emit();
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts
index 5563bd8a2..5d4bce5e1 100644
--- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-dossier-attribute-dialog/add-edit-dossier-attribute-dialog.component.ts
@@ -2,13 +2,12 @@ import { Component, Inject, OnDestroy } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { DossierAttributeConfig, FileAttributeConfig } from '@redaction/red-ui-http';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
-import { LoadingService } from '@services/loading.service';
+import { AutoUnsubscribe, LoadingService } from '@iqser/common-ui';
import { HttpErrorResponse } from '@angular/common/http';
import { Toaster } from '@iqser/common-ui';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
-import { AutoUnsubscribe } from '@iqser/common-ui';
@Component({
templateUrl: './add-edit-dossier-attribute-dialog.component.html',
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts
index 71e219ca7..34881d642 100644
--- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts
+++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/reset-password/reset-password.component.ts
@@ -2,7 +2,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core';
import { FormBuilder, Validators } from '@angular/forms';
import { UserControllerService } from '@redaction/red-ui-http';
import { UserService, UserWrapper } from '@services/user.service';
-import { LoadingService } from '@services/loading.service';
+import { LoadingService } from '@iqser/common-ui';
@Component({
selector: 'redaction-reset-password',
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts
index d9a6aa7e1..44b45b190 100644
--- a/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts
+++ b/apps/red-ui/src/app/modules/admin/dialogs/add-edit-user-dialog/user-details/user-details.component.ts
@@ -2,9 +2,8 @@ import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { UserControllerService } from '@redaction/red-ui-http';
import { AdminDialogService } from '../../../services/admin-dialog.service';
-import { LoadingService } from '@services/loading.service';
+import { IconButtonTypes, LoadingService } from '@iqser/common-ui';
import { rolesTranslations } from '../../../../../translations/roles-translations';
-import { IconButtonTypes } from '@iqser/common-ui';
import { UserWrapper } from '@services/user.service';
@Component({
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts
index 3c0ffa4eb..e70d72999 100644
--- a/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts
+++ b/apps/red-ui/src/app/modules/admin/dialogs/confirm-delete-users-dialog/confirm-delete-users-dialog.component.ts
@@ -2,7 +2,7 @@ import { Component, Inject } from '@angular/core';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { UserControllerService } from '@redaction/red-ui-http';
import { AppStateService } from '@state/app-state.service';
-import { LoadingService } from '@services/loading.service';
+import { LoadingService } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserWrapper } from '@services/user.service';
diff --git a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.scss b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.scss
index e764e0db1..8d55816f0 100644
--- a/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.scss
+++ b/apps/red-ui/src/app/modules/admin/dialogs/file-attributes-csv-import-dialog/file-attributes-csv-import-dialog.component.scss
@@ -1,5 +1,5 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.sub-header {
display: flex;
diff --git a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts
index 611657206..f2d195b81 100644
--- a/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/audit/audit-screen.component.ts
@@ -3,8 +3,7 @@ import { FormBuilder, FormGroup } from '@angular/forms';
import { AuditControllerService, AuditResponse, AuditSearchRequest } from '@redaction/red-ui-http';
import { Moment } from 'moment';
import { applyIntervalConstraints } from '@utils/date-inputs-utils';
-import { LoadingService } from '@services/loading.service';
-import { AutoUnsubscribe } from '@iqser/common-ui';
+import { AutoUnsubscribe, LoadingService } from '@iqser/common-ui';
import { auditCategoriesTranslations } from '../../translations/audit-categories-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
diff --git a/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts
index 1d085a41e..3fdb6fe75 100644
--- a/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/default-colors/default-colors-screen.component.ts
@@ -3,8 +3,7 @@ import { AppStateService } from '@state/app-state.service';
import { Colors, DictionaryControllerService } from '@redaction/red-ui-http';
import { ActivatedRoute } from '@angular/router';
import { AdminDialogService } from '../../services/admin-dialog.service';
-import { LoadingService } from '@services/loading.service';
-import { CircleButtonTypes, DefaultListingServices, Listable, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
+import { CircleButtonTypes, DefaultListingServices, Listable, ListingComponent, LoadingService, TableColumnConfig } from '@iqser/common-ui';
import { DefaultColorType } from '@models/default-color-key.model';
import { defaultColorsTranslations } from '../../translations/default-colors-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
@@ -22,7 +21,6 @@ interface ListItem extends Listable {
providers: [...DefaultListingServices]
})
export class DefaultColorsScreenComponent extends ListingComponent implements OnInit {
- protected readonly _primaryKey = 'key';
readonly circleButtonTypes = CircleButtonTypes;
readonly currentUser = this._userService.currentUser;
readonly translations = defaultColorsTranslations;
@@ -34,7 +32,7 @@ export class DefaultColorsScreenComponent extends ListingComponent imp
},
{ label: _('default-colors-screen.table-col-names.color'), class: 'flex-center' }
];
-
+ protected readonly _primaryKey = 'key';
private _colorsObj: Colors;
constructor(
diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.scss
index d1d12b4c9..ef2c038ad 100644
--- a/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.scss
+++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.scss
@@ -1,6 +1,3 @@
-@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
-
iqser-table-header::ng-deep .header-item {
padding-right: 16px;
}
diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.ts
index 1823bbc3d..2de920491 100644
--- a/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-listing/dictionary-listing-screen.component.ts
@@ -7,8 +7,14 @@ import { forkJoin, of } from 'rxjs';
import { ActivatedRoute } from '@angular/router';
import { TypeValueWrapper } from '@models/file/type-value.wrapper';
import { TranslateService } from '@ngx-translate/core';
-import { LoadingService } from '@services/loading.service';
-import { CircleButtonTypes, DefaultListingServices, IconButtonTypes, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
+import {
+ CircleButtonTypes,
+ DefaultListingServices,
+ IconButtonTypes,
+ ListingComponent,
+ LoadingService,
+ TableColumnConfig
+} from '@iqser/common-ui';
import { AdminDialogService } from '../../services/admin-dialog.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.scss
index b35b035bc..1078732a2 100644
--- a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.scss
+++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.scss
@@ -1,6 +1,3 @@
-@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
-
.right-container {
width: 353px;
min-width: 353px;
diff --git a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts
index 99a30e680..1c95c9f1f 100644
--- a/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/dictionary-overview/dictionary-overview-screen.component.ts
@@ -9,8 +9,7 @@ import { AdminDialogService } from '../../services/admin-dialog.service';
import { DictionaryManagerComponent } from '@shared/components/dictionary-manager/dictionary-manager.component';
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';
+import { CircleButtonTypes, LoadingService } from '@iqser/common-ui';
import { UserService } from '@services/user.service';
@Component({
diff --git a/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts
index 12a8138dd..e4f5ca79c 100644
--- a/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/digital-signature/digital-signature-screen.component.ts
@@ -1,9 +1,8 @@
import { Component, OnDestroy } from '@angular/core';
import { DigitalSignature, DigitalSignatureControllerService } from '@redaction/red-ui-http';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
-import { AutoUnsubscribe, IconButtonTypes, Toaster } from '@iqser/common-ui';
import { lastIndexOfEnd } from '@utils/functions';
-import { LoadingService } from '@services/loading.service';
+import { AutoUnsubscribe, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { UserService } from '@services/user.service';
import { RouterHistoryService } from '@services/router-history.service';
diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.scss
index d6144291e..187b51b58 100644
--- a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.scss
+++ b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.scss
@@ -1,38 +1,34 @@
-@import '../../../../../assets/styles/red-mixins';
-
.page-header .actions {
display: flex;
justify-content: flex-end;
}
-.header-item {
- padding: 0 24px 0 10px;
-}
+iqser-table-header::ng-deep .attributes-actions-container {
+ display: flex;
+ flex: 1;
+ justify-content: flex-end;
-iqser-table-column-name::ng-deep {
- > div {
- padding-left: 10px !important;
+ > *:not(:last-child) {
+ margin-right: 10px;
}
}
-.content-container {
- cdk-virtual-scroll-viewport {
+cdk-virtual-scroll-viewport {
+ ::ng-deep.cdk-virtual-scroll-content-wrapper {
+ grid-template-columns: auto 2fr 2fr 1fr 1fr 11px;
+
+ .table-item > div {
+ height: 50px;
+
+ &:not(.scrollbar-placeholder) {
+ padding-left: 10px;
+ }
+ }
+ }
+
+ &.has-scrollbar:hover {
::ng-deep.cdk-virtual-scroll-content-wrapper {
- grid-template-columns: auto 2fr 2fr 1fr 1fr 11px;
-
- .table-item > div {
- height: 50px;
-
- &:not(.scrollbar-placeholder) {
- padding-left: 10px;
- }
- }
- }
-
- &.has-scrollbar:hover {
- ::ng-deep.cdk-virtual-scroll-content-wrapper {
- grid-template-columns: auto 2fr 2fr 1fr 1fr;
- }
+ grid-template-columns: auto 2fr 2fr 1fr 1fr;
}
}
}
diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts
index c2ead8d50..a42bb4a9c 100644
--- a/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/dossier-attributes-listing/dossier-attributes-listing-screen.component.ts
@@ -1,10 +1,16 @@
import { Component, Injector, OnInit } from '@angular/core';
-import { CircleButtonTypes, DefaultListingServices, IconButtonTypes, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
+import {
+ CircleButtonTypes,
+ DefaultListingServices,
+ IconButtonTypes,
+ ListingComponent,
+ LoadingService,
+ TableColumnConfig
+} from '@iqser/common-ui';
import { DossierAttributeConfig } from '@redaction/red-ui-http';
import { AppStateService } from '@state/app-state.service';
import { ActivatedRoute } from '@angular/router';
import { AdminDialogService } from '../../services/admin-dialog.service';
-import { LoadingService } from '@services/loading.service';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { dossierAttributeTypesTranslations } from '../../translations/dossier-attribute-types-translations';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
@@ -16,7 +22,6 @@ import { UserService } from '@services/user.service';
providers: [...DefaultListingServices]
})
export class DossierAttributesListingScreenComponent extends ListingComponent implements OnInit {
- protected readonly _primaryKey = 'label';
readonly iconButtonTypes = IconButtonTypes;
readonly circleButtonTypes = CircleButtonTypes;
readonly currentUser = this._userService.currentUser;
@@ -33,6 +38,7 @@ export class DossierAttributesListingScreenComponent extends ListingComponent div:not(.scrollbar-placeholder) {
+ padding-left: 10px;
-iqser-table-column-name::ng-deep {
- > div {
- padding-left: 10px !important;
- }
-}
+ .stats-subtitle {
+ margin-top: 4px;
+ }
-.content-container {
- cdk-virtual-scroll-viewport {
- ::ng-deep.cdk-virtual-scroll-content-wrapper {
- grid-template-columns: auto 1fr 1fr 1fr 1fr 11px;
-
- .table-item {
- > div:not(.scrollbar-placeholder) {
- padding-left: 10px;
-
- .stats-subtitle {
- margin-top: 4px;
- }
-
- .table-item-title {
- max-width: 100%;
- }
+ .table-item-title {
+ max-width: 100%;
}
}
}
+ }
- &.has-scrollbar:hover {
- ::ng-deep.cdk-virtual-scroll-content-wrapper {
- grid-template-columns: auto 1fr 1fr 1fr 1fr;
- }
+ &.has-scrollbar:hover {
+ ::ng-deep.cdk-virtual-scroll-content-wrapper {
+ grid-template-columns: auto 1fr 1fr 1fr 1fr;
}
}
}
diff --git a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts
index 27cb7e8f7..86d6ceed6 100644
--- a/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/dossier-template-listing/dossier-templates-listing-screen.component.ts
@@ -3,9 +3,15 @@ import { AppStateService } from '@state/app-state.service';
import { UserPreferenceService } from '@services/user-preference.service';
import { AdminDialogService } from '../../services/admin-dialog.service';
import { DossierTemplateModelWrapper } from '@models/file/dossier-template-model.wrapper';
-import { LoadingService } from '@services/loading.service';
+import {
+ CircleButtonTypes,
+ DefaultListingServices,
+ IconButtonTypes,
+ ListingComponent,
+ LoadingService,
+ TableColumnConfig
+} from '@iqser/common-ui';
import { DossierTemplateControllerService } from '@redaction/red-ui-http';
-import { CircleButtonTypes, DefaultListingServices, IconButtonTypes, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
import { UserService } from '@services/user.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { RouterHistoryService } from '@services/router-history.service';
@@ -17,7 +23,6 @@ import { RouterHistoryService } from '@services/router-history.service';
providers: [...DefaultListingServices]
})
export class DossierTemplatesListingScreenComponent extends ListingComponent implements OnInit {
- protected readonly _primaryKey = 'name';
readonly iconButtonTypes = IconButtonTypes;
readonly circleButtonTypes = CircleButtonTypes;
readonly currentUser = this._userService.currentUser;
@@ -37,6 +42,7 @@ export class DossierTemplatesListingScreenComponent extends ListingComponent implements OnInit, OnDestroy {
- protected readonly _primaryKey = 'label';
readonly iconButtonTypes = IconButtonTypes;
readonly circleButtonTypes = CircleButtonTypes;
readonly currentUser = this._userService.currentUser;
@@ -52,7 +57,7 @@ export class FileAttributesListingScreenComponent extends ListingComponent div {
- padding-left: 10px !important;
- }
-}
-
.content-container {
cdk-virtual-scroll-viewport {
::ng-deep.cdk-virtual-scroll-content-wrapper {
diff --git a/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.ts
index 25ce1d529..0586c5a5d 100644
--- a/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/trash/trash-screen.component.ts
@@ -1,9 +1,8 @@
import { ChangeDetectionStrategy, Component, Injector, OnInit } from '@angular/core';
import { Dossier } from '@redaction/red-ui-http';
-import { LoadingService } from '@services/loading.service';
+import { CircleButtonTypes, DefaultListingServices, ListingComponent, LoadingService, Listable, TableColumnConfig } from '@iqser/common-ui';
import { AppConfigKey, AppConfigService } from '@app-config/app-config.service';
import * as moment from 'moment';
-import { CircleButtonTypes, DefaultListingServices, Listable, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
import { DossiersService } from '../../../dossier/services/dossiers.service';
import { AdminDialogService } from '../../services/admin-dialog.service';
import { ConfirmationDialogInput, TitleColors } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.scss b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.scss
index 004790301..73674cbd8 100644
--- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.scss
+++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.scss
@@ -1,33 +1,21 @@
-.content-container {
- .header-item {
- padding: 0 24px 0 10px;
- }
+cdk-virtual-scroll-viewport {
+ ::ng-deep.cdk-virtual-scroll-content-wrapper {
+ grid-template-columns: auto 2fr 1fr 1fr 1fr auto 11px;
- iqser-table-column-name::ng-deep {
- > div {
- padding: 0 13px 0 10px !important;
- }
- }
+ .table-item {
+ > div:not(.scrollbar-placeholder) {
+ padding-left: 10px;
- cdk-virtual-scroll-viewport {
- ::ng-deep.cdk-virtual-scroll-content-wrapper {
- grid-template-columns: auto 2fr 1fr 1fr 1fr auto 11px;
-
- .table-item {
- > div:not(.scrollbar-placeholder) {
- padding-left: 10px;
-
- &.center {
- align-items: center;
- }
+ &.center {
+ align-items: center;
}
}
}
+ }
- &.has-scrollbar:hover {
- ::ng-deep.cdk-virtual-scroll-content-wrapper {
- grid-template-columns: auto 2fr 1fr 1fr 1fr auto;
- }
+ &.has-scrollbar:hover {
+ ::ng-deep.cdk-virtual-scroll-content-wrapper {
+ grid-template-columns: auto 2fr 1fr 1fr 1fr auto;
}
}
}
diff --git a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts
index 917b2e67d..7f5c31cfd 100644
--- a/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/user-listing/user-listing-screen.component.ts
@@ -5,9 +5,15 @@ import { AdminDialogService } from '../../services/admin-dialog.service';
import { TranslateService } from '@ngx-translate/core';
import { DoughnutChartConfig } from '@shared/components/simple-doughnut-chart/simple-doughnut-chart.component';
import { TranslateChartService } from '@services/translate-chart.service';
-import { LoadingService } from '@services/loading.service';
+import {
+ CircleButtonTypes,
+ DefaultListingServices,
+ IconButtonTypes,
+ ListingComponent,
+ LoadingService,
+ TableColumnConfig
+} from '@iqser/common-ui';
import { InitialsAvatarComponent } from '@shared/components/initials-avatar/initials-avatar.component';
-import { CircleButtonTypes, DefaultListingServices, IconButtonTypes, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { rolesTranslations } from '../../../../translations/roles-translations';
diff --git a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.ts b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.ts
index 36a020d0a..c514b1b04 100644
--- a/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.ts
+++ b/apps/red-ui/src/app/modules/admin/screens/watermark/watermark-screen.component.ts
@@ -5,14 +5,13 @@ import { AppStateService } from '@state/app-state.service';
import { environment } from '@environments/environment';
import { HttpClient } from '@angular/common/http';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
-import { Debounce, IconButtonTypes } from '@iqser/common-ui';
+import { Debounce, IconButtonTypes, LoadingService } from '@iqser/common-ui';
import { WatermarkControllerService, WatermarkModelRes } from '@redaction/red-ui-http';
import { Toaster } from '@iqser/common-ui';
import { ActivatedRoute } from '@angular/router';
import { BASE_HREF } from '../../../../tokens';
import { stampPDFPage } from '@utils/page-stamper';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
-import { LoadingService } from '@services/loading.service';
export const DEFAULT_WATERMARK: WatermarkModelRes = {
text: null,
diff --git a/apps/red-ui/src/app/modules/auth/red-role.guard.ts b/apps/red-ui/src/app/modules/auth/red-role.guard.ts
index 0e15433a5..88404170f 100644
--- a/apps/red-ui/src/app/modules/auth/red-role.guard.ts
+++ b/apps/red-ui/src/app/modules/auth/red-role.guard.ts
@@ -1,7 +1,7 @@
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
import { UserService } from '@services/user.service';
-import { LoadingService } from '@services/loading.service';
+import { LoadingService } from '@iqser/common-ui';
import { Observable } from 'rxjs';
@Injectable({
diff --git a/apps/red-ui/src/app/modules/dossier/components/bulk-actions/dossier-overview-bulk-actions.component.ts b/apps/red-ui/src/app/modules/dossier/components/bulk-actions/dossier-overview-bulk-actions.component.ts
index f353f6f73..39a224b4c 100644
--- a/apps/red-ui/src/app/modules/dossier/components/bulk-actions/dossier-overview-bulk-actions.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/components/bulk-actions/dossier-overview-bulk-actions.component.ts
@@ -6,9 +6,8 @@ import { FileStatusWrapper } from '@models/file/file-status.wrapper';
import { FileActionService } from '../../services/file-action.service';
import { Observable } from 'rxjs';
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
-import { LoadingService } from '@services/loading.service';
+import { CircleButtonTypes, EntitiesService, LoadingService } from '@iqser/common-ui';
import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
-import { CircleButtonTypes, EntitiesService } from '@iqser/common-ui';
import { TranslateService } from '@ngx-translate/core';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
diff --git a/apps/red-ui/src/app/modules/dossier/components/document-info/document-info.component.scss b/apps/red-ui/src/app/modules/dossier/components/document-info/document-info.component.scss
index 4cbdca5e8..11319af19 100644
--- a/apps/red-ui/src/app/modules/dossier/components/document-info/document-info.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/components/document-info/document-info.component.scss
@@ -1,5 +1,5 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
:host {
display: block;
diff --git a/apps/red-ui/src/app/modules/dossier/components/dossier-details-stats/dossier-details-stats.component.scss b/apps/red-ui/src/app/modules/dossier/components/dossier-details-stats/dossier-details-stats.component.scss
index 4c89b435d..3d9becd36 100644
--- a/apps/red-ui/src/app/modules/dossier/components/dossier-details-stats/dossier-details-stats.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/components/dossier-details-stats/dossier-details-stats.component.scss
@@ -1,6 +1,6 @@
@import '../../../../../assets/styles/variables';
@import '../../../../../assets/styles/red-components';
-@import '../../../../../assets/styles/red-text-styles';
+@import 'libs/common-ui/src/assets/styles/texts';
:host {
@extend .stats-subtitle;
diff --git a/apps/red-ui/src/app/modules/dossier/components/file-actions/file-actions.component.ts b/apps/red-ui/src/app/modules/dossier/components/file-actions/file-actions.component.ts
index 31139185d..6b7e87edc 100644
--- a/apps/red-ui/src/app/modules/dossier/components/file-actions/file-actions.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/components/file-actions/file-actions.component.ts
@@ -5,10 +5,9 @@ import { AppStateService } from '@state/app-state.service';
import { FileActionService } from '../../services/file-action.service';
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
-import { LoadingService } from '@services/loading.service';
+import { AutoUnsubscribe, CircleButtonType, CircleButtonTypes, LoadingService, StatusBarConfig } from '@iqser/common-ui';
import { FileManagementControllerService, FileStatus } from '@redaction/red-ui-http';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
-import { AutoUnsubscribe, CircleButtonType, CircleButtonTypes, StatusBarConfig } from '@iqser/common-ui';
import { UserService } from '@services/user.service';
import { filter } from 'rxjs/operators';
@@ -64,27 +63,6 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnInit, OnD
return this.fileStatus?.excluded ? _('file-preview.toggle-analysis.enable') : _('file-preview.toggle-analysis.disable');
}
- private _setup() {
- this.statusBarConfig = [{ color: this.fileStatus.status, length: 1 }];
- this.tooltipPosition = this.screen === 'file-preview' ? 'below' : 'above';
- this.assignTooltip = this.fileStatus.isUnderApproval
- ? _('dossier-overview.assign-approver')
- : _('dossier-overview.assign-reviewer');
- this.buttonType = this.screen === 'file-preview' ? CircleButtonTypes.default : CircleButtonTypes.dark;
- this.isWorkable = this.fileStatus.isWorkable;
- this.toggleTooltip = this._toggleTooltip;
-
- this.canUndoApproval = this.permissionsService.canUndoApproval(this.fileStatus);
- this.canAssignToSelf = this.permissionsService.canAssignToSelf(this.fileStatus);
- this.canAssign = this.permissionsService.canAssignUser(this.fileStatus);
- this.canDelete = this.permissionsService.canDeleteFile(this.fileStatus);
- this.canReanalyse = this.permissionsService.canReanalyseFile(this.fileStatus);
- this.canSetToUnderReview = this.permissionsService.canSetUnderReview(this.fileStatus);
- this.canSetToUnderApproval = this.permissionsService.canSetUnderApproval(this.fileStatus);
- this.readyForApproval = this.permissionsService.isReadyForApproval(this.fileStatus);
- this.canToggleAnalysis = this.permissionsService.canToggleAnalysis(this.fileStatus);
- }
-
ngOnInit(): void {
if (this.fileStatus) {
this.screen = 'dossier-overview';
@@ -201,4 +179,25 @@ export class FileActionsComponent extends AutoUnsubscribe implements OnInit, OnD
await this.appStateService.getFiles();
this.actionPerformed.emit(this.fileStatus?.excluded ? 'enable-analysis' : 'disable-analysis');
}
+
+ private _setup() {
+ this.statusBarConfig = [{ color: this.fileStatus.status, length: 1 }];
+ this.tooltipPosition = this.screen === 'file-preview' ? 'below' : 'above';
+ this.assignTooltip = this.fileStatus.isUnderApproval
+ ? _('dossier-overview.assign-approver')
+ : _('dossier-overview.assign-reviewer');
+ this.buttonType = this.screen === 'file-preview' ? CircleButtonTypes.default : CircleButtonTypes.dark;
+ this.isWorkable = this.fileStatus.isWorkable;
+ this.toggleTooltip = this._toggleTooltip;
+
+ this.canUndoApproval = this.permissionsService.canUndoApproval(this.fileStatus);
+ this.canAssignToSelf = this.permissionsService.canAssignToSelf(this.fileStatus);
+ this.canAssign = this.permissionsService.canAssignUser(this.fileStatus);
+ this.canDelete = this.permissionsService.canDeleteFile(this.fileStatus);
+ this.canReanalyse = this.permissionsService.canReanalyseFile(this.fileStatus);
+ this.canSetToUnderReview = this.permissionsService.canSetUnderReview(this.fileStatus);
+ this.canSetToUnderApproval = this.permissionsService.canSetUnderApproval(this.fileStatus);
+ this.readyForApproval = this.permissionsService.isReadyForApproval(this.fileStatus);
+ this.canToggleAnalysis = this.permissionsService.canToggleAnalysis(this.fileStatus);
+ }
}
diff --git a/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.scss b/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.scss
index c4e28e2a7..ff0fa3eb8 100644
--- a/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/components/file-workload/file-workload.component.scss
@@ -1,5 +1,5 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.read-only {
padding: 13px 16px;
diff --git a/apps/red-ui/src/app/modules/dossier/components/page-exclusion/page-exclusion.component.scss b/apps/red-ui/src/app/modules/dossier/components/page-exclusion/page-exclusion.component.scss
index 3d8347c0d..35e24217b 100644
--- a/apps/red-ui/src/app/modules/dossier/components/page-exclusion/page-exclusion.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/components/page-exclusion/page-exclusion.component.scss
@@ -1,5 +1,5 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
:host {
height: 100%;
diff --git a/apps/red-ui/src/app/modules/dossier/components/page-exclusion/page-exclusion.component.ts b/apps/red-ui/src/app/modules/dossier/components/page-exclusion/page-exclusion.component.ts
index b738da092..95c64f892 100644
--- a/apps/red-ui/src/app/modules/dossier/components/page-exclusion/page-exclusion.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/components/page-exclusion/page-exclusion.component.ts
@@ -1,8 +1,7 @@
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 { InputWithActionComponent, Toaster } from '@iqser/common-ui';
-import { LoadingService } from '@services/loading.service';
+import { InputWithActionComponent, Toaster, LoadingService } from '@iqser/common-ui';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { FileStatusWrapper } from '@models/file/file-status.wrapper';
diff --git a/apps/red-ui/src/app/modules/dossier/components/pdf-viewer/pdf-viewer.component.ts b/apps/red-ui/src/app/modules/dossier/components/pdf-viewer/pdf-viewer.component.ts
index 20393a244..1ee462244 100644
--- a/apps/red-ui/src/app/modules/dossier/components/pdf-viewer/pdf-viewer.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/components/pdf-viewer/pdf-viewer.component.ts
@@ -24,7 +24,7 @@ import { AnnotationActionsService } from '../../services/annotation-actions.serv
import { UserPreferenceService } from '@services/user-preference.service';
import { BASE_HREF } from '../../../../tokens';
import { AppConfigKey, AppConfigService } from '../../../app-config/app-config.service';
-import { LoadingService } from '@services/loading.service';
+import { LoadingService } from '@iqser/common-ui';
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { ConfirmationDialogInput } from '@shared/dialogs/confirmation-dialog/confirmation-dialog.component';
import { loadCompareDocumentWrapper } from '../../utils/compare-mode.utils';
diff --git a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.scss b/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.scss
index 4fe9ada25..acfdf0a52 100644
--- a/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/components/team-members-manager/team-members-manager.component.scss
@@ -1,4 +1,4 @@
-@import '../../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.search-container {
margin-top: 16px;
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts
index f30a06a44..ef70e4e3b 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/attributes/edit-dossier-attributes.component.ts
@@ -3,12 +3,11 @@ import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { DossierWrapper } from '@state/model/dossier.wrapper';
import { AppStateService } from '@state/app-state.service';
import { PermissionsService } from '@services/permissions.service';
-import { LoadingService } from '@services/loading.service';
+import { CircleButtonTypes, IconButtonTypes, LoadingService } from '@iqser/common-ui';
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 { CircleButtonTypes, IconButtonTypes } from '@iqser/common-ui';
@Component({
selector: 'redaction-edit-dossier-attributes',
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.scss b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.scss
index b2e5fe998..31eed9396 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.scss
@@ -1,5 +1,5 @@
@import '../../../../../../assets/styles/variables';
-@import '../../../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.instructions {
color: $grey-7;
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts
index 1eb051288..85965c19e 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/deleted-documents/edit-dossier-deleted-documents.component.ts
@@ -1,10 +1,9 @@
import { Component, EventEmitter, Injector, Input, OnInit, Output } from '@angular/core';
import { EditDossierSectionInterface } from '../edit-dossier-section.interface';
import { DossierWrapper } from '@state/model/dossier.wrapper';
-import { CircleButtonTypes, DefaultListingServices, Listable, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
+import { CircleButtonTypes, DefaultListingServices, ListingComponent, Listable, LoadingService, TableColumnConfig } from '@iqser/common-ui';
import { FileManagementControllerService, FileStatus, StatusControllerService } from '@redaction/red-ui-http';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
-import { LoadingService } from '@services/loading.service';
import * as moment from 'moment';
import { AppConfigKey, AppConfigService } from '@app-config/app-config.service';
import { getLeftDateTime } from '@utils/functions';
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts
index 5eb40e3de..fd100409e 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/dictionary/edit-dossier-dictionary.component.ts
@@ -6,9 +6,8 @@ import { PermissionsService } from '@services/permissions.service';
import { DictionaryManagerComponent } from '@shared/components/dictionary-manager/dictionary-manager.component';
import { DictionarySaveService } from '@shared/services/dictionary-save.service';
import { FormBuilder } from '@angular/forms';
-import { CircleButtonTypes } from '@iqser/common-ui';
+import { CircleButtonTypes, LoadingService } from '@iqser/common-ui';
import { Dictionary, DictionaryControllerService } from '@redaction/red-ui-http';
-import { LoadingService } from '@services/loading.service';
@Component({
selector: 'redaction-edit-dossier-dictionary',
diff --git a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.scss b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.scss
index 588114d3c..de65aecb7 100644
--- a/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/dialogs/edit-dossier-dialog/edit-dossier-dialog.component.scss
@@ -1,5 +1,5 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.dialog-content {
padding: 0;
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.scss b/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.scss
index 1a4ea825d..fb03fe4e9 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-listing-screen/dossier-listing-screen.component.scss
@@ -1,4 +1,3 @@
-@import '../../../../../assets/styles/red-mixins';
@import '../../../../../assets/styles/variables';
.content-container {
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.scss b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.scss
index 959f49696..ded2aa696 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.scss
@@ -1,5 +1,4 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
:root {
--dynamic-columns: '1fr';
@@ -9,16 +8,6 @@
display: none;
}
-.header-item {
- padding: 0 24px 0 10px;
-}
-
-iqser-table-column-name::ng-deep {
- > div {
- padding-left: 10px !important;
- }
-}
-
cdk-virtual-scroll-viewport {
::ng-deep.cdk-virtual-scroll-content-wrapper {
grid-template-columns: auto 3fr 2fr repeat(var(--dynamic-columns, 1), 1fr) 2fr 1fr auto 11px;
diff --git a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts
index 4e218d500..1497fb6dd 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/screens/dossier-overview-screen/dossier-overview-screen.component.ts
@@ -10,15 +10,6 @@ import {
TemplateRef,
ViewChild
} from '@angular/core';
-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';
@@ -38,7 +29,16 @@ 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 { LoadingService } from '@services/loading.service';
+import {
+ CircleButtonTypes,
+ DefaultListingServices,
+ keyChecker,
+ ListingComponent,
+ LoadingService,
+ NestedFilter,
+ TableColumnConfig,
+ Toaster
+} from '@iqser/common-ui';
import { DossierAttributesService } from '@shared/services/controller-wrappers/dossier-attributes.service';
import { DossierAttributeWithValue } from '@models/dossier-attributes.model';
import { UserPreferenceService } from '@services/user-preference.service';
@@ -70,6 +70,12 @@ export class DossierOverviewScreenComponent extends ListingComponent[] = [];
+ collapsedDetails = false;
+ dossierAttributes: DossierAttributeWithValue[] = [];
+ fileAttributeConfigs: FileAttributeConfig[];
+ dynamicColumnsCount = 0;
+ protected readonly _primaryKey = 'filename';
private readonly _defaultTableConfigs: readonly TableColumnConfig[] = [
{
label: _('dossier-overview.table-col-names.name'),
@@ -97,14 +103,6 @@ export class DossierOverviewScreenComponent extends ListingComponent[] = [];
- collapsedDetails = false;
- dossierAttributes: DossierAttributeWithValue[] = [];
- fileAttributeConfigs: FileAttributeConfig[];
- protected readonly _primaryKey = 'filename';
- dynamicColumnsCount = 0;
-
@ViewChild(DossierDetailsComponent, { static: false })
private readonly _dossierDetailsComponent: DossierDetailsComponent;
private _lastScrolledIndex: number;
@@ -149,6 +147,10 @@ export class DossierOverviewScreenComponent extends ListingComponent !f.required && f.checked);
}
+ get displayedInFileListAttributes() {
+ return this.fileAttributeConfigs.filter(config => config.displayedInFileList);
+ }
+
async ngOnInit(): Promise {
this._loadingService.start();
try {
@@ -273,10 +275,6 @@ export class DossierOverviewScreenComponent extends ListingComponent config.displayedInFileList);
- }
-
recentlyModifiedChecker = (file: FileStatusWrapper) =>
moment(file.lastUpdated).add(this._appConfigService.getConfig(AppConfigKey.RECENT_PERIOD_IN_HOURS), 'hours').isAfter(moment());
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.scss b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.scss
index 85e82a593..4c58808d2 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.scss
@@ -1,5 +1,4 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
.vertical-line {
width: 1px;
diff --git a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts
index aa71543f6..150d04595 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/screens/file-preview-screen/file-preview-screen.component.ts
@@ -3,7 +3,15 @@ import { ActivatedRoute, ActivatedRouteSnapshot, NavigationExtras, Router } from
import { AppStateService } from '@state/app-state.service';
import { Annotations, WebViewerInstance } from '@pdftron/webviewer';
import { PdfViewerComponent } from '../../components/pdf-viewer/pdf-viewer.component';
-import { AutoUnsubscribe, CircleButtonTypes, Debounce, FilterService, NestedFilter, processFilters } from '@iqser/common-ui';
+import {
+ AutoUnsubscribe,
+ CircleButtonTypes,
+ Debounce,
+ FilterService,
+ LoadingService,
+ NestedFilter,
+ processFilters
+} from '@iqser/common-ui';
import { MatDialogRef, MatDialogState } from '@angular/material/dialog';
import { ManualRedactionEntryWrapper } from '@models/file/manual-redaction-entry.wrapper';
import { AnnotationWrapper } from '@models/file/annotation.wrapper';
@@ -30,7 +38,6 @@ import { ViewMode } from '@models/file/view-mode';
import { FileWorkloadComponent } from '../../components/file-workload/file-workload.component';
import { DossiersDialogService } from '../../services/dossiers-dialog.service';
import { OnAttach, OnDetach } from '@utils/custom-route-reuse.strategy';
-import { LoadingService } from '@services/loading.service';
import { clearStamps, stampPDFPage } from '@utils/page-stamper';
import { TranslateService } from '@ngx-translate/core';
import { fileStatusTranslations } from '../../translations/file-status-translations';
@@ -61,10 +68,10 @@ export class FilePreviewScreenComponent extends AutoUnsubscribe implements OnIni
displayPDFViewer = false;
viewDocumentInfo = false;
excludePages = false;
+ @ViewChild(PdfViewerComponent) readonly viewerComponent: PdfViewerComponent;
private _instance: WebViewerInstance;
private _lastPage: string;
private _reloadFileOnReanalysis = false;
- @ViewChild(PdfViewerComponent) readonly viewerComponent: PdfViewerComponent;
@ViewChild('fileWorkloadComponent') private readonly _workloadComponent: FileWorkloadComponent;
@ViewChild('annotationFilterTemplate', {
read: TemplateRef,
diff --git a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.scss b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.scss
index de52c4111..42cde13ac 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.scss
+++ b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.scss
@@ -1,4 +1,4 @@
-@import 'apps/red-ui/src/assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
@import '../../../../../assets/styles/variables';
.content-container {
diff --git a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts
index 4c4489ce4..2e03f3eae 100644
--- a/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts
+++ b/apps/red-ui/src/app/modules/dossier/screens/search-screen/search-screen.component.ts
@@ -1,12 +1,11 @@
import { Component, Injector, OnDestroy } from '@angular/core';
-import { DefaultListingServices, keyChecker, Listable, ListingComponent, TableColumnConfig } from '@iqser/common-ui';
+import { DefaultListingServices, keyChecker, Listable, ListingComponent, LoadingService, TableColumnConfig } from '@iqser/common-ui';
import { MatchedDocument, SearchControllerService, SearchResult } from '@redaction/red-ui-http';
import { BehaviorSubject, Observable } from 'rxjs';
import { debounceTime, map, skip, switchMap, tap } from 'rxjs/operators';
import { ActivatedRoute, Router } from '@angular/router';
import { AppStateService } from '@state/app-state.service';
import { FileStatusWrapper } from '@models/file/file-status.wrapper';
-import { LoadingService } from '@services/loading.service';
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
import { fileStatusTranslations } from '../../translations/file-status-translations';
import { SearchPositions } from '@shared/components/page-header/models/search-positions.type';
@@ -40,7 +39,6 @@ export class SearchScreenComponent extends ListingComponent implements
readonly searchPositions = SearchPositions;
readonly itemSize = 85;
- protected readonly _primaryKey = 'filename';
readonly tableHeaderLabel = _('search-screen.table-header');
readonly tableColumnConfigs: TableColumnConfig[] = [
{ label: _('search-screen.cols.document') },
@@ -56,6 +54,7 @@ export class SearchScreenComponent extends ListingComponent implements
tap(result => this.entitiesService.setEntities(result)),
tap(() => this._loadingService.stop())
);
+ protected readonly _primaryKey = 'filename';
constructor(
private readonly _router: Router,
diff --git a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.scss b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.scss
index f9469e4d1..f703f198d 100644
--- a/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.scss
+++ b/apps/red-ui/src/app/modules/shared/components/dictionary-manager/dictionary-manager.component.scss
@@ -1,5 +1,4 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
:host {
width: 100%;
diff --git a/apps/red-ui/src/app/modules/shared/components/empty-state/empty-state.component.scss b/apps/red-ui/src/app/modules/shared/components/empty-state/empty-state.component.scss
index 997cf9525..2676a3071 100644
--- a/apps/red-ui/src/app/modules/shared/components/empty-state/empty-state.component.scss
+++ b/apps/red-ui/src/app/modules/shared/components/empty-state/empty-state.component.scss
@@ -1,4 +1,4 @@
-@import '../../../../../assets/styles/red-mixins';
+@import '../../../../../assets/styles/variables';
.empty-state {
display: flex;
diff --git a/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.html b/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.html
deleted file mode 100644
index 46e67a5fe..000000000
--- a/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.html
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
diff --git a/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.scss b/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.scss
deleted file mode 100644
index 2be1e9659..000000000
--- a/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-@import '../../../../../assets/styles/variables';
-
-.full-page-load-section,
-.full-page-load-spinner {
- position: fixed;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
-}
-
-.full-page-load-section {
- opacity: 0.7;
- background: $white;
- z-index: 900;
-}
-
-.full-page-load-spinner {
- z-index: 1000;
- justify-content: center;
- align-items: center;
- flex-direction: column;
- display: flex;
-}
diff --git a/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.ts b/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.ts
deleted file mode 100644
index cbf497e43..000000000
--- a/apps/red-ui/src/app/modules/shared/components/full-page-loading-indicator/full-page-loading-indicator.component.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { ChangeDetectionStrategy, Component } from '@angular/core';
-import { LoadingService } from '@services/loading.service';
-
-@Component({
- selector: 'redaction-full-page-loading-indicator',
- templateUrl: './full-page-loading-indicator.component.html',
- styleUrls: ['./full-page-loading-indicator.component.scss'],
- changeDetection: ChangeDetectionStrategy.OnPush
-})
-export class FullPageLoadingIndicatorComponent {
- constructor(readonly loadingService: LoadingService) {}
-}
diff --git a/apps/red-ui/src/app/modules/shared/components/side-nav/side-nav.component.scss b/apps/red-ui/src/app/modules/shared/components/side-nav/side-nav.component.scss
index b613c0bf5..0c3c6579f 100644
--- a/apps/red-ui/src/app/modules/shared/components/side-nav/side-nav.component.scss
+++ b/apps/red-ui/src/app/modules/shared/components/side-nav/side-nav.component.scss
@@ -1,5 +1,5 @@
@import '../../../../../assets/styles/variables';
-@import '../../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
:host {
display: block;
diff --git a/apps/red-ui/src/app/modules/shared/shared.module.ts b/apps/red-ui/src/app/modules/shared/shared.module.ts
index 5a0ee014a..8f9fdf5d3 100644
--- a/apps/red-ui/src/app/modules/shared/shared.module.ts
+++ b/apps/red-ui/src/app/modules/shared/shared.module.ts
@@ -1,6 +1,5 @@
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
-import { FullPageLoadingIndicatorComponent } from './components/full-page-loading-indicator/full-page-loading-indicator.component';
import { InitialsAvatarComponent } from './components/initials-avatar/initials-avatar.component';
import { ScrollingModule } from '@angular/cdk/scrolling';
import { PaginationComponent } from './components/pagination/pagination.component';
@@ -31,7 +30,6 @@ import { DatePipe } from '@shared/pipes/date.pipe';
const buttons = [FileDownloadBtnComponent, UserButtonComponent];
const components = [
- FullPageLoadingIndicatorComponent,
InitialsAvatarComponent,
PaginationComponent,
AnnotationIconComponent,
diff --git a/apps/red-ui/src/app/modules/upload-download/upload-status-overlay/upload-status-overlay.component.scss b/apps/red-ui/src/app/modules/upload-download/upload-status-overlay/upload-status-overlay.component.scss
index 779ea4115..bee43a2a5 100644
--- a/apps/red-ui/src/app/modules/upload-download/upload-status-overlay/upload-status-overlay.component.scss
+++ b/apps/red-ui/src/app/modules/upload-download/upload-status-overlay/upload-status-overlay.component.scss
@@ -1,5 +1,5 @@
@import '../../../../assets/styles/variables';
-@import '../../../../assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.red-upload-download-overlay {
background: $white;
diff --git a/apps/red-ui/src/app/services/loading.service.ts b/apps/red-ui/src/app/services/loading.service.ts
deleted file mode 100644
index ef834d90f..000000000
--- a/apps/red-ui/src/app/services/loading.service.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-import { Injectable } from '@angular/core';
-import { BehaviorSubject } from 'rxjs';
-
-const MIN_LOADING_TIME = 300;
-
-@Injectable({
- providedIn: 'root'
-})
-export class LoadingService {
- private readonly _loadingEvent$ = new BehaviorSubject(false);
- readonly isLoading$ = this._loadingEvent$.asObservable();
- private _loadingStarted: number;
-
- start(): void {
- setTimeout(() => {
- this._loadingEvent$.next(true);
- this._loadingStarted = new Date().getTime();
- });
- }
-
- stop(): void {
- const timeSinceStarted = new Date().getTime() - this._loadingStarted;
- const remainingLoadingTime = MIN_LOADING_TIME - timeSinceStarted;
-
- return remainingLoadingTime > 0 ? this._stopAfter(remainingLoadingTime) : this._stop();
- }
-
- loadWhile(func: Promise) {
- this.start();
-
- func.then(
- () => this.stop(),
- () => this.stop()
- );
- }
-
- private _stop() {
- setTimeout(() => this._loadingEvent$.next(false));
- }
-
- private _stopAfter(timeout: number) {
- setTimeout(() => this._stop(), timeout);
- }
-}
diff --git a/apps/red-ui/src/app/utils/server-error-interceptor.ts b/apps/red-ui/src/app/utils/server-error-interceptor.ts
new file mode 100644
index 000000000..d0ac65079
--- /dev/null
+++ b/apps/red-ui/src/app/utils/server-error-interceptor.ts
@@ -0,0 +1,20 @@
+import { HttpErrorResponse, HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';
+import { Injectable } from '@angular/core';
+import { ErrorService } from '@iqser/common-ui';
+import { Observable, throwError } from 'rxjs';
+import { catchError, map } from 'rxjs/operators';
+
+@Injectable()
+export class ServerErrorInterceptor implements HttpInterceptor {
+ constructor(private readonly _errorService: ErrorService) {}
+
+ intercept(req: HttpRequest, next: HttpHandler): Observable> {
+ return next.handle(req).pipe(
+ map((event: HttpEvent) => event),
+ catchError((error: HttpErrorResponse) => {
+ if ([0, 500].includes(error.status)) this._errorService.set(error);
+ return throwError(error);
+ })
+ );
+ }
+}
diff --git a/apps/red-ui/src/assets/i18n/en.json b/apps/red-ui/src/assets/i18n/en.json
index 318b5c45b..fcee44c26 100644
--- a/apps/red-ui/src/assets/i18n/en.json
+++ b/apps/red-ui/src/assets/i18n/en.json
@@ -846,6 +846,10 @@
"side-nav-title": "Configurations",
"unsaved-changes": "You have unsaved changes. Save or revert before changing the tab."
},
+ "error": {
+ "generic": "Oops! Something went wrong...",
+ "reload": "Reload"
+ },
"exact-date": "{day} {month} {year} at {hour}:{minute}",
"file": "File",
"file-attribute-types": {
diff --git a/apps/red-ui/src/assets/icons/general/error.svg b/apps/red-ui/src/assets/icons/general/error.svg
deleted file mode 100755
index 583e7d9e4..000000000
--- a/apps/red-ui/src/assets/icons/general/error.svg
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
diff --git a/apps/red-ui/src/assets/styles/red-autocomplete.scss b/apps/red-ui/src/assets/styles/red-autocomplete.scss
index 247dd2133..c7c1f171e 100644
--- a/apps/red-ui/src/assets/styles/red-autocomplete.scss
+++ b/apps/red-ui/src/assets/styles/red-autocomplete.scss
@@ -1,5 +1,5 @@
@import 'variables';
-@import 'red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.mat-autocomplete-panel {
@include scroll-bar;
diff --git a/apps/red-ui/src/assets/styles/red-breadcrumbs.scss b/apps/red-ui/src/assets/styles/red-breadcrumbs.scss
index ebded2f56..b82e18960 100644
--- a/apps/red-ui/src/assets/styles/red-breadcrumbs.scss
+++ b/apps/red-ui/src/assets/styles/red-breadcrumbs.scss
@@ -1,5 +1,5 @@
@import 'variables';
-@import 'red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.breadcrumbs-container {
display: flex;
diff --git a/apps/red-ui/src/assets/styles/red-components.scss b/apps/red-ui/src/assets/styles/red-components.scss
index 9f9f46893..a21ebad07 100644
--- a/apps/red-ui/src/assets/styles/red-components.scss
+++ b/apps/red-ui/src/assets/styles/red-components.scss
@@ -1,5 +1,5 @@
@import 'variables';
-@import 'red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.oval,
.square {
diff --git a/apps/red-ui/src/assets/styles/red-editor.scss b/apps/red-ui/src/assets/styles/red-editor.scss
index e7d8ca367..ac37e71e5 100644
--- a/apps/red-ui/src/assets/styles/red-editor.scss
+++ b/apps/red-ui/src/assets/styles/red-editor.scss
@@ -1,5 +1,4 @@
@import 'variables';
-@import 'red-mixins';
.changed-row-marker {
background: rgba($primary, 0.1);
diff --git a/apps/red-ui/src/assets/styles/red-menu.scss b/apps/red-ui/src/assets/styles/red-menu.scss
index 567c4b3b8..89603ebde 100644
--- a/apps/red-ui/src/assets/styles/red-menu.scss
+++ b/apps/red-ui/src/assets/styles/red-menu.scss
@@ -1,5 +1,5 @@
@import 'variables';
-@import 'red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.mat-menu-panel {
border-radius: 8px !important;
diff --git a/apps/red-ui/src/assets/styles/red-mixins.scss b/apps/red-ui/src/assets/styles/red-mixins.scss
deleted file mode 100644
index c0616e1a8..000000000
--- a/apps/red-ui/src/assets/styles/red-mixins.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-@import '../../../../../libs/common-ui/src/assets/styles/mixins';
-@import 'variables';
-
-@mixin line-clamp($lines) {
- display: -webkit-box;
- -webkit-line-clamp: $lines;
- -webkit-box-orient: vertical;
- overflow: hidden;
- display: block;
-
- @if $lines == 1 {
- text-overflow: ellipsis;
- white-space: nowrap;
- }
-}
-
-@mixin inset-shadow {
- box-shadow: inset 0 4px 3px -2px $grey-4;
-}
-
-@mixin drop-shadow {
- box-shadow: 0 4px 3px 2px $grey-4;
-}
diff --git a/apps/red-ui/src/assets/styles/red-page-layout.scss b/apps/red-ui/src/assets/styles/red-page-layout.scss
index c4db504ff..faa75892c 100644
--- a/apps/red-ui/src/assets/styles/red-page-layout.scss
+++ b/apps/red-ui/src/assets/styles/red-page-layout.scss
@@ -1,5 +1,5 @@
@import 'variables';
-@import 'red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
html,
body {
diff --git a/apps/red-ui/src/assets/styles/red-select.scss b/apps/red-ui/src/assets/styles/red-select.scss
index 2efdd6510..b2a8ba192 100644
--- a/apps/red-ui/src/assets/styles/red-select.scss
+++ b/apps/red-ui/src/assets/styles/red-select.scss
@@ -1,5 +1,5 @@
@import 'variables';
-@import 'red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.mat-select-panel {
@include scroll-bar;
diff --git a/apps/red-ui/src/assets/styles/red-tables.scss b/apps/red-ui/src/assets/styles/red-tables.scss
index 0f5896492..e4a517bd0 100644
--- a/apps/red-ui/src/assets/styles/red-tables.scss
+++ b/apps/red-ui/src/assets/styles/red-tables.scss
@@ -1,5 +1,5 @@
@import 'variables';
-@import 'red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
.default-table {
border-collapse: collapse;
diff --git a/apps/red-ui/src/assets/styles/red-text-styles.scss b/apps/red-ui/src/assets/styles/red-text-styles.scss
deleted file mode 100644
index 44c49a3c2..000000000
--- a/apps/red-ui/src/assets/styles/red-text-styles.scss
+++ /dev/null
@@ -1,87 +0,0 @@
-@import 'variables';
-@import 'red-mixins';
-
-a {
- color: $primary;
- transition: color 0.1s;
-
- &:hover {
- color: lighten($primary, 10%);
- }
-
- &.with-underline {
- &:hover {
- text-decoration: underline;
- }
- }
-
- cursor: pointer;
-}
-
-pre {
- font-family: Inter, sans-serif;
- color: $accent;
-}
-
-.heading-xl {
- font-size: 24px;
- font-weight: 600;
- line-height: 29px;
-}
-
-.info {
- font-size: 13px;
- line-height: 18px;
- opacity: 0.7;
-}
-
-.page-title {
- font-size: 13px;
- font-weight: 600;
- line-height: 18px;
- text-align: center;
- padding: 0 20px;
-}
-
-.small-label {
- opacity: 0.7;
- font-size: 11px;
- line-height: 14px;
- font-weight: initial;
-}
-
-.link-action {
- font-size: 11px;
- line-height: 14px;
- text-decoration: underline;
- cursor: pointer;
-
- &:hover {
- text-decoration: none;
- }
-}
-
-.large-label {
- color: $accent;
- font-size: 13px;
- line-height: 16px;
-}
-
-.clamp-1 {
- @include line-clamp(1);
-}
-
-.clamp-2 {
- @include line-clamp(2);
-}
-
-.text-overflow {
- display: block !important;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
-}
-
-.no-wrap {
- white-space: nowrap;
-}
diff --git a/apps/red-ui/src/assets/styles/red-theme.scss b/apps/red-ui/src/assets/styles/red-theme.scss
index 73ba42b37..570d2c455 100644
--- a/apps/red-ui/src/assets/styles/red-theme.scss
+++ b/apps/red-ui/src/assets/styles/red-theme.scss
@@ -2,7 +2,6 @@
@import '~ngx-toastr/toastr';
@import 'red-material-theme';
@import 'red-page-layout';
-@import 'red-text-styles';
@import 'red-select';
@import 'red-autocomplete';
@import 'red-list';
diff --git a/libs/common-ui b/libs/common-ui
index 007aedbe0..82f27f1ed 160000
--- a/libs/common-ui
+++ b/libs/common-ui
@@ -1 +1 @@
-Subproject commit 007aedbe09c80fce4ca44a1b00d669685a9e1d36
+Subproject commit 82f27f1ed9ff98c98877c4cf128b4b41832a1724
diff --git a/package.json b/package.json
index c56107da2..1e40f74ab 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"format:check": "nx format:check",
"format:write": "nx format:write",
"help": "nx help",
- "i18n:extract": "ngx-translate-extract --input ./apps/red-ui/src --output apps/red-ui/src/assets/i18n/en.json --clean --sort --format namespaced-json && prettier apps/red-ui/src/assets/i18n/*.json --write",
+ "i18n:extract": "ngx-translate-extract --input ./apps/red-ui/src ./libs/common-ui/src --output apps/red-ui/src/assets/i18n/en.json --clean --sort --format namespaced-json && prettier apps/red-ui/src/assets/i18n/*.json --write",
"postinstall": "ngcc --properties es2015 browser module main",
"lint": "nx workspace-lint && nx lint",
"lint-fix": "nx workspace-lint --fix && nx lint --fix",
diff --git a/paligo-styles/manual-sidebar.scss b/paligo-styles/manual-sidebar.scss
index 08c4d61ff..154892057 100644
--- a/paligo-styles/manual-sidebar.scss
+++ b/paligo-styles/manual-sidebar.scss
@@ -1,5 +1,5 @@
@import '../apps/red-ui/src/assets/styles/variables';
-@import '../apps/red-ui/src/assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
@import 'mixin';
.site-sidebar {
diff --git a/paligo-styles/style.scss b/paligo-styles/style.scss
index ef0bde074..797687275 100644
--- a/paligo-styles/style.scss
+++ b/paligo-styles/style.scss
@@ -1,5 +1,5 @@
@import '../apps/red-ui/src/assets/styles/variables';
-@import '../apps/red-ui/src/assets/styles/red-mixins';
+@import 'libs/common-ui/src/assets/styles/mixins';
@import 'fonts';
@import 'header';
@import 'homepage';