update imports
This commit is contained in:
parent
14b268c796
commit
48c3a4ee63
11
README.md
11
README.md
@ -2,13 +2,12 @@
|
||||
|
||||
### To Create a new Stack in rancher check [this Wiki page](https://wiki.iqser.com/pages/viewpage.action?spaceKey=RED&title=Work+with+kubectl)
|
||||
|
||||
## Code style
|
||||
# Dependencies update guide
|
||||
* When updating @pdftron/webviewer, make sure to change the version also in the angular.json and everywhere where the path to /assets/wv-recources is used
|
||||
* Make sure the keycloak.js version is the same with the keycloak version from helm chart
|
||||
|
||||
* Always use `trackBy` in `*ngFor` loops (see shorthand below)
|
||||
```typescript
|
||||
readonly trackBy = trackByFactory();
|
||||
```
|
||||
* Don't use `setInterval` without calling `clearInterval` in `ngOnDestroy`
|
||||
## Code style
|
||||
* Don't use `setInterval` without calling `clearInterval` in `ngOnDestroy` or in `destroyRef.onDestroy(() => clearInterval(intervalId))`
|
||||
* Never call getters in HTML templates
|
||||
|
||||
## Keycloak Staging Config
|
||||
|
||||
@ -9,6 +9,8 @@ import { MAT_TOOLTIP_DEFAULT_OPTIONS, MatTooltip } from '@angular/material/toolt
|
||||
import { BrowserModule } from '@angular/platform-browser';
|
||||
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||
import { ServiceWorkerModule } from '@angular/service-worker';
|
||||
import { ChevronButtonComponent } from '@common-ui/buttons/chevron-button';
|
||||
import { EmptyStateComponent } from '@common-ui/empty-state';
|
||||
import { HelpModeKey } from '@common-ui/help-mode/types';
|
||||
import { InputWithActionComponent } from '@common-ui/inputs/input-with-action/input-with-action.component';
|
||||
import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component';
|
||||
@ -28,9 +30,7 @@ import { UserMenuComponent } from '@components/user-menu/user-menu.component';
|
||||
import { environment } from '@environments/environment';
|
||||
import {
|
||||
CachingModule,
|
||||
ChevronButtonComponent,
|
||||
CircleButtonComponent,
|
||||
EmptyStateComponent,
|
||||
HelpButtonComponent,
|
||||
HelpModeComponent,
|
||||
HiddenActionDirective,
|
||||
@ -52,7 +52,7 @@ import { LogoComponent, SkeletonComponent, ToastComponent } from '@iqser/common-
|
||||
import { TenantsModule } from '@iqser/common-ui/lib/tenants';
|
||||
import { InitialsAvatarComponent, IqserUsersModule } from '@iqser/common-ui/lib/users';
|
||||
import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
|
||||
import { MissingTranslationHandler } from '@ngx-translate/core';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { AppConfig, ILoggerConfig } from '@red/domain';
|
||||
import { ConfigService } from '@services/config.service';
|
||||
import { ActiveDossiersService } from '@services/dossiers/active-dossiers.service';
|
||||
@ -60,12 +60,13 @@ import { ArchivedDossiersService } from '@services/dossiers/archived-dossiers.se
|
||||
import { GlobalErrorHandler } from '@services/global-error-handler.service';
|
||||
import { LoggerRulesService } from '@services/logger-rules.service';
|
||||
import { provideCustomDateFormatter } from '@shared/custom-date-formatting.provider';
|
||||
import { NavigateLastDossiersScreenDirective } from '@shared/directives/navigate-last-dossiers-screen.directive';
|
||||
import { DatePipe } from '@shared/pipes/date.pipe';
|
||||
import { RedRoleGuard } from '@users/red-role.guard';
|
||||
import { UserPreferenceService } from '@users/user-preference.service';
|
||||
import { UserService } from '@users/user.service';
|
||||
import { UI_CACHES } from '@utils/constants';
|
||||
import { REDMissingTranslationHandler } from '@utils/missing-translations-handler';
|
||||
import { ColorPickerService } from 'ngx-color-picker';
|
||||
import { LoggerModule, NGXLogger, NgxLoggerLevel, TOKEN_LOGGER_CONFIG, TOKEN_LOGGER_RULES_SERVICE } from 'ngx-logger';
|
||||
import { ToastrModule } from 'ngx-toastr';
|
||||
import * as helpModeKeys from '../assets/help-mode/help-mode-keys.json';
|
||||
@ -74,8 +75,6 @@ import { AppComponent } from './app.component';
|
||||
import { IconsModule } from './modules/icons/icons.module';
|
||||
import { PdfViewerModule } from './modules/pdf-viewer/pdf-viewer.module';
|
||||
import { ACTIVE_DOSSIERS_SERVICE, ARCHIVED_DOSSIERS_SERVICE } from './tokens';
|
||||
import { NavigateLastDossiersScreenDirective } from '@shared/directives/navigate-last-dossiers-screen.directive';
|
||||
import { ColorPickerService } from 'ngx-color-picker';
|
||||
|
||||
export const appModuleFactory = (config: AppConfig) => {
|
||||
@NgModule({
|
||||
@ -203,6 +202,7 @@ export const appModuleFactory = (config: AppConfig) => {
|
||||
IconsModule,
|
||||
NavigateLastDossiersScreenDirective,
|
||||
DatePipe,
|
||||
TranslateModule,
|
||||
],
|
||||
providers: [
|
||||
{
|
||||
@ -238,10 +238,6 @@ export const appModuleFactory = (config: AppConfig) => {
|
||||
return languageService.setInitialLanguage();
|
||||
},
|
||||
},
|
||||
{
|
||||
provide: MissingTranslationHandler,
|
||||
useClass: REDMissingTranslationHandler,
|
||||
},
|
||||
{
|
||||
provide: MAX_RETRIES_ON_SERVER_ERROR,
|
||||
useFactory: () => config.MAX_RETRIES_ON_SERVER_ERROR,
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
import { AsyncPipe, NgIf } from '@angular/common';
|
||||
import { ChangeDetectorRef, Component, computed, OnInit, ViewChild } from '@angular/core';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { EmptyStateComponent } from '@common-ui/empty-state';
|
||||
import {
|
||||
EmptyStateComponent,
|
||||
IconButtonComponent,
|
||||
IconButtonTypes,
|
||||
IqserListingModule,
|
||||
@ -8,18 +10,16 @@ import {
|
||||
LoadingService,
|
||||
Toaster,
|
||||
} from '@iqser/common-ui';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { DigitalSignatureService } from '../../services/digital-signature.service';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { PkcsSignatureConfigurationComponent } from '../../dialogs/configure-digital-signature-dialog/form/pkcs-signature-configuration/pkcs-signature-configuration.component';
|
||||
import { KmsSignatureConfigurationComponent } from '../../dialogs/configure-digital-signature-dialog/form/kms-signature-configuration/kms-signature-configuration.component';
|
||||
import { DigitalSignatureOptions, IKmsDigitalSignatureRequest, IPkcsDigitalSignatureRequest, User } from '@red/domain';
|
||||
import { Roles } from '@users/roles';
|
||||
import { getCurrentUser } from '@iqser/common-ui/lib/users';
|
||||
import { AsyncPipe, NgIf } from '@angular/common';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { DigitalSignatureOptions, IKmsDigitalSignatureRequest, IPkcsDigitalSignatureRequest, User } from '@red/domain';
|
||||
import { RouterHistoryService } from '@services/router-history.service';
|
||||
import { Roles } from '@users/roles';
|
||||
import { firstValueFrom } from 'rxjs';
|
||||
import { KmsSignatureConfigurationComponent } from '../../dialogs/configure-digital-signature-dialog/form/kms-signature-configuration/kms-signature-configuration.component';
|
||||
import { PkcsSignatureConfigurationComponent } from '../../dialogs/configure-digital-signature-dialog/form/pkcs-signature-configuration/pkcs-signature-configuration.component';
|
||||
import { AdminDialogService } from '../../services/admin-dialog.service';
|
||||
import { DigitalSignatureService } from '../../services/digital-signature.service';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-digital-signature-screen',
|
||||
|
||||
@ -6,16 +6,10 @@ import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
|
||||
import { MatOption, MatSelect, MatSelectTrigger } from '@angular/material/select';
|
||||
import { MatSlideToggle } from '@angular/material/slide-toggle';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { ChevronButtonComponent } from '@common-ui/buttons/chevron-button';
|
||||
import { EditableInputComponent } from '@common-ui/inputs/editable-input/editable-input.component';
|
||||
import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component';
|
||||
import {
|
||||
ChevronButtonComponent,
|
||||
CircleButtonComponent,
|
||||
IqserListingModule,
|
||||
ListingComponent,
|
||||
listingProvidersFactory,
|
||||
TableColumnConfig,
|
||||
} from '@iqser/common-ui';
|
||||
import { CircleButtonComponent, IqserListingModule, ListingComponent, listingProvidersFactory, TableColumnConfig } from '@iqser/common-ui';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { FileAttributeConfigTypes, IField } from '@red/domain';
|
||||
import { fileAttributeTypesTranslations } from '@translations/file-attribute-types-translations';
|
||||
|
||||
@ -4,12 +4,12 @@ import { MatDialog } from '@angular/material/dialog';
|
||||
import { MatIcon } from '@angular/material/icon';
|
||||
import { MatTooltip } from '@angular/material/tooltip';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { EmptyStateComponent } from '@common-ui/empty-state';
|
||||
import { RoundCheckboxComponent } from '@common-ui/inputs/round-checkbox/round-checkbox.component';
|
||||
import {
|
||||
CapitalizePipe,
|
||||
CircleButtonComponent,
|
||||
CircleButtonTypes,
|
||||
EmptyStateComponent,
|
||||
getConfig,
|
||||
IconButtonComponent,
|
||||
IconButtonTypes,
|
||||
|
||||
@ -1,14 +1,14 @@
|
||||
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
|
||||
import { AfterViewInit, Component, inject, Input } from '@angular/core';
|
||||
import { List } from '@iqser/common-ui/lib/utils';
|
||||
import { ViewedPage } from '@red/domain';
|
||||
import { ViewedPagesMapService } from '@services/files/viewed-pages-map.service';
|
||||
import scrollIntoView from 'scroll-into-view-if-needed';
|
||||
import { PdfViewer } from '../../../pdf-viewer/services/pdf-viewer.service';
|
||||
import { MultiSelectService } from '../../services/multi-select.service';
|
||||
import { AnnotationsListingService } from '../../services/annotations-listing.service';
|
||||
import { FilePreviewStateService } from '../../services/file-preview-state.service';
|
||||
import { ViewedPagesMapService } from '@services/files/viewed-pages-map.service';
|
||||
import { ViewedPage } from '@red/domain';
|
||||
import scrollIntoView from 'scroll-into-view-if-needed';
|
||||
import { MultiSelectService } from '../../services/multi-select.service';
|
||||
import { PageIndicatorComponent } from '../page-indicator/page-indicator.component';
|
||||
import { AsyncPipe, NgForOf, NgIf } from '@angular/common';
|
||||
|
||||
@Component({
|
||||
selector: 'redaction-pages',
|
||||
@ -31,6 +31,7 @@ export class PagesComponent implements AfterViewInit {
|
||||
}, 100);
|
||||
}
|
||||
|
||||
// TODO: looks like this is not working
|
||||
scrollToLastViewedPage() {
|
||||
const currentPdfPage = this._pdf.currentPage();
|
||||
scrollIntoView(document.getElementById(`quick-nav-page-${currentPdfPage}`), {
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
import { Component } from '@angular/core';
|
||||
import { DocumentInfoService } from '../../services/document-info.service';
|
||||
import { PdfViewer } from '../../../pdf-viewer/services/pdf-viewer.service';
|
||||
import { FilePreviewStateService } from '../../services/file-preview-state.service';
|
||||
import { EmptyStateComponent } from '@iqser/common-ui';
|
||||
import { NgIf } from '@angular/common';
|
||||
import { Component } from '@angular/core';
|
||||
import { EmptyStateComponent } from '@common-ui/empty-state';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { PdfViewer } from '../../../pdf-viewer/services/pdf-viewer.service';
|
||||
import { DocumentInfoService } from '../../services/document-info.service';
|
||||
import { FilePreviewStateService } from '../../services/file-preview-state.service';
|
||||
import { DocumentInfoComponent } from '../document-info/document-info.component';
|
||||
import { FileWorkloadComponent } from '../file-workload/file-workload.component';
|
||||
import { getConfig } from '@iqser/common-ui';
|
||||
|
||||
@ -2,16 +2,10 @@ import { NgForOf, NgIf } from '@angular/common';
|
||||
import { Component, ElementRef, Input, OnInit, QueryList, ViewChildren } from '@angular/core';
|
||||
import { ReactiveFormsModule, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
|
||||
import { marker as _ } from '@biesbjerg/ngx-translate-extract-marker';
|
||||
import { EmptyStateComponent } from '@common-ui/empty-state';
|
||||
import { DynamicInputComponent } from '@common-ui/inputs/dynamic-input/dynamic-input.component';
|
||||
import { SnakeCasePipe } from '@common-ui/pipes/snake-case.pipe';
|
||||
import {
|
||||
CircleButtonComponent,
|
||||
EmptyStateComponent,
|
||||
IconButtonComponent,
|
||||
IconButtonTypes,
|
||||
LoadingService,
|
||||
Toaster,
|
||||
} from '@iqser/common-ui';
|
||||
import { CircleButtonComponent, IconButtonComponent, IconButtonTypes, LoadingService, Toaster } from '@iqser/common-ui';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import { Dossier, DossierAttributeConfigType, DossierAttributeConfigTypes, DossierAttributeWithValue } from '@red/domain';
|
||||
import { DossierAttributesService } from '@services/entity-services/dossier-attributes.service';
|
||||
|
||||
@ -15,6 +15,7 @@
|
||||
<div *ngIf="searchText.length === 0" class="no-input">
|
||||
<mat-icon svgIcon="iqser:search"></mat-icon>
|
||||
</div>
|
||||
|
||||
<div *ngIf="searchText.length > 0" class="with-input">
|
||||
{{ currentMatch + '/' + findMatches.length }}
|
||||
<mat-icon (click)="previousSearchMatch()" class="pointer" svgIcon="red:arrow-up"></mat-icon>
|
||||
@ -53,9 +54,9 @@
|
||||
>
|
||||
<ng-container *ngFor="let dossierTemplate of dossierTemplates">
|
||||
<mat-option
|
||||
[value]="dossierTemplate"
|
||||
*ngIf="!initialDossierTemplateId || dossierTemplate?.id !== selectedDossierTemplate.id"
|
||||
[class.mat-mdc-option-active]="false"
|
||||
[value]="dossierTemplate"
|
||||
>
|
||||
{{ dossierTemplate.id ? dossierTemplate.name : (dossierTemplate.name | translate) }}
|
||||
</mat-option>
|
||||
@ -72,7 +73,11 @@
|
||||
[placeholder]="selectedDossier.dossierId ? selectedDossier.dossierName : (selectDictionary.label | translate)"
|
||||
>
|
||||
<ng-container *ngFor="let dossier of dossiers; let index = index">
|
||||
<mat-option *ngIf="dossier.dossierId !== selectedDossier.dossierId" [value]="dossier" [class.mat-mdc-option-active]="false">
|
||||
<mat-option
|
||||
*ngIf="dossier.dossierId !== selectedDossier.dossierId"
|
||||
[class.mat-mdc-option-active]="false"
|
||||
[value]="dossier"
|
||||
>
|
||||
{{ dossier.dossierName }}
|
||||
</mat-option>
|
||||
<mat-divider
|
||||
@ -117,10 +122,10 @@
|
||||
<div *ngIf="withFloatingActions && !!editor?.hasChanges && canEdit && !isLeavingPage" [class.offset]="compare" class="changes-box">
|
||||
<iqser-icon-button
|
||||
(action)="saveDictionary.emit()"
|
||||
[disabled]="!!_loadingService.isLoading()"
|
||||
[label]="'dictionary-overview.save-changes' | translate"
|
||||
[type]="iconButtonTypes.primary"
|
||||
icon="iqser:check"
|
||||
[disabled]="!!_loadingService.isLoading()"
|
||||
></iqser-icon-button>
|
||||
<div (click)="revert()" class="all-caps-label cancel" translate="dictionary-overview.revert-changes"></div>
|
||||
</div>
|
||||
|
||||
@ -7,6 +7,5 @@ export * from './file-download-utils';
|
||||
export * from './file-drop-utils';
|
||||
export * from './filter-utils';
|
||||
export * from './functions';
|
||||
export * from './missing-translations-handler';
|
||||
export * from './page-stamper';
|
||||
export * from './router-links';
|
||||
|
||||
@ -1,8 +0,0 @@
|
||||
import { MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx-translate/core';
|
||||
|
||||
export class REDMissingTranslationHandler implements MissingTranslationHandler {
|
||||
handle(params: MissingTranslationHandlerParams): any {
|
||||
const missingKey = params.key;
|
||||
return `?${missingKey}?`;
|
||||
}
|
||||
}
|
||||
@ -1 +1 @@
|
||||
Subproject commit 01c244aa0760de32950630c270fd6a3c3b344784
|
||||
Subproject commit 9b1179d99a26dd60090fc8a995198abcf647e40b
|
||||
@ -59,6 +59,7 @@
|
||||
"zone.js": "0.14.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@angular-devkit/build-angular": "^18.0.7",
|
||||
"@angular-devkit/core": "18.0.4",
|
||||
"@angular-devkit/schematics": "18.0.4",
|
||||
"@angular-eslint/builder": "18.0.1",
|
||||
@ -70,7 +71,6 @@
|
||||
"@angular/cli": "18.0.4",
|
||||
"@angular/compiler-cli": "18.0.3",
|
||||
"@angular/language-service": "18.0.3",
|
||||
"@vendure/ngx-translate-extract": "9.2.0",
|
||||
"@localazy/ts-api": "^1.0.0",
|
||||
"@schematics/angular": "18.0.4",
|
||||
"@types/file-saver": "^2.0.7",
|
||||
@ -79,6 +79,8 @@
|
||||
"@types/node": "20.14.2",
|
||||
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
||||
"@typescript-eslint/parser": "^7.2.0",
|
||||
"@typescript-eslint/utils": "^7.16.0",
|
||||
"@vendure/ngx-translate-extract": "9.2.0",
|
||||
"axios": "1.7.2",
|
||||
"eslint": "^8.57.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user