nuxeo-development-framework 0.0.6-bos → 0.0.7-bos

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,17 +5,18 @@ import localeEn from '@angular/common/locales/en';
5
5
  import * as i1 from '@angular/common/http';
6
6
  import { HttpClient, provideHttpClient, withFetch, withInterceptorsFromDi, HttpHeaders, HttpStatusCode } from '@angular/common/http';
7
7
  import * as i0 from '@angular/core';
8
- import { Injectable, Inject, InjectionToken, Optional, APP_INITIALIZER, NgModule, Component, Directive, ChangeDetectorRef, Input, EventEmitter, Output, ViewChild, ContentChild, HostListener, input, Pipe, ViewEncapsulation, Self, signal, effect, inject, SkipSelf, ChangeDetectionStrategy, TemplateRef, ViewContainerRef, forwardRef, Renderer2, ElementRef, Host, model, computed } from '@angular/core';
8
+ import { Injectable, Inject, InjectionToken, Optional, APP_INITIALIZER, NgModule, Component, Directive, ChangeDetectorRef, Input, EventEmitter, Output, ViewChild, ContentChild, HostListener, input, Pipe, ViewEncapsulation, Self, effect, inject, SkipSelf, signal, TemplateRef, ChangeDetectionStrategy, ViewContainerRef, forwardRef, Renderer2, ElementRef, Host, model, computed } from '@angular/core';
9
9
  import * as i1$1 from '@ngx-translate/core';
10
10
  import { TranslateModule, TranslateLoader, TranslateStore, TranslateService } from '@ngx-translate/core';
11
+ import { RxReactiveFormsModule } from '@rxweb/reactive-form-validators';
11
12
  import * as i2 from 'keycloak-angular';
12
13
  import { KeycloakAngularModule } from 'keycloak-angular';
13
14
  import * as i1$2 from 'legacy-ngx-treeview';
14
15
  import { TreeviewModule, TreeviewItem, DefaultTreeviewI18n, TreeviewConfig, TreeviewHelper, DropdownTreeviewComponent, TreeviewI18n } from 'legacy-ngx-treeview';
15
16
  import * as i1$3 from 'ngx-toastr';
16
17
  import { ToastrModule, Toast } from 'ngx-toastr';
17
- import { ReplaySubject, iif, of, combineLatest, throwError, Observable, forkJoin, BehaviorSubject, from, pipe, Subject, isObservable, EMPTY, tap as tap$1, debounceTime, distinctUntilChanged as distinctUntilChanged$1, switchMap as switchMap$1, concat, map as map$1, filter as filter$2, takeUntil as takeUntil$1, catchError as catchError$1, fromEvent, take as take$1 } from 'rxjs';
18
- import { map, retry, catchError, distinctUntilChanged, takeUntil, take, tap, switchMap, first, delay, expand, last, skip, debounceTime as debounceTime$1, filter as filter$1, finalize, startWith, retryWhen, concatMap, mergeMap } from 'rxjs/operators';
18
+ import { ReplaySubject, iif, of, combineLatest, throwError, Observable, forkJoin, BehaviorSubject, from, pipe, Subject, isObservable, EMPTY, concat, map as map$1, distinctUntilChanged as distinctUntilChanged$1, filter as filter$2, takeUntil as takeUntil$1, catchError as catchError$1, fromEvent, take as take$1, switchMap as switchMap$1, tap as tap$1 } from 'rxjs';
19
+ import { map, retry, catchError, distinctUntilChanged, takeUntil, take, tap, switchMap, first, delay, expand, last, skip, debounceTime, filter as filter$1, finalize, startWith, retryWhen, concatMap, mergeMap } from 'rxjs/operators';
19
20
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
20
21
  import CryptoJS from 'crypto-js';
21
22
  import { __decorate, __param } from 'tslib';
@@ -55,23 +56,23 @@ import * as i3$3 from '@angular/material/menu';
55
56
  import { MatMenuModule } from '@angular/material/menu';
56
57
  import * as i4 from '@angular/material/progress-bar';
57
58
  import { MatProgressBarModule } from '@angular/material/progress-bar';
59
+ import * as i8 from 'angular-ng-autocomplete';
60
+ import { AutocompleteLibModule } from 'angular-ng-autocomplete';
58
61
  import * as i1$8 from '@angular/platform-browser';
59
62
  import moment_ from 'moment-hijri';
60
63
  import 'moment/locale/ar';
61
64
  import DOMPurify from 'dompurify';
62
65
  import * as i2$3 from 'ngx-infinite-scroll';
63
66
  import { InfiniteScrollModule } from 'ngx-infinite-scroll';
64
- import * as i3$4 from '@angular/material/input';
65
- import { MatInputModule } from '@angular/material/input';
66
67
  import { Cacheable, LocalStorageStrategy, CacheBuster } from 'ts-cacheable';
67
68
  import * as i3$5 from '@ng-select/ng-select';
68
69
  import { NgSelectComponent, NgLabelTemplateDirective, NgOptionTemplateDirective, NgSelectModule } from '@ng-select/ng-select';
70
+ import * as i3$4 from '@angular/material/input';
71
+ import { MatInputModule } from '@angular/material/input';
69
72
  import * as i9 from '@angular/material/chips';
70
73
  import { MatChipsModule } from '@angular/material/chips';
71
- import * as i8 from '@angular/material/expansion';
74
+ import * as i8$1 from '@angular/material/expansion';
72
75
  import { MatExpansionModule } from '@angular/material/expansion';
73
- import * as i5$1 from '@angular/cdk/layout';
74
- import { LayoutModule } from '@angular/cdk/layout';
75
76
  import * as i4$3 from '@angular/material/button';
76
77
  import { MatButtonModule } from '@angular/material/button';
77
78
  import * as i4$2 from '@angular/material/checkbox';
@@ -97,7 +98,7 @@ import { ColumnMode, DatatableComponent, NgxDatatableModule } from '@swimlane/ng
97
98
  import { SelectionModel } from '@angular/cdk/collections';
98
99
  import * as i2$5 from '@angular/material/button-toggle';
99
100
  import { MatButtonToggleModule } from '@angular/material/button-toggle';
100
- import * as i8$1 from '@angular/cdk/drag-drop';
101
+ import * as i8$2 from '@angular/cdk/drag-drop';
101
102
  import { moveItemInArray, DragDropModule } from '@angular/cdk/drag-drop';
102
103
  import * as i6$1 from '@angular/material/autocomplete';
103
104
  import { MatAutocompleteTrigger, MatAutocompleteModule } from '@angular/material/autocomplete';
@@ -105,6 +106,8 @@ import * as i6$2 from 'ngx-mask';
105
106
  import { NgxMaskDirective, provideEnvironmentNgxMask } from 'ngx-mask';
106
107
  import { MatFormFieldModule } from '@angular/material/form-field';
107
108
  import { MatMomentDateModule } from '@angular/material-moment-adapter';
109
+ import * as i5$1 from '@angular/cdk/layout';
110
+ import { LayoutModule } from '@angular/cdk/layout';
108
111
  import Dynamsoft from 'dwt';
109
112
  import Chart$1, { Chart } from 'chart.js/auto';
110
113
  import 'chartjs-adapter-moment';
@@ -129,7 +132,7 @@ import { MatToolbarModule } from '@angular/material/toolbar';
129
132
  import * as i2$8 from 'ngx-markdown';
130
133
  import { MarkdownModule } from 'ngx-markdown';
131
134
  import colorLib from '@kurkle/color';
132
- import * as i8$2 from '@angular/cdk/accordion';
135
+ import * as i8$3 from '@angular/cdk/accordion';
133
136
  import { CdkAccordionModule } from '@angular/cdk/accordion';
134
137
  import * as i1$b from '@angular/material/bottom-sheet';
135
138
  import { MAT_BOTTOM_SHEET_DATA, MatBottomSheetModule } from '@angular/material/bottom-sheet';
@@ -1298,7 +1301,8 @@ class NuxeoCoreModule {
1298
1301
  };
1299
1302
  }
1300
1303
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NuxeoCoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
1301
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: NuxeoCoreModule, imports: [CommonModule, i1$2.TreeviewModule, i1$1.TranslateModule, i1$3.ToastrModule, KeycloakAngularModule], exports: [KeycloakAngularModule, TranslateModule, TreeviewModule, ToastrModule] }); }
1304
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: NuxeoCoreModule, imports: [CommonModule, i1$2.TreeviewModule, i1$1.TranslateModule, i1$3.ToastrModule, KeycloakAngularModule,
1305
+ RxReactiveFormsModule], exports: [KeycloakAngularModule, TranslateModule, TreeviewModule, ToastrModule, RxReactiveFormsModule] }); }
1302
1306
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NuxeoCoreModule, providers: [
1303
1307
  TranslateStore,
1304
1308
  TranslateService,
@@ -1329,13 +1333,14 @@ class NuxeoCoreModule {
1329
1333
  ToastrModule.forRoot({
1330
1334
  preventDuplicates: true
1331
1335
  }),
1332
- KeycloakAngularModule, KeycloakAngularModule, TranslateModule, TreeviewModule, ToastrModule] }); }
1336
+ KeycloakAngularModule,
1337
+ RxReactiveFormsModule, KeycloakAngularModule, TranslateModule, TreeviewModule, ToastrModule, RxReactiveFormsModule] }); }
1333
1338
  }
1334
1339
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NuxeoCoreModule, decorators: [{
1335
1340
  type: NgModule,
1336
1341
  args: [{
1337
1342
  declarations: [],
1338
- exports: [KeycloakAngularModule, TranslateModule, TreeviewModule, ToastrModule],
1343
+ exports: [KeycloakAngularModule, TranslateModule, TreeviewModule, ToastrModule, RxReactiveFormsModule],
1339
1344
  imports: [
1340
1345
  CommonModule,
1341
1346
  TreeviewModule.forRoot(),
@@ -1350,6 +1355,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
1350
1355
  preventDuplicates: true
1351
1356
  }),
1352
1357
  KeycloakAngularModule,
1358
+ RxReactiveFormsModule
1353
1359
  ],
1354
1360
  providers: [
1355
1361
  TranslateStore,
@@ -7329,6 +7335,7 @@ class LibrarySharedModule {
7329
7335
  MatIconModule,
7330
7336
  MatListModule,
7331
7337
  MatMenuModule,
7338
+ AutocompleteLibModule,
7332
7339
  DirectiveModule,
7333
7340
  MatTooltipModule,
7334
7341
  FluidHeightModule,
@@ -7350,6 +7357,7 @@ class LibrarySharedModule {
7350
7357
  MatIconModule,
7351
7358
  MatListModule,
7352
7359
  MatMenuModule,
7360
+ AutocompleteLibModule,
7353
7361
  DirectiveModule,
7354
7362
  MatTooltipModule,
7355
7363
  FluidHeightModule,
@@ -7367,7 +7375,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
7367
7375
  ButtonComponent,
7368
7376
  NoDataComponent,
7369
7377
  SpinnerComponent,
7370
- ItemListComponent,
7378
+ ItemListComponent
7371
7379
  ],
7372
7380
  imports: [
7373
7381
  AvatarModule,
@@ -7378,11 +7386,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
7378
7386
  MatIconModule,
7379
7387
  MatListModule,
7380
7388
  MatMenuModule,
7389
+ AutocompleteLibModule,
7381
7390
  DirectiveModule,
7382
7391
  MatTooltipModule,
7383
7392
  FluidHeightModule,
7384
7393
  ElementHeightModule,
7385
- MatProgressBarModule,
7394
+ MatProgressBarModule
7386
7395
  ],
7387
7396
  exports: [
7388
7397
  UserCardComponent,
@@ -7393,8 +7402,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
7393
7402
  SpinnerComponent,
7394
7403
  ItemListComponent,
7395
7404
  FluidHeightModule,
7396
- ElementHeightModule,
7397
- ],
7405
+ ElementHeightModule
7406
+ ]
7398
7407
  }]
7399
7408
  }] });
7400
7409
 
@@ -8219,407 +8228,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
8219
8228
  args: ['environment']
8220
8229
  }] }] });
8221
8230
 
