@wavemaker/angular-codegen 11.3.0-next.24522 → 11.3.0-next.24524

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.
@@ -37,9 +37,6 @@
37
37
  "@wm/core": [
38
38
  "node_modules/@wavemaker/app-ng-runtime/core"
39
39
  ],
40
- "@wavemaker/variables": [
41
- "node_modules/@wavemaker/variables/"
42
- ],
43
40
  "@wm/components/base": [
44
41
  "node_modules/@wavemaker/app-ng-runtime/components/base"
45
42
  ],
@@ -46638,42 +46638,41 @@ 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, variable) => {
46641
+ const processFilterExpBindNode = (context, filterExpressions) => {
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
- };
46674
46645
  if (stringStartsWith(obj[targetNodeKey], 'bind:')) {
46675
46646
  // [Todo-CSP]: needs a check, where is this used
46676
- destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, variable ? variable.invokeOnFiltertExpressionChange.bind(variable, obj, targetNodeKey) : listener, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
46647
+ destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, (newVal, oldVal) => {
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) }));
46677
46676
  }
46678
46677
  };
46679
46678
  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'}" ${updateOnTmpl}></wm-input>`;
40763
+ tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" aria-describedby="Enter 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" ${updateOnTmpl}></wm-textarea>`;
40766
+ tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" aria-describedby="Place your text" ${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' : ''} type="text" ${updateOnTmpl}></wm-input>`;
40795
+ tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} aria-describedby="Enter text" type="text" ${updateOnTmpl}></wm-input>`;
40796
40796
  break;
40797
40797
  }
40798
40798
  return tmpl;
@@ -42716,42 +42716,41 @@ 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, variable) => {
42719
+ const processFilterExpBindNode = (context, filterExpressions) => {
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
- };
42752
42723
  if (stringStartsWith(obj[targetNodeKey], 'bind:')) {
42753
42724
  // [Todo-CSP]: needs a check, where is this used
42754
- destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, variable ? variable.invokeOnFiltertExpressionChange.bind(variable, obj, targetNodeKey) : listener, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
42725
+ destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, (newVal, oldVal) => {
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) }));
42755
42754
  }
42756
42755
  };
42757
42756
  const traverseFilterExpressions = expressions => {
@@ -44977,14 +44976,14 @@ const scopeComponentStyles = (componentName, componentType, styles = '') => {
44977
44976
 
44978
44977
  const carouselTagName = 'carousel';
44979
44978
  const dataSetKey$5 = 'dataset';
44980
- const idGen$s = new IDGenerator('wm_carousel_ref_');
44979
+ const idGen$q = new IDGenerator('wm_carousel_ref_');
44981
44980
  const isDynamicCarousel = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');
44982
44981
  const ɵ0$d$1 = isDynamicCarousel;
44983
44982
  register('wm-carousel', () => {
44984
44983
  return {
44985
44984
  pre: (attrs, shared) => {
44986
44985
  // generating unique Id for the carousel
44987
- const counter = idGen$s.nextUid();
44986
+ const counter = idGen$q.nextUid();
44988
44987
  shared.set('carousel_ref', counter);
44989
44988
  return `<div class="app-carousel carousel"><${carouselTagName} wmCarousel #${counter}="wmCarousel" ${getAttrMarkup(attrs)} interval="0" [ngClass]="${counter}.navigationClass">`;
44990
44989
  },
@@ -45085,12 +45084,12 @@ var marquee_build$1 = /*#__PURE__*/Object.freeze({
45085
45084
  });
45086
45085
 
45087
45086
  const tagName$1A = 'a';
45088
- const idGen$r = new IDGenerator('wm_anchor');
45087
+ const idGen$p = new IDGenerator('wm_anchor');
45089
45088
  register('wm-anchor', () => {
45090
45089
  return {
45091
45090
  pre: (attrs) => {
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)}>`;
45091
+ const counter = idGen$p.nextUid();
45092
+ return `<${tagName$1A} wmAnchor #${counter}="wmAnchor" role="link" data-identifier="anchor" [attr.aria-label]="${counter}.hint || ${counter}.caption || 'Link'" ${getAttrMarkup(attrs)}>`;
45094
45093
  },
45095
45094
  post: () => `</${tagName$1A}>`
45096
45095
  };
