form-custom-test 3.0.244 → 3.0.246

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.
package/dist/render.es.js CHANGED
@@ -8863,6 +8863,10 @@ var fieldMixin = {
8863
8863
  return;
8864
8864
  }
8865
8865
  this.rules.splice(0, this.rules.length);
8866
+ const formRef = this.getFormRef && this.getFormRef();
8867
+ if (formRef && typeof formRef.clearValidate === "function") {
8868
+ formRef.clearValidate(this.getPropName());
8869
+ }
8866
8870
  },
8867
8871
  getFieldRules() {
8868
8872
  return FormValidators;
@@ -8875,6 +8879,9 @@ var fieldMixin = {
8875
8879
  if (!!this.field.options.hidden && !this.designState) {
8876
8880
  return;
8877
8881
  }
8882
+ if (!this.designState && this.isInsideHiddenCol()) {
8883
+ return;
8884
+ }
8878
8885
  if (!!this.field.options.required) {
8879
8886
  this.rules.push({
8880
8887
  required: true,
@@ -9162,6 +9169,68 @@ var fieldMixin = {
9162
9169
  setAppendButtonDisabled(flag) {
9163
9170
  this.field.options.appendButtonDisabled = flag;
9164
9171
  },
9172
+ isInsideHiddenCol() {
9173
+ var _a, _b, _c;
9174
+ const formRef = this.getFormRef && this.getFormRef();
9175
+ const widgetList = ((_a = formRef == null ? void 0 : formRef.formJsonObj) == null ? void 0 : _a.widgetList) || (formRef == null ? void 0 : formRef.widgetList);
9176
+ if (!widgetList || !((_c = (_b = this.field) == null ? void 0 : _b.options) == null ? void 0 : _c.name)) {
9177
+ return false;
9178
+ }
9179
+ const fieldName = this.field.options.name;
9180
+ const findHiddenCol = (list) => {
9181
+ var _a2, _b2;
9182
+ if (!Array.isArray(list))
9183
+ return false;
9184
+ for (const w of list) {
9185
+ if (!w)
9186
+ continue;
9187
+ if (w.type === "grid" && Array.isArray(w.cols)) {
9188
+ for (const col of w.cols) {
9189
+ if (((_a2 = col == null ? void 0 : col.options) == null ? void 0 : _a2.hidden) && this.fieldExistsInList(col.widgetList, fieldName)) {
9190
+ return true;
9191
+ }
9192
+ if (findHiddenCol(col == null ? void 0 : col.widgetList))
9193
+ return true;
9194
+ }
9195
+ }
9196
+ if (w.type === "grid-col" && ((_b2 = w.options) == null ? void 0 : _b2.hidden) && this.fieldExistsInList(w.widgetList, fieldName)) {
9197
+ return true;
9198
+ }
9199
+ if (Array.isArray(w.widgetList) && findHiddenCol(w.widgetList))
9200
+ return true;
9201
+ if (Array.isArray(w.cols) && findHiddenCol(w.cols))
9202
+ return true;
9203
+ if (Array.isArray(w.tabs)) {
9204
+ for (const t of w.tabs) {
9205
+ if (findHiddenCol(t == null ? void 0 : t.widgetList))
9206
+ return true;
9207
+ }
9208
+ }
9209
+ }
9210
+ return false;
9211
+ };
9212
+ return findHiddenCol(widgetList);
9213
+ },
9214
+ fieldExistsInList(list, fieldName) {
9215
+ var _a;
9216
+ if (!Array.isArray(list) || !fieldName)
9217
+ return false;
9218
+ for (const w of list) {
9219
+ if (!w)
9220
+ continue;
9221
+ if (((_a = w.options) == null ? void 0 : _a.name) === fieldName)
9222
+ return true;
9223
+ if (this.fieldExistsInList(w.widgetList, fieldName))
9224
+ return true;
9225
+ if (Array.isArray(w.cols)) {
9226
+ for (const c of w.cols) {
9227
+ if (this.fieldExistsInList(c == null ? void 0 : c.widgetList, fieldName))
9228
+ return true;
9229
+ }
9230
+ }
9231
+ }
9232
+ return false;
9233
+ },
9165
9234
  setHidden(flag) {
9166
9235
  this.field.options.hidden = flag;
9167
9236
  if (!!flag) {
@@ -24701,7 +24770,8 @@ const _sfc_main$P = {
24701
24770
  if (this.designState)
24702
24771
  return;
24703
24772
  this.syncColFieldValidation(!!val);
24704
- }
24773
+ },
24774
+ immediate: true
24705
24775
  }
24706
24776
  },
24707
24777
  methods: {
@@ -24803,7 +24873,7 @@ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
24803
24873
  key: $props.fieldSchemaData && $props.fieldSchemaData[swIdx] ? $props.fieldSchemaData[swIdx].id : swIdx,
24804
24874
  "parent-list": $props.widget.widgetList,
24805
24875
  "index-of-parent-list": swIdx,
24806
- "parent-widget": $props.parentWidget,
24876
+ "parent-widget": $props.widget,
24807
24877
  "sub-form-row-index": $props.subFormRowIndex,
24808
24878
  "sub-form-row-id": $props.subFormRowId,
24809
24879
  "sub-form-disabled": $props.subFormDisabled,
@@ -24833,7 +24903,7 @@ function _sfc_render$P(_ctx, _cache, $props, $setup, $data, $options) {
24833
24903
  [vShow, $options.colVisible]
24834
24904
  ]) : createCommentVNode("", true);
24835
24905
  }
24836
- var GridColItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$P, [["render", _sfc_render$P], ["__scopeId", "data-v-535c3a84"]]);
24906
+ var GridColItem = /* @__PURE__ */ _export_sfc$1(_sfc_main$P, [["render", _sfc_render$P], ["__scopeId", "data-v-315cc820"]]);
24837
24907
  var __glob_0_1$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
24838
24908
  __proto__: null,
24839
24909
  "default": GridColItem
@@ -26352,6 +26422,7 @@ const _sfc_main$J = {
26352
26422
  if (!needValidation) {
26353
26423
  return this.formDataModel;
26354
26424
  }
26425
+ this.syncAllHiddenColFieldRules();
26355
26426
  let callback2 = function nullFunc() {
26356
26427
  };
26357
26428
  let promise = new window.Promise(function(resolve, reject) {
@@ -26376,6 +26447,43 @@ const _sfc_main$J = {
26376
26447
  });
26377
26448
  return promise;
26378
26449
  },
26450
+ syncAllHiddenColFieldRules() {
26451
+ const walk = (list) => {
26452
+ if (!Array.isArray(list))
26453
+ return;
26454
+ list.forEach((w) => {
26455
+ var _a;
26456
+ if (!w)
26457
+ return;
26458
+ if (w.type === "grid" && Array.isArray(w.cols)) {
26459
+ w.cols.forEach((col) => {
26460
+ var _a2;
26461
+ if ((_a2 = col == null ? void 0 : col.options) == null ? void 0 : _a2.hidden) {
26462
+ this.syncFieldRulesByCol(col, true);
26463
+ }
26464
+ walk(col == null ? void 0 : col.widgetList);
26465
+ });
26466
+ } else if (w.type === "grid-col") {
26467
+ if ((_a = w == null ? void 0 : w.options) == null ? void 0 : _a.hidden) {
26468
+ this.syncFieldRulesByCol(w, true);
26469
+ }
26470
+ walk(w.widgetList);
26471
+ } else {
26472
+ if (Array.isArray(w.widgetList))
26473
+ walk(w.widgetList);
26474
+ if (Array.isArray(w.cols))
26475
+ walk(w.cols);
26476
+ if (Array.isArray(w.tabs)) {
26477
+ w.tabs.forEach((t) => walk(t == null ? void 0 : t.widgetList));
26478
+ }
26479
+ if (Array.isArray(w.rows)) {
26480
+ w.rows.forEach((r) => Array.isArray(r == null ? void 0 : r.cols) && r.cols.forEach((c) => walk(c == null ? void 0 : c.widgetList)));
26481
+ }
26482
+ }
26483
+ });
26484
+ };
26485
+ walk(this.widgetList);
26486
+ },
26379
26487
  setFormData(formData) {
26380
26488
  Object.keys(this.formDataModel).forEach((propName) => {
26381
26489
  if (!!formData && formData.hasOwnProperty(propName)) {
@@ -26474,6 +26582,7 @@ const _sfc_main$J = {
26474
26582
  this.$refs.renderForm.clearValidate(props);
26475
26583
  },
26476
26584
  validateForm(callback2) {
26585
+ this.syncAllHiddenColFieldRules();
26477
26586
  this.$refs["renderForm"].validate((valid) => {
26478
26587
  if (valid && !!this.formConfig && !!this.formConfig.onFormValidateSuccess) {
26479
26588
  this.emitFormValidateSuccess(this.formDataModel);
@@ -26680,7 +26789,7 @@ function _sfc_render$J(_ctx, _cache, $props, $setup, $data, $options) {
26680
26789
  _: 3
26681
26790
  }, 8, ["label-position", "size", "class", "label-width", "model"]);
26682
26791
  }
26683
- var VFormRender = /* @__PURE__ */ _export_sfc$1(_sfc_main$J, [["render", _sfc_render$J], ["__scopeId", "data-v-289ea27b"]]);
26792
+ var VFormRender = /* @__PURE__ */ _export_sfc$1(_sfc_main$J, [["render", _sfc_render$J], ["__scopeId", "data-v-cd88fba4"]]);
26684
26793
  function registerIcon(app) {
26685
26794
  app.component("el-icon-edit", edit);
26686
26795
  app.component("el-icon-minus", minus);
@@ -26695,13 +26804,13 @@ function registerIcon(app) {
26695
26804
  if (typeof window !== "undefined") {
26696
26805
  let loadSvg = function() {
26697
26806
  var body = document.body;
26698
- var svgDom = document.getElementById("__svg__icons__dom__1789605624806__");
26807
+ var svgDom = document.getElementById("__svg__icons__dom__1789607311752__");
26699
26808
  if (!svgDom) {
26700
26809
  svgDom = document.createElementNS("http://www.w3.org/2000/svg", "svg");
26701
26810
  svgDom.style.position = "absolute";
26702
26811
  svgDom.style.width = "0";
26703
26812
  svgDom.style.height = "0";
26704
- svgDom.id = "__svg__icons__dom__1789605624806__";
26813
+ svgDom.id = "__svg__icons__dom__1789607311752__";
26705
26814
  svgDom.setAttribute("xmlns", "http://www.w3.org/2000/svg");
26706
26815
  svgDom.setAttribute("xmlns:link", "http://www.w3.org/1999/xlink");
26707
26816
  }