@formio/js 5.1.0-dev.6205.d795b91 → 5.1.0-dev.6208.59bdd3f

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.
@@ -1124,7 +1124,7 @@ class SelectComponent extends ListComponent_1.default {
1124
1124
  }
1125
1125
  // Choices will return undefined if nothing is selected. We really want '' to be empty.
1126
1126
  if (value === undefined || value === null) {
1127
- value = '';
1127
+ value = this.emptyValue;
1128
1128
  }
1129
1129
  return value;
1130
1130
  }
@@ -17,5 +17,8 @@ export class DefaultEvaluator extends CoreEvaluator {
17
17
  template(template: any, hash: any): any;
18
18
  interpolate(rawTemplate: any, data: any, _options: any): any;
19
19
  }
20
- export let Evaluator: DefaultEvaluator;
20
+ /**
21
+ * @type {DefaultEvaluator}
22
+ */
23
+ export const Evaluator: DefaultEvaluator;
21
24
  import { DefaultEvaluator as CoreEvaluator } from '@formio/core';
@@ -60,7 +60,32 @@ class DefaultEvaluator extends core_1.DefaultEvaluator {
60
60
  }
61
61
  }
62
62
  exports.DefaultEvaluator = DefaultEvaluator;
63
- exports.Evaluator = new DefaultEvaluator();
63
+ let currentEvaluator = new DefaultEvaluator();
64
+ /**
65
+ *Create evaluator object that forwards calls to current evaluator
66
+ * to provide access to actual Evaluator instance via formioUtils
67
+ */
68
+ function createEvaluatorObject() {
69
+ return {
70
+ get cache() { return currentEvaluator.cache; },
71
+ set cache(value) { currentEvaluator.cache = value; },
72
+ get noeval() { return currentEvaluator.noeval; },
73
+ set noeval(value) { currentEvaluator.noeval = value; },
74
+ get protectedEval() { return currentEvaluator.protectedEval; },
75
+ set protectedEval(value) { currentEvaluator.protectedEval = value; },
76
+ get templateSettings() { return currentEvaluator.templateSettings; },
77
+ set templateSettings(value) { currentEvaluator.templateSettings = value; },
78
+ evaluator: (...args) => currentEvaluator.evaluator ? currentEvaluator.evaluator(...args) : undefined,
79
+ interpolate: (...args) => currentEvaluator.interpolate ? currentEvaluator.interpolate(...args) : undefined,
80
+ evaluate: (...args) => currentEvaluator.evaluate ? currentEvaluator.evaluate(...args) : undefined,
81
+ template: (...args) => currentEvaluator.template ? currentEvaluator.template(...args) : undefined,
82
+ };
83
+ }
84
+ // for compatibility with @formio/protected-eval
85
+ /**
86
+ * @type {DefaultEvaluator}
87
+ */
88
+ exports.Evaluator = createEvaluatorObject();
64
89
  // preserve the standalone interpolate function for backwards compatibility
65
90
  /**
66
91
  * For backwards compatibility we a standalone interpolate function. This merely calls the
@@ -69,7 +94,7 @@ exports.Evaluator = new DefaultEvaluator();
69
94
  * @returns {any} the interpolation result.
70
95
  */
71
96
  function interpolate(...args) {
72
- return exports.Evaluator.interpolate(...args);
97
+ return currentEvaluator.interpolate(...args);
73
98
  }
74
99
  exports.interpolate = interpolate;
75
100
  /**
@@ -78,6 +103,8 @@ exports.interpolate = interpolate;
78
103
  * @returns {void}
79
104
  */
80
105
  function registerEvaluator(override) {
81
- exports.Evaluator = override;
106
+ currentEvaluator = override;
107
+ // Update the Evaluator object methods to point to new evaluator
108
+ Object.assign(exports.Evaluator, createEvaluatorObject());
82
109
  }
83
110
  exports.registerEvaluator = registerEvaluator;
@@ -2,7 +2,8 @@ export * from "./utils";
2
2
  export * from "./formUtils";
3
3
  export default FormioUtils;
4
4
  declare const FormioUtils: {
5
- Evaluator: import("./Evaluator").DefaultEvaluator;
5
+ DefaultEvaluator: typeof DefaultEvaluator;
6
+ Evaluator: DefaultEvaluator;
6
7
  interpolate: typeof interpolate;
7
8
  ConditionOperators: {
8
9
  [x: string]: typeof import("./conditionOperators/IsEqualTo").default | typeof import("./conditionOperators/DateGreaterThan").default;
@@ -165,6 +166,7 @@ declare const FormioUtils: {
165
166
  };
166
167
  import { Evaluator } from './Evaluator';
167
168
  import { registerEvaluator } from './Evaluator';
169
+ import { DefaultEvaluator } from './Evaluator';
168
170
  import { interpolate } from './Evaluator';
169
171
  import moment from 'moment';
170
172
  export { FormioUtils as Utils, Evaluator, registerEvaluator };
@@ -38,7 +38,8 @@ Object.defineProperty(exports, "registerEvaluator", { enumerable: true, get: fun
38
38
  const conditionOperators_1 = __importDefault(require("./conditionOperators"));
39
39
  const lodash_1 = __importDefault(require("lodash"));
40
40
  const moment_1 = __importDefault(require("moment"));
41
- const FormioUtils = Object.assign(Object.assign(Object.assign({}, utils), formUtils), { Evaluator: Evaluator_1.Evaluator,
41
+ const FormioUtils = Object.assign(Object.assign(Object.assign({}, utils), formUtils), { DefaultEvaluator: Evaluator_1.DefaultEvaluator,
42
+ Evaluator: Evaluator_1.Evaluator,
42
43
  interpolate: Evaluator_1.interpolate,
43
44
  ConditionOperators: conditionOperators_1.default,
44
45
  _: lodash_1.default,
@@ -1154,7 +1154,7 @@ export default class SelectComponent extends ListComponent {
1154
1154
  }
1155
1155
  // Choices will return undefined if nothing is selected. We really want '' to be empty.
1156
1156
  if (value === undefined || value === null) {
1157
- value = '';
1157
+ value = this.emptyValue;
1158
1158
  }
1159
1159
  return value;
1160
1160
  }
@@ -17,5 +17,8 @@ export class DefaultEvaluator extends CoreEvaluator {
17
17
  template(template: any, hash: any): any;
18
18
  interpolate(rawTemplate: any, data: any, _options: any): any;
19
19
  }
20
- export let Evaluator: DefaultEvaluator;
20
+ /**
21
+ * @type {DefaultEvaluator}
22
+ */
23
+ export const Evaluator: DefaultEvaluator;
21
24
  import { DefaultEvaluator as CoreEvaluator } from '@formio/core';
@@ -50,7 +50,32 @@ export class DefaultEvaluator extends CoreEvaluator {
50
50
  return template;
51
51
  }
52
52
  }
53
- export let Evaluator = new DefaultEvaluator();
53
+ let currentEvaluator = new DefaultEvaluator();
54
+ /**
55
+ *Create evaluator object that forwards calls to current evaluator
56
+ * to provide access to actual Evaluator instance via formioUtils
57
+ */
58
+ function createEvaluatorObject() {
59
+ return {
60
+ get cache() { return currentEvaluator.cache; },
61
+ set cache(value) { currentEvaluator.cache = value; },
62
+ get noeval() { return currentEvaluator.noeval; },
63
+ set noeval(value) { currentEvaluator.noeval = value; },
64
+ get protectedEval() { return currentEvaluator.protectedEval; },
65
+ set protectedEval(value) { currentEvaluator.protectedEval = value; },
66
+ get templateSettings() { return currentEvaluator.templateSettings; },
67
+ set templateSettings(value) { currentEvaluator.templateSettings = value; },
68
+ evaluator: (...args) => currentEvaluator.evaluator ? currentEvaluator.evaluator(...args) : undefined,
69
+ interpolate: (...args) => currentEvaluator.interpolate ? currentEvaluator.interpolate(...args) : undefined,
70
+ evaluate: (...args) => currentEvaluator.evaluate ? currentEvaluator.evaluate(...args) : undefined,
71
+ template: (...args) => currentEvaluator.template ? currentEvaluator.template(...args) : undefined,
72
+ };
73
+ }
74
+ // for compatibility with @formio/protected-eval
75
+ /**
76
+ * @type {DefaultEvaluator}
77
+ */
78
+ export const Evaluator = createEvaluatorObject();
54
79
  // preserve the standalone interpolate function for backwards compatibility
55
80
  /**
56
81
  * For backwards compatibility we a standalone interpolate function. This merely calls the
@@ -59,7 +84,7 @@ export let Evaluator = new DefaultEvaluator();
59
84
  * @returns {any} the interpolation result.
60
85
  */
61
86
  export function interpolate(...args) {
62
- return Evaluator.interpolate(...args);
87
+ return currentEvaluator.interpolate(...args);
63
88
  }
64
89
  /**
65
90
  * Set the evaluator to use for evaluating expressions.
@@ -67,5 +92,7 @@ export function interpolate(...args) {
67
92
  * @returns {void}
68
93
  */
69
94
  export function registerEvaluator(override) {
70
- Evaluator = override;
95
+ currentEvaluator = override;
96
+ // Update the Evaluator object methods to point to new evaluator
97
+ Object.assign(Evaluator, createEvaluatorObject());
71
98
  }
@@ -2,7 +2,8 @@ export * from "./utils";
2
2
  export * from "./formUtils";
3
3
  export default FormioUtils;
4
4
  declare const FormioUtils: {
5
- Evaluator: import("./Evaluator").DefaultEvaluator;
5
+ DefaultEvaluator: typeof DefaultEvaluator;
6
+ Evaluator: DefaultEvaluator;
6
7
  interpolate: typeof interpolate;
7
8
  ConditionOperators: {
8
9
  [x: string]: typeof import("./conditionOperators/IsEqualTo").default | typeof import("./conditionOperators/DateGreaterThan").default;
@@ -165,6 +166,7 @@ declare const FormioUtils: {
165
166
  };
166
167
  import { Evaluator } from './Evaluator';
167
168
  import { registerEvaluator } from './Evaluator';
169
+ import { DefaultEvaluator } from './Evaluator';
168
170
  import { interpolate } from './Evaluator';
169
171
  import moment from 'moment';
170
172
  export { FormioUtils as Utils, Evaluator, registerEvaluator };
@@ -1,12 +1,13 @@
1
1
  import * as utils from './utils';
2
2
  import * as formUtils from './formUtils';
3
- import { Evaluator, registerEvaluator, interpolate } from './Evaluator';
3
+ import { Evaluator, registerEvaluator, interpolate, DefaultEvaluator } from './Evaluator';
4
4
  import ConditionOperators from './conditionOperators';
5
5
  import _ from 'lodash';
6
6
  import moment from 'moment';
7
7
  const FormioUtils = {
8
8
  ...utils,
9
9
  ...formUtils,
10
+ DefaultEvaluator,
10
11
  Evaluator,
11
12
  interpolate,
12
13
  ConditionOperators,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formio/js",
3
- "version": "5.1.0-dev.6205.d795b91",
3
+ "version": "5.1.0-dev.6208.59bdd3f",
4
4
  "description": "JavaScript powered Forms with JSON Form Builder",
5
5
  "main": "lib/cjs/index.js",
6
6
  "exports": {