mmhglobal-dynamicform 2.15.3 → 2.16.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 +7 -0
- package/esm2020/lib/animations/component-animations.mjs +29 -2
- package/esm2020/lib/services/main.service.mjs +21 -68
- package/esm2020/lib/virtual-scroll/virtual-scroll.component.mjs +118 -35
- package/esm2020/lib/zgrid/zgrid.component.mjs +4 -2
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +12 -14
- package/esm2020/lib/ztree/ztree.component.mjs +3 -3
- package/fesm2015/mmhglobal-dynamicform.mjs +174 -114
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +174 -114
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/animations/component-animations.d.ts +2 -0
- package/lib/virtual-scroll/virtual-scroll.component.d.ts +15 -4
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +1 -0
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ import { NavigationStart, NavigationEnd, NavigationError, RouterModule } from '@
|
|
|
6
6
|
import { BehaviorSubject, forkJoin, of, tap as tap$1, map as map$1, isObservable, switchMap as switchMap$1, interval, takeWhile, from, Subject, delay as delay$1, filter, first, auditTime } from 'rxjs';
|
|
7
7
|
import { tap, switchMap, map, take, delay, concatMap, ignoreElements } from 'rxjs/operators';
|
|
8
8
|
import * as i2 from 'mmhglobal-zcore';
|
|
9
|
-
import { ZGroup, FormType, ZComponentHelper, MESSAGETYPE, DefaultMessage, DefaultDialogTitle,
|
|
9
|
+
import { ZGroup, FormType, ZComponentHelper, MESSAGETYPE, ActionType, DefaultMessage, DefaultDialogTitle, Delimiter, ZSelectPostApiParams, ZComponentProperties, ComponentType as ComponentType$1, InternalComponentType_DropDown, UploadMetaData, AttachmentConfig, DefaultPageSettingParams, ZCoreModule } from 'mmhglobal-zcore';
|
|
10
10
|
import * as i2$1 from '@ionic/angular';
|
|
11
11
|
import { IonicModule } from '@ionic/angular';
|
|
12
12
|
import * as i3 from 'mmhglobal-zmodal';
|
|
@@ -17,7 +17,7 @@ import * as i8 from '@progress/kendo-angular-grid';
|
|
|
17
17
|
import { DataBindingDirective, GridComponent, BaseFilterCellComponent, ExcelModule, GridModule } from '@progress/kendo-angular-grid';
|
|
18
18
|
import * as i5 from '@angular/common';
|
|
19
19
|
import { formatDate, CommonModule } from '@angular/common';
|
|
20
|
-
import * as
|
|
20
|
+
import * as i3$b from '@angular/cdk/scrolling';
|
|
21
21
|
import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
|
|
22
22
|
import * as i4 from '@angular/forms';
|
|
23
23
|
import { Validators, FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
@@ -84,7 +84,7 @@ import 'brace/mode/json';
|
|
|
84
84
|
import 'brace/mode/javascript';
|
|
85
85
|
import 'brace/mode/html';
|
|
86
86
|
import { process } from '@progress/kendo-data-query';
|
|
87
|
-
import { trigger, transition, style, animate } from '@angular/animations';
|
|
87
|
+
import { trigger, transition, style, animate, state } from '@angular/animations';
|
|
88
88
|
import * as i3$7 from '@progress/kendo-angular-toolbar';
|
|
89
89
|
import { MultiSelect, DropDownList } from '@syncfusion/ej2-dropdowns';
|
|
90
90
|
import { createElement, getComponent } from '@syncfusion/ej2-base';
|
|
@@ -916,55 +916,7 @@ class MainService {
|
|
|
916
916
|
}
|
|
917
917
|
return of(false);
|
|
918
918
|
}));
|
|
919
|
-
|
|
920
|
-
// this.alertCtrl
|
|
921
|
-
// .create({
|
|
922
|
-
// header: "Data not save yet",
|
|
923
|
-
// // subHeader: 'SubHeader statement here',
|
|
924
|
-
// message: "Are you sure want to discard the changes?",
|
|
925
|
-
// buttons: [
|
|
926
|
-
// {
|
|
927
|
-
// text: "Cancel",
|
|
928
|
-
// role: "cancel",
|
|
929
|
-
// cssClass: "secondary",
|
|
930
|
-
// handler: () => {
|
|
931
|
-
// replySub.next(false);
|
|
932
|
-
// }
|
|
933
|
-
// },
|
|
934
|
-
// {
|
|
935
|
-
// text: "Discard Changes",
|
|
936
|
-
// cssClass: "warning",
|
|
937
|
-
// handler: () => {
|
|
938
|
-
// replySub.next(true);
|
|
939
|
-
// }
|
|
940
|
-
// }
|
|
941
|
-
// ]
|
|
942
|
-
// })
|
|
943
|
-
// .then(alertElement => {
|
|
944
|
-
// alertElement.present();
|
|
945
|
-
// });
|
|
946
|
-
// return replySub.asObservable().pipe(take(1));
|
|
947
|
-
}
|
|
948
|
-
// async openModalForm(modalParams: ModalPageParams) {
|
|
949
|
-
// // console.log("openModalForm");
|
|
950
|
-
// console.error(
|
|
951
|
-
// "Please use ModalService.show instead of MainService.openModalForm!"
|
|
952
|
-
// );
|
|
953
|
-
// // const modal = this.modalService.show(modalParams.colFields$ || modalParams.controllerName, modalParams.parentGroup,
|
|
954
|
-
// // modalParams.formHeader, modalParams.zModel, modalParams.referId);
|
|
955
|
-
// const modal = await this.modalCtrl.create({
|
|
956
|
-
// component: ZmodalPage,
|
|
957
|
-
// backdropDismiss: true,
|
|
958
|
-
// componentProps: {
|
|
959
|
-
// modalParams,
|
|
960
|
-
// },
|
|
961
|
-
// });
|
|
962
|
-
// modal.present();
|
|
963
|
-
// return modal;
|
|
964
|
-
// // .onWillDismiss((zmodel: any) => {
|
|
965
|
-
// // this.
|
|
966
|
-
// // });
|
|
967
|
-
// }
|
|
919
|
+
}
|
|
968
920
|
closeModalForm(group) {
|
|
969
921
|
if (group && group.subject) {
|
|
970
922
|
group.subject.next({
|
|
@@ -1101,8 +1053,9 @@ class MainService {
|
|
|
1101
1053
|
if (this.previousRouteParam) {
|
|
1102
1054
|
const paramSegment = this.previousRouteParam.split("/");
|
|
1103
1055
|
const actionSegment = paramSegment[paramSegment.length - 1];
|
|
1104
|
-
// If the last segment is 'new' or 'update', store the previous route param in session storage
|
|
1105
|
-
|
|
1056
|
+
// If the last segment is 'new' or 'update', store the previous route param in session storage
|
|
1057
|
+
const validActionTypes = [ActionType.New.toString(), ActionType.Edit.toString(), ActionType.Update.toString()];
|
|
1058
|
+
if (validActionTypes.includes(actionSegment)) {
|
|
1106
1059
|
this.storageService.set(this.PREVIOUS_PAGE_ROUTE_PARAM_STORAGE_KEY, JSON.stringify(this.previousRouteParam));
|
|
1107
1060
|
}
|
|
1108
1061
|
}
|
|
@@ -1328,11 +1281,11 @@ class MainService {
|
|
|
1328
1281
|
//const lastSegment = pathSegment[pathSegment.length - 1];
|
|
1329
1282
|
const currentNavigationParam = this.getNavigationCurrentParam();
|
|
1330
1283
|
const navigationSegments = currentNavigationParam ? currentNavigationParam.split('/') : null;
|
|
1331
|
-
const defaultAction = group.isCloneNew ?
|
|
1332
|
-
const actionSegment = group.isCloneNew ? (navigationSegments ? navigationSegments[navigationSegments.length - 1] :
|
|
1284
|
+
const defaultAction = group.isCloneNew ? ActionType.New : ActionType.Edit;
|
|
1285
|
+
const actionSegment = group.isCloneNew ? (navigationSegments ? navigationSegments[navigationSegments.length - 1] : ActionType.New) : defaultAction;
|
|
1333
1286
|
if (group.isListForm) {
|
|
1334
1287
|
this.tryUpdateGroupTrigger(false);
|
|
1335
|
-
this.setNavigationParams([referenceId,
|
|
1288
|
+
this.setNavigationParams([referenceId, ActionType.New.toString()]);
|
|
1336
1289
|
this.router.navigate([group.editModelURL], {
|
|
1337
1290
|
relativeTo: group.ctrlScope.activatedRoute,
|
|
1338
1291
|
});
|
|
@@ -1346,7 +1299,7 @@ class MainService {
|
|
|
1346
1299
|
// Scenario 6: From List open record(action: edit), isCloneNew, Save, Click New ==> Clear form (When UpdateModel, need change isCloneNew = false)
|
|
1347
1300
|
// Scenario 7: From List open record(action: edit), Click New ==> Clear form
|
|
1348
1301
|
// Scenario 8: From List open record(action: edit), Click New, Save, isCloneNew ==> DONT Clear form
|
|
1349
|
-
if (actionSegment ===
|
|
1302
|
+
if (actionSegment === ActionType.Edit || actionSegment === ActionType.New) {
|
|
1350
1303
|
if (!group.isCloneNew) {
|
|
1351
1304
|
group.zModel = {};
|
|
1352
1305
|
group.form.reset();
|
|
@@ -1355,14 +1308,14 @@ class MainService {
|
|
|
1355
1308
|
this.reloadWorkflowButton(group, event.data.zButtonName);
|
|
1356
1309
|
}
|
|
1357
1310
|
}
|
|
1358
|
-
if (actionSegment ===
|
|
1311
|
+
if (actionSegment === ActionType.Edit) {
|
|
1359
1312
|
// clear cloneNewModel cache(if have)
|
|
1360
1313
|
if (this.cacheService.getCache(this.CLONE_NEW_MODEL_CACHE_KEY)) {
|
|
1361
1314
|
this.cacheService.clearCache(this.CLONE_NEW_MODEL_CACHE_KEY);
|
|
1362
1315
|
}
|
|
1363
1316
|
//this.setNavigationParams([referenceId, 'new']);
|
|
1364
1317
|
this.removeLastRouteParam();
|
|
1365
|
-
this.setRouteParam([referenceId,
|
|
1318
|
+
this.setRouteParam([referenceId, ActionType.New.toString()]);
|
|
1366
1319
|
group.zModel[group.parentReferenceField] = referenceId;
|
|
1367
1320
|
}
|
|
1368
1321
|
group.isEdit = false;
|
|
@@ -1371,7 +1324,7 @@ class MainService {
|
|
|
1371
1324
|
}
|
|
1372
1325
|
else {
|
|
1373
1326
|
this.tryUpdateGroupTrigger(false);
|
|
1374
|
-
this.setNavigationParams([referenceId,
|
|
1327
|
+
this.setNavigationParams([referenceId, ActionType.New.toString()]);
|
|
1375
1328
|
this.router.navigate([group.editModelURL], {
|
|
1376
1329
|
relativeTo: group.ctrlScope.activatedRoute,
|
|
1377
1330
|
});
|
|
@@ -1387,10 +1340,10 @@ class MainService {
|
|
|
1387
1340
|
}
|
|
1388
1341
|
createModel(event, group) {
|
|
1389
1342
|
const fg = group.form;
|
|
1390
|
-
const resMessage = group.SuccessCreatedMessage ||
|
|
1343
|
+
const resMessage = group.SuccessCreatedMessage || DefaultMessage.recordCreated;
|
|
1391
1344
|
let createModelres = null;
|
|
1392
1345
|
if (!fg.dirty) {
|
|
1393
|
-
console.warn(
|
|
1346
|
+
console.warn(DefaultMessage.notDirtyMessage);
|
|
1394
1347
|
return;
|
|
1395
1348
|
}
|
|
1396
1349
|
if (!fg.valid) {
|
|
@@ -1445,7 +1398,7 @@ class MainService {
|
|
|
1445
1398
|
}
|
|
1446
1399
|
updateModelObservable(event, group, form = null, updateAPIObservable = null, isSkipDirty = false) {
|
|
1447
1400
|
const fg = form || group.form;
|
|
1448
|
-
const resMessage = group.SuccessUpdatedMessage ||
|
|
1401
|
+
const resMessage = group.SuccessUpdatedMessage || DefaultMessage.recordUpdated;
|
|
1449
1402
|
let updateModelres = null;
|
|
1450
1403
|
if (!this.isFormDirtyAndValid(fg, group, isSkipDirty, event)) {
|
|
1451
1404
|
if (isSkipDirty) {
|
|
@@ -1453,7 +1406,7 @@ class MainService {
|
|
|
1453
1406
|
}
|
|
1454
1407
|
return of(false);
|
|
1455
1408
|
}
|
|
1456
|
-
updateAPIObservable = updateAPIObservable || this.webApiService.httpPut$(group.resourceURL
|
|
1409
|
+
updateAPIObservable = updateAPIObservable || this.webApiService.httpPut$(`${group.resourceURL}/${group.zModel.Id}`, group.zModel, false).pipe(tap((res) => {
|
|
1457
1410
|
this.handleSuccess(res, resMessage);
|
|
1458
1411
|
}
|
|
1459
1412
|
//this.handleSuccess(res, "Record is updated successfully.")
|
|
@@ -1526,14 +1479,14 @@ class MainService {
|
|
|
1526
1479
|
}
|
|
1527
1480
|
deleteModel(event, group) {
|
|
1528
1481
|
const fg = group.form;
|
|
1529
|
-
const resMessage = group.SuccessDeletedMessage ||
|
|
1482
|
+
const resMessage = group.SuccessDeletedMessage || DefaultMessage.recordDeleted;
|
|
1530
1483
|
of(group.zModel)
|
|
1531
1484
|
.pipe(switchMap((zmodel) => {
|
|
1532
1485
|
console.log("Before delete, zModel:", zmodel);
|
|
1533
1486
|
return this.beforeDeleteModel(group);
|
|
1534
1487
|
}), switchMap(() => {
|
|
1535
1488
|
group.isTriggered = false;
|
|
1536
|
-
return this.alertService.show("Delete Record",
|
|
1489
|
+
return this.alertService.show("Delete Record", DefaultMessage.confirmation, [
|
|
1537
1490
|
{ text: "No", cssClass: "secondary" },
|
|
1538
1491
|
{ text: "Yes", cssClass: "primary" }
|
|
1539
1492
|
]);
|
|
@@ -1597,7 +1550,7 @@ class MainService {
|
|
|
1597
1550
|
}
|
|
1598
1551
|
isFormDirtyAndValid(fg, group, isSkipDirty = false, event) {
|
|
1599
1552
|
if (!isSkipDirty && !fg.dirty) {
|
|
1600
|
-
console.warn(
|
|
1553
|
+
console.warn(DefaultMessage.notDirtyMessage);
|
|
1601
1554
|
const message = event && event.data && event.data[`FormNotDirtyMessage`] ? event.data[`FormNotDirtyMessage`] : DefaultMessage.notDirtyMessage;
|
|
1602
1555
|
this.alertService.showOkay(DefaultDialogTitle.nothingToUpdate, message, ["col-5"]);
|
|
1603
1556
|
return false;
|
|
@@ -1802,7 +1755,7 @@ class MainService {
|
|
|
1802
1755
|
}
|
|
1803
1756
|
}
|
|
1804
1757
|
handleSignalRModificationAlert(formId) {
|
|
1805
|
-
if (this.signalrService.signalREnabled()) {
|
|
1758
|
+
if (this.signalrService.signalREnabled() && this.environment.enableFormPageModificationAlert) {
|
|
1806
1759
|
const eventName = `${window.location.href}`.replace(/([^:]\/)\/+/g, "$1");
|
|
1807
1760
|
if (!this.group.signalRCallbackHandler) {
|
|
1808
1761
|
this.group.signalRCallbackHandler = {};
|
|
@@ -1812,7 +1765,7 @@ class MainService {
|
|
|
1812
1765
|
this.signalrService.subscribeToEvent(this.group, `${eventName}`, `group.signalRCallbackHandler.alertFormModified`);
|
|
1813
1766
|
}
|
|
1814
1767
|
else {
|
|
1815
|
-
console.warn('
|
|
1768
|
+
console.warn('enableFormPageModificationAlert not enabled.');
|
|
1816
1769
|
}
|
|
1817
1770
|
}
|
|
1818
1771
|
alertFormModified(formId, group, resp, eventName) {
|
|
@@ -6646,6 +6599,33 @@ const hideAndShowVerticalAnimation = trigger('hideAndShowAnimation', [
|
|
|
6646
6599
|
style({ transform: 'translateY(0)', opacity: 1, height: 100 }),
|
|
6647
6600
|
animate('300ms ease-in', style({ transform: 'translateY(-20%)', opacity: 0, height: 0 }))
|
|
6648
6601
|
])
|
|
6602
|
+
]);
|
|
6603
|
+
const rotateAnimation = trigger('rotateAnimation', [
|
|
6604
|
+
state('default', style({
|
|
6605
|
+
transform: 'rotate(0deg)'
|
|
6606
|
+
})),
|
|
6607
|
+
state('rotate', style({
|
|
6608
|
+
transform: 'rotate(' + '{{degree}}' + 'deg)'
|
|
6609
|
+
}), { params: { degree: 90 } }),
|
|
6610
|
+
transition('* => *', [
|
|
6611
|
+
animate('{{duration}}')
|
|
6612
|
+
], { params: { duration: '0.2s' } }),
|
|
6613
|
+
]);
|
|
6614
|
+
const collapseAnimation = trigger('collapseAnimation', [
|
|
6615
|
+
state('default', style({
|
|
6616
|
+
transform: 'translateY(0)', opacity: 1, display: 'block'
|
|
6617
|
+
})),
|
|
6618
|
+
state('collapse', style({
|
|
6619
|
+
transform: 'translateY(' + '{{height}}' + ')',
|
|
6620
|
+
opacity: 0,
|
|
6621
|
+
display: 'none'
|
|
6622
|
+
}), { params: { height: '-10%' } }),
|
|
6623
|
+
transition('* => collapse', [
|
|
6624
|
+
animate('{{duration}}')
|
|
6625
|
+
], { params: { duration: '0.2s' } }),
|
|
6626
|
+
transition('* => default', [
|
|
6627
|
+
animate('{{duration}}')
|
|
6628
|
+
], { params: { duration: '0.2s' } })
|
|
6649
6629
|
]);
|
|
6650
6630
|
|
|
6651
6631
|
/********** Angular **********/
|
|
@@ -7116,9 +7096,7 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7116
7096
|
getzDataForzModel$.subscribe((zdata) => {
|
|
7117
7097
|
console.log(data.Name, ' - initial zData load: ', zdata);
|
|
7118
7098
|
if (this.group) {
|
|
7119
|
-
|
|
7120
|
-
this.group.afterLoadzDataOptions(this.group);
|
|
7121
|
-
}
|
|
7099
|
+
this.afterLoadzDataOptions();
|
|
7122
7100
|
}
|
|
7123
7101
|
this.isLoading = false;
|
|
7124
7102
|
});
|
|
@@ -7140,9 +7118,7 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7140
7118
|
this.autoSelectFirstOption(isRequired, optionData[0], fieldValue, zModel.Id);
|
|
7141
7119
|
}
|
|
7142
7120
|
if (this.group) {
|
|
7143
|
-
|
|
7144
|
-
this.group.afterLoadzDataOptions(this.group);
|
|
7145
|
-
}
|
|
7121
|
+
this.afterLoadzDataOptions();
|
|
7146
7122
|
}
|
|
7147
7123
|
this.isLoading = false;
|
|
7148
7124
|
});
|
|
@@ -7159,9 +7135,7 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7159
7135
|
setTimeout(function () {
|
|
7160
7136
|
thisComponent.autoSelectFirstOption(isRequired, optionData[0], fieldValue, thisComponent.group.zModel.Id);
|
|
7161
7137
|
if (this.group) {
|
|
7162
|
-
|
|
7163
|
-
this.group.afterLoadzDataOptions(this.group);
|
|
7164
|
-
}
|
|
7138
|
+
this.afterLoadzDataOptions();
|
|
7165
7139
|
}
|
|
7166
7140
|
}, 100);
|
|
7167
7141
|
}
|
|
@@ -7292,7 +7266,7 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7292
7266
|
this.onSearch({ component: null, text: value });
|
|
7293
7267
|
if (this.group) {
|
|
7294
7268
|
if (this.group.afterLoadzDataOptions) {
|
|
7295
|
-
this.group.afterLoadzDataOptions(this.group);
|
|
7269
|
+
this.group.afterLoadzDataOptions(this.group, this.data);
|
|
7296
7270
|
}
|
|
7297
7271
|
}
|
|
7298
7272
|
});
|
|
@@ -7309,9 +7283,7 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7309
7283
|
.subscribe(() => {
|
|
7310
7284
|
this.onSearch({ component: null, text: value });
|
|
7311
7285
|
if (this.group) {
|
|
7312
|
-
|
|
7313
|
-
this.group.afterLoadzDataOptions(this.group);
|
|
7314
|
-
}
|
|
7286
|
+
this.afterLoadzDataOptions();
|
|
7315
7287
|
}
|
|
7316
7288
|
this.isLoading = false;
|
|
7317
7289
|
});
|
|
@@ -7535,6 +7507,12 @@ class ZselectmultipleComponent extends InputFieldBase {
|
|
|
7535
7507
|
}
|
|
7536
7508
|
}
|
|
7537
7509
|
}
|
|
7510
|
+
afterLoadzDataOptions() {
|
|
7511
|
+
if (this.group.afterLoadzDataOptions) {
|
|
7512
|
+
console.log("group.afterLoadzDataOptions triggered." + this.data);
|
|
7513
|
+
this.group.afterLoadzDataOptions(this.group, this.data);
|
|
7514
|
+
}
|
|
7515
|
+
}
|
|
7538
7516
|
}
|
|
7539
7517
|
ZselectmultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZselectmultipleComponent, deps: [{ token: ZComponentService }, { token: i2.ResourceApiService }, { token: i2.WebApiService }, { token: i2.CacheService }, { token: i2.FieldService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7540
7518
|
ZselectmultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", 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()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\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()\"\r\n (close)=\"handleClose()\"\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()\"\r\n (close)=\"handleClose()\"\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()\"\r\n (close)=\"handleClose()\"\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 .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$5.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: i5$2.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$2.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$2.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$2.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$2.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.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3$5.IonicSelectableItemIconTemplateDirective, selector: "[ionicSelectableItemIconTemplate]" }, { type: i3$5.IonicSelectableCloseButtonTemplateDirective, selector: "[ionicSelectableCloseButtonTemplate]" }, { type: i3$5.IonicSelectableTitleTemplateDirective, selector: "[ionicSelectableTitleTemplate]" }, { type: i3$5.IonicSelectableItemTemplateDirective, selector: "[ionicSelectableItemTemplate]" }, { type: OpenOnFocusDirective, selector: "kendo-combobox[openOnFocus]", inputs: ["openOnFocus"] }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i6$2.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$2.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i6$2.DropDownTreesExpandDirective, selector: "[kendoDropDownTreeExpandable], [kendoMultiSelectTreeExpandable]", inputs: ["isNodeExpanded"] }, { type: i6$2.MultiSelectTreeHierarchyBindingDirective, selector: "[kendoMultiSelectTreeHierarchyBinding]", inputs: ["kendoMultiSelectTreeHierarchyBinding"] }, { type: i6$2.MultiSelectTreeSummaryTagDirective, selector: "[kendoMultiSelectTreeSummaryTag]", inputs: ["kendoMultiSelectTreeSummaryTag"] }, { type: i6$2.NoDataTemplateDirective, selector: "[kendoDropDownListNoDataTemplate],[kendoDropDownTreeNoDataTemplate],[kendoComboBoxNoDataTemplate],[kendoMultiColumnComboBoxNoDataTemplate],[kendoAutoCompleteNoDataTemplate],[kendoMultiSelectNoDataTemplate],[kendoMultiSelectTreeNoDataTemplate]" }], pipes: { "async": i5.AsyncPipe, "zselectTranslationParser": ZSelectTranslationParser } });
|
|
@@ -8858,7 +8836,6 @@ class ZgridComponent extends DataListingFieldBase {
|
|
|
8858
8836
|
console.warn('Invalid/Empty grid(' + this.data.Name + ') data to generate column');
|
|
8859
8837
|
}
|
|
8860
8838
|
else {
|
|
8861
|
-
const fieldName = this.data['FieldElementName'];
|
|
8862
8839
|
this.columns = [];
|
|
8863
8840
|
const generateHiddenColumns = [];
|
|
8864
8841
|
ZComponentHelper.getGridColumns({
|
|
@@ -9126,6 +9103,9 @@ class ZgridComponent extends DataListingFieldBase {
|
|
|
9126
9103
|
this.inlineEditedFormGroups = {};
|
|
9127
9104
|
this.zgrid.getDataBinding();
|
|
9128
9105
|
}
|
|
9106
|
+
else {
|
|
9107
|
+
console.warn('this.zgrid is undefined.');
|
|
9108
|
+
}
|
|
9129
9109
|
}
|
|
9130
9110
|
getGridData() {
|
|
9131
9111
|
return this.isUseLocalData() ? (this.zgrid.data || this.zgrid.originalData) : (this.zgrid.grid.data && this.zgrid.grid.data.data ? this.zgrid.grid.data.data : []);
|
|
@@ -11461,10 +11441,10 @@ class ZtreeComponent extends DataListingFieldBase {
|
|
|
11461
11441
|
}
|
|
11462
11442
|
}
|
|
11463
11443
|
ZtreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtreeComponent, deps: [{ token: ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11464
|
-
ZtreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZtreeComponent, selector: "app-ztree", viewQueries: [{ propertyName: "nodetemplate", first: true, predicate: ["nodetemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"width:100%\" [style]=\"componentProperties.style.style\" class=\"e1tag-style\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <kendo-treeview [nodes]=\"getItems()\"\r\n kendoTreeViewExpandable\r\n [kendoTreeViewSelectable]=\"selection\"\r\n kendoTreeViewDragAndDrop\r\n kendoTreeViewDragAndDropEditing\r\n [isExpanded]=\"isExpanded\"\r\n (collapse)=\"handleCollapse($event)\"\r\n (expand)=\"handleExpand($event)\"\r\n (nodeDrop)=\"handleNodeDrop($event)\"\r\n (nodeDragEnd)=\"handleNodeDragEnd($event)\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [(selectedKeys)]=\"selectedKeys\"\r\n kendoTreeViewHierarchyBinding\r\n childrenField=\"Value\"\r\n textField=\"Name\"\r\n [selectBy]=\"data.SelectOptions\"\r\n [filterable]=\"data.Filterable\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [style]=\"componentProperties.style.style1\"\r\n class=\"e1tag-style1\"\r\n [ngClass]=\"data.Class\"\r\n [kendoTreeViewCheckable]=\"checkableSettings\"\r\n [checkBy]=\"data.SelectOptions\"\r\n [(checkedKeys)]=\"checkedKeys\"\r\n (checkedChange)=\"onCheckedChange($event)\"\r\n [kendoTreeViewDisable]=\"data.SelectOptions\"\r\n [isChecked]=\"isChecked\"\r\n [(disabledKeys)]=\"disabledCheckBoxKeys\"\r\n [disableParentNodesOnly]=\"data.DisableParentNodesOnly\">\r\n <ng-template kendoTreeViewNodeTemplate let-dataItem #nodetemplate>\r\n <div class=\"tree-content-container\">\r\n <ion-button *ngIf=\"!!data.OnAddNode && !data.isHideAllAddNode\"\r\n (click)=\"onAddNode($event, dataItem, data, group)\"\r\n style=\"zoom: 0.6; margin: 0 0 0 2px;\"\r\n mat-raised-button\r\n color=\"primary\"\r\n size=\"medium\"\r\n [hidden]=\"!!dataItem.OnAddNodeVisible\"\r\n [style]=\"componentProperties.style.style2\"\r\n class=\"e1tag-style2\">\r\n <fa-icon [icon]=\"'plus'\"></fa-icon>\r\n </ion-button>\r\n <ion-button *ngIf=\"!!data.OnRemoveNode && !data.isHideAllRemoveNode\"\r\n (click)=\"onRemoveNode($event, dataItem, data, group)\"\r\n style=\"zoom: 0.6; margin: 0 0 0 10px;\"\r\n color=\"danger\"\r\n mat-raised-button\r\n size=\"medium\"\r\n [hidden]=\"!!dataItem.OnRemoveNodeVisible\"\r\n [style]=\"componentProperties.style.style3\"\r\n class=\"e1tag-style3\">\r\n <fa-icon [icon]=\"'minus'\"></fa-icon>\r\n </ion-button>\r\n <span class=\"btn-seperator e1tag-style7\" [style]=\"componentProperties.style.style7\"></span>\r\n <span *ngFor=\"let icon of dataItem.IconList\">\r\n <fa-icon class=\"e1tag-style5 left-icon\" [icon]=\"icon\" [style]=\"componentProperties.style.style5\"></fa-icon>\r\n </span>\r\n <ion-label [style]=\"componentProperties.style.style4\" class=\"e1tag-style4\" [ngClass]=\"dataItem.class\">\r\n <div [style]=\"componentProperties.style.style6\" class=\"e1tag-style6\" [innerHTML]=\"getTemplate(dataItem, data, group) | htmlSanitize\"></div>\r\n </ion-label>\r\n </div>\r\n </ng-template>\r\n </kendo-treeview>\r\n</div>\r\n", styles: [":host ::ng-deep .k-treeview .k-treeview-leaf{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.15);color:var(--ion-color-primary-shade);border:1px solid rgba(var(--ion-color-primary-rgb),1);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .k-treeview-leaf.k-selected,:host ::ng-deep .k-treeview .k-treeview-leaf.k-state-selected{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.5);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .k-treeview-leaf:hover,:host ::ng-deep .k-treeview .k-treeview-leaf.k-hover .k-treeview-leaf.k-state-hover{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.1);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .tree-content-container{display:flex;align-items:center;justify-content:center}:host ::ng-deep .k-treeview .btn-seperator{width:10px;display:inline-block}.left-icon{margin-right:8px}\n"], components: [{ type: i2$9.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { type: i2$1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i5$2.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.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$9.ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { type: i2$9.DragAndDropDirective, selector: "[kendoTreeViewDragAndDrop]", inputs: ["allowCopy", "dropZoneTreeViews", "startDragAfter", "autoScroll"] }, { type: i2$9.DragAndDropEditingDirective, selector: "[kendoTreeViewDragAndDropEditing]", inputs: ["editService"] }, { type: i2$9.HierarchyBindingDirective, selector: "[kendoTreeViewHierarchyBinding]", inputs: ["childrenField", "nodes", "isVisible", "loadOnDemand"] }, { type: i2$9.SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }, { 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: i2$9.CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { type: i2$9.DisableDirective, selector: "[kendoTreeViewDisable]", inputs: ["isDisabled", "kendoTreeViewDisable", "disabledKeys"] }, { type: i2$9.NodeTemplateDirective, selector: "[kendoTreeViewNodeTemplate]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "htmlSanitize": HtmlSanitizePipe } });
|
|
11444
|
+
ZtreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZtreeComponent, selector: "app-ztree", viewQueries: [{ propertyName: "nodetemplate", first: true, predicate: ["nodetemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div style=\"width:100%\" [style]=\"componentProperties.style.style\" class=\"e1tag-style\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <kendo-treeview [nodes]=\"getItems()\"\r\n kendoTreeViewExpandable\r\n [kendoTreeViewSelectable]=\"selection\"\r\n kendoTreeViewDragAndDrop\r\n kendoTreeViewDragAndDropEditing\r\n [isExpanded]=\"isExpanded\"\r\n (collapse)=\"handleCollapse($event)\"\r\n (expand)=\"handleExpand($event)\"\r\n (nodeDrop)=\"handleNodeDrop($event)\"\r\n (nodeDragEnd)=\"handleNodeDragEnd($event)\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [(selectedKeys)]=\"selectedKeys\"\r\n kendoTreeViewHierarchyBinding\r\n childrenField=\"Value\"\r\n textField=\"Name\"\r\n [selectBy]=\"data.SelectOptions\"\r\n [filterable]=\"data.Filterable\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [style]=\"componentProperties.style.style1\"\r\n class=\"e1tag-style1\"\r\n [ngClass]=\"data.Class\"\r\n [kendoTreeViewCheckable]=\"checkableSettings\"\r\n [checkBy]=\"data.SelectOptions\"\r\n [(checkedKeys)]=\"checkedKeys\"\r\n (checkedChange)=\"onCheckedChange($event)\"\r\n [kendoTreeViewDisable]=\"data.SelectOptions\"\r\n [isChecked]=\"isChecked\"\r\n [(disabledKeys)]=\"disabledCheckBoxKeys\"\r\n [disableParentNodesOnly]=\"data.DisableParentNodesOnly\"\r\n [expandDisabledNodes]=\"data.ExpandDisabledNodes\">\r\n <ng-template kendoTreeViewNodeTemplate let-dataItem #nodetemplate>\r\n <div class=\"tree-content-container\">\r\n <ion-button *ngIf=\"!!data.OnAddNode && !data.isHideAllAddNode\"\r\n (click)=\"onAddNode($event, dataItem, data, group)\"\r\n style=\"zoom: 0.6; margin: 0 0 0 2px;\"\r\n mat-raised-button\r\n color=\"primary\"\r\n size=\"medium\"\r\n [hidden]=\"!!dataItem.OnAddNodeVisible\"\r\n [style]=\"componentProperties.style.style2\"\r\n class=\"e1tag-style2\">\r\n <fa-icon [icon]=\"'plus'\"></fa-icon>\r\n </ion-button>\r\n <ion-button *ngIf=\"!!data.OnRemoveNode && !data.isHideAllRemoveNode\"\r\n (click)=\"onRemoveNode($event, dataItem, data, group)\"\r\n style=\"zoom: 0.6; margin: 0 0 0 10px;\"\r\n color=\"danger\"\r\n mat-raised-button\r\n size=\"medium\"\r\n [hidden]=\"!!dataItem.OnRemoveNodeVisible\"\r\n [style]=\"componentProperties.style.style3\"\r\n class=\"e1tag-style3\">\r\n <fa-icon [icon]=\"'minus'\"></fa-icon>\r\n </ion-button>\r\n <span class=\"btn-seperator e1tag-style7\" [style]=\"componentProperties.style.style7\"></span>\r\n <span *ngFor=\"let icon of dataItem.IconList\">\r\n <fa-icon class=\"e1tag-style5 left-icon\" [icon]=\"icon\" [style]=\"componentProperties.style.style5\"></fa-icon>\r\n </span>\r\n <ion-label [style]=\"componentProperties.style.style4\" class=\"e1tag-style4\" [ngClass]=\"dataItem.class\">\r\n <div [style]=\"componentProperties.style.style6\" class=\"e1tag-style6\" [innerHTML]=\"getTemplate(dataItem, data, group) | htmlSanitize\"></div>\r\n </ion-label>\r\n </div>\r\n </ng-template>\r\n </kendo-treeview>\r\n</div>\r\n", styles: [":host ::ng-deep .k-treeview .k-treeview-leaf{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.15);color:var(--ion-color-primary-shade);border:1px solid rgba(var(--ion-color-primary-rgb),1);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .k-treeview-leaf.k-selected,:host ::ng-deep .k-treeview .k-treeview-leaf.k-state-selected{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.5);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .k-treeview-leaf:hover,:host ::ng-deep .k-treeview .k-treeview-leaf.k-hover .k-treeview-leaf.k-state-hover{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.1);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .tree-content-container{display:flex;align-items:center;justify-content:center}:host ::ng-deep .k-treeview .btn-seperator{width:10px;display:inline-block}.left-icon{margin-right:8px}\n"], components: [{ type: i2$9.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }, { type: i2$1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i5$2.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.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$9.ExpandDirective, selector: "[kendoTreeViewExpandable]", inputs: ["isExpanded", "expandBy", "expandOnFilter", "expandedKeys"], outputs: ["expandedKeysChange"] }, { type: i2$9.DragAndDropDirective, selector: "[kendoTreeViewDragAndDrop]", inputs: ["allowCopy", "dropZoneTreeViews", "startDragAfter", "autoScroll"] }, { type: i2$9.DragAndDropEditingDirective, selector: "[kendoTreeViewDragAndDropEditing]", inputs: ["editService"] }, { type: i2$9.HierarchyBindingDirective, selector: "[kendoTreeViewHierarchyBinding]", inputs: ["childrenField", "nodes", "isVisible", "loadOnDemand"] }, { type: i2$9.SelectDirective, selector: "[kendoTreeViewSelectable]", inputs: ["isSelected", "selectBy", "kendoTreeViewSelectable", "selectedKeys"], outputs: ["selectedKeysChange"] }, { 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: i2$9.CheckDirective, selector: "[kendoTreeViewCheckable]", inputs: ["isChecked", "checkBy", "checkedKeys", "kendoTreeViewCheckable"], outputs: ["checkedKeysChange"] }, { type: i2$9.DisableDirective, selector: "[kendoTreeViewDisable]", inputs: ["isDisabled", "kendoTreeViewDisable", "disabledKeys"] }, { type: i2$9.NodeTemplateDirective, selector: "[kendoTreeViewNodeTemplate]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "htmlSanitize": HtmlSanitizePipe } });
|
|
11465
11445
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtreeComponent, decorators: [{
|
|
11466
11446
|
type: Component,
|
|
11467
|
-
args: [{ selector: "app-ztree", template: "<div style=\"width:100%\" [style]=\"componentProperties.style.style\" class=\"e1tag-style\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <kendo-treeview [nodes]=\"getItems()\"\r\n kendoTreeViewExpandable\r\n [kendoTreeViewSelectable]=\"selection\"\r\n kendoTreeViewDragAndDrop\r\n kendoTreeViewDragAndDropEditing\r\n [isExpanded]=\"isExpanded\"\r\n (collapse)=\"handleCollapse($event)\"\r\n (expand)=\"handleExpand($event)\"\r\n (nodeDrop)=\"handleNodeDrop($event)\"\r\n (nodeDragEnd)=\"handleNodeDragEnd($event)\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [(selectedKeys)]=\"selectedKeys\"\r\n kendoTreeViewHierarchyBinding\r\n childrenField=\"Value\"\r\n textField=\"Name\"\r\n [selectBy]=\"data.SelectOptions\"\r\n [filterable]=\"data.Filterable\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [style]=\"componentProperties.style.style1\"\r\n class=\"e1tag-style1\"\r\n [ngClass]=\"data.Class\"\r\n [kendoTreeViewCheckable]=\"checkableSettings\"\r\n [checkBy]=\"data.SelectOptions\"\r\n [(checkedKeys)]=\"checkedKeys\"\r\n (checkedChange)=\"onCheckedChange($event)\"\r\n [kendoTreeViewDisable]=\"data.SelectOptions\"\r\n [isChecked]=\"isChecked\"\r\n [(disabledKeys)]=\"disabledCheckBoxKeys\"\r\n [disableParentNodesOnly]=\"data.DisableParentNodesOnly\">\r\n <ng-template kendoTreeViewNodeTemplate let-dataItem #nodetemplate>\r\n <div class=\"tree-content-container\">\r\n <ion-button *ngIf=\"!!data.OnAddNode && !data.isHideAllAddNode\"\r\n (click)=\"onAddNode($event, dataItem, data, group)\"\r\n style=\"zoom: 0.6; margin: 0 0 0 2px;\"\r\n mat-raised-button\r\n color=\"primary\"\r\n size=\"medium\"\r\n [hidden]=\"!!dataItem.OnAddNodeVisible\"\r\n [style]=\"componentProperties.style.style2\"\r\n class=\"e1tag-style2\">\r\n <fa-icon [icon]=\"'plus'\"></fa-icon>\r\n </ion-button>\r\n <ion-button *ngIf=\"!!data.OnRemoveNode && !data.isHideAllRemoveNode\"\r\n (click)=\"onRemoveNode($event, dataItem, data, group)\"\r\n style=\"zoom: 0.6; margin: 0 0 0 10px;\"\r\n color=\"danger\"\r\n mat-raised-button\r\n size=\"medium\"\r\n [hidden]=\"!!dataItem.OnRemoveNodeVisible\"\r\n [style]=\"componentProperties.style.style3\"\r\n class=\"e1tag-style3\">\r\n <fa-icon [icon]=\"'minus'\"></fa-icon>\r\n </ion-button>\r\n <span class=\"btn-seperator e1tag-style7\" [style]=\"componentProperties.style.style7\"></span>\r\n <span *ngFor=\"let icon of dataItem.IconList\">\r\n <fa-icon class=\"e1tag-style5 left-icon\" [icon]=\"icon\" [style]=\"componentProperties.style.style5\"></fa-icon>\r\n </span>\r\n <ion-label [style]=\"componentProperties.style.style4\" class=\"e1tag-style4\" [ngClass]=\"dataItem.class\">\r\n <div [style]=\"componentProperties.style.style6\" class=\"e1tag-style6\" [innerHTML]=\"getTemplate(dataItem, data, group) | htmlSanitize\"></div>\r\n </ion-label>\r\n </div>\r\n </ng-template>\r\n </kendo-treeview>\r\n</div>\r\n", styles: [":host ::ng-deep .k-treeview .k-treeview-leaf{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.15);color:var(--ion-color-primary-shade);border:1px solid rgba(var(--ion-color-primary-rgb),1);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .k-treeview-leaf.k-selected,:host ::ng-deep .k-treeview .k-treeview-leaf.k-state-selected{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.5);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .k-treeview-leaf:hover,:host ::ng-deep .k-treeview .k-treeview-leaf.k-hover .k-treeview-leaf.k-state-hover{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.1);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .tree-content-container{display:flex;align-items:center;justify-content:center}:host ::ng-deep .k-treeview .btn-seperator{width:10px;display:inline-block}.left-icon{margin-right:8px}\n"] }]
|
|
11447
|
+
args: [{ selector: "app-ztree", template: "<div style=\"width:100%\" [style]=\"componentProperties.style.style\" class=\"e1tag-style\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <kendo-treeview [nodes]=\"getItems()\"\r\n kendoTreeViewExpandable\r\n [kendoTreeViewSelectable]=\"selection\"\r\n kendoTreeViewDragAndDrop\r\n kendoTreeViewDragAndDropEditing\r\n [isExpanded]=\"isExpanded\"\r\n (collapse)=\"handleCollapse($event)\"\r\n (expand)=\"handleExpand($event)\"\r\n (nodeDrop)=\"handleNodeDrop($event)\"\r\n (nodeDragEnd)=\"handleNodeDragEnd($event)\"\r\n (selectionChange)=\"onSelectionChange($event)\"\r\n [(selectedKeys)]=\"selectedKeys\"\r\n kendoTreeViewHierarchyBinding\r\n childrenField=\"Value\"\r\n textField=\"Name\"\r\n [selectBy]=\"data.SelectOptions\"\r\n [filterable]=\"data.Filterable\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [style]=\"componentProperties.style.style1\"\r\n class=\"e1tag-style1\"\r\n [ngClass]=\"data.Class\"\r\n [kendoTreeViewCheckable]=\"checkableSettings\"\r\n [checkBy]=\"data.SelectOptions\"\r\n [(checkedKeys)]=\"checkedKeys\"\r\n (checkedChange)=\"onCheckedChange($event)\"\r\n [kendoTreeViewDisable]=\"data.SelectOptions\"\r\n [isChecked]=\"isChecked\"\r\n [(disabledKeys)]=\"disabledCheckBoxKeys\"\r\n [disableParentNodesOnly]=\"data.DisableParentNodesOnly\"\r\n [expandDisabledNodes]=\"data.ExpandDisabledNodes\">\r\n <ng-template kendoTreeViewNodeTemplate let-dataItem #nodetemplate>\r\n <div class=\"tree-content-container\">\r\n <ion-button *ngIf=\"!!data.OnAddNode && !data.isHideAllAddNode\"\r\n (click)=\"onAddNode($event, dataItem, data, group)\"\r\n style=\"zoom: 0.6; margin: 0 0 0 2px;\"\r\n mat-raised-button\r\n color=\"primary\"\r\n size=\"medium\"\r\n [hidden]=\"!!dataItem.OnAddNodeVisible\"\r\n [style]=\"componentProperties.style.style2\"\r\n class=\"e1tag-style2\">\r\n <fa-icon [icon]=\"'plus'\"></fa-icon>\r\n </ion-button>\r\n <ion-button *ngIf=\"!!data.OnRemoveNode && !data.isHideAllRemoveNode\"\r\n (click)=\"onRemoveNode($event, dataItem, data, group)\"\r\n style=\"zoom: 0.6; margin: 0 0 0 10px;\"\r\n color=\"danger\"\r\n mat-raised-button\r\n size=\"medium\"\r\n [hidden]=\"!!dataItem.OnRemoveNodeVisible\"\r\n [style]=\"componentProperties.style.style3\"\r\n class=\"e1tag-style3\">\r\n <fa-icon [icon]=\"'minus'\"></fa-icon>\r\n </ion-button>\r\n <span class=\"btn-seperator e1tag-style7\" [style]=\"componentProperties.style.style7\"></span>\r\n <span *ngFor=\"let icon of dataItem.IconList\">\r\n <fa-icon class=\"e1tag-style5 left-icon\" [icon]=\"icon\" [style]=\"componentProperties.style.style5\"></fa-icon>\r\n </span>\r\n <ion-label [style]=\"componentProperties.style.style4\" class=\"e1tag-style4\" [ngClass]=\"dataItem.class\">\r\n <div [style]=\"componentProperties.style.style6\" class=\"e1tag-style6\" [innerHTML]=\"getTemplate(dataItem, data, group) | htmlSanitize\"></div>\r\n </ion-label>\r\n </div>\r\n </ng-template>\r\n </kendo-treeview>\r\n</div>\r\n", styles: [":host ::ng-deep .k-treeview .k-treeview-leaf{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.15);color:var(--ion-color-primary-shade);border:1px solid rgba(var(--ion-color-primary-rgb),1);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .k-treeview-leaf.k-selected,:host ::ng-deep .k-treeview .k-treeview-leaf.k-state-selected{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.5);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .k-treeview-leaf:hover,:host ::ng-deep .k-treeview .k-treeview-leaf.k-hover .k-treeview-leaf.k-state-hover{width:100%;margin:5px;padding:9px 20px 9px 8px;border-radius:2px;background:rgba(var(--ion-color-primary-rgb),.1);font-size:13px;cursor:pointer}:host ::ng-deep .k-treeview .tree-content-container{display:flex;align-items:center;justify-content:center}:host ::ng-deep .k-treeview .btn-seperator{width:10px;display:inline-block}.left-icon{margin-right:8px}\n"] }]
|
|
11468
11448
|
}], ctorParameters: function () { return [{ type: ZComponentService }]; }, propDecorators: { nodetemplate: [{
|
|
11469
11449
|
type: ViewChild,
|
|
11470
11450
|
args: ["nodetemplate", { static: true }]
|
|
@@ -13812,14 +13792,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
13812
13792
|
// Approach 1: Total Count is known, get next page upon scroll. (Will only have multiple pages / pageable)
|
|
13813
13793
|
// Approach 2: Total Count is not known, append more data at runtime. (Will only have 1 page / not pageable)
|
|
13814
13794
|
class VirtualScrollComponent extends ContainerFieldBase {
|
|
13815
|
-
constructor(componentService) {
|
|
13795
|
+
constructor(componentService, fontAweSomeService) {
|
|
13816
13796
|
super(componentService);
|
|
13797
|
+
this.fontAweSomeService = fontAweSomeService;
|
|
13798
|
+
this.collapsedGroupBy = []; // Used to define animation status
|
|
13799
|
+
this.groupByValueToExpand = ''; // Used to define animation status
|
|
13800
|
+
this.collapsedGroupBy_FirstNodeIndexList = new Array(); // When collapse, need to retain the first node in the list so that the group by title will not be hidden
|
|
13801
|
+
this.fullDataItems = [];
|
|
13802
|
+
this.dataItems = [];
|
|
13817
13803
|
this.pageSize = 50;
|
|
13818
13804
|
this.pageFetched = [];
|
|
13819
13805
|
this.footerFields = [];
|
|
13820
13806
|
}
|
|
13821
13807
|
ngOnInit() {
|
|
13822
|
-
this.
|
|
13808
|
+
this.setupComponent();
|
|
13809
|
+
this.setupDataItems();
|
|
13823
13810
|
this.setupFooter();
|
|
13824
13811
|
super.initComponent().subscribe();
|
|
13825
13812
|
}
|
|
@@ -13834,7 +13821,8 @@ class VirtualScrollComponent extends ContainerFieldBase {
|
|
|
13834
13821
|
this.viewPort.scrollToIndex(0);
|
|
13835
13822
|
}
|
|
13836
13823
|
}
|
|
13837
|
-
|
|
13824
|
+
setupComponent() {
|
|
13825
|
+
this.collapsedGroupBy = [];
|
|
13838
13826
|
if (this.data.Options) {
|
|
13839
13827
|
if (typeof this.data.Options === 'string' && this.data.Options.startsWith('group.')) {
|
|
13840
13828
|
this.options = ZComponentHelper.getGroupValue(this.data.Options, this.group);
|
|
@@ -13844,36 +13832,49 @@ class VirtualScrollComponent extends ContainerFieldBase {
|
|
|
13844
13832
|
}
|
|
13845
13833
|
this.pageSize = this.options.pageSize || 50;
|
|
13846
13834
|
this.options.loadingLabel = this.options.loadingLabel || '<div>Loading</div>';
|
|
13847
|
-
this.setupDataItems();
|
|
13848
13835
|
}
|
|
13849
13836
|
}
|
|
13850
13837
|
appendData(dataItems) {
|
|
13851
|
-
this.dataItems = this.dataItems.concat(dataItems);
|
|
13852
|
-
this.
|
|
13853
|
-
this.
|
|
13838
|
+
// this.dataItems = this.dataItems.concat(dataItems);
|
|
13839
|
+
// this.pageSize = this.dataItems.length;
|
|
13840
|
+
this.fullDataItems = this.fullDataItems.concat(dataItems);
|
|
13841
|
+
this.pageSize = this.fullDataItems.length;
|
|
13842
|
+
this.computeDataItems();
|
|
13854
13843
|
}
|
|
13855
13844
|
setupDataItems() {
|
|
13856
13845
|
this.pageFetched = [];
|
|
13857
|
-
if (this.
|
|
13858
|
-
|
|
13859
|
-
|
|
13860
|
-
|
|
13861
|
-
console.error('DataItems cannot be more than total count.');
|
|
13862
|
-
return;
|
|
13863
|
-
}
|
|
13864
|
-
this.dataItems = this.options.dataItems.concat(Array(cnt).fill(false));
|
|
13865
|
-
const pageNoToMarkAsFetch = Math.ceil(this.options.dataItems.length / this.pageSize) - 1;
|
|
13866
|
-
for (let i = 0; i <= pageNoToMarkAsFetch; i++) {
|
|
13867
|
-
this.pageFetched.push(i);
|
|
13868
|
-
}
|
|
13846
|
+
if (this.data.DataSetResult) {
|
|
13847
|
+
let dataSetResult = this.data.DataSetResult;
|
|
13848
|
+
if (typeof dataSetResult == 'string' && dataSetResult.startsWith('group.')) {
|
|
13849
|
+
dataSetResult = ZComponentHelper.getGroupValue(dataSetResult, this.group);
|
|
13869
13850
|
}
|
|
13870
|
-
|
|
13871
|
-
|
|
13851
|
+
this.setData(dataSetResult);
|
|
13852
|
+
}
|
|
13853
|
+
else {
|
|
13854
|
+
this.dataItems = [];
|
|
13855
|
+
}
|
|
13856
|
+
}
|
|
13857
|
+
setData(dataSetResult) {
|
|
13858
|
+
if (dataSetResult.dataSet && Array.isArray(dataSetResult.dataSet) && dataSetResult.dataSet.length > 0) {
|
|
13859
|
+
const cnt = dataSetResult.totalCount - dataSetResult.dataSet.length;
|
|
13860
|
+
if (cnt < 0) {
|
|
13861
|
+
console.error('DataItems cannot be more than total count.');
|
|
13862
|
+
return;
|
|
13872
13863
|
}
|
|
13864
|
+
this.dataItems = dataSetResult.dataSet.concat(Array(cnt).fill(false));
|
|
13865
|
+
const pageNoToMarkAsFetch = Math.ceil(dataSetResult.dataSet.length / this.pageSize) - 1;
|
|
13866
|
+
for (let i = 0; i <= pageNoToMarkAsFetch; i++) {
|
|
13867
|
+
this.pageFetched.push(i);
|
|
13868
|
+
}
|
|
13869
|
+
}
|
|
13870
|
+
else if (dataSetResult.totalCount) {
|
|
13871
|
+
this.dataItems = Array(dataSetResult.totalCount).fill(false);
|
|
13873
13872
|
}
|
|
13874
13873
|
else {
|
|
13875
|
-
this.dataItems =
|
|
13874
|
+
this.dataItems = [];
|
|
13876
13875
|
}
|
|
13876
|
+
this.fullDataItems = this.dataItems;
|
|
13877
|
+
this.computeDataItems();
|
|
13877
13878
|
}
|
|
13878
13879
|
populateListData() {
|
|
13879
13880
|
const renderRange = this.viewPort.getRenderedRange();
|
|
@@ -13902,8 +13903,8 @@ class VirtualScrollComponent extends ContainerFieldBase {
|
|
|
13902
13903
|
}
|
|
13903
13904
|
}
|
|
13904
13905
|
fetchData(pageNo) {
|
|
13905
|
-
if (this.data
|
|
13906
|
-
const onScrollEvent = ZComponentHelper.getGroupEvalValue.call(this, this.data
|
|
13906
|
+
if (this.data.OnScroll && typeof this.data.OnScroll == 'string' && this.data.OnScroll.startsWith('group.')) {
|
|
13907
|
+
const onScrollEvent = ZComponentHelper.getGroupEvalValue.call(this, this.data.OnScroll);
|
|
13907
13908
|
if (typeof onScrollEvent === 'function') {
|
|
13908
13909
|
const callFunc = onScrollEvent.bind(this.group.ctrlScope);
|
|
13909
13910
|
return callFunc(this.group, { pageNo: pageNo, pageSize: this.pageSize });
|
|
@@ -13924,13 +13925,72 @@ class VirtualScrollComponent extends ContainerFieldBase {
|
|
|
13924
13925
|
this.footerFields = this.data.Value.filter(x => x.Section === 'footer');
|
|
13925
13926
|
}
|
|
13926
13927
|
}
|
|
13928
|
+
//#region Group By
|
|
13929
|
+
getGroupByLabelTemplate(dataItem, options) {
|
|
13930
|
+
if (options.groupByLabelTemplate && typeof options.groupByLabelTemplate == 'string') {
|
|
13931
|
+
if (options.groupByLabelTemplate.startsWith('group.')) {
|
|
13932
|
+
const getTemplateFunc = ZComponentHelper.getGroupEvalValue.call(this, options.groupByLabelTemplate);
|
|
13933
|
+
if (getTemplateFunc) {
|
|
13934
|
+
return getTemplateFunc({
|
|
13935
|
+
dataItem,
|
|
13936
|
+
options,
|
|
13937
|
+
});
|
|
13938
|
+
}
|
|
13939
|
+
}
|
|
13940
|
+
else {
|
|
13941
|
+
return dataItem[options.groupByLabelTemplate];
|
|
13942
|
+
}
|
|
13943
|
+
}
|
|
13944
|
+
}
|
|
13945
|
+
groupByOnClick(groupByValue) {
|
|
13946
|
+
if (!this.options.isGroupByCollapsible) {
|
|
13947
|
+
return;
|
|
13948
|
+
}
|
|
13949
|
+
// use collapse / expand to control animation sequence
|
|
13950
|
+
const isToCollapse = !this.collapsedGroupBy.includes(groupByValue);
|
|
13951
|
+
const firstNodeIndex = this.fullDataItems.map(x => x[this.options.groupBy]).indexOf(groupByValue);
|
|
13952
|
+
if (isToCollapse) {
|
|
13953
|
+
// to collapse (For animation: Change status, then append data)
|
|
13954
|
+
this.collapsedGroupBy.push(groupByValue);
|
|
13955
|
+
this.collapsedGroupBy_FirstNodeIndexList.push(firstNodeIndex);
|
|
13956
|
+
of({}).pipe(delay$1(400), tap$1(() => this.computeDataItems())).subscribe();
|
|
13957
|
+
}
|
|
13958
|
+
else {
|
|
13959
|
+
// to expand (For animation: Append data, then change status)
|
|
13960
|
+
this.collapsedGroupBy_FirstNodeIndexList = this.collapsedGroupBy_FirstNodeIndexList.filter(x => x != firstNodeIndex);
|
|
13961
|
+
const tempCollapsedGroupBy = this.collapsedGroupBy.filter(x => x !== groupByValue);
|
|
13962
|
+
this.dataItems = this.fullDataItems.filter((x, index) => !tempCollapsedGroupBy.includes(x[this.options.groupBy]) || this.collapsedGroupBy_FirstNodeIndexList.includes(index));
|
|
13963
|
+
this.groupByValueToExpand = groupByValue;
|
|
13964
|
+
of({}).pipe(delay$1(0), tap$1(() => {
|
|
13965
|
+
this.collapsedGroupBy = tempCollapsedGroupBy;
|
|
13966
|
+
this.groupByValueToExpand = groupByValue;
|
|
13967
|
+
})).subscribe();
|
|
13968
|
+
}
|
|
13969
|
+
}
|
|
13970
|
+
computeDataItems() {
|
|
13971
|
+
this.dataItems = this.fullDataItems.filter((x, index) => !this.collapsedGroupBy.includes(x[this.options.groupBy]) || this.collapsedGroupBy_FirstNodeIndexList.includes(index));
|
|
13972
|
+
}
|
|
13973
|
+
expandAll() {
|
|
13974
|
+
this.collapsedGroupBy = [];
|
|
13975
|
+
this.computeDataItems();
|
|
13976
|
+
}
|
|
13977
|
+
expandByGroupByValues(groupByValue) {
|
|
13978
|
+
this.collapsedGroupBy = this.collapsedGroupBy.filter(x => !groupByValue.includes(x));
|
|
13979
|
+
this.computeDataItems();
|
|
13980
|
+
}
|
|
13927
13981
|
}
|
|
13928
|
-
VirtualScrollComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: VirtualScrollComponent, deps: [{ token: ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13929
|
-
VirtualScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", 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 [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div [style.height.px]=\"options.itemSize\" [style.min-height.px]=\"options.itemSize\"\r\n [style.max-height.px]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style2\"\r\n class=\"e1tag-container-style2\" (click)=\"onClick($event, dataItem)\"\r\n [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 </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}\n"], components: [{ type:
|
|
13982
|
+
VirtualScrollComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: VirtualScrollComponent, deps: [{ token: ZComponentService }, { token: i2.FontAweSomeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
13983
|
+
VirtualScrollComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", 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 [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"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 [style.height.px]=\"options.itemSize\" [style.min-height.px]=\"options.itemSize\"\r\n [style.max-height.px]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style2\"\r\n class=\"e1tag-container-style2 virtual-scroll-dataitem\" (click)=\"onClick($event, dataItem)\"\r\n [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 </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:-moz-fit-content;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: i5$2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { 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: [
|
|
13984
|
+
collapseAnimation,
|
|
13985
|
+
rotateAnimation
|
|
13986
|
+
] });
|
|
13930
13987
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: VirtualScrollComponent, decorators: [{
|
|
13931
13988
|
type: Component,
|
|
13932
|
-
args: [{ selector: "app-virtual-scroll",
|
|
13933
|
-
|
|
13989
|
+
args: [{ selector: "app-virtual-scroll", animations: [
|
|
13990
|
+
collapseAnimation,
|
|
13991
|
+
rotateAnimation
|
|
13992
|
+
], 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 [itemSize]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style1\"\r\n class=\"virtual-scroll-viewport e1tag-container-style1\" [minBufferPx]=\"options.minBufferPx\"\r\n [maxBufferPx]=\"options.maxBufferPx\">\r\n <!-- <ng-container *cdkVirtualFor=\"let field of clonedFields\"> -->\r\n <ng-container *cdkVirtualFor=\"let dataItem of dataItems; let i = index\">\r\n <div class=\"virtual-scroll-groupby e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\"\r\n *ngIf=\"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 [style.height.px]=\"options.itemSize\" [style.min-height.px]=\"options.itemSize\"\r\n [style.max-height.px]=\"options.itemSize\" [style]=\"componentProperties.containerStyle.style2\"\r\n class=\"e1tag-container-style2 virtual-scroll-dataitem\" (click)=\"onClick($event, dataItem)\"\r\n [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 </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:-moz-fit-content;width:fit-content}.virtual-scroll-viewport .virtual-scroll-dataitem.groupby-value-expand{transform:translateY(-10%);opacity:.2}\n"] }]
|
|
13993
|
+
}], ctorParameters: function () { return [{ type: ZComponentService }, { type: i2.FontAweSomeService }]; }, propDecorators: { viewPort: [{
|
|
13934
13994
|
type: ViewChild,
|
|
13935
13995
|
args: [CdkVirtualScrollViewport]
|
|
13936
13996
|
}] } });
|