mmhglobal-dynamicform 2.32.2 → 2.33.0
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/README.md +9 -0
- package/esm2020/lib/services/main.service.mjs +4 -4
- package/esm2020/lib/services/zcomponent.debug.service.mjs +93 -25
- package/esm2020/lib/virtual-scroll/virtual-scroll.component.mjs +3 -3
- package/esm2020/lib/zform/zform.component.mjs +4 -4
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +196 -144
- package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +17 -3
- package/fesm2015/mmhglobal-dynamicform.mjs +318 -179
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +312 -178
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/services/zcomponent.debug.service.d.ts +3 -1
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +24 -14
- package/lib/ztrendcard/ztrendcard.component.d.ts +2 -0
- package/package.json +1 -1
|
@@ -4,10 +4,10 @@ import { Injectable, Directive, Inject, Input, HostListener, Pipe, Component, Vi
|
|
|
4
4
|
import { HttpParams, HttpEventType } from '@angular/common/http';
|
|
5
5
|
import * as i1 from '@angular/router';
|
|
6
6
|
import { NavigationStart, NavigationEnd, NavigationError, RouterModule } from '@angular/router';
|
|
7
|
-
import { BehaviorSubject,
|
|
8
|
-
import { tap, switchMap, map, take, delay, concatMap, ignoreElements } from 'rxjs/operators';
|
|
7
|
+
import { BehaviorSubject, forkJoin, of, tap as tap$1, map as map$1, first, isObservable, switchMap as switchMap$1, interval, takeWhile, from, Subject, delay as delay$1, filter, auditTime } from 'rxjs';
|
|
8
|
+
import { tap, switchMap, map, take, delay, concatMap, mergeMap, catchError, ignoreElements } from 'rxjs/operators';
|
|
9
9
|
import * as i2 from 'mmhglobal-zcore';
|
|
10
|
-
import { ZGroup, FormType, ZComponentHelper, MESSAGETYPE, TriggerFromType, ActionType, DefaultMessage, DefaultDialogTitle, Delimiter, ZSelectPostApiParams, ComponentType as ComponentType$1, ZComponentProperties, SignalType, DropdownSearchOperator, InternalComponentType_DropDown, UploadMetaData, AttachmentConfig, DefaultPageSettingParams, ZCoreModule } from 'mmhglobal-zcore';
|
|
10
|
+
import { ZGroup, FormType, ZComponentHelper, AssetsRoutes, AssetsFolder, AssetsAllowedExtension, MESSAGETYPE, TriggerFromType, ActionType, DefaultMessage, DefaultDialogTitle, Delimiter, ZSelectPostApiParams, ComponentType as ComponentType$1, ZComponentProperties, SignalType, DropdownSearchOperator, InternalComponentType_DropDown, UploadMetaData, AttachmentConfig, DefaultPageSettingParams, ZCoreModule } from 'mmhglobal-zcore';
|
|
11
11
|
import * as i2$1 from '@ionic/angular';
|
|
12
12
|
import { IonicModule } from '@ionic/angular';
|
|
13
13
|
import * as i3 from 'mmhglobal-zmodal';
|
|
@@ -91,6 +91,7 @@ import 'brace/mode/javascript';
|
|
|
91
91
|
import 'brace/mode/html';
|
|
92
92
|
import { process } from '@progress/kendo-data-query';
|
|
93
93
|
import { trigger, transition, style, animate, state } from '@angular/animations';
|
|
94
|
+
import { event as event$1 } from 'jquery';
|
|
94
95
|
import * as i3$8 from '@progress/kendo-angular-toolbar';
|
|
95
96
|
import { MultiSelect, DropDownList } from '@syncfusion/ej2-dropdowns';
|
|
96
97
|
import { createElement, getComponent } from '@syncfusion/ej2-base';
|
|
@@ -179,9 +180,6 @@ class ZComponentDebugService {
|
|
|
179
180
|
}
|
|
180
181
|
me.subscription = d.subject.subscribe((event) => this.subjectEvent(event, d, this));
|
|
181
182
|
this.patchFieldsProperty(fieldElements);
|
|
182
|
-
if (this.environment.loadViaAsset) {
|
|
183
|
-
return of({});
|
|
184
|
-
}
|
|
185
183
|
return this.loadDebugZModel(me);
|
|
186
184
|
}
|
|
187
185
|
patchFieldsProperty(fieldElements) {
|
|
@@ -193,31 +191,28 @@ class ZComponentDebugService {
|
|
|
193
191
|
});
|
|
194
192
|
}
|
|
195
193
|
loadDebugZModel(me) {
|
|
196
|
-
const
|
|
197
|
-
downloadList.push(this.getProjectId());
|
|
194
|
+
const projectId$ = this.getProjectId();
|
|
198
195
|
const formType = me.group.isListForm ? FormType.listField : FormType.formField;
|
|
199
|
-
const
|
|
200
|
-
const fieldzModel = this.getFieldzModel(formType,
|
|
201
|
-
|
|
202
|
-
return forkJoin(downloadList);
|
|
196
|
+
const fieldElementFormName = me.group.fieldName;
|
|
197
|
+
const fieldzModel$ = this.getFieldzModel(formType, fieldElementFormName);
|
|
198
|
+
return forkJoin([projectId$, fieldzModel$]); // Emits when all observables complete
|
|
203
199
|
}
|
|
204
200
|
getProjectId() {
|
|
205
201
|
const debuggerGroup = this.debug;
|
|
206
202
|
const url = this.resourceApiService.getURL('projectsURL');
|
|
207
203
|
return this.webApiService.getApi(url, {}, debuggerGroup.zData, 'ProjectOptions', null, debuggerGroup, false);
|
|
208
204
|
}
|
|
209
|
-
getFieldzModel(type,
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
else {
|
|
214
|
-
return this.getListFieldzModel(activityName);
|
|
205
|
+
getFieldzModel(type, fieldElementFormName) {
|
|
206
|
+
const isFormField = type === 'FormField';
|
|
207
|
+
if (this.environment.loadViaAsset) {
|
|
208
|
+
return isFormField ? this.getAssetFormFieldzModel(fieldElementFormName) : this.getAssetListFieldzModel(fieldElementFormName);
|
|
215
209
|
}
|
|
210
|
+
return isFormField ? this.getFormFieldzModel(fieldElementFormName) : this.getListFieldzModel(fieldElementFormName);
|
|
216
211
|
}
|
|
217
|
-
getFormFieldzModel(
|
|
212
|
+
getFormFieldzModel(fieldElementFormName) {
|
|
218
213
|
const debuggerGroup = this.debug;
|
|
219
214
|
const fieldUrl = this.resourceApiService.getURL('field');
|
|
220
|
-
return this.webApiService.httpGet$(fieldUrl, { name:
|
|
215
|
+
return this.webApiService.httpGet$(fieldUrl, { name: fieldElementFormName, type: FormType.formField }).pipe(tap((respData) => {
|
|
221
216
|
// console.log('respData: ', respData);
|
|
222
217
|
Object.assign(debuggerGroup.zModel, respData);
|
|
223
218
|
debuggerGroup.form.patchValue(debuggerGroup.zModel);
|
|
@@ -228,11 +223,11 @@ class ZComponentDebugService {
|
|
|
228
223
|
});
|
|
229
224
|
}));
|
|
230
225
|
}
|
|
231
|
-
getListFieldzModel(
|
|
226
|
+
getListFieldzModel(fieldElementFormName) {
|
|
232
227
|
const debuggerGroup = this.debug;
|
|
233
228
|
const fieldsMappingUrl = this.resourceApiService.getURL('fieldsMapping');
|
|
234
229
|
const fieldUrl = this.resourceApiService.getURL('field');
|
|
235
|
-
return this.webApiService.httpGet$(fieldsMappingUrl, { name:
|
|
230
|
+
return this.webApiService.httpGet$(fieldsMappingUrl, { name: fieldElementFormName }).pipe(switchMap((fieldMapping) => {
|
|
236
231
|
// Fetch field data based on FieldElementMasterId
|
|
237
232
|
return this.webApiService.httpGet$(fieldUrl, { id: fieldMapping.FieldElementMasterId });
|
|
238
233
|
}), tap((respData) => {
|
|
@@ -252,6 +247,71 @@ class ZComponentDebugService {
|
|
|
252
247
|
}
|
|
253
248
|
}));
|
|
254
249
|
}
|
|
250
|
+
getAssetFormFieldzModel(fieldElementFormName) {
|
|
251
|
+
const debuggerGroup = this.debug;
|
|
252
|
+
const param = {
|
|
253
|
+
assetsRoute: AssetsRoutes.fields,
|
|
254
|
+
assetsFolder: AssetsFolder.fieldelement,
|
|
255
|
+
extension: AssetsAllowedExtension.json,
|
|
256
|
+
params: new HttpParams()
|
|
257
|
+
.set('name', fieldElementFormName)
|
|
258
|
+
.set('type', FormType.formField)
|
|
259
|
+
};
|
|
260
|
+
return this.webApiService.assetsHttpNodeGet(param).pipe(tap((respData) => {
|
|
261
|
+
Object.assign(debuggerGroup.zModel, respData);
|
|
262
|
+
debuggerGroup.form.patchValue(debuggerGroup.zModel);
|
|
263
|
+
debuggerGroup.form.markAsPristine();
|
|
264
|
+
if (!ZComponentHelper.isJson(debuggerGroup.zModel.Code)) {
|
|
265
|
+
Object.assign(debuggerGroup, {
|
|
266
|
+
treeModel: ZComponentHelper.convertTreeModel(JSON.parse(debuggerGroup.zModel.Code))
|
|
267
|
+
});
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
Object.assign(debuggerGroup, {
|
|
271
|
+
treeModel: ZComponentHelper.convertTreeModel(debuggerGroup.zModel.Code)
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
}));
|
|
275
|
+
}
|
|
276
|
+
getAssetListFieldzModel(fieldElementFormName) {
|
|
277
|
+
const debuggerGroup = this.debug;
|
|
278
|
+
const listParam = {
|
|
279
|
+
assetsRoute: AssetsRoutes.fieldElementMappings,
|
|
280
|
+
assetsFolder: AssetsFolder.listfieldmapping,
|
|
281
|
+
extension: AssetsAllowedExtension.json,
|
|
282
|
+
params: new HttpParams().set('name', fieldElementFormName)
|
|
283
|
+
};
|
|
284
|
+
return this.webApiService.assetsHttpNodeGet(listParam).pipe(switchMap((fieldMapping) => {
|
|
285
|
+
const formParam = {
|
|
286
|
+
assetsRoute: AssetsRoutes.fields,
|
|
287
|
+
assetsFolder: AssetsFolder.fieldelement,
|
|
288
|
+
extension: AssetsAllowedExtension.json,
|
|
289
|
+
params: new HttpParams()
|
|
290
|
+
.set('name', fieldMapping.FieldElementMasterName)
|
|
291
|
+
.set('type', FormType.listField)
|
|
292
|
+
};
|
|
293
|
+
// Fetch field data based on FieldElementMasterId
|
|
294
|
+
return this.webApiService.assetsHttpNodeGet(formParam);
|
|
295
|
+
}), tap((respData) => {
|
|
296
|
+
// Update debuggerGroup with field data
|
|
297
|
+
Object.assign(debuggerGroup.zModel, respData);
|
|
298
|
+
debuggerGroup.form.patchValue(debuggerGroup.zModel);
|
|
299
|
+
debuggerGroup.form.markAsPristine();
|
|
300
|
+
// Parse and convert Code to treeModel
|
|
301
|
+
try {
|
|
302
|
+
let fields = debuggerGroup.zModel.Code;
|
|
303
|
+
if (typeof debuggerGroup.zModel.Code === 'string') {
|
|
304
|
+
fields = JSON.parse(typeof debuggerGroup.zModel.Code);
|
|
305
|
+
}
|
|
306
|
+
Object.assign(debuggerGroup, {
|
|
307
|
+
treeModel: ZComponentHelper.convertTreeModel(fields)
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
catch (error) {
|
|
311
|
+
console.error('Error parsing JSON:', error);
|
|
312
|
+
}
|
|
313
|
+
}));
|
|
314
|
+
}
|
|
255
315
|
subjectEvent(event, group, me) {
|
|
256
316
|
if (!event || !event.target || event.target.startsWith("modalGroup.")) {
|
|
257
317
|
return;
|
|
@@ -446,7 +506,7 @@ class ZComponentDebugService {
|
|
|
446
506
|
nodeModel: JSON.stringify(dataItem, null, 2)
|
|
447
507
|
};
|
|
448
508
|
this.showzModal({
|
|
449
|
-
fieldElementName: '
|
|
509
|
+
fieldElementName: 'ionmvEditFieldNodeForm',
|
|
450
510
|
parentGroup: this.debug._group,
|
|
451
511
|
zModel: zmodel,
|
|
452
512
|
formHeader: 'Field Element Info'
|
|
@@ -561,7 +621,7 @@ class ZComponentDebugService {
|
|
|
561
621
|
nodeModel: JSON.stringify(initialModel, null, 2)
|
|
562
622
|
};
|
|
563
623
|
this.showzModal({
|
|
564
|
-
fieldElementName: '
|
|
624
|
+
fieldElementName: 'ionmvEditFieldNodeForm',
|
|
565
625
|
parentGroup: this.debug._group,
|
|
566
626
|
zModel: zmodel,
|
|
567
627
|
formHeader: 'Add Field Element Item'
|
|
@@ -623,8 +683,17 @@ class ZComponentDebugService {
|
|
|
623
683
|
tap(() => {
|
|
624
684
|
Object.assign(debug.zModel, fg.value);
|
|
625
685
|
}), switchMap(() => {
|
|
626
|
-
|
|
627
|
-
|
|
686
|
+
if (this.environment.loadViaAsset) {
|
|
687
|
+
const payload = typeof debug.zModel === 'string' ? JSON.parse(debug.zModel) : debug.zModel;
|
|
688
|
+
const param = {
|
|
689
|
+
id: debug.zModel.Id,
|
|
690
|
+
assetsRoute: AssetsRoutes.fields,
|
|
691
|
+
assetsFolder: AssetsFolder.fieldelement,
|
|
692
|
+
params: payload
|
|
693
|
+
};
|
|
694
|
+
return this.webApiService.assetsHttpNodePut(param).pipe(map(res => this.handleSuccess(res, "Record is updated successfully.")), map(res => this.signalrService.sendToClientGroup(this.groupsToSend, this.eventName, debug.zModel)));
|
|
695
|
+
}
|
|
696
|
+
return this.webApiService.httpPut$(`${debug.resourceURL}/"${debug.zModel.Id}`, debug.zModel).pipe(map(res => this.handleSuccess(res, "Record is updated successfully.")), map(res => this.signalrService.sendToClientGroup(this.groupsToSend, this.eventName, debug.zModel)));
|
|
628
697
|
}), switchMap((zmodel) => {
|
|
629
698
|
console.log("After updating Debug Form, zModel:", zmodel);
|
|
630
699
|
if (zmodel && zmodel.Data) {
|
|
@@ -858,10 +927,10 @@ class MainService {
|
|
|
858
927
|
Timestamp: timestamp,
|
|
859
928
|
Duration: duration !== null && duration !== void 0 ? duration : null,
|
|
860
929
|
RequestMethod: 'POST',
|
|
861
|
-
|
|
862
|
-
|
|
930
|
+
UserName: this.authService.userId,
|
|
931
|
+
UserId: this.authService.e1Token.userName,
|
|
863
932
|
Success: isSuccess,
|
|
864
|
-
Environment:
|
|
933
|
+
Environment: 'UI',
|
|
865
934
|
ProjectCode: this.environment.projectCodes[0],
|
|
866
935
|
SourceName: this.environment.projectCodes[0],
|
|
867
936
|
ComponentCode: null,
|
|
@@ -5047,11 +5116,11 @@ class ZformComponent {
|
|
|
5047
5116
|
}
|
|
5048
5117
|
}
|
|
5049
5118
|
getGroup() {
|
|
5050
|
-
if (this.fieldName
|
|
5051
|
-
return this.group;
|
|
5119
|
+
if (this.fieldName === 'debugV2') {
|
|
5120
|
+
return this.group._debug;
|
|
5052
5121
|
}
|
|
5053
5122
|
else {
|
|
5054
|
-
return this.group
|
|
5123
|
+
return this.group;
|
|
5055
5124
|
}
|
|
5056
5125
|
}
|
|
5057
5126
|
onInitNormal() {
|
|
@@ -7361,25 +7430,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
7361
7430
|
|
|
7362
7431
|
/********** Angular **********/
|
|
7363
7432
|
class ZselectmultipleComponent extends InputFieldBase {
|
|
7364
|
-
constructor(componentService, resourceApiService, webApiService, cacheService, fieldService) {
|
|
7433
|
+
constructor(componentService, resourceApiService, cdr, webApiService, cacheService, fieldService) {
|
|
7365
7434
|
super(componentService);
|
|
7366
7435
|
this.componentService = componentService;
|
|
7367
7436
|
this.resourceApiService = resourceApiService;
|
|
7437
|
+
this.cdr = cdr;
|
|
7368
7438
|
this.webApiService = webApiService;
|
|
7369
7439
|
this.cacheService = cacheService;
|
|
7370
7440
|
this.fieldService = fieldService;
|
|
7371
7441
|
this.allDataItems = [];
|
|
7372
7442
|
this.items = [];
|
|
7373
7443
|
this.infinitezData = [];
|
|
7374
|
-
this.
|
|
7375
|
-
// subscription: Subscription;
|
|
7444
|
+
this.hasSearched = false;
|
|
7376
7445
|
this.toggleSelectable = true;
|
|
7377
7446
|
this.itemValueField = null;
|
|
7378
7447
|
this.itemTextField = null;
|
|
7379
7448
|
this.itemDataField = null;
|
|
7380
7449
|
this.itemTemplate = "{{item[itemTextField]}}";
|
|
7381
7450
|
this.infiniteScrollPageNo = 0;
|
|
7382
|
-
this.infiniteDataLoaded = false;
|
|
7383
7451
|
this.isLoading = true;
|
|
7384
7452
|
this.allowCustomValue = false;
|
|
7385
7453
|
this.autoClose = true;
|
|
@@ -7402,10 +7470,18 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7402
7470
|
caseSensitive: false,
|
|
7403
7471
|
operator: "contains",
|
|
7404
7472
|
};
|
|
7473
|
+
// For lazyloading
|
|
7474
|
+
this.defaultTake = 50;
|
|
7475
|
+
this.itemHeight = 28;
|
|
7405
7476
|
this.virtual = {
|
|
7406
|
-
itemHeight:
|
|
7407
|
-
pageSize:
|
|
7477
|
+
itemHeight: this.itemHeight,
|
|
7478
|
+
pageSize: this.defaultTake,
|
|
7479
|
+
};
|
|
7480
|
+
this.state = {
|
|
7481
|
+
skip: 0,
|
|
7482
|
+
take: this.defaultTake,
|
|
7408
7483
|
};
|
|
7484
|
+
this.stateChange = new BehaviorSubject({ state: this.state, eventType: null, searchTerm: '' });
|
|
7409
7485
|
// Multi Selection Tree
|
|
7410
7486
|
this.hasChildren = (dataitem) => !!dataitem['items'];
|
|
7411
7487
|
}
|
|
@@ -7442,34 +7518,15 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7442
7518
|
const data = this.data;
|
|
7443
7519
|
const zModel = this.group.zModel;
|
|
7444
7520
|
/*
|
|
7445
|
-
* 4 Styles of declare the component
|
|
7521
|
+
* 4 Styles of declare the component s option list data source.
|
|
7446
7522
|
* Style #1 - Field.SelectOptions defined as an array of object that contain text and value.
|
|
7447
|
-
* Style #2 - Field.SelectOptions defined as a phase like
|
|
7523
|
+
* Style #2 - Field.SelectOptions defined as a phase like item.Id as item.Name for item in group.zData.ProjectOptions .
|
|
7448
7524
|
* Style #3 - Field.OptionResourceURL defined the name of resource server api.
|
|
7449
|
-
* Style #4 - Field.InfiniteScroll$ defined the method name as
|
|
7525
|
+
* Style #4 - Field.InfiniteScroll$ defined the method name as group.getMoreDataAsScroll .
|
|
7450
7526
|
*/
|
|
7451
7527
|
if (data.HasInfiniteScroll && data.InfiniteScroll$) {
|
|
7452
|
-
// when infinitie scroll
|
|
7453
|
-
let recordId = null;
|
|
7454
|
-
if (zModel && zModel[fieldValue]) {
|
|
7455
|
-
// get zModel Value
|
|
7456
|
-
recordId = zModel[fieldValue].toString();
|
|
7457
|
-
}
|
|
7458
|
-
let getzDataForzModel$ = ZComponentHelper.getInfiniteData(null, '', this, recordId);
|
|
7459
|
-
if (getzDataForzModel$) {
|
|
7460
|
-
getzDataForzModel$.subscribe((zdata) => {
|
|
7461
|
-
console.log(data.Name, ' - initial zData load: ', zdata);
|
|
7462
|
-
if (this.group) {
|
|
7463
|
-
this.afterLoadzDataOptions();
|
|
7464
|
-
}
|
|
7465
|
-
this.isLoading = false;
|
|
7466
|
-
});
|
|
7467
|
-
}
|
|
7468
|
-
else {
|
|
7469
|
-
this.isLoading = false;
|
|
7470
|
-
}
|
|
7471
7528
|
if (!this.isMobileScreen()) {
|
|
7472
|
-
this.handleFilter(null
|
|
7529
|
+
this.handleFilter(null);
|
|
7473
7530
|
}
|
|
7474
7531
|
}
|
|
7475
7532
|
else {
|
|
@@ -7513,14 +7570,17 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7513
7570
|
super.focusOnDefault(this.focus.bind(this));
|
|
7514
7571
|
}
|
|
7515
7572
|
ngAfterViewInit() {
|
|
7573
|
+
// Subscribe to stateChange and trigger data fetching here because
|
|
7574
|
+
// ngAfterViewInit ensures that all view components (e.g., dropdownlist, multiselect)
|
|
7575
|
+
// are fully initialized. This avoids issues where view elements might not be ready
|
|
7576
|
+
// during the constructor phase. The initial state emission and fetch are done here
|
|
7577
|
+
// to guarantee that the view is prepared before interacting with it.
|
|
7578
|
+
this.loadInfiniteData();
|
|
7516
7579
|
this.componentService.decrementComponentCounterForField(this.data);
|
|
7517
7580
|
}
|
|
7518
7581
|
ngOnDestroy() {
|
|
7519
|
-
|
|
7520
|
-
|
|
7521
|
-
// }
|
|
7522
|
-
if (this.debounceSub) {
|
|
7523
|
-
this.debounceSub.unsubscribe();
|
|
7582
|
+
if (this.stateSubscription) {
|
|
7583
|
+
this.stateSubscription.unsubscribe();
|
|
7524
7584
|
}
|
|
7525
7585
|
for (const e of this.eventSubscriptions) {
|
|
7526
7586
|
if (e && !e.closed) {
|
|
@@ -7528,6 +7588,81 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7528
7588
|
}
|
|
7529
7589
|
}
|
|
7530
7590
|
}
|
|
7591
|
+
reloadInfiniteData() {
|
|
7592
|
+
this.infinitezData = [];
|
|
7593
|
+
this.state = { skip: 0, take: this.defaultTake };
|
|
7594
|
+
this.stateChange.next(this.state);
|
|
7595
|
+
}
|
|
7596
|
+
loadInfiniteData() {
|
|
7597
|
+
var _a, _b;
|
|
7598
|
+
const { Value: fieldValue } = this.data;
|
|
7599
|
+
const { zModel } = this.group;
|
|
7600
|
+
const recordValue = (_b = (_a = zModel === null || zModel === void 0 ? void 0 : zModel[fieldValue]) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : null;
|
|
7601
|
+
const recordValueList = recordValue ? recordValue.split(',').filter(Boolean) : [];
|
|
7602
|
+
const newItems$ = ZComponentHelper.getGroupEvalValue.call(this, this.data.InfiniteScroll$);
|
|
7603
|
+
if (!newItems$) {
|
|
7604
|
+
return;
|
|
7605
|
+
}
|
|
7606
|
+
this.stateSubscription = this.stateChange.pipe(switchMap(({ state, eventType, searchTerm }) => {
|
|
7607
|
+
// Update hasSearched based on searchTerm
|
|
7608
|
+
this.hasSearched = !ZComponentHelper.isNullUndefinedEmpty(searchTerm);
|
|
7609
|
+
if (!this.infinitezData || this.hasSearched || eventType === 'Closed') {
|
|
7610
|
+
this.infinitezData = [];
|
|
7611
|
+
}
|
|
7612
|
+
this.isLoading = true;
|
|
7613
|
+
this.state = state !== null && state !== void 0 ? state : this.state;
|
|
7614
|
+
const pageNo = this.getPageNo(this.state.skip, this.state.take);
|
|
7615
|
+
return newItems$(null, searchTerm, pageNo, this.group.ctrlScope, this.data).pipe(map(response => ({ response, eventType, searchTerm })));
|
|
7616
|
+
}), tap(({ response, eventType }) => {
|
|
7617
|
+
var _a;
|
|
7618
|
+
const dataSet = response.dataSet;
|
|
7619
|
+
const totalCount = (_a = response.totalCount) !== null && _a !== void 0 ? _a : dataSet === null || dataSet === void 0 ? void 0 : dataSet.length;
|
|
7620
|
+
if (dataSet) {
|
|
7621
|
+
if (this.infinitezData.length === 0) {
|
|
7622
|
+
if (totalCount === 0) {
|
|
7623
|
+
this.infinitezData = [];
|
|
7624
|
+
}
|
|
7625
|
+
else if (totalCount <= this.state.take) {
|
|
7626
|
+
this.infinitezData = dataSet;
|
|
7627
|
+
}
|
|
7628
|
+
else {
|
|
7629
|
+
this.infinitezData = dataSet.concat(new Array(totalCount - this.state.take));
|
|
7630
|
+
}
|
|
7631
|
+
}
|
|
7632
|
+
else {
|
|
7633
|
+
this.infinitezData.splice(this.state.skip, this.state.take, ...dataSet);
|
|
7634
|
+
}
|
|
7635
|
+
}
|
|
7636
|
+
}), switchMap(({ eventType, searchTerm }) => {
|
|
7637
|
+
if (eventType !== null || !ZComponentHelper.isNullUndefinedEmpty(searchTerm) || recordValueList.length === 0) {
|
|
7638
|
+
return of(null);
|
|
7639
|
+
}
|
|
7640
|
+
return from(recordValueList).pipe(mergeMap(value => {
|
|
7641
|
+
const existingIndex = this.infinitezData.findIndex(item => item && item[this.itemValueField].toString() === value.toString());
|
|
7642
|
+
if (existingIndex !== -1) {
|
|
7643
|
+
return of(null);
|
|
7644
|
+
}
|
|
7645
|
+
return newItems$(null, '', 0, this.group.ctrlScope, this.data, value).pipe(tap(resp => {
|
|
7646
|
+
if (resp['dataSet']) {
|
|
7647
|
+
this.infinitezData = [...resp['dataSet'], ...this.infinitezData];
|
|
7648
|
+
}
|
|
7649
|
+
}));
|
|
7650
|
+
}));
|
|
7651
|
+
}), tap(() => {
|
|
7652
|
+
if (this.group) {
|
|
7653
|
+
this.afterLoadzDataOptions();
|
|
7654
|
+
}
|
|
7655
|
+
this.isLoading = false;
|
|
7656
|
+
this.cdr.detectChanges();
|
|
7657
|
+
}), catchError((error) => {
|
|
7658
|
+
console.warn('Error in loadInfiniteData:', error);
|
|
7659
|
+
this.isLoading = false;
|
|
7660
|
+
return of(null);
|
|
7661
|
+
})).subscribe();
|
|
7662
|
+
}
|
|
7663
|
+
getPageNo(stateSkip, stateTake) {
|
|
7664
|
+
return Math.round(stateSkip / stateTake);
|
|
7665
|
+
}
|
|
7531
7666
|
// Auto select first option (if required & only 1 option)
|
|
7532
7667
|
autoSelectFirstOption(required, data, zModelPropertyName, id) {
|
|
7533
7668
|
if (ZComponentHelper.isNullUndefinedEmpty(id) && required) {
|
|
@@ -7539,7 +7674,7 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7539
7674
|
this.group.subject.next({
|
|
7540
7675
|
type: "onChange",
|
|
7541
7676
|
target: this.data.OnChange,
|
|
7542
|
-
event,
|
|
7677
|
+
event: event$1,
|
|
7543
7678
|
data: { ['value']: optionId, field: this.data }
|
|
7544
7679
|
});
|
|
7545
7680
|
this.form.markAsPristine();
|
|
@@ -7556,86 +7691,82 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7556
7691
|
}
|
|
7557
7692
|
// Style #4, used in ionic-selectable
|
|
7558
7693
|
getInfiniteData(event) {
|
|
7559
|
-
|
|
7694
|
+
var _a;
|
|
7695
|
+
const searchTerm = (_a = event.text) !== null && _a !== void 0 ? _a : '';
|
|
7696
|
+
ZComponentHelper.getInfiniteData(event.component, searchTerm, this).subscribe();
|
|
7560
7697
|
}
|
|
7561
7698
|
getItemsData() {
|
|
7699
|
+
// Local helper function for slicing option name based on start index
|
|
7700
|
+
const getOptionNameSuffix = (optionName, startIndex) => {
|
|
7701
|
+
return optionName.slice(startIndex);
|
|
7702
|
+
};
|
|
7562
7703
|
if (this.data.HasInfiniteScroll) {
|
|
7563
7704
|
return this.infinitezData;
|
|
7564
7705
|
}
|
|
7565
7706
|
const optionName = this.data.OptionName || this.itemDataField || 'group.zData.' + this.data.Name;
|
|
7566
|
-
if (Array.isArray(this.data.SelectOptions) && !this.group.zData[optionName
|
|
7567
|
-
|
|
7568
|
-
// return this.data.SelectOptions;
|
|
7569
|
-
this.group.zData[optionName.slice(12)] = this.data.SelectOptions;
|
|
7707
|
+
if (Array.isArray(this.data.SelectOptions) && !this.group.zData[getOptionNameSuffix(optionName, 12)]) {
|
|
7708
|
+
this.group.zData[getOptionNameSuffix(optionName, 12)] = this.data.SelectOptions;
|
|
7570
7709
|
this.itemDataField = optionName;
|
|
7571
7710
|
}
|
|
7572
7711
|
if (optionName.startsWith('zData.')) {
|
|
7573
|
-
return this.group.zData[optionName
|
|
7712
|
+
return this.group.zData[getOptionNameSuffix(optionName, 6)] || [];
|
|
7574
7713
|
}
|
|
7575
7714
|
if (optionName.startsWith('group.zData.')) {
|
|
7576
|
-
return this.group.zData[optionName
|
|
7715
|
+
return this.group.zData[getOptionNameSuffix(optionName, 12)] || [];
|
|
7577
7716
|
}
|
|
7578
7717
|
if (optionName.startsWith('group.')) {
|
|
7579
|
-
return this.group[optionName
|
|
7718
|
+
return this.group[getOptionNameSuffix(optionName, 6)] || [];
|
|
7580
7719
|
}
|
|
7581
7720
|
if (optionName) {
|
|
7582
7721
|
return this.group[optionName] || [];
|
|
7583
7722
|
}
|
|
7584
7723
|
console.warn(this.data.Name, ' - Invalid setting for OptionName: ', optionName);
|
|
7724
|
+
this.cdr.detectChanges();
|
|
7585
7725
|
}
|
|
7586
7726
|
onSearch(event) {
|
|
7587
|
-
var _a;
|
|
7588
7727
|
// console.log("At zselectmultiple.component (onSearch): ", event);
|
|
7589
7728
|
// event.component is for mobile only
|
|
7590
7729
|
const searchTerm = event.text;
|
|
7591
7730
|
const component = event.component;
|
|
7592
7731
|
// Start search and enable infinite scrolling on the component if available
|
|
7593
|
-
component === null || component === void 0 ? void 0 : component.startSearch();
|
|
7594
|
-
component === null || component === void 0 ? void 0 : component.enableInfiniteScroll();
|
|
7595
|
-
// Reset paging and clear data if new search text is detected or infinite scrolling is enabled
|
|
7596
|
-
|
|
7597
|
-
|
|
7598
|
-
|
|
7599
|
-
|
|
7600
|
-
|
|
7601
|
-
|
|
7602
|
-
|
|
7603
|
-
|
|
7604
|
-
|
|
7605
|
-
|
|
7606
|
-
|
|
7607
|
-
|
|
7608
|
-
|
|
7609
|
-
|
|
7610
|
-
|
|
7611
|
-
|
|
7612
|
-
|
|
7613
|
-
|
|
7614
|
-
|
|
7615
|
-
|
|
7616
|
-
|
|
7617
|
-
|
|
7618
|
-
|
|
7619
|
-
|
|
7620
|
-
|
|
7621
|
-
|
|
7622
|
-
|
|
7623
|
-
|
|
7624
|
-
|
|
7625
|
-
|
|
7626
|
-
|
|
7627
|
-
|
|
7628
|
-
|
|
7629
|
-
|
|
7630
|
-
|
|
7631
|
-
// Update component items and handle search completion
|
|
7632
|
-
if (component) {
|
|
7633
|
-
component.items = [...component.items, ...filteredItems];
|
|
7634
|
-
component.endInfiniteScroll();
|
|
7635
|
-
component.endSearch();
|
|
7636
|
-
this.isLoading = false;
|
|
7637
|
-
}
|
|
7638
|
-
}
|
|
7732
|
+
component === null || component === void 0 ? void 0 : component.startSearch(); //mobile
|
|
7733
|
+
component === null || component === void 0 ? void 0 : component.enableInfiniteScroll(); //mobile
|
|
7734
|
+
// // Reset paging and clear data if new search text is detected or infinite scrolling is enabled
|
|
7735
|
+
// // Reset scroll page, empty items
|
|
7736
|
+
// this.infiniteScrollPageNo = 0;
|
|
7737
|
+
// if (component) {
|
|
7738
|
+
// component.items = [];
|
|
7739
|
+
// }
|
|
7740
|
+
// // Prepare default parameters for item filtering
|
|
7741
|
+
// const params: zSelectMultipleParams = {
|
|
7742
|
+
// referId: null,
|
|
7743
|
+
// pageNo: 0,
|
|
7744
|
+
// pageSize: 20,
|
|
7745
|
+
// sortColumnName: "",
|
|
7746
|
+
// sortOrder: "",
|
|
7747
|
+
// sortColumnNames: [],
|
|
7748
|
+
// sortOrders: [],
|
|
7749
|
+
// filterParams: [],
|
|
7750
|
+
// parameters: ""
|
|
7751
|
+
// };
|
|
7752
|
+
// const searchBy = this.data.SearchFields ?? this.itemTextField;
|
|
7753
|
+
// const itemsData = this.getItemsData();
|
|
7754
|
+
// const filteredItems = ZComponentHelper.filterSearchItems(
|
|
7755
|
+
// itemsData,
|
|
7756
|
+
// searchTerm,
|
|
7757
|
+
// searchBy,
|
|
7758
|
+
// params.pageNo,
|
|
7759
|
+
// params.pageSize,
|
|
7760
|
+
// this.data.SearchOperator
|
|
7761
|
+
// );
|
|
7762
|
+
// this.checkAllowCustomValue(searchBy, searchTerm, filteredItems, itemsData);
|
|
7763
|
+
// // Update component items and handle search completion
|
|
7764
|
+
// if (component) {
|
|
7765
|
+
// component.items = [...component.items, ...filteredItems];
|
|
7766
|
+
// component.endInfiniteScroll();
|
|
7767
|
+
// component.endSearch();
|
|
7768
|
+
// this.isLoading = false;
|
|
7769
|
+
// }
|
|
7639
7770
|
}
|
|
7640
7771
|
checkAllowCustomValue(searchBy, searchTerm, filteredItems, itemsData) {
|
|
7641
7772
|
// Allow custom value unless a direct match is found
|
|
@@ -7658,7 +7789,7 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7658
7789
|
}
|
|
7659
7790
|
}
|
|
7660
7791
|
}
|
|
7661
|
-
handleFilter(searchTerm
|
|
7792
|
+
handleFilter(searchTerm) {
|
|
7662
7793
|
var _a;
|
|
7663
7794
|
if (this.multiselect && this.data.SearchLength) {
|
|
7664
7795
|
const meetsLengthCondition = this.data.SearchLength && this.data.SearchLength <= searchTerm.length;
|
|
@@ -7669,66 +7800,49 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7669
7800
|
if (this.data.AllowCustomValue) {
|
|
7670
7801
|
this.checkAllowCustomValue(searchBy, searchTerm, itemsData);
|
|
7671
7802
|
}
|
|
7672
|
-
if (this.
|
|
7673
|
-
this.
|
|
7803
|
+
if (this.data.HasInfiniteScroll && this.data.InfiniteScroll$ && searchTerm) {
|
|
7804
|
+
this.stateChange.next({ state: this.state, eventType: 'Filter', searchTerm: searchTerm });
|
|
7674
7805
|
}
|
|
7675
|
-
this.debounceSub = of([]).pipe(tap(() => (this.isLoading = true)), delay(500), tap(() => this.performSearch(searchTerm)), tap(() => (this.isLoading = false))).subscribe();
|
|
7676
7806
|
}
|
|
7677
|
-
|
|
7678
|
-
|
|
7679
|
-
|
|
7680
|
-
if (this.
|
|
7681
|
-
this.
|
|
7807
|
+
onComboOpened() {
|
|
7808
|
+
var _a, _b;
|
|
7809
|
+
if (this.data.HasInfiniteScroll && this.data.InfiniteScroll$) {
|
|
7810
|
+
if ((_b = (_a = this.comboboxComponent) === null || _a === void 0 ? void 0 : _a.optionsList) === null || _b === void 0 ? void 0 : _b.pageChange) {
|
|
7811
|
+
this.comboboxComponent.optionsList.scrollToIndex(0);
|
|
7682
7812
|
}
|
|
7683
|
-
|
|
7684
|
-
if (!this.data.SearchLength || this.data.SearchLength <= value.length) {
|
|
7685
|
-
searchAction();
|
|
7813
|
+
this.comboboxComponent.optionsList.pageChange.subscribe((state) => this.stateChange.next({ state: state, eventType: 'Opened', searchTerm: '' }));
|
|
7686
7814
|
}
|
|
7687
7815
|
}
|
|
7688
|
-
|
|
7689
|
-
debugger;
|
|
7690
|
-
if (this.debounceSub) {
|
|
7691
|
-
this.debounceSub.unsubscribe();
|
|
7692
|
-
}
|
|
7693
|
-
this.debounceSub = of([]).pipe(delay(500)).subscribe(() => {
|
|
7694
|
-
this.isLoading = true;
|
|
7695
|
-
this.onSearch({ component: null, text: value });
|
|
7696
|
-
if (this.group) {
|
|
7697
|
-
if (this.group.afterLoadzDataOptions) {
|
|
7698
|
-
this.group.afterLoadzDataOptions(this.group, this.data);
|
|
7699
|
-
}
|
|
7700
|
-
}
|
|
7701
|
-
});
|
|
7702
|
-
}
|
|
7703
|
-
handleOpen(event) {
|
|
7704
|
-
if (this.data.HasInfiniteScroll) {
|
|
7705
|
-
this.resetInfiniteData();
|
|
7706
|
-
// if (!this.infiniteDataLoaded) {
|
|
7707
|
-
// this.infiniteDataLoaded = true;
|
|
7708
|
-
this.handleFilter(null);
|
|
7709
|
-
// }
|
|
7710
|
-
}
|
|
7816
|
+
onMultiSelectOpen(event) {
|
|
7711
7817
|
// Ensure multiselect value meets the search length requirement
|
|
7712
|
-
if (this.
|
|
7818
|
+
if (this.data.SearchLength && this.multiselect.value.length < this.data.SearchLength) {
|
|
7713
7819
|
event.preventDefault();
|
|
7714
7820
|
return; // Early return to avoid unnecessary checks
|
|
7715
7821
|
}
|
|
7716
7822
|
}
|
|
7717
|
-
|
|
7718
|
-
|
|
7719
|
-
this.
|
|
7720
|
-
|
|
7721
|
-
|
|
7722
|
-
|
|
7723
|
-
|
|
7823
|
+
onMultiSelectOpened() {
|
|
7824
|
+
var _a, _b;
|
|
7825
|
+
if (this.data.HasInfiniteScroll && this.data.InfiniteScroll$) {
|
|
7826
|
+
if ((_b = (_a = this.multiselect) === null || _a === void 0 ? void 0 : _a.optionsList) === null || _b === void 0 ? void 0 : _b.pageChange) {
|
|
7827
|
+
this.multiselect.optionsList.scrollToIndex(0);
|
|
7828
|
+
}
|
|
7829
|
+
this.multiselect.optionsList.pageChange.subscribe((state) => this.stateChange.next({ state: state, eventType: 'Opened', searchTerm: '' }));
|
|
7830
|
+
}
|
|
7724
7831
|
}
|
|
7725
|
-
|
|
7726
|
-
|
|
7832
|
+
onDropDownListOpened() {
|
|
7833
|
+
var _a, _b;
|
|
7834
|
+
if (this.data.HasInfiniteScroll && this.data.InfiniteScroll$) {
|
|
7835
|
+
// optionsList is a reference to the internal kendo-list component used in the DropDownList popup
|
|
7836
|
+
// pass the current state to the stateChange BehaviorSubject on each pageChange event
|
|
7837
|
+
if ((_b = (_a = this.dropdownlistComponent) === null || _a === void 0 ? void 0 : _a.optionsList) === null || _b === void 0 ? void 0 : _b.pageChange) {
|
|
7838
|
+
this.dropdownlistComponent.optionsList.scrollToIndex(0);
|
|
7839
|
+
}
|
|
7840
|
+
this.dropdownlistComponent.optionsList.pageChange.subscribe((state) => this.stateChange.next({ state: state, eventType: 'Opened', searchTerm: '' }));
|
|
7841
|
+
}
|
|
7727
7842
|
}
|
|
7728
|
-
|
|
7729
|
-
if (this.data.HasInfiniteScroll) {
|
|
7730
|
-
this.
|
|
7731
|
-
this.handleFilter(null);
|
|
7843
|
+
handleClose(event) {
|
|
7844
|
+
if (this.data.HasInfiniteScroll && this.data.InfiniteScroll$ && this.hasSearched) {
|
|
7845
|
+
this.stateChange.next({ state: this.state, eventType: 'Closed', searchTerm: '' });
|
|
7732
7846
|
}
|
|
7733
7847
|
}
|
|
7734
7848
|
getItemTemplate(item, data, group, itemValueField, itemTextField) {
|
|
@@ -7744,6 +7858,9 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7744
7858
|
});
|
|
7745
7859
|
}
|
|
7746
7860
|
else if (itemTextField) {
|
|
7861
|
+
if (!item) {
|
|
7862
|
+
return null;
|
|
7863
|
+
}
|
|
7747
7864
|
return item[itemTextField];
|
|
7748
7865
|
}
|
|
7749
7866
|
else {
|
|
@@ -7751,6 +7868,11 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7751
7868
|
return Object.values(item).join(", ");
|
|
7752
7869
|
}
|
|
7753
7870
|
}
|
|
7871
|
+
resetInfiniteData() {
|
|
7872
|
+
this.infinitezData = [];
|
|
7873
|
+
this.state = { skip: 0, take: this.defaultTake };
|
|
7874
|
+
this.infiniteScrollPageNo = 0;
|
|
7875
|
+
}
|
|
7754
7876
|
onAddItem(event) {
|
|
7755
7877
|
const f = ZComponentHelper.getGroupEvalValue.call(this, this.data.OnAddItem);
|
|
7756
7878
|
if (typeof f === 'function') {
|
|
@@ -7950,12 +8072,12 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7950
8072
|
}
|
|
7951
8073
|
}
|
|
7952
8074
|
}
|
|
7953
|
-
ZselectmultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZselectmultipleComponent, deps: [{ token: ZComponentService }, { token: i2.ResourceApiService }, { token: i2.WebApiService }, { token: i2.CacheService }, { token: i2.FieldService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7954
|
-
ZselectmultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZselectmultipleComponent, selector: "app-zselectmultiple", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ["comboboxComponent"], descendants: true }, { propertyName: "dropdownlistComponent", first: true, predicate: ["dropdownlistComponent"], descendants: true }, { propertyName: "multiselect", first: true, predicate: ["multiselect"], descendants: true }, { propertyName: "multiselecttree", first: true, predicate: ["multiselecttree"], descendants: true }, { propertyName: "selectComponent", first: true, predicate: ["selectComponent"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"zselectmultiple-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ionic-selectable *ngIf=\"isMobileScreen()\" #selectComponent item-content searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\" clearButtonText=\"Clear\" [(ngModel)]=\"group.zModel[data.Value]\" [id]=\"data.Value\"\r\n [items]=\"getItemsData()\" [itemValueField]=\"itemValueField\" [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\" [canClear]=\"true\" [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\" [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\" [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\" (onSearch)=\"onSearch($event)\" (onInfiniteScroll)=\"getInfiniteData($event)\"\r\n (onAddItem)=\"onAddItem($event)\" (onChange)=\"onChange_mobile($event)\" [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate let-item=\"item\" let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\" class=\"isItemSelected e1tag-style2\" size=\"sm\" [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\" [style]=\"componentProperties.style.style2\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableCloseButtonTemplate>\r\n <!-- <ion-icon name=\"close-circle\"></ion-icon> -->\r\n <fa-icon [icon]=\"'times-circle'\" size=\"md\" [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n <span class=e1tag-style4 [style]=\"componentProperties.style.style4\">{{data.Label}}</span>\r\n <ion-text *ngIf=\"getIsRequiredValue()\" color=\"danger\">*</ion-text>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableItemTemplate let-item=\"item\">\r\n <span class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}</span>\r\n </ng-template>\r\n </ionic-selectable>\r\n <kendo-combobox *ngIf=\"!isMobileScreen() && componentType == 'combobox'\"\r\n class=\"input-field e1tag-style1\"\r\n #comboboxComponent\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (open)=\"handleOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n <span class=\"e1tag-style5\" [class.zselect-virtualization]=\"data.IsEnableVirtualization\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}</span>\r\n <!-- <span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }} -->\r\n </ng-template>\r\n </kendo-combobox>\r\n <kendo-multiselect *ngIf=\"!isMobileScreen() && componentType == 'multiselect'\"\r\n class=\"input-field e1tag-style1\"\r\n #multiselect\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"handleOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (blur)=\"handleBlur()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n <span class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}</span>\r\n </ng-template>\r\n </kendo-multiselect>\r\n <kendo-multiselecttree *ngIf=\"!isMobileScreen() && componentType == 'multiselecttree'\"\r\n class=\"input-field e1tag-style1\"\r\n #multiselecttree\r\n kendoMultiSelectTreeExpandable\r\n [placeholder]=\"data.PlaceHolder\"\r\n [kendoMultiSelectTreeHierarchyBinding]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [kendoMultiSelectTreeSummaryTag]=\"componentSettings.kendoMultiSelectTreeSummaryTag\"\r\n childrenField=\"Value\"\r\n [hasChildren]=\"hasChildren\"\r\n [textField]=\"itemTextField\"\r\n [valueField]=\"itemValueField\"\r\n [valuePrimitive]=\"true\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n [dataItems]=\"getDataItems()\"\r\n [formControlName]=\"data.Value\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [expandOnFilter]=\"componentSettings.expandOnFilter\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n (filterChange)=\"handleMultiSelectTreeFilter($event)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n (open)=\"handleOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (blur)=\"handleBlur()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [(expandedKeys)]=\"expandedKeys\"\r\n [popupSettings]=\"componentSettings.popupSettings\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoMultiSelectTreeNoDataTemplate>\r\n <h4>\r\n <span class=\"k-icon k-i-warning\"></span><br /><br />\r\n No record found.\r\n </h4>\r\n </ng-template>\r\n </kendo-multiselecttree>\r\n <kendo-dropdownlist *ngIf=\"!isMobileScreen() && componentType == 'dropdownlist'\"\r\n class=\"input-field e1tag-style1\"\r\n #dropdownlistComponent\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (open)=\"handleOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (blur)=\"handleBlur()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoDropDownListItemTemplate let-dataItem>\r\n <span class=\"e1tag-style5\" [class.zselect-virtualization]=\"data.IsEnableVirtualization\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}</span>\r\n <!-- <span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }} -->\r\n </ng-template>\r\n </kendo-dropdownlist>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-combobox.k-multiselect,:host ::ng-deep kendo-dropdownlist.k-multiselect,:host ::ng-deep kendo-multiselect.k-multiselect{height:auto}:host ::ng-deep kendo-combobox kendo-taglist.k-chip-list .k-chip-label,:host ::ng-deep kendo-dropdownlist kendo-taglist.k-chip-list .k-chip-label,:host ::ng-deep kendo-multiselect kendo-taglist.k-chip-list .k-chip-label{white-space:normal;word-break:break-word}:host ::ng-deep kendo-combobox .k-searchbar,:host ::ng-deep kendo-dropdownlist .k-searchbar,:host ::ng-deep kendo-multiselect .k-searchbar{margin:auto}:host ::ng-deep kendo-combobox .k-searchbar+.k-icon,:host ::ng-deep kendo-dropdownlist .k-searchbar+.k-icon,:host ::ng-deep kendo-multiselect .k-searchbar+.k-icon{margin:auto}:host ::ng-deep kendo-combobox .kendo-combobox-item-template,:host ::ng-deep kendo-dropdownlist .kendo-combobox-item-template,:host ::ng-deep kendo-multiselect .kendo-combobox-item-template{height:var(--input-field-height)!important}:host ::ng-deep kendo-combobox.disabled>.k-dropdown-wrap,:host ::ng-deep kendo-dropdownlist.disabled>.k-dropdown-wrap,:host ::ng-deep kendo-multiselect.disabled>.k-dropdown-wrap{background:transparent}:host ::ng-deep kendo-combobox:focus-within,:host ::ng-deep kendo-dropdownlist:focus-within,:host ::ng-deep kendo-multiselect:focus-within{box-shadow:0 0 3px 1px var(--ion-color-primary)}:host ::ng-deep kendo-combobox.no-border,:host ::ng-deep kendo-dropdownlist.no-border,:host ::ng-deep kendo-multiselect.no-border{box-shadow:none!important;border:none!important}:host ::ng-deep kendo-combobox.no-border>.k-input-button,:host ::ng-deep kendo-dropdownlist.no-border>.k-input-button,:host ::ng-deep kendo-multiselect.no-border>.k-input-button{background:none;border:none}:host ::ng-deep kendo-combobox.no-background,:host ::ng-deep kendo-dropdownlist.no-background,:host ::ng-deep kendo-multiselect.no-background{background:none}:host ::ng-deep kendo-combobox.right-align>kendo-searchbar>input,:host ::ng-deep kendo-dropdownlist.right-align>kendo-searchbar>input,:host ::ng-deep kendo-multiselect.right-align>kendo-searchbar>input{text-align:right}:host ::ng-deep kendo-combobox.right-align>.k-input-inner,:host ::ng-deep kendo-dropdownlist.right-align>.k-input-inner,:host ::ng-deep kendo-multiselect.right-align>.k-input-inner{text-align:right}:host ::ng-deep kendo-dropdownlist{background:white}:host ::ng-deep kendo-dropdownlist>span.k-input-inner>.k-input-value-text{width:0px}fa-icon.isItemSelected{display:inline-block;width:1em;height:1em;contain:strict;fill:currentcolor;box-sizing:content-box!important;font-size:20px;margin-top:10px;margin-bottom:14px;margin-right:unset;margin-inline-end:20px}.gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divselectmultiple{justify-content:space-between;width:99%;color:#000}.zselect-virtualization{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], components: [{ type: i3$6.IonicSelectableComponent, selector: "ionic-selectable", inputs: ["items", "modalCssClass", "modalEnterAnimation", "modalLeaveAnimation", "isConfirmButtonEnabled", "itemValueField", "itemTextField", "groupValueField", "groupTextField", "canSearch", "hasInfiniteScroll", "hasVirtualScroll", "virtualScrollApproxItemHeight", "searchPlaceholder", "placeholder", "searchFailText", "clearButtonText", "addButtonText", "confirmButtonText", "closeButtonText", "shouldFocusSearchbar", "headerColor", "groupColor", "closeButtonSlot", "itemIconSlot", "searchDebounce", "disabledItems", "shouldStoreItemValue", "canSaveItem", "canDeleteItem", "virtualScrollHeaderFn", "isEnabled", "shouldBackdropClose", "hasConfirmButton", "isOnSearchEnabled", "canClear", "isMultiple", "canAddItem"], outputs: ["itemsChange", "onChange", "onSearch", "onSearchFail", "onSearchSuccess", "onInfiniteScroll", "onOpen", "onClose", "onSelect", "onClear", "onSaveItem", "onDeleteItem", "onAddItem"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i2$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i6$1.ComboBoxComponent, selector: "kendo-combobox", inputs: ["focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "popupSettings", "listHeight", "iconClass", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoComboBox"] }, { type: i6$1.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { type: i6$1.MultiSelectTreeComponent, selector: "kendo-multiselecttree", inputs: ["tabindex", "size", "rounded", "fillMode", "popupSettings", "checkableSettings", "data", "value", "dataItems", "textField", "valueField", "valueDepth", "loading", "placeholder", "listHeight", "disabled", "readonly", "valuePrimitive", "loadOnDemand", "focusableId", "clearButton", "filterable", "checkAll", "hasChildren", "fetchChildren", "isNodeExpanded", "isNodeVisible", "itemDisabled", "tagMapper"], outputs: ["focus", "blur", "open", "opened", "close", "closed", "nodeExpand", "nodeCollapse", "valueChange", "removeTag", "filterChange"], exportAs: ["kendoMultiSelectTree"] }, { type: i6$1.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$6.IonicSelectableItemIconTemplateDirective, selector: "[ionicSelectableItemIconTemplate]" }, { type: i3$6.IonicSelectableCloseButtonTemplateDirective, selector: "[ionicSelectableCloseButtonTemplate]" }, { type: i3$6.IonicSelectableTitleTemplateDirective, selector: "[ionicSelectableTitleTemplate]" }, { type: i3$6.IonicSelectableItemTemplateDirective, selector: "[ionicSelectableItemTemplate]" }, { type: OpenOnFocusDirective, selector: "kendo-combobox[openOnFocus]", inputs: ["openOnFocus"] }, { type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6$1.FilterDirective, selector: "[kendoDropDownFilter]", inputs: ["data", "kendoDropDownFilter", "filterable"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i6$1.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i6$1.DropDownTreesExpandDirective, selector: "[kendoDropDownTreeExpandable], [kendoMultiSelectTreeExpandable]", inputs: ["isNodeExpanded"] }, { type: i6$1.MultiSelectTreeHierarchyBindingDirective, selector: "[kendoMultiSelectTreeHierarchyBinding]", inputs: ["kendoMultiSelectTreeHierarchyBinding"] }, { type: i6$1.MultiSelectTreeSummaryTagDirective, selector: "[kendoMultiSelectTreeSummaryTag]", inputs: ["kendoMultiSelectTreeSummaryTag"] }, { type: i6$1.NoDataTemplateDirective, selector: "[kendoDropDownListNoDataTemplate],[kendoDropDownTreeNoDataTemplate],[kendoComboBoxNoDataTemplate],[kendoMultiColumnComboBoxNoDataTemplate],[kendoAutoCompleteNoDataTemplate],[kendoMultiSelectNoDataTemplate],[kendoMultiSelectTreeNoDataTemplate]" }], pipes: { "async": i5.AsyncPipe, "zselectTranslationParser": ZSelectTranslationParser } });
|
|
8075
|
+
ZselectmultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZselectmultipleComponent, deps: [{ token: ZComponentService }, { token: i2.ResourceApiService }, { token: i0.ChangeDetectorRef }, { token: i2.WebApiService }, { token: i2.CacheService }, { token: i2.FieldService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8076
|
+
ZselectmultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZselectmultipleComponent, selector: "app-zselectmultiple", viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ["comboboxComponent"], descendants: true }, { propertyName: "dropdownlistComponent", first: true, predicate: ["dropdownlistComponent"], descendants: true }, { propertyName: "multiselect", first: true, predicate: ["multiselect"], descendants: true }, { propertyName: "multiselecttree", first: true, predicate: ["multiselecttree"], descendants: true }, { propertyName: "selectComponent", first: true, predicate: ["selectComponent"], descendants: true }, { propertyName: "itemElement", first: true, predicate: ["itemElement"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"zselectmultiple-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ionic-selectable *ngIf=\"isMobileScreen()\" #selectComponent item-content searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\" clearButtonText=\"Clear\" [(ngModel)]=\"group.zModel[data.Value]\" [id]=\"data.Value\"\r\n [items]=\"getItemsData()\" [itemValueField]=\"itemValueField\" [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\" [canClear]=\"true\" [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\" [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\" [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\" (onSearch)=\"onSearch($event)\"\r\n (onAddItem)=\"onAddItem($event)\" (onChange)=\"onChange_mobile($event)\" [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate let-item=\"item\" let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\" class=\"isItemSelected e1tag-style2\" size=\"sm\" [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\" [style]=\"componentProperties.style.style2\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableCloseButtonTemplate>\r\n <!-- <ion-icon name=\"close-circle\"></ion-icon> -->\r\n <fa-icon [icon]=\"'times-circle'\" size=\"md\" [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n <span class=e1tag-style4 [style]=\"componentProperties.style.style4\">{{data.Label}}</span>\r\n <ion-text *ngIf=\"getIsRequiredValue()\" color=\"danger\">*</ion-text>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableItemTemplate let-item=\"item\">\r\n <span class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}</span>\r\n </ng-template>\r\n </ionic-selectable>\r\n <kendo-combobox *ngIf=\"!isMobileScreen() && componentType == 'combobox'\"\r\n class=\"input-field e1tag-style1\"\r\n #comboboxComponent\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (close)=\"handleClose($event)\"\r\n (opened)=\"onComboOpened()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n <span #itemElement class=\"e1tag-style5\" [class.zselect-virtualization]=\"data.IsEnableVirtualization\" [style]=\"componentProperties.style.style5\">\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n </span>\r\n </ng-template>\r\n </kendo-combobox>\r\n <kendo-multiselect *ngIf=\"!isMobileScreen() && componentType == 'multiselect'\"\r\n class=\"input-field e1tag-style1\"\r\n #multiselect\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"onMultiSelectOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (opened)=\"onMultiSelectOpened()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n <span #itemElement class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\">\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n </span>\r\n </ng-template>\r\n </kendo-multiselect>\r\n <kendo-multiselecttree *ngIf=\"!isMobileScreen() && componentType == 'multiselecttree'\"\r\n class=\"input-field e1tag-style1\"\r\n #multiselecttree\r\n kendoMultiSelectTreeExpandable\r\n [placeholder]=\"data.PlaceHolder\"\r\n [kendoMultiSelectTreeHierarchyBinding]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [kendoMultiSelectTreeSummaryTag]=\"componentSettings.kendoMultiSelectTreeSummaryTag\"\r\n childrenField=\"Value\"\r\n [hasChildren]=\"hasChildren\"\r\n [textField]=\"itemTextField\"\r\n [valueField]=\"itemValueField\"\r\n [valuePrimitive]=\"true\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n [dataItems]=\"getDataItems()\"\r\n [formControlName]=\"data.Value\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [expandOnFilter]=\"componentSettings.expandOnFilter\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n (filterChange)=\"handleMultiSelectTreeFilter($event)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n (close)=\"handleClose($event)\"\r\n [style]=\"componentProperties.style.style1\"\r\n [(expandedKeys)]=\"expandedKeys\"\r\n [popupSettings]=\"componentSettings.popupSettings\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoMultiSelectTreeNoDataTemplate>\r\n <h4>\r\n <span class=\"k-icon k-i-warning\"></span><br /><br />\r\n No record found.\r\n </h4>\r\n </ng-template>\r\n </kendo-multiselecttree>\r\n <kendo-dropdownlist *ngIf=\"!isMobileScreen() && componentType == 'dropdownlist'\"\r\n class=\"input-field e1tag-style1\"\r\n #dropdownlistComponent\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (close)=\"handleClose($event)\"\r\n (opened)=\"onDropDownListOpened()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoDropDownListItemTemplate let-dataItem>\r\n <span #itemElement class=\"e1tag-style5\" [class.zselect-virtualization]=\"data.IsEnableVirtualization\" [style]=\"componentProperties.style.style5\">\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n </span>\r\n </ng-template>\r\n </kendo-dropdownlist>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-combobox.k-multiselect,:host ::ng-deep kendo-dropdownlist.k-multiselect,:host ::ng-deep kendo-multiselect.k-multiselect{height:auto}:host ::ng-deep kendo-combobox kendo-taglist.k-chip-list .k-chip-label,:host ::ng-deep kendo-dropdownlist kendo-taglist.k-chip-list .k-chip-label,:host ::ng-deep kendo-multiselect kendo-taglist.k-chip-list .k-chip-label{white-space:normal;word-break:break-word}:host ::ng-deep kendo-combobox .k-searchbar,:host ::ng-deep kendo-dropdownlist .k-searchbar,:host ::ng-deep kendo-multiselect .k-searchbar{margin:auto}:host ::ng-deep kendo-combobox .k-searchbar+.k-icon,:host ::ng-deep kendo-dropdownlist .k-searchbar+.k-icon,:host ::ng-deep kendo-multiselect .k-searchbar+.k-icon{margin:auto}:host ::ng-deep kendo-combobox .kendo-combobox-item-template,:host ::ng-deep kendo-dropdownlist .kendo-combobox-item-template,:host ::ng-deep kendo-multiselect .kendo-combobox-item-template{height:var(--input-field-height)!important}:host ::ng-deep kendo-combobox.disabled>.k-dropdown-wrap,:host ::ng-deep kendo-dropdownlist.disabled>.k-dropdown-wrap,:host ::ng-deep kendo-multiselect.disabled>.k-dropdown-wrap{background:transparent}:host ::ng-deep kendo-combobox:focus-within,:host ::ng-deep kendo-dropdownlist:focus-within,:host ::ng-deep kendo-multiselect:focus-within{box-shadow:0 0 3px 1px var(--ion-color-primary)}:host ::ng-deep kendo-combobox.no-border,:host ::ng-deep kendo-dropdownlist.no-border,:host ::ng-deep kendo-multiselect.no-border{box-shadow:none!important;border:none!important}:host ::ng-deep kendo-combobox.no-border>.k-input-button,:host ::ng-deep kendo-dropdownlist.no-border>.k-input-button,:host ::ng-deep kendo-multiselect.no-border>.k-input-button{background:none;border:none}:host ::ng-deep kendo-combobox.no-background,:host ::ng-deep kendo-dropdownlist.no-background,:host ::ng-deep kendo-multiselect.no-background{background:none}:host ::ng-deep kendo-combobox.right-align>kendo-searchbar>input,:host ::ng-deep kendo-dropdownlist.right-align>kendo-searchbar>input,:host ::ng-deep kendo-multiselect.right-align>kendo-searchbar>input{text-align:right}:host ::ng-deep kendo-combobox.right-align>.k-input-inner,:host ::ng-deep kendo-dropdownlist.right-align>.k-input-inner,:host ::ng-deep kendo-multiselect.right-align>.k-input-inner{text-align:right}:host ::ng-deep kendo-dropdownlist{background:white}:host ::ng-deep kendo-dropdownlist>span.k-input-inner>.k-input-value-text{width:0px}fa-icon.isItemSelected{display:inline-block;width:1em;height:1em;contain:strict;fill:currentcolor;box-sizing:content-box!important;font-size:20px;margin-top:10px;margin-bottom:14px;margin-right:unset;margin-inline-end:20px}.gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divselectmultiple{justify-content:space-between;width:99%;color:#000}.zselect-virtualization{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"], components: [{ type: i3$6.IonicSelectableComponent, selector: "ionic-selectable", inputs: ["items", "modalCssClass", "modalEnterAnimation", "modalLeaveAnimation", "isConfirmButtonEnabled", "itemValueField", "itemTextField", "groupValueField", "groupTextField", "canSearch", "hasInfiniteScroll", "hasVirtualScroll", "virtualScrollApproxItemHeight", "searchPlaceholder", "placeholder", "searchFailText", "clearButtonText", "addButtonText", "confirmButtonText", "closeButtonText", "shouldFocusSearchbar", "headerColor", "groupColor", "closeButtonSlot", "itemIconSlot", "searchDebounce", "disabledItems", "shouldStoreItemValue", "canSaveItem", "canDeleteItem", "virtualScrollHeaderFn", "isEnabled", "shouldBackdropClose", "hasConfirmButton", "isOnSearchEnabled", "canClear", "isMultiple", "canAddItem"], outputs: ["itemsChange", "onChange", "onSearch", "onSearchFail", "onSearchSuccess", "onInfiniteScroll", "onOpen", "onClose", "onSelect", "onClear", "onSaveItem", "onDeleteItem", "onAddItem"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i2$1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i6$1.ComboBoxComponent, selector: "kendo-combobox", inputs: ["focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "popupSettings", "listHeight", "iconClass", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoComboBox"] }, { type: i6$1.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "loading", "data", "value", "valueField", "textField", "tabindex", "tabIndex", "size", "rounded", "fillMode", "placeholder", "disabled", "itemDisabled", "checkboxes", "readonly", "filterable", "virtual", "popupSettings", "listHeight", "valuePrimitive", "clearButton", "tagMapper", "allowCustom", "valueNormalizer"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { type: i6$1.MultiSelectTreeComponent, selector: "kendo-multiselecttree", inputs: ["tabindex", "size", "rounded", "fillMode", "popupSettings", "checkableSettings", "data", "value", "dataItems", "textField", "valueField", "valueDepth", "loading", "placeholder", "listHeight", "disabled", "readonly", "valuePrimitive", "loadOnDemand", "focusableId", "clearButton", "filterable", "checkAll", "hasChildren", "fetchChildren", "isNodeExpanded", "isNodeVisible", "itemDisabled", "tagMapper"], outputs: ["focus", "blur", "open", "opened", "close", "closed", "nodeExpand", "nodeCollapse", "valueChange", "removeTag", "filterChange"], exportAs: ["kendoMultiSelectTree"] }, { type: i6$1.DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["iconClass", "loading", "data", "value", "textField", "valueField", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }], directives: [{ type: i4$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$6.IonicSelectableItemIconTemplateDirective, selector: "[ionicSelectableItemIconTemplate]" }, { type: i3$6.IonicSelectableCloseButtonTemplateDirective, selector: "[ionicSelectableCloseButtonTemplate]" }, { type: i3$6.IonicSelectableTitleTemplateDirective, selector: "[ionicSelectableTitleTemplate]" }, { type: i3$6.IonicSelectableItemTemplateDirective, selector: "[ionicSelectableItemTemplate]" }, { type: OpenOnFocusDirective, selector: "kendo-combobox[openOnFocus]", inputs: ["openOnFocus"] }, { type: i4$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6$1.FilterDirective, selector: "[kendoDropDownFilter]", inputs: ["data", "kendoDropDownFilter", "filterable"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i6$1.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i6$1.DropDownTreesExpandDirective, selector: "[kendoDropDownTreeExpandable], [kendoMultiSelectTreeExpandable]", inputs: ["isNodeExpanded"] }, { type: i6$1.MultiSelectTreeHierarchyBindingDirective, selector: "[kendoMultiSelectTreeHierarchyBinding]", inputs: ["kendoMultiSelectTreeHierarchyBinding"] }, { type: i6$1.MultiSelectTreeSummaryTagDirective, selector: "[kendoMultiSelectTreeSummaryTag]", inputs: ["kendoMultiSelectTreeSummaryTag"] }, { type: i6$1.NoDataTemplateDirective, selector: "[kendoDropDownListNoDataTemplate],[kendoDropDownTreeNoDataTemplate],[kendoComboBoxNoDataTemplate],[kendoMultiColumnComboBoxNoDataTemplate],[kendoAutoCompleteNoDataTemplate],[kendoMultiSelectNoDataTemplate],[kendoMultiSelectTreeNoDataTemplate]" }], pipes: { "async": i5.AsyncPipe, "zselectTranslationParser": ZSelectTranslationParser } });
|
|
7955
8077
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZselectmultipleComponent, decorators: [{
|
|
7956
8078
|
type: Component,
|
|
7957
|
-
args: [{ selector: "app-zselectmultiple", template: "<div [formGroup]=\"form\" class=\"zselectmultiple-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ionic-selectable *ngIf=\"isMobileScreen()\" #selectComponent item-content searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\" clearButtonText=\"Clear\" [(ngModel)]=\"group.zModel[data.Value]\" [id]=\"data.Value\"\r\n [items]=\"getItemsData()\" [itemValueField]=\"itemValueField\" [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\" [canClear]=\"true\" [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\" [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\" [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\" (onSearch)=\"onSearch($event)\" (onInfiniteScroll)=\"getInfiniteData($event)\"\r\n (onAddItem)=\"onAddItem($event)\" (onChange)=\"onChange_mobile($event)\" [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate let-item=\"item\" let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\" class=\"isItemSelected e1tag-style2\" size=\"sm\" [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\" [style]=\"componentProperties.style.style2\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableCloseButtonTemplate>\r\n <!-- <ion-icon name=\"close-circle\"></ion-icon> -->\r\n <fa-icon [icon]=\"'times-circle'\" size=\"md\" [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n <span class=e1tag-style4 [style]=\"componentProperties.style.style4\">{{data.Label}}</span>\r\n <ion-text *ngIf=\"getIsRequiredValue()\" color=\"danger\">*</ion-text>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableItemTemplate let-item=\"item\">\r\n <span class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}</span>\r\n </ng-template>\r\n </ionic-selectable>\r\n <kendo-combobox *ngIf=\"!isMobileScreen() && componentType == 'combobox'\"\r\n class=\"input-field e1tag-style1\"\r\n #comboboxComponent\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (open)=\"handleOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (blur)=\"handleBlur()\"\r\n (focus)=\"handleFocus()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n <span class=\"e1tag-style5\" [class.zselect-virtualization]=\"data.IsEnableVirtualization\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}</span>\r\n <!-- <span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }} -->\r\n </ng-template>\r\n </kendo-combobox>\r\n <kendo-multiselect *ngIf=\"!isMobileScreen() && componentType == 'multiselect'\"\r\n class=\"input-field e1tag-style1\"\r\n #multiselect\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"handleOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (blur)=\"handleBlur()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n <span class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}</span>\r\n </ng-template>\r\n </kendo-multiselect>\r\n <kendo-multiselecttree *ngIf=\"!isMobileScreen() && componentType == 'multiselecttree'\"\r\n class=\"input-field e1tag-style1\"\r\n #multiselecttree\r\n kendoMultiSelectTreeExpandable\r\n [placeholder]=\"data.PlaceHolder\"\r\n [kendoMultiSelectTreeHierarchyBinding]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [kendoMultiSelectTreeSummaryTag]=\"componentSettings.kendoMultiSelectTreeSummaryTag\"\r\n childrenField=\"Value\"\r\n [hasChildren]=\"hasChildren\"\r\n [textField]=\"itemTextField\"\r\n [valueField]=\"itemValueField\"\r\n [valuePrimitive]=\"true\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n [dataItems]=\"getDataItems()\"\r\n [formControlName]=\"data.Value\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [expandOnFilter]=\"componentSettings.expandOnFilter\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n (filterChange)=\"handleMultiSelectTreeFilter($event)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n (open)=\"handleOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (blur)=\"handleBlur()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [(expandedKeys)]=\"expandedKeys\"\r\n [popupSettings]=\"componentSettings.popupSettings\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoMultiSelectTreeNoDataTemplate>\r\n <h4>\r\n <span class=\"k-icon k-i-warning\"></span><br /><br />\r\n No record found.\r\n </h4>\r\n </ng-template>\r\n </kendo-multiselecttree>\r\n <kendo-dropdownlist *ngIf=\"!isMobileScreen() && componentType == 'dropdownlist'\"\r\n class=\"input-field e1tag-style1\"\r\n #dropdownlistComponent\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (open)=\"handleOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (blur)=\"handleBlur()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoDropDownListItemTemplate let-dataItem>\r\n <span class=\"e1tag-style5\" [class.zselect-virtualization]=\"data.IsEnableVirtualization\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}</span>\r\n <!-- <span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }} -->\r\n </ng-template>\r\n </kendo-dropdownlist>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-combobox.k-multiselect,:host ::ng-deep kendo-dropdownlist.k-multiselect,:host ::ng-deep kendo-multiselect.k-multiselect{height:auto}:host ::ng-deep kendo-combobox kendo-taglist.k-chip-list .k-chip-label,:host ::ng-deep kendo-dropdownlist kendo-taglist.k-chip-list .k-chip-label,:host ::ng-deep kendo-multiselect kendo-taglist.k-chip-list .k-chip-label{white-space:normal;word-break:break-word}:host ::ng-deep kendo-combobox .k-searchbar,:host ::ng-deep kendo-dropdownlist .k-searchbar,:host ::ng-deep kendo-multiselect .k-searchbar{margin:auto}:host ::ng-deep kendo-combobox .k-searchbar+.k-icon,:host ::ng-deep kendo-dropdownlist .k-searchbar+.k-icon,:host ::ng-deep kendo-multiselect .k-searchbar+.k-icon{margin:auto}:host ::ng-deep kendo-combobox .kendo-combobox-item-template,:host ::ng-deep kendo-dropdownlist .kendo-combobox-item-template,:host ::ng-deep kendo-multiselect .kendo-combobox-item-template{height:var(--input-field-height)!important}:host ::ng-deep kendo-combobox.disabled>.k-dropdown-wrap,:host ::ng-deep kendo-dropdownlist.disabled>.k-dropdown-wrap,:host ::ng-deep kendo-multiselect.disabled>.k-dropdown-wrap{background:transparent}:host ::ng-deep kendo-combobox:focus-within,:host ::ng-deep kendo-dropdownlist:focus-within,:host ::ng-deep kendo-multiselect:focus-within{box-shadow:0 0 3px 1px var(--ion-color-primary)}:host ::ng-deep kendo-combobox.no-border,:host ::ng-deep kendo-dropdownlist.no-border,:host ::ng-deep kendo-multiselect.no-border{box-shadow:none!important;border:none!important}:host ::ng-deep kendo-combobox.no-border>.k-input-button,:host ::ng-deep kendo-dropdownlist.no-border>.k-input-button,:host ::ng-deep kendo-multiselect.no-border>.k-input-button{background:none;border:none}:host ::ng-deep kendo-combobox.no-background,:host ::ng-deep kendo-dropdownlist.no-background,:host ::ng-deep kendo-multiselect.no-background{background:none}:host ::ng-deep kendo-combobox.right-align>kendo-searchbar>input,:host ::ng-deep kendo-dropdownlist.right-align>kendo-searchbar>input,:host ::ng-deep kendo-multiselect.right-align>kendo-searchbar>input{text-align:right}:host ::ng-deep kendo-combobox.right-align>.k-input-inner,:host ::ng-deep kendo-dropdownlist.right-align>.k-input-inner,:host ::ng-deep kendo-multiselect.right-align>.k-input-inner{text-align:right}:host ::ng-deep kendo-dropdownlist{background:white}:host ::ng-deep kendo-dropdownlist>span.k-input-inner>.k-input-value-text{width:0px}fa-icon.isItemSelected{display:inline-block;width:1em;height:1em;contain:strict;fill:currentcolor;box-sizing:content-box!important;font-size:20px;margin-top:10px;margin-bottom:14px;margin-right:unset;margin-inline-end:20px}.gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divselectmultiple{justify-content:space-between;width:99%;color:#000}.zselect-virtualization{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"] }]
|
|
7958
|
-
}], ctorParameters: function () { return [{ type: ZComponentService }, { type: i2.ResourceApiService }, { type: i2.WebApiService }, { type: i2.CacheService }, { type: i2.FieldService }]; }, propDecorators: { comboboxComponent: [{
|
|
8079
|
+
args: [{ selector: "app-zselectmultiple", template: "<div [formGroup]=\"form\" class=\"zselectmultiple-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ionic-selectable *ngIf=\"isMobileScreen()\" #selectComponent item-content searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\" clearButtonText=\"Clear\" [(ngModel)]=\"group.zModel[data.Value]\" [id]=\"data.Value\"\r\n [items]=\"getItemsData()\" [itemValueField]=\"itemValueField\" [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\" [canClear]=\"true\" [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\" [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\" [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\" (onSearch)=\"onSearch($event)\"\r\n (onAddItem)=\"onAddItem($event)\" (onChange)=\"onChange_mobile($event)\" [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate let-item=\"item\" let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\" class=\"isItemSelected e1tag-style2\" size=\"sm\" [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\" [style]=\"componentProperties.style.style2\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableCloseButtonTemplate>\r\n <!-- <ion-icon name=\"close-circle\"></ion-icon> -->\r\n <fa-icon [icon]=\"'times-circle'\" size=\"md\" [style]=\"componentProperties.style.style3\" class=\"e1tag-style3\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n <span class=e1tag-style4 [style]=\"componentProperties.style.style4\">{{data.Label}}</span>\r\n <ion-text *ngIf=\"getIsRequiredValue()\" color=\"danger\">*</ion-text>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableItemTemplate let-item=\"item\">\r\n <span class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\">{{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}</span>\r\n </ng-template>\r\n </ionic-selectable>\r\n <kendo-combobox *ngIf=\"!isMobileScreen() && componentType == 'combobox'\"\r\n class=\"input-field e1tag-style1\"\r\n #comboboxComponent\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (close)=\"handleClose($event)\"\r\n (opened)=\"onComboOpened()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n <span #itemElement class=\"e1tag-style5\" [class.zselect-virtualization]=\"data.IsEnableVirtualization\" [style]=\"componentProperties.style.style5\">\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n </span>\r\n </ng-template>\r\n </kendo-combobox>\r\n <kendo-multiselect *ngIf=\"!isMobileScreen() && componentType == 'multiselect'\"\r\n class=\"input-field e1tag-style1\"\r\n #multiselect\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"onMultiSelectOpen($event)\"\r\n (close)=\"handleClose($event)\"\r\n (opened)=\"onMultiSelectOpened()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n <span #itemElement class=\"e1tag-style5\" [style]=\"componentProperties.style.style5\">\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n </span>\r\n </ng-template>\r\n </kendo-multiselect>\r\n <kendo-multiselecttree *ngIf=\"!isMobileScreen() && componentType == 'multiselecttree'\"\r\n class=\"input-field e1tag-style1\"\r\n #multiselecttree\r\n kendoMultiSelectTreeExpandable\r\n [placeholder]=\"data.PlaceHolder\"\r\n [kendoMultiSelectTreeHierarchyBinding]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [kendoMultiSelectTreeSummaryTag]=\"componentSettings.kendoMultiSelectTreeSummaryTag\"\r\n childrenField=\"Value\"\r\n [hasChildren]=\"hasChildren\"\r\n [textField]=\"itemTextField\"\r\n [valueField]=\"itemValueField\"\r\n [valuePrimitive]=\"true\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n [dataItems]=\"getDataItems()\"\r\n [formControlName]=\"data.Value\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [expandOnFilter]=\"componentSettings.expandOnFilter\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n (filterChange)=\"handleMultiSelectTreeFilter($event)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n (close)=\"handleClose($event)\"\r\n [style]=\"componentProperties.style.style1\"\r\n [(expandedKeys)]=\"expandedKeys\"\r\n [popupSettings]=\"componentSettings.popupSettings\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoMultiSelectTreeNoDataTemplate>\r\n <h4>\r\n <span class=\"k-icon k-i-warning\"></span><br /><br />\r\n No record found.\r\n </h4>\r\n </ng-template>\r\n </kendo-multiselecttree>\r\n <kendo-dropdownlist *ngIf=\"!isMobileScreen() && componentType == 'dropdownlist'\"\r\n class=\"input-field e1tag-style1\"\r\n #dropdownlistComponent\r\n [data]=\"getItemsData() | zselectTranslationParser : itemTextField : data : group | async\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"data.Filterable == false ? false : true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [class.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"data.Class\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onChange_desktop($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"data.IsEnableVirtualization == true ? virtual : null\"\r\n (close)=\"handleClose($event)\"\r\n (opened)=\"onDropDownListOpened()\"\r\n [style]=\"componentProperties.style.style1\"\r\n [clearButton]=\"data.ClearButton == false ? false : true\">\r\n <ng-template kendoDropDownListItemTemplate let-dataItem>\r\n <span #itemElement class=\"e1tag-style5\" [class.zselect-virtualization]=\"data.IsEnableVirtualization\" [style]=\"componentProperties.style.style5\">\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n </span>\r\n </ng-template>\r\n </kendo-dropdownlist>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-combobox.k-multiselect,:host ::ng-deep kendo-dropdownlist.k-multiselect,:host ::ng-deep kendo-multiselect.k-multiselect{height:auto}:host ::ng-deep kendo-combobox kendo-taglist.k-chip-list .k-chip-label,:host ::ng-deep kendo-dropdownlist kendo-taglist.k-chip-list .k-chip-label,:host ::ng-deep kendo-multiselect kendo-taglist.k-chip-list .k-chip-label{white-space:normal;word-break:break-word}:host ::ng-deep kendo-combobox .k-searchbar,:host ::ng-deep kendo-dropdownlist .k-searchbar,:host ::ng-deep kendo-multiselect .k-searchbar{margin:auto}:host ::ng-deep kendo-combobox .k-searchbar+.k-icon,:host ::ng-deep kendo-dropdownlist .k-searchbar+.k-icon,:host ::ng-deep kendo-multiselect .k-searchbar+.k-icon{margin:auto}:host ::ng-deep kendo-combobox .kendo-combobox-item-template,:host ::ng-deep kendo-dropdownlist .kendo-combobox-item-template,:host ::ng-deep kendo-multiselect .kendo-combobox-item-template{height:var(--input-field-height)!important}:host ::ng-deep kendo-combobox.disabled>.k-dropdown-wrap,:host ::ng-deep kendo-dropdownlist.disabled>.k-dropdown-wrap,:host ::ng-deep kendo-multiselect.disabled>.k-dropdown-wrap{background:transparent}:host ::ng-deep kendo-combobox:focus-within,:host ::ng-deep kendo-dropdownlist:focus-within,:host ::ng-deep kendo-multiselect:focus-within{box-shadow:0 0 3px 1px var(--ion-color-primary)}:host ::ng-deep kendo-combobox.no-border,:host ::ng-deep kendo-dropdownlist.no-border,:host ::ng-deep kendo-multiselect.no-border{box-shadow:none!important;border:none!important}:host ::ng-deep kendo-combobox.no-border>.k-input-button,:host ::ng-deep kendo-dropdownlist.no-border>.k-input-button,:host ::ng-deep kendo-multiselect.no-border>.k-input-button{background:none;border:none}:host ::ng-deep kendo-combobox.no-background,:host ::ng-deep kendo-dropdownlist.no-background,:host ::ng-deep kendo-multiselect.no-background{background:none}:host ::ng-deep kendo-combobox.right-align>kendo-searchbar>input,:host ::ng-deep kendo-dropdownlist.right-align>kendo-searchbar>input,:host ::ng-deep kendo-multiselect.right-align>kendo-searchbar>input{text-align:right}:host ::ng-deep kendo-combobox.right-align>.k-input-inner,:host ::ng-deep kendo-dropdownlist.right-align>.k-input-inner,:host ::ng-deep kendo-multiselect.right-align>.k-input-inner{text-align:right}:host ::ng-deep kendo-dropdownlist{background:white}:host ::ng-deep kendo-dropdownlist>span.k-input-inner>.k-input-value-text{width:0px}fa-icon.isItemSelected{display:inline-block;width:1em;height:1em;contain:strict;fill:currentcolor;box-sizing:content-box!important;font-size:20px;margin-top:10px;margin-bottom:14px;margin-right:unset;margin-inline-end:20px}.gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divselectmultiple{justify-content:space-between;width:99%;color:#000}.zselect-virtualization{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\n"] }]
|
|
8080
|
+
}], ctorParameters: function () { return [{ type: ZComponentService }, { type: i2.ResourceApiService }, { type: i0.ChangeDetectorRef }, { type: i2.WebApiService }, { type: i2.CacheService }, { type: i2.FieldService }]; }, propDecorators: { comboboxComponent: [{
|
|
7959
8081
|
type: ViewChild,
|
|
7960
8082
|
args: ["comboboxComponent"]
|
|
7961
8083
|
}], dropdownlistComponent: [{
|
|
@@ -7970,6 +8092,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
7970
8092
|
}], selectComponent: [{
|
|
7971
8093
|
type: ViewChild,
|
|
7972
8094
|
args: ["selectComponent"]
|
|
8095
|
+
}], itemElement: [{
|
|
8096
|
+
type: ViewChild,
|
|
8097
|
+
args: ['itemElement', { static: false }]
|
|
7973
8098
|
}] } });
|
|
7974
8099
|
|
|
7975
8100
|
/********** Angular **********/
|
|
@@ -12548,6 +12673,8 @@ class ZtrendcardComponent {
|
|
|
12548
12673
|
this.icon = "address-card";
|
|
12549
12674
|
this.color = "#000000";
|
|
12550
12675
|
this.value = 0;
|
|
12676
|
+
this.iconColumnSize = 4;
|
|
12677
|
+
this.valueColumnSize = 4;
|
|
12551
12678
|
this.options = {
|
|
12552
12679
|
title: this.title,
|
|
12553
12680
|
icon: this.icon,
|
|
@@ -12588,6 +12715,18 @@ class ZtrendcardComponent {
|
|
|
12588
12715
|
}
|
|
12589
12716
|
}
|
|
12590
12717
|
}
|
|
12718
|
+
const ratio = this.data['InnerRatio'] ? this.data['InnerRatio'].split(':').map(val => val.trim()) : null;
|
|
12719
|
+
if (ratio) {
|
|
12720
|
+
if (ratio.length === 2) {
|
|
12721
|
+
// When there are two values, assign them directly
|
|
12722
|
+
this.iconColumnSize = parseInt(ratio[0]); // 4 for iconColumnSize
|
|
12723
|
+
this.valueColumnSize = parseInt(ratio[1]); // 8 for valueColumnSize
|
|
12724
|
+
}
|
|
12725
|
+
else if (ratio && ratio.length === 1) {
|
|
12726
|
+
// If only one value is provided, split evenly
|
|
12727
|
+
this.iconColumnSize = this.valueColumnSize = parseInt(ratio[0]);
|
|
12728
|
+
}
|
|
12729
|
+
}
|
|
12591
12730
|
this.getFieldDeclarationForSetup(this.data, this.options);
|
|
12592
12731
|
this.isLoading = false;
|
|
12593
12732
|
}
|
|
@@ -12599,10 +12738,10 @@ class ZtrendcardComponent {
|
|
|
12599
12738
|
}
|
|
12600
12739
|
}
|
|
12601
12740
|
ZtrendcardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZtrendcardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12602
|
-
ZtrendcardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZtrendcardComponent, selector: "app-ztrendcard", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<div *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"text-align: center;\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col>\r\n <!-- <div class=\"trend-btn ion-activatable ripple-parent\" [routerLink]=\"[item.URL]\"> -->\r\n <div class=\"trend-btn ion-activatable ripple-parent\">\r\n <ion-label>\r\n <ion-grid style=\"width: 100%;\">\r\n <ion-row>\r\n <ion-col class=\"trend-btn-icon\" sizeLg=\"
|
|
12741
|
+
ZtrendcardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZtrendcardComponent, selector: "app-ztrendcard", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<div *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"text-align: center;\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col>\r\n <!-- <div class=\"trend-btn ion-activatable ripple-parent\" [routerLink]=\"[item.URL]\"> -->\r\n <div class=\"trend-btn ion-activatable ripple-parent\">\r\n <ion-label>\r\n <ion-grid style=\"width: 100%;\">\r\n <ion-row>\r\n <ion-col class=\"trend-btn-icon\" [sizeLg]=\"iconColumnSize\" [sizeXs]=\"iconColumnSize\" [sizeMd]=\"iconColumnSize\" [sizeXl]=\"iconColumnSize\">\r\n <fa-icon [icon]=\"options.icon\" [style.color]=\"options.color\"></fa-icon>\r\n </ion-col>\r\n <ion-col class=\"trend-btn-value\" [sizeLg]=\"valueColumnSize\" [sizeXs]=\"valueColumnSize\" [sizeMd]=\"valueColumnSize\" [sizeXl]=\"valueColumnSize\">\r\n <ion-label>{{ options.value }}</ion-label><br/>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ion-label>\r\n <ion-label class=\"trend-btn-label\">{{ options.title }}</ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n</div>\r\n<div style=\"padding-bottom: 10px;\"></div>\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".trend-btn{display:flex;flex-flow:column;justify-content:center;align-items:stretch;background-color:#fff;padding:8px 0;border:1px solid #ccc;border-radius:5px;min-height:100px;cursor:pointer}.ripple-parent{position:relative;overflow:hidden}.trend-btn-label{text-align:right;font-size:14px;padding-right:20px}.trend-btn-value{text-align:right;zoom:2;vertical-align:middle;padding-top:10px}.trend-btn-icon{text-align:center;zoom:2.5}\n"], components: [{ type: i2$1.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i2$1.IonRow, selector: "ion-row" }, { type: i2$1.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i2$1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i2$1.IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
12603
12742
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZtrendcardComponent, decorators: [{
|
|
12604
12743
|
type: Component,
|
|
12605
|
-
args: [{ selector: 'app-ztrendcard', template: "<div *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"text-align: center;\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col>\r\n <!-- <div class=\"trend-btn ion-activatable ripple-parent\" [routerLink]=\"[item.URL]\"> -->\r\n <div class=\"trend-btn ion-activatable ripple-parent\">\r\n <ion-label>\r\n <ion-grid style=\"width: 100%;\">\r\n <ion-row>\r\n <ion-col class=\"trend-btn-icon\" sizeLg=\"
|
|
12744
|
+
args: [{ selector: 'app-ztrendcard', template: "<div *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"text-align: center;\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col>\r\n <!-- <div class=\"trend-btn ion-activatable ripple-parent\" [routerLink]=\"[item.URL]\"> -->\r\n <div class=\"trend-btn ion-activatable ripple-parent\">\r\n <ion-label>\r\n <ion-grid style=\"width: 100%;\">\r\n <ion-row>\r\n <ion-col class=\"trend-btn-icon\" [sizeLg]=\"iconColumnSize\" [sizeXs]=\"iconColumnSize\" [sizeMd]=\"iconColumnSize\" [sizeXl]=\"iconColumnSize\">\r\n <fa-icon [icon]=\"options.icon\" [style.color]=\"options.color\"></fa-icon>\r\n </ion-col>\r\n <ion-col class=\"trend-btn-value\" [sizeLg]=\"valueColumnSize\" [sizeXs]=\"valueColumnSize\" [sizeMd]=\"valueColumnSize\" [sizeXl]=\"valueColumnSize\">\r\n <ion-label>{{ options.value }}</ion-label><br/>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </ion-label>\r\n <ion-label class=\"trend-btn-label\">{{ options.title }}</ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n</div>\r\n<div style=\"padding-bottom: 10px;\"></div>\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".trend-btn{display:flex;flex-flow:column;justify-content:center;align-items:stretch;background-color:#fff;padding:8px 0;border:1px solid #ccc;border-radius:5px;min-height:100px;cursor:pointer}.ripple-parent{position:relative;overflow:hidden}.trend-btn-label{text-align:right;font-size:14px;padding-right:20px}.trend-btn-value{text-align:right;zoom:2;vertical-align:middle;padding-top:10px}.trend-btn-icon{text-align:center;zoom:2.5}\n"] }]
|
|
12606
12745
|
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
12607
12746
|
type: Input
|
|
12608
12747
|
}], group: [{
|
|
@@ -14545,7 +14684,7 @@ class VirtualScrollComponent extends ContainerFieldBase {
|
|
|
14545
14684
|
}
|
|
14546
14685
|
}
|
|
14547
14686
|
VirtualScrollComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: VirtualScrollComponent, deps: [{ token: ZComponentService }, { token: i2.FontAweSomeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
14548
|
-
VirtualScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: VirtualScrollComponent, selector: "app-virtual-scroll", viewQueries: [{ propertyName: "viewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport\r\n [itemSize]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\"\r\n [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div #virtualscrollcontent>\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"options.isGroupByEnabled && options.groupBy && (!dataItems[i-1] || dataItem[options.groupBy] !== dataItems[i-1][options.groupBy])\"\r\n (click)=\"groupByOnClick(dataItem[options.groupBy])\" [class.groupby-collapsible]=\"options.isGroupByCollapsible\">\r\n <fa-icon class=\"virtual-scroll-groupby-arrow-icon e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" *ngIf=\"!!options.isGroupByCollapsible\"\r\n [icon]=\"getFontAwesome('caret-down', fontAweSomeService)\"\r\n [@rotateAnimation]=\"{value: collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'rotate' : 'default', params: {degree: -90}}\">\r\n </fa-icon>\r\n <span class=\"virtual-scroll-groupby-label e1tag-container-style6\"\r\n [style]=\"componentProperties.containerStyle.style6\">\r\n {{options.groupByLabelTemplate ? getGroupByLabelTemplate(dataItem, options) : dataItem[options.groupBy]}}\r\n </span>\r\n </div>\r\n <div *ngIf=\"!options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n <div *ngIf=\"options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\"\r\n [@collapseAnimation]=\"{value: !!options.groupBy && collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'collapse' : 'default'}\"\r\n [class.groupby-value-expand]=\"groupByValueToExpand == (dataItem[options.groupBy])\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"virtualscrollcontent\" [selectedData]=\"dataItem\"></app-context-menu>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerFields\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}.virtual-scroll-viewport .virtual-scroll-groupby{background:rgba(var(--ion-color-secondary-rgb),.1);font-weight:500;padding:12px 0 4px 12px;margin:1px}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible{cursor:pointer;display:grid;grid-template-columns:20px auto}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible:hover{background:rgba(var(--ion-color-secondary-rgb),.05)}.virtual-scroll-viewport .virtual-scroll-groupby>.virtual-scroll-groupby-arrow-icon{width
|
|
14687
|
+
VirtualScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: VirtualScrollComponent, selector: "app-virtual-scroll", viewQueries: [{ propertyName: "viewPort", first: true, predicate: CdkVirtualScrollViewport, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport\r\n [itemSize]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\"\r\n [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div #virtualscrollcontent>\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"options.isGroupByEnabled && options.groupBy && (!dataItems[i-1] || dataItem[options.groupBy] !== dataItems[i-1][options.groupBy])\"\r\n (click)=\"groupByOnClick(dataItem[options.groupBy])\" [class.groupby-collapsible]=\"options.isGroupByCollapsible\">\r\n <fa-icon class=\"virtual-scroll-groupby-arrow-icon e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" *ngIf=\"!!options.isGroupByCollapsible\"\r\n [icon]=\"getFontAwesome('caret-down', fontAweSomeService)\"\r\n [@rotateAnimation]=\"{value: collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'rotate' : 'default', params: {degree: -90}}\">\r\n </fa-icon>\r\n <span class=\"virtual-scroll-groupby-label e1tag-container-style6\"\r\n [style]=\"componentProperties.containerStyle.style6\">\r\n {{options.groupByLabelTemplate ? getGroupByLabelTemplate(dataItem, options) : dataItem[options.groupBy]}}\r\n </span>\r\n </div>\r\n <div *ngIf=\"!options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n <div *ngIf=\"options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\"\r\n [@collapseAnimation]=\"{value: !!options.groupBy && collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'collapse' : 'default'}\"\r\n [class.groupby-value-expand]=\"groupByValueToExpand == (dataItem[options.groupBy])\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"virtualscrollcontent\" [selectedData]=\"dataItem\"></app-context-menu>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerFields\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}.virtual-scroll-viewport .virtual-scroll-groupby{background:rgba(var(--ion-color-secondary-rgb),.1);font-weight:500;padding:12px 0 4px 12px;margin:1px}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible{cursor:pointer;display:grid;grid-template-columns:20px auto}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible:hover{background:rgba(var(--ion-color-secondary-rgb),.05)}.virtual-scroll-viewport .virtual-scroll-groupby>.virtual-scroll-groupby-arrow-icon{width:fit-content}.virtual-scroll-viewport .virtual-scroll-dataitem.groupby-value-expand{transform:translateY(-10%);opacity:.2}\n"], components: [{ type: i3$b.CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: ContextMenuComponent, selector: "app-context-menu", inputs: ["target", "selectedData"] }, { type: ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form", "containerField"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3$b.CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { type: i3$b.CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "htmlSanitize": HtmlSanitizePipe }, animations: [
|
|
14549
14688
|
collapseAnimation,
|
|
14550
14689
|
rotateAnimation
|
|
14551
14690
|
] });
|
|
@@ -14554,7 +14693,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
14554
14693
|
args: [{ selector: "app-virtual-scroll", animations: [
|
|
14555
14694
|
collapseAnimation,
|
|
14556
14695
|
rotateAnimation
|
|
14557
|
-
], template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport\r\n [itemSize]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\"\r\n [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div #virtualscrollcontent>\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"options.isGroupByEnabled && options.groupBy && (!dataItems[i-1] || dataItem[options.groupBy] !== dataItems[i-1][options.groupBy])\"\r\n (click)=\"groupByOnClick(dataItem[options.groupBy])\" [class.groupby-collapsible]=\"options.isGroupByCollapsible\">\r\n <fa-icon class=\"virtual-scroll-groupby-arrow-icon e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" *ngIf=\"!!options.isGroupByCollapsible\"\r\n [icon]=\"getFontAwesome('caret-down', fontAweSomeService)\"\r\n [@rotateAnimation]=\"{value: collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'rotate' : 'default', params: {degree: -90}}\">\r\n </fa-icon>\r\n <span class=\"virtual-scroll-groupby-label e1tag-container-style6\"\r\n [style]=\"componentProperties.containerStyle.style6\">\r\n {{options.groupByLabelTemplate ? getGroupByLabelTemplate(dataItem, options) : dataItem[options.groupBy]}}\r\n </span>\r\n </div>\r\n <div *ngIf=\"!options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n <div *ngIf=\"options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\"\r\n [@collapseAnimation]=\"{value: !!options.groupBy && collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'collapse' : 'default'}\"\r\n [class.groupby-value-expand]=\"groupByValueToExpand == (dataItem[options.groupBy])\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"virtualscrollcontent\" [selectedData]=\"dataItem\"></app-context-menu>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerFields\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}.virtual-scroll-viewport .virtual-scroll-groupby{background:rgba(var(--ion-color-secondary-rgb),.1);font-weight:500;padding:12px 0 4px 12px;margin:1px}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible{cursor:pointer;display:grid;grid-template-columns:20px auto}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible:hover{background:rgba(var(--ion-color-secondary-rgb),.05)}.virtual-scroll-viewport .virtual-scroll-groupby>.virtual-scroll-groupby-arrow-icon{width
|
|
14696
|
+
], template: "<div\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n class=\"container e1tag-container-style\" [style]=\"componentProperties.containerStyle.style\"\r\n [ngClass]=\"(data.ComponentStyleType || '') + ' ' + (data.Class || '')\">\r\n <cdk-virtual-scroll-viewport\r\n [itemSize]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\"\r\n [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div #virtualscrollcontent>\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"options.isGroupByEnabled && options.groupBy && (!dataItems[i-1] || dataItem[options.groupBy] !== dataItems[i-1][options.groupBy])\"\r\n (click)=\"groupByOnClick(dataItem[options.groupBy])\" [class.groupby-collapsible]=\"options.isGroupByCollapsible\">\r\n <fa-icon class=\"virtual-scroll-groupby-arrow-icon e1tag-container-style5\"\r\n [style]=\"componentProperties.containerStyle.style5\" *ngIf=\"!!options.isGroupByCollapsible\"\r\n [icon]=\"getFontAwesome('caret-down', fontAweSomeService)\"\r\n [@rotateAnimation]=\"{value: collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'rotate' : 'default', params: {degree: -90}}\">\r\n </fa-icon>\r\n <span class=\"virtual-scroll-groupby-label e1tag-container-style6\"\r\n [style]=\"componentProperties.containerStyle.style6\">\r\n {{options.groupByLabelTemplate ? getGroupByLabelTemplate(dataItem, options) : dataItem[options.groupBy]}}\r\n </span>\r\n </div>\r\n <div *ngIf=\"!options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n <div *ngIf=\"options.isGroupByEnabled\" [style.height.px]=\"options.itemSize\"\r\n [style.min-height.px]=\"options.itemSize\" [style.max-height.px]=\"options.itemSize\"\r\n [style]=\"componentProperties.containerStyle.style2\" class=\"e1tag-container-style2 virtual-scroll-dataitem\"\r\n (click)=\"onClick($event, dataItem)\" [id]=\"data.Name + '_' + dataItem?.Value?.Id || ''\"\r\n [@collapseAnimation]=\"{value: !!options.groupBy && collapsedGroupBy.includes(dataItem[options.groupBy]) ? 'collapse' : 'default'}\"\r\n [class.groupby-value-expand]=\"groupByValueToExpand == (dataItem[options.groupBy])\">\r\n <div *ngIf=\"!dataItem\" [innerHTML]=\"options.loadingLabel | htmlSanitize\"></div>\r\n <div *ngIf=\"dataItem.Label\" [innerHTML]=\"dataItem.Label | htmlSanitize\"></div>\r\n </div>\r\n </div>\r\n <app-context-menu [data]=\"data\" [group]=\"group\" [form]=\"form\" [target]=\"virtualscrollcontent\" [selectedData]=\"dataItem\"></app-context-menu>\r\n </ng-container>\r\n <app-zformcontrol *ngFor=\"let field of footerFields\" [field]=\"field\" [containerField]=\"data\" [group]=\"group\"\r\n [form]=\"form\" [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\">\r\n </app-zformcontrol>\r\n </cdk-virtual-scroll-viewport>\r\n</div>\r\n", styles: [".virtual-scroll-viewport{height:500px}.virtual-scroll-viewport .virtual-scroll-groupby{background:rgba(var(--ion-color-secondary-rgb),.1);font-weight:500;padding:12px 0 4px 12px;margin:1px}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible{cursor:pointer;display:grid;grid-template-columns:20px auto}.virtual-scroll-viewport .virtual-scroll-groupby.groupby-collapsible:hover{background:rgba(var(--ion-color-secondary-rgb),.05)}.virtual-scroll-viewport .virtual-scroll-groupby>.virtual-scroll-groupby-arrow-icon{width:fit-content}.virtual-scroll-viewport .virtual-scroll-dataitem.groupby-value-expand{transform:translateY(-10%);opacity:.2}\n"] }]
|
|
14558
14697
|
}], ctorParameters: function () { return [{ type: ZComponentService }, { type: i2.FontAweSomeService }]; }, propDecorators: { viewPort: [{
|
|
14559
14698
|
type: ViewChild,
|
|
14560
14699
|
args: [CdkVirtualScrollViewport]
|