@@ -45117,11 +45116,11 @@ var audio_build$1 = /*#__PURE__*/Object.freeze({
45117
45116
  });
45118
45117
 
45119
45118
  const tagName$1y = 'div';
45120
- const idGen$q = new IDGenerator('wm_html');
45119
+ const idGen$o = new IDGenerator('wm_html');
45121
45120
  register('wm-html', () => {
45122
45121
  return {
45123
45122
  pre: (attrs) => {
45124
- const counter = idGen$q.nextUid();
45123
+ const counter = idGen$o.nextUid();
45125
45124
  return `<${tagName$1y} wmHtml #${counter}="wmHtml" [attr.aria-label]="${counter}.hint || 'HTML content'" ${getAttrMarkup(attrs)}>`;
45126
45125
  },
45127
45126
  post: () => `</${tagName$1y}>`
@@ -45163,12 +45162,10 @@ var iframe_build$1 = /*#__PURE__*/Object.freeze({
45163
45162
  });
45164
45163
 
45165
45164
  const tagName$1v = 'label';
45166
- const idGen$p = new IDGenerator('wm_label');
45167
45165
  register('wm-label', () => {
45168
45166
  return {
45169
45167
  pre: (attrs) => {
45170
- const counter = idGen$p.nextUid();
45171
- return `<${tagName$1v} wmLabel #${counter}="wmLabel" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
45168
+ return `<${tagName$1v} wmLabel ${getAttrMarkup(attrs)}>`;
45172
45169
  },
45173
45170
  post: () => `</${tagName$1v}>`
45174
45171
  };
@@ -45181,11 +45178,11 @@ var label_build$1 = /*#__PURE__*/Object.freeze({
45181
45178
  });
45182
45179
 
45183
45180
  const tagName$1u = 'img';
45184
- const idGen$o = new IDGenerator('wm_picture');
45181
+ const idGen$n = new IDGenerator('wm_picture');
45185
45182
  register('wm-picture', () => {
45186
45183
  return {
45187
45184
  pre: (attrs) => {
45188
- const counter = idGen$o.nextUid();
45185
+ const counter = idGen$n.nextUid();
45189
45186
  return `<${tagName$1u} wmPicture #${counter}="wmPicture" alt="image" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.hint || 'Image'" ${getAttrMarkup(attrs)}>`;
45190
45187
  }
45191
45188
  };
@@ -45198,11 +45195,11 @@ var picture_build$1 = /*#__PURE__*/Object.freeze({
45198
45195
  });
45199
45196
 
45200
45197
  const tagName$1t = 'div';
45201
- const idGen$n = new IDGenerator('wm_spinner');
45198
+ const idGen$m = new IDGenerator('wm_spinner');
45202
45199
  register('wm-spinner', () => {
45203
45200
  return {
45204
45201
  pre: (attrs) => {
45205
- const counter = idGen$n.nextUid();
45202
+ const counter = idGen$m.nextUid();
45206
45203
  return `<${tagName$1t} wmSpinner #${counter}="wmSpinner" role="alert" [attr.aria-label]="${counter}.hint || 'Loading...'" aria-live="assertive" aria-busy="true" ${getAttrMarkup(attrs)}>`;
45207
45204
  },
45208
45205
  post: () => `</${tagName$1t}>`
@@ -45275,11 +45272,11 @@ var progressCircle_build$1 = /*#__PURE__*/Object.freeze({
45275
45272
  });
45276
45273
 
45277
45274
  const tagName$1q = 'div';
45278
- const idGen$m = new IDGenerator('wm_richtexteditor');
45275
+ const idGen$l = new IDGenerator('wm_richtexteditor');
45279
45276
  register('wm-richtexteditor', () => {
45280
45277
  return {
45281
45278
  pre: (attrs) => {
45282
- const counter = idGen$m.nextUid();
45279
+ const counter = idGen$l.nextUid();
45283
45280
  return `<${tagName$1q} wmRichTextEditor #${counter}="wmRichTextEditor" role="textbox" [attr.aria-label]="${counter}.hint || 'Richtext editor'" ${getFormMarkupAttr(attrs)}>`;
45284
45281
  },
45285
45282
  post: () => `</${tagName$1q}>`
@@ -45392,14 +45389,14 @@ var chart_build$1 = /*#__PURE__*/Object.freeze({
45392
45389
 
45393
45390
  const tagName$1i = 'div';
45394
45391
  const dataSetKey$4 = 'dataset';
45395
- const idGen$l = new IDGenerator('wm_accordion_ref_');
45392
+ const idGen$k = new IDGenerator('wm_accordion_ref_');
45396
45393
  const isDynamicAccordion = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');
45397
45394
  const ɵ0$b$1 = isDynamicAccordion;
45398
45395
  register('wm-accordion', () => {
45399
45396
  return {
45400
45397
  pre: (attrs, shared) => {
45401
45398
  // generating unique Id for the accordion
45402
- const counter = idGen$l.nextUid();
45399
+ const counter = idGen$k.nextUid();
45403
45400
  shared.set('accordion_ref', counter);
45404
45401
  return `<${tagName$1i} wmAccordion #${counter}="wmAccordion" role="tablist" aria-multiselectable="true" ${getAttrMarkup(attrs)}>`;
45405
45402
  },
@@ -45436,13 +45433,9 @@ var accordion_build$1 = /*#__PURE__*/Object.freeze({
45436
45433
  });
45437
45434
 
45438
45435
  const tagName$1h = 'div';
45439
- const idGen$k = new IDGenerator('wm_accordionpane');
45440
45436
  register('wm-accordionpane', () => {
45441
45437
  return {
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
- },
45438
+ pre: attrs => `<${tagName$1h} wmAccordionPane partialContainer wm-navigable-element="true" role="tab" ${getAttrMarkup(attrs)}>`,
45446
45439
  post: () => `</${tagName$1h}>`
45447
45440
  };
45448
45441
  });
@@ -46044,7 +46037,7 @@ const registerFormField = (isFormField) => {
46044
46037
  const widgetType = attrs.get('widget') || FormWidgetType.TEXT;
46045
46038
  const dataRole = isFormField ? 'form-field' : 'filter-field';
46046
46039
  const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
46047
- class="help-block text-danger" aria-hidden="false" role="alert"
46040
+ class="help-block text-danger" aria-hidden="false" [attr.aria-label]="${counter}.validationmessage" role="alert"
46048
46041
  aria-live="assertive" [textContent]="${counter}.validationmessage"></p>` : '';
46049
46042
  const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
46050
46043
  const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';
@@ -46351,7 +46344,7 @@ register('wm-button', () => {
46351
46344
  return {
46352
46345
  pre: (attrs) => {
46353
46346
  const counter = idGen$c.nextUid();
46354
- return `<${tagName$P} wmButton #${counter}="wmButton" [attr.aria-label]="${counter}.hint || ${counter}.caption" ${getAttrMarkup(attrs)}>`;
46347
+ return `<${tagName$P} wmButton #${counter}="wmButton" [attr.aria-label]="${counter}.hint || ${counter}.caption || 'Button'" ${getAttrMarkup(attrs)}>`;
46355
46348
  },
46356
46349
  post: () => `</${tagName$P}>`
46357
46350
  };
@@ -46947,7 +46940,7 @@ register('wm-page', () => {
46947
46940
  },
46948
46941
  pre: (attrs) => {
46949
46942
  const counter = idGen$8.nextUid();
46950
- return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
46943
+ return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint || 'Main page content'" ${getAttrMarkup(attrs)}>`;
46951
46944
  },
46952
46945
  post: () => `</${tagName$p}>`
46953
46946
  };
@@ -47599,13 +47592,12 @@ const tagName$5 = 'div';
47599
47592
  const getRowExpansionActionTmpl = (attrs) => {
47600
47593
  const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';
47601
47594
  const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';
47602
- const title = attrs.get('display-name') || attrs.get('title') || 'Collapse/Expand';
47603
47595
  return `<ng-template #rowExpansionActionTmpl let-row="row">
47604
47596
  <${tag} ${directive}
47605
47597
  ${getRowActionAttrs(attrs)}
47606
47598
  class="${attrs.get('class')} row-expansion-button"
47607
47599
  iconclass="${attrs.get('collapseicon')}"
47608
- type="button" aria-label="${title}"></${tag}>
47600
+ type="button"></${tag}>
47609
47601
  </ng-template>`;
47610
47602
  };
47611
47603
  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'}" ${updateOnTmpl}></wm-input>`;
40763
+ tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} type="${attrs.get(inputType) || 'text'}" aria-describedby="Enter 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" ${updateOnTmpl}></wm-textarea>`;
40766
+ tmpl = `<wm-textarea ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} role="textbox" aria-describedby="Place your text" ${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' : ''} type="text" ${updateOnTmpl}></wm-input>`;
40795
+ tmpl = `<wm-input ${innerTmpl} ${attrs.get('required') === 'true' ? 'required=true' : ''} aria-describedby="Enter text" type="text" ${updateOnTmpl}></wm-input>`;
40796
40796
  break;
40797
40797
  }
40798
40798
  return tmpl;
@@ -42716,42 +42716,41 @@ 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, variable) => {
42719
+ const processFilterExpBindNode = (context, filterExpressions) => {
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
- };
42752
42723
  if (stringStartsWith(obj[targetNodeKey], 'bind:')) {
42753
42724
  // [Todo-CSP]: needs a check, where is this used
42754
- destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, variable ? variable.invokeOnFiltertExpressionChange.bind(variable, obj, targetNodeKey) : listener, undefined, false, { arrayType: _.includes(['in', 'notin'], obj.matchMode) }));
42725
+ destroyFn($watch(obj[targetNodeKey].replace('bind:', ''), context, {}, (newVal, oldVal) => {
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) }));
42755
42754
  }
42756
42755
  };
42757
42756
  const traverseFilterExpressions = expressions => {
@@ -44977,14 +44976,14 @@ const scopeComponentStyles = (componentName, componentType, styles = '') => {
44977
44976
 
44978
44977
  const carouselTagName = 'carousel';
44979
44978
  const dataSetKey$5 = 'dataset';
44980
- const idGen$s = new IDGenerator('wm_carousel_ref_');
44979
+ const idGen$q = new IDGenerator('wm_carousel_ref_');
44981
44980
  const isDynamicCarousel = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');
44982
44981
  const ɵ0$d$1 = isDynamicCarousel;
44983
44982
  register('wm-carousel', () => {
44984
44983
  return {
44985
44984
  pre: (attrs, shared) => {
44986
44985
  // generating unique Id for the carousel
44987
- const counter = idGen$s.nextUid();
44986
+ const counter = idGen$q.nextUid();
44988
44987
  shared.set('carousel_ref', counter);
44989
44988
  return `<div class="app-carousel carousel"><${carouselTagName} wmCarousel #${counter}="wmCarousel" ${getAttrMarkup(attrs)} interval="0" [ngClass]="${counter}.navigationClass">`;
44990
44989
  },
@@ -45085,12 +45084,12 @@ var marquee_build$1 = /*#__PURE__*/Object.freeze({
45085
45084
  });
45086
45085
 
45087
45086
  const tagName$1A = 'a';
45088
- const idGen$r = new IDGenerator('wm_anchor');
45087
+ const idGen$p = new IDGenerator('wm_anchor');
45089
45088
  register('wm-anchor', () => {
45090
45089
  return {
45091
45090
  pre: (attrs) => {
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)}>`;
45091
+ const counter = idGen$p.nextUid();
45092
+ return `<${tagName$1A} wmAnchor #${counter}="wmAnchor" role="link" data-identifier="anchor" [attr.aria-label]="${counter}.hint || ${counter}.caption || 'Link'" ${getAttrMarkup(attrs)}>`;
45094
45093
  },
45095
45094
  post: () => `</${tagName$1A}>`
45096
45095
  };
@@ -45117,11 +45116,11 @@ var audio_build$1 = /*#__PURE__*/Object.freeze({
45117
45116
  });
45118
45117
 
45119
45118
  const tagName$1y = 'div';
45120
- const idGen$q = new IDGenerator('wm_html');
45119
+ const idGen$o = new IDGenerator('wm_html');
45121
45120
  register('wm-html', () => {
45122
45121
  return {
45123
45122
  pre: (attrs) => {
45124
- const counter = idGen$q.nextUid();
45123
+ const counter = idGen$o.nextUid();
45125
45124
  return `<${tagName$1y} wmHtml #${counter}="wmHtml" [attr.aria-label]="${counter}.hint || 'HTML content'" ${getAttrMarkup(attrs)}>`;
45126
45125
  },
45127
45126
  post: () => `</${tagName$1y}>`
@@ -45163,12 +45162,10 @@ var iframe_build$1 = /*#__PURE__*/Object.freeze({
45163
45162
  });
45164
45163
 
45165
45164
  const tagName$1v = 'label';
45166
- const idGen$p = new IDGenerator('wm_label');
45167
45165
  register('wm-label', () => {
45168
45166
  return {
45169
45167
  pre: (attrs) => {
45170
- const counter = idGen$p.nextUid();
45171
- return `<${tagName$1v} wmLabel #${counter}="wmLabel" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
45168
+ return `<${tagName$1v} wmLabel ${getAttrMarkup(attrs)}>`;
45172
45169
  },
45173
45170
  post: () => `</${tagName$1v}>`
45174
45171
  };
@@ -45181,11 +45178,11 @@ var label_build$1 = /*#__PURE__*/Object.freeze({
45181
45178
  });
45182
45179
 
45183
45180
  const tagName$1u = 'img';
45184
- const idGen$o = new IDGenerator('wm_picture');
45181
+ const idGen$n = new IDGenerator('wm_picture');
45185
45182
  register('wm-picture', () => {
45186
45183
  return {
45187
45184
  pre: (attrs) => {
45188
- const counter = idGen$o.nextUid();
45185
+ const counter = idGen$n.nextUid();
45189
45186
  return `<${tagName$1u} wmPicture #${counter}="wmPicture" alt="image" wmImageCache="${attrs.get('offline') || 'true'}" [attr.aria-label]="${counter}.hint || 'Image'" ${getAttrMarkup(attrs)}>`;
45190
45187
  }
45191
45188
  };
@@ -45198,11 +45195,11 @@ var picture_build$1 = /*#__PURE__*/Object.freeze({
45198
45195
  });
45199
45196
 
45200
45197
  const tagName$1t = 'div';
45201
- const idGen$n = new IDGenerator('wm_spinner');
45198
+ const idGen$m = new IDGenerator('wm_spinner');
45202
45199
  register('wm-spinner', () => {
45203
45200
  return {
45204
45201
  pre: (attrs) => {
45205
- const counter = idGen$n.nextUid();
45202
+ const counter = idGen$m.nextUid();
45206
45203
  return `<${tagName$1t} wmSpinner #${counter}="wmSpinner" role="alert" [attr.aria-label]="${counter}.hint || 'Loading...'" aria-live="assertive" aria-busy="true" ${getAttrMarkup(attrs)}>`;
45207
45204
  },
45208
45205
  post: () => `</${tagName$1t}>`
@@ -45275,11 +45272,11 @@ var progressCircle_build$1 = /*#__PURE__*/Object.freeze({
45275
45272
  });
45276
45273
 
45277
45274
  const tagName$1q = 'div';
45278
- const idGen$m = new IDGenerator('wm_richtexteditor');
45275
+ const idGen$l = new IDGenerator('wm_richtexteditor');
45279
45276
  register('wm-richtexteditor', () => {
45280
45277
  return {
45281
45278
  pre: (attrs) => {
45282
- const counter = idGen$m.nextUid();
45279
+ const counter = idGen$l.nextUid();
45283
45280
  return `<${tagName$1q} wmRichTextEditor #${counter}="wmRichTextEditor" role="textbox" [attr.aria-label]="${counter}.hint || 'Richtext editor'" ${getFormMarkupAttr(attrs)}>`;
45284
45281
  },
45285
45282
  post: () => `</${tagName$1q}>`
@@ -45392,14 +45389,14 @@ var chart_build$1 = /*#__PURE__*/Object.freeze({
45392
45389
 
45393
45390
  const tagName$1i = 'div';
45394
45391
  const dataSetKey$4 = 'dataset';
45395
- const idGen$l = new IDGenerator('wm_accordion_ref_');
45392
+ const idGen$k = new IDGenerator('wm_accordion_ref_');
45396
45393
  const isDynamicAccordion = node => node.attrs.find(attr => attr.name === 'type' && attr.value === 'dynamic');
45397
45394
  const ɵ0$b$1 = isDynamicAccordion;
45398
45395
  register('wm-accordion', () => {
45399
45396
  return {
45400
45397
  pre: (attrs, shared) => {
45401
45398
  // generating unique Id for the accordion
45402
- const counter = idGen$l.nextUid();
45399
+ const counter = idGen$k.nextUid();
45403
45400
  shared.set('accordion_ref', counter);
45404
45401
  return `<${tagName$1i} wmAccordion #${counter}="wmAccordion" role="tablist" aria-multiselectable="true" ${getAttrMarkup(attrs)}>`;
45405
45402
  },
@@ -45436,13 +45433,9 @@ var accordion_build$1 = /*#__PURE__*/Object.freeze({
45436
45433
  });
45437
45434
 
45438
45435
  const tagName$1h = 'div';
45439
- const idGen$k = new IDGenerator('wm_accordionpane');
45440
45436
  register('wm-accordionpane', () => {
45441
45437
  return {
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
- },
45438
+ pre: attrs => `<${tagName$1h} wmAccordionPane partialContainer wm-navigable-element="true" role="tab" ${getAttrMarkup(attrs)}>`,
45446
45439
  post: () => `</${tagName$1h}>`
45447
45440
  };
45448
45441
  });
@@ -46044,7 +46037,7 @@ const registerFormField = (isFormField) => {
46044
46037
  const widgetType = attrs.get('widget') || FormWidgetType.TEXT;
46045
46038
  const dataRole = isFormField ? 'form-field' : 'filter-field';
46046
46039
  const validationMsg = isFormField ? `<p *ngIf="${counter}._control?.invalid && ${counter}._control?.touched && ${pCounter}.isUpdateMode"
46047
- class="help-block text-danger" aria-hidden="false" role="alert"
46040
+ class="help-block text-danger" aria-hidden="false" [attr.aria-label]="${counter}.validationmessage" role="alert"
46048
46041
  aria-live="assertive" [textContent]="${counter}.validationmessage"></p>` : '';
46049
46042
  const eventsTmpl = widgetType === FormWidgetType.UPLOAD ? '' : getEventsTemplate(attrs);
46050
46043
  const controlLayout = isMobileApp() ? 'col-xs-12' : 'col-sm-12';
@@ -46351,7 +46344,7 @@ register('wm-button', () => {
46351
46344
  return {
46352
46345
  pre: (attrs) => {
46353
46346
  const counter = idGen$c.nextUid();
46354
- return `<${tagName$P} wmButton #${counter}="wmButton" [attr.aria-label]="${counter}.hint || ${counter}.caption" ${getAttrMarkup(attrs)}>`;
46347
+ return `<${tagName$P} wmButton #${counter}="wmButton" [attr.aria-label]="${counter}.hint || ${counter}.caption || 'Button'" ${getAttrMarkup(attrs)}>`;
46355
46348
  },
46356
46349
  post: () => `</${tagName$P}>`
46357
46350
  };
@@ -46947,7 +46940,7 @@ register('wm-page', () => {
46947
46940
  },
46948
46941
  pre: (attrs) => {
46949
46942
  const counter = idGen$8.nextUid();
46950
- return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint" ${getAttrMarkup(attrs)}>`;
46943
+ return `<${tagName$p} wmPage #${counter}="wmPage" data-role="pageContainer" [attr.aria-label]="${counter}.hint || 'Main page content'" ${getAttrMarkup(attrs)}>`;
46951
46944
  },
46952
46945
  post: () => `</${tagName$p}>`
46953
46946
  };
@@ -47599,13 +47592,12 @@ const tagName$5 = 'div';
47599
47592
  const getRowExpansionActionTmpl = (attrs) => {
47600
47593
  const tag = attrs.get('widget-type') === 'anchor' ? 'a' : 'button';
47601
47594
  const directive = attrs.get('widget-type') === 'anchor' ? 'wmAnchor' : 'wmButton';
47602
- const title = attrs.get('display-name') || attrs.get('title') || 'Collapse/Expand';
47603
47595
  return `<ng-template #rowExpansionActionTmpl let-row="row">
47604
47596
  <${tag} ${directive}
47605
47597
  ${getRowActionAttrs(attrs)}
47606
47598
  class="${attrs.get('class')} row-expansion-button"
47607
47599
  iconclass="${attrs.get('collapseicon')}"
47608
- type="button" aria-label="${title}"></${tag}>
47600
+ type="button"></${tag}>
47609
47601
  </ng-template>`;
47610
47602
  };
47611
47603
  const ɵ0$1$2 = getRowExpansionActionTmpl;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/angular-codegen",
3
- "version": "11.3.0-next.24522",
3
+ "version": "11.3.0-next.24524",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {