@formio/js 5.0.0-dev.5911.81fbc1f → 5.0.0-dev.5913.cb0bb4a

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.
@@ -20,6 +20,8 @@
20
20
 
21
21
  /*! @license DOMPurify 3.1.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.6/LICENSE */
22
22
 
23
+ /*! @license DOMPurify 3.2.0 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.0/LICENSE */
24
+
23
25
  /*! formiojs v5.0.0-rc.59 | https://unpkg.com/formiojs@5.0.0-rc.59/LICENSE.txt */
24
26
 
25
27
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
@@ -808,18 +808,31 @@ class WebformBuilder extends Component_1.default {
808
808
  // Show an error if siblings are disabled for a component and such a component already exists.
809
809
  const compKey = (group === 'resource') ? `component-${key}` : key;
810
810
  const draggableComponent = ((_a = this.groups[group]) === null || _a === void 0 ? void 0 : _a.components[compKey]) || {};
811
- if (draggableComponent.disableSiblings || draggableComponent.uniqueComponent) {
811
+ if (draggableComponent.disableSiblings) {
812
812
  let isCompAlreadyExists = false;
813
813
  (0, formUtils_1.eachComponent)(this.webform.components, (component) => {
814
- if ((draggableComponent.disableSiblings && component.type === draggableComponent.schema.type) ||
815
- (draggableComponent.uniqueComponent && component.component.key === draggableComponent.schema.key)) {
814
+ if (component.type === draggableComponent.schema.type) {
816
815
  isCompAlreadyExists = true;
817
816
  return;
818
817
  }
819
818
  }, true);
820
819
  if (isCompAlreadyExists) {
821
820
  this.webform.redraw();
822
- this.webform.setAlert('danger', `You cannot add more than one ${lodash_1.default.get(draggableComponent, draggableComponent.uniqueComponent ? 'title' : 'key')} component to one page.`);
821
+ this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.key} component to one page.`);
822
+ return;
823
+ }
824
+ }
825
+ if (draggableComponent.uniqueComponent) {
826
+ let isCompAlreadyExists = false;
827
+ (0, formUtils_1.eachComponent)(this.webform.components, (component) => {
828
+ if (component.key === draggableComponent.schema.key) {
829
+ isCompAlreadyExists = true;
830
+ return;
831
+ }
832
+ }, true);
833
+ if (isCompAlreadyExists) {
834
+ this.webform.redraw();
835
+ this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.title} component to one page.`);
823
836
  return;
824
837
  }
825
838
  }
package/lib/cjs/Wizard.js CHANGED
@@ -189,7 +189,7 @@ class Wizard extends Webform_1.default {
189
189
  const ctx = this.renderContext;
190
190
  if (this.component.key) {
191
191
  ctx.panels.map(panel => {
192
- if (panel.key === this.component.key) {
192
+ if (panel.key === this.component.key && panel.title === this.component.title) {
193
193
  this.currentPanel = panel;
194
194
  ctx.wizardPageTooltip = this.getFormattedTooltip(panel.tooltip);
195
195
  }
@@ -876,6 +876,9 @@ class Wizard extends Webform_1.default {
876
876
  currentPanels = this.pages.map(page => page.component.key);
877
877
  this.establishPages();
878
878
  panels = this.pages.map(page => page.component.key);
879
+ if (panels.length !== currentPanels.length) {
880
+ this.setPage(this.pages.findIndex(page => page.component.title === this.currentPanel.components[0].label));
881
+ }
879
882
  }
880
883
  else {
881
884
  currentPanels = this.currentPanels || this.pages.map(page => page.component.key);
@@ -932,7 +935,6 @@ class Wizard extends Webform_1.default {
932
935
  }
933
936
  });
934
937
  }
935
- ;
936
938
  return super.showErrors(errors, triggerEvent);
937
939
  }
938
940
  focusOnComponent(key) {
@@ -3252,12 +3252,6 @@ class Component extends Element_1.default {
3252
3252
  return (this.component.protected || !this.component.persistent || (this.component.persistent === 'client-only'));
3253
3253
  }
3254
3254
  shouldSkipValidation(data, row, flags = {}) {
3255
- const { validateWhenHidden = false } = this.component || {};
3256
- const forceValidOnHidden = (!this.visible || !this.checkCondition(row, data)) && !validateWhenHidden;
3257
- if (forceValidOnHidden) {
3258
- // If this component is forced valid when it is hidden, then we also need to reset the errors for this component.
3259
- this._errors = [];
3260
- }
3261
3255
  const rules = [
3262
3256
  // Do not validate if the flags say not too.
3263
3257
  () => flags.noValidate,
@@ -3268,7 +3262,14 @@ class Component extends Element_1.default {
3268
3262
  // Check to see if we are editing and if so, check component persistence.
3269
3263
  () => this.isValueHidden(),
3270
3264
  // Force valid if component is hidden.
3271
- () => forceValidOnHidden
3265
+ () => {
3266
+ if (!this.component.validateWhenHidden && (!this.visible || !this.checkCondition(row, data))) {
3267
+ // If this component is forced valid when it is hidden, then we also need to reset the errors for this component.
3268
+ this._errors = [];
3269
+ return true;
3270
+ }
3271
+ return false;
3272
+ }
3272
3273
  ];
3273
3274
  return rules.some(pred => pred());
3274
3275
  }
@@ -267,7 +267,6 @@ class SelectBoxesComponent extends Radio_1.default {
267
267
  else {
268
268
  return super.setCustomValidity(messages, dirty, external);
269
269
  }
270
- ;
271
270
  }
272
271
  validateValueAvailability(setting, value) {
273
272
  if (!(0, utils_1.boolValue)(setting) || !value) {
@@ -79,7 +79,12 @@ class I18n {
79
79
  this.languages[language] = strings;
80
80
  }
81
81
  t(text, ...args) {
82
+ var _a;
82
83
  if (this.currentLanguage[text]) {
84
+ const customTranslationFieldName = (_a = args[0]) === null || _a === void 0 ? void 0 : _a.field;
85
+ if (customTranslationFieldName && this.currentLanguage[customTranslationFieldName]) {
86
+ args[0].field = this.currentLanguage[customTranslationFieldName];
87
+ }
83
88
  return utils_1.Evaluator.interpolateString(this.currentLanguage[text], ...args);
84
89
  }
85
90
  return utils_1.Evaluator.interpolateString(text, ...args);
@@ -793,18 +793,31 @@ export default class WebformBuilder extends Component {
793
793
  // Show an error if siblings are disabled for a component and such a component already exists.
794
794
  const compKey = (group === 'resource') ? `component-${key}` : key;
795
795
  const draggableComponent = this.groups[group]?.components[compKey] || {};
796
- if (draggableComponent.disableSiblings || draggableComponent.uniqueComponent) {
796
+ if (draggableComponent.disableSiblings) {
797
797
  let isCompAlreadyExists = false;
798
798
  eachComponent(this.webform.components, (component) => {
799
- if ((draggableComponent.disableSiblings && component.type === draggableComponent.schema.type) ||
800
- (draggableComponent.uniqueComponent && component.component.key === draggableComponent.schema.key)) {
799
+ if (component.type === draggableComponent.schema.type) {
801
800
  isCompAlreadyExists = true;
802
801
  return;
803
802
  }
804
803
  }, true);
805
804
  if (isCompAlreadyExists) {
806
805
  this.webform.redraw();
807
- this.webform.setAlert('danger', `You cannot add more than one ${_.get(draggableComponent, draggableComponent.uniqueComponent ? 'title' : 'key')} component to one page.`);
806
+ this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.key} component to one page.`);
807
+ return;
808
+ }
809
+ }
810
+ if (draggableComponent.uniqueComponent) {
811
+ let isCompAlreadyExists = false;
812
+ eachComponent(this.webform.components, (component) => {
813
+ if (component.key === draggableComponent.schema.key) {
814
+ isCompAlreadyExists = true;
815
+ return;
816
+ }
817
+ }, true);
818
+ if (isCompAlreadyExists) {
819
+ this.webform.redraw();
820
+ this.webform.setAlert('danger', `You cannot add more than one ${draggableComponent.title} component to one page.`);
808
821
  return;
809
822
  }
810
823
  }
package/lib/mjs/Wizard.js CHANGED
@@ -179,7 +179,7 @@ export default class Wizard extends Webform {
179
179
  const ctx = this.renderContext;
180
180
  if (this.component.key) {
181
181
  ctx.panels.map(panel => {
182
- if (panel.key === this.component.key) {
182
+ if (panel.key === this.component.key && panel.title === this.component.title) {
183
183
  this.currentPanel = panel;
184
184
  ctx.wizardPageTooltip = this.getFormattedTooltip(panel.tooltip);
185
185
  }
@@ -864,6 +864,9 @@ export default class Wizard extends Webform {
864
864
  currentPanels = this.pages.map(page => page.component.key);
865
865
  this.establishPages();
866
866
  panels = this.pages.map(page => page.component.key);
867
+ if (panels.length !== currentPanels.length) {
868
+ this.setPage(this.pages.findIndex(page => page.component.title === this.currentPanel.components[0].label));
869
+ }
867
870
  }
868
871
  else {
869
872
  currentPanels = this.currentPanels || this.pages.map(page => page.component.key);
@@ -919,7 +922,6 @@ export default class Wizard extends Webform {
919
922
  }
920
923
  });
921
924
  }
922
- ;
923
925
  return super.showErrors(errors, triggerEvent);
924
926
  }
925
927
  focusOnComponent(key) {
@@ -3214,12 +3214,6 @@ export default class Component extends Element {
3214
3214
  return (this.component.protected || !this.component.persistent || (this.component.persistent === 'client-only'));
3215
3215
  }
3216
3216
  shouldSkipValidation(data, row, flags = {}) {
3217
- const { validateWhenHidden = false } = this.component || {};
3218
- const forceValidOnHidden = (!this.visible || !this.checkCondition(row, data)) && !validateWhenHidden;
3219
- if (forceValidOnHidden) {
3220
- // If this component is forced valid when it is hidden, then we also need to reset the errors for this component.
3221
- this._errors = [];
3222
- }
3223
3217
  const rules = [
3224
3218
  // Do not validate if the flags say not too.
3225
3219
  () => flags.noValidate,
@@ -3230,7 +3224,14 @@ export default class Component extends Element {
3230
3224
  // Check to see if we are editing and if so, check component persistence.
3231
3225
  () => this.isValueHidden(),
3232
3226
  // Force valid if component is hidden.
3233
- () => forceValidOnHidden
3227
+ () => {
3228
+ if (!this.component.validateWhenHidden && (!this.visible || !this.checkCondition(row, data))) {
3229
+ // If this component is forced valid when it is hidden, then we also need to reset the errors for this component.
3230
+ this._errors = [];
3231
+ return true;
3232
+ }
3233
+ return false;
3234
+ }
3234
3235
  ];
3235
3236
  return rules.some(pred => pred());
3236
3237
  }
@@ -268,7 +268,6 @@ export default class SelectBoxesComponent extends RadioComponent {
268
268
  else {
269
269
  return super.setCustomValidity(messages, dirty, external);
270
270
  }
271
- ;
272
271
  }
273
272
  validateValueAvailability(setting, value) {
274
273
  if (!boolValue(setting) || !value) {
@@ -74,6 +74,10 @@ export class I18n {
74
74
  }
75
75
  t(text, ...args) {
76
76
  if (this.currentLanguage[text]) {
77
+ const customTranslationFieldName = args[0]?.field;
78
+ if (customTranslationFieldName && this.currentLanguage[customTranslationFieldName]) {
79
+ args[0].field = this.currentLanguage[customTranslationFieldName];
80
+ }
77
81
  return Evaluator.interpolateString(this.currentLanguage[text], ...args);
78
82
  }
79
83
  return Evaluator.interpolateString(text, ...args);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formio/js",
3
- "version": "5.0.0-dev.5911.81fbc1f",
3
+ "version": "5.0.0-dev.5913.cb0bb4a",
4
4
  "description": "JavaScript powered Forms with JSON Form Builder",
5
5
  "main": "lib/cjs/index.js",
6
6
  "exports": {
@@ -82,7 +82,7 @@
82
82
  "dependencies": {
83
83
  "@formio/bootstrap": "3.0.0-dev.98.17ba6ea",
84
84
  "@formio/choices.js": "^10.2.1",
85
- "@formio/core": "v2.1.0-dev.174.9a3c6ec",
85
+ "@formio/core": "2.1.0-dev.191.8c609ab",
86
86
  "@formio/text-mask-addons": "^3.8.0-formio.3",
87
87
  "@formio/vanilla-text-mask": "^5.1.1-formio.1",
88
88
  "abortcontroller-polyfill": "^1.7.5",