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.
- package/fesm2022/nuxeo-development-framework.mjs +1302 -1135
- package/fesm2022/nuxeo-development-framework.mjs.map +1 -1
- package/lib/components/correspondence-relation/components/correspondence-relation-create-form/correspondence-relation-create-form.component.d.ts +14 -12
- package/lib/components/correspondence-relation/correspondence-relation.module.d.ts +12 -11
- package/lib/components/dynamic-form/dynamic-form.module.d.ts +37 -35
- package/lib/core/core.module.d.ts +2 -1
- package/lib/shared/components/search-autocomplete/search-autocomplete.component.d.ts +51 -0
- package/lib/shared/libraryShared.module.d.ts +7 -6
- package/package.json +5 -1
- package/public-api.d.ts +2 -1
|
@@ -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,
|
|
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,
|
|
18
|
-
import { map, retry, catchError, distinctUntilChanged, takeUntil, take, tap, switchMap, first, delay, expand, last, skip, debounceTime
|
|
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$
|
|
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$
|
|
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
|
|
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,
|
|
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 =
|
|
9083
|
-
this.
|
|
9084
|
-
this.documentList = signal([]);
|
|
8687
|
+
this.isLoading = false;
|
|
8688
|
+
this.documentList = [];
|
|
9085
8689
|
this.exist_relations_list = [];
|
|
9086
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
8755
|
+
else {
|
|
8756
|
+
this.related_corr.push(item);
|
|
8757
|
+
}
|
|
9143
8758
|
}
|
|
9144
|
-
|
|
9145
|
-
|
|
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
|
-
|
|
9148
|
-
|
|
9149
|
-
|
|
9150
|
-
|
|
9151
|
-
|
|
9152
|
-
.
|
|
9153
|
-
|
|
9154
|
-
return this.correspondanceId !=
|
|
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
|
|
9157
|
-
this.
|
|
9158
|
-
this.documentList
|
|
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.
|
|
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
|
|
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
|
-
|
|
10637
|
-
|
|
10638
|
-
|
|
10639
|
-
|
|
10640
|
-
|
|
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
|
-
|
|
10650
|
-
|
|
10651
|
-
|
|
10652
|
-
|
|
10653
|
-
|
|
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
|
-
|
|
10657
|
-
this.
|
|
10658
|
-
|
|
10659
|
-
|
|
10660
|
-
|
|
10661
|
-
this.
|
|
10662
|
-
|
|
10663
|
-
|
|
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
|
-
|
|
10668
|
-
|
|
10669
|
-
|
|
10670
|
-
|
|
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
|
-
|
|
10697
|
-
|
|
10698
|
-
|
|
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
|
-
|
|
10726
|
-
|
|
10727
|
-
|
|
10728
|
-
|
|
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
|
-
.
|
|
10760
|
-
|
|
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
|
-
|
|
10766
|
-
|
|
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
|
-
|
|
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:
|
|
10469
|
+
providedIn: 'root'
|
|
10952
10470
|
}]
|
|
10953
|
-
}], ctorParameters: () => [{ type: CallApiService }
|
|
10954
|
-
type: Inject,
|
|
10955
|
-
args: ["environment"]
|
|
10956
|
-
}] }], propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [], getFullDepartmentTree: [] } });
|
|
10471
|
+
}], ctorParameters: () => [{ type: CallApiService }] });
|
|
10957
10472
|
|
|
10958
|
-
/**
|
|
10959
|
-
|
|
10960
|
-
|
|
10961
|
-
|
|
10962
|
-
|
|
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
|
-
|
|
10989
|
-
this.
|
|
10479
|
+
isEditable() {
|
|
10480
|
+
return this.editable && this.property.editable;
|
|
10990
10481
|
}
|
|
10991
|
-
|
|
10992
|
-
this.
|
|
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
|
|
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
|
|
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$
|
|
15174
|
-
const COMPONENT_OPTIONS$
|
|
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$
|
|
15346
|
+
editForm: editForm$1
|
|
15182
15347
|
};
|
|
15183
15348
|
function registerToggleComponent(injector) {
|
|
15184
|
-
registerCustomFormioComponent(COMPONENT_OPTIONS$
|
|
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
|
|
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
|
|
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
|
|
15326
|
-
registerCustomFormioComponent(COMPONENT_OPTIONS,
|
|
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$
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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$
|
|
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
|
|
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
|