8222
- function transformKeyToObject(key, value) {
8223
- const objectLevels = key.split('.').reverse();
8224
- return objectLevels.reduce((previousValue, currentValue) => {
8225
- return { [currentValue]: previousValue };
8226
- }, value);
8227
- }
8228
- class DynamicFormUpdateService {
8229
- constructor(callApi) {
8230
- this.callApi = callApi;
8231
- this.itemUpdated$ = new Subject();
8232
- this.itemClicked$ = new Subject();
8233
- this.validate$ = new Subject();
8234
- }
8235
- update(property, newValue) {
8236
- this.itemUpdated$.next({
8237
- target: property,
8238
- changed: transformKeyToObject(property.key, newValue)
8239
- });
8240
- this.validate$.next({
8241
- target: property,
8242
- changed: newValue
8243
- });
8244
- }
8245
- validate(property, newValue) {
8246
- this.validate$.next({
8247
- target: property,
8248
- changed: newValue
8249
- });
8250
- }
8251
- clicked(property) {
8252
- this.itemClicked$.next({
8253
- target: property
8254
- });
8255
- }
8256
- getTextBoxSuggestionResults(pageProvider, params, key, autoCompleteValueKey, customProperties) {
8257
- return this.callApi
8258
- .query({
8259
- pageProvider: pageProvider,
8260
- ...params,
8261
- }, {
8262
- headers: {
8263
- "X-NXproperties": customProperties,
8264
- },
8265
- })
8266
- .pipe(map((data) => {
8267
- let results = [];
8268
- if (pageProvider == "PP_Correspondence_RelationSeach") {
8269
- data.entries.map((item) => {
8270
- results.push({
8271
- // title: item.title,
8272
- title: item.properties["corr:referenceNumber"] !== null ? item.properties["corr:referenceNumber"] + " - " + item.properties["corr:subject"] : item.properties["corr:subject"],
8273
- id: item.uid,
8274
- filter: item.title,
8275
- number: item.properties["corr:referenceNumber"],
8276
- subject: item.properties["corr:subject"]
8277
- });
8278
- });
8279
- }
8280
- else {
8281
- let myInternalResult = data.aggregations[autoCompleteValueKey];
8282
- myInternalResult.buckets.map((item) => {
8283
- results.push({
8284
- title: item.key
8285
- });
8286
- });
8287
- }
8288
- return results;
8289
- }), catchError((err) => {
8290
- throw err;
8291
- }));
8292
- }
8293
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormUpdateService, deps: [{ token: CallApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8294
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormUpdateService, providedIn: 'root' }); }
8295
- }
8296
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormUpdateService, decorators: [{
8297
- type: Injectable,
8298
- args: [{
8299
- providedIn: 'root'
8300
- }]
8301
- }], ctorParameters: () => [{ type: CallApiService }] });
8302
-
8303
- /**
8304
- * A text field input that can be used inside reactive or template driven forms
8305
- * @title
8306
- * Text Field
8307
- * @example
8308
- * <app-dynamic-form-textitem
8309
- * [horizontalAlign]="false"
8310
- * formControlName="controlName"
8311
- * [placeholder]="'PATH.TO.PLACEHOLDER.STRING'"
8312
- * ></app-dynamic-form-textitem>
8313
- */
8314
- class DynamicFormTextItemComponent {
8315
- static { this.DEFAULT_SEPARATOR = ', '; }
8316
- constructor(dynamicFormUpdateService, translate, control) {
8317
- this.dynamicFormUpdateService = dynamicFormUpdateService;
8318
- this.translate = translate;
8319
- this.control = control;
8320
- this.autoComplete = false; // to get suggestions from backend when user type some letters
8321
- this.nativeAutoComplete = 'off'; // to get suggestions from browser natively
8322
- this.autoComplete_pageProvider = '';
8323
- this.autoComplete_propertyName = '';
8324
- this.autoComplete_propertyKey = '';
8325
- this.autoCompleteValueKey = '';
8326
- this.autoCompleteType = 'percentage';
8327
- this.emitFullObject = false; // used to control on emiting full selected object or only string
8328
- this.outsideParams = {}; // object of params to be passed from outside
8329
- /** input type */
8330
- this.type = 'text';
8331
- /** is Editable */
8332
- this.editable = true;
8333
- /** Placeholder string */
8334
- this.placeholder = '';
8335
- /** is disabled */
8336
- this.disabled = false;
8337
- /** @deprecated */
8338
- this.displayEmpty = true;
8339
- /** should prevent space */
8340
- this.preventSpace = false;
8341
- this.maxCharsNum = null;
8342
- this.inEdit = false;
8343
- this.showsuggestedOptions = false;
8344
- this.onChange = () => { };
8345
- this.onTouched = () => { };
8346
- this.documentList = [];
8347
- this.control.valueAccessor = this;
8348
- this.valueSeparator = DynamicFormTextItemComponent.DEFAULT_SEPARATOR;
8349
- }
8350
- isRequired() {
8351
- if (!this.control.control.validator) {
8352
- return false;
8353
- }
8354
- const validator = this.control.control.validator({});
8355
- return validator && validator.required;
8356
- }
8357
- writeValue(obj) {
8358
- this.editedValue = obj;
8359
- //this.property.value = obj;
8360
- // throw new Error('Method not implemented.');
8361
- }
8362
- get invalid() {
8363
- return this.control ? this.control.invalid : false;
8364
- }
8365
- get showError() {
8366
- if (!this.control) {
8367
- return false;
8368
- }
8369
- const { dirty, touched } = this.control;
8370
- return this.invalid ? dirty || touched : false;
8371
- }
8372
- registerOnChange(fn) {
8373
- this.onChange = fn;
8374
- }
8375
- registerOnTouched(fn) {
8376
- this.onTouched = fn;
8377
- }
8378
- setDisabledState(isDisabled) {
8379
- this.disabled = isDisabled;
8380
- }
8381
- ngOnChanges() {
8382
- /*this.editedValue = this.property.multiline
8383
- ? this.property.displayValue
8384
- : this.property.value;*/
8385
- }
8386
- showProperty() {
8387
- return this.displayEmpty || !this.property.isEmpty();
8388
- }
8389
- showClickableIcon() {
8390
- return this.hasIcon() && this.editable;
8391
- }
8392
- isEditable() {
8393
- return this.editable;
8394
- }
8395
- isClickable() {
8396
- return !!this.property.clickable;
8397
- }
8398
- hasIcon() {
8399
- return !!this.property.icon;
8400
- }
8401
- hasErrors() {
8402
- return this.showError;
8403
- }
8404
- allowSpace(e) {
8405
- if (this.preventSpace) {
8406
- e.preventDefault();
8407
- }
8408
- }
8409
- setEditMode(editStatus) {
8410
- this.inEdit = editStatus;
8411
- setTimeout(() => {
8412
- if (this.editorInput) {
8413
- this.editorInput?.nativeElement?.click();
8414
- }
8415
- }, 0);
8416
- }
8417
- reset(event) {
8418
- // event.stopPropagation();
8419
- /*this.editedValue = this.property.multiline
8420
- ? this.property.displayValue
8421
- : this.property.value;*/
8422
- this.setEditMode(false);
8423
- this.resetErrorMessages();
8424
- }
8425
- resetErrorMessages() {
8426
- this.errorMessages = [];
8427
- }
8428
- update(event) {
8429
- // event.stopPropagation();
8430
- const updatedValue = this.prepareValueForUpload(this.property, this.editedValue);
8431
- // this.property.value = updatedValue;
8432
- this.onChange(updatedValue);
8433
- this.onTouched();
8434
- // this.dynamicFormUpdateService.update(this.property, updatedValue);
8435
- this.setEditMode(false);
8436
- this.resetErrorMessages();
8437
- }
8438
- prepareValueForUpload(property, value) {
8439
- return value;
8440
- }
8441
- onTextAreaInputChange() {
8442
- this.errorMessages = this.property.getValidationErrors(this.editedValue);
8443
- }
8444
- clicked() {
8445
- if (typeof this.property.clickCallBack === 'function') {
8446
- this.property.clickCallBack();
8447
- }
8448
- else {
8449
- this.dynamicFormUpdateService.clicked(this.property);
8450
- }
8451
- }
8452
- selectItem(selectedItem) {
8453
- if (this.emitFullObject) {
8454
- this.editedValue = selectedItem;
8455
- }
8456
- else {
8457
- this.editedValue = selectedItem.title;
8458
- }
8459
- this.update(null);
8460
- this.showsuggestedOptions = false;
8461
- this.documentList = [];
8462
- }
8463
- updateValue(value) {
8464
- if (this.emitFullObject) {
8465
- if (typeof this.editedValue === 'object' && this.editedValue !== null) {
8466
- this.editedValue = Object.assign({}, this.editedValue, {
8467
- title: value
8468
- });
8469
- }
8470
- else {
8471
- this.editedValue = { title: value };
8472
- }
8473
- }
8474
- else {
8475
- this.editedValue = value;
8476
- }
8477
- }
8478
- resetSelecting() {
8479
- if (this.emitFullObject) {
8480
- this.editedValue = null;
8481
- }
8482
- else {
8483
- this.editedValue = '';
8484
- }
8485
- this.update(null);
8486
- }
8487
- waitUntilUserFinishTyping() {
8488
- if (this.delayedAction) {
8489
- clearTimeout(this.delayedAction);
8490
- this.delayedAction = setTimeout(() => {
8491
- this.onSearchInputChange();
8492
- }, 1500);
8493
- }
8494
- else {
8495
- this.delayedAction = setTimeout(() => {
8496
- this.onSearchInputChange();
8497
- }, 1500);
8498
- }
8499
- }
8500
- onSearchInputChange() {
8501
- if (this.autoComplete) {
8502
- if (!this.editorInput.nativeElement.value) {
8503
- this.resetSelecting();
8504
- }
8505
- let val = this.editorInput.nativeElement.value;
8506
- let params = {
8507
- currentPageIndex: 0,
8508
- offset: 0,
8509
- pageSize: 40,
8510
- pageProvider: this.autoComplete_pageProvider,
8511
- ...this.outsideParams
8512
- };
8513
- // if i was sending tenant id from outside then i am in case of multi tenant then add tenant id to params
8514
- if (EnvManager.environment.enableTenant == 'YES' && this.tenantId) {
8515
- params['queryParams'] = `${this.tenantId}`;
8516
- }
8517
- // params[this.autoComplete_propertyName] = (val) ? `%${val}%` : '';
8518
- if (this.autoCompleteType == 'caseSensitive' && val) {
8519
- let result = this.ToCaseInsensitive(val);
8520
- params[this.autoComplete_propertyName] = result;
8521
- }
8522
- else {
8523
- if (this.autoCompleteType == 'percentage' && val) {
8524
- params[this.autoComplete_propertyName] = '%' + val + '%';
8525
- }
8526
- else {
8527
- params[this.autoComplete_propertyName] = '';
8528
- }
8529
- }
8530
- // check if relation then will use entries then fetch only required schemas
8531
- // and other suggester will use aggregations from response not entries then add page size 0
8532
- // all this to decrease response size
8533
- let customProperties = '*';
8534
- if (this.autoComplete_pageProvider === 'PP_Correspondence_RelationSeach') {
8535
- customProperties = 'Correspondence';
8536
- }
8537
- else {
8538
- params.pageSize = 1;
8539
- }
8540
- this.dynamicFormUpdateService
8541
- .getTextBoxSuggestionResults(this.autoComplete_pageProvider, params, this.autoComplete_propertyKey, this.autoCompleteValueKey, customProperties)
8542
- .subscribe((data) => {
8543
- this.documentList = data.filter((option) => option.title.toLowerCase().includes(val.toLowerCase()));
8544
- this.showsuggestedOptions = true;
8545
- return this.documentList;
8546
- });
8547
- }
8548
- }
8549
- openOptions(value) {
8550
- if (this.autoComplete) {
8551
- this.showsuggestedOptions = value;
8552
- if (!this.documentList.length && value) {
8553
- this.onSearchInputChange();
8554
- }
8555
- }
8556
- }
8557
- ToCaseInsensitive(orginalText) {
8558
- let result = '';
8559
- let orginalTextLowerCase = orginalText.toLowerCase();
8560
- for (let i = 0; i < orginalTextLowerCase.length; i++) {
8561
- if (orginalTextLowerCase.charAt(i) >= 'a' && orginalTextLowerCase.charAt(i) <= 'z')
8562
- result = result + '[' + orginalTextLowerCase.charAt(i) + orginalTextLowerCase.charAt(i).toUpperCase() + ']';
8563
- else
8564
- result = result + orginalText.charAt(i);
8565
- }
8566
- return '.*' + result + '.*';
8567
- }
8568
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: DynamicFormUpdateService }, { token: i1$1.TranslateService }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
8569
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormTextItemComponent, isStandalone: false, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n\t<div class=\"app-input-wrapper\">\r\n\t\t<label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n\t\t\t>{{ label | translate }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n\t\t>\r\n\t\t<div class=\"\">\r\n\t\t\t<ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\t\t\t\t<div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\t\t[disabled]=\"disabled\"\r\n\t\t\t\t\t\t[type]=\"type\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'input-filled': emitFullObject ? editedValue?.title : editedValue\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(keydown.space)=\"allowSpace($event)\"\r\n\t\t\t\t\t\t#editorInput\r\n\t\t\t\t\t\t[required]=\"isRequired()\"\r\n\t\t\t\t\t\t[ngModel]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n\t\t\t\t\t\t(ngModelChange)=\"updateValue($event); update($event)\"\r\n\t\t\t\t\t\t[autocomplete]=\"nativeAutoComplete\"\r\n\t\t\t\t\t\t(keyup)=\"waitUntilUserFinishTyping()\"\r\n\t\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n\t\t\t\t\t\tplaceholder=\"{{ placeholder | translate }}\"\r\n\t\t\t\t\t\t(focus)=\"openOptions(true)\"\r\n\t\t\t\t\t\tmaxlength=\"{{ maxCharsNum }}\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n\t\t\t\t\t\t<div class=\"suggestions-wrapper\" [ngClass]=\"{ 'd-block': showsuggestedOptions }\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"option\"\r\n\t\t\t\t\t\t\t\tid=\"suggestedoptions\"\r\n\t\t\t\t\t\t\t\t*ngFor=\"let option of documentList\"\r\n\t\t\t\t\t\t\t\t(click)=\"selectItem(option)\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{{ option.title }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<mat-error\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-error-'\"\r\n\t\t\t\t\tclass=\"app-textitem-editable-error\"\r\n\t\t\t\t\t*ngIf=\"hasErrors()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.required\">{{ label | translate }} {{ 'VALIDATORS.REQUIRED' | translate }}</li>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.pattern\">\r\n\t\t\t\t\t\t\t{{ 'wrong pattern' | translate }}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.min\">{{ 'VALIDATORS.MIN' | translate }} {{ control.errors.min.min }}</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #readOnly>\r\n\t\t\t\t{{ emitFullObject ? editedValue?.title : editedValue }}\r\n\t\t\t</ng-template>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:var(--input-filled-border-color, #1a96c6)!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:0;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:not(textarea){height:var(--form-control-height, 40px)}.app-property-value .app-input-wrapper .form-control:disabled{background-color:var(--form-control-disabled-background, #e9ecef)!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
8570
- }
8571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
8572
- type: Component,
8573
- args: [{ selector: 'app-dynamic-form-textitem', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"app-property-value\">\r\n\t<div class=\"app-input-wrapper\">\r\n\t\t<label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n\t\t\t>{{ label | translate }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n\t\t>\r\n\t\t<div class=\"\">\r\n\t\t\t<ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\t\t\t\t<div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\t\t[disabled]=\"disabled\"\r\n\t\t\t\t\t\t[type]=\"type\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'input-filled': emitFullObject ? editedValue?.title : editedValue\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(keydown.space)=\"allowSpace($event)\"\r\n\t\t\t\t\t\t#editorInput\r\n\t\t\t\t\t\t[required]=\"isRequired()\"\r\n\t\t\t\t\t\t[ngModel]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n\t\t\t\t\t\t(ngModelChange)=\"updateValue($event); update($event)\"\r\n\t\t\t\t\t\t[autocomplete]=\"nativeAutoComplete\"\r\n\t\t\t\t\t\t(keyup)=\"waitUntilUserFinishTyping()\"\r\n\t\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n\t\t\t\t\t\tplaceholder=\"{{ placeholder | translate }}\"\r\n\t\t\t\t\t\t(focus)=\"openOptions(true)\"\r\n\t\t\t\t\t\tmaxlength=\"{{ maxCharsNum }}\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n\t\t\t\t\t\t<div class=\"suggestions-wrapper\" [ngClass]=\"{ 'd-block': showsuggestedOptions }\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"option\"\r\n\t\t\t\t\t\t\t\tid=\"suggestedoptions\"\r\n\t\t\t\t\t\t\t\t*ngFor=\"let option of documentList\"\r\n\t\t\t\t\t\t\t\t(click)=\"selectItem(option)\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{{ option.title }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<mat-error\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-error-'\"\r\n\t\t\t\t\tclass=\"app-textitem-editable-error\"\r\n\t\t\t\t\t*ngIf=\"hasErrors()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.required\">{{ label | translate }} {{ 'VALIDATORS.REQUIRED' | translate }}</li>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.pattern\">\r\n\t\t\t\t\t\t\t{{ 'wrong pattern' | translate }}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.min\">{{ 'VALIDATORS.MIN' | translate }} {{ control.errors.min.min }}</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #readOnly>\r\n\t\t\t\t{{ emitFullObject ? editedValue?.title : editedValue }}\r\n\t\t\t</ng-template>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:var(--input-filled-border-color, #1a96c6)!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:0;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:not(textarea){height:var(--form-control-height, 40px)}.app-property-value .app-input-wrapper .form-control:disabled{background-color:var(--form-control-disabled-background, #e9ecef)!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"] }]
8574
- }], ctorParameters: () => [{ type: DynamicFormUpdateService }, { type: i1$1.TranslateService }, { type: i2$2.NgControl, decorators: [{
8575
- type: Self
8576
- }, {
8577
- type: Optional
8578
- }] }], propDecorators: { autoComplete: [{
8579
- type: Input
8580
- }], nativeAutoComplete: [{
8581
- type: Input
8582
- }], autoComplete_pageProvider: [{
8583
- type: Input
8584
- }], autoComplete_propertyName: [{
8585
- type: Input
8586
- }], autoComplete_propertyKey: [{
8587
- type: Input
8588
- }], autoCompleteValueKey: [{
8589
- type: Input
8590
- }], autoCompleteType: [{
8591
- type: Input
8592
- }], tenantId: [{
8593
- type: Input
8594
- }], emitFullObject: [{
8595
- type: Input
8596
- }], outsideParams: [{
8597
- type: Input
8598
- }], type: [{
8599
- type: Input
8600
- }], property: [{
8601
- type: Input
8602
- }], label: [{
8603
- type: Input
8604
- }], editable: [{
8605
- type: Input
8606
- }], placeholder: [{
8607
- type: Input
8608
- }], disabled: [{
8609
- type: Input
8610
- }], displayEmpty: [{
8611
- type: Input
8612
- }], preventSpace: [{
8613
- type: Input
8614
- }], id: [{
8615
- type: Input
8616
- }], maxCharsNum: [{
8617
- type: Input
8618
- }], editorInput: [{
8619
- type: ViewChild,
8620
- args: ['editorInput']
8621
- }] } });
8622
-
8623
8231
  function generateGuid() {
8624
8232
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
8625
8233
  const r = Math.random() * 16 | 0;
@@ -9074,17 +8682,14 @@ class CorrespondenceRelationCreateFormComponent {
9074
8682
  this.selectable = true;
9075
8683
  this.removable = true;
9076
8684
  this.saving = false;
9077
- this.createform = this._formBuilder.group({
9078
- relationname: ['', Validators.required],
9079
- });
9080
8685
  this.related_corr = [];
9081
8686
  this.exist = false;
9082
- this.isLoading = signal(false);
9083
- this.hasSearched = signal(false);
9084
- this.documentList = signal([]);
8687
+ this.isLoading = false;
8688
+ this.documentList = [];
9085
8689
  this.exist_relations_list = [];
9086
- this.searchInput = new FormControl('');
8690
+ /**ng-Autocomplete related functions */
9087
8691
  this.alwaysopened = false;
8692
+ this.disableFilter = (items) => items;
9088
8693
  }
9089
8694
  /**dialog actions */
9090
8695
  onSaveClick() {
@@ -9094,13 +8699,13 @@ class CorrespondenceRelationCreateFormComponent {
9094
8699
  .subscribe((data) => {
9095
8700
  if (data) {
9096
8701
  this.corressvc.getUpdatedRelation.next();
9097
- this.toastr.show('success', 'success', 'RELATION_ADDED');
8702
+ this.toastr.show("success", "success", "RELATION_ADDED");
9098
8703
  this.saving = false;
9099
8704
  this.dialogRef.close(true);
9100
8705
  }
9101
8706
  }, (err) => {
9102
8707
  this.saving = false;
9103
- this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
8708
+ this.toastr.show("error", "error", err.ret.message ? `errors.${err.ret.code}` : "genericError");
9104
8709
  });
9105
8710
  // this.dialogRef.close({
9106
8711
  // docs: this.related_corr.map((corre) => corre.id),
@@ -9110,16 +8715,23 @@ class CorrespondenceRelationCreateFormComponent {
9110
8715
  onCloseoClick() {
9111
8716
  this.dialogRef.close();
9112
8717
  }
9113
- /*************************************************** */
9114
8718
  ngOnInit() {
9115
- this.listenSearchInputChange();
9116
8719
  this.exist_relations_list = this.data.exist_relations_list;
9117
8720
  this.correspondanceId = this.data.correspondance.uid;
9118
- this.dialogRef.updateSize('50%', '85%');
8721
+ console.log("related", this.data);
8722
+ this.dialogRef.updateSize("50%", "85%");
8723
+ this.createform = this._formBuilder.group({
8724
+ relationname: ["", Validators.required],
8725
+ });
9119
8726
  }
9120
8727
  on_remove_relation_Chip(relation) {
9121
8728
  this.related_corr.splice(this.related_corr.indexOf(relation), 1);
9122
8729
  }
8730
+ clearSerachInput() {
8731
+ this.documentList = [];
8732
+ if (this.auto)
8733
+ this.auto.query = "";
8734
+ }
9123
8735
  is_relation_exist(relation) {
9124
8736
  if (this.exist_relations_list.length == 0)
9125
8737
  return false;
@@ -9135,48 +8747,58 @@ class CorrespondenceRelationCreateFormComponent {
9135
8747
  return exist_corresp.length > 0;
9136
8748
  }
9137
8749
  selectItem(item) {
8750
+ this.auto.query = this.auto.toHighlight;
9138
8751
  if (this.is_relation_exist(item))
9139
8752
  return;
9140
- if (this.is_corresp_added(item))
8753
+ else if (this.is_corresp_added(item))
9141
8754
  return;
9142
- this.related_corr.push(item);
8755
+ else {
8756
+ this.related_corr.push(item);
8757
+ }
9143
8758
  }
9144
- isSelected(item) {
9145
- return !!this.related_corr.find(corr => corr?.id === item?.id);
8759
+ keep_Autocomplete_Results_Open() {
8760
+ if (this.alwaysopened) {
8761
+ this.auto.filteredList = this.documentList;
8762
+ this.auto.isOpen = true;
8763
+ this.auto.isFocused = true;
8764
+ }
9146
8765
  }
9147
- listenSearchInputChange() {
9148
- this.searchInput.valueChanges
9149
- .pipe(tap$1(() => { this.hasSearched.update(() => false); }), debounceTime(400), distinctUntilChanged$1(), tap$1(() => {
9150
- this.isLoading.set(true);
9151
- }), switchMap$1((val) => val ? this.corressvc.search(val, '', 'relationFile') : of([])))
9152
- .subscribe((res) => {
9153
- const _data = res.filter((cors) => {
9154
- return this.correspondanceId != cors.id;
8766
+ onSearchInputChange(val) {
8767
+ if (val?.length == 0) {
8768
+ return;
8769
+ }
8770
+ this.corressvc.search(val, "", "relationFile").subscribe((data) => {
8771
+ console.log("documentList", data);
8772
+ this.documentList = data.filter((correspondance) => {
8773
+ return this.correspondanceId != correspondance.id;
9155
8774
  });
9156
- this.isLoading.set(false);
9157
- this.hasSearched.set(true);
9158
- this.documentList.set(_data);
8775
+ this.isLoading = false;
8776
+ this.alwaysopened = this.documentList.length > 0;
8777
+ return this.documentList;
9159
8778
  });
9160
8779
  }
8780
+ inputCleared() {
8781
+ this.documentList = [];
8782
+ this.alwaysopened = false;
8783
+ }
9161
8784
  reset() {
9162
8785
  this.related_corr = [];
9163
- this.clearSearchInput();
8786
+ this.clearSerachInput();
9164
8787
  this.exist = false;
9165
8788
  }
9166
- clearSearchInput() {
9167
- this.documentList.set([]);
9168
- this.searchInput.setValue('');
9169
- }
9170
8789
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CorrespondenceRelationCreateFormComponent, deps: [{ token: i2$2.UntypedFormBuilder }, { token: CorrespondenceRelationService }, { token: CustomToastrService }, { token: i1$6.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
9171
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.18", type: CorrespondenceRelationCreateFormComponent, isStandalone: false, selector: "cts-correspondence-relation-create-form", ngImport: i0, template: "<div\r\n class=\"correspondence-relation-container\"\r\n SetDirRtl\r\n style=\"height: 80%; width: 100%\"\r\n>\r\n <div class=\"correspondence-relation-title\">\r\n {{ \"correspondence-relation.add\" | translate }}\r\n </div>\r\n <!-- <mat-divider></mat-divider> -->\r\n <div mat-dialog-content [formGroup]=\"createform\">\r\n <div class=\"vocabulary-list\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'correspondence-relation.relation-type'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceRelationsNames'\"\r\n formControlName=\"relationname\"\r\n (onSelecting)=\"reset()\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"search-container\" *ngIf=\"createform.value.relationname\">\r\n <div class=\"search-relation-container\">\r\n <app-dynamic-form-textitem\r\n placeholder=\"{{ 'correspondence-relation.searchby' | translate }}\"\r\n class=\"search-relation-container__input\"\r\n [formControl]=\"searchInput\"\r\n >\r\n </app-dynamic-form-textitem>\r\n @if (searchInput.value) {\r\n <span class=\"search-relation-container__clear\">\r\n <mat-icon (click)=\"clearSearchInput()\">clear</mat-icon>\r\n </span>\r\n }\r\n </div>\r\n\r\n <div role=\"listbox\" class=\"suggestions-container\">\r\n <ul>\r\n @for (option of documentList(); track $index) {\r\n <li\r\n class=\"item\"\r\n (click)=\"selectItem(option)\"\r\n [class.selected]=\"isSelected(option)\"\r\n >\r\n <span>{{ option?.title }}</span>\r\n </li>\r\n } @empty {\r\n @if (isLoading()) {\r\n <div class=\"p-3\">{{ \"loading\" | translate }}</div>\r\n } @else if (searchInput.value && hasSearched()) {\r\n <div class=\"p-3 flex items-center justify-center\">\r\n {{ \"correspondence-relation.notfound\" | translate }}\r\n </div>\r\n }\r\n }\r\n </ul>\r\n </div>\r\n <div class=\"chip-list mt-3\" *ngIf=\"related_corr.length > 0\">\r\n <mat-chip-list #chipList aria-label=\"corr selection\">\r\n <mat-chip\r\n *ngFor=\"let corr of related_corr\"\r\n [selectable]=\"selectable\"\r\n [removable]=\"removable\"\r\n (removed)=\"on_remove_relation_Chip(corr)\"\r\n class=\"mx-1\"\r\n >\r\n {{ corr.title }}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"exist-relation\" *ngIf=\"exist\">\r\n <span> {{ \"correspondence-relation.exist\" | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n [loading]=\"saving\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n (onClick)=\"onSaveClick()\"\r\n [theme]=\"'primary'\"\r\n size=\"'regular'\"\r\n [disabled]=\"\r\n !this.createform.controls.relationname.valid || related_corr.length == 0\r\n \"\r\n >\r\n {{ \"correspondence-relation.save\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.correspondence-relation-container{padding:20px}.correspondence-relation-container .correspondence-relation-title{margin-bottom:8px;font-size:20px;color:#465573}.correspondence-relation-container .mat-dialog-content{height:100%;width:100%}.correspondence-relation-container .button-group{margin-top:12px;column-gap:6px!important}.correspondence-relation-container .button-group cts-button{width:16%}@media (max-width: 992px){.correspondence-relation-container .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.correspondence-relation-container .button-group cts-button{width:28%}}.correspondence-relation-container .item{margin:1px;padding:8px 10px;font-size:.75rem}.correspondence-relation-container .dialog-actions button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:70px;border-radius:3px}.correspondence-relation-container .dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.correspondence-relation-container .dialog-actions button:hover{opacity:.7}.correspondence-relation-container .suggestions-container{height:150px!important;margin-top:10px;border:1px lightgray solid;overflow-y:auto}.correspondence-relation-container .suggestions-container ul{padding:0}.correspondence-relation-container .suggestions-container .item{position:relative;list-style:none;margin:1px;padding:8px 10px;font-size:.75rem;cursor:pointer;color:#282828}.correspondence-relation-container .suggestions-container .item:hover:not(.selected){background:#8f98aa1a}.correspondence-relation-container .suggestions-container .item.selected{background:#e9f0ff;pointer-events:none}.correspondence-relation-container .search-relation-container{position:relative;display:grid;grid-template-columns:1fr}.correspondence-relation-container .search-relation-container__input{grid-column:1;grid-row:1}.correspondence-relation-container .search-relation-container__clear{grid-column:1;grid-row:1;z-index:2;justify-self:end;align-self:center;padding-inline:8px;display:grid;place-items:center;cursor:pointer}.correspondence-relation-container .chip-list{max-height:150px;border:1px lightgray solid;overflow:auto;padding:10px;margin-bottom:10px;width:100%}.correspondence-relation-container .chip-list .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px!important}.correspondence-relation-container .chip-list .mat-mdc-chip.mat-mdc-standard-chip{background-color:#8f98aa1a!important;height:auto}.correspondence-relation-container .autocomplete-container{box-shadow:none!important}.correspondence-relation-container .autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important}.correspondence-relation-container .exist-relation{background-color:#f8d7da!important;color:#842029!important;border-color:#f5c2c7!important;position:absolute;width:100%;top:300px}.correspondence-relation-container .autocomplete-container .suggestions-container .complete-selected,.correspondence-relation-container .autocomplete-container .suggestions-container ul li:hover{background-color:#8f98aa1a!important}.correspondence-relation-container .vocabulary-list{margin-bottom:10px}.correspondence-relation-container .vocabulary-list .mat-error{display:none!important}.correspondence-relation-container .mat-dialog-content{margin:3px 0 0!important;padding:0!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { kind: "component", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["id", "onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$6.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$6.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }, { kind: "directive", type: SetDirRtlDirective, selector: "[SetDirRtl]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
8790
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CorrespondenceRelationCreateFormComponent, isStandalone: false, selector: "cts-correspondence-relation-create-form", viewQueries: [{ propertyName: "auto", first: true, predicate: ["auto"], descendants: true }], ngImport: i0, template: "<div\r\n class=\"correspondence-relation-container\"\r\n SetDirRtl\r\n style=\"height: 80%; width: 100%\"\r\n>\r\n <div class=\"correspondence-relation-title\">\r\n {{ \"correspondence-relation.add\" | translate }}\r\n </div>\r\n <!-- <mat-divider></mat-divider> -->\r\n <div mat-dialog-content [formGroup]=\"createform\">\r\n <div class=\"vocabulary-list\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'correspondence-relation.relation-type'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceRelationsNames'\"\r\n formControlName=\"relationname\"\r\n (onSelecting)=\"reset()\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"search-container\" *ngIf=\"createform.value.relationname\">\r\n <ng-autocomplete\r\n #auto\r\n [data]=\"documentList\"\r\n [searchKeyword]=\"'filter'\"\r\n (selected)=\"selectItem($event)\"\r\n (inputChanged)=\"onSearchInputChange($event)\"\r\n [customFilter]=\"disableFilter\"\r\n (closed)=\"keep_Autocomplete_Results_Open()\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\"\r\n [placeholder]=\"'correspondence-relation.searchby' | translate\"\r\n [debounceTime]=\"1000\"\r\n [isLoading]=\"isLoading\"\r\n (inputCleared)=\"inputCleared()\"\r\n >\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <div class=\"item\">\r\n <span>{{ item.title }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #notFoundTemplate>\r\n <div>{{ \"correspondence-relation.notfound\" | translate }}</div>\r\n </ng-template>\r\n\r\n <div class=\"chip-list\" *ngIf=\"related_corr.length > 0\">\r\n <mat-chip-list #chipList aria-label=\"corr selection\">\r\n <mat-chip\r\n *ngFor=\"let corr of related_corr\"\r\n [selectable]=\"selectable\"\r\n [removable]=\"removable\"\r\n (removed)=\"on_remove_relation_Chip(corr)\"\r\n >\r\n {{ corr.title }}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"exist-relation\" *ngIf=\"exist\">\r\n <span> {{ \"correspondence-relation.exist\" | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n [loading]=\"saving\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n (onClick)=\"onSaveClick()\"\r\n [theme]=\"'primary'\"\r\n size=\"'regular'\"\r\n [disabled]=\"\r\n !this.createform.controls.relationname.valid || related_corr.length == 0\r\n \"\r\n >\r\n {{ \"correspondence-relation.save\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.correspondence-relation-container{padding:20px}.correspondence-relation-container .correspondence-relation-title{margin-bottom:8px;font-size:20px;color:#465573}.correspondence-relation-container .mat-dialog-content{height:100%;width:100%}.correspondence-relation-container .button-group{margin-top:12px;column-gap:6px!important}.correspondence-relation-container .button-group cts-button{width:16%}@media (max-width: 992px){.correspondence-relation-container .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.correspondence-relation-container .button-group cts-button{width:28%}}.correspondence-relation-container .item{margin:1px;padding:8px 10px;font-size:.75rem}.correspondence-relation-container .dialog-actions button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:70px;border-radius:3px}.correspondence-relation-container .dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.correspondence-relation-container .dialog-actions button:hover{opacity:.7}.correspondence-relation-container .autocomplete-container .suggestions-container ul{max-height:150px!important}.correspondence-relation-container .autocomplete-container .suggestions-container{height:150px!important;margin-top:10px;max-height:150px!important;border:1px lightgray solid!important;box-shadow:none!important}.correspondence-relation-container .search-container{position:relative}.correspondence-relation-container .chip-list{max-height:150px;border:1px lightgray solid;overflow:scroll;padding:10px;margin-bottom:10px;top:215px;position:absolute;width:100%}.correspondence-relation-container .chip-list .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px!important}.correspondence-relation-container .chip-list .mat-mdc-chip.mat-mdc-standard-chip{background-color:#8f98aa1a!important;height:auto}.correspondence-relation-container .autocomplete-container{box-shadow:none!important}.correspondence-relation-container .autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important}.correspondence-relation-container .exist-relation{background-color:#f8d7da!important;color:#842029!important;border-color:#f5c2c7!important;position:absolute;width:100%;top:300px}.correspondence-relation-container .autocomplete-container .suggestions-container .complete-selected,.correspondence-relation-container .autocomplete-container .suggestions-container ul li:hover{background-color:#8f98aa1a!important}.correspondence-relation-container .vocabulary-list{margin-bottom:10px}.correspondence-relation-container .vocabulary-list .mat-error{display:none!important}.correspondence-relation-container .mat-dialog-content{margin:3px 0 0!important;padding:0!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["id", "onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$6.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$6.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.AutocompleteComponent, selector: "ng-autocomplete", inputs: ["data", "searchKeyword", "placeholder", "heading", "initialValue", "historyIdentifier", "historyHeading", "historyListMaxNumber", "notFoundText", "isLoading", "debounceTime", "disabled", "minQueryLength", "focusFirst", "customFilter", "selectedValueRender", "itemTemplate", "notFoundTemplate"], outputs: ["selected", "inputChanged", "inputFocused", "inputCleared", "opened", "closed", "scrolledToEnd"] }, { kind: "component", type: i9.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "directive", type: i9.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }, { kind: "directive", type: SetDirRtlDirective, selector: "[SetDirRtl]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
9172
8791
  }
9173
8792
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CorrespondenceRelationCreateFormComponent, decorators: [{
9174
8793
  type: Component,
9175
- args: [{ selector: 'cts-correspondence-relation-create-form', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div\r\n class=\"correspondence-relation-container\"\r\n SetDirRtl\r\n style=\"height: 80%; width: 100%\"\r\n>\r\n <div class=\"correspondence-relation-title\">\r\n {{ \"correspondence-relation.add\" | translate }}\r\n </div>\r\n <!-- <mat-divider></mat-divider> -->\r\n <div mat-dialog-content [formGroup]=\"createform\">\r\n <div class=\"vocabulary-list\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'correspondence-relation.relation-type'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceRelationsNames'\"\r\n formControlName=\"relationname\"\r\n (onSelecting)=\"reset()\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"search-container\" *ngIf=\"createform.value.relationname\">\r\n <div class=\"search-relation-container\">\r\n <app-dynamic-form-textitem\r\n placeholder=\"{{ 'correspondence-relation.searchby' | translate }}\"\r\n class=\"search-relation-container__input\"\r\n [formControl]=\"searchInput\"\r\n >\r\n </app-dynamic-form-textitem>\r\n @if (searchInput.value) {\r\n <span class=\"search-relation-container__clear\">\r\n <mat-icon (click)=\"clearSearchInput()\">clear</mat-icon>\r\n </span>\r\n }\r\n </div>\r\n\r\n <div role=\"listbox\" class=\"suggestions-container\">\r\n <ul>\r\n @for (option of documentList(); track $index) {\r\n <li\r\n class=\"item\"\r\n (click)=\"selectItem(option)\"\r\n [class.selected]=\"isSelected(option)\"\r\n >\r\n <span>{{ option?.title }}</span>\r\n </li>\r\n } @empty {\r\n @if (isLoading()) {\r\n <div class=\"p-3\">{{ \"loading\" | translate }}</div>\r\n } @else if (searchInput.value && hasSearched()) {\r\n <div class=\"p-3 flex items-center justify-center\">\r\n {{ \"correspondence-relation.notfound\" | translate }}\r\n </div>\r\n }\r\n }\r\n </ul>\r\n </div>\r\n <div class=\"chip-list mt-3\" *ngIf=\"related_corr.length > 0\">\r\n <mat-chip-list #chipList aria-label=\"corr selection\">\r\n <mat-chip\r\n *ngFor=\"let corr of related_corr\"\r\n [selectable]=\"selectable\"\r\n [removable]=\"removable\"\r\n (removed)=\"on_remove_relation_Chip(corr)\"\r\n class=\"mx-1\"\r\n >\r\n {{ corr.title }}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"exist-relation\" *ngIf=\"exist\">\r\n <span> {{ \"correspondence-relation.exist\" | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n [loading]=\"saving\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n (onClick)=\"onSaveClick()\"\r\n [theme]=\"'primary'\"\r\n size=\"'regular'\"\r\n [disabled]=\"\r\n !this.createform.controls.relationname.valid || related_corr.length == 0\r\n \"\r\n >\r\n {{ \"correspondence-relation.save\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.correspondence-relation-container{padding:20px}.correspondence-relation-container .correspondence-relation-title{margin-bottom:8px;font-size:20px;color:#465573}.correspondence-relation-container .mat-dialog-content{height:100%;width:100%}.correspondence-relation-container .button-group{margin-top:12px;column-gap:6px!important}.correspondence-relation-container .button-group cts-button{width:16%}@media (max-width: 992px){.correspondence-relation-container .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.correspondence-relation-container .button-group cts-button{width:28%}}.correspondence-relation-container .item{margin:1px;padding:8px 10px;font-size:.75rem}.correspondence-relation-container .dialog-actions button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:70px;border-radius:3px}.correspondence-relation-container .dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.correspondence-relation-container .dialog-actions button:hover{opacity:.7}.correspondence-relation-container .suggestions-container{height:150px!important;margin-top:10px;border:1px lightgray solid;overflow-y:auto}.correspondence-relation-container .suggestions-container ul{padding:0}.correspondence-relation-container .suggestions-container .item{position:relative;list-style:none;margin:1px;padding:8px 10px;font-size:.75rem;cursor:pointer;color:#282828}.correspondence-relation-container .suggestions-container .item:hover:not(.selected){background:#8f98aa1a}.correspondence-relation-container .suggestions-container .item.selected{background:#e9f0ff;pointer-events:none}.correspondence-relation-container .search-relation-container{position:relative;display:grid;grid-template-columns:1fr}.correspondence-relation-container .search-relation-container__input{grid-column:1;grid-row:1}.correspondence-relation-container .search-relation-container__clear{grid-column:1;grid-row:1;z-index:2;justify-self:end;align-self:center;padding-inline:8px;display:grid;place-items:center;cursor:pointer}.correspondence-relation-container .chip-list{max-height:150px;border:1px lightgray solid;overflow:auto;padding:10px;margin-bottom:10px;width:100%}.correspondence-relation-container .chip-list .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px!important}.correspondence-relation-container .chip-list .mat-mdc-chip.mat-mdc-standard-chip{background-color:#8f98aa1a!important;height:auto}.correspondence-relation-container .autocomplete-container{box-shadow:none!important}.correspondence-relation-container .autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important}.correspondence-relation-container .exist-relation{background-color:#f8d7da!important;color:#842029!important;border-color:#f5c2c7!important;position:absolute;width:100%;top:300px}.correspondence-relation-container .autocomplete-container .suggestions-container .complete-selected,.correspondence-relation-container .autocomplete-container .suggestions-container ul li:hover{background-color:#8f98aa1a!important}.correspondence-relation-container .vocabulary-list{margin-bottom:10px}.correspondence-relation-container .vocabulary-list .mat-error{display:none!important}.correspondence-relation-container .mat-dialog-content{margin:3px 0 0!important;padding:0!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"] }]
8794
+ args: [{ selector: "cts-correspondence-relation-create-form", encapsulation: ViewEncapsulation.None, standalone: false, template: "<div\r\n class=\"correspondence-relation-container\"\r\n SetDirRtl\r\n style=\"height: 80%; width: 100%\"\r\n>\r\n <div class=\"correspondence-relation-title\">\r\n {{ \"correspondence-relation.add\" | translate }}\r\n </div>\r\n <!-- <mat-divider></mat-divider> -->\r\n <div mat-dialog-content [formGroup]=\"createform\">\r\n <div class=\"vocabulary-list\">\r\n <app-dynamic-form-vocabulary-item\r\n [label]=\"'correspondence-relation.relation-type'\"\r\n [bindLabel]=\"'label'\"\r\n [bindValue]=\"'id'\"\r\n placeholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n [multiple]=\"false\"\r\n [searchable]=\"false\"\r\n [closeOnSelect]=\"true\"\r\n [hideSelectedItems]=\"false\"\r\n [vocabularyType]=\"'VOC_CorrespondenceRelationsNames'\"\r\n formControlName=\"relationname\"\r\n (onSelecting)=\"reset()\"\r\n >\r\n </app-dynamic-form-vocabulary-item>\r\n </div>\r\n\r\n <div class=\"search-container\" *ngIf=\"createform.value.relationname\">\r\n <ng-autocomplete\r\n #auto\r\n [data]=\"documentList\"\r\n [searchKeyword]=\"'filter'\"\r\n (selected)=\"selectItem($event)\"\r\n (inputChanged)=\"onSearchInputChange($event)\"\r\n [customFilter]=\"disableFilter\"\r\n (closed)=\"keep_Autocomplete_Results_Open()\"\r\n [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\"\r\n [placeholder]=\"'correspondence-relation.searchby' | translate\"\r\n [debounceTime]=\"1000\"\r\n [isLoading]=\"isLoading\"\r\n (inputCleared)=\"inputCleared()\"\r\n >\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <div class=\"item\">\r\n <span>{{ item.title }}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #notFoundTemplate>\r\n <div>{{ \"correspondence-relation.notfound\" | translate }}</div>\r\n </ng-template>\r\n\r\n <div class=\"chip-list\" *ngIf=\"related_corr.length > 0\">\r\n <mat-chip-list #chipList aria-label=\"corr selection\">\r\n <mat-chip\r\n *ngFor=\"let corr of related_corr\"\r\n [selectable]=\"selectable\"\r\n [removable]=\"removable\"\r\n (removed)=\"on_remove_relation_Chip(corr)\"\r\n >\r\n {{ corr.title }}\r\n <mat-icon matChipRemove *ngIf=\"removable\">cancel</mat-icon>\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"exist-relation\" *ngIf=\"exist\">\r\n <span> {{ \"correspondence-relation.exist\" | translate }}</span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"button-group d-flex flex-row-reverse\">\r\n <cts-button\r\n [theme]=\"'danger'\"\r\n size=\"'regular'\"\r\n [loading]=\"saving\"\r\n class=\"voc-form-close\"\r\n mat-dialog-close\r\n >\r\n {{ \"BUTTONS.CLOSE\" | translate }}\r\n </cts-button>\r\n <cts-button\r\n (onClick)=\"onSaveClick()\"\r\n [theme]=\"'primary'\"\r\n size=\"'regular'\"\r\n [disabled]=\"\r\n !this.createform.controls.relationname.valid || related_corr.length == 0\r\n \"\r\n >\r\n {{ \"correspondence-relation.save\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.correspondence-relation-container{padding:20px}.correspondence-relation-container .correspondence-relation-title{margin-bottom:8px;font-size:20px;color:#465573}.correspondence-relation-container .mat-dialog-content{height:100%;width:100%}.correspondence-relation-container .button-group{margin-top:12px;column-gap:6px!important}.correspondence-relation-container .button-group cts-button{width:16%}@media (max-width: 992px){.correspondence-relation-container .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.correspondence-relation-container .button-group cts-button{width:28%}}.correspondence-relation-container .item{margin:1px;padding:8px 10px;font-size:.75rem}.correspondence-relation-container .dialog-actions button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:70px;border-radius:3px}.correspondence-relation-container .dialog-actions button:disabled{opacity:.4;cursor:not-allowed}.correspondence-relation-container .dialog-actions button:hover{opacity:.7}.correspondence-relation-container .autocomplete-container .suggestions-container ul{max-height:150px!important}.correspondence-relation-container .autocomplete-container .suggestions-container{height:150px!important;margin-top:10px;max-height:150px!important;border:1px lightgray solid!important;box-shadow:none!important}.correspondence-relation-container .search-container{position:relative}.correspondence-relation-container .chip-list{max-height:150px;border:1px lightgray solid;overflow:scroll;padding:10px;margin-bottom:10px;top:215px;position:absolute;width:100%}.correspondence-relation-container .chip-list .mat-mdc-chip.mat-mdc-standard-chip{border-radius:5px!important}.correspondence-relation-container .chip-list .mat-mdc-chip.mat-mdc-standard-chip{background-color:#8f98aa1a!important;height:auto}.correspondence-relation-container .autocomplete-container{box-shadow:none!important}.correspondence-relation-container .autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important}.correspondence-relation-container .exist-relation{background-color:#f8d7da!important;color:#842029!important;border-color:#f5c2c7!important;position:absolute;width:100%;top:300px}.correspondence-relation-container .autocomplete-container .suggestions-container .complete-selected,.correspondence-relation-container .autocomplete-container .suggestions-container ul li:hover{background-color:#8f98aa1a!important}.correspondence-relation-container .vocabulary-list{margin-bottom:10px}.correspondence-relation-container .vocabulary-list .mat-error{display:none!important}.correspondence-relation-container .mat-dialog-content{margin:3px 0 0!important;padding:0!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"] }]
9176
8795
  }], ctorParameters: () => [{ type: i2$2.UntypedFormBuilder }, { type: CorrespondenceRelationService }, { type: CustomToastrService }, { type: i1$6.MatDialogRef }, { type: undefined, decorators: [{
9177
8796
  type: Inject,
9178
8797
  args: [MAT_DIALOG_DATA]
9179
- }] }] });
8798
+ }] }], propDecorators: { auto: [{
8799
+ type: ViewChild,
8800
+ args: ["auto"]
8801
+ }] } });
9180
8802
 
9181
8803
  class DocumentsConstants {
9182
8804
  static { this.pageProvider = {
@@ -9634,7 +9256,7 @@ class CorrespondenceRelationListComponent {
9634
9256
  }
9635
9257
  }
9636
9258
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CorrespondenceRelationListComponent, deps: [{ token: CorrespondenceRelationService }, { token: i1$6.MatDialog }, { token: ViewerFilesService }, { token: DocumentsService }, { token: AdapterService }], target: i0.ɵɵFactoryTarget.Component }); }
9637
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CorrespondenceRelationListComponent, isStandalone: false, selector: "cts-correspondence-relation-list", inputs: { correspondence_id: "correspondence_id", reload: "reload" }, ngImport: i0, template: "<div class=\"relations-list\" *ngIf=\"relateddoc.length > 0\">\r\n <ng-container>\r\n <div *ngFor=\"let group of relateddoc; first as isFirst\">\r\n <mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"isFirst\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{\r\n \"vocabulary.VOC_CorrespondenceRelationsNames.\" + group[0]\r\n | translate\r\n }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let item of group[1]\">\r\n <cts-item-list\r\n [item]=\"item\"\r\n [title]=\"item.title\"\r\n [iconname]=\"'link'\"\r\n [actions]=\"menu_actions\"\r\n (actionclicked)=\"handleMenuItemClicked($event)\"\r\n (itemClicked)=\"showCorrespondenceInViewer(item)\"\r\n [moreclasses]=\"'link-relation'\"\r\n ></cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"nocontent\" *ngIf=\"relateddoc.length === 0\">\r\n <p>{{ \"correspondence-relation.nocontent\" | translate }}</p>\r\n</div>\r\n", styles: [".relations-list{border:1px solid #eee}.relations-list .mat-expansion-panel{box-shadow:none!important}.relations-list .mat-expansion-panel-header{border-bottom:1px solid #d9dce2;background-color:#f5f6f8;height:50px!important}.relations-list .mat-expansion-panel-header:hover{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header:focus{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header-title{font-weight:500}.relations-list .mat-accordion .mat-expansion-panel{border-radius:0!important}.relations-list .mat-expansion-panel-body{padding:0!important}.nocontent{color:gray;padding:10px;font-size:14px;border:1px solid #d9dce2}.nocontent p{margin:0;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "directive", type: i8.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i8.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i8.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i8.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i8.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
9259
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CorrespondenceRelationListComponent, isStandalone: false, selector: "cts-correspondence-relation-list", inputs: { correspondence_id: "correspondence_id", reload: "reload" }, ngImport: i0, template: "<div class=\"relations-list\" *ngIf=\"relateddoc.length > 0\">\r\n <ng-container>\r\n <div *ngFor=\"let group of relateddoc; first as isFirst\">\r\n <mat-accordion class=\"example-headers-align\" multi>\r\n <mat-expansion-panel [expanded]=\"isFirst\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>\r\n {{\r\n \"vocabulary.VOC_CorrespondenceRelationsNames.\" + group[0]\r\n | translate\r\n }}\r\n </mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let item of group[1]\">\r\n <cts-item-list\r\n [item]=\"item\"\r\n [title]=\"item.title\"\r\n [iconname]=\"'link'\"\r\n [actions]=\"menu_actions\"\r\n (actionclicked)=\"handleMenuItemClicked($event)\"\r\n (itemClicked)=\"showCorrespondenceInViewer(item)\"\r\n [moreclasses]=\"'link-relation'\"\r\n ></cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n </mat-accordion>\r\n </div>\r\n </ng-container>\r\n</div>\r\n<div class=\"nocontent\" *ngIf=\"relateddoc.length === 0\">\r\n <p>{{ \"correspondence-relation.nocontent\" | translate }}</p>\r\n</div>\r\n", styles: [".relations-list{border:1px solid #eee}.relations-list .mat-expansion-panel{box-shadow:none!important}.relations-list .mat-expansion-panel-header{border-bottom:1px solid #d9dce2;background-color:#f5f6f8;height:50px!important}.relations-list .mat-expansion-panel-header:hover{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header:focus{background-color:#f5f6f8!important}.relations-list .mat-expansion-panel-header-title{font-weight:500}.relations-list .mat-accordion .mat-expansion-panel{border-radius:0!important}.relations-list .mat-expansion-panel-body{padding:0!important}.nocontent{color:gray;padding:10px;font-size:14px;border:1px solid #d9dce2}.nocontent p{margin:0;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$1.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "directive", type: i8$1.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i8$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i8$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i8$1.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i8$1.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
9638
9260
  }
9639
9261
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CorrespondenceRelationListComponent, decorators: [{
9640
9262
  type: Component,
@@ -9940,6 +9562,140 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
9940
9562
  type: Output
9941
9563
  }] } });
