@wavemaker/angular-app 11.16.0-rc.647821 → 11.16.1-rc.270
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/dependencies/expression-parser.cjs.js +16 -11
- package/dependencies/pipe-provider.cjs.js +102 -67
- package/dependencies/transpilation-web.cjs.js +17 -12
- package/dependency-report.html +1 -1
- package/npm-shrinkwrap.json +932 -500
- package/package-lock.json +932 -500
- package/package.json +5 -5
|
@@ -95153,7 +95153,7 @@ function requireMomentTimezone () {
|
|
|
95153
95153
|
hasRequiredMomentTimezone = 1;
|
|
95154
95154
|
(function (module) {
|
|
95155
95155
|
//! moment-timezone.js
|
|
95156
|
-
//! version : 0.6.
|
|
95156
|
+
//! version : 0.6.6
|
|
95157
95157
|
//! Copyright (c) JS Foundation and other contributors
|
|
95158
95158
|
//! license : MIT
|
|
95159
95159
|
//! github.com/moment/moment-timezone
|
|
@@ -95179,7 +95179,7 @@ function requireMomentTimezone () {
|
|
|
95179
95179
|
// return moment;
|
|
95180
95180
|
// }
|
|
95181
95181
|
|
|
95182
|
-
var VERSION = "0.6.
|
|
95182
|
+
var VERSION = "0.6.6",
|
|
95183
95183
|
zones = {},
|
|
95184
95184
|
links = {},
|
|
95185
95185
|
countries = {},
|
|
@@ -95418,6 +95418,10 @@ function requireMomentTimezone () {
|
|
|
95418
95418
|
Current Timezone
|
|
95419
95419
|
************************************/
|
|
95420
95420
|
|
|
95421
|
+
function hasOwnProp(a, b) {
|
|
95422
|
+
return Object.prototype.hasOwnProperty.call(a, b);
|
|
95423
|
+
}
|
|
95424
|
+
|
|
95421
95425
|
function OffsetAt(at) {
|
|
95422
95426
|
var timeString = at.toTimeString();
|
|
95423
95427
|
var abbr = timeString.match(/\([a-z ]+\)/i);
|
|
@@ -95530,12 +95534,12 @@ function requireMomentTimezone () {
|
|
|
95530
95534
|
|
|
95531
95535
|
for (i = 0; i < offsetsLength; i++) {
|
|
95532
95536
|
offset = offsets[i].offset;
|
|
95533
|
-
if (checkedOffsets
|
|
95537
|
+
if (hasOwnProp(checkedOffsets, offset)) {
|
|
95534
95538
|
continue;
|
|
95535
95539
|
}
|
|
95536
95540
|
guessesOffset = guesses[offset] || {};
|
|
95537
95541
|
for (j in guessesOffset) {
|
|
95538
|
-
if (guessesOffset
|
|
95542
|
+
if (hasOwnProp(guessesOffset, j)) {
|
|
95539
95543
|
filteredGuesses[j] = true;
|
|
95540
95544
|
}
|
|
95541
95545
|
}
|
|
@@ -95543,7 +95547,7 @@ function requireMomentTimezone () {
|
|
|
95543
95547
|
}
|
|
95544
95548
|
|
|
95545
95549
|
for (i in filteredGuesses) {
|
|
95546
|
-
if (filteredGuesses
|
|
95550
|
+
if (hasOwnProp(filteredGuesses, i)) {
|
|
95547
95551
|
out.push(names[i]);
|
|
95548
95552
|
}
|
|
95549
95553
|
}
|
|
@@ -95598,7 +95602,7 @@ function requireMomentTimezone () {
|
|
|
95598
95602
|
************************************/
|
|
95599
95603
|
|
|
95600
95604
|
function normalizeName (name) {
|
|
95601
|
-
return (name
|
|
95605
|
+
return (typeof name === 'string' ? name : '').toLowerCase().replace(/\//g, '_');
|
|
95602
95606
|
}
|
|
95603
95607
|
|
|
95604
95608
|
function addZone (packed) {
|
|
@@ -95622,7 +95626,7 @@ function requireMomentTimezone () {
|
|
|
95622
95626
|
|
|
95623
95627
|
name = normalizeName(name);
|
|
95624
95628
|
|
|
95625
|
-
var zone = zones[name];
|
|
95629
|
+
var zone = hasOwnProp(zones, name) ? zones[name] : undefined;
|
|
95626
95630
|
var link;
|
|
95627
95631
|
|
|
95628
95632
|
if (zone instanceof Zone) {
|
|
@@ -95636,7 +95640,7 @@ function requireMomentTimezone () {
|
|
|
95636
95640
|
}
|
|
95637
95641
|
|
|
95638
95642
|
// Pass getZone to prevent recursion more than 1 level deep
|
|
95639
|
-
if (links
|
|
95643
|
+
if (hasOwnProp(links, name) && caller !== getZone && (link = getZone(links[name], getZone))) {
|
|
95640
95644
|
zone = zones[name] = new Zone();
|
|
95641
95645
|
zone._set(link);
|
|
95642
95646
|
zone.name = names[name];
|
|
@@ -95650,7 +95654,7 @@ function requireMomentTimezone () {
|
|
|
95650
95654
|
var i, out = [];
|
|
95651
95655
|
|
|
95652
95656
|
for (i in names) {
|
|
95653
|
-
if (names
|
|
95657
|
+
if (hasOwnProp(names, i) && (zones[i] || zones[links[i]]) && names[i]) {
|
|
95654
95658
|
out.push(names[i]);
|
|
95655
95659
|
}
|
|
95656
95660
|
}
|
|
@@ -95698,8 +95702,9 @@ function requireMomentTimezone () {
|
|
|
95698
95702
|
}
|
|
95699
95703
|
|
|
95700
95704
|
function getCountry (name) {
|
|
95705
|
+
if (typeof name !== 'string') return null;
|
|
95701
95706
|
name = name.toUpperCase();
|
|
95702
|
-
return countries[name]
|
|
95707
|
+
return hasOwnProp(countries, name) ? countries[name] : null;
|
|
95703
95708
|
}
|
|
95704
95709
|
|
|
95705
95710
|
function zonesForCountry(country, with_offset) {
|
|
@@ -95752,7 +95757,7 @@ function requireMomentTimezone () {
|
|
|
95752
95757
|
return Object.getOwnPropertyNames(input).length > 0;
|
|
95753
95758
|
}
|
|
95754
95759
|
for (prop in input) {
|
|
95755
|
-
if (
|
|
95760
|
+
if (hasOwnProp(input, prop)) {
|
|
95756
95761
|
return true;
|
|
95757
95762
|
}
|
|
95758
95763
|
}
|
|
@@ -121092,7 +121097,7 @@ var VariablesService = class VariablesService {
|
|
|
121092
121097
|
});
|
|
121093
121098
|
|
|
121094
121099
|
/*!
|
|
121095
|
-
* tabbable 6.5.
|
|
121100
|
+
* tabbable 6.5.1
|
|
121096
121101
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
121097
121102
|
*/
|
|
121098
121103
|
// NOTE: separate `:not()` selectors has broader browser support than the newer
|
|
@@ -121102,10 +121107,9 @@ var candidateSelector = /* #__PURE__ */candidateSelectors.join(',');
|
|
|
121102
121107
|
var NoElement = typeof Element === 'undefined';
|
|
121103
121108
|
var matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
|
|
121104
121109
|
var getRootNode = !NoElement && Element.prototype.getRootNode ? function (element) {
|
|
121105
|
-
|
|
121106
|
-
return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);
|
|
121110
|
+
return element == null || element.getRootNode == null ? void 0 : element.getRootNode();
|
|
121107
121111
|
} : function (element) {
|
|
121108
|
-
return element
|
|
121112
|
+
return element == null ? void 0 : element.ownerDocument;
|
|
121109
121113
|
};
|
|
121110
121114
|
|
|
121111
121115
|
/**
|
|
@@ -121117,14 +121121,13 @@ var getRootNode = !NoElement && Element.prototype.getRootNode ? function (elemen
|
|
|
121117
121121
|
* False if `node` is falsy.
|
|
121118
121122
|
*/
|
|
121119
121123
|
var _isInert = function isInert(node, lookUp) {
|
|
121120
|
-
var _node$getAttribute;
|
|
121121
121124
|
if (lookUp === void 0) {
|
|
121122
121125
|
lookUp = true;
|
|
121123
121126
|
}
|
|
121124
121127
|
// CAREFUL: JSDom does not support inert at all, so we can't use the `HTMLElement.inert`
|
|
121125
121128
|
// JS API property; we have to check the attribute, which can either be empty or 'true';
|
|
121126
121129
|
// if it's `null` (not specified) or 'false', it's an active element
|
|
121127
|
-
var inertAtt = node
|
|
121130
|
+
var inertAtt = node == null || node.getAttribute == null ? void 0 : node.getAttribute('inert');
|
|
121128
121131
|
var inert = inertAtt === '' || inertAtt === 'true';
|
|
121129
121132
|
|
|
121130
121133
|
// NOTE: this could also be handled with `node.matches('[inert], :is([inert] *)')`
|
|
@@ -121143,12 +121146,12 @@ var _isInert = function isInert(node, lookUp) {
|
|
|
121143
121146
|
* @returns True if it's content-editable; false if it's not or `node` is falsy.
|
|
121144
121147
|
*/
|
|
121145
121148
|
var isContentEditable = function isContentEditable(node) {
|
|
121146
|
-
var _node$
|
|
121149
|
+
var _node$getAttribute;
|
|
121147
121150
|
// CAREFUL: JSDom does not support the `HTMLElement.isContentEditable` API so we have
|
|
121148
|
-
// to use the attribute directly
|
|
121149
|
-
//
|
|
121150
|
-
var attValue = node
|
|
121151
|
-
return attValue === '' || attValue === 'true';
|
|
121151
|
+
// to use the case-insensitive attribute directly: empty, 'true', and 'plaintext-only'
|
|
121152
|
+
// are editable states; `null` (not specified) and 'false' are not.
|
|
121153
|
+
var attValue = node == null || node.getAttribute == null || (_node$getAttribute = node.getAttribute('contenteditable')) == null ? void 0 : _node$getAttribute.toLowerCase();
|
|
121154
|
+
return attValue === '' || attValue === 'true' || attValue === 'plaintext-only';
|
|
121152
121155
|
};
|
|
121153
121156
|
|
|
121154
121157
|
/**
|
|
@@ -121399,22 +121402,22 @@ var isNodeAttached = function isNodeAttached(node) {
|
|
|
121399
121402
|
// from the DOM as in https://github.com/focus-trap/focus-trap-react/issues/905), then
|
|
121400
121403
|
// `ownerDocument` will be `null`, hence the optional chaining on it.
|
|
121401
121404
|
var nodeRoot = node && getRootNode(node);
|
|
121402
|
-
var nodeRootHost = (_nodeRoot = nodeRoot)
|
|
121405
|
+
var nodeRootHost = (_nodeRoot = nodeRoot) == null ? void 0 : _nodeRoot.host;
|
|
121403
121406
|
|
|
121404
121407
|
// in some cases, a detached node will return itself as the root instead of a document or
|
|
121405
121408
|
// shadow root object, in which case, we shouldn't try to look further up the host chain
|
|
121406
121409
|
var attached = false;
|
|
121407
121410
|
if (nodeRoot && nodeRoot !== node) {
|
|
121408
|
-
var _nodeRootHost,
|
|
121409
|
-
attached = !!((_nodeRootHost = nodeRootHost)
|
|
121411
|
+
var _nodeRootHost, _node$ownerDocument;
|
|
121412
|
+
attached = !!((_nodeRootHost = nodeRootHost) != null && (_nodeRootHost = _nodeRootHost.ownerDocument) != null && _nodeRootHost.contains(nodeRootHost) || node != null && (_node$ownerDocument = node.ownerDocument) != null && _node$ownerDocument.contains(node));
|
|
121410
121413
|
while (!attached && nodeRootHost) {
|
|
121411
|
-
var _nodeRoot2, _nodeRootHost2
|
|
121414
|
+
var _nodeRoot2, _nodeRootHost2;
|
|
121412
121415
|
// since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,
|
|
121413
121416
|
// which means we need to get the host's host and check if that parent host is contained
|
|
121414
121417
|
// in (i.e. attached to) the document
|
|
121415
121418
|
nodeRoot = getRootNode(nodeRootHost);
|
|
121416
|
-
nodeRootHost = (_nodeRoot2 = nodeRoot)
|
|
121417
|
-
attached = !!((_nodeRootHost2 = nodeRootHost)
|
|
121419
|
+
nodeRootHost = (_nodeRoot2 = nodeRoot) == null ? void 0 : _nodeRoot2.host;
|
|
121420
|
+
attached = !!((_nodeRootHost2 = nodeRootHost) != null && (_nodeRootHost2 = _nodeRootHost2.ownerDocument) != null && _nodeRootHost2.contains(nodeRootHost));
|
|
121418
121421
|
}
|
|
121419
121422
|
}
|
|
121420
121423
|
return attached;
|
|
@@ -132939,6 +132942,7 @@ var PageDirective = class PageDirective extends StylableComponent {
|
|
|
132939
132942
|
this.notify("detach");
|
|
132940
132943
|
}
|
|
132941
132944
|
ngOnDestroy() {
|
|
132945
|
+
super.ngOnDestroy();
|
|
132942
132946
|
this.invokeEventCallback("destroy", { widget: this });
|
|
132943
132947
|
this._eventNotifier.destroy();
|
|
132944
132948
|
}
|
|
@@ -134086,7 +134090,7 @@ var CheckboxsetComponent = class CheckboxsetComponent extends DatasetAwareFormCo
|
|
|
134086
134090
|
exportAs: ["wmCheckboxset"],
|
|
134087
134091
|
usesInheritance: true,
|
|
134088
134092
|
ngImport: i0,
|
|
134089
|
-
template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n",
|
|
134093
|
+
template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\" aria-hidden=\"true\" aria-label=\"Checkbox set value\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n",
|
|
134090
134094
|
dependencies: [
|
|
134091
134095
|
{
|
|
134092
134096
|
kind: "ngmodule",
|
|
@@ -134147,7 +134151,7 @@ var CheckboxsetComponent = class CheckboxsetComponent extends DatasetAwareFormCo
|
|
|
134147
134151
|
provideAs(CheckboxsetComponent, NG_VALIDATORS, true),
|
|
134148
134152
|
provideAsWidgetRef(CheckboxsetComponent)
|
|
134149
134153
|
],
|
|
134150
|
-
template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n"
|
|
134154
|
+
template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['checkbox', 'app-checkbox', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" [tabindex]=\"tabindex\"\n type=\"checkbox\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\">\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['checkbox', 'app-checkbox', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onCheckboxLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" [title]=\"item.label\">\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-checkboxset-label\" [ngClass]=\"{'disabled':disabled || readonly}\" >\n <input [name]=\"'checkboxset_' + widgetId\" type=\"checkbox\"\n [tabindex]=\"tabindex\"\n [disabled]=\"disabled || readonly\" [attr.data-attr-index]=\"i\"\n [value]=\"item.key\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\" aria-hidden=\"true\" aria-label=\"Checkbox set value\">\n@if (readonly || disabled) {\n <div class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n"
|
|
134151
134155
|
}]
|
|
134152
134156
|
}],
|
|
134153
134157
|
ctorParameters: () => [{ type: Injector }, {
|
|
@@ -134306,7 +134310,7 @@ var RadiosetComponent = class RadiosetComponent extends DatasetAwareFormComponen
|
|
|
134306
134310
|
exportAs: ["wmRadioset"],
|
|
134307
134311
|
usesInheritance: true,
|
|
134308
134312
|
ngImport: i0,
|
|
134309
|
-
template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\" >\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n",
|
|
134313
|
+
template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\" >\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\" aria-hidden=\"true\" aria-label=\"Radio set value\">\n@if (readonly || disabled) {\n <div aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n",
|
|
134310
134314
|
dependencies: [
|
|
134311
134315
|
{
|
|
134312
134316
|
kind: "ngmodule",
|
|
@@ -134367,7 +134371,7 @@ var RadiosetComponent = class RadiosetComponent extends DatasetAwareFormComponen
|
|
|
134367
134371
|
provideAs(RadiosetComponent, NG_VALIDATORS, true),
|
|
134368
134372
|
provideAsWidgetRef(RadiosetComponent)
|
|
134369
134373
|
],
|
|
134370
|
-
template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\" >\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\">\n@if (readonly || disabled) {\n <div aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n"
|
|
134374
|
+
template: "@if (!groupby) {\n @for (item of datasetItems; track item; let i = $index) {\n <li [ngClass]=\"['radio', 'app-radio', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item.key)\" role=\"presentation\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [checked]=\"item.selected\" [disabled]=\"disabled || readonly\"\n [name]=\"'radioset_' + widgetId\" [tabindex]=\"tabindex\" [value]=\"item.key\"\n type=\"radio\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n} @else {\n @for (groupObj of groupedData; track groupObj; let groupindex = $index) {\n <li class=\"app-list-item-group\" role=\"presentation\" >\n <ul class=\"item-group\" [attr.aria-labelledby]=\"'group_' + widgetId + '_' + groupindex\">\n <li [id]=\"'group_' + widgetId + '_' + groupindex\" aria-hidden=\"true\" class=\"list-group-header\" (click)=\"handleHeaderClick($event)\" [title]=\"groupObj.key\" [ngClass]=\"{'collapsible-content': collapsible}\">\n <h4 class=\"group-title\" [attr.aria-label]=\"'Group '+groupObj.key\">{{groupObj.key}}\n <div class=\"header-action\">\n @if (collapsible) {\n <i class=\"app-icon wi action wi-chevron-up\" title=\"{{appLocale.LABEL_COLLAPSE}}/{{appLocale.LABEL_EXPAND}}\"></i>\n }\n @if (showcount) {\n <span class=\"label label-default\" [textContent]=\"groupObj.data.length\"></span>\n }\n </div>\n </h4>\n </li>\n @for (item of groupObj.data; track item; let i = $index) {\n <li\n [ngClass]=\"['radio', 'app-radio', 'group-list-item', itemclass, itemsPerRowClass]\"\n [class.active]=\"item.selected\"\n [wmItemTemplate]=\"content\" [userComponentParams]=\"item\" partialContainer\n (click)=\"onRadioLabelClick($event, item)\">\n <!-- Default item template -->\n @if (!content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption\" [textContent]=\"item.label\"></span>\n </label>\n }\n <!-- Custom partial template -->\n @if (content) {\n <label class=\"app-radioset-label\"\n [ngClass]=\"{'disabled':disabled || readonly}\">\n <input [attr.data-attr-index]=\"i\" [name]=\"'radioset_' + widgetId\" type=\"radio\"\n [value]=\"item.key\" [disabled]=\"disabled || readonly\" [tabindex]=\"tabindex\" [checked]=\"item.selected\"/>\n <span class=\"caption customTemplate\" partial-container-target></span>\n </label>\n }\n </li>\n }\n </ul>\n </li>\n }\n}\n\n<input [disabled]=\"disabled || readonly\" hidden class=\"model-holder\" aria-hidden=\"true\" aria-label=\"Radio set value\">\n@if (readonly || disabled) {\n <div aria-readonly=\"true\" class=\"readonly-wrapper\"></div>\n}\n\n<!-- This template will be displayed when groupby is specified. -->\n"
|
|
134371
134375
|
}]
|
|
134372
134376
|
}],
|
|
134373
134377
|
ctorParameters: () => [{ type: Injector }, {
|
|
@@ -151489,7 +151493,7 @@ const registerFormField = (isFormField) => {
|
|
|
151489
151493
|
<div class="live-field form-group app-composite-widget clearfix caption-{{${pCounter}.captionposition}}" widget="${widgetType}">
|
|
151490
151494
|
<label [hidden]="!${counter}.displayname" class="app-label control-label formfield-label {{${pCounter}._captionClass}}"
|
|
151491
151495
|
[ngStyle]="{width: ${pCounter}.captionsize}" [ngClass]="{'text-danger': ${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode,
|
|
151492
|
-
required: ${pCounter}.isUpdateMode && ${counter}.required}" [textContent]="${counter}.displayname"> </label>
|
|
151496
|
+
required: ${pCounter}.isUpdateMode && ${counter}.required}" [attr.aria-label]="${counter}.displayname ? null : ${counter}.arialabel" [textContent]="${counter}.displayname"> </label>
|
|
151493
151497
|
<div [ngClass]="${counter}.displayname ? ${pCounter}._widgetClass : '${controlLayout}'">
|
|
151494
151498
|
<span class="form-control-static app-label"
|
|
151495
151499
|
[hidden]="${pCounter}.isUpdateMode || ${counter}.viewmodewidget === 'default' || ${counter}.widgettype === 'upload'" [innerHTML]="${getCaptionByWidget(attrs, widgetType, counter)}"></span>
|
|
@@ -154133,7 +154137,7 @@ var LabelDirective = class LabelDirective extends StylableComponent {
|
|
|
154133
154137
|
let bindContent = this.nativeElement.getAttribute("caption.bind");
|
|
154134
154138
|
let safeValue = bindContent ? nv && bindContent.includes("trustAs:") : false;
|
|
154135
154139
|
const insertZWSP = (value) => {
|
|
154136
|
-
if (typeof value !== "string") return value;
|
|
154140
|
+
if (typeof value !== "string" || !isIos()) return value;
|
|
154137
154141
|
return value.replace(/\d{5,}/g, (match) => {
|
|
154138
154142
|
return match.replace(/(.{9})(?=.)/g, "$1");
|
|
154139
154143
|
});
|
|
@@ -158981,7 +158985,7 @@ var SearchComponent = class SearchComponent extends DatasetAwareFormComponent {
|
|
|
158981
158985
|
],
|
|
158982
158986
|
usesInheritance: true,
|
|
158983
158987
|
ngImport: i0,
|
|
158984
|
-
template: "<ng-template #customItemTemplate let-model=\"item\" let-index=\"index\" let-query=\"query\" let-match=\"match\">\n <!-- Default item template -->\n @if (!content) {\n <a>\n @if (model.imgSrc) {\n <img [src]=\"model.imgSrc\" alt=\"Search\" [style.width]=\"imagewidth\">\n }\n <span [title]=\"model.label\" [innerHtml]=\"highlight(match, query) || model.label\"></span>\n </a>\n }\n <!-- Custom partial template -->\n @if (content) {\n <a [ngClass]=\"{customTemplate: content}\" partialContainer [wmItemTemplate]=\"content\" [userComponentParams]=\"match.item\">\n <div partial-container-target></div>\n </a>\n }\n</ng-template>\n\n<ng-template #customListTemplate let-matches=\"matches\" let-itemTemplate=\"itemTemplate\" let-query=\"query\">\n <ul #ulElement class=\"app-search dropdown-menu\" scrollableHandler>\n @for (match of matches; track match; let i = $index) {\n <li #liElements [ngClass]=\"{active: typeaheadContainer && typeaheadContainer.isActive(match), 'list-group-header': match && match.isHeader()}\"\n (mouseenter)=\"typeaheadContainer.selectActive(match);\"\n (click)=\"match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();\">\n <!-- itemTemplate comes from the <input> -->\n @if (match.isHeader()) {\n <h4 class=\"group-title\">{{match.value}}</h4>\n }\n @if (!match.isHeader()) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-container>\n }\n </li>\n }\n <div class=\"status\" [hidden]=\"_loadingItems || !(datacompletemsg && dataProvider?.isLastPage)\">\n <span [textContent]=\"datacompletemsg\"></span>\n </div>\n <div class=\"status\" [hidden]=\"!_loadingItems\">\n <i class=\"fa fa-circle-o-notch fa-spin\"></i>\n <span [textContent]=\"loadingdatamsg\"></span>\n </div>\n </ul>\n</ng-template>\n\n<!--This template is for search inside mobile navbar.-->\n@if (navsearchbar) {\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n container=\"body\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event)\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);\"\n (focusout)=\"onFocusOut()\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [dropup]=\"dropup\"\n [tabindex]=\"tabindex\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\"/>\n <i class=\"btn-close wi wi-cancel\" [hidden]=\"!showClosebtn\" (click)=\"clearSearch($event);\"></i>\n} @else {\n <button type=\"button\" class=\"btn btn-icon form-control-feedback back-btn\" aria-hidden=\"true\" (click)=\"closeSearch()\"><i class=\"app-icon {{backsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Back button</span>\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n [container]=\"containerTarget || '.wm-app'\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event); onFocusOut()\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [tabindex]=\"tabindex\"\n [dropup]=\"dropup\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\">\n <input class=\"model-holder\" ng-model=\"proxyModel\" ng-required=\"required\" tabindex=\"-1\" aria-hidden=\"true\">\n @if (_loadingItems) {\n <span aria-hidden=\"true\" class=\"fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n }\n <button type=\"button\" class=\"btn btn-icon form-control-feedback clear-btn\" [ngClass]=\"{'show-btn': isQueryEntered()}\" (click)=\"clearSearch($event, true)\"><i class=\"app-icon {{clearsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Clear button</span>\n @if (showsearchicon) {\n <span [ngClass]=\"{'disabled': disabled}\" class=\"input-group-addon\">\n <form>\n <button title=\"Search\" [disabled]=\"disabled\" class=\"app-search-button btn btn-icon\" type=\"submit\"\n (click)=\"onSearchSelect($event)\">\n <i class=\"app-icon {{searchiconclass}}\"></i></button>\n </form>\n </span>\n }\n }\n <!--This template is for both web and fullscreen mode in mobile.-->\n",
|
|
158988
|
+
template: "<ng-template #customItemTemplate let-model=\"item\" let-index=\"index\" let-query=\"query\" let-match=\"match\">\n <!-- Default item template -->\n @if (!content) {\n <a>\n @if (model.imgSrc) {\n <img [src]=\"model.imgSrc\" alt=\"Search\" [style.width]=\"imagewidth\">\n }\n <span [title]=\"model.label\" [innerHtml]=\"highlight(match, query) || model.label\"></span>\n </a>\n }\n <!-- Custom partial template -->\n @if (content) {\n <a [ngClass]=\"{customTemplate: content}\" partialContainer [wmItemTemplate]=\"content\" [userComponentParams]=\"match.item\">\n <div partial-container-target></div>\n </a>\n }\n</ng-template>\n\n<ng-template #customListTemplate let-matches=\"matches\" let-itemTemplate=\"itemTemplate\" let-query=\"query\">\n <ul #ulElement class=\"app-search dropdown-menu\" scrollableHandler>\n @for (match of matches; track match; let i = $index) {\n <li #liElements [ngClass]=\"{active: typeaheadContainer && typeaheadContainer.isActive(match), 'list-group-header': match && match.isHeader()}\"\n (mouseenter)=\"typeaheadContainer.selectActive(match);\"\n (click)=\"match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();\">\n <!-- itemTemplate comes from the <input> -->\n @if (match.isHeader()) {\n <h4 class=\"group-title\">{{match.value}}</h4>\n }\n @if (!match.isHeader()) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-container>\n }\n </li>\n }\n <div class=\"status\" [hidden]=\"_loadingItems || !(datacompletemsg && dataProvider?.isLastPage)\">\n <span [textContent]=\"datacompletemsg\"></span>\n </div>\n <div class=\"status\" [hidden]=\"!_loadingItems\">\n <i class=\"fa fa-circle-o-notch fa-spin\"></i>\n <span [textContent]=\"loadingdatamsg\"></span>\n </div>\n </ul>\n</ng-template>\n\n<!--This template is for search inside mobile navbar.-->\n@if (navsearchbar) {\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n container=\"body\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event)\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);\"\n (focusout)=\"onFocusOut()\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [dropup]=\"dropup\"\n [tabindex]=\"tabindex\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\"/>\n <i class=\"btn-close wi wi-cancel\" [hidden]=\"!showClosebtn\" (click)=\"clearSearch($event);\"></i>\n} @else {\n <button type=\"button\" class=\"btn btn-icon form-control-feedback back-btn\" aria-label=\"Back\" aria-hidden=\"true\" (click)=\"closeSearch()\"><i class=\"app-icon {{backsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Back button</span>\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n [container]=\"containerTarget || '.wm-app'\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event); onFocusOut()\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [tabindex]=\"tabindex\"\n [dropup]=\"dropup\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\">\n <input class=\"model-holder\" ng-model=\"proxyModel\" ng-required=\"required\" tabindex=\"-1\" aria-label=\"Search value\" aria-hidden=\"true\">\n @if (_loadingItems) {\n <span aria-hidden=\"true\" class=\"fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n }\n <button type=\"button\" class=\"btn btn-icon form-control-feedback clear-btn\" aria-label=\"Clear\" [ngClass]=\"{'show-btn': isQueryEntered()}\" (click)=\"clearSearch($event, true)\"><i class=\"app-icon {{clearsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Clear button</span>\n @if (showsearchicon) {\n <span [ngClass]=\"{'disabled': disabled}\" class=\"input-group-addon\">\n <form>\n <button title=\"Search\" [disabled]=\"disabled\" class=\"app-search-button btn btn-icon\" type=\"submit\"\n (click)=\"onSearchSelect($event)\">\n <i class=\"app-icon {{searchiconclass}}\"></i></button>\n </form>\n </span>\n }\n }\n <!--This template is for both web and fullscreen mode in mobile.-->\n",
|
|
158985
158989
|
dependencies: [
|
|
158986
158990
|
{
|
|
158987
158991
|
kind: "ngmodule",
|
|
@@ -159148,7 +159152,7 @@ var SearchComponent = class SearchComponent extends DatasetAwareFormComponent {
|
|
|
159148
159152
|
provideAs(SearchComponent, NG_VALIDATORS, true),
|
|
159149
159153
|
provideAsWidgetRef(SearchComponent)
|
|
159150
159154
|
],
|
|
159151
|
-
template: "<ng-template #customItemTemplate let-model=\"item\" let-index=\"index\" let-query=\"query\" let-match=\"match\">\n <!-- Default item template -->\n @if (!content) {\n <a>\n @if (model.imgSrc) {\n <img [src]=\"model.imgSrc\" alt=\"Search\" [style.width]=\"imagewidth\">\n }\n <span [title]=\"model.label\" [innerHtml]=\"highlight(match, query) || model.label\"></span>\n </a>\n }\n <!-- Custom partial template -->\n @if (content) {\n <a [ngClass]=\"{customTemplate: content}\" partialContainer [wmItemTemplate]=\"content\" [userComponentParams]=\"match.item\">\n <div partial-container-target></div>\n </a>\n }\n</ng-template>\n\n<ng-template #customListTemplate let-matches=\"matches\" let-itemTemplate=\"itemTemplate\" let-query=\"query\">\n <ul #ulElement class=\"app-search dropdown-menu\" scrollableHandler>\n @for (match of matches; track match; let i = $index) {\n <li #liElements [ngClass]=\"{active: typeaheadContainer && typeaheadContainer.isActive(match), 'list-group-header': match && match.isHeader()}\"\n (mouseenter)=\"typeaheadContainer.selectActive(match);\"\n (click)=\"match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();\">\n <!-- itemTemplate comes from the <input> -->\n @if (match.isHeader()) {\n <h4 class=\"group-title\">{{match.value}}</h4>\n }\n @if (!match.isHeader()) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-container>\n }\n </li>\n }\n <div class=\"status\" [hidden]=\"_loadingItems || !(datacompletemsg && dataProvider?.isLastPage)\">\n <span [textContent]=\"datacompletemsg\"></span>\n </div>\n <div class=\"status\" [hidden]=\"!_loadingItems\">\n <i class=\"fa fa-circle-o-notch fa-spin\"></i>\n <span [textContent]=\"loadingdatamsg\"></span>\n </div>\n </ul>\n</ng-template>\n\n<!--This template is for search inside mobile navbar.-->\n@if (navsearchbar) {\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n container=\"body\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event)\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);\"\n (focusout)=\"onFocusOut()\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [dropup]=\"dropup\"\n [tabindex]=\"tabindex\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\"/>\n <i class=\"btn-close wi wi-cancel\" [hidden]=\"!showClosebtn\" (click)=\"clearSearch($event);\"></i>\n} @else {\n <button type=\"button\" class=\"btn btn-icon form-control-feedback back-btn\" aria-hidden=\"true\" (click)=\"closeSearch()\"><i class=\"app-icon {{backsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Back button</span>\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n [container]=\"containerTarget || '.wm-app'\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event); onFocusOut()\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [tabindex]=\"tabindex\"\n [dropup]=\"dropup\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\">\n <input class=\"model-holder\" ng-model=\"proxyModel\" ng-required=\"required\" tabindex=\"-1\" aria-hidden=\"true\">\n @if (_loadingItems) {\n <span aria-hidden=\"true\" class=\"fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n }\n <button type=\"button\" class=\"btn btn-icon form-control-feedback clear-btn\" [ngClass]=\"{'show-btn': isQueryEntered()}\" (click)=\"clearSearch($event, true)\"><i class=\"app-icon {{clearsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Clear button</span>\n @if (showsearchicon) {\n <span [ngClass]=\"{'disabled': disabled}\" class=\"input-group-addon\">\n <form>\n <button title=\"Search\" [disabled]=\"disabled\" class=\"app-search-button btn btn-icon\" type=\"submit\"\n (click)=\"onSearchSelect($event)\">\n <i class=\"app-icon {{searchiconclass}}\"></i></button>\n </form>\n </span>\n }\n }\n <!--This template is for both web and fullscreen mode in mobile.-->\n"
|
|
159155
|
+
template: "<ng-template #customItemTemplate let-model=\"item\" let-index=\"index\" let-query=\"query\" let-match=\"match\">\n <!-- Default item template -->\n @if (!content) {\n <a>\n @if (model.imgSrc) {\n <img [src]=\"model.imgSrc\" alt=\"Search\" [style.width]=\"imagewidth\">\n }\n <span [title]=\"model.label\" [innerHtml]=\"highlight(match, query) || model.label\"></span>\n </a>\n }\n <!-- Custom partial template -->\n @if (content) {\n <a [ngClass]=\"{customTemplate: content}\" partialContainer [wmItemTemplate]=\"content\" [userComponentParams]=\"match.item\">\n <div partial-container-target></div>\n </a>\n }\n</ng-template>\n\n<ng-template #customListTemplate let-matches=\"matches\" let-itemTemplate=\"itemTemplate\" let-query=\"query\">\n <ul #ulElement class=\"app-search dropdown-menu\" scrollableHandler>\n @for (match of matches; track match; let i = $index) {\n <li #liElements [ngClass]=\"{active: typeaheadContainer && typeaheadContainer.isActive(match), 'list-group-header': match && match.isHeader()}\"\n (mouseenter)=\"typeaheadContainer.selectActive(match);\"\n (click)=\"match && !match.isHeader() && typeaheadContainer.selectMatch(match, $event); $typeaheadEvent = $event; notifySubscriber();\">\n <!-- itemTemplate comes from the <input> -->\n @if (match.isHeader()) {\n <h4 class=\"group-title\">{{match.value}}</h4>\n }\n @if (!match.isHeader()) {\n <ng-container [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-container>\n }\n </li>\n }\n <div class=\"status\" [hidden]=\"_loadingItems || !(datacompletemsg && dataProvider?.isLastPage)\">\n <span [textContent]=\"datacompletemsg\"></span>\n </div>\n <div class=\"status\" [hidden]=\"!_loadingItems\">\n <i class=\"fa fa-circle-o-notch fa-spin\"></i>\n <span [textContent]=\"loadingdatamsg\"></span>\n </div>\n </ul>\n</ng-template>\n\n<!--This template is for search inside mobile navbar.-->\n@if (navsearchbar) {\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n container=\"body\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event)\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event);\"\n (focusout)=\"onFocusOut()\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [dropup]=\"dropup\"\n [tabindex]=\"tabindex\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\"/>\n <i class=\"btn-close wi wi-cancel\" [hidden]=\"!showClosebtn\" (click)=\"clearSearch($event);\"></i>\n} @else {\n <button type=\"button\" class=\"btn btn-icon form-control-feedback back-btn\" aria-label=\"Back\" aria-hidden=\"true\" (click)=\"closeSearch()\"><i class=\"app-icon {{backsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Back button</span>\n <input [title]=\"query || ''\" type=\"text\" class=\"app-textbox form-control list-of-objs app-search-input\" [placeholder]=\"placeholder || ''\"\n focus-target\n [container]=\"containerTarget || '.wm-app'\"\n [disabled]=\"disabled\"\n [attr.accesskey]=\"shortcutkey\"\n autocomplete=\"off\"\n [(ngModel)]=\"query\"\n [ngModelOptions]=\"{standalone: true}\"\n [readonly]=\"readonly\"\n [typeahead]=\"typeaheadDataSource\"\n [typeaheadWaitMs]=\"debouncetime\"\n [typeaheadItemTemplate]=\"customItemTemplate\"\n [optionsListTemplate]=\"customListTemplate\"\n (input)=\"onInputChange($event)\"\n (keydown)=\"listenQuery = true\"\n (keydown.enter)=\"$typeaheadEvent = $event;handleEnterEvent($event)\"\n (keydown.arrowdown)=\"selectNext($event)\"\n (blur)=\"invokeOnTouched($event); onFocusOut()\"\n (click)=\"handleFocus($event);\"\n (focus)=\"_unsubscribeDv = false; listenQuery = true; handleFocus($event); invokeOnFocus($event)\"\n [typeaheadMinLength]=\"minchars\"\n [typeaheadOptionsLimit]=\"limit\"\n (typeaheadLoading)=\"_loadingItems\"\n (typeaheadOnSelect)=\"typeaheadOnSelect($event)\"\n typeaheadOptionField=\"label\"\n [typeaheadGroupField]=\"groupby ? 'groupby' : null\"\n [typeaheadAsync]=\"true\"\n [typeaheadScrollable]=\"true\"\n [adaptivePosition]=\"true\"\n [typeaheadOptionsInScrollableView]=\"optionslimitinscrollableview\"\n [tabindex]=\"tabindex\"\n [dropup]=\"dropup\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"arialabel || 'Search field'\">\n <input class=\"model-holder\" ng-model=\"proxyModel\" ng-required=\"required\" tabindex=\"-1\" aria-label=\"Search value\" aria-hidden=\"true\">\n @if (_loadingItems) {\n <span aria-hidden=\"true\" class=\"fa fa-circle-o-notch fa-spin form-control-feedback\"></span>\n }\n <button type=\"button\" class=\"btn btn-icon form-control-feedback clear-btn\" aria-label=\"Clear\" [ngClass]=\"{'show-btn': isQueryEntered()}\" (click)=\"clearSearch($event, true)\"><i class=\"app-icon {{clearsearchiconclass}}\"></i></button>\n <span class=\"sr-only\">Clear button</span>\n @if (showsearchicon) {\n <span [ngClass]=\"{'disabled': disabled}\" class=\"input-group-addon\">\n <form>\n <button title=\"Search\" [disabled]=\"disabled\" class=\"app-search-button btn btn-icon\" type=\"submit\"\n (click)=\"onSearchSelect($event)\">\n <i class=\"app-icon {{searchiconclass}}\"></i></button>\n </form>\n </span>\n }\n }\n <!--This template is for both web and fullscreen mode in mobile.-->\n"
|
|
159152
159156
|
}]
|
|
159153
159157
|
}],
|
|
159154
159158
|
ctorParameters: () => [
|
|
@@ -193351,7 +193355,8 @@ var PaginationComponent = class PaginationComponent extends StylableComponent {
|
|
|
193351
193355
|
this.statehandler = statehandler;
|
|
193352
193356
|
if (parts[0] === "Variables" || parts[0] === "Widgets") bindPagingOptions = `${parts[0]}.${parts[1]}.pagination`;
|
|
193353
193357
|
else if (parts[0] === "App" && parts[1] === "activePage" && parts[2]?.includes("Variables") && parts[3]) bindPagingOptions = `App.activePage.${parts[2]}.${parts[3]}.pagination`;
|
|
193354
|
-
|
|
193358
|
+
const isVariableLevelBind = binddataset?.startsWith("Prefab.Variables.");
|
|
193359
|
+
if (!binddatasource && dataset && !datasetBoundExpr && !isVariableLevelBind) {
|
|
193355
193360
|
this.dataset = dataset;
|
|
193356
193361
|
if (this._debouncedApplyDataset) this._debouncedApplyDataset();
|
|
193357
193362
|
return;
|
|
@@ -195327,7 +195332,8 @@ const isInputBodyWrapper = (target) => {
|
|
|
195327
195332
|
".dropdown-menu",
|
|
195328
195333
|
".uib-typeahead-match",
|
|
195329
195334
|
".modal-dialog",
|
|
195330
|
-
".toast"
|
|
195335
|
+
".toast",
|
|
195336
|
+
".bs-datepicker-container"
|
|
195331
195337
|
];
|
|
195332
195338
|
let isInput = false;
|
|
195333
195339
|
classes.forEach((cls) => {
|
|
@@ -196319,7 +196325,7 @@ var TableComponent = class TableComponent extends StylableComponent {
|
|
|
196319
196325
|
this.applyProps.forEach((args) => this.callDataGridMethod(...args));
|
|
196320
196326
|
if (this.editmode === EDIT_MODE$1.QUICK_EDIT) {
|
|
196321
196327
|
this.documentClickBind = this._documentClickBind.bind(this);
|
|
196322
|
-
document.addEventListener("click", this.documentClickBind);
|
|
196328
|
+
document.addEventListener("click", this.documentClickBind, true);
|
|
196323
196329
|
}
|
|
196324
196330
|
}
|
|
196325
196331
|
getConfiguredState() {
|
|
@@ -196490,7 +196496,7 @@ var TableComponent = class TableComponent extends StylableComponent {
|
|
|
196490
196496
|
ngOnDestroy() {
|
|
196491
196497
|
this._modelVarEditSoftRefreshActiveUntil = 0;
|
|
196492
196498
|
this._isInlineEditSave = false;
|
|
196493
|
-
document.removeEventListener("click", this.documentClickBind);
|
|
196499
|
+
document.removeEventListener("click", this.documentClickBind, true);
|
|
196494
196500
|
if (this.navigatorResultWatch) {
|
|
196495
196501
|
this.navigatorResultWatch.unsubscribe();
|
|
196496
196502
|
this.navigatorResultWatch = null;
|
|
@@ -197242,7 +197248,8 @@ var TableComponent = class TableComponent extends StylableComponent {
|
|
|
197242
197248
|
_documentClickBind(event) {
|
|
197243
197249
|
const $target = event.target;
|
|
197244
197250
|
if (this.$element[0].contains($target) || event.target.doctype || isInputBodyWrapper($($target))) return;
|
|
197245
|
-
|
|
197251
|
+
if ($($target).closest(".app-datagrid").length) return;
|
|
197252
|
+
this.callDataGridMethod("saveRow", void 0, true);
|
|
197246
197253
|
}
|
|
197247
197254
|
_redraw(forceRender) {
|
|
197248
197255
|
if (forceRender) this.datagridElement.datatable(this.gridOptions);
|
|
@@ -197857,9 +197864,9 @@ var TableCUDDirective = class TableCUDDirective {
|
|
|
197857
197864
|
}
|
|
197858
197865
|
if (!this.table.onRowupdate) this.table.toggleMessage(true, "success", this.table.updatemessage);
|
|
197859
197866
|
if (this.table.datasource.execute(DataSource$1.Operation.SUPPORTS_CRUD)) {
|
|
197860
|
-
this.table.initiateSelectItem("current", response,
|
|
197867
|
+
this.table.initiateSelectItem("current", response, options.skipFocus, false, options.callBack);
|
|
197861
197868
|
this.updateVariable(response, options.callBack);
|
|
197862
|
-
} else if (!this.table.datasource.execute(DataSource$1.Operation.IS_API_AWARE)) this.table.initiateSelectItem("current", response,
|
|
197869
|
+
} else if (!this.table.datasource.execute(DataSource$1.Operation.IS_API_AWARE)) this.table.initiateSelectItem("current", response, options.skipFocus, this.table.datasource.category === "wm.Variable", options.callBack);
|
|
197863
197870
|
triggerFn$1(options.success, response);
|
|
197864
197871
|
this.table.invokeEventCallback("rowupdate", {
|
|
197865
197872
|
$event: options.event,
|
|
@@ -198771,7 +198778,7 @@ var TableActionDirective = class TableActionDirective extends BaseComponent$1 {
|
|
|
198771
198778
|
title: isUndefined$1(this.title) ? this["display-name"] || "" : this.title,
|
|
198772
198779
|
action: this.action,
|
|
198773
198780
|
accessroles: this.accessroles,
|
|
198774
|
-
shortcutkey: this.shortcutkey,
|
|
198781
|
+
shortcutkey: this.shortcutkey || void 0,
|
|
198775
198782
|
disabled: this.disabled,
|
|
198776
198783
|
tabindex: this.tabindex,
|
|
198777
198784
|
icon: this.icon,
|
|
@@ -198792,6 +198799,7 @@ var TableActionDirective = class TableActionDirective extends BaseComponent$1 {
|
|
|
198792
198799
|
onPropertyChange(key, nv) {
|
|
198793
198800
|
if (!this._propsInitialized) return;
|
|
198794
198801
|
if (key === "display-name") this.buttonDef.displayName = nv;
|
|
198802
|
+
else if (key === "shortcutkey") this.buttonDef.shortcutkey = nv || void 0;
|
|
198795
198803
|
else this.buttonDef[key] = nv;
|
|
198796
198804
|
}
|
|
198797
198805
|
ngOnDestroy() {
|
|
@@ -209164,6 +209172,11 @@ var BreadcrumbComponent = class BreadcrumbComponent extends DatasetAwareNavCompo
|
|
|
209164
209172
|
type: TextContentDirective,
|
|
209165
209173
|
selector: "[textContent]",
|
|
209166
209174
|
inputs: ["textContent"]
|
|
209175
|
+
}, {
|
|
209176
|
+
kind: "directive",
|
|
209177
|
+
type: NavigationControlDirective,
|
|
209178
|
+
selector: "[wmNavigationControl]",
|
|
209179
|
+
inputs: ["disableMenuContext", "wmNavigationControl"]
|
|
209167
209180
|
}],
|
|
209168
209181
|
changeDetection: ChangeDetectionStrategy$1.Eager
|
|
209169
209182
|
});
|
|
@@ -209176,7 +209189,7 @@ var BreadcrumbComponent = class BreadcrumbComponent extends DatasetAwareNavCompo
|
|
|
209176
209189
|
args: [{
|
|
209177
209190
|
changeDetection: ChangeDetectionStrategy$1.Eager,
|
|
209178
209191
|
standalone: true,
|
|
209179
|
-
imports: [TextContentDirective],
|
|
209192
|
+
imports: [TextContentDirective, NavigationControlDirective],
|
|
209180
209193
|
selector: "[wmBreadcrumb]",
|
|
209181
209194
|
providers: [provideAsWidgetRef(BreadcrumbComponent)],
|
|
209182
209195
|
template: "@for (item of nodes; track item; let last = $last; let index = $index) {\n <li [class.active]=\"last\" class=\"{{item.class}}\">\n <i class=\"{{item.icon}}\"></i>\n @if (!last) {\n <a [title]=\"item.label\" href=\"javascript:void(0)\" [wmNavigationControl]=\"item.link\" [disableMenuContext]=\"disableMenuContext || !!item.action\" (click)=\"onItemClick($event, item)\" [textContent]=\"item.label\"></a>\n }\n @if (last) {\n <a [title]=\"item.label\" [textContent]=\"item.label\" href=\"javascript:void(0)\" class=\"text-muted\"\n tabindex=\"0\" aria-current=\"page\"></a>\n }\n </li>\n}\n"
|
|
@@ -213799,6 +213812,7 @@ const NAMESPACE_URIS = {
|
|
|
213799
213812
|
"math": "http://www.w3.org/1998/MathML/"
|
|
213800
213813
|
};
|
|
213801
213814
|
const COMPONENT_REGEX = /%COMP%/g;
|
|
213815
|
+
const CSS_VAR_NS_REGEX = /%NS%/g;
|
|
213802
213816
|
const COMPONENT_VARIABLE = "%COMP%";
|
|
213803
213817
|
const HOST_ATTR = `_nghost-${COMPONENT_VARIABLE}`;
|
|
213804
213818
|
const CONTENT_ATTR = `_ngcontent-${COMPONENT_VARIABLE}`;
|
|
@@ -213808,12 +213822,12 @@ function shimContentAttribute(componentShortId) {
|
|
|
213808
213822
|
function shimHostAttribute(componentShortId) {
|
|
213809
213823
|
return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);
|
|
213810
213824
|
}
|
|
213811
|
-
function flattenStyles(compId, styles, target) {
|
|
213825
|
+
function flattenStyles(compId, styles, target, cssVarNamespace = "") {
|
|
213812
213826
|
for (let i = 0; i < styles.length; i++) {
|
|
213813
213827
|
let style = styles[i];
|
|
213814
|
-
if (Array.isArray(style)) flattenStyles(compId, style, target);
|
|
213828
|
+
if (Array.isArray(style)) flattenStyles(compId, style, target, cssVarNamespace);
|
|
213815
213829
|
else {
|
|
213816
|
-
style = style.replace(COMPONENT_REGEX, compId);
|
|
213830
|
+
style = style.replace(COMPONENT_REGEX, compId).replace(CSS_VAR_NS_REGEX, cssVarNamespace);
|
|
213817
213831
|
target.push(style);
|
|
213818
213832
|
}
|
|
213819
213833
|
}
|
|
@@ -213829,13 +213843,14 @@ function decoratePreventDefault(eventHandler) {
|
|
|
213829
213843
|
};
|
|
213830
213844
|
}
|
|
213831
213845
|
var WMDomRendererFactory2 = class WMDomRendererFactory2 {
|
|
213832
|
-
constructor(eventManager, sharedStylesHost, appId, doc) {
|
|
213846
|
+
constructor(eventManager, sharedStylesHost, appId, doc, cssVarNamespacer) {
|
|
213833
213847
|
this.eventManager = eventManager;
|
|
213834
213848
|
this.sharedStylesHost = sharedStylesHost;
|
|
213835
213849
|
this.appId = appId;
|
|
213836
213850
|
this.doc = doc;
|
|
213837
213851
|
this.rendererByCompId = /* @__PURE__ */ new Map();
|
|
213838
|
-
this.
|
|
213852
|
+
this.cssVarNamespace = cssVarNamespacer ? cssVarNamespacer.namespace("--").substring(2) : "";
|
|
213853
|
+
this.defaultRenderer = new WMDefaultDomRenderer2(eventManager, doc, this.cssVarNamespace);
|
|
213839
213854
|
}
|
|
213840
213855
|
createRenderer(element, type) {
|
|
213841
213856
|
if (!element || !type) return this.defaultRenderer;
|
|
@@ -213843,17 +213858,17 @@ var WMDomRendererFactory2 = class WMDomRendererFactory2 {
|
|
|
213843
213858
|
case ViewEncapsulation$3.Emulated: {
|
|
213844
213859
|
let renderer = this.rendererByCompId.get(type.id);
|
|
213845
213860
|
if (!renderer) {
|
|
213846
|
-
renderer = new EmulatedEncapsulationDomRenderer2(this.eventManager, this.sharedStylesHost, type, this.appId, this.doc);
|
|
213861
|
+
renderer = new EmulatedEncapsulationDomRenderer2(this.eventManager, this.sharedStylesHost, type, this.appId, this.doc, this.cssVarNamespace);
|
|
213847
213862
|
this.rendererByCompId.set(type.id, renderer);
|
|
213848
213863
|
}
|
|
213849
213864
|
renderer.applyToHost(element);
|
|
213850
213865
|
return renderer;
|
|
213851
213866
|
}
|
|
213852
213867
|
case 1:
|
|
213853
|
-
case ViewEncapsulation$3.ShadowDom: return new ShadowDomRenderer(this.eventManager, this.sharedStylesHost, element, type, this.doc);
|
|
213868
|
+
case ViewEncapsulation$3.ShadowDom: return new ShadowDomRenderer(this.eventManager, this.sharedStylesHost, element, type, this.doc, this.cssVarNamespace);
|
|
213854
213869
|
default:
|
|
213855
213870
|
if (!this.rendererByCompId.has(type.id)) {
|
|
213856
|
-
const styles = flattenStyles(type.id, type.styles, []);
|
|
213871
|
+
const styles = flattenStyles(type.id, type.styles, [], this.cssVarNamespace);
|
|
213857
213872
|
this.sharedStylesHost.addStyles(styles);
|
|
213858
213873
|
this.rendererByCompId.set(type.id, this.defaultRenderer);
|
|
213859
213874
|
}
|
|
@@ -213872,7 +213887,11 @@ var WMDomRendererFactory2 = class WMDomRendererFactory2 {
|
|
|
213872
213887
|
{ token: EventManager },
|
|
213873
213888
|
{ token: SharedStylesHost$1 },
|
|
213874
213889
|
{ token: APP_ID },
|
|
213875
|
-
{ token: DOCUMENT$1 }
|
|
213890
|
+
{ token: DOCUMENT$1 },
|
|
213891
|
+
{
|
|
213892
|
+
token: CssVarNamespacer,
|
|
213893
|
+
optional: true
|
|
213894
|
+
}
|
|
213876
213895
|
],
|
|
213877
213896
|
target: FactoryTarget$1.Injectable
|
|
213878
213897
|
});
|
|
@@ -213905,13 +213924,18 @@ var WMDomRendererFactory2 = class WMDomRendererFactory2 {
|
|
|
213905
213924
|
type: Inject,
|
|
213906
213925
|
args: [DOCUMENT$1]
|
|
213907
213926
|
}]
|
|
213927
|
+
},
|
|
213928
|
+
{
|
|
213929
|
+
type: CssVarNamespacer,
|
|
213930
|
+
decorators: [{ type: Optional }]
|
|
213908
213931
|
}
|
|
213909
213932
|
]
|
|
213910
213933
|
});
|
|
213911
213934
|
let WMDefaultDomRenderer2 = class WMDefaultDomRenderer2 {
|
|
213912
|
-
constructor(eventManager, doc) {
|
|
213935
|
+
constructor(eventManager, doc, cssVarNamespace = "") {
|
|
213913
213936
|
this.eventManager = eventManager;
|
|
213914
213937
|
this.doc = doc;
|
|
213938
|
+
this.cssVarNamespace = cssVarNamespace;
|
|
213915
213939
|
this.data = Object.create(null);
|
|
213916
213940
|
this.destroyNode = null;
|
|
213917
213941
|
}
|
|
@@ -213960,7 +213984,8 @@ let WMDefaultDomRenderer2 = class WMDefaultDomRenderer2 {
|
|
|
213960
213984
|
if (parts.length === 2) {
|
|
213961
213985
|
property = parts[0].trim();
|
|
213962
213986
|
value = parts[1].trim();
|
|
213963
|
-
element.style
|
|
213987
|
+
if (property.startsWith("--")) element.style.setProperty(property, value);
|
|
213988
|
+
else element.style[property] = value;
|
|
213964
213989
|
}
|
|
213965
213990
|
});
|
|
213966
213991
|
return styleString;
|
|
@@ -213991,11 +214016,15 @@ let WMDefaultDomRenderer2 = class WMDefaultDomRenderer2 {
|
|
|
213991
214016
|
el.classList.remove(name);
|
|
213992
214017
|
}
|
|
213993
214018
|
setStyle(el, style, value, flags) {
|
|
213994
|
-
|
|
214019
|
+
const isVariable = style.startsWith("--");
|
|
214020
|
+
if (isVariable) style = style.replace(CSS_VAR_NS_REGEX, this.cssVarNamespace);
|
|
214021
|
+
if (isVariable || flags & (RendererStyleFlags2.DashCase | RendererStyleFlags2.Important)) el.style.setProperty(style, value, flags & RendererStyleFlags2.Important ? "important" : "");
|
|
213995
214022
|
else el.style[style] = value;
|
|
213996
214023
|
}
|
|
213997
214024
|
removeStyle(el, style, flags) {
|
|
213998
|
-
|
|
214025
|
+
const isVariable = style.startsWith("--");
|
|
214026
|
+
if (isVariable) style = style.replace(CSS_VAR_NS_REGEX, this.cssVarNamespace);
|
|
214027
|
+
if (isVariable || flags & RendererStyleFlags2.DashCase) el.style.removeProperty(style);
|
|
213999
214028
|
else el.style[style] = "";
|
|
214000
214029
|
}
|
|
214001
214030
|
setProperty(el, name, value) {
|
|
@@ -214012,16 +214041,20 @@ let WMDefaultDomRenderer2 = class WMDefaultDomRenderer2 {
|
|
|
214012
214041
|
return this.eventManager.addEventListener(target, event, decoratePreventDefault(callback));
|
|
214013
214042
|
}
|
|
214014
214043
|
};
|
|
214015
|
-
WMDefaultDomRenderer2 = __decorate([__param(1, Inject(DOCUMENT$1)), __metadata("design:paramtypes", [
|
|
214044
|
+
WMDefaultDomRenderer2 = __decorate([__param(1, Inject(DOCUMENT$1)), __metadata("design:paramtypes", [
|
|
214045
|
+
EventManager,
|
|
214046
|
+
Document,
|
|
214047
|
+
Object
|
|
214048
|
+
])], WMDefaultDomRenderer2);
|
|
214016
214049
|
function isTemplateNode(node) {
|
|
214017
214050
|
return node.tagName === "TEMPLATE" && node.content !== void 0;
|
|
214018
214051
|
}
|
|
214019
214052
|
let EmulatedEncapsulationDomRenderer2 = class EmulatedEncapsulationDomRenderer2 extends WMDefaultDomRenderer2 {
|
|
214020
|
-
constructor(eventManager, sharedStylesHost, component, appId, doc) {
|
|
214021
|
-
super(eventManager, doc);
|
|
214053
|
+
constructor(eventManager, sharedStylesHost, component, appId, doc, cssVarNamespace = "") {
|
|
214054
|
+
super(eventManager, doc, cssVarNamespace);
|
|
214022
214055
|
this.component = component;
|
|
214023
214056
|
this.doc = doc;
|
|
214024
|
-
const styles = flattenStyles(appId + "-" + component.id, component.styles, []);
|
|
214057
|
+
const styles = flattenStyles(appId + "-" + component.id, component.styles, [], cssVarNamespace);
|
|
214025
214058
|
sharedStylesHost.addStyles(styles);
|
|
214026
214059
|
this.contentAttr = shimContentAttribute(appId + "-" + component.id);
|
|
214027
214060
|
this.hostAttr = shimHostAttribute(appId + "-" + component.id);
|
|
@@ -214040,17 +214073,18 @@ EmulatedEncapsulationDomRenderer2 = __decorate([__param(4, Inject(DOCUMENT$1)),
|
|
|
214040
214073
|
SharedStylesHost$1,
|
|
214041
214074
|
Object,
|
|
214042
214075
|
String,
|
|
214043
|
-
Document
|
|
214076
|
+
Document,
|
|
214077
|
+
Object
|
|
214044
214078
|
])], EmulatedEncapsulationDomRenderer2);
|
|
214045
214079
|
let ShadowDomRenderer = class ShadowDomRenderer extends WMDefaultDomRenderer2 {
|
|
214046
|
-
constructor(eventManager, sharedStylesHost, hostEl, component, doc) {
|
|
214047
|
-
super(eventManager, doc);
|
|
214080
|
+
constructor(eventManager, sharedStylesHost, hostEl, component, doc, cssVarNamespace = "") {
|
|
214081
|
+
super(eventManager, doc, cssVarNamespace);
|
|
214048
214082
|
this.sharedStylesHost = sharedStylesHost;
|
|
214049
214083
|
this.hostEl = hostEl;
|
|
214050
214084
|
this.doc = doc;
|
|
214051
214085
|
this.shadowRoot = hostEl.attachShadow({ mode: "open" });
|
|
214052
214086
|
this.sharedStylesHost.addHost(this.shadowRoot);
|
|
214053
|
-
const styles = flattenStyles(component.id, component.styles, []);
|
|
214087
|
+
const styles = flattenStyles(component.id, component.styles, [], cssVarNamespace);
|
|
214054
214088
|
for (let i = 0; i < styles.length; i++) {
|
|
214055
214089
|
const styleEl = document.createElement("style");
|
|
214056
214090
|
styleEl.textContent = styles[i];
|
|
@@ -214081,7 +214115,8 @@ ShadowDomRenderer = __decorate([__param(4, Inject(DOCUMENT$1)), __metadata("desi
|
|
|
214081
214115
|
SharedStylesHost$1,
|
|
214082
214116
|
Object,
|
|
214083
214117
|
Object,
|
|
214084
|
-
Document
|
|
214118
|
+
Document,
|
|
214119
|
+
Object
|
|
214085
214120
|
])], ShadowDomRenderer);
|
|
214086
214121
|
/**
|
|
214087
214122
|
* @license
|