update imports

This commit is contained in:
Dan Percic 2024-07-09 12:26:13 +03:00
parent 14b268c796
commit 48c3a4ee63
14 changed files with 2637 additions and 148 deletions

View File

@ -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

View File

@ -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,

View File

@ -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',

View File

@ -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';

View File

@ -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,

View File

@ -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}`), {

View File

@ -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';

View File

@ -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';

View File

@ -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>

View File

@ -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';

View File

@ -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

View File

@ -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",

2667
yarn.lock

File diff suppressed because it is too large Load Diff