mmhglobal-dynamicform 1.1.39 → 1.1.42
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 +19 -10
- package/bundles/mmhglobal-dynamicform.umd.js +45 -26
- package/bundles/mmhglobal-dynamicform.umd.js.map +1 -1
- package/bundles/mmhglobal-dynamicform.umd.min.js +2 -2
- package/bundles/mmhglobal-dynamicform.umd.min.js.map +1 -1
- package/esm2015/lib/services/main.service.js +24 -14
- package/esm2015/lib/zselectmultiple/zselectmultiple.component.js +16 -2
- package/esm2015/lib/ztextarea/ztextarea.component.js +7 -1
- package/esm2015/lib/zudf/zudf.component.js +2 -13
- package/fesm2015/mmhglobal-dynamicform.js +45 -26
- package/fesm2015/mmhglobal-dynamicform.js.map +1 -1
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +3 -1
- package/lib/zudf/zudf.component.d.ts +0 -3
- package/mmhglobal-dynamicform.metadata.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,44 +3,53 @@
|
|
|
3
3
|
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.13.
|
|
4
4
|
|
|
5
5
|
## Changelog
|
|
6
|
-
`1.
|
|
6
|
+
`1.1.44`<br/>
|
|
7
|
+
[zselectmultiple] - enhance to support ButtonList for zselectmultiple.<br/>
|
|
8
|
+
|
|
9
|
+
`1.1.41`<br/>
|
|
10
|
+
[mainservice] check event if not null, check for zudf form if applicable.<br/>
|
|
11
|
+
|
|
12
|
+
`1.1.40`<br/>
|
|
13
|
+
[ztextarea] enhance to allow onchange.<br/>
|
|
14
|
+
|
|
15
|
+
`1.1.39`<br/>
|
|
7
16
|
[zudf] added load userdefinedform.<br/>
|
|
8
17
|
[zupload] enhance to allow to set MinFileSize & MaxFileSize in field attribute
|
|
9
18
|
|
|
10
|
-
`1.38`<br/>
|
|
19
|
+
`1.1.38`<br/>
|
|
11
20
|
[zupload] default file size restriction.<br/>
|
|
12
21
|
[zupload] added clearFiles function.<br/>
|
|
13
22
|
|
|
14
|
-
`1.37`<br/>
|
|
23
|
+
`1.1.37`<br/>
|
|
15
24
|
[tooltipsinfo] support for setTooltipsDisplayText, setTooltipsInfoIcon.
|
|
16
25
|
|
|
17
|
-
`1.36`<br/>
|
|
26
|
+
`1.1.36`<br/>
|
|
18
27
|
Disable zgrid session storage.
|
|
19
28
|
|
|
20
|
-
`1.35`<br/>
|
|
29
|
+
`1.1.35`<br/>
|
|
21
30
|
Temp disable get grid setting from cookiestore when load.
|
|
22
31
|
Fix and enable back grid session storage.
|
|
23
32
|
|
|
24
|
-
`1.34`<br/>
|
|
33
|
+
`1.1.34`<br/>
|
|
25
34
|
Fix zgrid intermittent display all column.
|
|
26
35
|
Fix zText tooltip issue.
|
|
27
36
|
Fix zSelectMultiple virtual problem for desktop view.
|
|
28
37
|
|
|
29
|
-
`1.33`<br/>
|
|
38
|
+
`1.1.33`<br/>
|
|
30
39
|
[zupload] - minor fix for selectFileOnly attribute. <br/>
|
|
31
40
|
[zgrid] - added support for filter operator "contains" for .net core. Default as contains, to use ==, zgrid attribute add FilterContainsUsingEqual:true.
|
|
32
41
|
|
|
33
|
-
`1.32`<br/>
|
|
42
|
+
`1.1.32`<br/>
|
|
34
43
|
[zgrid] - added getFormControlData function to retrieve incell data. <br/>
|
|
35
44
|
[zgrid] - added AfterloadCallback attribute handling. <br/>
|
|
36
45
|
[zgrid] - fix form control error when grid data is null. <br/>
|
|
37
46
|
[zupload] - save file data to group scope. <br/>
|
|
38
47
|
[zquerybuilder] - bug fix for query builder.
|
|
39
48
|
|
|
40
|
-
`1.31`<br/>
|
|
49
|
+
`1.1.31`<br/>
|
|
41
50
|
update dynamicform module for zuploadmodule. <br/>
|
|
42
51
|
|
|
43
|
-
`1.30`<br/>
|
|
52
|
+
`1.1.30`<br/>
|
|
44
53
|
[zupload] - support Select/Remove/Change Event. <br/>
|
|
45
54
|
[zupload] - added SelectFileOnly attribute handling, to allow select file without upload. <br/>
|
|
46
55
|
[zupload] - added selected file append to group scope (type+value as name). <br/>
|
|
@@ -1551,8 +1551,10 @@
|
|
|
1551
1551
|
MainService.prototype.newModel = function (event, group) {
|
|
1552
1552
|
var _this = this;
|
|
1553
1553
|
var _group = group;
|
|
1554
|
-
if (event
|
|
1555
|
-
|
|
1554
|
+
if (event) {
|
|
1555
|
+
if (event.data && event.data.SubType) {
|
|
1556
|
+
_group = group['_' + event.data.SubType];
|
|
1557
|
+
}
|
|
1556
1558
|
}
|
|
1557
1559
|
rxjs.of([])
|
|
1558
1560
|
.pipe(operators.switchMap(function (zmodel) {
|
|
@@ -1606,9 +1608,11 @@
|
|
|
1606
1608
|
var createModelres = null;
|
|
1607
1609
|
var fg = group.form;
|
|
1608
1610
|
var _group = group;
|
|
1609
|
-
if (event
|
|
1610
|
-
|
|
1611
|
-
|
|
1611
|
+
if (event) {
|
|
1612
|
+
if (event.data && event.data.SubType) {
|
|
1613
|
+
fg = group['_' + event.data.SubType].form;
|
|
1614
|
+
_group = group['_' + event.data.SubType];
|
|
1615
|
+
}
|
|
1612
1616
|
}
|
|
1613
1617
|
if (!fg.dirty) {
|
|
1614
1618
|
console.warn("Form is not dirty hence record is not save.");
|
|
@@ -1683,9 +1687,11 @@
|
|
|
1683
1687
|
var _this = this;
|
|
1684
1688
|
var fg = group.form;
|
|
1685
1689
|
var _group = group;
|
|
1686
|
-
if (event
|
|
1687
|
-
|
|
1688
|
-
|
|
1690
|
+
if (event) {
|
|
1691
|
+
if (event.data && event.data.SubType) {
|
|
1692
|
+
fg = group['_' + event.data.SubType].form;
|
|
1693
|
+
_group = group['_' + event.data.SubType];
|
|
1694
|
+
}
|
|
1689
1695
|
}
|
|
1690
1696
|
if (!fg.dirty) {
|
|
1691
1697
|
console.warn("Form is not dirty hence record is not save.");
|
|
@@ -1736,8 +1742,10 @@
|
|
|
1736
1742
|
};
|
|
1737
1743
|
MainService.prototype.cloneNewModel = function (event, group) {
|
|
1738
1744
|
var _group = group;
|
|
1739
|
-
if (event
|
|
1740
|
-
|
|
1745
|
+
if (event) {
|
|
1746
|
+
if (event.data && event.data.SubType) {
|
|
1747
|
+
_group = group['_' + event.data.SubType];
|
|
1748
|
+
}
|
|
1741
1749
|
}
|
|
1742
1750
|
Object.assign(_group.zModel, _group.form.value);
|
|
1743
1751
|
_group.zModel.Id = 0;
|
|
@@ -1756,9 +1764,11 @@
|
|
|
1756
1764
|
var _this = this;
|
|
1757
1765
|
var fg = group.form;
|
|
1758
1766
|
var _group = group;
|
|
1759
|
-
if (event
|
|
1760
|
-
|
|
1761
|
-
|
|
1767
|
+
if (event) {
|
|
1768
|
+
if (event.data && event.data.SubType) {
|
|
1769
|
+
fg = group['_' + event.data.SubType].form;
|
|
1770
|
+
_group = group['_' + event.data.SubType];
|
|
1771
|
+
}
|
|
1762
1772
|
}
|
|
1763
1773
|
rxjs.of(_group.zModel)
|
|
1764
1774
|
.pipe(operators.switchMap(function (zmodel) {
|
|
@@ -8716,6 +8726,16 @@
|
|
|
8716
8726
|
});
|
|
8717
8727
|
}
|
|
8718
8728
|
}
|
|
8729
|
+
// Handle Button beside dropdown
|
|
8730
|
+
this.buttonList = this.data.ButtonList;
|
|
8731
|
+
if (this.buttonList) {
|
|
8732
|
+
this.buttonList.forEach(function (button) {
|
|
8733
|
+
if (button.tooltip) {
|
|
8734
|
+
button.tooltip = i3.ZComponentHelper.getGroupEvalValue.call(_this, button.tooltip);
|
|
8735
|
+
}
|
|
8736
|
+
});
|
|
8737
|
+
}
|
|
8738
|
+
// dropdown configuration
|
|
8719
8739
|
this.allowCustomValue = this.data.AllowCustomValue || false; // Allow enter text in dropdownbox
|
|
8720
8740
|
var fieldValue = this.data.Value;
|
|
8721
8741
|
var data = this.data;
|
|
@@ -9142,12 +9162,15 @@
|
|
|
9142
9162
|
}
|
|
9143
9163
|
return 'ion-row divselectmultiple';
|
|
9144
9164
|
};
|
|
9165
|
+
ZselectmultipleComponent.prototype.getFontAwesome = function (iconName) {
|
|
9166
|
+
return i3.ZComponentHelper.getFontAwesome(iconName);
|
|
9167
|
+
};
|
|
9145
9168
|
return ZselectmultipleComponent;
|
|
9146
9169
|
}());
|
|
9147
9170
|
ZselectmultipleComponent.decorators = [
|
|
9148
9171
|
{ type: i0.Component, args: [{
|
|
9149
9172
|
selector: "app-zselectmultiple",
|
|
9150
|
-
template: "<ion-item [ngClass]=\"getClass(form, data)\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && isMobileScreen()\">\r\n\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"componentProperties.isRequired\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n\r\n <kendo-label *ngIf=\"data.TooltipsInfo && !showTooltipsInfoIcon && !showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n <div [class]=\"setTooltipsInfoSideBySide()\" *ngIf=\"!isLoading\">\r\n <div style=\"flex-grow: 1;\">\r\n <ionic-selectable #selectComponent item-content\r\n searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\"\r\n clearButtonText=\"Clear\"\r\n [(ngModel)]=\"group.zModel[data.Value]\"\r\n [id]=\"data.Value\"\r\n [items]=\"getItemsData()\"\r\n [itemValueField]=\"itemValueField\"\r\n [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\"\r\n [canClear]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\"\r\n [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\"\r\n [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\"\r\n (onSearch)=\"onSearch($event)\"\r\n (onInfiniteScroll)=\"getInfiniteData($event)\"\r\n (onAddItem)=\"onAddItem($event)\"\r\n (onChange)=\"onChange($event)\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate\r\n let-item=\"item\"\r\n let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\"\r\n class=\"isItemSelected\"\r\n size=\"sm\"\r\n [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\"></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\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n {{data.Label}}\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 {{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}\r\n <!-- <ng-template zselectitemelement [item]=\"item\"></ng-template> -->\r\n </ng-template>\r\n\r\n <!--<ng-template ionicSelectableFooterTemplate>\r\n <ion-toolbar>\r\n <ion-row>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"clearItems()\">\r\n Clear\r\n </ion-button>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"confirmItems()\">\r\n OK\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n </ng-template>-->\r\n </ionic-selectable>\r\n </div>\r\n <app-uivalidationmessage [group]=\"group\" [data]=\"data\" [form]=\"form\"></app-uivalidationmessage>\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n </div>\r\n</ion-item>\r\n\r\n\r\n\r\n<ion-item [ngClass]=\"getClass(form, data)\" [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && !isMobileScreen()\" [ngClass]=\"getIon_InvalidClass(form, data)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n <span kendoTooltip\r\n *ngIf=\"data.TooltipsInfo && showTooltipsInfoIcon\"\r\n [title]=\"tooltipsDisplayText\">\r\n <fa-icon [icon]=\"tooltipsDisplayIcon\"\r\n class=\"tooltipsinfo-icon\">\r\n </fa-icon>\r\n </span>\r\n </ion-label>\r\n <!-- mobile tooltipsinfo below label-->\r\n <div [class]=\"setTooltipsInfoSideBySide()\">\r\n <div style=\"flex: 1;\">\r\n <kendo-combobox *ngIf=\"!data.Multiple\"\r\n #comboboxComponent\r\n [data]=\"getItemsData()\"\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 [suggest]=\"true\"\r\n [filterable]=\"!!data.HasInfiniteScroll\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"virtual\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!-- <span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }} -->\r\n </ng-template>\r\n <ng-template kendoTextBoxSuffixTemplate>\r\n\r\n <!-- For Validation feature -->\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon\"></app-uivalidationmessage>\r\n </ng-template>\r\n </kendo-combobox>\r\n <kendo-multiselect *ngIf=\"data.Multiple\"\r\n [data]=\"getItemsData()\"\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.HasInfiniteScroll\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!-- <span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }} -->\r\n </ng-template>\r\n </kendo-multiselect>\r\n </div>\r\n\r\n <div *ngFor=\"let item of iconList\">\r\n <div kendoTooltip style=\"text-align: center; padding-top: 10px;\"\r\n showOn=\"hover\"\r\n [tooltipWidth]=\"item.Width\"\r\n [position]=\"item.Position\">\r\n <span *ngIf=\"!!item && item.Color\"\r\n (click)=\"onIconClick(item.Click)\"\r\n [title]=\"item.Tooltip\"\r\n style=\"margin-top: 10px;\">\r\n <fa-icon [icon]=\"item.Icon\"\r\n [ngStyle]=\"{'padding': '4px 6px', 'color': (item.Color ? item.Color : 'black')}\"></fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"></app-uivalidationmessage>\r\n\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && ((showTooltipsInfoBySide && isMobileScreen()) || !isMobileScreen())\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n\r\n </div>\r\n</ion-item>\r\n",
|
|
9173
|
+
template: "<ion-item [ngClass]=\"getClass(form, data)\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && isMobileScreen()\">\r\n\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"componentProperties.isRequired\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n\r\n <kendo-label *ngIf=\"data.TooltipsInfo && !showTooltipsInfoIcon && !showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n <div [class]=\"setTooltipsInfoSideBySide()\" *ngIf=\"!isLoading\">\r\n <div style=\"flex-grow: 1;\">\r\n <ionic-selectable #selectComponent item-content\r\n searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\"\r\n clearButtonText=\"Clear\"\r\n [(ngModel)]=\"group.zModel[data.Value]\"\r\n [id]=\"data.Value\"\r\n [items]=\"getItemsData()\"\r\n [itemValueField]=\"itemValueField\"\r\n [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\"\r\n [canClear]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\"\r\n [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\"\r\n [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\"\r\n (onSearch)=\"onSearch($event)\"\r\n (onInfiniteScroll)=\"getInfiniteData($event)\"\r\n (onAddItem)=\"onAddItem($event)\"\r\n (onChange)=\"onChange($event)\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate\r\n let-item=\"item\"\r\n let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\"\r\n class=\"isItemSelected\"\r\n size=\"sm\"\r\n [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\"></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\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n {{data.Label}}\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 {{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}\r\n <!-- <ng-template zselectitemelement [item]=\"item\"></ng-template> -->\r\n </ng-template>\r\n\r\n <!--<ng-template ionicSelectableFooterTemplate>\r\n <ion-toolbar>\r\n <ion-row>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"clearItems()\">\r\n Clear\r\n </ion-button>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"confirmItems()\">\r\n OK\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n </ng-template>-->\r\n </ionic-selectable>\r\n </div>\r\n <app-uivalidationmessage [group]=\"group\" [data]=\"data\" [form]=\"form\"></app-uivalidationmessage>\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n </div>\r\n</ion-item>\r\n\r\n\r\n\r\n<ion-item [ngClass]=\"getClass(form, data)\" [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && !isMobileScreen()\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n <span kendoTooltip\r\n *ngIf=\"data.TooltipsInfo && showTooltipsInfoIcon\"\r\n [title]=\"tooltipsDisplayText\">\r\n <fa-icon [icon]=\"tooltipsDisplayIcon\"\r\n class=\"tooltipsinfo-icon\">\r\n </fa-icon>\r\n </span>\r\n </ion-label>\r\n <!-- mobile tooltipsinfo below label-->\r\n <div [class]=\"setTooltipsInfoSideBySide()\">\r\n <div style=\"flex: 1;\">\r\n <kendo-combobox *ngIf=\"!data.Multiple\"\r\n #comboboxComponent\r\n [data]=\"getItemsData()\"\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 [suggest]=\"true\"\r\n [filterable]=\"!!data.HasInfiniteScroll\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"virtual\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!-- <span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }} -->\r\n </ng-template>\r\n <ng-template kendoTextBoxSuffixTemplate>\r\n\r\n <!-- For Validation feature -->\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon\"></app-uivalidationmessage>\r\n </ng-template>\r\n </kendo-combobox>\r\n <kendo-multiselect *ngIf=\"data.Multiple\"\r\n [data]=\"getItemsData()\"\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.HasInfiniteScroll\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!-- <span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }} -->\r\n </ng-template>\r\n </kendo-multiselect>\r\n </div>\r\n\r\n <div *ngFor=\"let item of iconList\">\r\n <div kendoTooltip style=\"text-align: center; padding-top: 10px;\"\r\n showOn=\"hover\"\r\n [tooltipWidth]=\"item.Width\"\r\n [position]=\"item.Position\">\r\n <span *ngIf=\"!!item && item.Color\"\r\n (click)=\"onIconClick(item.Click)\"\r\n [title]=\"item.Tooltip\"\r\n style=\"margin-top: 10px;\">\r\n <fa-icon [icon]=\"item.Icon\"\r\n [ngStyle]=\"{'padding': '4px 6px', 'color': (item.Color ? item.Color : 'black')}\"></fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <ion-button *ngFor=\"let button of buttonList; let i = button\"\r\n fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n style=\"margin-top: 7px;\"\r\n (click)=\"onIconClick(button.click)\"\r\n [hidden]=\"!button.visible\"\r\n [disabled]=\"group.isTriggered || button.disabled\">\r\n <fa-icon *ngIf=\"button.icon\" [icon]=\"getFontAwesome(button.icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.text }}</span>\r\n </ion-button>\r\n\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"></app-uivalidationmessage>\r\n\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && ((showTooltipsInfoBySide && isMobileScreen()) || !isMobileScreen())\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n\r\n </div>\r\n</ion-item>\r\n",
|
|
9151
9174
|
styles: ["fa-icon.isItemSelected{display:inline-block;width:1em;height:1em;contain:strict;fill:currentcolor;box-sizing:initial!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:100%;color:#000}.tooltipsinfo-text{margin-left:5px}.tooltipsinfo-text,.tooltipsinfo-text-wide{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px}.tooltipsinfo-text-wide{width:100%;padding-bottom:5px}.tooltipsinfo-right{display:grid;grid-template-columns:1.2fr .05fr 1fr;grid-gap:0}.tooltipsinfo-icon{padding-left:10px;color:#3880ff}"]
|
|
9152
9175
|
},] }
|
|
9153
9176
|
];
|
|
@@ -9161,6 +9184,7 @@
|
|
|
9161
9184
|
group: [{ type: i0.Input }],
|
|
9162
9185
|
form: [{ type: i0.Input }],
|
|
9163
9186
|
iconList: [{ type: i0.Input }],
|
|
9187
|
+
buttonList: [{ type: i0.Input }],
|
|
9164
9188
|
selectComponent: [{ type: i0.ViewChild, args: ["selectComponent",] }]
|
|
9165
9189
|
};
|
|
9166
9190
|
|
|
@@ -9690,6 +9714,12 @@
|
|
|
9690
9714
|
this.group[this.itemDataField.slice(6)] = zdataModel;
|
|
9691
9715
|
}
|
|
9692
9716
|
}
|
|
9717
|
+
this.group.subject.next({
|
|
9718
|
+
type: "onChange",
|
|
9719
|
+
target: this.data.OnChange,
|
|
9720
|
+
event: event,
|
|
9721
|
+
data: { value: value, field: this.data }
|
|
9722
|
+
});
|
|
9693
9723
|
};
|
|
9694
9724
|
ZtextareaComponent.prototype.getReadOnlyValue = function () {
|
|
9695
9725
|
var readOnlyValue = i3.ZComponentHelper.getGroupEvalValue.call(this, this.data.ReadOnly, this.group);
|
|
@@ -10847,23 +10877,12 @@
|
|
|
10847
10877
|
ZudfComponent.prototype.ComponentIsVisible = function (field) {
|
|
10848
10878
|
return i3.ZComponentHelper.ComponentIsVisible(field, this.group);
|
|
10849
10879
|
};
|
|
10850
|
-
ZudfComponent.prototype.allowDrop = function (ev) {
|
|
10851
|
-
ev.preventDefault();
|
|
10852
|
-
};
|
|
10853
|
-
ZudfComponent.prototype.drag = function (ev) {
|
|
10854
|
-
ev.dataTransfer.setData("text", ev.target.id);
|
|
10855
|
-
};
|
|
10856
|
-
ZudfComponent.prototype.drop = function (ev) {
|
|
10857
|
-
ev.preventDefault();
|
|
10858
|
-
var data = ev.dataTransfer.getData("text");
|
|
10859
|
-
ev.target.appendChild(document.getElementById(data));
|
|
10860
|
-
};
|
|
10861
10880
|
return ZudfComponent;
|
|
10862
10881
|
}());
|
|
10863
10882
|
ZudfComponent.decorators = [
|
|
10864
10883
|
{ type: i0.Component, args: [{
|
|
10865
10884
|
selector: 'app-zudf',
|
|
10866
|
-
template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of formField | divzlayout: data.zlayout\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"zudf-{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol
|
|
10885
|
+
template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" class=\"ion-row\">\r\n\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of formField | divzlayout: data.zlayout\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"zudf-{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol> \r\n</div>\r\n",
|
|
10867
10886
|
styles: ["#div1,#div2{float:left;width:100px;height:35px;margin:10px;padding:10px;border:1px solid #000}"]
|
|
10868
10887
|
},] }
|
|
10869
10888
|
];
|