mmhglobal-dynamicform 1.1.30 → 1.1.34
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 -0
- package/bundles/mmhglobal-dynamicform.umd.js +72 -18
- package/bundles/mmhglobal-dynamicform.umd.js.map +1 -1
- package/bundles/mmhglobal-dynamicform.umd.min.js +1 -1
- package/bundles/mmhglobal-dynamicform.umd.min.js.map +1 -1
- package/esm2015/lib/mmhglobal-dynamicform.module.js +3 -2
- package/esm2015/lib/zgrid/zgrid.binding.directive.js +19 -11
- package/esm2015/lib/zgrid/zgrid.component.js +20 -2
- package/esm2015/lib/zquerybuilder/zquerybuilder.component.js +23 -5
- package/esm2015/lib/zselectmultiple/zselectmultiple.component.js +6 -2
- package/esm2015/lib/ztext/ztext.component.js +4 -2
- package/esm2015/lib/zupload/zupload.component.js +4 -2
- package/fesm2015/mmhglobal-dynamicform.js +73 -20
- package/fesm2015/mmhglobal-dynamicform.js.map +1 -1
- package/lib/zgrid/zgrid.component.d.ts +2 -0
- package/lib/zquerybuilder/zquerybuilder.component.d.ts +9 -0
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +1 -0
- package/mmhglobal-dynamicform.metadata.json +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
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.34`<br/>
|
|
7
|
+
Fix zgrid intermittent display all column.
|
|
8
|
+
Fix zText tooltip issue.
|
|
9
|
+
Fix zSelectMultiple virtual problem for desktop view.
|
|
10
|
+
|
|
11
|
+
`1.33`<br/>
|
|
12
|
+
[zupload] - minor fix for selectFileOnly attribute. <br/>
|
|
13
|
+
[zgrid] - added support for filter operator "contains" for .net core. Default as contains, to use ==, zgrid attribute add FilterContainsUsingEqual:true.
|
|
14
|
+
|
|
15
|
+
`1.32`<br/>
|
|
16
|
+
[zgrid] - added getFormControlData function to retrieve incell data. <br/>
|
|
17
|
+
[zgrid] - added AfterloadCallback attribute handling. <br/>
|
|
18
|
+
[zgrid] - fix form control error when grid data is null. <br/>
|
|
19
|
+
[zupload] - save file data to group scope. <br/>
|
|
20
|
+
[zquerybuilder] - bug fix for query builder.
|
|
21
|
+
|
|
22
|
+
`1.31`<br/>
|
|
23
|
+
update dynamicform module for zuploadmodule. <br/>
|
|
24
|
+
|
|
6
25
|
`1.30`<br/>
|
|
7
26
|
[zupload] - support Select/Remove/Change Event. <br/>
|
|
8
27
|
[zupload] - added SelectFileOnly attribute handling, to allow select file without upload. <br/>
|
|
@@ -2127,15 +2127,18 @@
|
|
|
2127
2127
|
_this.getGrantType();
|
|
2128
2128
|
_this.setHiddenColumn(gridSetting);
|
|
2129
2129
|
_this.params.referId = _this.getFieldReferenceId() || _this.grp.referenceId || null;
|
|
2130
|
-
|
|
2131
|
-
//
|
|
2132
|
-
|
|
2133
|
-
|
|
2134
|
-
//
|
|
2135
|
-
|
|
2136
|
-
|
|
2137
|
-
//
|
|
2138
|
-
|
|
2130
|
+
//}),
|
|
2131
|
+
//switchMap(() => {
|
|
2132
|
+
// //Get Session
|
|
2133
|
+
// return this.getGridSessionFilter(this.grp, this);
|
|
2134
|
+
//}),
|
|
2135
|
+
//switchMap(() => {
|
|
2136
|
+
// //Before get grid data
|
|
2137
|
+
// return this.beforeGridGetData(this.grp, this);
|
|
2138
|
+
//}),
|
|
2139
|
+
//switchMap(() => {
|
|
2140
|
+
// //Set grid data
|
|
2141
|
+
// return this.setGridSessionFilter(this.grp, this);
|
|
2139
2142
|
}))
|
|
2140
2143
|
.subscribe(function () {
|
|
2141
2144
|
_this.getDataBinding();
|
|
@@ -2397,6 +2400,11 @@
|
|
|
2397
2400
|
return "isnull";
|
|
2398
2401
|
case "isnotnull":
|
|
2399
2402
|
return "isnotnull";
|
|
2403
|
+
case "contains": {
|
|
2404
|
+
if (!this.field['FilterContainsUsingEqual']) {
|
|
2405
|
+
return "contains";
|
|
2406
|
+
}
|
|
2407
|
+
}
|
|
2400
2408
|
default:
|
|
2401
2409
|
return "==";
|
|
2402
2410
|
// eq, neq, isnull, isnotnull, endswith, startswith
|
|
@@ -5537,7 +5545,9 @@
|
|
|
5537
5545
|
});
|
|
5538
5546
|
}
|
|
5539
5547
|
}
|
|
5540
|
-
_this.
|
|
5548
|
+
if (_this.gData) {
|
|
5549
|
+
_this.createFormControls();
|
|
5550
|
+
}
|
|
5541
5551
|
};
|
|
5542
5552
|
/* Available Functions */
|
|
5543
5553
|
this.setEnable = function (status) {
|
|
@@ -5628,6 +5638,9 @@
|
|
|
5628
5638
|
_this.setGridSessionKey(_this.group);
|
|
5629
5639
|
}
|
|
5630
5640
|
return rxjs.of(true);
|
|
5641
|
+
}), operators.tap(function () {
|
|
5642
|
+
_this.gridCallback(_this.group);
|
|
5643
|
+
return rxjs.of(true);
|
|
5631
5644
|
})).subscribe();
|
|
5632
5645
|
};
|
|
5633
5646
|
ZgridComponent.prototype.ngOnDestroy = function () {
|
|
@@ -5769,6 +5782,16 @@
|
|
|
5769
5782
|
});
|
|
5770
5783
|
}
|
|
5771
5784
|
};
|
|
5785
|
+
ZgridComponent.prototype.gridCallback = function (group) {
|
|
5786
|
+
if (this.data['AfterloadCallback']) {
|
|
5787
|
+
var me = Object.assign({}, this);
|
|
5788
|
+
this.group.subject.next({
|
|
5789
|
+
type: "zgrid-AfterloadCallback",
|
|
5790
|
+
target: this.data['AfterloadCallback'],
|
|
5791
|
+
data: me
|
|
5792
|
+
});
|
|
5793
|
+
}
|
|
5794
|
+
};
|
|
5772
5795
|
ZgridComponent.prototype.getData = function () {
|
|
5773
5796
|
if (this.zgrid) {
|
|
5774
5797
|
this.zgrid.getDataBinding();
|
|
@@ -6074,6 +6097,9 @@
|
|
|
6074
6097
|
var formArray = this.inlineEditedFormGroups.get('items');
|
|
6075
6098
|
return formArray.at(rowIndex);
|
|
6076
6099
|
};
|
|
6100
|
+
ZgridComponent.prototype.getFormControlData = function (value) {
|
|
6101
|
+
return this.inlineEditedFormGroups.value.items;
|
|
6102
|
+
};
|
|
6077
6103
|
/* Event */
|
|
6078
6104
|
ZgridComponent.prototype.beforeGridGetData = function (group, me) {
|
|
6079
6105
|
console.warn("beforeDataBinding triggered");
|
|
@@ -8125,10 +8151,12 @@
|
|
|
8125
8151
|
return this.qbItems[rule.field].options ? this.qbItems[rule.field].options : optionsList;
|
|
8126
8152
|
};
|
|
8127
8153
|
ZquerybuilderComponent.prototype.setQueryValue = function (queryValueString) {
|
|
8128
|
-
|
|
8129
|
-
|
|
8130
|
-
|
|
8131
|
-
|
|
8154
|
+
if (queryValueString) {
|
|
8155
|
+
var defaultQueryValueJson = toQueryRule(JSON.parse(queryValueString));
|
|
8156
|
+
this.queryCtrl = defaultQueryValueJson;
|
|
8157
|
+
// default lock the query builder if there default query
|
|
8158
|
+
this.completeRule(true, defaultQueryValueJson);
|
|
8159
|
+
}
|
|
8132
8160
|
};
|
|
8133
8161
|
return ZquerybuilderComponent;
|
|
8134
8162
|
}());
|
|
@@ -8150,7 +8178,23 @@
|
|
|
8150
8178
|
data: [{ type: i0.Input }],
|
|
8151
8179
|
group: [{ type: i0.Input }],
|
|
8152
8180
|
form: [{ type: i0.Input }]
|
|
8153
|
-
};
|
|
8181
|
+
};
|
|
8182
|
+
function toQueryRule(queryBuilderModel) {
|
|
8183
|
+
var rule = {};
|
|
8184
|
+
if (queryBuilderModel.condition) {
|
|
8185
|
+
rule.condition = queryBuilderModel.condition;
|
|
8186
|
+
rule.rules = queryBuilderModel.rules.map(function (q) { return toQueryRule(q); });
|
|
8187
|
+
}
|
|
8188
|
+
else {
|
|
8189
|
+
rule.field = queryBuilderModel.field;
|
|
8190
|
+
rule.type = queryBuilderModel.type;
|
|
8191
|
+
rule.operator = queryBuilderModel.operator;
|
|
8192
|
+
rule.value = queryBuilderModel.value instanceof Array
|
|
8193
|
+
? queryBuilderModel.type === 'date' ? new Date(queryBuilderModel.value) : queryBuilderModel.value
|
|
8194
|
+
: [queryBuilderModel.type === 'date' ? new Date(queryBuilderModel.value) : queryBuilderModel.value];
|
|
8195
|
+
}
|
|
8196
|
+
return rule;
|
|
8197
|
+
}
|
|
8154
8198
|
|
|
8155
8199
|
/********** Angular **********/
|
|
8156
8200
|
var ZreportComponent = /** @class */ (function () {
|
|
@@ -8565,6 +8609,10 @@
|
|
|
8565
8609
|
"optionFilters": "",
|
|
8566
8610
|
"totalCount": 0
|
|
8567
8611
|
};
|
|
8612
|
+
this.virtual = {
|
|
8613
|
+
itemHeight: 28,
|
|
8614
|
+
pageSize: 15
|
|
8615
|
+
};
|
|
8568
8616
|
// Common function
|
|
8569
8617
|
this.setEnable = function (status) {
|
|
8570
8618
|
var fc = _this.group.form.controls[_this.data.Value];
|
|
@@ -9044,7 +9092,7 @@
|
|
|
9044
9092
|
ZselectmultipleComponent.decorators = [
|
|
9045
9093
|
{ type: i0.Component, args: [{
|
|
9046
9094
|
selector: "app-zselectmultiple",
|
|
9047
|
-
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]=\"setTooltipsDisplayText()\"\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]=\"setTooltipsDisplayText()\"\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]=\"setTooltipsDisplayText()\">\r\n <fa-icon [icon]=\"setTooltipsInfoIcon()\"\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 (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]=\"setTooltipsDisplayText()\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n\r\n </div>\r\n</ion-item>\r\n",
|
|
9095
|
+
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]=\"setTooltipsDisplayText()\"\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]=\"setTooltipsDisplayText()\"\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]=\"setTooltipsDisplayText()\">\r\n <fa-icon [icon]=\"setTooltipsInfoIcon()\"\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]=\"setTooltipsDisplayText()\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n\r\n </div>\r\n</ion-item>\r\n",
|
|
9048
9096
|
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}"]
|
|
9049
9097
|
},] }
|
|
9050
9098
|
];
|
|
@@ -9308,7 +9356,9 @@
|
|
|
9308
9356
|
i.Tooltip = "";
|
|
9309
9357
|
}
|
|
9310
9358
|
else {
|
|
9311
|
-
i.Tooltip
|
|
9359
|
+
if (i.Tooltip.indexOf("group.") !== -1) {
|
|
9360
|
+
i.Tooltip = i3.ZComponentHelper.getGroupEvalValue.call(_this, i.Tooltip);
|
|
9361
|
+
}
|
|
9312
9362
|
}
|
|
9313
9363
|
// Default position top. right | bottom | top | left
|
|
9314
9364
|
if (i.Position === undefined) {
|
|
@@ -10877,7 +10927,7 @@
|
|
|
10877
10927
|
ZuploadComponent.prototype.selectEventHandler = function (e) {
|
|
10878
10928
|
var _this = this;
|
|
10879
10929
|
var me = this;
|
|
10880
|
-
if (this.data['
|
|
10930
|
+
if (this.data['SelectFileOnly']) {
|
|
10881
10931
|
// append all file to component memory
|
|
10882
10932
|
e.files.forEach(function (file) { return __awaiter(_this, void 0, void 0, function () {
|
|
10883
10933
|
var reader;
|
|
@@ -10944,6 +10994,8 @@
|
|
|
10944
10994
|
} // file type check
|
|
10945
10995
|
}); // loop each file
|
|
10946
10996
|
} // imagecompression check
|
|
10997
|
+
// add to group scope
|
|
10998
|
+
me.group['zupload_' + me.data.Value] = e.files;
|
|
10947
10999
|
}
|
|
10948
11000
|
}
|
|
10949
11001
|
};
|
|
@@ -11458,6 +11510,7 @@
|
|
|
11458
11510
|
kendoAngularTreeview.TreeViewModule,
|
|
11459
11511
|
kendoAngularTooltip.TooltipModule,
|
|
11460
11512
|
kendoAngularUpload.UploadModule,
|
|
11513
|
+
kendoAngularUpload.UploadsModule,
|
|
11461
11514
|
i3.ZCoreModule,
|
|
11462
11515
|
i4.MmhglobalZmodalModule
|
|
11463
11516
|
],
|
|
@@ -11645,6 +11698,7 @@
|
|
|
11645
11698
|
exports.ZuploadComponent = ZuploadComponent;
|
|
11646
11699
|
exports.ZworkflowbuttonsComponent = ZworkflowbuttonsComponent;
|
|
11647
11700
|
exports.refreshGrid = refreshGrid;
|
|
11701
|
+
exports.toQueryRule = toQueryRule;
|
|
11648
11702
|
exports.ɵa = ZComponentDebugService;
|
|
11649
11703
|
exports.ɵb = ZGridCalendarBindingDirective;
|
|
11650
11704
|
exports.ɵc = ZComponentService;
|