9942
9564
 
9565
+ /** Auto complete dropdown component
9566
+ * @title
9567
+ * Search Autocomplete
9568
+ */
9569
+ class SearchAutocompleteComponent {
9570
+ get invalid() {
9571
+ return this.control ? this.control.invalid : false;
9572
+ }
9573
+ get showError() {
9574
+ if (!this.control) {
9575
+ return false;
9576
+ }
9577
+ const { dirty, touched } = this.control;
9578
+ return this.invalid ? dirty || touched : false;
9579
+ }
9580
+ writeValue(value) {
9581
+ if (value) {
9582
+ this.target = value;
9583
+ this.auto.query = this.target?.title;
9584
+ }
9585
+ }
9586
+ registerOnChange(fn) {
9587
+ this.propagateChange = fn;
9588
+ }
9589
+ registerOnTouched(fn) {
9590
+ this.onTouched = fn;
9591
+ }
9592
+ validate(c) {
9593
+ return this.validateFn(c);
9594
+ }
9595
+ isRequired() {
9596
+ if (!this.control || !this.control.control.validator) {
9597
+ return false;
9598
+ }
9599
+ const validator = this.control.control.validator({});
9600
+ return validator && validator.required;
9601
+ }
9602
+ hasErrors() {
9603
+ return this.showError;
9604
+ }
9605
+ reset() {
9606
+ this.inputCleared();
9607
+ this.searchautocomplete.reset();
9608
+ }
9609
+ constructor(corressvc, control) {
9610
+ this.corressvc = corressvc;
9611
+ this.control = control;
9612
+ this.loading = false;
9613
+ this.target = {};
9614
+ /** event emitter that will fire with selected item info when an item is selected */
9615
+ this.onSelecting = new EventEmitter();
9616
+ // function related to value accessor
9617
+ this.propagateChange = () => { };
9618
+ this.validateFn = () => { };
9619
+ this.onTouched = () => {
9620
+ /*Empty*/
9621
+ };
9622
+ /**ng-Autocomplete related functions */
9623
+ this.alwaysopened = false;
9624
+ this.isLoading = false;
9625
+ this.documentList = [];
9626
+ this.control.valueAccessor = this;
9627
+ }
9628
+ ngOnChanges(changes) {
9629
+ this.correspondanceId = this.correspondanceId;
9630
+ console.log('id', this.correspondanceId);
9631
+ }
9632
+ ngOnInit() {
9633
+ }
9634
+ inputCleared() {
9635
+ this.documentList = [];
9636
+ this.auto.close();
9637
+ this.target = {};
9638
+ this.propagateChange();
9639
+ this.onSelecting.emit();
9640
+ }
9641
+ selectItem(item) {
9642
+ this.target = item;
9643
+ this.propagateChange(item);
9644
+ this.onSelecting.emit(item);
9645
+ }
9646
+ onSearchInputChange(val) {
9647
+ if (val?.length == 0) {
9648
+ return;
9649
+ }
9650
+ this.corressvc
9651
+ .search(val, {
9652
+ Correspondence_replied: false,
9653
+ Correspondence_direction: this.direction ? this.direction : null
9654
+ })
9655
+ .subscribe((data) => {
9656
+ this.documentList = data.filter((correspondance) => {
9657
+ if (this.correspondanceId) {
9658
+ return this.correspondanceId != correspondance.id;
9659
+ }
9660
+ else {
9661
+ return correspondance;
9662
+ }
9663
+ });
9664
+ // this.documentList = data;
9665
+ this.isLoading = false;
9666
+ return this.documentList;
9667
+ });
9668
+ }
9669
+ //disableFilter = (items: any[]) => items;
9670
+ close() { }
9671
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SearchAutocompleteComponent, deps: [{ token: CorrespondenceRelationService }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
9672
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: SearchAutocompleteComponent, isStandalone: false, selector: "cts-search-autocomplete", inputs: { placeholder: "placeholder", label: "label", correspondanceId: "correspondanceId", direction: "direction" }, outputs: { onSelecting: "onSelecting" }, viewQueries: [{ propertyName: "searchautocomplete", first: true, predicate: SearchAutocompleteComponent, descendants: true }, { propertyName: "auto", first: true, predicate: ["auto"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"search-container\">\r\n <ng-container>\r\n <div>\r\n <label class=\"select-label\" >{{ label | translate\r\n }}</label>\r\n </div>\r\n </ng-container>\r\n <!-- [customFilter]=\"disableFilter\" -->\r\n <ng-autocomplete #auto [data]=\"documentList\" [searchKeyword]=\"'filter'\" (selected)='selectItem($event)'\r\n (inputChanged)='onSearchInputChange($event)' (closed)=\"close()\" [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\" [placeholder]=\"'correspondence-relation.searchby' | translate\"\r\n [debounceTime]='1000' [isLoading]=\"isLoading\" (inputCleared)='inputCleared()'>\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <div class=\"item\">\r\n <span>{{item.title}}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #notFoundTemplate>\r\n <div>{{'correspondence-relation.notfound' | translate}}</div>\r\n </ng-template>\r\n</div>", styles: [".select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.autocomplete-container .suggestions-container ul{max-height:150px!important}.autocomplete-container .suggestions-container .is-visible{height:150px!important;max-height:150px!important;border:1px lightgray solid!important;box-shadow:none!important}.autocomplete-container{box-shadow:none!important}.autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important;border:1px solid #ccc!important;border-radius:5px!important}.autocomplete-container .suggestions-container .complete-selected,.autocomplete-container .suggestions-container ul li:hover{background-color:#f5faff!important}.autocomplete-container .suggestions-container ul li{padding:8px 10px!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"], dependencies: [{ kind: "component", type: i8.AutocompleteComponent, selector: "ng-autocomplete", inputs: ["data", "searchKeyword", "placeholder", "heading", "initialValue", "historyIdentifier", "historyHeading", "historyListMaxNumber", "notFoundText", "isLoading", "debounceTime", "disabled", "minQueryLength", "focusFirst", "customFilter", "selectedValueRender", "itemTemplate", "notFoundTemplate"], outputs: ["selected", "inputChanged", "inputFocused", "inputCleared", "opened", "closed", "scrolledToEnd"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
9673
+ }
9674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: SearchAutocompleteComponent, decorators: [{
9675
+ type: Component,
9676
+ args: [{ selector: 'cts-search-autocomplete', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"search-container\">\r\n <ng-container>\r\n <div>\r\n <label class=\"select-label\" >{{ label | translate\r\n }}</label>\r\n </div>\r\n </ng-container>\r\n <!-- [customFilter]=\"disableFilter\" -->\r\n <ng-autocomplete #auto [data]=\"documentList\" [searchKeyword]=\"'filter'\" (selected)='selectItem($event)'\r\n (inputChanged)='onSearchInputChange($event)' (closed)=\"close()\" [itemTemplate]=\"itemTemplate\"\r\n [notFoundTemplate]=\"notFoundTemplate\" [placeholder]=\"'correspondence-relation.searchby' | translate\"\r\n [debounceTime]='1000' [isLoading]=\"isLoading\" (inputCleared)='inputCleared()'>\r\n </ng-autocomplete>\r\n\r\n <ng-template #itemTemplate let-item>\r\n <div class=\"item\">\r\n <span>{{item.title}}</span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #notFoundTemplate>\r\n <div>{{'correspondence-relation.notfound' | translate}}</div>\r\n </ng-template>\r\n</div>", styles: [".select-label{color:#8f98aa;font-size:12px;margin-bottom:0}.autocomplete-container .suggestions-container ul{max-height:150px!important}.autocomplete-container .suggestions-container .is-visible{height:150px!important;max-height:150px!important;border:1px lightgray solid!important;box-shadow:none!important}.autocomplete-container{box-shadow:none!important}.autocomplete-container .input-container input{background-color:#8f98aa1a!important;padding:10px!important;border:1px solid #ccc!important;border-radius:5px!important}.autocomplete-container .suggestions-container .complete-selected,.autocomplete-container .suggestions-container ul li:hover{background-color:#f5faff!important}.autocomplete-container .suggestions-container ul li{padding:8px 10px!important}[dir=rtl] .input-container input{direction:rtl}[dir=rtl] .x{left:10px;right:auto!important}\n"] }]
9677
+ }], ctorParameters: () => [{ type: CorrespondenceRelationService }, { type: i2$2.NgControl, decorators: [{
9678
+ type: Self
9679
+ }, {
9680
+ type: Optional
9681
+ }] }], propDecorators: { searchautocomplete: [{
9682
+ type: ViewChild,
9683
+ args: [SearchAutocompleteComponent]
9684
+ }], auto: [{
9685
+ type: ViewChild,
9686
+ args: ['auto']
9687
+ }], placeholder: [{
9688
+ type: Input
9689
+ }], label: [{
9690
+ type: Input
9691
+ }], correspondanceId: [{
9692
+ type: Input
9693
+ }], direction: [{
9694
+ type: Input
9695
+ }], onSelecting: [{
9696
+ type: Output
9697
+ }] } });
9698
+
9943
9699
  class BaseNgbDatePicker extends DestroySubject {
9944
9700
  constructor(calendar, formatter) {
9945
9701
  // this.selectedDate.from = calendar.getToday();
@@ -10058,7 +9814,7 @@ class BaseNgbDatePicker extends DestroySubject {
10058
9814
  }
10059
9815
  listenToEnteredDate() {
10060
9816
  this.dateControl.valueChanges
10061
- .pipe(skip(1), takeUntil(this.destroy$), distinctUntilChanged(), debounceTime$1(500))
9817
+ .pipe(skip(1), takeUntil(this.destroy$), distinctUntilChanged(), debounceTime(500))
10062
9818
  .subscribe((res) => {
10063
9819
  this.selectedDateChange.emit(this.selectedDate);
10064
9820
  });
@@ -10633,511 +10389,99 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
10633
10389
  }]
10634
10390
  }] });
10635
10391
 
10636
- class DepartmentConstants {
10637
- static { this.fields = {
10638
- title: 'dc:title',
10639
- description: 'dc:description',
10640
- agencyCode: 'dept:agencyCode',
10641
- arabicName: 'dept:arabicName',
10642
- englishName: 'dept:englishName',
10643
- deptTypee: 'dept:deptTypee',
10644
- isAllowRecExternal: 'dept:isAllowRecExternal',
10645
- manager: 'dept:manager',
10646
- }; }
10392
+ function transformKeyToObject(key, value) {
10393
+ const objectLevels = key.split('.').reverse();
10394
+ return objectLevels.reduce((previousValue, currentValue) => {
10395
+ return { [currentValue]: previousValue };
10396
+ }, value);
10647
10397
  }
10648
-
10649
- const departmentCacheBuster$ = new Subject();
10650
- const minute$1 = 60000;
10651
- /** @ignore */
10652
- class DepartmentApiService {
10653
- get tenantEnabled() {
10654
- return EnvManager.environment.enableTenant == "YES";
10398
+ class DynamicFormUpdateService {
10399
+ constructor(callApi) {
10400
+ this.callApi = callApi;
10401
+ this.itemUpdated$ = new Subject();
10402
+ this.itemClicked$ = new Subject();
10403
+ this.validate$ = new Subject();
10655
10404
  }
10656
- constructor(CallApiService, translation, nuxeoService, adapter, globalAdminService, environment) {
10657
- this.CallApiService = CallApiService;
10658
- this.translation = translation;
10659
- this.nuxeoService = nuxeoService;
10660
- this.adapter = adapter;
10661
- this.globalAdminService = globalAdminService;
10662
- this.environment = environment;
10663
- this.translation.isArabic.subscribe((res) => {
10664
- this.arabic = res;
10405
+ update(property, newValue) {
10406
+ this.itemUpdated$.next({
10407
+ target: property,
10408
+ changed: transformKeyToObject(property.key, newValue)
10409
+ });
10410
+ this.validate$.next({
10411
+ target: property,
10412
+ changed: newValue
10665
10413
  });
10666
10414
  }
10667
- getDepartmentTree(customPageProvider, customParams) {
10668
- let obj = customParams ? customParams : {};
10669
- let params = {
10670
- pageProvider: customPageProvider ? customPageProvider : "PP_Department",
10671
- currentPageIndex: 0,
10672
- offset: 0,
10673
- pageSize: 40,
10674
- quickFilters: "Parent Dept",
10675
- ...obj,
10676
- };
10677
- if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
10678
- params["queryParams"] = this.globalAdminService.activeTenant;
10679
- }
10680
- else if (!this.globalAdminService.isGlobalAdmin &&
10681
- this.tenantEnabled &&
10682
- this.nuxeoService.nuxeoClient.user.properties.tenantId) {
10683
- params["queryParams"] =
10684
- this.nuxeoService.nuxeoClient.user.properties.tenantId;
10685
- }
10686
- return this.CallApiService.query({
10687
- ...params,
10688
- }, {
10689
- headers: {
10690
- "X-NXproperties": "*",
10691
- "enrichers-document": "children",
10692
- depth: "max",
10693
- },
10415
+ validate(property, newValue) {
10416
+ this.validate$.next({
10417
+ target: property,
10418
+ changed: newValue
10694
10419
  });
10695
10420
  }
10696
- getDepartmentDetails(code, customPageProvider) {
10697
- let params = {
10698
- pageProvider: customPageProvider
10699
- ? customPageProvider
10700
- : "PP_Department_With_ElasticSearch",
10701
- currentPageIndex: 0,
10702
- offset: 0,
10703
- pageSize: 40,
10704
- dublincore_title: code,
10705
- };
10706
- if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
10707
- params["queryParams"] = this.globalAdminService.activeTenant;
10708
- }
10709
- else if (!this.globalAdminService.isGlobalAdmin &&
10710
- this.tenantEnabled &&
10711
- this.nuxeoService.nuxeoClient.user.properties.tenantId) {
10712
- params["queryParams"] =
10713
- this.nuxeoService.nuxeoClient.user.properties.tenantId;
10714
- }
10715
- return this.CallApiService.query({
10716
- ...params,
10717
- }, {
10718
- headers: {
10719
- "X-NXproperties": "*",
10720
- "enrichers-document": "children",
10721
- depth: "max",
10722
- },
10421
+ clicked(property) {
10422
+ this.itemClicked$.next({
10423
+ target: property
10723
10424
  });
10724
10425
  }
10725
- getDepartmentNestedTree(code, customPageProvider, customParentCodeProperty) {
10726
- let params = {};
10727
- customParentCodeProperty
10728
- ? (params[customParentCodeProperty] = code)
10729
- : (params = { department_parentDepartmentCode: code });
10730
- if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
10731
- params["queryParams"] = this.globalAdminService.activeTenant;
10732
- }
10733
- else if (!this.globalAdminService.isGlobalAdmin &&
10734
- this.tenantEnabled &&
10735
- this.nuxeoService.nuxeoClient.user.properties.tenantId) {
10736
- params["queryParams"] =
10737
- this.nuxeoService.nuxeoClient.user.properties.tenantId;
10738
- }
10739
- return this.CallApiService.query({
10740
- pageProvider: customPageProvider ? customPageProvider : "PP_Department",
10741
- currentPageIndex: 0,
10742
- offset: 0,
10743
- pageSize: 40,
10426
+ getTextBoxSuggestionResults(pageProvider, params, key, autoCompleteValueKey, customProperties) {
10427
+ return this.callApi
10428
+ .query({
10429
+ pageProvider: pageProvider,
10744
10430
  ...params,
10745
10431
  }, {
10746
10432
  headers: {
10747
- "X-NXproperties": "*",
10748
- "enrichers-document": "children",
10749
- depth: "max",
10433
+ "X-NXproperties": customProperties,
10750
10434
  },
10751
- });
10752
- }
10753
- getDepartment(uid, fields) {
10754
- return from(this.nuxeoService.nuxeoClient
10755
- .repository()
10756
- .headers({
10757
- "X-NXproperties": "*",
10758
10435
  })
10759
- .fetch(uid)).pipe(map((data) => {
10760
- return this.adapter.adaptIn(data, fields ? fields : DepartmentConstants.fields);
10436
+ .pipe(map((data) => {
10437
+ let results = [];
10438
+ if (pageProvider == "PP_Correspondence_RelationSeach") {
10439
+ data.entries.map((item) => {
10440
+ results.push({
10441
+ // title: item.title,
10442
+ title: item.properties["corr:referenceNumber"] !== null ? item.properties["corr:referenceNumber"] + " - " + item.properties["corr:subject"] : item.properties["corr:subject"],
10443
+ id: item.uid,
10444
+ filter: item.title,
10445
+ number: item.properties["corr:referenceNumber"],
10446
+ subject: item.properties["corr:subject"]
10447
+ });
10448
+ });
10449
+ }
10450
+ else {
10451
+ let myInternalResult = data.aggregations[autoCompleteValueKey];
10452
+ myInternalResult.buckets.map((item) => {
10453
+ results.push({
10454
+ title: item.key
10455
+ });
10456
+ });
10457
+ }
10458
+ return results;
10761
10459
  }), catchError((err) => {
10762
10460
  throw err;
10763
10461
  }));
10764
10462
  }
10765
- // testing
10766
- createDepartment(Department, parentId, customOperation, fields) {
10767
- let context = {
10768
- department: this.adapter.adaptOut(Department, fields ? fields : DepartmentConstants.fields),
10769
- };
10770
- if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
10771
- context["tenantId"] = this.globalAdminService.activeTenant;
10772
- }
10773
- return from(this.nuxeoService.nuxeoClient
10774
- .operation(customOperation ? customOperation : "AC_UA_Depatrment_Create", {
10775
- url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
10776
- })
10777
- .input(parentId)
10778
- .context({
10779
- ...context,
10780
- })
10781
- .execute()).pipe(catchError((err) => {
10782
- console.log(err);
10783
- throw err;
10784
- }));
10785
- }
10786
- createDepartmentInRoot(Department, customOperation) {
10787
- let context = {
10788
- department: this.adapter.adaptOut(Department, DepartmentConstants.fields),
10789
- };
10790
- if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
10791
- context["tenantId"] = this.globalAdminService.activeTenant;
10792
- }
10793
- return from(this.nuxeoService.nuxeoClient
10794
- .operation(customOperation ? customOperation : "AC_UA_Depatrment_Create_InRoot", {
10795
- url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
10796
- })
10797
- .context({
10798
- ...context,
10799
- })
10800
- .execute()).pipe(catchError((err) => {
10801
- console.log(err);
10802
- throw err;
10803
- }));
10804
- }
10805
- updateDepartment(Department, departmentId, customOperation, fields) {
10806
- let context = {
10807
- department: this.adapter.adaptOut(Department, fields ? fields : DepartmentConstants.fields),
10808
- };
10809
- if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
10810
- context["tenantId"] = this.globalAdminService.activeTenant;
10811
- }
10812
- return from(this.nuxeoService.nuxeoClient
10813
- .operation(customOperation ? customOperation : "AC_UA_Department_Update", {
10814
- url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
10815
- })
10816
- .input(departmentId)
10817
- .context({
10818
- ...context,
10819
- })
10820
- .execute()).pipe(catchError((err) => {
10821
- console.log(err);
10822
- throw err;
10823
- }));
10824
- }
10825
- recursiveFill(entries, level = 0, treeview = true, collapsed = true, customPrefix) {
10826
- return entries.map((item) => {
10827
- let treeViewObj = treeview
10828
- ? {
10829
- text: this.arabic
10830
- ? item.properties
10831
- ? item.properties[customPrefix
10832
- ? customPrefix + ":arabicName"
10833
- : "dept:arabicName"]
10834
- : "--"
10835
- : item.properties
10836
- ? item.properties[customPrefix
10837
- ? customPrefix + ":englishName"
10838
- : "dept:englishName"]
10839
- : "--",
10840
- value: { ...item, level },
10841
- }
10842
- : {
10843
- text: this.arabic
10844
- ? item.properties
10845
- ? item.properties[customPrefix
10846
- ? customPrefix + ":arabicName"
10847
- : "dept:arabicName"]
10848
- : "--"
10849
- : item.properties
10850
- ? item.properties[customPrefix
10851
- ? customPrefix + ":englishName"
10852
- : "dept:englishName"]
10853
- : "--",
10854
- value: item.title,
10855
- };
10856
- const treeItem = new TreeviewItem({
10857
- ...treeViewObj,
10858
- collapsed: level >= 2 && collapsed ? true : false,
10859
- });
10860
- if (item.contextParameters &&
10861
- item.contextParameters.children.entries.length) {
10862
- treeItem.children = this.recursiveFill(item.contextParameters.children.entries, level + 1, undefined, undefined, customPrefix);
10863
- }
10864
- return treeItem;
10865
- });
10866
- }
10867
- getFullDepartmentTree(customPageProvider, customParams, childrenOfSpecificDep) {
10868
- let obj = customParams ? customParams : {};
10869
- let params = {
10870
- pageProvider: customPageProvider ? customPageProvider : "PP_Department",
10871
- currentPageIndex: 0,
10872
- offset: 0,
10873
- pageSize: 40,
10874
- // quickFilters: 'Parent Dept',
10875
- ...obj,
10876
- };
10877
- if (childrenOfSpecificDep !== null) {
10878
- params["dublincore_title"] = childrenOfSpecificDep;
10879
- }
10880
- else {
10881
- params["quickFilters"] = "Parent Dept";
10882
- }
10883
- if (this.globalAdminService.isGlobalAdmin) {
10884
- params["queryParams"] = this.globalAdminService.activeTenant;
10885
- }
10886
- else if (!this.globalAdminService.isGlobalAdmin &&
10887
- this.nuxeoService.nuxeoClient.user.properties.tenantId) {
10888
- params["queryParams"] =
10889
- this.nuxeoService.nuxeoClient.user.properties.tenantId;
10890
- }
10891
- return this.CallApiService.query({
10892
- ...params,
10893
- }, {
10894
- headers: {
10895
- "X-NXproperties": "*",
10896
- "enrichers-document": "children",
10897
- depth: "max",
10898
- },
10899
- });
10900
- }
10901
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentApiService, deps: [{ token: CallApiService }, { token: TranslationService }, { token: NuxeoService }, { token: AdapterService }, { token: GlobalAdminService }, { token: "environment" }], target: i0.ɵɵFactoryTarget.Injectable }); }
10902
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentApiService, providedIn: "root" }); }
10463
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormUpdateService, deps: [{ token: CallApiService }], target: i0.ɵɵFactoryTarget.Injectable }); }
10464
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormUpdateService, providedIn: 'root' }); }
10903
10465
  }
10904
- __decorate([
10905
- Cacheable({
10906
- cacheBusterObserver: departmentCacheBuster$,
10907
- storageStrategy: LocalStorageStrategy,
10908
- maxAge: 60 * minute$1,
10909
- })
10910
- ], DepartmentApiService.prototype, "getDepartmentTree", null);
10911
- __decorate([
10912
- Cacheable({
10913
- maxCacheCount: 200,
10914
- storageStrategy: LocalStorageStrategy,
10915
- cacheBusterObserver: departmentCacheBuster$,
10916
- maxAge: 120 * minute$1,
10917
- })
10918
- ], DepartmentApiService.prototype, "getDepartmentDetails", null);
10919
- __decorate([
10920
- Cacheable({
10921
- maxCacheCount: 200,
10922
- cacheBusterObserver: departmentCacheBuster$,
10923
- storageStrategy: LocalStorageStrategy,
10924
- maxAge: 60 * minute$1,
10925
- })
10926
- ], DepartmentApiService.prototype, "getDepartmentNestedTree", null);
10927
- __decorate([
10928
- CacheBuster({
10929
- cacheBusterNotifier: departmentCacheBuster$,
10930
- })
10931
- ], DepartmentApiService.prototype, "createDepartment", null);
10932
- __decorate([
10933
- CacheBuster({
10934
- cacheBusterNotifier: departmentCacheBuster$,
10935
- })
10936
- ], DepartmentApiService.prototype, "createDepartmentInRoot", null);
10937
- __decorate([
10938
- CacheBuster({
10939
- cacheBusterNotifier: departmentCacheBuster$,
10940
- })
10941
- ], DepartmentApiService.prototype, "updateDepartment", null);
10942
- __decorate([
10943
- Cacheable({
10944
- cacheBusterObserver: departmentCacheBuster$,
10945
- storageStrategy: LocalStorageStrategy,
10946
- })
10947
- ], DepartmentApiService.prototype, "getFullDepartmentTree", null);
10948
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentApiService, decorators: [{
10466
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormUpdateService, decorators: [{
10949
10467
  type: Injectable,
10950
10468
  args: [{
10951
- providedIn: "root",
10469
+ providedIn: 'root'
10952
10470
  }]
10953
- }], ctorParameters: () => [{ type: CallApiService }, { type: TranslationService }, { type: NuxeoService }, { type: AdapterService }, { type: GlobalAdminService }, { type: undefined, decorators: [{
10954
- type: Inject,
10955
- args: ["environment"]
10956
- }] }], propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [], getFullDepartmentTree: [] } });
10471
+ }], ctorParameters: () => [{ type: CallApiService }] });
10957
10472
 
10958
- /**
10959
- * A toggle input that can be used inside reactive or template driven forms
10960
- * @title
10961
- * Sliding Toggle
10962
- * @example
10963
- * <cts-dynamic-form-slide-toggleitem
10964
- * [label]="'PATH.TO.LABEL.TRANSLATION'"
10965
- * formControlName="controlname"
10966
- * >
10967
- * </cts-dynamic-form-slide-toggleitem>
10968
- */
10969
- class DynamicFormSlideToggleitemComponent {
10970
- constructor(control) {
10971
- this.control = control;
10972
- /** is disabled */
10973
- this.disabled = false;
10974
- /** is checked */
10975
- this.checked = false;
10976
- /** event to emit to outside to tell about toggling */
10977
- this.onToggle = new EventEmitter();
10978
- this.onChange = () => { };
10979
- this.onTouched = () => { };
10980
- this.control.valueAccessor = this;
10981
- }
10982
- writeValue(obj) {
10983
- this.value = obj;
10984
- }
10985
- registerOnChange(fn) {
10986
- this.onChange = fn;
10473
+ /** @ignore */
10474
+ class DynamicFormBoolItemComponent {
10475
+ constructor(dynamicFormUpdateService, translate) {
10476
+ this.dynamicFormUpdateService = dynamicFormUpdateService;
10477
+ this.translate = translate;
10987
10478
  }
10988
- registerOnTouched(fn) {
10989
- this.onTouched = fn;
10479
+ isEditable() {
10480
+ return this.editable && this.property.editable;
10990
10481
  }
10991
- setDisabledState(isDisabled) {
10992
- this.disabled = isDisabled;
10993
- }
10994
- isRequired() {
10995
- if (!this.control.control.validator) {
10996
- return false;
10997
- }
10998
- const validator = this.control.control.validator({});
10999
- return validator && validator.required;
11000
- }
11001
- setValue(event) {
11002
- this.onChange(event.checked);
11003
- this.onToggle.emit();
11004
- }
11005
- ngOnInit() { }
11006
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormSlideToggleitemComponent, deps: [{ token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
11007
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormSlideToggleitemComponent, isStandalone: false, selector: "cts-dynamic-form-slide-toggleitem", inputs: { label: "label", disabled: "disabled", checked: "checked", theme: "theme" }, outputs: { onToggle: "onToggle" }, ngImport: i0, template: "<div class=\"dynamic-toggle\">\r\n <mat-slide-toggle\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n (change)=\"setValue($event)\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\"\r\n >*</span\r\n ></mat-slide-toggle\r\n >\r\n</div>\r\n<!-- [required]=\"isRequired()\" -->\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.dynamic-toggle .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:transparent;background-image:linear-gradient(to right,#0dbab5,#1a96c6);margin:0 10px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#fff}.rtl .mat-slide-toggle-label-before .mat-slide-toggle-bar,.rtl .mat-slide-toggle-bar{margin-left:8px;margin-right:0!important}\n"], dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$a.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
11008
- }
11009
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormSlideToggleitemComponent, decorators: [{
11010
- type: Component,
11011
- args: [{ selector: 'cts-dynamic-form-slide-toggleitem', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"dynamic-toggle\">\r\n <mat-slide-toggle\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n (change)=\"setValue($event)\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\"\r\n >*</span\r\n ></mat-slide-toggle\r\n >\r\n</div>\r\n<!-- [required]=\"isRequired()\" -->\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.dynamic-toggle .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:transparent;background-image:linear-gradient(to right,#0dbab5,#1a96c6);margin:0 10px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#fff}.rtl .mat-slide-toggle-label-before .mat-slide-toggle-bar,.rtl .mat-slide-toggle-bar{margin-left:8px;margin-right:0!important}\n"] }]
11012
- }], ctorParameters: () => [{ type: i2$2.NgControl, decorators: [{
11013
- type: Self
11014
- }, {
11015
- type: Optional
11016
- }] }], propDecorators: { label: [{
11017
- type: Input
11018
- }], disabled: [{
11019
- type: Input
11020
- }], checked: [{
11021
- type: Input
11022
- }], theme: [{
11023
- type: Input
11024
- }], onToggle: [{
11025
- type: Output
11026
- }] } });
11027
-
11028
- class DepartmentFormComponent extends BaseDialogComponent {
11029
- constructor(data, dialogRef, toastr, departmentManagementService, injector) {
11030
- super(injector);
11031
- this.data = data;
11032
- this.dialogRef = dialogRef;
11033
- this.toastr = toastr;
11034
- this.departmentManagementService = departmentManagementService;
11035
- this.updateMode = false;
11036
- this.departmentForm = new UntypedFormGroup({
11037
- title: new UntypedFormControl(null, [Validators.required, Validators.pattern(new RegExp('^\\S*$'))]),
11038
- agencyCode: new UntypedFormControl('tdf', Validators.required),
11039
- arabicName: new UntypedFormControl(null, Validators.required),
11040
- englishName: new UntypedFormControl(null, Validators.required),
11041
- deptTypee: this.data.displayDepTypee
11042
- ? new UntypedFormControl(null, Validators.required)
11043
- : new UntypedFormControl(null),
11044
- description: new UntypedFormControl(null),
11045
- isAllowRecExternal: new UntypedFormControl(false)
11046
- // manager: new FormControl(null),
11047
- });
11048
- }
11049
- ngOnInit() {
11050
- this.depId = this.data.depId;
11051
- this.updateMode = this.data.updateMode;
11052
- this.depCode = this.data.depCode;
11053
- this.item = this.data.item;
11054
- if (this.updateMode) {
11055
- this.getDepartment();
11056
- }
11057
- }
11058
- filterNullValues(formValue) {
11059
- const filtered = {};
11060
- for (let key in formValue) {
11061
- if (formValue[key]) {
11062
- filtered[key] = formValue[key];
11063
- }
11064
- }
11065
- return filtered;
11066
- }
11067
- save() {
11068
- this.loading = true;
11069
- const depObj = this.filterNullValues(this.departmentForm.value);
11070
- if (this.depId === 'root') {
11071
- this.departmentManagementService.createDepartmentInRoot(depObj).subscribe((res) => {
11072
- this.loading = false;
11073
- this.dialogRef.close(true);
11074
- this.toastr.show('success', 'success', 'success');
11075
- }, (err) => {
11076
- this.loading = false;
11077
- this.dialogRef.close(false);
11078
- this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
11079
- });
11080
- }
11081
- else {
11082
- this.departmentManagementService.createDepartment(depObj, this.depId).subscribe((res) => {
11083
- this.loading = false;
11084
- this.dialogRef.close(true);
11085
- this.toastr.show('success', 'success', 'success');
11086
- }, (err) => {
11087
- this.loading = false;
11088
- this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
11089
- });
11090
- }
11091
- }
11092
- departmentFormPopulate(department) {
11093
- this.departmentForm.patchValue({
11094
- title: department.title,
11095
- arabicName: department.arabicName,
11096
- englishName: department.englishName,
11097
- deptTypee: department.deptTypee,
11098
- description: department.description,
11099
- isAllowRecExternal: department.isAllowRecExternal
11100
- });
11101
- }
11102
- getDepartment() {
11103
- this.departmentManagementService.getDepartment(this.depId).subscribe((res) => {
11104
- this.departmentFormPopulate(res.properties);
11105
- });
11106
- }
11107
- update() {
11108
- this.loading = true;
11109
- this.departmentManagementService.updateDepartment(this.departmentForm.value, this.depId).subscribe((res) => {
11110
- this.loading = false;
11111
- this.dialogRef.close(true);
11112
- this.toastr.show('success', 'success', 'success');
11113
- }, (err) => {
11114
- this.loading = false;
11115
- this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
11116
- });
11117
- }
11118
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentFormComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$6.MatDialogRef }, { token: CustomToastrService }, { token: DepartmentApiService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
11119
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DepartmentFormComponent, isStandalone: false, selector: "cts-department-form", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog\r\n\tdialogTitle=\"{{\r\n\t\t'department_management.form.' + (updateMode ? 'updateHeader' : 'header')\r\n\t\t\t| translate\r\n\t}}\"\r\n\tpanelClass=\"voc-form\"\r\n>\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n\t\t\t<div class=\"col-lg-6 col-12\">\r\n\t\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\t\tformControlName=\"title\"\r\n\t\t\t\t\t[label]=\"'department_management.form.title'\"\r\n\t\t\t\t\t[disabled]=\"updateMode\"\r\n\t\t\t\t\t[preventSpace]=\"true\"\r\n\t\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t\t<div class=\"hint-msg\">\r\n\t\t\t\t\t{{ 'department_management.form.hintMsg' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"arabicName\"\r\n\t\t\t\t[label]=\"'department_management.form.ArabicName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"englishName\"\r\n\t\t\t\t[label]=\"'department_management.form.EnglishName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t*ngIf=\"data.displayDepTypee\"\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\t[label]=\"'department_management.form.deptTypee'\"\r\n\t\t\t\t[bindLabel]=\"'label'\"\r\n\t\t\t\t[bindValue]=\"'id'\"\r\n\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t\t[closeOnSelect]=\"true\"\r\n\t\t\t\t[hideSelectedItems]=\"false\"\r\n\t\t\t\t[vocabularyType]=\"'VOC_DepartmentType'\"\r\n\t\t\t\tformControlName=\"deptTypee\"\r\n\t\t\t>\r\n\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"description\"\r\n\t\t\t\t[label]=\"'department_management.form.Description'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\r\n\t\t\t<cts-dynamic-form-slide-toggleitem\r\n\t\t\t\t*ngIf=\"data.displayIsAllowRecExternal\"\r\n\t\t\t\tclass=\"col-lg-6 col-12 isAllowRecExternal\"\r\n\t\t\t\tformControlName=\"isAllowRecExternal\"\r\n\t\t\t\t[label]=\"'department_management.form.isAllowRecExternal'\"\r\n\t\t\t></cts-dynamic-form-slide-toggleitem>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t[disabled]=\"\r\n\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\tfileForm.invalid\r\n\t\t\t\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'opacity-30 cursor-not-allowed':\r\n\t\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\t\tfileForm.invalid\r\n\t\t\t}\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{\r\n\t\t\t\tuploadMangmentService?.scanCreationFailed\r\n\t\t\t\t\t? ('BUTTONS.TRY_AGAIN' | translate)\r\n\t\t\t\t\t: ('BUTTONS.CREATE' | translate)\r\n\t\t\t}}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"!updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(save)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.SAVE' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(update)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.UPDATE' | translate }}\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"], dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { kind: "component", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { kind: "component", type: DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }, { kind: "component", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["id", "onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
11120
- }
11121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentFormComponent, decorators: [{
11122
- type: Component,
11123
- args: [{ selector: 'cts-department-form', standalone: false, template: "<ndf-nuxeo-dialog\r\n\tdialogTitle=\"{{\r\n\t\t'department_management.form.' + (updateMode ? 'updateHeader' : 'header')\r\n\t\t\t| translate\r\n\t}}\"\r\n\tpanelClass=\"voc-form\"\r\n>\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n\t\t\t<div class=\"col-lg-6 col-12\">\r\n\t\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\t\tformControlName=\"title\"\r\n\t\t\t\t\t[label]=\"'department_management.form.title'\"\r\n\t\t\t\t\t[disabled]=\"updateMode\"\r\n\t\t\t\t\t[preventSpace]=\"true\"\r\n\t\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t\t<div class=\"hint-msg\">\r\n\t\t\t\t\t{{ 'department_management.form.hintMsg' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"arabicName\"\r\n\t\t\t\t[label]=\"'department_management.form.ArabicName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"englishName\"\r\n\t\t\t\t[label]=\"'department_management.form.EnglishName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t*ngIf=\"data.displayDepTypee\"\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\t[label]=\"'department_management.form.deptTypee'\"\r\n\t\t\t\t[bindLabel]=\"'label'\"\r\n\t\t\t\t[bindValue]=\"'id'\"\r\n\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t\t[closeOnSelect]=\"true\"\r\n\t\t\t\t[hideSelectedItems]=\"false\"\r\n\t\t\t\t[vocabularyType]=\"'VOC_DepartmentType'\"\r\n\t\t\t\tformControlName=\"deptTypee\"\r\n\t\t\t>\r\n\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"description\"\r\n\t\t\t\t[label]=\"'department_management.form.Description'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\r\n\t\t\t<cts-dynamic-form-slide-toggleitem\r\n\t\t\t\t*ngIf=\"data.displayIsAllowRecExternal\"\r\n\t\t\t\tclass=\"col-lg-6 col-12 isAllowRecExternal\"\r\n\t\t\t\tformControlName=\"isAllowRecExternal\"\r\n\t\t\t\t[label]=\"'department_management.form.isAllowRecExternal'\"\r\n\t\t\t></cts-dynamic-form-slide-toggleitem>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t[disabled]=\"\r\n\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\tfileForm.invalid\r\n\t\t\t\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'opacity-30 cursor-not-allowed':\r\n\t\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\t\tfileForm.invalid\r\n\t\t\t}\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{\r\n\t\t\t\tuploadMangmentService?.scanCreationFailed\r\n\t\t\t\t\t? ('BUTTONS.TRY_AGAIN' | translate)\r\n\t\t\t\t\t: ('BUTTONS.CREATE' | translate)\r\n\t\t\t}}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"!updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(save)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.SAVE' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(update)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.UPDATE' | translate }}\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"] }]
11124
- }], ctorParameters: () => [{ type: undefined, decorators: [{
11125
- type: Inject,
11126
- args: [MAT_DIALOG_DATA]
11127
- }] }, { type: i1$6.MatDialogRef }, { type: CustomToastrService }, { type: DepartmentApiService }, { type: i0.Injector }] });
11128
-
11129
- /** @ignore */
11130
- class DynamicFormBoolItemComponent {
11131
- constructor(dynamicFormUpdateService, translate) {
11132
- this.dynamicFormUpdateService = dynamicFormUpdateService;
11133
- this.translate = translate;
11134
- }
11135
- isEditable() {
11136
- return this.editable && this.property.editable;
11137
- }
11138
- changed(change) {
11139
- //this.dynamicFormUpdateService.update(this.property, change.checked);
11140
- //this.property.value = change.checked;
10482
+ changed(change) {
10483
+ //this.dynamicFormUpdateService.update(this.property, change.checked);
10484
+ //this.property.value = change.checked;
11141
10485
  }
11142
10486
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormBoolItemComponent, deps: [{ token: DynamicFormUpdateService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
11143
10487
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormBoolItemComponent, isStandalone: false, selector: "app-dynamic-form-boolitem", inputs: { property: "property", editable: "editable" }, ngImport: i0, template: "<ng-container *ngIf=\"!property.isEmpty() || isEditable()\">\r\n <div class=\"row gap\">\r\n\r\n <label class=\"col-sm-3\" for=\"formGroupInputSmall\">{{\r\n property.label | translate\r\n }}<span *ngIf=\"property.mandatory\" class=\"text-danger\">*</span></label>\r\n <div class=\"col-sm-9\">\r\n <mat-checkbox [required]=\"property.mandatory\" [attr.data-automation-id]=\"'card-boolean-' + property.key\"\r\n [attr.title]=\"'CORE.METADATA.ACTIONS.TOGGLE' | translate\" [checked]=\"property.displayValue\"\r\n [disabled]=\"!isEditable()\" (change)=\"changed($event)\">\r\n </mat-checkbox>\r\n </div>\r\n </div>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4$2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
@@ -12396,6 +11740,328 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
12396
11740
  }]
12397
11741
  }], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: UserPreferencesService }, { type: i7.DateTimeAdapter }] });
12398
11742
 
11743
+ class DepartmentConstants {
11744
+ static { this.fields = {
11745
+ title: 'dc:title',
11746
+ description: 'dc:description',
11747
+ agencyCode: 'dept:agencyCode',
11748
+ arabicName: 'dept:arabicName',
11749
+ englishName: 'dept:englishName',
11750
+ deptTypee: 'dept:deptTypee',
11751
+ isAllowRecExternal: 'dept:isAllowRecExternal',
11752
+ manager: 'dept:manager',
11753
+ }; }
11754
+ }
11755
+
11756
+ const departmentCacheBuster$ = new Subject();
11757
+ const minute$1 = 60000;
11758
+ /** @ignore */
11759
+ class DepartmentApiService {
11760
+ get tenantEnabled() {
11761
+ return EnvManager.environment.enableTenant == "YES";
11762
+ }
11763
+ constructor(CallApiService, translation, nuxeoService, adapter, globalAdminService, environment) {
11764
+ this.CallApiService = CallApiService;
11765
+ this.translation = translation;
11766
+ this.nuxeoService = nuxeoService;
11767
+ this.adapter = adapter;
11768
+ this.globalAdminService = globalAdminService;
11769
+ this.environment = environment;
11770
+ this.translation.isArabic.subscribe((res) => {
11771
+ this.arabic = res;
11772
+ });
11773
+ }
11774
+ getDepartmentTree(customPageProvider, customParams) {
11775
+ let obj = customParams ? customParams : {};
11776
+ let params = {
11777
+ pageProvider: customPageProvider ? customPageProvider : "PP_Department",
11778
+ currentPageIndex: 0,
11779
+ offset: 0,
11780
+ pageSize: 40,
11781
+ quickFilters: "Parent Dept",
11782
+ ...obj,
11783
+ };
11784
+ if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
11785
+ params["queryParams"] = this.globalAdminService.activeTenant;
11786
+ }
11787
+ else if (!this.globalAdminService.isGlobalAdmin &&
11788
+ this.tenantEnabled &&
11789
+ this.nuxeoService.nuxeoClient.user.properties.tenantId) {
11790
+ params["queryParams"] =
11791
+ this.nuxeoService.nuxeoClient.user.properties.tenantId;
11792
+ }
11793
+ return this.CallApiService.query({
11794
+ ...params,
11795
+ }, {
11796
+ headers: {
11797
+ "X-NXproperties": "*",
11798
+ "enrichers-document": "children",
11799
+ depth: "max",
11800
+ },
11801
+ });
11802
+ }
11803
+ getDepartmentDetails(code, customPageProvider) {
11804
+ let params = {
11805
+ pageProvider: customPageProvider
11806
+ ? customPageProvider
11807
+ : "PP_Department_With_ElasticSearch",
11808
+ currentPageIndex: 0,
11809
+ offset: 0,
11810
+ pageSize: 40,
11811
+ dublincore_title: code,
11812
+ };
11813
+ if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
11814
+ params["queryParams"] = this.globalAdminService.activeTenant;
11815
+ }
11816
+ else if (!this.globalAdminService.isGlobalAdmin &&
11817
+ this.tenantEnabled &&
11818
+ this.nuxeoService.nuxeoClient.user.properties.tenantId) {
11819
+ params["queryParams"] =
11820
+ this.nuxeoService.nuxeoClient.user.properties.tenantId;
11821
+ }
11822
+ return this.CallApiService.query({
11823
+ ...params,
11824
+ }, {
11825
+ headers: {
11826
+ "X-NXproperties": "*",
11827
+ "enrichers-document": "children",
11828
+ depth: "max",
11829
+ },
11830
+ });
11831
+ }
11832
+ getDepartmentNestedTree(code, customPageProvider, customParentCodeProperty) {
11833
+ let params = {};
11834
+ customParentCodeProperty
11835
+ ? (params[customParentCodeProperty] = code)
11836
+ : (params = { department_parentDepartmentCode: code });
11837
+ if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
11838
+ params["queryParams"] = this.globalAdminService.activeTenant;
11839
+ }
11840
+ else if (!this.globalAdminService.isGlobalAdmin &&
11841
+ this.tenantEnabled &&
11842
+ this.nuxeoService.nuxeoClient.user.properties.tenantId) {
11843
+ params["queryParams"] =
11844
+ this.nuxeoService.nuxeoClient.user.properties.tenantId;
11845
+ }
11846
+ return this.CallApiService.query({
11847
+ pageProvider: customPageProvider ? customPageProvider : "PP_Department",
11848
+ currentPageIndex: 0,
11849
+ offset: 0,
11850
+ pageSize: 40,
11851
+ ...params,
11852
+ }, {
11853
+ headers: {
11854
+ "X-NXproperties": "*",
11855
+ "enrichers-document": "children",
11856
+ depth: "max",
11857
+ },
11858
+ });
11859
+ }
11860
+ getDepartment(uid, fields) {
11861
+ return from(this.nuxeoService.nuxeoClient
11862
+ .repository()
11863
+ .headers({
11864
+ "X-NXproperties": "*",
11865
+ })
11866
+ .fetch(uid)).pipe(map((data) => {
11867
+ return this.adapter.adaptIn(data, fields ? fields : DepartmentConstants.fields);
11868
+ }), catchError((err) => {
11869
+ throw err;
11870
+ }));
11871
+ }
11872
+ // testing
11873
+ createDepartment(Department, parentId, customOperation, fields) {
11874
+ let context = {
11875
+ department: this.adapter.adaptOut(Department, fields ? fields : DepartmentConstants.fields),
11876
+ };
11877
+ if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
11878
+ context["tenantId"] = this.globalAdminService.activeTenant;
11879
+ }
11880
+ return from(this.nuxeoService.nuxeoClient
11881
+ .operation(customOperation ? customOperation : "AC_UA_Depatrment_Create", {
11882
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
11883
+ })
11884
+ .input(parentId)
11885
+ .context({
11886
+ ...context,
11887
+ })
11888
+ .execute()).pipe(catchError((err) => {
11889
+ console.log(err);
11890
+ throw err;
11891
+ }));
11892
+ }
11893
+ createDepartmentInRoot(Department, customOperation) {
11894
+ let context = {
11895
+ department: this.adapter.adaptOut(Department, DepartmentConstants.fields),
11896
+ };
11897
+ if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
11898
+ context["tenantId"] = this.globalAdminService.activeTenant;
11899
+ }
11900
+ return from(this.nuxeoService.nuxeoClient
11901
+ .operation(customOperation ? customOperation : "AC_UA_Depatrment_Create_InRoot", {
11902
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
11903
+ })
11904
+ .context({
11905
+ ...context,
11906
+ })
11907
+ .execute()).pipe(catchError((err) => {
11908
+ console.log(err);
11909
+ throw err;
11910
+ }));
11911
+ }
11912
+ updateDepartment(Department, departmentId, customOperation, fields) {
11913
+ let context = {
11914
+ department: this.adapter.adaptOut(Department, fields ? fields : DepartmentConstants.fields),
11915
+ };
11916
+ if (this.globalAdminService.isGlobalAdmin && this.tenantEnabled) {
11917
+ context["tenantId"] = this.globalAdminService.activeTenant;
11918
+ }
11919
+ return from(this.nuxeoService.nuxeoClient
11920
+ .operation(customOperation ? customOperation : "AC_UA_Department_Update", {
11921
+ url: `${this.environment.nuxeo}${this.environment.customAutomation}`,
11922
+ })
11923
+ .input(departmentId)
11924
+ .context({
11925
+ ...context,
11926
+ })
11927
+ .execute()).pipe(catchError((err) => {
11928
+ console.log(err);
11929
+ throw err;
11930
+ }));
11931
+ }
11932
+ recursiveFill(entries, level = 0, treeview = true, collapsed = true, customPrefix) {
11933
+ return entries.map((item) => {
11934
+ let treeViewObj = treeview
11935
+ ? {
11936
+ text: this.arabic
11937
+ ? item.properties
11938
+ ? item.properties[customPrefix
11939
+ ? customPrefix + ":arabicName"
11940
+ : "dept:arabicName"]
11941
+ : "--"
11942
+ : item.properties
11943
+ ? item.properties[customPrefix
11944
+ ? customPrefix + ":englishName"
11945
+ : "dept:englishName"]
11946
+ : "--",
11947
+ value: { ...item, level },
11948
+ }
11949
+ : {
11950
+ text: this.arabic
11951
+ ? item.properties
11952
+ ? item.properties[customPrefix
11953
+ ? customPrefix + ":arabicName"
11954
+ : "dept:arabicName"]
11955
+ : "--"
11956
+ : item.properties
11957
+ ? item.properties[customPrefix
11958
+ ? customPrefix + ":englishName"
11959
+ : "dept:englishName"]
11960
+ : "--",
11961
+ value: item.title,
11962
+ };
11963
+ const treeItem = new TreeviewItem({
11964
+ ...treeViewObj,
11965
+ collapsed: level >= 2 && collapsed ? true : false,
11966
+ });
11967
+ if (item.contextParameters &&
11968
+ item.contextParameters.children.entries.length) {
11969
+ treeItem.children = this.recursiveFill(item.contextParameters.children.entries, level + 1, undefined, undefined, customPrefix);
11970
+ }
11971
+ return treeItem;
11972
+ });
11973
+ }
11974
+ getFullDepartmentTree(customPageProvider, customParams, childrenOfSpecificDep) {
11975
+ let obj = customParams ? customParams : {};
11976
+ let params = {
11977
+ pageProvider: customPageProvider ? customPageProvider : "PP_Department",
11978
+ currentPageIndex: 0,
11979
+ offset: 0,
11980
+ pageSize: 40,
11981
+ // quickFilters: 'Parent Dept',
11982
+ ...obj,
11983
+ };
11984
+ if (childrenOfSpecificDep !== null) {
11985
+ params["dublincore_title"] = childrenOfSpecificDep;
11986
+ }
11987
+ else {
11988
+ params["quickFilters"] = "Parent Dept";
11989
+ }
11990
+ if (this.globalAdminService.isGlobalAdmin) {
11991
+ params["queryParams"] = this.globalAdminService.activeTenant;
11992
+ }
11993
+ else if (!this.globalAdminService.isGlobalAdmin &&
11994
+ this.nuxeoService.nuxeoClient.user.properties.tenantId) {
11995
+ params["queryParams"] =
11996
+ this.nuxeoService.nuxeoClient.user.properties.tenantId;
11997
+ }
11998
+ return this.CallApiService.query({
11999
+ ...params,
12000
+ }, {
12001
+ headers: {
12002
+ "X-NXproperties": "*",
12003
+ "enrichers-document": "children",
12004
+ depth: "max",
12005
+ },
12006
+ });
12007
+ }
12008
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentApiService, deps: [{ token: CallApiService }, { token: TranslationService }, { token: NuxeoService }, { token: AdapterService }, { token: GlobalAdminService }, { token: "environment" }], target: i0.ɵɵFactoryTarget.Injectable }); }
12009
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentApiService, providedIn: "root" }); }
12010
+ }
12011
+ __decorate([
12012
+ Cacheable({
12013
+ cacheBusterObserver: departmentCacheBuster$,
12014
+ storageStrategy: LocalStorageStrategy,
12015
+ maxAge: 60 * minute$1,
12016
+ })
12017
+ ], DepartmentApiService.prototype, "getDepartmentTree", null);
12018
+ __decorate([
12019
+ Cacheable({
12020
+ maxCacheCount: 200,
12021
+ storageStrategy: LocalStorageStrategy,
12022
+ cacheBusterObserver: departmentCacheBuster$,
12023
+ maxAge: 120 * minute$1,
12024
+ })
12025
+ ], DepartmentApiService.prototype, "getDepartmentDetails", null);
12026
+ __decorate([
12027
+ Cacheable({
12028
+ maxCacheCount: 200,
12029
+ cacheBusterObserver: departmentCacheBuster$,
12030
+ storageStrategy: LocalStorageStrategy,
12031
+ maxAge: 60 * minute$1,
12032
+ })
12033
+ ], DepartmentApiService.prototype, "getDepartmentNestedTree", null);
12034
+ __decorate([
12035
+ CacheBuster({
12036
+ cacheBusterNotifier: departmentCacheBuster$,
12037
+ })
12038
+ ], DepartmentApiService.prototype, "createDepartment", null);
12039
+ __decorate([
12040
+ CacheBuster({
12041
+ cacheBusterNotifier: departmentCacheBuster$,
12042
+ })
12043
+ ], DepartmentApiService.prototype, "createDepartmentInRoot", null);
12044
+ __decorate([
12045
+ CacheBuster({
12046
+ cacheBusterNotifier: departmentCacheBuster$,
12047
+ })
12048
+ ], DepartmentApiService.prototype, "updateDepartment", null);
12049
+ __decorate([
12050
+ Cacheable({
12051
+ cacheBusterObserver: departmentCacheBuster$,
12052
+ storageStrategy: LocalStorageStrategy,
12053
+ })
12054
+ ], DepartmentApiService.prototype, "getFullDepartmentTree", null);
12055
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentApiService, decorators: [{
12056
+ type: Injectable,
12057
+ args: [{
12058
+ providedIn: "root",
12059
+ }]
12060
+ }], ctorParameters: () => [{ type: CallApiService }, { type: TranslationService }, { type: NuxeoService }, { type: AdapterService }, { type: GlobalAdminService }, { type: undefined, decorators: [{
12061
+ type: Inject,
12062
+ args: ["environment"]
12063
+ }] }], propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [], getFullDepartmentTree: [] } });
12064
+
12399
12065
  /** @ignore */
12400
12066
  class DropdownTreeviewSelectI18n extends DefaultTreeviewI18n {
12401
12067
  #defaultSelection = '';
@@ -12466,6 +12132,497 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
12466
12132
  type: Injectable
12467
12133
  }], ctorParameters: () => [{ type: TranslationService }] });
12468
12134
 
12135
+ /**
12136
+ * A text field input that can be used inside reactive or template driven forms
12137
+ * @title
12138
+ * Text Field
12139
+ * @example
12140
+ * <app-dynamic-form-textitem
12141
+ * [horizontalAlign]="false"
12142
+ * formControlName="controlName"
12143
+ * [placeholder]="'PATH.TO.PLACEHOLDER.STRING'"
12144
+ * ></app-dynamic-form-textitem>
12145
+ */
12146
+ class DynamicFormTextItemComponent {
12147
+ static { this.DEFAULT_SEPARATOR = ', '; }
12148
+ constructor(dynamicFormUpdateService, translate, control) {
12149
+ this.dynamicFormUpdateService = dynamicFormUpdateService;
12150
+ this.translate = translate;
12151
+ this.control = control;
12152
+ this.autoComplete = false; // to get suggestions from backend when user type some letters
12153
+ this.nativeAutoComplete = 'off'; // to get suggestions from browser natively
12154
+ this.autoComplete_pageProvider = '';
12155
+ this.autoComplete_propertyName = '';
12156
+ this.autoComplete_propertyKey = '';
12157
+ this.autoCompleteValueKey = '';
12158
+ this.autoCompleteType = 'percentage';
12159
+ this.emitFullObject = false; // used to control on emiting full selected object or only string
12160
+ this.outsideParams = {}; // object of params to be passed from outside
12161
+ /** input type */
12162
+ this.type = 'text';
12163
+ /** is Editable */
12164
+ this.editable = true;
12165
+ /** Placeholder string */
12166
+ this.placeholder = '';
12167
+ /** is disabled */
12168
+ this.disabled = false;
12169
+ /** @deprecated */
12170
+ this.displayEmpty = true;
12171
+ /** should prevent space */
12172
+ this.preventSpace = false;
12173
+ this.maxCharsNum = null;
12174
+ this.inEdit = false;
12175
+ this.showsuggestedOptions = false;
12176
+ this.onChange = () => { };
12177
+ this.onTouched = () => { };
12178
+ this.documentList = [];
12179
+ this.control.valueAccessor = this;
12180
+ this.valueSeparator = DynamicFormTextItemComponent.DEFAULT_SEPARATOR;
12181
+ }
12182
+ isRequired() {
12183
+ if (!this.control.control.validator) {
12184
+ return false;
12185
+ }
12186
+ const validator = this.control.control.validator({});
12187
+ return validator && validator.required;
12188
+ }
12189
+ writeValue(obj) {
12190
+ this.editedValue = obj;
12191
+ //this.property.value = obj;
12192
+ // throw new Error('Method not implemented.');
12193
+ }
12194
+ get invalid() {
12195
+ return this.control ? this.control.invalid : false;
12196
+ }
12197
+ get showError() {
12198
+ if (!this.control) {
12199
+ return false;
12200
+ }
12201
+ const { dirty, touched } = this.control;
12202
+ return this.invalid ? dirty || touched : false;
12203
+ }
12204
+ registerOnChange(fn) {
12205
+ this.onChange = fn;
12206
+ }
12207
+ registerOnTouched(fn) {
12208
+ this.onTouched = fn;
12209
+ }
12210
+ setDisabledState(isDisabled) {
12211
+ this.disabled = isDisabled;
12212
+ }
12213
+ ngOnChanges() {
12214
+ /*this.editedValue = this.property.multiline
12215
+ ? this.property.displayValue
12216
+ : this.property.value;*/
12217
+ }
12218
+ showProperty() {
12219
+ return this.displayEmpty || !this.property.isEmpty();
12220
+ }
12221
+ showClickableIcon() {
12222
+ return this.hasIcon() && this.editable;
12223
+ }
12224
+ isEditable() {
12225
+ return this.editable;
12226
+ }
12227
+ isClickable() {
12228
+ return !!this.property.clickable;
12229
+ }
12230
+ hasIcon() {
12231
+ return !!this.property.icon;
12232
+ }
12233
+ hasErrors() {
12234
+ return this.showError;
12235
+ }
12236
+ allowSpace(e) {
12237
+ if (this.preventSpace) {
12238
+ e.preventDefault();
12239
+ }
12240
+ }
12241
+ setEditMode(editStatus) {
12242
+ this.inEdit = editStatus;
12243
+ setTimeout(() => {
12244
+ if (this.editorInput) {
12245
+ this.editorInput?.nativeElement?.click();
12246
+ }
12247
+ }, 0);
12248
+ }
12249
+ reset(event) {
12250
+ // event.stopPropagation();
12251
+ /*this.editedValue = this.property.multiline
12252
+ ? this.property.displayValue
12253
+ : this.property.value;*/
12254
+ this.setEditMode(false);
12255
+ this.resetErrorMessages();
12256
+ }
12257
+ resetErrorMessages() {
12258
+ this.errorMessages = [];
12259
+ }
12260
+ update(event) {
12261
+ // event.stopPropagation();
12262
+ const updatedValue = this.prepareValueForUpload(this.property, this.editedValue);
12263
+ // this.property.value = updatedValue;
12264
+ this.onChange(updatedValue);
12265
+ this.onTouched();
12266
+ // this.dynamicFormUpdateService.update(this.property, updatedValue);
12267
+ this.setEditMode(false);
12268
+ this.resetErrorMessages();
12269
+ }
12270
+ prepareValueForUpload(property, value) {
12271
+ return value;
12272
+ }
12273
+ onTextAreaInputChange() {
12274
+ this.errorMessages = this.property.getValidationErrors(this.editedValue);
12275
+ }
12276
+ clicked() {
12277
+ if (typeof this.property.clickCallBack === 'function') {
12278
+ this.property.clickCallBack();
12279
+ }
12280
+ else {
12281
+ this.dynamicFormUpdateService.clicked(this.property);
12282
+ }
12283
+ }
12284
+ selectItem(selectedItem) {
12285
+ if (this.emitFullObject) {
12286
+ this.editedValue = selectedItem;
12287
+ }
12288
+ else {
12289
+ this.editedValue = selectedItem.title;
12290
+ }
12291
+ this.update(null);
12292
+ this.showsuggestedOptions = false;
12293
+ this.documentList = [];
12294
+ }
12295
+ updateValue(value) {
12296
+ if (this.emitFullObject) {
12297
+ if (typeof this.editedValue === 'object' && this.editedValue !== null) {
12298
+ this.editedValue = Object.assign({}, this.editedValue, {
12299
+ title: value
12300
+ });
12301
+ }
12302
+ else {
12303
+ this.editedValue = { title: value };
12304
+ }
12305
+ }
12306
+ else {
12307
+ this.editedValue = value;
12308
+ }
12309
+ }
12310
+ resetSelecting() {
12311
+ if (this.emitFullObject) {
12312
+ this.editedValue = null;
12313
+ }
12314
+ else {
12315
+ this.editedValue = '';
12316
+ }
12317
+ this.update(null);
12318
+ }
12319
+ waitUntilUserFinishTyping() {
12320
+ if (this.delayedAction) {
12321
+ clearTimeout(this.delayedAction);
12322
+ this.delayedAction = setTimeout(() => {
12323
+ this.onSearchInputChange();
12324
+ }, 1500);
12325
+ }
12326
+ else {
12327
+ this.delayedAction = setTimeout(() => {
12328
+ this.onSearchInputChange();
12329
+ }, 1500);
12330
+ }
12331
+ }
12332
+ onSearchInputChange() {
12333
+ if (this.autoComplete) {
12334
+ if (!this.editorInput.nativeElement.value) {
12335
+ this.resetSelecting();
12336
+ }
12337
+ let val = this.editorInput.nativeElement.value;
12338
+ let params = {
12339
+ currentPageIndex: 0,
12340
+ offset: 0,
12341
+ pageSize: 40,
12342
+ pageProvider: this.autoComplete_pageProvider,
12343
+ ...this.outsideParams
12344
+ };
12345
+ // if i was sending tenant id from outside then i am in case of multi tenant then add tenant id to params
12346
+ if (EnvManager.environment.enableTenant == 'YES' && this.tenantId) {
12347
+ params['queryParams'] = `${this.tenantId}`;
12348
+ }
12349
+ // params[this.autoComplete_propertyName] = (val) ? `%${val}%` : '';
12350
+ if (this.autoCompleteType == 'caseSensitive' && val) {
12351
+ let result = this.ToCaseInsensitive(val);
12352
+ params[this.autoComplete_propertyName] = result;
12353
+ }
12354
+ else {
12355
+ if (this.autoCompleteType == 'percentage' && val) {
12356
+ params[this.autoComplete_propertyName] = '%' + val + '%';
12357
+ }
12358
+ else {
12359
+ params[this.autoComplete_propertyName] = '';
12360
+ }
12361
+ }
12362
+ // check if relation then will use entries then fetch only required schemas
12363
+ // and other suggester will use aggregations from response not entries then add page size 0
12364
+ // all this to decrease response size
12365
+ let customProperties = '*';
12366
+ if (this.autoComplete_pageProvider === 'PP_Correspondence_RelationSeach') {
12367
+ customProperties = 'Correspondence';
12368
+ }
12369
+ else {
12370
+ params.pageSize = 1;
12371
+ }
12372
+ this.dynamicFormUpdateService
12373
+ .getTextBoxSuggestionResults(this.autoComplete_pageProvider, params, this.autoComplete_propertyKey, this.autoCompleteValueKey, customProperties)
12374
+ .subscribe((data) => {
12375
+ this.documentList = data.filter((option) => option.title.toLowerCase().includes(val.toLowerCase()));
12376
+ this.showsuggestedOptions = true;
12377
+ return this.documentList;
12378
+ });
12379
+ }
12380
+ }
12381
+ openOptions(value) {
12382
+ if (this.autoComplete) {
12383
+ this.showsuggestedOptions = value;
12384
+ if (!this.documentList.length && value) {
12385
+ this.onSearchInputChange();
12386
+ }
12387
+ }
12388
+ }
12389
+ ToCaseInsensitive(orginalText) {
12390
+ let result = '';
12391
+ let orginalTextLowerCase = orginalText.toLowerCase();
12392
+ for (let i = 0; i < orginalTextLowerCase.length; i++) {
12393
+ if (orginalTextLowerCase.charAt(i) >= 'a' && orginalTextLowerCase.charAt(i) <= 'z')
12394
+ result = result + '[' + orginalTextLowerCase.charAt(i) + orginalTextLowerCase.charAt(i).toUpperCase() + ']';
12395
+ else
12396
+ result = result + orginalText.charAt(i);
12397
+ }
12398
+ return '.*' + result + '.*';
12399
+ }
12400
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormTextItemComponent, deps: [{ token: DynamicFormUpdateService }, { token: i1$1.TranslateService }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
12401
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormTextItemComponent, isStandalone: false, selector: "app-dynamic-form-textitem", inputs: { autoComplete: "autoComplete", nativeAutoComplete: "nativeAutoComplete", autoComplete_pageProvider: "autoComplete_pageProvider", autoComplete_propertyName: "autoComplete_propertyName", autoComplete_propertyKey: "autoComplete_propertyKey", autoCompleteValueKey: "autoCompleteValueKey", autoCompleteType: "autoCompleteType", tenantId: "tenantId", emitFullObject: "emitFullObject", outsideParams: "outsideParams", type: "type", property: "property", label: "label", editable: "editable", placeholder: "placeholder", disabled: "disabled", displayEmpty: "displayEmpty", preventSpace: "preventSpace", id: "id", maxCharsNum: "maxCharsNum" }, viewQueries: [{ propertyName: "editorInput", first: true, predicate: ["editorInput"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"app-property-value\">\r\n\t<div class=\"app-input-wrapper\">\r\n\t\t<label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n\t\t\t>{{ label | translate }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n\t\t>\r\n\t\t<div class=\"\">\r\n\t\t\t<ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\t\t\t\t<div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\t\t[disabled]=\"disabled\"\r\n\t\t\t\t\t\t[type]=\"type\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'input-filled': emitFullObject ? editedValue?.title : editedValue\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(keydown.space)=\"allowSpace($event)\"\r\n\t\t\t\t\t\t#editorInput\r\n\t\t\t\t\t\t[required]=\"isRequired()\"\r\n\t\t\t\t\t\t[ngModel]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n\t\t\t\t\t\t(ngModelChange)=\"updateValue($event); update($event)\"\r\n\t\t\t\t\t\t[autocomplete]=\"nativeAutoComplete\"\r\n\t\t\t\t\t\t(keyup)=\"waitUntilUserFinishTyping()\"\r\n\t\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n\t\t\t\t\t\tplaceholder=\"{{ placeholder | translate }}\"\r\n\t\t\t\t\t\t(focus)=\"openOptions(true)\"\r\n\t\t\t\t\t\tmaxlength=\"{{ maxCharsNum }}\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n\t\t\t\t\t\t<div class=\"suggestions-wrapper\" [ngClass]=\"{ 'd-block': showsuggestedOptions }\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"option\"\r\n\t\t\t\t\t\t\t\tid=\"suggestedoptions\"\r\n\t\t\t\t\t\t\t\t*ngFor=\"let option of documentList\"\r\n\t\t\t\t\t\t\t\t(click)=\"selectItem(option)\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{{ option.title }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<mat-error\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-error-'\"\r\n\t\t\t\t\tclass=\"app-textitem-editable-error\"\r\n\t\t\t\t\t*ngIf=\"hasErrors()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.required\">{{ label | translate }} {{ 'VALIDATORS.REQUIRED' | translate }}</li>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.pattern\">\r\n\t\t\t\t\t\t\t{{ 'wrong pattern' | translate }}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.min\">{{ 'VALIDATORS.MIN' | translate }} {{ control.errors.min.min }}</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #readOnly>\r\n\t\t\t\t{{ emitFullObject ? editedValue?.title : editedValue }}\r\n\t\t\t</ng-template>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:var(--input-filled-border-color, #1a96c6)!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:0;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:not(textarea){height:var(--form-control-height, 40px)}.app-property-value .app-input-wrapper .form-control:disabled{background-color:var(--form-control-disabled-background, #e9ecef)!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"], dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2$2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: ClickOutsideDirective, selector: "[clickOutside]", outputs: ["clickOutside"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
12402
+ }
12403
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormTextItemComponent, decorators: [{
12404
+ type: Component,
12405
+ args: [{ selector: 'app-dynamic-form-textitem', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"app-property-value\">\r\n\t<div class=\"app-input-wrapper\">\r\n\t\t<label *ngIf=\"label\" for=\"formGroupInputSmall\"\r\n\t\t\t>{{ label | translate }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\">*</span></label\r\n\t\t>\r\n\t\t<div class=\"\">\r\n\t\t\t<ng-container *ngIf=\"isEditable(); else readOnly\">\r\n\t\t\t\t<div class=\"new-one\" (clickOutside)=\"openOptions(false)\">\r\n\t\t\t\t\t<input\r\n\t\t\t\t\t\t[id]=\"id\"\r\n\t\t\t\t\t\t[disabled]=\"disabled\"\r\n\t\t\t\t\t\t[type]=\"type\"\r\n\t\t\t\t\t\tclass=\"form-control\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'input-filled': emitFullObject ? editedValue?.title : editedValue\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(keydown.space)=\"allowSpace($event)\"\r\n\t\t\t\t\t\t#editorInput\r\n\t\t\t\t\t\t[required]=\"isRequired()\"\r\n\t\t\t\t\t\t[ngModel]=\"emitFullObject ? editedValue?.title : editedValue\"\r\n\t\t\t\t\t\t(ngModelChange)=\"updateValue($event); update($event)\"\r\n\t\t\t\t\t\t[autocomplete]=\"nativeAutoComplete\"\r\n\t\t\t\t\t\t(keyup)=\"waitUntilUserFinishTyping()\"\r\n\t\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-editinput-'\"\r\n\t\t\t\t\t\tplaceholder=\"{{ placeholder | translate }}\"\r\n\t\t\t\t\t\t(focus)=\"openOptions(true)\"\r\n\t\t\t\t\t\tmaxlength=\"{{ maxCharsNum }}\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t<div *ngIf=\"documentList.length !== 0\" id=\"suggestedoptions\">\r\n\t\t\t\t\t\t<div class=\"suggestions-wrapper\" [ngClass]=\"{ 'd-block': showsuggestedOptions }\">\r\n\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\tclass=\"option\"\r\n\t\t\t\t\t\t\t\tid=\"suggestedoptions\"\r\n\t\t\t\t\t\t\t\t*ngFor=\"let option of documentList\"\r\n\t\t\t\t\t\t\t\t(click)=\"selectItem(option)\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{{ option.title }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<mat-error\r\n\t\t\t\t\t[attr.data-automation-id]=\"'card-textitem-error-'\"\r\n\t\t\t\t\tclass=\"app-textitem-editable-error\"\r\n\t\t\t\t\t*ngIf=\"hasErrors()\"\r\n\t\t\t\t>\r\n\t\t\t\t\t<ul>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.required\">{{ label | translate }} {{ 'VALIDATORS.REQUIRED' | translate }}</li>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.pattern\">\r\n\t\t\t\t\t\t\t{{ 'wrong pattern' | translate }}\r\n\t\t\t\t\t\t</li>\r\n\t\t\t\t\t\t<li *ngIf=\"control.errors.min\">{{ 'VALIDATORS.MIN' | translate }} {{ control.errors.min.min }}</li>\r\n\t\t\t\t\t</ul>\r\n\t\t\t\t</mat-error>\r\n\t\t\t</ng-container>\r\n\t\t\t<ng-template #readOnly>\r\n\t\t\t\t{{ emitFullObject ? editedValue?.title : editedValue }}\r\n\t\t\t</ng-template>\r\n\t\t</div>\r\n\t</div>\r\n</div>\r\n", styles: [".app-property-value .input-filled{border-color:var(--input-filled-border-color, #1a96c6)!important}.app-property-value .app-input-wrapper label{color:#8f98aa;font-size:12px;margin-bottom:0}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:0;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:not(textarea){height:var(--form-control-height, 40px)}.app-property-value .app-input-wrapper .form-control:disabled{background-color:var(--form-control-disabled-background, #e9ecef)!important}.app-property-value .app-input-wrapper .app-textitem-editable-error ul{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error ul li{margin-top:5px}.app-property-value .app-input-wrapper .new-one{position:relative}.app-property-value .app-input-wrapper .suggestions-wrapper{border-radius:3px;max-height:240px;border:1px solid #ccc;box-shadow:2px 2px 2px #0000000f;overflow:auto;display:none;position:absolute;width:100%;background-color:#fff;z-index:99}.app-property-value .app-input-wrapper .suggestions-wrapper .option{margin-bottom:5px;padding:5px 10px;cursor:pointer}.app-property-value .app-input-wrapper .suggestions-wrapper .option:hover{background-color:#f5faff}\n"] }]
12406
+ }], ctorParameters: () => [{ type: DynamicFormUpdateService }, { type: i1$1.TranslateService }, { type: i2$2.NgControl, decorators: [{
12407
+ type: Self
12408
+ }, {
12409
+ type: Optional
12410
+ }] }], propDecorators: { autoComplete: [{
12411
+ type: Input
12412
+ }], nativeAutoComplete: [{
12413
+ type: Input
12414
+ }], autoComplete_pageProvider: [{
12415
+ type: Input
12416
+ }], autoComplete_propertyName: [{
12417
+ type: Input
12418
+ }], autoComplete_propertyKey: [{
12419
+ type: Input
12420
+ }], autoCompleteValueKey: [{
12421
+ type: Input
12422
+ }], autoCompleteType: [{
12423
+ type: Input
12424
+ }], tenantId: [{
12425
+ type: Input
12426
+ }], emitFullObject: [{
12427
+ type: Input
12428
+ }], outsideParams: [{
12429
+ type: Input
12430
+ }], type: [{
12431
+ type: Input
12432
+ }], property: [{
12433
+ type: Input
12434
+ }], label: [{
12435
+ type: Input
12436
+ }], editable: [{
12437
+ type: Input
12438
+ }], placeholder: [{
12439
+ type: Input
12440
+ }], disabled: [{
12441
+ type: Input
12442
+ }], displayEmpty: [{
12443
+ type: Input
12444
+ }], preventSpace: [{
12445
+ type: Input
12446
+ }], id: [{
12447
+ type: Input
12448
+ }], maxCharsNum: [{
12449
+ type: Input
12450
+ }], editorInput: [{
12451
+ type: ViewChild,
12452
+ args: ['editorInput']
12453
+ }] } });
12454
+
12455
+ /**
12456
+ * A toggle input that can be used inside reactive or template driven forms
12457
+ * @title
12458
+ * Sliding Toggle
12459
+ * @example
12460
+ * <cts-dynamic-form-slide-toggleitem
12461
+ * [label]="'PATH.TO.LABEL.TRANSLATION'"
12462
+ * formControlName="controlname"
12463
+ * >
12464
+ * </cts-dynamic-form-slide-toggleitem>
12465
+ */
12466
+ class DynamicFormSlideToggleitemComponent {
12467
+ constructor(control) {
12468
+ this.control = control;
12469
+ /** is disabled */
12470
+ this.disabled = false;
12471
+ /** is checked */
12472
+ this.checked = false;
12473
+ /** event to emit to outside to tell about toggling */
12474
+ this.onToggle = new EventEmitter();
12475
+ this.onChange = () => { };
12476
+ this.onTouched = () => { };
12477
+ this.control.valueAccessor = this;
12478
+ }
12479
+ writeValue(obj) {
12480
+ this.value = obj;
12481
+ }
12482
+ registerOnChange(fn) {
12483
+ this.onChange = fn;
12484
+ }
12485
+ registerOnTouched(fn) {
12486
+ this.onTouched = fn;
12487
+ }
12488
+ setDisabledState(isDisabled) {
12489
+ this.disabled = isDisabled;
12490
+ }
12491
+ isRequired() {
12492
+ if (!this.control.control.validator) {
12493
+ return false;
12494
+ }
12495
+ const validator = this.control.control.validator({});
12496
+ return validator && validator.required;
12497
+ }
12498
+ setValue(event) {
12499
+ this.onChange(event.checked);
12500
+ this.onToggle.emit();
12501
+ }
12502
+ ngOnInit() { }
12503
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormSlideToggleitemComponent, deps: [{ token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
12504
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormSlideToggleitemComponent, isStandalone: false, selector: "cts-dynamic-form-slide-toggleitem", inputs: { label: "label", disabled: "disabled", checked: "checked", theme: "theme" }, outputs: { onToggle: "onToggle" }, ngImport: i0, template: "<div class=\"dynamic-toggle\">\r\n <mat-slide-toggle\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n (change)=\"setValue($event)\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\"\r\n >*</span\r\n ></mat-slide-toggle\r\n >\r\n</div>\r\n<!-- [required]=\"isRequired()\" -->\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.dynamic-toggle .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:transparent;background-image:linear-gradient(to right,#0dbab5,#1a96c6);margin:0 10px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#fff}.rtl .mat-slide-toggle-label-before .mat-slide-toggle-bar,.rtl .mat-slide-toggle-bar{margin-left:8px;margin-right:0!important}\n"], dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i1$a.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
12505
+ }
12506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormSlideToggleitemComponent, decorators: [{
12507
+ type: Component,
12508
+ args: [{ selector: 'cts-dynamic-form-slide-toggleitem', encapsulation: ViewEncapsulation.None, standalone: false, template: "<div class=\"dynamic-toggle\">\r\n <mat-slide-toggle\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"value\"\r\n (change)=\"setValue($event)\"\r\n >{{ label | translate\r\n }}<span *ngIf=\"isRequired()\" class=\"text-danger mx-1\"\r\n >*</span\r\n ></mat-slide-toggle\r\n >\r\n</div>\r\n<!-- [required]=\"isRequired()\" -->\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.dynamic-toggle .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:transparent;background-image:linear-gradient(to right,#0dbab5,#1a96c6);margin:0 10px}.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb{background-color:#fff}.rtl .mat-slide-toggle-label-before .mat-slide-toggle-bar,.rtl .mat-slide-toggle-bar{margin-left:8px;margin-right:0!important}\n"] }]
12509
+ }], ctorParameters: () => [{ type: i2$2.NgControl, decorators: [{
12510
+ type: Self
12511
+ }, {
12512
+ type: Optional
12513
+ }] }], propDecorators: { label: [{
12514
+ type: Input
12515
+ }], disabled: [{
12516
+ type: Input
12517
+ }], checked: [{
12518
+ type: Input
12519
+ }], theme: [{
12520
+ type: Input
12521
+ }], onToggle: [{
12522
+ type: Output
12523
+ }] } });
12524
+
12525
+ class DepartmentFormComponent extends BaseDialogComponent {
12526
+ constructor(data, dialogRef, toastr, departmentManagementService, injector) {
12527
+ super(injector);
12528
+ this.data = data;
12529
+ this.dialogRef = dialogRef;
12530
+ this.toastr = toastr;
12531
+ this.departmentManagementService = departmentManagementService;
12532
+ this.updateMode = false;
12533
+ this.departmentForm = new UntypedFormGroup({
12534
+ title: new UntypedFormControl(null, [Validators.required, Validators.pattern(new RegExp('^\\S*$'))]),
12535
+ agencyCode: new UntypedFormControl('tdf', Validators.required),
12536
+ arabicName: new UntypedFormControl(null, Validators.required),
12537
+ englishName: new UntypedFormControl(null, Validators.required),
12538
+ deptTypee: this.data.displayDepTypee
12539
+ ? new UntypedFormControl(null, Validators.required)
12540
+ : new UntypedFormControl(null),
12541
+ description: new UntypedFormControl(null),
12542
+ isAllowRecExternal: new UntypedFormControl(false)
12543
+ // manager: new FormControl(null),
12544
+ });
12545
+ }
12546
+ ngOnInit() {
12547
+ this.depId = this.data.depId;
12548
+ this.updateMode = this.data.updateMode;
12549
+ this.depCode = this.data.depCode;
12550
+ this.item = this.data.item;
12551
+ if (this.updateMode) {
12552
+ this.getDepartment();
12553
+ }
12554
+ }
12555
+ filterNullValues(formValue) {
12556
+ const filtered = {};
12557
+ for (let key in formValue) {
12558
+ if (formValue[key]) {
12559
+ filtered[key] = formValue[key];
12560
+ }
12561
+ }
12562
+ return filtered;
12563
+ }
12564
+ save() {
12565
+ this.loading = true;
12566
+ const depObj = this.filterNullValues(this.departmentForm.value);
12567
+ if (this.depId === 'root') {
12568
+ this.departmentManagementService.createDepartmentInRoot(depObj).subscribe((res) => {
12569
+ this.loading = false;
12570
+ this.dialogRef.close(true);
12571
+ this.toastr.show('success', 'success', 'success');
12572
+ }, (err) => {
12573
+ this.loading = false;
12574
+ this.dialogRef.close(false);
12575
+ this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
12576
+ });
12577
+ }
12578
+ else {
12579
+ this.departmentManagementService.createDepartment(depObj, this.depId).subscribe((res) => {
12580
+ this.loading = false;
12581
+ this.dialogRef.close(true);
12582
+ this.toastr.show('success', 'success', 'success');
12583
+ }, (err) => {
12584
+ this.loading = false;
12585
+ this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
12586
+ });
12587
+ }
12588
+ }
12589
+ departmentFormPopulate(department) {
12590
+ this.departmentForm.patchValue({
12591
+ title: department.title,
12592
+ arabicName: department.arabicName,
12593
+ englishName: department.englishName,
12594
+ deptTypee: department.deptTypee,
12595
+ description: department.description,
12596
+ isAllowRecExternal: department.isAllowRecExternal
12597
+ });
12598
+ }
12599
+ getDepartment() {
12600
+ this.departmentManagementService.getDepartment(this.depId).subscribe((res) => {
12601
+ this.departmentFormPopulate(res.properties);
12602
+ });
12603
+ }
12604
+ update() {
12605
+ this.loading = true;
12606
+ this.departmentManagementService.updateDepartment(this.departmentForm.value, this.depId).subscribe((res) => {
12607
+ this.loading = false;
12608
+ this.dialogRef.close(true);
12609
+ this.toastr.show('success', 'success', 'success');
12610
+ }, (err) => {
12611
+ this.loading = false;
12612
+ this.toastr.show('error', 'error', err.ret.message ? `errors.${err.ret.code}` : 'genericError');
12613
+ });
12614
+ }
12615
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentFormComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1$6.MatDialogRef }, { token: CustomToastrService }, { token: DepartmentApiService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
12616
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DepartmentFormComponent, isStandalone: false, selector: "cts-department-form", usesInheritance: true, ngImport: i0, template: "<ndf-nuxeo-dialog\r\n\tdialogTitle=\"{{\r\n\t\t'department_management.form.' + (updateMode ? 'updateHeader' : 'header')\r\n\t\t\t| translate\r\n\t}}\"\r\n\tpanelClass=\"voc-form\"\r\n>\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n\t\t\t<div class=\"col-lg-6 col-12\">\r\n\t\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\t\tformControlName=\"title\"\r\n\t\t\t\t\t[label]=\"'department_management.form.title'\"\r\n\t\t\t\t\t[disabled]=\"updateMode\"\r\n\t\t\t\t\t[preventSpace]=\"true\"\r\n\t\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t\t<div class=\"hint-msg\">\r\n\t\t\t\t\t{{ 'department_management.form.hintMsg' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"arabicName\"\r\n\t\t\t\t[label]=\"'department_management.form.ArabicName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"englishName\"\r\n\t\t\t\t[label]=\"'department_management.form.EnglishName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t*ngIf=\"data.displayDepTypee\"\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\t[label]=\"'department_management.form.deptTypee'\"\r\n\t\t\t\t[bindLabel]=\"'label'\"\r\n\t\t\t\t[bindValue]=\"'id'\"\r\n\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t\t[closeOnSelect]=\"true\"\r\n\t\t\t\t[hideSelectedItems]=\"false\"\r\n\t\t\t\t[vocabularyType]=\"'VOC_DepartmentType'\"\r\n\t\t\t\tformControlName=\"deptTypee\"\r\n\t\t\t>\r\n\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"description\"\r\n\t\t\t\t[label]=\"'department_management.form.Description'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\r\n\t\t\t<cts-dynamic-form-slide-toggleitem\r\n\t\t\t\t*ngIf=\"data.displayIsAllowRecExternal\"\r\n\t\t\t\tclass=\"col-lg-6 col-12 isAllowRecExternal\"\r\n\t\t\t\tformControlName=\"isAllowRecExternal\"\r\n\t\t\t\t[label]=\"'department_management.form.isAllowRecExternal'\"\r\n\t\t\t></cts-dynamic-form-slide-toggleitem>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t[disabled]=\"\r\n\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\tfileForm.invalid\r\n\t\t\t\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'opacity-30 cursor-not-allowed':\r\n\t\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\t\tfileForm.invalid\r\n\t\t\t}\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{\r\n\t\t\t\tuploadMangmentService?.scanCreationFailed\r\n\t\t\t\t\t? ('BUTTONS.TRY_AGAIN' | translate)\r\n\t\t\t\t\t: ('BUTTONS.CREATE' | translate)\r\n\t\t\t}}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"!updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(save)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.SAVE' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(update)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.UPDATE' | translate }}\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"], dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: NdfNuxeoDialog, selector: "ndf-nuxeo-dialog", inputs: ["dialogTitle", "subTitle", "panelClass", "bodyClass", "loaderMode"] }, { kind: "component", type: DynamicFormTextItemComponent, selector: "app-dynamic-form-textitem", inputs: ["autoComplete", "nativeAutoComplete", "autoComplete_pageProvider", "autoComplete_propertyName", "autoComplete_propertyKey", "autoCompleteValueKey", "autoCompleteType", "tenantId", "emitFullObject", "outsideParams", "type", "property", "label", "editable", "placeholder", "disabled", "displayEmpty", "preventSpace", "id", "maxCharsNum"] }, { kind: "component", type: DynamicFormSlideToggleitemComponent, selector: "cts-dynamic-form-slide-toggleitem", inputs: ["label", "disabled", "checked", "theme"], outputs: ["onToggle"] }, { kind: "component", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["id", "onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
12617
+ }
12618
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DepartmentFormComponent, decorators: [{
12619
+ type: Component,
12620
+ args: [{ selector: 'cts-department-form', standalone: false, template: "<ndf-nuxeo-dialog\r\n\tdialogTitle=\"{{\r\n\t\t'department_management.form.' + (updateMode ? 'updateHeader' : 'header')\r\n\t\t\t| translate\r\n\t}}\"\r\n\tpanelClass=\"voc-form\"\r\n>\r\n\t<ng-template #contentTemplate>\r\n\t\t<form [formGroup]=\"departmentForm\" class=\"row voc-form-body\">\r\n\t\t\t<div class=\"col-lg-6 col-12\">\r\n\t\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\t\tformControlName=\"title\"\r\n\t\t\t\t\t[label]=\"'department_management.form.title'\"\r\n\t\t\t\t\t[disabled]=\"updateMode\"\r\n\t\t\t\t\t[preventSpace]=\"true\"\r\n\t\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t\t<div class=\"hint-msg\">\r\n\t\t\t\t\t{{ 'department_management.form.hintMsg' | translate }}\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"arabicName\"\r\n\t\t\t\t[label]=\"'department_management.form.ArabicName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"englishName\"\r\n\t\t\t\t[label]=\"'department_management.form.EnglishName'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\t\t\t<app-dynamic-form-vocabulary-item\r\n\t\t\t\t*ngIf=\"data.displayDepTypee\"\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\t[label]=\"'department_management.form.deptTypee'\"\r\n\t\t\t\t[bindLabel]=\"'label'\"\r\n\t\t\t\t[bindValue]=\"'id'\"\r\n\t\t\t\tplaceholder=\"{{ 'VOCABULARY.SELECT_ITEM' | translate }}\"\r\n\t\t\t\t[multiple]=\"false\"\r\n\t\t\t\t[searchable]=\"false\"\r\n\t\t\t\t[closeOnSelect]=\"true\"\r\n\t\t\t\t[hideSelectedItems]=\"false\"\r\n\t\t\t\t[vocabularyType]=\"'VOC_DepartmentType'\"\r\n\t\t\t\tformControlName=\"deptTypee\"\r\n\t\t\t>\r\n\t\t\t</app-dynamic-form-vocabulary-item>\r\n\t\t\t<app-dynamic-form-textitem\r\n\t\t\t\tclass=\"col-lg-6 col-12\"\r\n\t\t\t\tformControlName=\"description\"\r\n\t\t\t\t[label]=\"'department_management.form.Description'\"\r\n\t\t\t></app-dynamic-form-textitem>\r\n\r\n\t\t\t<cts-dynamic-form-slide-toggleitem\r\n\t\t\t\t*ngIf=\"data.displayIsAllowRecExternal\"\r\n\t\t\t\tclass=\"col-lg-6 col-12 isAllowRecExternal\"\r\n\t\t\t\tformControlName=\"isAllowRecExternal\"\r\n\t\t\t\t[label]=\"'department_management.form.isAllowRecExternal'\"\r\n\t\t\t></cts-dynamic-form-slide-toggleitem>\r\n\t\t</form>\r\n\t</ng-template>\r\n\r\n\t<ng-template #actionsTemplate let-dialog=\"dialog\">\r\n\t\t<button\r\n\t\t\t(click)=\"dialog.executeAction(createDocument)\"\r\n\t\t\t[disabled]=\"\r\n\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\tfileForm.invalid\r\n\t\t\t\"\r\n\t\t\t[ngClass]=\"{\r\n\t\t\t\t'opacity-30 cursor-not-allowed':\r\n\t\t\t\t\tscannerUploadButton?.disabled ||\r\n\t\t\t\t\t!selectedFile?.dynamicData.valid ||\r\n\t\t\t\t\tfileForm.invalid\r\n\t\t\t}\"\r\n\t\t\tclass=\"submission-button\"\r\n\t\t>\r\n\t\t\t{{\r\n\t\t\t\tuploadMangmentService?.scanCreationFailed\r\n\t\t\t\t\t? ('BUTTONS.TRY_AGAIN' | translate)\r\n\t\t\t\t\t: ('BUTTONS.CREATE' | translate)\r\n\t\t\t}}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"!updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(save)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.SAVE' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<button\r\n\t\t\t*ngIf=\"updateMode\"\r\n\t\t\t(click)=\"dialog.executeAction(update)\"\r\n\t\t\t[disabled]=\"departmentForm.invalid\"\r\n\t\t\tclass=\"voc-form-submit\"\r\n\t\t>\r\n\t\t\t{{ 'BUTTONS.UPDATE' | translate }}\r\n\t\t</button>\r\n\t</ng-template>\r\n</ndf-nuxeo-dialog>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:700;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.renameFileComponent .form-wrapper{padding:30px 15px;border:none!important}.renameFileComponent .form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.renameFileComponent .form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.renameFileComponent .form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.renameFileComponent .form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.renameFileComponent .form-wrapper .buttons-wrapper button:hover{opacity:.7}.renameFileComponent .form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.renameFileComponent .form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.renameFileComponent .form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.renameFileComponent .form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming,.my-dynamic-viewer .direction-img .outgoing,.my-dynamic-viewer .direction-img .internal{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Internal .my-value{display:flex}.my-dynamic-viewer.Internal .my-value .direction-img .internal{color:#3c3cf0;margin:1px 5px;display:flex}.my-dynamic-viewer.Internal .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label,.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.voc-form{padding:20px}.voc-form .hint-msg{font-size:12px;font-style:italic;margin-top:2px;color:#6a768e}.voc-form .voc-form-hedaer{margin-bottom:8px;font-size:20px;color:#465573}.voc-form .button-group{margin-top:12px;column-gap:6px!important}.voc-form .button-group cts-button{width:16%}@media (max-width: 992px){.voc-form .button-group cts-button{width:20%}}@media only screen and (max-width: 768px){.voc-form .button-group cts-button{width:28%}}.voc-form .isAllowRecExternal{display:flex;align-items:center;margin-top:26px;overflow:hidden}@media only screen and (max-width: 768px){.voc-form .isAllowRecExternal{font-size:12px}}\n"] }]
12621
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
12622
+ type: Inject,
12623
+ args: [MAT_DIALOG_DATA]
12624
+ }] }, { type: i1$6.MatDialogRef }, { type: CustomToastrService }, { type: DepartmentApiService }, { type: i0.Injector }] });
12625
+
12469
12626
  let DepartmentManagementService$1 = class DepartmentManagementService {
12470
12627
  constructor(nuxeoService, adapter, myConfigService, nuxeoDialogService, dialog, environment) {
12471
12628
  this.nuxeoService = nuxeoService;
@@ -13211,80 +13368,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
13211
13368
  type: Input
13212
13369
  }] } });
13213
13370
 
