@wavemaker/angular-codegen 11.2.0-next.140251 → 11.2.0-next.140402

Sign up to get free protection for your applications and to get access to all the features.
@@ -5950,6 +5950,26 @@
5950
5950
  "resolved": "https://registry.npmjs.org/@wavemaker.com/nvd3/-/nvd3-1.0.0.tgz",
5951
5951
  "integrity": "sha512-KwdblvQbf0k51JYt1SJIhhkoQflWsOfgb6MVT9I/kDFpGmm5Z71PXOTNwOGnBFvuqGH6AJVQoM7StE0IK6OmXQ=="
5952
5952
  },
5953
+ "@wavemaker/variables": {
5954
+ "version": "11.2.0-next.140402",
5955
+ "resolved": "https://registry.npmjs.org/@wavemaker/variables/-/variables-11.2.0-next.140402.tgz",
5956
+ "integrity": "sha512-mZrdL2EO7uKaeKsHRXzHtROpOrGO2leO0TEOv6wgJ80/QghayrG00ww1tF5p4FUfP2cQGq60dsqIohbR7KSydA==",
5957
+ "requires": {
5958
+ "@metrichor/jmespath": "^0.3.1",
5959
+ "lodash": "^4.17.21",
5960
+ "x2js": "^3.4.3"
5961
+ },
5962
+ "dependencies": {
5963
+ "x2js": {
5964
+ "version": "3.4.4",
5965
+ "resolved": "https://registry.npmjs.org/x2js/-/x2js-3.4.4.tgz",
5966
+ "integrity": "sha512-yG/ThaBCgnsa3aoMPAe7QwDpcyU4D70hjXC4Y1lZSfD/Tgd0MpE19FnZZRAjekryw0c8cffpOt9zsPEiqktO6Q==",
5967
+ "requires": {
5968
+ "@xmldom/xmldom": "^0.8.3"
5969
+ }
5970
+ }
5971
+ }
5972
+ },
5953
5973
  "@webassemblyjs/ast": {
5954
5974
  "version": "1.9.0",
5955
5975
  "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
@@ -6150,6 +6170,11 @@
6150
6170
  "@xtuc/long": "4.2.2"
6151
6171
  }
6152
6172
  },
6173
+ "@xmldom/xmldom": {
6174
+ "version": "0.8.6",
6175
+ "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.6.tgz",
6176
+ "integrity": "sha512-uRjjusqpoqfmRkTaNuLJ2VohVr67Q5YwDATW3VU7PfzTj6IRaihGrYI7zckGZjxQPBIp63nfvJbM+Yu5ICh0Bg=="
6177
+ },
6153
6178
  "@xtuc/ieee754": {
6154
6179
  "version": "1.2.0",
6155
6180
  "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
@@ -46,6 +46,7 @@
46
46
  "@awesome-cordova-plugins/vibration": "5.39.1",
47
47
  "@metrichor/jmespath": "^0.3.1",
48
48
  "@wavemaker.com/nvd3": "1.0.0",
49
+ "@wavemaker/variables": "11.2.0-next.140402",
49
50
  "angular-imask": "6.0.4",
50
51
  "angular2-websocket": "0.9.7",
51
52
  "core-js": "2.5.4",
@@ -69,7 +70,7 @@
69
70
  "tslib": "^2.0.0",
70
71
  "x2js": "3.2.6",
71
72
  "zone.js": "~0.11.4",
72
- "@wavemaker/app-ng-runtime": "11.2.0-next.140251"
73
+ "@wavemaker/app-ng-runtime": "11.2.0-next.140402"
73
74
  },
74
75
  "devDependencies": {
75
76
  "@ampproject/rollup-plugin-closure-compiler": "0.8.5",
@@ -37,6 +37,9 @@
37
37
  "@wm/core": [
38
38
  "node_modules/@wavemaker/app-ng-runtime/core"
39
39
  ],
40
+ "@wavemaker/variables": [
41
+ "node_modules/@wavemaker/variables/"
42
+ ],
40
43
  "@wm/components/base": [
41
44
  "node_modules/@wavemaker/app-ng-runtime/components/base"
42
45
  ],
@@ -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, {}, (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) }));
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 => {
@@ -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, {}, (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) }));
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 => {
@@ -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, {}, (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) }));
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 => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wavemaker/angular-codegen",
3
- "version": "11.2.0-next.140251",
3
+ "version": "11.2.0-next.140402",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {