@wavemaker/angular-codegen 11.3.0-next.24524 → 11.3.0-next.24525
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.
- angular-codegen/angular-app/angular.json +3 -5
- angular-codegen/angular-app/package-lock.json +25 -0
- angular-codegen/angular-app/package.json +2 -1
- angular-codegen/angular-app/src/assets/styles/css/wm-style.css +1 -1
- angular-codegen/angular-app/tsconfig.json +3 -0
- angular-codegen/dependencies/pipe-provider.cjs.js +31 -30
- angular-codegen/dependencies/transpilation-mobile.cjs.js +62 -54
- angular-codegen/dependencies/transpilation-web.cjs.js +62 -54
- angular-codegen/package.json +1 -1
|
@@ -46638,41 +46638,42 @@ const validateDataSourceCtx = (ds, ctx) => {
|
|
|
46638
46638
|
* @param name name of the variable
|
|
46639
46639
|
* @param context scope of the variable
|
|
46640
46640
|
*/
|
|
46641
|
-
const processFilterExpBindNode = (context, filterExpressions) => {
|
|
46641
|
+
const processFilterExpBindNode = (context, filterExpressions, variable) => {
|
|
46642
46642
|
const destroyFn = context.registerDestroyListener ? context.registerDestroyListener.bind(context) : _.noop;
|
|
46643
46643
|
const filter$ = new Subject();
|
|
46644
46644
|
const bindFilExpObj = (obj, targetNodeKey) => {
|
|
46645
|
+
const listener = (newVal, oldVal) => {
|
|
46646
|
+
if ((newVal === oldVal && _.isUndefined(newVal)) || (_.isUndefined(newVal) && !_.isUndefined(oldVal))) {
|
|
46647
|
+
return;
|
|
46648
|
+
}
|
|
46649
|
+
// Skip cloning for blob column
|
|
46650
|
+
if (!_.includes(['blob', 'file'], obj.type)) {
|
|
46651
|
+
newVal = getClonedObject(newVal);
|
|
46652
|
+
}
|
|
46653
|
+
// backward compatibility: where we are allowing the user to bind complete object
|
|
46654
|
+
if (obj.target === 'dataBinding') {
|
|
46655
|
+
// remove the existing databinding element
|
|
46656
|
+
filterExpressions.rules = [];
|
|
46657
|
+
// now add all the returned values
|
|
46658
|
+
_.forEach(newVal, function (value, target) {
|
|
46659
|
+
filterExpressions.rules.push({
|
|
46660
|
+
'target': target,
|
|
46661
|
+
'value': value,
|
|
46662
|
+
'matchMode': obj.matchMode || 'startignorecase',
|
|
46663
|
+
'required': false,
|
|
46664
|
+
'type': ''
|
|
46665
|
+
});
|
|
46666
|
+
});
|
|
46667
|
+
}
|
|
46668
|
+
else {
|
|
46669
|
+
// setting value to the root node
|
|
46670
|
+
obj[targetNodeKey] = newVal;
|
|
46671
|
+
}
|
|
46672
|
+
filter$.next({ filterExpressions, newVal });
|
|
46673
|
+
};
|
|
46645
46674
|
if (stringStartsWith(obj[targetNodeKey], 'bind:')) {
|
|
46646
46675
|
// [Todo-CSP]: needs a check, where is this used
|
|
46647
|
-
destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, (
|
|
46648
|
-
if ((newVal === oldVal && _.isUndefined(newVal)) || (_.isUndefined(newVal) && !_.isUndefined(oldVal))) {
|
|
46649
|
-
return;
|
|
46650
|
-
}
|
|
46651
|
-
// Skip cloning for blob column
|
|
46652
|
-
if (!_.includes(['blob', 'file'], obj.type)) {
|
|
46653
|
-
newVal = getClonedObject(newVal);
|
|
46654
|
-
}
|
|
46655
|
-
// backward compatibility: where we are allowing the user to bind complete object
|
|
46656
|
-
if (obj.target === 'dataBinding') {
|
|
46657
|
-
// remove the existing databinding element
|
|
46658
|
-
filterExpressions.rules = [];
|
|
46659
|
-
// now add all the returned values
|
|
46660
|
-
_.forEach(newVal, function (value, target) {
|
|
46661
|
-
filterExpressions.rules.push({
|
|
46662
|
-
'target': target,
|
|
46663
|
-
'value': value,
|
|
46664
|
-
'matchMode': obj.matchMode || 'startignorecase',
|
|
46665
|
-
'required': false,
|
|
46666
|
-
'type': ''
|
|
46667
|
-
});
|
|
46668
|
-
});
|
|
46669
|
-
}
|
|
46670
|
-
else {
|
|
46671
|
-
// setting value to the root node
|
|
46672
|
-
obj[targetNodeKey] = newVal;
|
|
46673
|
-
}
|
|
46674
|
-
filter$.next({ filterExpressions, newVal });
|
|
46675
|
-
}, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
|
|
46676
|
+
destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, variable ? variable.invokeOnFiltertExpressionChange.bind(variable, obj, targetNodeKey) : listener, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
|
|
46676
46677
|
}
|
|
46677
46678
|
};
|
|
46678
46679
|
const traverseFilterExpressions = expressions => {
|
|
@@ -40760,10 +40760,10 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
40760
40760
|
break;
|
|
40761
40761
|
case FormWidgetType.TEXT:
|
|
40762
40762
|
const inputType = options.inputType || 'inputtype';
|
|
40763
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}"
|
|
40763
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" ${updateOnTmpl}></wm-input>`;
|
|
40764
40764
|
break;
|
|
40765
40765
|
case FormWidgetType.TEXTAREA:
|
|
40766
|
-
tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox"
|
|
40766
|
+
tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" ${updateOnTmpl}></wm-textarea>`;
|
|
40767
40767
|
break;
|
|
40768
40768
|
case FormWidgetType.TIME:
|
|
40769
40769
|
tmpl = `<div wmTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
|
|
@@ -40792,7 +40792,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
40792
40792
|
}
|
|
40793
40793
|
break;
|
|
40794
40794
|
default:
|
|
40795
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}
|
|
40795
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="text" ${updateOnTmpl}></wm-input>`;
|
|
40796
40796
|
break;
|
|
40797
40797
|
}
|
|
40798
40798
|
return tmpl;
|
|
@@ -42716,41 +42716,42 @@ const validateDataSourceCtx = (ds, ctx) => {
|
|
|
42716
42716
|
* @param name name of the variable
|
|
42717
42717
|
* @param context scope of the variable
|
|
42718
42718
|
*/
|
|
42719
|
-
const processFilterExpBindNode = (context, filterExpressions) => {
|
|
42719
|
+
const processFilterExpBindNode = (context, filterExpressions, variable) => {
|
|
42720
42720
|
const destroyFn = context.registerDestroyListener ? context.registerDestroyListener.bind(context) : _.noop;
|
|
42721
42721
|
const filter$ = new Subject();
|
|
42722
42722
|
const bindFilExpObj = (obj, targetNodeKey) => {
|
|
42723
|
+
const listener = (newVal, oldVal) => {
|
|
42724
|
+
if ((newVal === oldVal && _.isUndefined(newVal)) || (_.isUndefined(newVal) && !_.isUndefined(oldVal))) {
|
|
42725
|
+
return;
|
|
42726
|
+
}
|
|
42727
|
+
// Skip cloning for blob column
|
|
42728
|
+
if (!_.includes(['blob', 'file'], obj.type)) {
|
|
42729
|
+
newVal = getClonedObject(newVal);
|
|
42730
|
+
}
|
|
42731
|
+
// backward compatibility: where we are allowing the user to bind complete object
|
|
42732
|
+
if (obj.target === 'dataBinding') {
|
|
42733
|
+
// remove the existing databinding element
|
|
42734
|
+
filterExpressions.rules = [];
|
|
42735
|
+
// now add all the returned values
|
|
42736
|
+
_.forEach(newVal, function (value, target) {
|
|
42737
|
+
filterExpressions.rules.push({
|
|
42738
|
+
'target': target,
|
|
42739
|
+
'value': value,
|
|
42740
|
+
'matchMode': obj.matchMode || 'startignorecase',
|
|
42741
|
+
'required': false,
|
|
42742
|
+
'type': ''
|
|
42743
|
+
});
|
|
42744
|
+
});
|
|
42745
|
+
}
|
|
42746
|
+
else {
|
|
42747
|
+
// setting value to the root node
|
|
42748
|
+
obj[targetNodeKey] = newVal;
|
|
42749
|
+
}
|
|
42750
|
+
filter$.next({ filterExpressions, newVal });
|
|
42751
|
+
};
|
|
42723
42752
|
if (stringStartsWith(obj[targetNodeKey], 'bind:')) {
|
|
42724
42753
|
// [Todo-CSP]: needs a check, where is this used
|
|
42725
|
-
destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, (
|
|
42726
|
-
if ((newVal === oldVal && _.isUndefined(newVal)) || (_.isUndefined(newVal) && !_.isUndefined(oldVal))) {
|
|
42727
|
-
return;
|
|
42728
|
-
}
|
|
42729
|
-
// Skip cloning for blob column
|
|
42730
|
-
if (!_.includes(['blob', 'file'], obj.type)) {
|
|
42731
|
-
newVal = getClonedObject(newVal);
|
|
42732
|
-
}
|
|
42733
|
-
// backward compatibility: where we are allowing the user to bind complete object
|
|
42734
|
-
if (obj.target === 'dataBinding') {
|
|
42735
|
-
// remove the existing databinding element
|
|
42736
|
-
filterExpressions.rules = [];
|
|
42737
|
-
// now add all the returned values
|
|
42738
|
-
_.forEach(newVal, function (value, target) {
|
|
42739
|
-
filterExpressions.rules.push({
|
|
42740
|
-
'target': target,
|
|
42741
|
-
'value': value,
|
|
42742
|
-
'matchMode': obj.matchMode || 'startignorecase',
|
|
42743
|
-
'required': false,
|
|
42744
|
-
'type': ''
|
|
42745
|
-
});
|
|
42746
|
-
});
|
|
42747
|
-
}
|
|
42748
|
-
else {
|
|
42749
|
-
// setting value to the root node
|
|
42750
|
-
obj[targetNodeKey] = newVal;
|
|
42751
|
-
}
|
|
42752
|
-
filter$.next({ filterExpressions, newVal });
|
|
42753
|
-
}, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
|
|
42754
|
+
destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, variable ? variable.invokeOnFiltertExpressionChange.bind(variable, obj, targetNodeKey) : listener, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
|
|
42754
42755
|
}
|
|
42755
42756
|
};
|
|
42756
42757
|
const traverseFilterExpressions = expressions => {
|
|
@@ -44976,14 +44977,14 @@ const scopeComponentStyles = (componentName, componentType, styles = '') => {
|
|
|
44976
44977
|
|
|
44977
44978
|
const carouselTagName = 'carousel';
|
|
44978
44979
|
const dataSetKey$5 = 'dataset';
|
|
44979
|
-
const idGen$
|
|
44980
|
+
const idGen$s = new IDGenerator('wm_carousel_ref_');
|
|
44980
44981
|
const isDynamicCarousel = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');
|
|
44981
44982
|
const ɵ0$d$1 = isDynamicCarousel;
|
|
44982
44983
|
register('wm-carousel', () => {
|
|
44983
44984
|
return {
|
|
44984
44985
|
pre: (attrs, shared) => {
|
|
44985
44986
|
// generating unique Id for the carousel
|
|
44986
|
-
const counter = idGen$
|
|
44987
|
+
const counter = idGen$s.nextUid();
|
|
44987
44988
|
shared.set('carousel_ref', counter);
|
|
44988
44989
|
return `<div class="app-carousel carousel"><${carouselTagName} wmCarousel #${counter}="wmCarousel" ${getAttrMarkup(attrs)} interval="0" [ngClass]="${counter}.navigationClass">`;
|
|
44989
44990
|
},
|
|
@@ -45084,12 +45085,12 @@ var marquee_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45084
45085
|
});
|
|
45085
45086
|
|
|
45086
45087
|
const tagName$1A = 'a';
|
|
45087
|
-
const idGen$
|
|
45088
|
+
const idGen$r = new IDGenerator('wm_anchor');
|
|
45088
45089
|
register('wm-anchor', () => {
|
|
45089
45090
|
return {
|
|
45090
45091
|
pre: (attrs) => {
|
|
45091
|
-
const counter = idGen$
|
|
45092
|
-
return `<${tagName$1A} wmAnchor #${counter}="wmAnchor" role="link" data-identifier="anchor" [attr.aria-label]="${counter}.hint || ${counter}.caption
|
|
45092
|
+
const counter = idGen$r.nextUid();
|
|
45093
|
+
return `<${tagName$1A} wmAnchor #${counter}="wmAnchor" role="link" data-identifier="anchor" [attr.aria-label]="${counter}.hint || ${counter}.caption" ${getAttrMarkup(attrs)}>`;
|
|
45093
45094
|
},
|
|
45094
45095
|
post: () => `</${tagName$1A}>`
|
|
45095
45096
|
};
|
|
@@ -45116,11 +45117,11 @@ var audio_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45116
45117
|
});
|
|
45117
45118
|
|
|
45118
45119
|
const tagName$1y = 'div';
|
|
45119
|
-
const idGen$
|
|
45120
|
+
const idGen$q = new IDGenerator('wm_html');
|
|
45120
45121
|
register('wm-html', () => {
|
|
45121
45122
|
return {
|
|
45122
45123
|
pre: (attrs) => {
|
|
45123
|
-
const counter = idGen$
|
|
45124
|
+
const counter = idGen$q.nextUid();
|
|
45124
45125
|
return `<${tagName$1y} wmHtml #${counter}="wmHtml" [attr.aria-label]="${counter}.hint || 'HTML content'" ${getAttrMarkup(attrs)}>`;
|
|
45125
45126
|
},
|
|
45126
45127
|
post: () => `</${tagName$1y}>`
|
|
@@ -45162,10 +45163,12 @@ var iframe_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45162
45163
|
});
|
|
45163
45164
|
|
|
45164
45165
|
const tagName$1v = 'label';
|
|
45166
|
+
const idGen$p = new IDGenerator('wm_label');
|
|
45165
45167
|
register('wm-label', () => {
|
|
45166
45168
|
return {
|
|
45167
45169
|
pre: (attrs) => {
|
|
45168
|
-
|
|
45170
|
+
const counter = idGen$p.nextUid();
|
|
45171
|
+
return `<${tagName$1v} wmLabel #${counter}="wmLabel" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
|
|
45169
45172
|
},
|
|
45170
45173
|
post: () => `</${tagName$1v}>`
|
|
45171
45174
|
};
|
|
@@ -45178,11 +45181,11 @@ var label_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45178
45181
|
});
|
|
45179
45182
|
|
|
45180
45183
|
const tagName$1u = 'img';
|
|
45181
|
-
const idGen$
|
|
45184
|
+
const idGen$o = new IDGenerator('wm_picture');
|
|
45182
45185
|
register('wm-picture', () => {
|
|
45183
45186
|
return {
|
|
45184
45187
|
pre: (attrs) => {
|
|
45185
|
-
const counter = idGen$
|
|
45188
|
+
const counter = idGen$o.nextUid();
|
|
45186
45189
|
return `<${tagName$1u} wmPicture #${counter}="wmPicture" alt="image" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.hint || 'Image'" ${getAttrMarkup(attrs)}>`;
|
|
45187
45190
|
}
|
|
45188
45191
|
};
|
|
@@ -45195,11 +45198,11 @@ var picture_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45195
45198
|
});
|
|
45196
45199
|
|
|
45197
45200
|
const tagName$1t = 'div';
|
|
45198
|
-
const idGen$
|
|
45201
|
+
const idGen$n = new IDGenerator('wm_spinner');
|
|
45199
45202
|
register('wm-spinner', () => {
|
|
45200
45203
|
return {
|
|
45201
45204
|
pre: (attrs) => {
|
|
45202
|
-
const counter = idGen$
|
|
45205
|
+
const counter = idGen$n.nextUid();
|
|
45203
45206
|
return `<${tagName$1t} wmSpinner #${counter}="wmSpinner" role="alert" [attr.aria-label]="${counter}.hint || 'Loading...'" aria-live="assertive" aria-busy="true" ${getAttrMarkup(attrs)}>`;
|
|
45204
45207
|
},
|
|
45205
45208
|
post: () => `</${tagName$1t}>`
|
|
@@ -45272,11 +45275,11 @@ var progressCircle_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45272
45275
|
});
|
|
45273
45276
|
|
|
45274
45277
|
const tagName$1q = 'div';
|
|
45275
|
-
const idGen$
|
|
45278
|
+
const idGen$m = new IDGenerator('wm_richtexteditor');
|
|
45276
45279
|
register('wm-richtexteditor', () => {
|
|
45277
45280
|
return {
|
|
45278
45281
|
pre: (attrs) => {
|
|
45279
|
-
const counter = idGen$
|
|
45282
|
+
const counter = idGen$m.nextUid();
|
|
45280
45283
|
return `<${tagName$1q} wmRichTextEditor #${counter}="wmRichTextEditor" role="textbox" [attr.aria-label]="${counter}.hint || 'Richtext editor'" ${getFormMarkupAttr(attrs)}>`;
|
|
45281
45284
|
},
|
|
45282
45285
|
post: () => `</${tagName$1q}>`
|
|
@@ -45389,14 +45392,14 @@ var chart_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45389
45392
|
|
|
45390
45393
|
const tagName$1i = 'div';
|
|
45391
45394
|
const dataSetKey$4 = 'dataset';
|
|
45392
|
-
const idGen$
|
|
45395
|
+
const idGen$l = new IDGenerator('wm_accordion_ref_');
|
|
45393
45396
|
const isDynamicAccordion = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');
|
|
45394
45397
|
const ɵ0$b$1 = isDynamicAccordion;
|
|
45395
45398
|
register('wm-accordion', () => {
|
|
45396
45399
|
return {
|
|
45397
45400
|
pre: (attrs, shared) => {
|
|
45398
45401
|
// generating unique Id for the accordion
|
|
45399
|
-
const counter = idGen$
|
|
45402
|
+
const counter = idGen$l.nextUid();
|
|
45400
45403
|
shared.set('accordion_ref', counter);
|
|
45401
45404
|
return `<${tagName$1i} wmAccordion #${counter}="wmAccordion" role="tablist" aria-multiselectable="true" ${getAttrMarkup(attrs)}>`;
|
|
45402
45405
|
},
|
|
@@ -45433,9 +45436,13 @@ var accordion_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45433
45436
|
});
|
|
45434
45437
|
|
|
45435
45438
|
const tagName$1h = 'div';
|
|
45439
|
+
const idGen$k = new IDGenerator('wm_accordionpane');
|
|
45436
45440
|
register('wm-accordionpane', () => {
|
|
45437
45441
|
return {
|
|
45438
|
-
pre: attrs =>
|
|
45442
|
+
pre: (attrs) => {
|
|
45443
|
+
const counter = idGen$k.nextUid();
|
|
45444
|
+
return `<${tagName$1h} #${counter}="wmAccordionPane" [attr.aria-expanded]="${counter}.isActive" wmAccordionPane partialContainer wm-navigable-element="true" role="tab" ${getAttrMarkup(attrs)}>`;
|
|
45445
|
+
},
|
|
45439
45446
|
post: () => `</${tagName$1h}>`
|
|
45440
45447
|
};
|
|
45441
45448
|
});
|
|
@@ -46037,7 +46044,7 @@ const registerFormField = (isFormField) => {
|
|
|
46037
46044
|
const widgetType = attrs.get('widget') || FormWidgetType.TEXT;
|
|
46038
46045
|
const dataRole = isFormField ? 'form-field' : 'filter-field';
|
|
46039
46046
|
const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
|
|
46040
|
-
class="help-block text-danger" aria-hidden="false"
|
|
46047
|
+
class="help-block text-danger" aria-hidden="false" role="alert"
|
|
46041
46048
|
aria-live="assertive" [textContent]="${counter}.validationmessage"></p>` : '';
|
|
46042
46049
|
const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
|
|
46043
46050
|
const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';
|
|
@@ -46344,7 +46351,7 @@ register('wm-button', () => {
|
|
|
46344
46351
|
return {
|
|
46345
46352
|
pre: (attrs) => {
|
|
46346
46353
|
const counter = idGen$c.nextUid();
|
|
46347
|
-
return `<${tagName$P} wmButton #${counter}="wmButton" [attr.aria-label]="${counter}.hint || ${counter}.caption
|
|
46354
|
+
return `<${tagName$P} wmButton #${counter}="wmButton" [attr.aria-label]="${counter}.hint || ${counter}.caption" ${getAttrMarkup(attrs)}>`;
|
|
46348
46355
|
},
|
|
46349
46356
|
post: () => `</${tagName$P}>`
|
|
46350
46357
|
};
|
|
@@ -46940,7 +46947,7 @@ register('wm-page', () => {
|
|
|
46940
46947
|
},
|
|
46941
46948
|
pre: (attrs) => {
|
|
46942
46949
|
const counter = idGen$8.nextUid();
|
|
46943
|
-
return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint
|
|
46950
|
+
return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
|
|
46944
46951
|
},
|
|
46945
46952
|
post: () => `</${tagName$p}>`
|
|
46946
46953
|
};
|
|
@@ -47592,12 +47599,13 @@ const tagName$5 = 'div';
|
|
|
47592
47599
|
const getRowExpansionActionTmpl = (attrs) => {
|
|
47593
47600
|
const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';
|
|
47594
47601
|
const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';
|
|
47602
|
+
const title = attrs.get('display-name') || attrs.get('title') || 'Collapse/Expand';
|
|
47595
47603
|
return `<ng-template #rowExpansionActionTmpl let-row="row">
|
|
47596
47604
|
<${tag} ${directive}
|
|
47597
47605
|
${getRowActionAttrs(attrs)}
|
|
47598
47606
|
class="${attrs.get('class')} row-expansion-button"
|
|
47599
47607
|
iconclass="${attrs.get('collapseicon')}"
|
|
47600
|
-
type="button"></${tag}>
|
|
47608
|
+
type="button" aria-label="${title}"></${tag}>
|
|
47601
47609
|
</ng-template>`;
|
|
47602
47610
|
};
|
|
47603
47611
|
const ɵ0$1$2 = getRowExpansionActionTmpl;
|
|
@@ -40760,10 +40760,10 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
40760
40760
|
break;
|
|
40761
40761
|
case FormWidgetType.TEXT:
|
|
40762
40762
|
const inputType = options.inputType || 'inputtype';
|
|
40763
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}"
|
|
40763
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" ${updateOnTmpl}></wm-input>`;
|
|
40764
40764
|
break;
|
|
40765
40765
|
case FormWidgetType.TEXTAREA:
|
|
40766
|
-
tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox"
|
|
40766
|
+
tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" ${updateOnTmpl}></wm-textarea>`;
|
|
40767
40767
|
break;
|
|
40768
40768
|
case FormWidgetType.TIME:
|
|
40769
40769
|
tmpl = `<div wmTime ${attrs.get('required') === 'true' ? 'required=true' : ''} dataentrymode="${attrs.get('dataentrymode')}" ${innerTmpl}></div>`;
|
|
@@ -40792,7 +40792,7 @@ const getFormWidgetTemplate = (widgetType, innerTmpl, attrs, options = {}) => {
|
|
|
40792
40792
|
}
|
|
40793
40793
|
break;
|
|
40794
40794
|
default:
|
|
40795
|
-
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''}
|
|
40795
|
+
tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="text" ${updateOnTmpl}></wm-input>`;
|
|
40796
40796
|
break;
|
|
40797
40797
|
}
|
|
40798
40798
|
return tmpl;
|
|
@@ -42716,41 +42716,42 @@ const validateDataSourceCtx = (ds, ctx) => {
|
|
|
42716
42716
|
* @param name name of the variable
|
|
42717
42717
|
* @param context scope of the variable
|
|
42718
42718
|
*/
|
|
42719
|
-
const processFilterExpBindNode = (context, filterExpressions) => {
|
|
42719
|
+
const processFilterExpBindNode = (context, filterExpressions, variable) => {
|
|
42720
42720
|
const destroyFn = context.registerDestroyListener ? context.registerDestroyListener.bind(context) : _.noop;
|
|
42721
42721
|
const filter$ = new Subject();
|
|
42722
42722
|
const bindFilExpObj = (obj, targetNodeKey) => {
|
|
42723
|
+
const listener = (newVal, oldVal) => {
|
|
42724
|
+
if ((newVal === oldVal && _.isUndefined(newVal)) || (_.isUndefined(newVal) && !_.isUndefined(oldVal))) {
|
|
42725
|
+
return;
|
|
42726
|
+
}
|
|
42727
|
+
// Skip cloning for blob column
|
|
42728
|
+
if (!_.includes(['blob', 'file'], obj.type)) {
|
|
42729
|
+
newVal = getClonedObject(newVal);
|
|
42730
|
+
}
|
|
42731
|
+
// backward compatibility: where we are allowing the user to bind complete object
|
|
42732
|
+
if (obj.target === 'dataBinding') {
|
|
42733
|
+
// remove the existing databinding element
|
|
42734
|
+
filterExpressions.rules = [];
|
|
42735
|
+
// now add all the returned values
|
|
42736
|
+
_.forEach(newVal, function (value, target) {
|
|
42737
|
+
filterExpressions.rules.push({
|
|
42738
|
+
'target': target,
|
|
42739
|
+
'value': value,
|
|
42740
|
+
'matchMode': obj.matchMode || 'startignorecase',
|
|
42741
|
+
'required': false,
|
|
42742
|
+
'type': ''
|
|
42743
|
+
});
|
|
42744
|
+
});
|
|
42745
|
+
}
|
|
42746
|
+
else {
|
|
42747
|
+
// setting value to the root node
|
|
42748
|
+
obj[targetNodeKey] = newVal;
|
|
42749
|
+
}
|
|
42750
|
+
filter$.next({ filterExpressions, newVal });
|
|
42751
|
+
};
|
|
42723
42752
|
if (stringStartsWith(obj[targetNodeKey], 'bind:')) {
|
|
42724
42753
|
// [Todo-CSP]: needs a check, where is this used
|
|
42725
|
-
destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, (
|
|
42726
|
-
if ((newVal === oldVal && _.isUndefined(newVal)) || (_.isUndefined(newVal) && !_.isUndefined(oldVal))) {
|
|
42727
|
-
return;
|
|
42728
|
-
}
|
|
42729
|
-
// Skip cloning for blob column
|
|
42730
|
-
if (!_.includes(['blob', 'file'], obj.type)) {
|
|
42731
|
-
newVal = getClonedObject(newVal);
|
|
42732
|
-
}
|
|
42733
|
-
// backward compatibility: where we are allowing the user to bind complete object
|
|
42734
|
-
if (obj.target === 'dataBinding') {
|
|
42735
|
-
// remove the existing databinding element
|
|
42736
|
-
filterExpressions.rules = [];
|
|
42737
|
-
// now add all the returned values
|
|
42738
|
-
_.forEach(newVal, function (value, target) {
|
|
42739
|
-
filterExpressions.rules.push({
|
|
42740
|
-
'target': target,
|
|
42741
|
-
'value': value,
|
|
42742
|
-
'matchMode': obj.matchMode || 'startignorecase',
|
|
42743
|
-
'required': false,
|
|
42744
|
-
'type': ''
|
|
42745
|
-
});
|
|
42746
|
-
});
|
|
42747
|
-
}
|
|
42748
|
-
else {
|
|
42749
|
-
// setting value to the root node
|
|
42750
|
-
obj[targetNodeKey] = newVal;
|
|
42751
|
-
}
|
|
42752
|
-
filter$.next({ filterExpressions, newVal });
|
|
42753
|
-
}, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
|
|
42754
|
+
destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, variable ? variable.invokeOnFiltertExpressionChange.bind(variable, obj, targetNodeKey) : listener, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
|
|
42754
42755
|
}
|
|
42755
42756
|
};
|
|
42756
42757
|
const traverseFilterExpressions = expressions => {
|
|
@@ -44976,14 +44977,14 @@ const scopeComponentStyles = (componentName, componentType, styles = '') => {
|
|
|
44976
44977
|
|
|
44977
44978
|
const carouselTagName = 'carousel';
|
|
44978
44979
|
const dataSetKey$5 = 'dataset';
|
|
44979
|
-
const idGen$
|
|
44980
|
+
const idGen$s = new IDGenerator('wm_carousel_ref_');
|
|
44980
44981
|
const isDynamicCarousel = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');
|
|
44981
44982
|
const ɵ0$d$1 = isDynamicCarousel;
|
|
44982
44983
|
register('wm-carousel', () => {
|
|
44983
44984
|
return {
|
|
44984
44985
|
pre: (attrs, shared) => {
|
|
44985
44986
|
// generating unique Id for the carousel
|
|
44986
|
-
const counter = idGen$
|
|
44987
|
+
const counter = idGen$s.nextUid();
|
|
44987
44988
|
shared.set('carousel_ref', counter);
|
|
44988
44989
|
return `<div class="app-carousel carousel"><${carouselTagName} wmCarousel #${counter}="wmCarousel" ${getAttrMarkup(attrs)} interval="0" [ngClass]="${counter}.navigationClass">`;
|
|
44989
44990
|
},
|
|
@@ -45084,12 +45085,12 @@ var marquee_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45084
45085
|
});
|
|
45085
45086
|
|
|
45086
45087
|
const tagName$1A = 'a';
|
|
45087
|
-
const idGen$
|
|
45088
|
+
const idGen$r = new IDGenerator('wm_anchor');
|
|
45088
45089
|
register('wm-anchor', () => {
|
|
45089
45090
|
return {
|
|
45090
45091
|
pre: (attrs) => {
|
|
45091
|
-
const counter = idGen$
|
|
45092
|
-
return `<${tagName$1A} wmAnchor #${counter}="wmAnchor" role="link" data-identifier="anchor" [attr.aria-label]="${counter}.hint || ${counter}.caption
|
|
45092
|
+
const counter = idGen$r.nextUid();
|
|
45093
|
+
return `<${tagName$1A} wmAnchor #${counter}="wmAnchor" role="link" data-identifier="anchor" [attr.aria-label]="${counter}.hint || ${counter}.caption" ${getAttrMarkup(attrs)}>`;
|
|
45093
45094
|
},
|
|
45094
45095
|
post: () => `</${tagName$1A}>`
|
|
45095
45096
|
};
|
|
@@ -45116,11 +45117,11 @@ var audio_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45116
45117
|
});
|
|
45117
45118
|
|
|
45118
45119
|
const tagName$1y = 'div';
|
|
45119
|
-
const idGen$
|
|
45120
|
+
const idGen$q = new IDGenerator('wm_html');
|
|
45120
45121
|
register('wm-html', () => {
|
|
45121
45122
|
return {
|
|
45122
45123
|
pre: (attrs) => {
|
|
45123
|
-
const counter = idGen$
|
|
45124
|
+
const counter = idGen$q.nextUid();
|
|
45124
45125
|
return `<${tagName$1y} wmHtml #${counter}="wmHtml" [attr.aria-label]="${counter}.hint || 'HTML content'" ${getAttrMarkup(attrs)}>`;
|
|
45125
45126
|
},
|
|
45126
45127
|
post: () => `</${tagName$1y}>`
|
|
@@ -45162,10 +45163,12 @@ var iframe_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45162
45163
|
});
|
|
45163
45164
|
|
|
45164
45165
|
const tagName$1v = 'label';
|
|
45166
|
+
const idGen$p = new IDGenerator('wm_label');
|
|
45165
45167
|
register('wm-label', () => {
|
|
45166
45168
|
return {
|
|
45167
45169
|
pre: (attrs) => {
|
|
45168
|
-
|
|
45170
|
+
const counter = idGen$p.nextUid();
|
|
45171
|
+
return `<${tagName$1v} wmLabel #${counter}="wmLabel" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
|
|
45169
45172
|
},
|
|
45170
45173
|
post: () => `</${tagName$1v}>`
|
|
45171
45174
|
};
|
|
@@ -45178,11 +45181,11 @@ var label_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45178
45181
|
});
|
|
45179
45182
|
|
|
45180
45183
|
const tagName$1u = 'img';
|
|
45181
|
-
const idGen$
|
|
45184
|
+
const idGen$o = new IDGenerator('wm_picture');
|
|
45182
45185
|
register('wm-picture', () => {
|
|
45183
45186
|
return {
|
|
45184
45187
|
pre: (attrs) => {
|
|
45185
|
-
const counter = idGen$
|
|
45188
|
+
const counter = idGen$o.nextUid();
|
|
45186
45189
|
return `<${tagName$1u} wmPicture #${counter}="wmPicture" alt="image" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.hint || 'Image'" ${getAttrMarkup(attrs)}>`;
|
|
45187
45190
|
}
|
|
45188
45191
|
};
|
|
@@ -45195,11 +45198,11 @@ var picture_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45195
45198
|
});
|
|
45196
45199
|
|
|
45197
45200
|
const tagName$1t = 'div';
|
|
45198
|
-
const idGen$
|
|
45201
|
+
const idGen$n = new IDGenerator('wm_spinner');
|
|
45199
45202
|
register('wm-spinner', () => {
|
|
45200
45203
|
return {
|
|
45201
45204
|
pre: (attrs) => {
|
|
45202
|
-
const counter = idGen$
|
|
45205
|
+
const counter = idGen$n.nextUid();
|
|
45203
45206
|
return `<${tagName$1t} wmSpinner #${counter}="wmSpinner" role="alert" [attr.aria-label]="${counter}.hint || 'Loading...'" aria-live="assertive" aria-busy="true" ${getAttrMarkup(attrs)}>`;
|
|
45204
45207
|
},
|
|
45205
45208
|
post: () => `</${tagName$1t}>`
|
|
@@ -45272,11 +45275,11 @@ var progressCircle_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45272
45275
|
});
|
|
45273
45276
|
|
|
45274
45277
|
const tagName$1q = 'div';
|
|
45275
|
-
const idGen$
|
|
45278
|
+
const idGen$m = new IDGenerator('wm_richtexteditor');
|
|
45276
45279
|
register('wm-richtexteditor', () => {
|
|
45277
45280
|
return {
|
|
45278
45281
|
pre: (attrs) => {
|
|
45279
|
-
const counter = idGen$
|
|
45282
|
+
const counter = idGen$m.nextUid();
|
|
45280
45283
|
return `<${tagName$1q} wmRichTextEditor #${counter}="wmRichTextEditor" role="textbox" [attr.aria-label]="${counter}.hint || 'Richtext editor'" ${getFormMarkupAttr(attrs)}>`;
|
|
45281
45284
|
},
|
|
45282
45285
|
post: () => `</${tagName$1q}>`
|
|
@@ -45389,14 +45392,14 @@ var chart_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45389
45392
|
|
|
45390
45393
|
const tagName$1i = 'div';
|
|
45391
45394
|
const dataSetKey$4 = 'dataset';
|
|
45392
|
-
const idGen$
|
|
45395
|
+
const idGen$l = new IDGenerator('wm_accordion_ref_');
|
|
45393
45396
|
const isDynamicAccordion = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');
|
|
45394
45397
|
const ɵ0$b$1 = isDynamicAccordion;
|
|
45395
45398
|
register('wm-accordion', () => {
|
|
45396
45399
|
return {
|
|
45397
45400
|
pre: (attrs, shared) => {
|
|
45398
45401
|
// generating unique Id for the accordion
|
|
45399
|
-
const counter = idGen$
|
|
45402
|
+
const counter = idGen$l.nextUid();
|
|
45400
45403
|
shared.set('accordion_ref', counter);
|
|
45401
45404
|
return `<${tagName$1i} wmAccordion #${counter}="wmAccordion" role="tablist" aria-multiselectable="true" ${getAttrMarkup(attrs)}>`;
|
|
45402
45405
|
},
|
|
@@ -45433,9 +45436,13 @@ var accordion_build$1 = /*#__PURE__*/Object.freeze({
|
|
|
45433
45436
|
});
|
|
45434
45437
|
|
|
45435
45438
|
const tagName$1h = 'div';
|
|
45439
|
+
const idGen$k = new IDGenerator('wm_accordionpane');
|
|
45436
45440
|
register('wm-accordionpane', () => {
|
|
45437
45441
|
return {
|
|
45438
|
-
pre: attrs =>
|
|
45442
|
+
pre: (attrs) => {
|
|
45443
|
+
const counter = idGen$k.nextUid();
|
|
45444
|
+
return `<${tagName$1h} #${counter}="wmAccordionPane" [attr.aria-expanded]="${counter}.isActive" wmAccordionPane partialContainer wm-navigable-element="true" role="tab" ${getAttrMarkup(attrs)}>`;
|
|
45445
|
+
},
|
|
45439
45446
|
post: () => `</${tagName$1h}>`
|
|
45440
45447
|
};
|
|
45441
45448
|
});
|
|
@@ -46037,7 +46044,7 @@ const registerFormField = (isFormField) => {
|
|
|
46037
46044
|
const widgetType = attrs.get('widget') || FormWidgetType.TEXT;
|
|
46038
46045
|
const dataRole = isFormField ? 'form-field' : 'filter-field';
|
|
46039
46046
|
const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
|
|
46040
|
-
class="help-block text-danger" aria-hidden="false"
|
|
46047
|
+
class="help-block text-danger" aria-hidden="false" role="alert"
|
|
46041
46048
|
aria-live="assertive" [textContent]="${counter}.validationmessage"></p>` : '';
|
|
46042
46049
|
const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
|
|
46043
46050
|
const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';
|
|
@@ -46344,7 +46351,7 @@ register('wm-button', () => {
|
|
|
46344
46351
|
return {
|
|
46345
46352
|
pre: (attrs) => {
|
|
46346
46353
|
const counter = idGen$c.nextUid();
|
|
46347
|
-
return `<${tagName$P} wmButton #${counter}="wmButton" [attr.aria-label]="${counter}.hint || ${counter}.caption
|
|
46354
|
+
return `<${tagName$P} wmButton #${counter}="wmButton" [attr.aria-label]="${counter}.hint || ${counter}.caption" ${getAttrMarkup(attrs)}>`;
|
|
46348
46355
|
},
|
|
46349
46356
|
post: () => `</${tagName$P}>`
|
|
46350
46357
|
};
|
|
@@ -46940,7 +46947,7 @@ register('wm-page', () => {
|
|
|
46940
46947
|
},
|
|
46941
46948
|
pre: (attrs) => {
|
|
46942
46949
|
const counter = idGen$8.nextUid();
|
|
46943
|
-
return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint
|
|
46950
|
+
return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
|
|
46944
46951
|
},
|
|
46945
46952
|
post: () => `</${tagName$p}>`
|
|
46946
46953
|
};
|
|
@@ -47592,12 +47599,13 @@ const tagName$5 = 'div';
|
|
|
47592
47599
|
const getRowExpansionActionTmpl = (attrs) => {
|
|
47593
47600
|
const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';
|
|
47594
47601
|
const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';
|
|
47602
|
+
const title = attrs.get('display-name') || attrs.get('title') || 'Collapse/Expand';
|
|
47595
47603
|
return `<ng-template #rowExpansionActionTmpl let-row="row">
|
|
47596
47604
|
<${tag} ${directive}
|
|
47597
47605
|
${getRowActionAttrs(attrs)}
|
|
47598
47606
|
class="${attrs.get('class')} row-expansion-button"
|
|
47599
47607
|
iconclass="${attrs.get('collapseicon')}"
|
|
47600
|
-
type="button"></${tag}>
|
|
47608
|
+
type="button" aria-label="${title}"></${tag}>
|
|
47601
47609
|
</ng-template>`;
|
|
47602
47610
|
};
|
|
47603
47611
|
const ɵ0$1$2 = getRowExpansionActionTmpl;
|