13214
- class DynamicFormFieldComponent {
13215
- constructor(translate, control) {
13216
- this.translate = translate;
13217
- this.control = control;
13218
- this.disabled = false;
13219
- this.onDestroy$ = new Subject();
13220
- this.onChange = () => { };
13221
- this.onTouched = () => { };
13222
- this.Validator = (control) => {
13223
- if (!this.value.isValid) {
13224
- return { formValidator: true };
13225
- }
13226
- return null;
13227
- };
13228
- this.control.valueAccessor = this;
13229
- }
13230
- get invalid() {
13231
- return this.control ? this.control.invalid : false;
13232
- }
13233
- get showError() {
13234
- if (!this.control) {
13235
- return false;
13236
- }
13237
- const { dirty, touched } = this.control;
13238
- return this.invalid ? (dirty || touched) : false;
13239
- }
13240
- isRequired() {
13241
- if (!this.control.control.validator) {
13242
- return false;
13243
- }
13244
- const validator = this.control.control.validator({});
13245
- return (validator && validator.required);
13246
- }
13247
- writeValue(value) {
13248
- this.value = value;
13249
- }
13250
- ngOnInit() {
13251
- this.control.control.setValidators([this.Validator]);
13252
- }
13253
- registerOnChange(fn) {
13254
- this.onChange = fn;
13255
- }
13256
- registerOnTouched(fn) {
13257
- this.onTouched = fn;
13258
- }
13259
- setDisabledState(isDisabled) {
13260
- this.disabled = isDisabled;
13261
- }
13262
- ngOnDestroy() {
13263
- this.onDestroy$.next(true);
13264
- this.onDestroy$.complete();
13265
- }
13266
- onChanged(value) {
13267
- console.log(value);
13268
- this.value = value;
13269
- this.onChange(value);
13270
- this.onTouched();
13271
- }
13272
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormFieldComponent, deps: [{ token: i1$1.TranslateService }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
13273
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormFieldComponent, isStandalone: false, selector: "cts-dynamic-form-field", inputs: { disabled: "disabled", field: "field" }, ngImport: i0, template: "<formio [form]=\"field\" (change)=\"onChanged($event)\"></formio>\r\n", styles: [""], dependencies: [{ kind: "component", type: i3$6.FormioComponent, selector: "formio" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
13274
- }
13275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormFieldComponent, decorators: [{
13276
- type: Component,
13277
- args: [{ selector: 'cts-dynamic-form-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<formio [form]=\"field\" (change)=\"onChanged($event)\"></formio>\r\n" }]
13278
- }], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: i2$2.NgControl, decorators: [{
13279
- type: Self
13280
- }, {
13281
- type: Optional
13282
- }] }], propDecorators: { disabled: [{
13283
- type: Input
13284
- }], field: [{
13285
- type: Input
13286
- }] } });
13287
-
13288
13371
  /**
13289
13372
  * A Hijri and gregorian datepicker
13290
13373
  * that can be used inside reactive or template driven forms
@@ -13888,7 +13971,7 @@ class DynamicFormSelectTagComponent {
13888
13971
  }
13889
13972
  loadTags() {
13890
13973
  this.tags$ = concat(of([]), // default items
13891
- this.tagsInput$.pipe(debounceTime$1(200), distinctUntilChanged(), tap(() => (this.tagsLoading = true)), switchMap((term) => this.tagsApiService.tagsSuggestion(term).pipe(catchError(() => of([])), // empty list on error
13974
+ this.tagsInput$.pipe(debounceTime(200), distinctUntilChanged(), tap(() => (this.tagsLoading = true)), switchMap((term) => this.tagsApiService.tagsSuggestion(term).pipe(catchError(() => of([])), // empty list on error
13892
13975
  tap(() => (this.tagsLoading = false))))));
13893
13976
  }
13894
13977
  isRequired() {
@@ -14381,7 +14464,7 @@ class DynamicFormSelectUsersComponent {
14381
14464
  }
14382
14465
  loadUsers() {
14383
14466
  this.userNameInput$
14384
- .pipe(debounceTime$1(200), distinctUntilChanged(), tap(() => {
14467
+ .pipe(debounceTime(200), distinctUntilChanged(), tap(() => {
14385
14468
  this.loading = true;
14386
14469
  this.sub?.unsubscribe();
14387
14470
  }), switchMap((term) => {
@@ -14733,48 +14816,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
14733
14816
  args: ['editorInput']
14734
14817
  }] } });
14735
14818
 
14736
- class DynamicFormViewerComponent {
14737
- constructor(translate, translation, configService) {
14738
- this.translate = translate;
14739
- this.translation = translation;
14740
- this.configService = configService;
14741
- this.form = {};
14742
- this.data = null;
14743
- this.classType = null;
14744
- this.list = [];
14745
- this.isArabic = false;
14746
- this.dateFomrate = this.configService.myConfiguration['dynamicFormDateFormate'] ? this.configService.myConfiguration['dynamicFormDateFormate'] : 'dd MMM y';
14747
- }
14748
- ngOnInit() {
14749
- this.translation.isArabic.subscribe(res => {
14750
- this.isArabic = res;
14751
- const translations = {};
14752
- const translationsAr = {};
14753
- Utils.eachComponent(this.form.components, (comp) => {
14754
- this.list.push({
14755
- labelAr: comp.labelAr,
14756
- labelEn: comp.label,
14757
- customOptions: comp.customOptions,
14758
- value: this.data[this.form.prefix + ':' + comp.key],
14759
- type: comp.type
14760
- });
14761
- });
14762
- });
14763
- }
14764
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormViewerComponent, deps: [{ token: i1$1.TranslateService }, { token: TranslationService }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
14765
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormViewerComponent, isStandalone: false, selector: "cts-dynamic-form-viewer", inputs: { form: "form", data: "data", classType: "classType" }, ngImport: i0, template: "<div class=\"dynamic-fields-values\">\r\n <div class=\"fields-title\">\r\n {{ \"CREATE.CORRESP_FORM_VIEWER\" | translate }}\r\n </div>\r\n <div class=\"values-wrapper\">\r\n <div class=\"mx-1 mb-2 class-type-title\" *ngIf=\"classType\">{{\"vocabulary.VOC_CorrespondenceClass.\" + classType |\r\n translate}}</div>\r\n <div class=\"single-field-value\" *ngFor=\"let item of list\">\r\n <div class=\"title\" *ngIf=\"!isArabic\">{{ item.labelEn }}</div>\r\n <div class=\"title\" *ngIf=\"isArabic\">{{ item.labelAr }}</div>\r\n <ng-container [ngSwitch]=\"item?.type\">\r\n <ng-container *ngSwitchCase=\"'vocabulary'\">\r\n <div *ngIf=\"item.value!=undefined\" class=\"value\">{{ 'vocabulary.' + item.customOptions.vocId + '.' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <div class=\"value\">{{ '' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'customdate'\">\r\n <div class=\"value\">{{ item.value | localizedDate : dateFomrate : (isArabic? 'ar-AR' : 'en-US')}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"value\">{{ item.value}}</div> \r\n </ng-container>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dynamic-fields-values .fields-title{font-size:14px;font-weight:700}.dynamic-fields-values .values-wrapper{border:1px solid #d9dce2;padding:5px 10px}.dynamic-fields-values .values-wrapper .class-type-title{font-size:14px}.dynamic-fields-values .values-wrapper .single-field-value{padding:10px 0;display:flex;border-bottom:1px solid #e2e6ec}.dynamic-fields-values .values-wrapper .single-field-value .title{font-size:12px;font-weight:500;width:140px;word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value .value{font-size:12px;width:calc(100% - 140px);word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value:last-child{border-bottom:none}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocalizedDatePipe, name: "localizedDate" }] }); }
14766
- }
14767
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormViewerComponent, decorators: [{
14768
- type: Component,
14769
- args: [{ selector: 'cts-dynamic-form-viewer', standalone: false, template: "<div class=\"dynamic-fields-values\">\r\n <div class=\"fields-title\">\r\n {{ \"CREATE.CORRESP_FORM_VIEWER\" | translate }}\r\n </div>\r\n <div class=\"values-wrapper\">\r\n <div class=\"mx-1 mb-2 class-type-title\" *ngIf=\"classType\">{{\"vocabulary.VOC_CorrespondenceClass.\" + classType |\r\n translate}}</div>\r\n <div class=\"single-field-value\" *ngFor=\"let item of list\">\r\n <div class=\"title\" *ngIf=\"!isArabic\">{{ item.labelEn }}</div>\r\n <div class=\"title\" *ngIf=\"isArabic\">{{ item.labelAr }}</div>\r\n <ng-container [ngSwitch]=\"item?.type\">\r\n <ng-container *ngSwitchCase=\"'vocabulary'\">\r\n <div *ngIf=\"item.value!=undefined\" class=\"value\">{{ 'vocabulary.' + item.customOptions.vocId + '.' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <div class=\"value\">{{ '' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'customdate'\">\r\n <div class=\"value\">{{ item.value | localizedDate : dateFomrate : (isArabic? 'ar-AR' : 'en-US')}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"value\">{{ item.value}}</div> \r\n </ng-container>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dynamic-fields-values .fields-title{font-size:14px;font-weight:700}.dynamic-fields-values .values-wrapper{border:1px solid #d9dce2;padding:5px 10px}.dynamic-fields-values .values-wrapper .class-type-title{font-size:14px}.dynamic-fields-values .values-wrapper .single-field-value{padding:10px 0;display:flex;border-bottom:1px solid #e2e6ec}.dynamic-fields-values .values-wrapper .single-field-value .title{font-size:12px;font-weight:500;width:140px;word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value .value{font-size:12px;width:calc(100% - 140px);word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value:last-child{border-bottom:none}\n"] }]
14770
- }], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: TranslationService }, { type: AppConfigService }], propDecorators: { form: [{
14771
- type: Input
14772
- }], data: [{
14773
- type: Input
14774
- }], classType: [{
14775
- type: Input
14776
- }] } });
14777
-
14778
14819
  class FieldsAdapterService {
14779
14820
  /* this.builderComponents = {
14780
14821
  VOC_CorrespondenceCategory: {
@@ -15145,6 +15186,130 @@ function registerDateComponent(injector) {
15145
15186
  registerCustomFormioComponent(COMPONENT_OPTIONS$3, DateWrapperComponent, injector);
15146
15187
  }
15147
15188
 
15189
+ class VocabularyWrapperComponent {
15190
+ constructor() {
15191
+ this.valueChange = new EventEmitter();
15192
+ }
15193
+ executeFunction(event) {
15194
+ this.valueChange.emit(event);
15195
+ }
15196
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: VocabularyWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15197
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: VocabularyWrapperComponent, isStandalone: false, selector: "app-vocabulary-wrapper", inputs: { value: "value", vocId: "vocId", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<app-dynamic-form-vocabulary-item *ngIf=\"vocId\"\r\n[bindLabel]=\"'displayLabel'\"\r\n[bindValue]=\"'id'\"\r\n[(ngModel)]=\"value\"\r\n(onSelecting)=\"executeFunction($event)\"\r\n[vocabularyType]=\"vocId\">\r\n</app-dynamic-form-vocabulary-item>\r\n<!-- <div>\r\n {{vocId | json}}\r\n</div> -->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["id", "onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }] }); }
15198
+ }
15199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: VocabularyWrapperComponent, decorators: [{
15200
+ type: Component,
15201
+ args: [{ selector: 'app-vocabulary-wrapper', standalone: false, template: "<app-dynamic-form-vocabulary-item *ngIf=\"vocId\"\r\n[bindLabel]=\"'displayLabel'\"\r\n[bindValue]=\"'id'\"\r\n[(ngModel)]=\"value\"\r\n(onSelecting)=\"executeFunction($event)\"\r\n[vocabularyType]=\"vocId\">\r\n</app-dynamic-form-vocabulary-item>\r\n<!-- <div>\r\n {{vocId | json}}\r\n</div> -->\r\n" }]
15202
+ }], ctorParameters: () => [], propDecorators: { value: [{
15203
+ type: Input
15204
+ }], vocId: [{
15205
+ type: Input
15206
+ }], disabled: [{
15207
+ type: Input
15208
+ }], valueChange: [{
15209
+ type: Output
15210
+ }] } });
15211
+
15212
+ const editForm$2 = () => baseEditForm([
15213
+ {
15214
+ key: 'display',
15215
+ components: [
15216
+ {
15217
+ type: 'textfield',
15218
+ label: 'vocabulary key',
15219
+ key: 'customOptions.vocId',
15220
+ disabled: false,
15221
+ weight: -1
15222
+ }
15223
+ ]
15224
+ }
15225
+ ]);
15226
+ const COMPONENT_OPTIONS$2 = {
15227
+ type: 'vocabulary',
15228
+ selector: 'vocabulary-selector',
15229
+ title: 'vocabulary',
15230
+ group: 'basic',
15231
+ icon: 'fa fa-star',
15232
+ fieldOptions: ['customOptions', 'customOptions.vocId'],
15233
+ editForm: editForm$2
15234
+ };
15235
+ function registerVocabularyComponent(injector) {
15236
+ registerCustomFormioComponent(COMPONENT_OPTIONS$2, VocabularyWrapperComponent, injector);
15237
+ }
15238
+
15239
+ class DynamicFormFieldComponent {
15240
+ constructor(translate, control) {
15241
+ this.translate = translate;
15242
+ this.control = control;
15243
+ this.disabled = false;
15244
+ this.onDestroy$ = new Subject();
15245
+ this.onChange = () => { };
15246
+ this.onTouched = () => { };
15247
+ this.Validator = (control) => {
15248
+ if (!this.value.isValid) {
15249
+ return { formValidator: true };
15250
+ }
15251
+ return null;
15252
+ };
15253
+ this.control.valueAccessor = this;
15254
+ }
15255
+ get invalid() {
15256
+ return this.control ? this.control.invalid : false;
15257
+ }
15258
+ get showError() {
15259
+ if (!this.control) {
15260
+ return false;
15261
+ }
15262
+ const { dirty, touched } = this.control;
15263
+ return this.invalid ? (dirty || touched) : false;
15264
+ }
15265
+ isRequired() {
15266
+ if (!this.control.control.validator) {
15267
+ return false;
15268
+ }
15269
+ const validator = this.control.control.validator({});
15270
+ return (validator && validator.required);
15271
+ }
15272
+ writeValue(value) {
15273
+ this.value = value;
15274
+ }
15275
+ ngOnInit() {
15276
+ this.control.control.setValidators([this.Validator]);
15277
+ }
15278
+ registerOnChange(fn) {
15279
+ this.onChange = fn;
15280
+ }
15281
+ registerOnTouched(fn) {
15282
+ this.onTouched = fn;
15283
+ }
15284
+ setDisabledState(isDisabled) {
15285
+ this.disabled = isDisabled;
15286
+ }
15287
+ ngOnDestroy() {
15288
+ this.onDestroy$.next(true);
15289
+ this.onDestroy$.complete();
15290
+ }
15291
+ onChanged(value) {
15292
+ console.log(value);
15293
+ this.value = value;
15294
+ this.onChange(value);
15295
+ this.onTouched();
15296
+ }
15297
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormFieldComponent, deps: [{ token: i1$1.TranslateService }, { token: i2$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
15298
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormFieldComponent, isStandalone: false, selector: "cts-dynamic-form-field", inputs: { disabled: "disabled", field: "field" }, ngImport: i0, template: "<formio [form]=\"field\" (change)=\"onChanged($event)\"></formio>\r\n", styles: [""], dependencies: [{ kind: "component", type: i3$6.FormioComponent, selector: "formio" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
15299
+ }
15300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormFieldComponent, decorators: [{
15301
+ type: Component,
15302
+ args: [{ selector: 'cts-dynamic-form-field', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<formio [form]=\"field\" (change)=\"onChanged($event)\"></formio>\r\n" }]
15303
+ }], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: i2$2.NgControl, decorators: [{
15304
+ type: Self
15305
+ }, {
15306
+ type: Optional
15307
+ }] }], propDecorators: { disabled: [{
15308
+ type: Input
15309
+ }], field: [{
15310
+ type: Input
15311
+ }] } });
15312
+
15148
15313
  class ToggleWrapperComponent {
15149
15314
  constructor() {
15150
15315
  this.valueChange = new EventEmitter();
@@ -15170,19 +15335,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
15170
15335
  type: Input
15171
15336
  }] } });
15172
15337
 
15173
- const editForm$2 = () => baseEditForm();
15174
- const COMPONENT_OPTIONS$2 = {
15338
+ const editForm$1 = () => baseEditForm();
15339
+ const COMPONENT_OPTIONS$1 = {
15175
15340
  type: 'toggle',
15176
15341
  selector: 'toggle-selector',
15177
15342
  title: 'toggle',
15178
15343
  group: 'basic',
15179
15344
  icon: 'fa fa-star',
15180
15345
  fieldOptions: ['customOptions', 'fixedKey'],
15181
- editForm: editForm$2
15346
+ editForm: editForm$1
15182
15347
  };
15183
15348
  function registerToggleComponent(injector) {
15184
- registerCustomFormioComponent(COMPONENT_OPTIONS$2, ToggleWrapperComponent, injector);
15349
+ registerCustomFormioComponent(COMPONENT_OPTIONS$1, ToggleWrapperComponent, injector);
15350
+ }
15351
+
15352
+ class DynamicFormViewerComponent {
15353
+ constructor(translate, translation, configService) {
15354
+ this.translate = translate;
15355
+ this.translation = translation;
15356
+ this.configService = configService;
15357
+ this.form = {};
15358
+ this.data = null;
15359
+ this.classType = null;
15360
+ this.list = [];
15361
+ this.isArabic = false;
15362
+ this.dateFomrate = this.configService.myConfiguration['dynamicFormDateFormate'] ? this.configService.myConfiguration['dynamicFormDateFormate'] : 'dd MMM y';
15363
+ }
15364
+ ngOnInit() {
15365
+ this.translation.isArabic.subscribe(res => {
15366
+ this.isArabic = res;
15367
+ const translations = {};
15368
+ const translationsAr = {};
15369
+ Utils.eachComponent(this.form.components, (comp) => {
15370
+ this.list.push({
15371
+ labelAr: comp.labelAr,
15372
+ labelEn: comp.label,
15373
+ customOptions: comp.customOptions,
15374
+ value: this.data[this.form.prefix + ':' + comp.key],
15375
+ type: comp.type
15376
+ });
15377
+ });
15378
+ });
15379
+ }
15380
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormViewerComponent, deps: [{ token: i1$1.TranslateService }, { token: TranslationService }, { token: AppConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
15381
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DynamicFormViewerComponent, isStandalone: false, selector: "cts-dynamic-form-viewer", inputs: { form: "form", data: "data", classType: "classType" }, ngImport: i0, template: "<div class=\"dynamic-fields-values\">\r\n <div class=\"fields-title\">\r\n {{ \"CREATE.CORRESP_FORM_VIEWER\" | translate }}\r\n </div>\r\n <div class=\"values-wrapper\">\r\n <div class=\"mx-1 mb-2 class-type-title\" *ngIf=\"classType\">{{\"vocabulary.VOC_CorrespondenceClass.\" + classType |\r\n translate}}</div>\r\n <div class=\"single-field-value\" *ngFor=\"let item of list\">\r\n <div class=\"title\" *ngIf=\"!isArabic\">{{ item.labelEn }}</div>\r\n <div class=\"title\" *ngIf=\"isArabic\">{{ item.labelAr }}</div>\r\n <ng-container [ngSwitch]=\"item?.type\">\r\n <ng-container *ngSwitchCase=\"'vocabulary'\">\r\n <div *ngIf=\"item.value!=undefined\" class=\"value\">{{ 'vocabulary.' + item.customOptions.vocId + '.' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <div class=\"value\">{{ '' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'customdate'\">\r\n <div class=\"value\">{{ item.value | localizedDate : dateFomrate : (isArabic? 'ar-AR' : 'en-US')}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"value\">{{ item.value}}</div> \r\n </ng-container>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dynamic-fields-values .fields-title{font-size:14px;font-weight:700}.dynamic-fields-values .values-wrapper{border:1px solid #d9dce2;padding:5px 10px}.dynamic-fields-values .values-wrapper .class-type-title{font-size:14px}.dynamic-fields-values .values-wrapper .single-field-value{padding:10px 0;display:flex;border-bottom:1px solid #e2e6ec}.dynamic-fields-values .values-wrapper .single-field-value .title{font-size:12px;font-weight:500;width:140px;word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value .value{font-size:12px;width:calc(100% - 140px);word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value:last-child{border-bottom:none}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$5.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "pipe", type: LocalizedDatePipe, name: "localizedDate" }] }); }
15185
15382
  }
15383
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DynamicFormViewerComponent, decorators: [{
15384
+ type: Component,
15385
+ args: [{ selector: 'cts-dynamic-form-viewer', standalone: false, template: "<div class=\"dynamic-fields-values\">\r\n <div class=\"fields-title\">\r\n {{ \"CREATE.CORRESP_FORM_VIEWER\" | translate }}\r\n </div>\r\n <div class=\"values-wrapper\">\r\n <div class=\"mx-1 mb-2 class-type-title\" *ngIf=\"classType\">{{\"vocabulary.VOC_CorrespondenceClass.\" + classType |\r\n translate}}</div>\r\n <div class=\"single-field-value\" *ngFor=\"let item of list\">\r\n <div class=\"title\" *ngIf=\"!isArabic\">{{ item.labelEn }}</div>\r\n <div class=\"title\" *ngIf=\"isArabic\">{{ item.labelAr }}</div>\r\n <ng-container [ngSwitch]=\"item?.type\">\r\n <ng-container *ngSwitchCase=\"'vocabulary'\">\r\n <div *ngIf=\"item.value!=undefined\" class=\"value\">{{ 'vocabulary.' + item.customOptions.vocId + '.' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <div class=\"value\">{{ '' + item.value | translate}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'customdate'\">\r\n <div class=\"value\">{{ item.value | localizedDate : dateFomrate : (isArabic? 'ar-AR' : 'en-US')}}</div> \r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <div class=\"value\">{{ item.value}}</div> \r\n </ng-container>\r\n </ng-container>\r\n \r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".dynamic-fields-values .fields-title{font-size:14px;font-weight:700}.dynamic-fields-values .values-wrapper{border:1px solid #d9dce2;padding:5px 10px}.dynamic-fields-values .values-wrapper .class-type-title{font-size:14px}.dynamic-fields-values .values-wrapper .single-field-value{padding:10px 0;display:flex;border-bottom:1px solid #e2e6ec}.dynamic-fields-values .values-wrapper .single-field-value .title{font-size:12px;font-weight:500;width:140px;word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value .value{font-size:12px;width:calc(100% - 140px);word-break:break-word}.dynamic-fields-values .values-wrapper .single-field-value:last-child{border-bottom:none}\n"] }]
15386
+ }], ctorParameters: () => [{ type: i1$1.TranslateService }, { type: TranslationService }, { type: AppConfigService }], propDecorators: { form: [{
15387
+ type: Input
15388
+ }], data: [{
15389
+ type: Input
15390
+ }], classType: [{
15391
+ type: Input
15392
+ }] } });
15186
15393
 
15187
15394
  class UserSelectorWrapperComponent {
15188
15395
  constructor() {
@@ -15249,7 +15456,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
15249
15456
  type: Output
15250
15457
  }] } });
15251
15458
 
15252
- const editForm$1 = () => baseEditForm([
15459
+ const editForm = () => baseEditForm([
15253
15460
  {
15254
15461
  key: 'display',
15255
15462
  components: [
@@ -15263,67 +15470,17 @@ const editForm$1 = () => baseEditForm([
15263
15470
  ]
15264
15471
  }
15265
15472
  ]);
15266
- const COMPONENT_OPTIONS$1 = {
15473
+ const COMPONENT_OPTIONS = {
15267
15474
  type: 'userSelector',
15268
15475
  selector: 'user-selector',
15269
15476
  title: 'userSelector',
15270
15477
  group: 'basic',
15271
15478
  icon: 'fa fa-star',
15272
15479
  fieldOptions: ['customOptions', 'customOptions.multipleMode'],
15273
- editForm: editForm$1
15274
- };
15275
- function registerUserSelectorComponent(injector) {
15276
- registerCustomFormioComponent(COMPONENT_OPTIONS$1, UserSelectorWrapperComponent, injector);
15277
- }
15278
-
15279
- class VocabularyWrapperComponent {
15280
- constructor() {
15281
- this.valueChange = new EventEmitter();
15282
- }
15283
- executeFunction(event) {
15284
- this.valueChange.emit(event);
15285
- }
15286
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: VocabularyWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
15287
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: VocabularyWrapperComponent, isStandalone: false, selector: "app-vocabulary-wrapper", inputs: { value: "value", vocId: "vocId", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<app-dynamic-form-vocabulary-item *ngIf=\"vocId\"\r\n[bindLabel]=\"'displayLabel'\"\r\n[bindValue]=\"'id'\"\r\n[(ngModel)]=\"value\"\r\n(onSelecting)=\"executeFunction($event)\"\r\n[vocabularyType]=\"vocId\">\r\n</app-dynamic-form-vocabulary-item>\r\n<!-- <div>\r\n {{vocId | json}}\r\n</div> -->\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DynamicFormVocabularyItemComponent, selector: "app-dynamic-form-vocabulary-item", inputs: ["id", "onlyIds", "bindValue", "bindLabel", "placeholder", "multiple", "searchable", "closeOnSelect", "hideSelectedItems", "disabled", "vocabularyType", "label", "cacheable", "shwoAllValues", "emitVocabulryRecordOnSelect"], outputs: ["onSelecting"] }] }); }
15288
- }
15289
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: VocabularyWrapperComponent, decorators: [{
15290
- type: Component,
15291
- args: [{ selector: 'app-vocabulary-wrapper', standalone: false, template: "<app-dynamic-form-vocabulary-item *ngIf=\"vocId\"\r\n[bindLabel]=\"'displayLabel'\"\r\n[bindValue]=\"'id'\"\r\n[(ngModel)]=\"value\"\r\n(onSelecting)=\"executeFunction($event)\"\r\n[vocabularyType]=\"vocId\">\r\n</app-dynamic-form-vocabulary-item>\r\n<!-- <div>\r\n {{vocId | json}}\r\n</div> -->\r\n" }]
15292
- }], ctorParameters: () => [], propDecorators: { value: [{
15293
- type: Input
15294
- }], vocId: [{
15295
- type: Input
15296
- }], disabled: [{
15297
- type: Input
15298
- }], valueChange: [{
15299
- type: Output
15300
- }] } });
15301
-
15302
- const editForm = () => baseEditForm([
15303
- {
15304
- key: 'display',
15305
- components: [
15306
- {
15307
- type: 'textfield',
15308
- label: 'vocabulary key',
15309
- key: 'customOptions.vocId',
15310
- disabled: false,
15311
- weight: -1
15312
- }
15313
- ]
15314
- }
15315
- ]);
15316
- const COMPONENT_OPTIONS = {
15317
- type: 'vocabulary',
15318
- selector: 'vocabulary-selector',
15319
- title: 'vocabulary',
15320
- group: 'basic',
15321
- icon: 'fa fa-star',
15322
- fieldOptions: ['customOptions', 'customOptions.vocId'],
15323
15480
  editForm
15324
15481
  };
15325
- function registerVocabularyComponent(injector) {
15326
- registerCustomFormioComponent(COMPONENT_OPTIONS, VocabularyWrapperComponent, injector);
15482
+ function registerUserSelectorComponent(injector) {
15483
+ registerCustomFormioComponent(COMPONENT_OPTIONS, UserSelectorWrapperComponent, injector);
15327
15484
  }
15328
15485
 
15329
15486
  /**
@@ -15336,7 +15493,7 @@ class DynamicFormModule {
15336
15493
  registerVocabularyComponent,
15337
15494
  registerDateComponent,
15338
15495
  registerToggleComponent,
15339
- registerUserSelectorComponent,
15496
+ registerUserSelectorComponent
15340
15497
  ];
15341
15498
  this.formioRegisters().forEach((registerar) => {
15342
15499
  try {
@@ -15365,6 +15522,7 @@ class DynamicFormModule {
15365
15522
  DynamicFormSelectUsersComponent,
15366
15523
  DynamicFormSelectUserFilterComponent,
15367
15524
  DynamicFormSelectTagComponent,
15525
+ SearchAutocompleteComponent,
15368
15526
  VocabularyWrapperComponent,
15369
15527
  DateWrapperComponent,
15370
15528
  DynamicFormComponent,
@@ -15397,6 +15555,7 @@ class DynamicFormModule {
15397
15555
  DirectiveModule,
15398
15556
  MatTooltipModule,
15399
15557
  TranslateModule,
15558
+ AutocompleteLibModule,
15400
15559
  FormioModule,
15401
15560
  MatDialogModule,
15402
15561
  PipesModule,
@@ -15418,6 +15577,7 @@ class DynamicFormModule {
15418
15577
  DynamicFormSelectUsersComponent,
15419
15578
  DynamicFormSelectUserFilterComponent,
15420
15579
  DynamicFormSelectTagComponent,
15580
+ SearchAutocompleteComponent,
15421
15581
  DynamicFormComponent,
15422
15582
  DynamicFormBuilderComponent,
15423
15583
  DynamicFormFieldComponent,
@@ -15448,6 +15608,7 @@ class DynamicFormModule {
15448
15608
  DirectiveModule,
15449
15609
  MatTooltipModule,
15450
15610
  TranslateModule,
15611
+ AutocompleteLibModule,
15451
15612
  FormioModule,
15452
15613
  MatDialogModule,
15453
15614
  PipesModule,
@@ -15481,11 +15642,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
15481
15642
  DirectiveModule,
15482
15643
  MatTooltipModule,
15483
15644
  TranslateModule,
15645
+ AutocompleteLibModule,
15484
15646
  FormioModule,
15485
15647
  MatDialogModule,
15486
15648
  PipesModule,
15487
15649
  NuxeoDialogModule,
15488
- HightLightTextPipe,
15650
+ HightLightTextPipe
15489
15651
  ],
15490
15652
  declarations: [
15491
15653
  DynamicFormComponent,
@@ -15507,6 +15669,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
15507
15669
  DynamicFormSelectUsersComponent,
15508
15670
  DynamicFormSelectUserFilterComponent,
15509
15671
  DynamicFormSelectTagComponent,
15672
+ SearchAutocompleteComponent,
15510
15673
  VocabularyWrapperComponent,
15511
15674
  DateWrapperComponent,
15512
15675
  DynamicFormComponent,
@@ -15515,7 +15678,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
15515
15678
  ToggleWrapperComponent,
15516
15679
  DynamicFormViewerComponent,
15517
15680
  DepartmentFormComponent,
15518
- UserSelectorWrapperComponent,
15681
+ UserSelectorWrapperComponent
15519
15682
  ],
15520
15683
  exports: [
15521
15684
  TreeviewSelectComponent,
@@ -15535,14 +15698,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
15535
15698
  DynamicFormSelectUsersComponent,
15536
15699
  DynamicFormSelectUserFilterComponent,
15537
15700
  DynamicFormSelectTagComponent,
15701
+ SearchAutocompleteComponent,
15538
15702
  DynamicFormComponent,
15539
15703
  DynamicFormBuilderComponent,
15540
15704
  DynamicFormFieldComponent,
15541
15705
  DynamicFormViewerComponent,
15542
15706
  TranslateModule,
15543
- DepartmentFormComponent,
15707
+ DepartmentFormComponent
15544
15708
  ],
15545
- providers: [{ provide: OwlDateTimeIntl, useClass: owlDateTimeIntl }],
15709
+ providers: [{ provide: OwlDateTimeIntl, useClass: owlDateTimeIntl }]
15546
15710
  }]
15547
15711
  }], ctorParameters: () => [{ type: i0.Injector }] });
15548
15712
 
@@ -16935,7 +17099,7 @@ class TableColumnsTogglerComponent extends BaseComponent {
16935
17099
  }
16936
17100
  }
16937
17101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableColumnsTogglerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
16938
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TableColumnsTogglerComponent, isStandalone: false, selector: "table-columns-toggler", inputs: { prefix: "prefix", sortable: "sortable", columns: "columns" }, outputs: { columnsChanged: "columnsChanged" }, host: { classAttribute: "columns-toggler" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button mat-stroked-button [matMenuTriggerFor]=\"menu\" class=\"columns-toggler__button\">\r\n\t<mat-icon inline> tune </mat-icon>\r\n\t{{ 'TABLE.toggleColumns' | translate }}\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"p-0\" xPosition=\"before\">\r\n\t<div\r\n\t\tclass=\"flex justify-between mb-2 columns-toggler__all top-0 pb-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t>\r\n\t\t<mat-checkbox\r\n\t\t\t*ngIf=\"!!columns?.length && !enableSorting\"\r\n\t\t\t(change)=\"onCheckAllChange($event)\"\r\n\t\t\t[checked]=\"columnsSelection.selected.length > 0 && columnsSelection.selected.length === columns?.length\"\r\n\t\t\t[indeterminate]=\"columnsSelection.selected.length > 0 && columnsSelection.selected.length < columns?.length\"\r\n\t\t>\r\n\t\t\t{{ 'FILTERS.all' | translate }}\r\n\t\t</mat-checkbox>\r\n\r\n\t\t<button class=\"action-btn apply-sorting-btn\" *ngIf=\"enableSorting\" (click)=\"applySort()\">\r\n\t\t\t{{ 'TABLE.applySorting' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<mat-icon\r\n\t\t\trole=\"button\"\r\n\t\t\t(click)=\"toggleSorting()\"\r\n\t\t\t*ngIf=\"sortEnabled\"\r\n\t\t\t[title]=\"(enableSorting ? 'TABLE.disableSorting' : 'TABLE.enableSorting') | translate\"\r\n\t\t\t[matTooltip]=\"(enableSorting ? 'TABLE.disableSorting' : 'TABLE.enableSorting') | translate\"\r\n\t\t\tclass=\"columns-toggler__sort-icon\"\r\n\t\t>\r\n\t\t\t{{ enableSorting ? 'playlist_remove' : 'format_line_spacing' }}\r\n\t\t</mat-icon>\r\n\t</div>\r\n\r\n\t<ul\r\n\t\tclass=\"columns-toggler__columns py-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t[dir]=\"direction\"\r\n\t\tcdkDropList\r\n\t\t[cdkDropListDisabled]=\"!enableSorting && !sortEnabled\"\r\n\t\t(cdkDropListDropped)=\"drop($event)\"\r\n\t>\r\n\t\t<li\r\n\t\t\t*ngFor=\"let col of columns\"\r\n\t\t\tclass=\"mb-2 column-control\"\r\n\t\t\tcdkDrag\r\n\t\t\t[cdkDragDisabled]=\"!enableSorting\"\r\n\t\t\t[class.sorting-enabled]=\"enableSorting\"\r\n\t\t\t[class.column-control__hidden]=\"!columnsSelection.isSelected(col)\"\r\n\t\t>\r\n\t\t\t<mat-checkbox [checked]=\"columnsSelection.isSelected(col)\" (change)=\"columnsSelection.toggle(col)\">\r\n\t\t\t\t{{ prefix + col.name | translate }}\r\n\t\t\t</mat-checkbox>\r\n\t\t</li>\r\n\t</ul>\r\n\t<ul\r\n\t\tclass=\"columns-toggler__frozen-columns py-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t*ngIf=\"sortEnabled && frozenColumns?.length\"\r\n\t>\r\n\t\t<li *ngFor=\"let col of frozenColumns\" class=\"column-control\">\r\n\t\t\t<mat-checkbox [checked]=\"columnsSelection.isSelected(col)\" (change)=\"columnsSelection.toggle(col)\">\r\n\t\t\t\t{{ prefix + col.name | translate }}\r\n\t\t\t</mat-checkbox>\r\n\t\t</li>\r\n\t</ul>\r\n</mat-menu>\r\n", styles: [".columns-toggler__all{border-bottom:var(--columns-toggler-border, solid #f0f0f0)}.columns-toggler__sort-icon{color:var(--sort-icon-color, #000)}.columns-toggler__columns{max-height:var(--cols-max-height, 275px);overflow-y:auto}.columns-toggler__columns .check-all-box{background:var(--check-background-color, #fff)}.columns-toggler__columns .column-control.sorting-enabled ::ng-deep,.columns-toggler__columns .column-control.sorting-enabled ::ng-deep .mat-checkbox-label{cursor:move}.columns-toggler__columns .column-control.sorting-enabled.cdk-drag-disabled{cursor:not-allowed;background:var(--drag-disabled-background, transparent);box-shadow:0 0 0 3px var(--drag-disabled-background, transparent)}.columns-toggler__columns .column-control__hidden{opacity:.7}.columns-toggler__columns .column-control.cdk-drag-preview{box-sizing:border-box;list-style:none;background:var(--secondary-color);box-shadow:var(--drag-preview-shadow, 0 0 0 3px var(--secondary-color), 0 1px 12px -4px #b8b8b8)}.columns-toggler__columns .cdk-drag-placeholder{opacity:0}.columns-toggler__frozen-columns{border-top:var(--frozen-cols-border-top, 2px solid #ccc);max-height:var(--frozen-cols--max-height, 150px);overflow-y:auto}::ng-deep .column-control.cdk-drag-preview{box-sizing:border-box;list-style:none;background:var(--secondary-color);box-shadow:var(--drag-preview-shadow, 0 0 0 3px var(--secondary-color), 0 1px 12px -4px #b8b8b8)}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.columns-toggler__sort-icon{color:var(--icon-color)!important}.apply-sorting-btn{background-color:var(--logo-button-bg);color:var(--main-text)}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i2$1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i3$3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4$2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8$1.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i8$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: TableColumnsTogglerComponent, isStandalone: false, selector: "table-columns-toggler", inputs: { prefix: "prefix", sortable: "sortable", columns: "columns" }, outputs: { columnsChanged: "columnsChanged" }, host: { classAttribute: "columns-toggler" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button mat-stroked-button [matMenuTriggerFor]=\"menu\" class=\"columns-toggler__button\">\r\n\t<mat-icon inline> tune </mat-icon>\r\n\t{{ 'TABLE.toggleColumns' | translate }}\r\n</button>\r\n<mat-menu #menu=\"matMenu\" class=\"p-0\" xPosition=\"before\">\r\n\t<div\r\n\t\tclass=\"flex justify-between mb-2 columns-toggler__all top-0 pb-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t>\r\n\t\t<mat-checkbox\r\n\t\t\t*ngIf=\"!!columns?.length && !enableSorting\"\r\n\t\t\t(change)=\"onCheckAllChange($event)\"\r\n\t\t\t[checked]=\"columnsSelection.selected.length > 0 && columnsSelection.selected.length === columns?.length\"\r\n\t\t\t[indeterminate]=\"columnsSelection.selected.length > 0 && columnsSelection.selected.length < columns?.length\"\r\n\t\t>\r\n\t\t\t{{ 'FILTERS.all' | translate }}\r\n\t\t</mat-checkbox>\r\n\r\n\t\t<button class=\"action-btn apply-sorting-btn\" *ngIf=\"enableSorting\" (click)=\"applySort()\">\r\n\t\t\t{{ 'TABLE.applySorting' | translate }}\r\n\t\t</button>\r\n\r\n\t\t<mat-icon\r\n\t\t\trole=\"button\"\r\n\t\t\t(click)=\"toggleSorting()\"\r\n\t\t\t*ngIf=\"sortEnabled\"\r\n\t\t\t[title]=\"(enableSorting ? 'TABLE.disableSorting' : 'TABLE.enableSorting') | translate\"\r\n\t\t\t[matTooltip]=\"(enableSorting ? 'TABLE.disableSorting' : 'TABLE.enableSorting') | translate\"\r\n\t\t\tclass=\"columns-toggler__sort-icon\"\r\n\t\t>\r\n\t\t\t{{ enableSorting ? 'playlist_remove' : 'format_line_spacing' }}\r\n\t\t</mat-icon>\r\n\t</div>\r\n\r\n\t<ul\r\n\t\tclass=\"columns-toggler__columns py-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t[dir]=\"direction\"\r\n\t\tcdkDropList\r\n\t\t[cdkDropListDisabled]=\"!enableSorting && !sortEnabled\"\r\n\t\t(cdkDropListDropped)=\"drop($event)\"\r\n\t>\r\n\t\t<li\r\n\t\t\t*ngFor=\"let col of columns\"\r\n\t\t\tclass=\"mb-2 column-control\"\r\n\t\t\tcdkDrag\r\n\t\t\t[cdkDragDisabled]=\"!enableSorting\"\r\n\t\t\t[class.sorting-enabled]=\"enableSorting\"\r\n\t\t\t[class.column-control__hidden]=\"!columnsSelection.isSelected(col)\"\r\n\t\t>\r\n\t\t\t<mat-checkbox [checked]=\"columnsSelection.isSelected(col)\" (change)=\"columnsSelection.toggle(col)\">\r\n\t\t\t\t{{ prefix + col.name | translate }}\r\n\t\t\t</mat-checkbox>\r\n\t\t</li>\r\n\t</ul>\r\n\t<ul\r\n\t\tclass=\"columns-toggler__frozen-columns py-2 px-3\"\r\n\t\t(click)=\"$event.stopPropagation()\"\r\n\t\t*ngIf=\"sortEnabled && frozenColumns?.length\"\r\n\t>\r\n\t\t<li *ngFor=\"let col of frozenColumns\" class=\"column-control\">\r\n\t\t\t<mat-checkbox [checked]=\"columnsSelection.isSelected(col)\" (change)=\"columnsSelection.toggle(col)\">\r\n\t\t\t\t{{ prefix + col.name | translate }}\r\n\t\t\t</mat-checkbox>\r\n\t\t</li>\r\n\t</ul>\r\n</mat-menu>\r\n", styles: [".columns-toggler__all{border-bottom:var(--columns-toggler-border, solid #f0f0f0)}.columns-toggler__sort-icon{color:var(--sort-icon-color, #000)}.columns-toggler__columns{max-height:var(--cols-max-height, 275px);overflow-y:auto}.columns-toggler__columns .check-all-box{background:var(--check-background-color, #fff)}.columns-toggler__columns .column-control.sorting-enabled ::ng-deep,.columns-toggler__columns .column-control.sorting-enabled ::ng-deep .mat-checkbox-label{cursor:move}.columns-toggler__columns .column-control.sorting-enabled.cdk-drag-disabled{cursor:not-allowed;background:var(--drag-disabled-background, transparent);box-shadow:0 0 0 3px var(--drag-disabled-background, transparent)}.columns-toggler__columns .column-control__hidden{opacity:.7}.columns-toggler__columns .column-control.cdk-drag-preview{box-sizing:border-box;list-style:none;background:var(--secondary-color);box-shadow:var(--drag-preview-shadow, 0 0 0 3px var(--secondary-color), 0 1px 12px -4px #b8b8b8)}.columns-toggler__columns .cdk-drag-placeholder{opacity:0}.columns-toggler__frozen-columns{border-top:var(--frozen-cols-border-top, 2px solid #ccc);max-height:var(--frozen-cols--max-height, 150px);overflow-y:auto}::ng-deep .column-control.cdk-drag-preview{box-sizing:border-box;list-style:none;background:var(--secondary-color);box-shadow:var(--drag-preview-shadow, 0 0 0 3px var(--secondary-color), 0 1px 12px -4px #b8b8b8)}::ng-deep .cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.columns-toggler__sort-icon{color:var(--icon-color)!important}.apply-sorting-btn{background-color:var(--logo-button-bg);color:var(--main-text)}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$3.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "directive", type: i2$1.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i3$3.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i4$2.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i4$3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8$2.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i8$2.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
16939
17103
  }
16940
17104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: TableColumnsTogglerComponent, decorators: [{
16941
17105
  type: Component,
@@ -17599,7 +17763,7 @@ class FilterAutocompleteInputComponent {
17599
17763
  ngOnInit() {
17600
17764
  window.addEventListener('scroll', this.scrollHandler, true);
17601
17765
  const minLength = this.searchConfig?.minLength || 2;
17602
- this.options$ = this.searchCtrl.valueChanges.pipe(debounceTime$1(this.searchConfig?.debounceTime || 500), distinctUntilChanged(), filter$1((val) => !!val && val.length > minLength), switchMap((searchText) => {
17766
+ this.options$ = this.searchCtrl.valueChanges.pipe(debounceTime(this.searchConfig?.debounceTime || 500), distinctUntilChanged(), filter$1((val) => !!val && val.length > minLength), switchMap((searchText) => {
17603
17767
  if (this._selectionMade) {
17604
17768
  this._selectionMade = false;
17605
17769
  return of([]);
@@ -19036,7 +19200,7 @@ class NdfDatepickerComponent extends BaseDateValueAccessor {
19036
19200
  }
19037
19201
  _listenToValueChange() {
19038
19202
  this.dateControl.valueChanges
19039
- .pipe(debounceTime$1(100), map((data) => this.range
19203
+ .pipe(debounceTime(100), map((data) => this.range
19040
19204
  ? this.calendarService.prepareRangeOutputValue(data)
19041
19205
  : this.calendarService.prepareOutputValue(data)), distinctUntilChanged((a, b) => ___default.isEqual(a?.value, b?.value)))
19042
19206
  .subscribe((value) => {
@@ -20230,7 +20394,7 @@ class AggregationAutocompleteComponent extends BaseAggregationField {
20230
20394
  }
20231
20395
  _changeValueListener() {
20232
20396
  this.internalValue.valueChanges
20233
- .pipe(distinctUntilChanged(), debounceTime$1(200), takeUntil(this.destroy$))
20397
+ .pipe(distinctUntilChanged(), debounceTime(200), takeUntil(this.destroy$))
20234
20398
  .subscribe((obj) => {
20235
20399
  this.selectedValueSub.next(!obj || typeof obj === 'string' ? obj : obj.value);
20236
20400
  });
@@ -20742,7 +20906,7 @@ class PredicateDateInputComponent extends BasePredicateField {
20742
20906
  }
20743
20907
  ngOnInit() {
20744
20908
  this.formDate.valueChanges
20745
- .pipe(map((date) => this._prepareDateToEmit(date)), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), debounceTime$1(this.debounceTime), takeUntil(this.destroy$))
20909
+ .pipe(map((date) => this._prepareDateToEmit(date)), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), debounceTime(this.debounceTime), takeUntil(this.destroy$))
20746
20910
  .subscribe((res) => {
20747
20911
  this._isFieldDirty = !!res;
20748
20912
  this.onChange(res);
@@ -20974,7 +21138,7 @@ class PredicateTextInputComponent extends BasePredicateField {
20974
21138
  ngOnInit() {
20975
21139
  this._prepareSelectList();
20976
21140
  this.internalValue.valueChanges
20977
- .pipe(distinctUntilChanged(), debounceTime$1(this.renderOptions?.debounceTime || DEFAULT_DEBOUNCE_TIME), filter$1((value) => {
21141
+ .pipe(distinctUntilChanged(), debounceTime(this.renderOptions?.debounceTime || DEFAULT_DEBOUNCE_TIME), filter$1((value) => {
20978
21142
  if (this.renderOptions.inputType !== 'email' || !value) {
20979
21143
  return true;
20980
21144
  }
@@ -21476,7 +21640,7 @@ class FiltersPanelComponent extends BaseFiltersPanel {
21476
21640
  }
21477
21641
  _handleFormGroupChanges() {
21478
21642
  this.formGroup.valueChanges
21479
- .pipe(debounceTime$1(300), map((formValue) => {
21643
+ .pipe(debounceTime(300), map((formValue) => {
21480
21644
  const data = this._evaluateConditions(formValue);
21481
21645
  return removeEmptyKeys(data);
21482
21646
  }), distinctUntilChanged((a, b) => ___default.isEqual(a, b)), takeUntil(this.destroy$))
@@ -22061,7 +22225,7 @@ class TextSearchComponent extends DestroySubject {
22061
22225
  ngOnInit() {
22062
22226
  if (this.searchConfig.searchMode === 'realTime') {
22063
22227
  this.internalValue.valueChanges
22064
- .pipe(distinctUntilChanged(), debounceTime$1(this.searchConfig?.debounceTime || DEFAULT_DEBOUNCE_TIME), takeUntil(this.destroy$))
22228
+ .pipe(distinctUntilChanged(), debounceTime(this.searchConfig?.debounceTime || DEFAULT_DEBOUNCE_TIME), takeUntil(this.destroy$))
22065
22229
  .subscribe((res) => {
22066
22230
  this.onSearch(res);
22067
22231
  });
@@ -23910,7 +24074,7 @@ class DynamicSearchComponent {
23910
24074
  this.breakpoint();
23911
24075
  this.searchForm
23912
24076
  .get('text')
23913
- .valueChanges.pipe(debounceTime$1(500))
24077
+ .valueChanges.pipe(debounceTime(500))
23914
24078
  .subscribe((res) => {
23915
24079
  this.search(res).subscribe((results) => {
23916
24080
  this.resultSets = results;
@@ -24385,6 +24549,7 @@ class CorrespondenceRelationModule {
24385
24549
  MatIconModule,
24386
24550
  NgSelectModule,
24387
24551
  SelectModule,
24552
+ AutocompleteLibModule,
24388
24553
  LayoutModule,
24389
24554
  MatChipsModule,
24390
24555
  MatMenuModule,
@@ -24406,6 +24571,7 @@ class CorrespondenceRelationModule {
24406
24571
  MatIconModule,
24407
24572
  NgSelectModule,
24408
24573
  SelectModule,
24574
+ AutocompleteLibModule,
24409
24575
  LayoutModule,
24410
24576
  MatChipsModule,
24411
24577
  MatMenuModule,
@@ -24439,6 +24605,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
24439
24605
  MatIconModule,
24440
24606
  NgSelectModule,
24441
24607
  SelectModule,
24608
+ AutocompleteLibModule,
24442
24609
  LayoutModule,
24443
24610
  MatChipsModule,
24444
24611
  MatMenuModule,
@@ -27343,7 +27510,7 @@ class DynamicChartComponent {
27343
27510
  listenToWindowResize() {
27344
27511
  this.ngZone.runOutsideAngular(() => {
27345
27512
  fromEvent(window, 'resize')
27346
- .pipe(debounceTime$1(300), takeUntil(this.onDestroy$))
27513
+ .pipe(debounceTime(300), takeUntil(this.onDestroy$))
27347
27514
  .subscribe(() => {
27348
27515
  if (this.chartObj) {
27349
27516
  this.chartObj.resize();
@@ -27352,7 +27519,7 @@ class DynamicChartComponent {
27352
27519
  });
27353
27520
  }
27354
27521
  createChart() {
27355
- this.creatChart.pipe(debounceTime$1(500)).subscribe((res) => {
27522
+ this.creatChart.pipe(debounceTime(500)).subscribe((res) => {
27356
27523
  this.getData().subscribe((data) => {
27357
27524
  this.data = data;
27358
27525
  this.changeDetector.detectChanges();
@@ -27397,7 +27564,7 @@ class DynamicChartComponent {
27397
27564
  }
27398
27565
  createChartWithoutPP() {
27399
27566
  this.isFetching = true;
27400
- this.creatChart.pipe(debounceTime$1(300)).subscribe((res) => {
27567
+ this.creatChart.pipe(debounceTime(300)).subscribe((res) => {
27401
27568
  this.data = this.inputChartData;
27402
27569
  this.changeDetector.detectChanges();
27403
27570
  let randomColors = {};
@@ -30485,7 +30652,7 @@ class SpellCheckerTextFieldComponent extends BaseSelector {
30485
30652
  }
30486
30653
  ngOnInit() {
30487
30654
  this.control.valueChanges
30488
- .pipe(debounceTime$1(500), takeUntil(this.destroy$))
30655
+ .pipe(debounceTime(500), takeUntil(this.destroy$))
30489
30656
  .subscribe((res) => {
30490
30657
  if (res && this.trackChange) {
30491
30658
  this.checkFromText.emit(true);
@@ -36170,7 +36337,7 @@ class ChartComponent extends BaseChartComponent {
36170
36337
  listenToWindowResize() {
36171
36338
  this._ngZone.runOutsideAngular(() => {
36172
36339
  fromEvent(window, 'resize')
36173
- .pipe(debounceTime$1(300), filter$1(() => !!this._chart), takeUntil(this.destroy$))
36340
+ .pipe(debounceTime(300), filter$1(() => !!this._chart), takeUntil(this.destroy$))
36174
36341
  .subscribe(() => {
36175
36342
  requestAnimationFrame(() => this._chart?.resize());
36176
36343
  });
@@ -40226,7 +40393,7 @@ class EditorSettingsComponent {
40226
40393
  this.settingsList = [...this.settingsList, item];
40227
40394
  }
40228
40395
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EditorSettingsComponent, deps: [{ token: ComponentRegisterService, optional: true }, { token: EvaluatorsService, optional: true }, { token: NdfTransformService, optional: true }, { token: ChartDataTransformers, optional: true }, { token: ChartPluginsRegistry, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
40229
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: EditorSettingsComponent, isStandalone: false, selector: "app-editor-settings", ngImport: i0, template: "<cdk-accordion class=\"settings-list\">\r\n\t<cdk-accordion-item\r\n\t\t*ngFor=\"let item of settingsList; let index = index\"\r\n\t\t#accordionItem=\"cdkAccordionItem\"\r\n\t\tclass=\"settings-list__item\"\r\n\t\trole=\"button\"\r\n\t\ttabindex=\"0\"\r\n\t\t[attr.id]=\"'accordion-header-' + index\"\r\n\t\t[attr.aria-expanded]=\"accordionItem.expanded\"\r\n\t\t[attr.aria-controls]=\"'accordion-body-' + index\"\r\n\t>\r\n\t\t<div class=\"settings-list__item__header\" (click)=\"accordionItem.toggle()\">\r\n\t\t\t<span class=\"settings-list__item__header__title truncate\">\r\n\t\t\t\t{{ item.name | translate }}\r\n\t\t\t</span>\r\n\r\n\t\t\t<mat-icon class=\"settings-list__item__header__icon\">\r\n\t\t\t\t{{ accordionItem.expanded ? 'expand_less' : 'expand_more' }}\r\n\t\t\t</mat-icon>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"settings-list__item__body\"\r\n\t\t\trole=\"region\"\r\n\t\t\t[style.display]=\"accordionItem.expanded ? '' : 'none'\"\r\n\t\t\t[attr.id]=\"'accordion-body-' + index\"\r\n\t\t\t[attr.aria-labelledby]=\"'accordion-header-' + index\"\r\n\t\t>\r\n\t\t\t<ul class=\"keys-list\">\r\n\t\t\t\t<li\r\n\t\t\t\t\t*ngFor=\"let key of item.keys\"\r\n\t\t\t\t\tclass=\"keys-list__key\"\r\n\t\t\t\t\t[appCopyToClipboard]=\"key\"\r\n\t\t\t\t\t[matTooltip]=\"'JSON_EDITOR.clickToCopy' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ key }}\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</cdk-accordion-item>\r\n</cdk-accordion>\r\n", styles: [".settings-list{padding:var(--esl-padding, .5rem);color:var(--esl-color, inherit)}.settings-list__item__header{display:flex;justify-content:space-between;align-items:center;min-width:0;padding:var(--esl-header-padding, .5rem);border-bottom:var(--esl-header-border, 1px solid var(--border-color))}.settings-list__item__header__title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keys-list{font-family:var(--keys-list-font-family, system-ui);font-size:var(--keys-list-font-size, .9rem);margin-block:var(--keys-list-margin, .5rem)}.keys-list__key{margin-bottom:.2rem;color:var(--keys-text-color, inherit);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-block:.15rem}.keys-list__key:hover{background:var(--keys-hover-background, #f5f5f5)}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8$2.CdkAccordion, selector: "cdk-accordion, [cdkAccordion]", inputs: ["multi"], exportAs: ["cdkAccordion"] }, { kind: "directive", type: i8$2.CdkAccordionItem, selector: "cdk-accordion-item, [cdkAccordionItem]", inputs: ["expanded", "disabled"], outputs: ["closed", "opened", "destroyed", "expandedChange"], exportAs: ["cdkAccordionItem"] }, { kind: "directive", type: CopyToClipboardDirective, selector: "[appCopyToClipboard]", inputs: ["appCopyToClipboard"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
40396
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: EditorSettingsComponent, isStandalone: false, selector: "app-editor-settings", ngImport: i0, template: "<cdk-accordion class=\"settings-list\">\r\n\t<cdk-accordion-item\r\n\t\t*ngFor=\"let item of settingsList; let index = index\"\r\n\t\t#accordionItem=\"cdkAccordionItem\"\r\n\t\tclass=\"settings-list__item\"\r\n\t\trole=\"button\"\r\n\t\ttabindex=\"0\"\r\n\t\t[attr.id]=\"'accordion-header-' + index\"\r\n\t\t[attr.aria-expanded]=\"accordionItem.expanded\"\r\n\t\t[attr.aria-controls]=\"'accordion-body-' + index\"\r\n\t>\r\n\t\t<div class=\"settings-list__item__header\" (click)=\"accordionItem.toggle()\">\r\n\t\t\t<span class=\"settings-list__item__header__title truncate\">\r\n\t\t\t\t{{ item.name | translate }}\r\n\t\t\t</span>\r\n\r\n\t\t\t<mat-icon class=\"settings-list__item__header__icon\">\r\n\t\t\t\t{{ accordionItem.expanded ? 'expand_less' : 'expand_more' }}\r\n\t\t\t</mat-icon>\r\n\t\t</div>\r\n\t\t<div\r\n\t\t\tclass=\"settings-list__item__body\"\r\n\t\t\trole=\"region\"\r\n\t\t\t[style.display]=\"accordionItem.expanded ? '' : 'none'\"\r\n\t\t\t[attr.id]=\"'accordion-body-' + index\"\r\n\t\t\t[attr.aria-labelledby]=\"'accordion-header-' + index\"\r\n\t\t>\r\n\t\t\t<ul class=\"keys-list\">\r\n\t\t\t\t<li\r\n\t\t\t\t\t*ngFor=\"let key of item.keys\"\r\n\t\t\t\t\tclass=\"keys-list__key\"\r\n\t\t\t\t\t[appCopyToClipboard]=\"key\"\r\n\t\t\t\t\t[matTooltip]=\"'JSON_EDITOR.clickToCopy' | translate\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ key }}\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</cdk-accordion-item>\r\n</cdk-accordion>\r\n", styles: [".settings-list{padding:var(--esl-padding, .5rem);color:var(--esl-color, inherit)}.settings-list__item__header{display:flex;justify-content:space-between;align-items:center;min-width:0;padding:var(--esl-header-padding, .5rem);border-bottom:var(--esl-header-border, 1px solid var(--border-color))}.settings-list__item__header__title{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.keys-list{font-family:var(--keys-list-font-family, system-ui);font-size:var(--keys-list-font-size, .9rem);margin-block:var(--keys-list-margin, .5rem)}.keys-list__key{margin-bottom:.2rem;color:var(--keys-text-color, inherit);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-block:.15rem}.keys-list__key:hover{background:var(--keys-hover-background, #f5f5f5)}\n"], dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i8$3.CdkAccordion, selector: "cdk-accordion, [cdkAccordion]", inputs: ["multi"], exportAs: ["cdkAccordion"] }, { kind: "directive", type: i8$3.CdkAccordionItem, selector: "cdk-accordion-item, [cdkAccordionItem]", inputs: ["expanded", "disabled"], outputs: ["closed", "opened", "destroyed", "expandedChange"], exportAs: ["cdkAccordionItem"] }, { kind: "directive", type: CopyToClipboardDirective, selector: "[appCopyToClipboard]", inputs: ["appCopyToClipboard"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }] }); }
40230
40397
  }
40231
40398
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EditorSettingsComponent, decorators: [{
40232
40399
  type: Component,
@@ -40811,7 +40978,7 @@ class NdfUploaderService extends BaseService {
40811
40978
  }
40812
40979
  #startExecution() {
40813
40980
  this.#batchFiles
40814
- .pipe(distinctUntilChanged(), debounceTime$1(100), switchMap((batchFiles) => {
40981
+ .pipe(distinctUntilChanged(), debounceTime(100), switchMap((batchFiles) => {
40815
40982
  const filesWithBatchId = batchFiles.filter((file) => file.batchId);
40816
40983
  const filesWithoutBatchId = batchFiles.filter((file) => !file.batchId);
40817
40984
  // const chunkRequests = _flatMap(filesWithBatchId, (file) => file.chunks).filter(
@@ -41147,7 +41314,7 @@ class NdfUploaderBottomSheetComponent extends BaseComponent {
41147
41314
  return item.id;
41148
41315
  }
41149
41316
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NdfUploaderBottomSheetComponent, deps: [{ token: i0.Injector }, { token: NuxeoDialogService }, { token: NdfUploaderService }, { token: NdfUploaderBottomSheetService }, { token: MAT_BOTTOM_SHEET_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
41150
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: NdfUploaderBottomSheetComponent, isStandalone: false, selector: "ndf-uploader-bottom-sheet", usesInheritance: true, ngImport: i0, template: "<mat-expansion-panel [expanded]=\"expanded\" hideToggle>\r\n <mat-expansion-panel-header #panelH (click)=\"panelH._toggle()\">\r\n <div class=\"w-full d-flex justify-content-between\">\r\n <ng-container *ngIf=\"completed$ | async as completed; else generalMsg\">\r\n <ng-container *ngIf=\"completed > 1; else single\">\r\n <div class=\"flex items-center justify-center fw-bold\">\r\n {{\r\n \"UploaderBottomSheet.MultiUploadsComplete\"\r\n | translate : { completed: completed }\r\n }}\r\n </div>\r\n </ng-container>\r\n <ng-template #single>\r\n <div class=\"flex items-center justify-center fw-bold\">\r\n {{ \"UploaderBottomSheet.SingleUploadsComplete\" | translate }}\r\n </div></ng-template\r\n >\r\n </ng-container>\r\n <ng-template #generalMsg>\r\n <div class=\"flex items-center justify-center fw-bold\">\r\n {{ \"UploaderBottomSheet.UploadingData\" | translate }}\r\n </div>\r\n </ng-template>\r\n\r\n <div>\r\n <mat-icon\r\n class=\"icon-size-3.5 mx-2\"\r\n [svgIcon]=\"'icons:plus'\"\r\n (click)=\"$event.stopPropagation(); fileInput.click()\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.CREATE' | translate }}\"\r\n >\r\n </mat-icon>\r\n <input type=\"file\" hidden #fileInput (change)=\"add($event)\" multiple />\r\n\r\n <mat-icon\r\n class=\"icon-size-3.5 mx-2\"\r\n [svgIcon]=\"'icons:open-folder'\"\r\n (click)=\"$event.stopPropagation(); open()\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.ShowUploadedFiles' | translate }}\"\r\n >\r\n </mat-icon>\r\n\r\n <mat-icon\r\n class=\"icon-size-3.5 mx-2\"\r\n [svgIcon]=\"'icons:expand'\"\r\n [ngClass]=\"{\r\n containerOpened: !expanded,\r\n containerClosed: expanded\r\n }\"\r\n (click)=\"$event.stopPropagation(); expanded = !expanded\"\r\n matTooltip=\"{{\r\n (expanded\r\n ? 'UploaderBottomSheet.MINIMIZED'\r\n : 'UploaderBottomSheet.MAXIMIZED'\r\n ) | translate\r\n }}\"\r\n >\r\n </mat-icon>\r\n\r\n <mat-icon\r\n class=\"icon-size-3.5 close-sheet\"\r\n [svgIcon]=\"'icons:cancel-icon'\"\r\n (click)=\"$event.stopPropagation(); dismiss()\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.CLOSE' | translate }}\"\r\n >\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <div>\r\n <div\r\n class=\"file-item d-flex justify-content-between align-items-center py-2 px-5\"\r\n *ngFor=\"\r\n let fileInfo of uploaderBottomSheetService.filesInfo$ | async;\r\n trackBy: trackFile\r\n \"\r\n >\r\n <div class=\"d-flex align-items-center truncate\">\r\n <img\r\n src=\"{{ fileInfo.icon }}\"\r\n class=\"file-icon\"\r\n alt=\"{{ fileInfo.data.name }}\"\r\n />\r\n <span class=\"truncate file-name\">{{ fileInfo.data.name }}</span>\r\n </div>\r\n <div>\r\n <!-- only if user hover the row -->\r\n <span class=\"more-upload-actions align-items-center\">\r\n <!-- cancel if file : pending or uploading + hover -->\r\n <mat-icon\r\n class=\"icon-size-3.5\"\r\n [svgIcon]=\"'icons:cancel-icon'\"\r\n (click)=\"$event.stopPropagation(); cancel(fileInfo)\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.CANCEL' | translate }}\"\r\n *ngIf=\"\r\n fileInfo.status == fileStatus.Pending ||\r\n fileInfo.status == fileStatus.InProgress\r\n \"\r\n >\r\n </mat-icon>\r\n\r\n <!-- retry if file : canceled or error + hover -->\r\n\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"\r\n fileInfo.metadata?.error == notAllowedFile\r\n ? 'icons:error'\r\n : 'icons:retry'\r\n \"\r\n (click)=\"\r\n $event.stopPropagation();\r\n fileInfo.metadata?.error == notAllowedFile\r\n ? null\r\n : retry(fileInfo)\r\n \"\r\n matTooltip=\"{{\r\n fileInfo.metadata?.error || 'UploaderBottomSheet.RETRY'\r\n | translate\r\n }}\"\r\n *ngIf=\"\r\n fileInfo.status == fileStatus.Canceled ||\r\n fileInfo.status == fileStatus.Error\r\n \"\r\n >\r\n </mat-icon>\r\n\r\n <!-- open file : hover + completed -->\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"'icons:open-folder'\"\r\n (click)=\"$event.stopPropagation(); open(fileInfo)\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.OPEN' | translate }}\"\r\n *ngIf=\"fileInfo.status == fileStatus.Completed\"\r\n >\r\n </mat-icon>\r\n </span>\r\n\r\n <span class=\"base-upload-actions align-items-center\">\r\n <!-- file completed -->\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"'icons:complete'\"\r\n *ngIf=\"fileInfo.status == fileStatus.Completed\"\r\n >\r\n </mat-icon>\r\n\r\n <!-- file has error -->\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"'icons:error'\"\r\n *ngIf=\"fileInfo.status == fileStatus.Error\"\r\n >\r\n </mat-icon>\r\n\r\n <!-- user cancle the file -->\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"'icons:error'\"\r\n *ngIf=\"fileInfo.status == fileStatus.Canceled\"\r\n >\r\n </mat-icon>\r\n\r\n <div\r\n class=\"spinner-container\"\r\n *ngIf=\"\r\n fileInfo.status == fileStatus.Pending ||\r\n fileInfo.status == fileStatus.InProgress\r\n \"\r\n >\r\n <mat-spinner\r\n [value]=\"fileInfo.progress\"\r\n diameter=\"20\"\r\n strokeWidth=\"2\"\r\n color=\"primary\"\r\n ></mat-spinner>\r\n <div\r\n class=\"spinner-percentage\"\r\n *ngIf=\"fileInfo.status == fileStatus.InProgress\"\r\n >\r\n {{ fileInfo.progress | number : \"1.0-0\" }}\r\n </div>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".upload-bottom-sheet{width:var(--upload-bottom-sheet-width, 30vw)!important;padding:var(--upload-bottom-sheet-padding, 0)!important;border-width:var(--upload-bottom-sheet-border-width, 1px);border-radius:var(--upload-bottom-sheet-border-radius, 16px 16px 0 0)!important;position:fixed!important;bottom:var(--upload-bottom-sheet-bottom, 0)!important}.upload-bottom-sheet .mat-icon-button{height:var(--upload-bottom-sheet-mat-icon-button-height, 1.125rem)!important;line-height:var(--upload-bottom-sheet-mat-icon-button-line-height, 1.125rem)!important}.upload-bottom-sheet .mat-expansion-panel-content{overflow-y:auto!important;max-height:var(--upload-bottom-sheet-mat-expansion-panel-max-height, 20vh)!important}.upload-bottom-sheet .mat-expansion-panel-body{padding:var(--upload-bottom-sheet-mat-expansion-panel-body-padding, 0)!important}.upload-bottom-sheet .file-icon{width:var(--upload-bottom-sheet-file-icon-width, 24px);margin-inline-end:var(--upload-bottom-sheet-file-icon-margin-inline-end, 6px);padding:var(--upload-bottom-sheet-file-icon-padding, 2px)}.upload-bottom-sheet .spinner-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.upload-bottom-sheet .spinner-percentage{position:absolute;font-size:var(--upload-bottom-sheet-spinner-percentage-font-size, 10px)}.upload-bottom-sheet .file-name{height:var(--upload-bottom-sheet-file-name-height, 24px)}.upload-bottom-sheet .base-upload-actions{display:flex}.upload-bottom-sheet .more-upload-actions{display:none}.upload-bottom-sheet .file-item:hover{cursor:pointer;background:var(--upload-bottom-sheet-file-item-hover-background, #f5f5f5)}.upload-bottom-sheet .file-item:hover .base-upload-actions{display:none}.upload-bottom-sheet .file-item:hover .more-upload-actions{display:flex}.upload-bottom-sheet .close-sheet{margin-inline-start:var(--upload-bottom-sheet-close-sheet-margin-inline-start, .5rem)}.mat-bottom-sheet-container{padding:unset}[lang=ar] .upload-bottom-sheet{left:1rem!important}[lang=en] .upload-bottom-sheet{right:1rem!important}\n"], dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i8.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i1$5.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$5.DecimalPipe, name: "number" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
41317
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: NdfUploaderBottomSheetComponent, isStandalone: false, selector: "ndf-uploader-bottom-sheet", usesInheritance: true, ngImport: i0, template: "<mat-expansion-panel [expanded]=\"expanded\" hideToggle>\r\n <mat-expansion-panel-header #panelH (click)=\"panelH._toggle()\">\r\n <div class=\"w-full d-flex justify-content-between\">\r\n <ng-container *ngIf=\"completed$ | async as completed; else generalMsg\">\r\n <ng-container *ngIf=\"completed > 1; else single\">\r\n <div class=\"flex items-center justify-center fw-bold\">\r\n {{\r\n \"UploaderBottomSheet.MultiUploadsComplete\"\r\n | translate : { completed: completed }\r\n }}\r\n </div>\r\n </ng-container>\r\n <ng-template #single>\r\n <div class=\"flex items-center justify-center fw-bold\">\r\n {{ \"UploaderBottomSheet.SingleUploadsComplete\" | translate }}\r\n </div></ng-template\r\n >\r\n </ng-container>\r\n <ng-template #generalMsg>\r\n <div class=\"flex items-center justify-center fw-bold\">\r\n {{ \"UploaderBottomSheet.UploadingData\" | translate }}\r\n </div>\r\n </ng-template>\r\n\r\n <div>\r\n <mat-icon\r\n class=\"icon-size-3.5 mx-2\"\r\n [svgIcon]=\"'icons:plus'\"\r\n (click)=\"$event.stopPropagation(); fileInput.click()\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.CREATE' | translate }}\"\r\n >\r\n </mat-icon>\r\n <input type=\"file\" hidden #fileInput (change)=\"add($event)\" multiple />\r\n\r\n <mat-icon\r\n class=\"icon-size-3.5 mx-2\"\r\n [svgIcon]=\"'icons:open-folder'\"\r\n (click)=\"$event.stopPropagation(); open()\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.ShowUploadedFiles' | translate }}\"\r\n >\r\n </mat-icon>\r\n\r\n <mat-icon\r\n class=\"icon-size-3.5 mx-2\"\r\n [svgIcon]=\"'icons:expand'\"\r\n [ngClass]=\"{\r\n containerOpened: !expanded,\r\n containerClosed: expanded\r\n }\"\r\n (click)=\"$event.stopPropagation(); expanded = !expanded\"\r\n matTooltip=\"{{\r\n (expanded\r\n ? 'UploaderBottomSheet.MINIMIZED'\r\n : 'UploaderBottomSheet.MAXIMIZED'\r\n ) | translate\r\n }}\"\r\n >\r\n </mat-icon>\r\n\r\n <mat-icon\r\n class=\"icon-size-3.5 close-sheet\"\r\n [svgIcon]=\"'icons:cancel-icon'\"\r\n (click)=\"$event.stopPropagation(); dismiss()\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.CLOSE' | translate }}\"\r\n >\r\n </mat-icon>\r\n </div>\r\n </div>\r\n </mat-expansion-panel-header>\r\n\r\n <div>\r\n <div\r\n class=\"file-item d-flex justify-content-between align-items-center py-2 px-5\"\r\n *ngFor=\"\r\n let fileInfo of uploaderBottomSheetService.filesInfo$ | async;\r\n trackBy: trackFile\r\n \"\r\n >\r\n <div class=\"d-flex align-items-center truncate\">\r\n <img\r\n src=\"{{ fileInfo.icon }}\"\r\n class=\"file-icon\"\r\n alt=\"{{ fileInfo.data.name }}\"\r\n />\r\n <span class=\"truncate file-name\">{{ fileInfo.data.name }}</span>\r\n </div>\r\n <div>\r\n <!-- only if user hover the row -->\r\n <span class=\"more-upload-actions align-items-center\">\r\n <!-- cancel if file : pending or uploading + hover -->\r\n <mat-icon\r\n class=\"icon-size-3.5\"\r\n [svgIcon]=\"'icons:cancel-icon'\"\r\n (click)=\"$event.stopPropagation(); cancel(fileInfo)\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.CANCEL' | translate }}\"\r\n *ngIf=\"\r\n fileInfo.status == fileStatus.Pending ||\r\n fileInfo.status == fileStatus.InProgress\r\n \"\r\n >\r\n </mat-icon>\r\n\r\n <!-- retry if file : canceled or error + hover -->\r\n\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"\r\n fileInfo.metadata?.error == notAllowedFile\r\n ? 'icons:error'\r\n : 'icons:retry'\r\n \"\r\n (click)=\"\r\n $event.stopPropagation();\r\n fileInfo.metadata?.error == notAllowedFile\r\n ? null\r\n : retry(fileInfo)\r\n \"\r\n matTooltip=\"{{\r\n fileInfo.metadata?.error || 'UploaderBottomSheet.RETRY'\r\n | translate\r\n }}\"\r\n *ngIf=\"\r\n fileInfo.status == fileStatus.Canceled ||\r\n fileInfo.status == fileStatus.Error\r\n \"\r\n >\r\n </mat-icon>\r\n\r\n <!-- open file : hover + completed -->\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"'icons:open-folder'\"\r\n (click)=\"$event.stopPropagation(); open(fileInfo)\"\r\n matTooltip=\"{{ 'UploaderBottomSheet.OPEN' | translate }}\"\r\n *ngIf=\"fileInfo.status == fileStatus.Completed\"\r\n >\r\n </mat-icon>\r\n </span>\r\n\r\n <span class=\"base-upload-actions align-items-center\">\r\n <!-- file completed -->\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"'icons:complete'\"\r\n *ngIf=\"fileInfo.status == fileStatus.Completed\"\r\n >\r\n </mat-icon>\r\n\r\n <!-- file has error -->\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"'icons:error'\"\r\n *ngIf=\"fileInfo.status == fileStatus.Error\"\r\n >\r\n </mat-icon>\r\n\r\n <!-- user cancle the file -->\r\n <mat-icon\r\n class=\"icon-size-4.5\"\r\n [svgIcon]=\"'icons:error'\"\r\n *ngIf=\"fileInfo.status == fileStatus.Canceled\"\r\n >\r\n </mat-icon>\r\n\r\n <div\r\n class=\"spinner-container\"\r\n *ngIf=\"\r\n fileInfo.status == fileStatus.Pending ||\r\n fileInfo.status == fileStatus.InProgress\r\n \"\r\n >\r\n <mat-spinner\r\n [value]=\"fileInfo.progress\"\r\n diameter=\"20\"\r\n strokeWidth=\"2\"\r\n color=\"primary\"\r\n ></mat-spinner>\r\n <div\r\n class=\"spinner-percentage\"\r\n *ngIf=\"fileInfo.status == fileStatus.InProgress\"\r\n >\r\n {{ fileInfo.progress | number : \"1.0-0\" }}\r\n </div>\r\n </div>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n</mat-expansion-panel>\r\n", styles: [".upload-bottom-sheet{width:var(--upload-bottom-sheet-width, 30vw)!important;padding:var(--upload-bottom-sheet-padding, 0)!important;border-width:var(--upload-bottom-sheet-border-width, 1px);border-radius:var(--upload-bottom-sheet-border-radius, 16px 16px 0 0)!important;position:fixed!important;bottom:var(--upload-bottom-sheet-bottom, 0)!important}.upload-bottom-sheet .mat-icon-button{height:var(--upload-bottom-sheet-mat-icon-button-height, 1.125rem)!important;line-height:var(--upload-bottom-sheet-mat-icon-button-line-height, 1.125rem)!important}.upload-bottom-sheet .mat-expansion-panel-content{overflow-y:auto!important;max-height:var(--upload-bottom-sheet-mat-expansion-panel-max-height, 20vh)!important}.upload-bottom-sheet .mat-expansion-panel-body{padding:var(--upload-bottom-sheet-mat-expansion-panel-body-padding, 0)!important}.upload-bottom-sheet .file-icon{width:var(--upload-bottom-sheet-file-icon-width, 24px);margin-inline-end:var(--upload-bottom-sheet-file-icon-margin-inline-end, 6px);padding:var(--upload-bottom-sheet-file-icon-padding, 2px)}.upload-bottom-sheet .spinner-container{position:relative;display:inline-flex;align-items:center;justify-content:center}.upload-bottom-sheet .spinner-percentage{position:absolute;font-size:var(--upload-bottom-sheet-spinner-percentage-font-size, 10px)}.upload-bottom-sheet .file-name{height:var(--upload-bottom-sheet-file-name-height, 24px)}.upload-bottom-sheet .base-upload-actions{display:flex}.upload-bottom-sheet .more-upload-actions{display:none}.upload-bottom-sheet .file-item:hover{cursor:pointer;background:var(--upload-bottom-sheet-file-item-hover-background, #f5f5f5)}.upload-bottom-sheet .file-item:hover .base-upload-actions{display:none}.upload-bottom-sheet .file-item:hover .more-upload-actions{display:flex}.upload-bottom-sheet .close-sheet{margin-inline-start:var(--upload-bottom-sheet-close-sheet-margin-inline-start, .5rem)}.mat-bottom-sheet-container{padding:unset}[lang=ar] .upload-bottom-sheet{left:1rem!important}[lang=en] .upload-bottom-sheet{right:1rem!important}\n"], dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i8$1.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i8$1.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i3$2.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "pipe", type: i1$5.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$5.DecimalPipe, name: "number" }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
41151
41318
  }
41152
41319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: NdfUploaderBottomSheetComponent, decorators: [{
41153
41320
  type: Component,
@@ -42510,5 +42677,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
42510
42677
  * Generated bundle index. Do not edit.
42511
42678
  */
42512
42679
 
42513
- export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseCustomReport, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseEditorConfigService, BaseNodeClass, BaseSelector, BaseService, BaseSharedDocService, BaseTableCustomComponent, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CacheBaseService, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartCallbacksRegisterService, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, ChartThemeService, index$2 as ChartUtils, ChartsModule, CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ColumnRendererRegistryService, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateEntityComponent, CreateEntityModule, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomNgbDateParserFormatter, CustomPpViewerComponent, CustomReportsRegistry, CustomSocketComponent, CustomTemplateComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CustomUntypedFormGroup, CutomeVocViewerComponent, DATE_FORMAT, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmptyTemplateDirective, EncryptionService, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILE_CONTENT, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileEventType, FileManagerAdapter, FileSizePipe, FileStatus, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GlobalAdminService, GlobalDepartmentsService, GlobalPdfTron, GregorianDatepickerComponent, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, LicenceKeys, ListViewerComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, METADATA_EDITOR_OPTIONS, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MapToAggregationConfigPipe, MessageService, ModeTogglerComponent, MomentDateAdapter, MonacoEditorComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NDF_EDITOR_TYPE, NDF_FILTERS_OPTIONS, NDF_TABLE_OPTIONS, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_APP_KEY, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfigEditorComponent, NdfConfigEditorModule, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfScannerComponent, NdfScannerModule, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NdfTronExtractText, NdfUploaderBottomSheetComponent, NdfUploaderBottomSheetService, NdfUploaderModule, NdfUploaderService, NdfUploaderSheetEventType, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NotificationsState, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, NxQlQuery, OutputPort, PAGINATION_MODE, PAGINATION_TABLE_TEMPLATE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PaginationTableTemplateDirective, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateSelectionListComponent, PredicateTextInputComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, ReportConfigMapperService, ReportConfigurationService, ReportTransformService, ReportsDataTransformers, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, SharedServicesModule, SilentPdfTronService, SingerService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableHooksService, TableModule, TableSkeletonComponent, TagsApiService, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipIfOverflowDirective, TooltipPipe, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UploadFileService, UploadManagmentService, UploadProvider, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, createSchema, departmentCacheBuster$, extensionJsonsFactory, extractDepartmentCode, filterEnabled, generateGuid, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
42680
+ export { ACTIONS_TABLE_TEMPLATE, AGGREGATION_FIELD_TYPES, AUTOCOMPLETE_TEMPLATE, ActionsTableTemplateDirective, ActiveUserSwitchComponent, ActivitiesLogComponent, ActivitiesLogModule, ActivityLineComponent, AdapterService, AddPermissionsDialogComponent, AggregationAutocompleteComponent, AggregationCheckboxComponent, AggregationCustomComponent, AggregationDateListComponent, AggregationFieldComponent, AggregationGroupComponent, AggregationRadioComponent, AggregationSelectComponent, AggregationSwitchComponent, ApisErrorsMessagesService, AppConfigService, AppHasRoleDirective, AttachmentItemComponent, AttachmentItemModule, AttachmentModalModule, AttachmentsComponent, AttachmentsListComponent, AttachmentsPageProviderComponent, AutocompleteFilterPipe, AutocompleteTemplateDirective, AvatarComponent, AvatarModule, BaseChartBuilderService, BaseChartComponent, BaseColumnComponent, BaseComponent, BaseCustomReport, BaseDatePicker, BaseDateValueAccessor, BaseDialogComponent, BaseEditorConfigService, BaseNodeClass, BaseSelector, BaseService, BaseSharedDocService, BaseTableCustomComponent, BooleanViewerComponent, ButtonComponent, CHART_DEFAULTS_OPTIONS, CHART_MAIN_COLOR, CHECKBOX_TEMPLATE, COLORS_COUNT, COMPARISON_OPERATOR, CONFIG_EDITOR_MODE, CUSTOM_FIELD_TYPES, CUSTOM_TEMPLATE, CacheBaseService, CachingExpiryUnit, CalendarService, CallApiService, CardComponent, CardModule, ChartCallbacksRegisterService, ChartComponent, ChartDataService, ChartDataTransformers, index$1 as ChartDefaults, ChartManagerService, ChartPanel, ChartPanelFooterComponent, ChartPanelHeaderComponent, ChartPanelModule, index as ChartPlugins, ChartPluginsRegistry, ChartThemeService, index$2 as ChartUtils, ChartsModule, CheckConditionPipe, CheckboxTemplateDirective, CircleNode, CircleNodeComponent, ClickOutsideDirective, ColumnRendererRegistryService, CommentApiService, CommentsDashletComponent, CommentsModule, ComponentRegisterService, ComponentTranslationModel, ConfigEditorActionsComponent, ConfigPreviewComponent, ConfirmCallerDialogComponent, ConfirmCallerModule, ConfirmDialogComponent, ConfirmationDialogComponent, ConfirmationDialogModule, Connection, ConnectionLabelComponent, ContentActionType, ContentNode, ContentNodeComponent, CopyToClipboardDirective, CopyToClipboardModule, CorrespondenceRelationComponent, CorrespondenceRelationCreateFormComponent, CorrespondenceRelationModule, CorrespondenceRelationService, CorrespondenceTagsComponent, CreateEntityComponent, CreateEntityModule, CtsTagsModule, CustomConnectionComponent, CustomDocumentViewerComponent, CustomFieldComponent, CustomMomentDateAdapter, CustomNgbDateParserFormatter, CustomPpViewerComponent, CustomReportsRegistry, CustomSocketComponent, CustomTemplateComponent, CustomTemplateDirective, CustomToastrModule, CustomToastrService, CustomUntypedFormGroup, CutomeVocViewerComponent, DATE_FORMAT, DATE_LIST_TEMPLATE, DATE_LIST_VIEW, DATE_LOCALE_KEYS, DATE_TYPE, DEFAULT_DEBOUNCE_TIME, DEFAULT_VIEW, DIAGRAM_DEFAULT_OPTIONS, DIAGRAM_HEIGHT, DROPDOWN_LABEL_TEMPLATE, DROPDOWN_MULTI_LABEL_TEMPLATE, DROPDOWN_TEMPLATE, DataChartComponent, DataViewerComponent, DateFormatterService, DateHelperService, DateListTemplateDirective, DateViewerComponent, DepartmentApiService, DepartmentFormComponent, DepartmentManagementService, DepartmentViewerComponent, DestroySubject, DiagramDirective, DiagramPluginsService, DiagramService, DiagramUtils, DiagramsModule, DialogMangmentService, DigitChartService, DirectiveModule, DisplaySuitableIconComponent, DisplaySuitableIconModule, DocumentScanService, DocumentTemplatesConstants, DocumentTemplatesService, DocumentUploadComponent, DocumentsComponent, DocumentsConstants, DocumentsListComponent, DocumentsModule, DocumentsService, DragAndDropDirective, DropdownLabelTemplateDirective, DropdownMultiLabelTemplateDirective, DropdownTemplateDirective, DropdownViewerComponent, DynamicChartComponent, DynamicChartModule, DynamicColumnComponent, DynamicCustomComponent, DynamicFieldsRendererComponent, DynamicFieldsRendererModule, DynamicFilterComponent, DynamicFilterModule, DynamicFormBoolItemComponent, DynamicFormBuilderComponent, DynamicFormCheckboxItemComponent, DynamicFormComponent, DynamicFormDateItemComponent, DynamicFormDepartmentComponent, DynamicFormFieldComponent, DynamicFormHijriDateitemComponent, DynamicFormMapItemComponent, DynamicFormModule, DynamicFormOptionsComponent, DynamicFormSelectItemComponent, DynamicFormSelectTagComponent, DynamicFormSelectUserFilterComponent, DynamicFormSelectUsersComponent, DynamicFormService, DynamicFormSlideToggleitemComponent, DynamicFormTextItemComponent, DynamicFormTextareaComponent, DynamicFormViewerComponent, DynamicFormVocabularyItemComponent, DynamicSearchComponent, DynamicSearchModule, DynamicTableComponent, DynamicTableModule, DynamicTableService, DynamicTabsComponent, DynamicTabsModule, DynamicTimelineReportService, DynamicViewModule, EMPTY_TEMPLATE, ENTITY_TYPE, EXTENSION_JSONS, EditDeleteModalComponent, EditorModeSwitchComponent, EditorSettingsComponent, ElementHeightDirective, ElementHeightModule, EmptyTemplateDirective, EncryptionService, EnvManager, Evaluator, EvaluatorsService, ExtensionLoaderService, ExtensionService, FIELD_SEND_MODE, FIELD_TYPE, FILE_CONTENT, FILTER_CUSTOM_TEMPLATE, FILTER_DATES_TYPE, FieldHeaderComponent, FieldValueObject, FileEventType, FileManagerAdapter, FileSizePipe, FileStatus, FilterAutocompleteInputComponent, FilterCollapseControlComponent, FilterComponent, FilterCustomTemplateDirective, FilterDateRangeComponent, FilterEmptyMessageComponent, FilterModule, FilterOptionTextComponent, FilterOptionsSortComponent, FilterPipe, FilterQueryService, FilterSearchInputComponent, FiltersByRolesPipe, FiltersMapperService, FiltersPanelComponent, FluidHeightDirective, FluidHeightModule, FormBuilderService, GREGORIAN_DATE_FORMATS, GREGORIAN_FORMAT, GatewayNodeComponent, GatewayPortsComponent, GlobalAdminService, GlobalDepartmentsService, GlobalPdfTron, GregorianDatepickerComponent, HIJRI_DATE_ARABIC_NAMES, HIJRI_DATE_ENGLISH_NAMES, HIJRI_DATE_FORMATS, HIJRI_FORMAT, HashTranslateAsyncPipe, HashTranslatePipe, HijriAdapterService, HijriDatePipe, HijriDatepickerComponent, HijriGregorianDatepickerComponent, HtmlDialogComponent, IN_OUT_DIRECTION, IconService, InfoDialogComponent, InitializationService, InputDateComponent, InputPort, InputRangeDateComponent, ItemListComponent, Lang, LatestActivityComponent, LatestActivityModule, LibrarySharedModule, LicenceKeys, ListViewerComponent, LocalStoragService, LocalizeState, LocalizedDatePipe, LocalizedLabelPipe, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MAT_MOMENT_DATE_ADAPTER_OPTIONS_FACTORY, MESSAGE_TYPE, METADATA_EDITOR_OPTIONS, MIN_VISIBLE_COUNT, MONACO_EDITOR_CONFIG, MY_MOMENT_FORMATS, MainfolderService, MapToAggregationConfigPipe, MessageService, ModeTogglerComponent, MomentDateAdapter, MonacoEditorComponent, MultiValuePipe, MultipleDynamicFormViewerComponent, MutipleDynamicFormViewerModule, NDF_EDITOR_TYPE, NDF_FILTERS_OPTIONS, NDF_TABLE_OPTIONS, NODE_CIRCLE_SIZE, NODE_GATEWAY_SIZE, NODE_HEIGHT, NODE_MARGIN, NODE_STATUS, NODE_TYPE, NODE_WIDTH, NOTIFICATIONS_APP_KEY, NOTIFICATIONS_LIST_OPTIONS, NOTIFICATION_ICON, NOTIFICATION_ITEM, NOTIFICATION_STATUS, NOTIFY_EVENT, NdfConfigEditorComponent, NdfConfigEditorModule, NdfConfirmationDialogComponent, NdfDatepickerComponent, NdfDatepickerModule, NdfFiltersPanelModule, NdfGregorianDatepickerComponent, NdfHijriDatepickerComponent, NdfNuxeoDialog, NdfPanelComponent, NdfPanelModule, NdfReportComponent, NdfReportsComponent, NdfReportsModule, NdfReportsService, NdfScannerComponent, NdfScannerModule, NdfTableComponent, NdfTableConfigurationService, NdfTableModule, NdfTableService, NdfTabsComponent, NdfTabsModule, NdfTransformService, NdfTronExtractText, NdfUploaderBottomSheetComponent, NdfUploaderBottomSheetService, NdfUploaderModule, NdfUploaderService, NdfUploaderSheetEventType, NgxHijriGregorianDatepickerModule, NoDataComponent, NoDataFoundComponent, NoDataModule, NodeIconComponent, NodeInputsComponent, NodeOutputsComponent, NodePortsComponent, NotificationIconDirective, NotificationItemComponent, NotificationItemDirective, NotificationSourceSelectComponent, NotificationStatusToggleComponent, NotificationToastComponent, NotificationsButtonComponent, NotificationsDateSelectComponent, NotificationsListComponent, NotificationsListContainerComponent, NotificationsModule, NotificationsService, NotificationsSettingsContainerComponent, NotificationsState, NuxeoCoreModule, NuxeoDevelopmentFrameworkComponent, NuxeoDevelopmentFrameworkModule, NuxeoDevelopmentFrameworkService, NuxeoDialogModule, NuxeoDialogService, NuxeoMapper, NuxeoService, NxQL, NxQlQuery, OutputPort, PAGINATION_MODE, PAGINATION_TABLE_TEMPLATE, PANEL_MODE, PARAMS_KEYS, PREDICATE_FIELD_TYPES, PROJECT_BASE_HREF, PageSizesListComponent, PaginationComponent, PaginationModule, PaginationTableTemplateDirective, PdfTronModule, PdftronComponent, PdftronService, PermissionService, PermissionsComponent, PermissionsDirective, PermissionsModule, PermissionsTemplateComponent, PipesModule, PredicateDateInputComponent, PredicateFieldComponent, PredicateSelectionListComponent, PredicateTextInputComponent, PublishingDocumentService, RADIO_TEMPLATE, RadioTemplateDirective, ReadMoreComponent, RecentlyViewedService, RemoveButtonComponent, ReportConfigMapperService, ReportConfigurationService, ReportTransformService, ReportsDataTransformers, ReportsStateService, RolesService, SEARCH_TABLE_TEMPLATE, SOCKET_WIDTH, SUBSCRIPTION_STATE, SWITCH_TEMPLATE, SafeHtmlPipe, SanitizerPipe, ScanComponent, SearchAutocompleteComponent, SearchTableTemplateDirective, SecurePipe, SelectComponent, SelectModule, SelectUsersByDepartmentModule, SelectUsersByDepartmentsComponent, SetDirRtlDirective, SetRtlDirective, SharedServicesModule, SilentPdfTronService, SingerService, SingleActivityComponent, SkeletonComponent, SkeletonModule, Socket, SortListPipe, SortingListComponent, SpellCheckerFieldModule, SpellCheckerTextFieldComponent, SpinnerComponent, StatisticService, StatusIconComponent, SwitchTemplateDirective, TRANSLATION_PROVIDER, TableColumnsTogglerComponent, TableComponent, TableExportComponent, TableHooksService, TableModule, TableSkeletonComponent, TagsApiService, TemplateNode, TemplateNodeComponent, TextSearchComponent, TimeAgoPipe, ToastsModule, TooltipIfOverflowDirective, TooltipPipe, TranslateLoaderService, TranslatedVocabularySelectComponent, TranslationService, TreeviewSelectComponent, UploadFileService, UploadManagmentService, UploadProvider, UserCardComponent, UserComponent, UserModule, UserPreferenceValues, UserPreferencesService, UserService, UsersCardComponent, UsersCardModule, UtilityService, VALUE_OBJECT, VersionsComponent, ViewerFilesService, ViewerLogComponent, ViewerLogModule, VocabularyApiService, VocabularyComponent, VocabularyModule, WorkflowService, ZoomControlComponent, appInitializer, createSchema, departmentCacheBuster$, extensionJsonsFactory, extractDepartmentCode, filterEnabled, generateGuid, getConnections, getDoughnutOptions, getHorizontalBarOptions, getLineOptions, getPieOptions, getRandomNumber, getValue, getVerticalBarOptions, isDateObject, isFieldValueObject, mergeArrays, mergeObjects, minute$1 as minute, provideExtensionConfig, reduceEmptyMenus, reduceSeparators, removeConnections, removeEmptyKeys, removeNode, removeNodeAndConnections, serializeControl, serializePort, slideAnimation, sortByOrder };
42514
42681
  //# sourceMappingURL=nuxeo-development-framework.mjs.map