element-less 0.0.66 → 0.0.68

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.
Files changed (46) hide show
  1. package/custom/data-modal/index.d.ts +4 -4
  2. package/custom/data-modal/src/dataModal.vue.d.ts +1 -1
  3. package/custom/dynamic/designerView/src/fieldPicker.vue.d.ts +2 -0
  4. package/element-less.cjs +1 -1
  5. package/element-less.iife.js +1 -1
  6. package/element-less.js +1 -1
  7. package/element-less.umd.cjs +1 -1
  8. package/elementui/cascader/index.d.ts +36 -8
  9. package/elementui/cascader/src/cascader.vue.d.ts +14 -2
  10. package/elementui/select/index.d.ts +4 -4
  11. package/elementui/select/src/select.vue.d.ts +1 -1
  12. package/elementui/table-column/index.d.ts +63 -63
  13. package/elementui/table-column/src/tableColumn.d.ts +1 -1
  14. package/elementui/table-column/src/tableColumn.vue.d.ts +3 -3
  15. package/elementui/table-column/src/tableColumnBool.vue.d.ts +3 -3
  16. package/elementui/table-column/src/tableColumnCheckbox.vue.d.ts +3 -3
  17. package/elementui/table-column/src/tableColumnEnum.vue.d.ts +3 -3
  18. package/elementui/table-column/src/tableColumnExpand.vue.d.ts +3 -3
  19. package/elementui/table-column/src/tableColumnHeader.vue.d.ts +3 -3
  20. package/elementui/table-column/src/tableColumnImage.vue.d.ts +3 -3
  21. package/elementui/table-column/src/tableColumnOperate.vue.d.ts +3 -3
  22. package/elementui/table-column/src/tableColumnSelect.vue.d.ts +3 -3
  23. package/elementui/tree/index.d.ts +4 -4
  24. package/elementui/tree/src/tree.vue.d.ts +1 -1
  25. package/elementui/tree-select/index.d.ts +4 -4
  26. package/elementui/tree-select/src/treeSelect.vue.d.ts +1 -1
  27. package/elementui/upload/index.d.ts +4 -4
  28. package/elementui/upload/src/upload.vue.d.ts +1 -1
  29. package/{index-BGBQ1Ob0.js → index-DYgEX2VV.js} +290 -54
  30. package/{index-Cq2pnHLS.cjs → index-FVUFt2C-.cjs} +1 -1
  31. package/{inner-Bw70NrB9.js → inner-Cf5U_aKM.js} +1 -1
  32. package/{inner-CON4O5Gv.cjs → inner-tSeyGG3W.cjs} +1 -1
  33. package/{innerItem-Chm62qJU.cjs → innerItem-C1ompIlh.cjs} +1 -1
  34. package/{innerItem-DoH8pmVi.js → innerItem-CqXGUjai.js} +1 -1
  35. package/{mode-csharp-SSw3MIoi.cjs → mode-csharp-Djoe6uod.cjs} +1 -1
  36. package/{mode-csharp-DXVk2zCh.js → mode-csharp-DnzxQJcZ.js} +1 -1
  37. package/{mode-css-CinEu5kF.js → mode-css-BKArO9O3.js} +1 -1
  38. package/{mode-css-B9fr8y2F.cjs → mode-css-EJzbXM-c.cjs} +1 -1
  39. package/{mode-javascript-CSfydrrh.js → mode-javascript-B8epNaGN.js} +1 -1
  40. package/{mode-javascript-DeEx7PKv.cjs → mode-javascript-CQ9JOYbO.cjs} +1 -1
  41. package/{mode-json-B_NJTBHQ.js → mode-json-Br_Lu-Mh.js} +1 -1
  42. package/{mode-json-q0lQLVgG.cjs → mode-json-DXatsSws.cjs} +1 -1
  43. package/{mode-mysql-CMcGiMki.js → mode-mysql-BDVOBDPt.js} +1 -1
  44. package/{mode-mysql-DBGG4ZdW.cjs → mode-mysql-BWy95K6h.cjs} +1 -1
  45. package/package.json +1 -1
  46. package/style.css +1 -1
@@ -31814,6 +31814,8 @@ function useTree(props2 = {}, dataTree, defaultEmits, componentName) {
31814
31814
  const optionData = ref([]);
31815
31815
  const options2 = ref([]);
31816
31816
  const selectValue = ref([]);
31817
+ const prevCascaderValue = ref([]);
31818
+ let cascadeNormalizing = false;
31817
31819
  const selectOptionData = ref([]);
31818
31820
  const remoteLoading = ref(false);
31819
31821
  const defaultExpandedKeys = ref([]);
@@ -32219,6 +32221,18 @@ function useTree(props2 = {}, dataTree, defaultEmits, componentName) {
32219
32221
  if (value === void 0) {
32220
32222
  value = "";
32221
32223
  }
32224
+ if (props2.multiple && !props2.emitPath && props2.checkStrictly && (props2.checkWithParent || props2.unCheckWithchild) && !cascadeNormalizing) {
32225
+ const normalized = normalizeCascaderCascade(Array.isArray(value) ? value : []);
32226
+ prevCascaderValue.value = normalized;
32227
+ if (normalized.length !== (Array.isArray(value) ? value.length : 0)) {
32228
+ cascadeNormalizing = true;
32229
+ selectValue.value = normalized;
32230
+ cascadeNormalizing = false;
32231
+ return;
32232
+ }
32233
+ } else if (props2.multiple && !props2.emitPath && props2.checkStrictly) {
32234
+ prevCascaderValue.value = Array.isArray(value) ? [...value] : [];
32235
+ }
32222
32236
  if (!value || value.length == 0) {
32223
32237
  returnModelValue("");
32224
32238
  if (initSelect.value) {
@@ -32328,6 +32342,38 @@ function useTree(props2 = {}, dataTree, defaultEmits, componentName) {
32328
32342
  function findParentData(parentID) {
32329
32343
  return optionData.value.find((ele) => ele[currIdField.value] == parentID);
32330
32344
  }
32345
+ function collectAncestorValues(value, acc = []) {
32346
+ const node = optionData.value.find((e) => e[props2.valueField] == value);
32347
+ if (!node) return acc;
32348
+ const parent = findParentData(node[props2.parentIdField]);
32349
+ if (parent) {
32350
+ acc.push(parent[props2.valueField]);
32351
+ collectAncestorValues(parent[props2.valueField], acc);
32352
+ }
32353
+ return acc;
32354
+ }
32355
+ function collectDescendantValues(value, acc = []) {
32356
+ const node = optionData.value.find((e) => e[props2.valueField] == value);
32357
+ if (!node) return acc;
32358
+ optionData.value.filter((e) => e[props2.parentIdField] == node[currIdField.value]).forEach((child) => {
32359
+ acc.push(child[props2.valueField]);
32360
+ collectDescendantValues(child[props2.valueField], acc);
32361
+ });
32362
+ return acc;
32363
+ }
32364
+ function normalizeCascaderCascade(value) {
32365
+ if (!props2.multiple || props2.emitPath || !props2.checkStrictly) return value;
32366
+ if (!props2.checkWithParent && !props2.unCheckWithchild) return value;
32367
+ const set = new Set(value);
32368
+ const prev = prevCascaderValue.value;
32369
+ if (props2.checkWithParent) {
32370
+ value.filter((v) => prev.indexOf(v) === -1).forEach((v) => collectAncestorValues(v).forEach((a) => set.add(a)));
32371
+ }
32372
+ if (props2.unCheckWithchild) {
32373
+ prev.filter((v) => value.indexOf(v) === -1).forEach((v) => collectDescendantValues(v).forEach((d) => set.delete(d)));
32374
+ }
32375
+ return Array.from(set);
32376
+ }
32331
32377
  function unCheckChild(parentID) {
32332
32378
  optionData.value.filter((ele) => ele[props2.parentIdField] == parentID).forEach((ele) => {
32333
32379
  if (dataTree.value.getCheckedKeys().indexOf(ele[currIdField.value]) > -1) {
@@ -32700,7 +32746,8 @@ const _sfc_main$2q = /* @__PURE__ */ defineComponent({
32700
32746
  nodeSource: "currNode",
32701
32747
  fieldCode: childPath,
32702
32748
  componentType: af.componentType || "",
32703
- componentOptions: af.componentOptions || null
32749
+ componentOptions: af.componentOptions || null,
32750
+ multiple: !!af.multiple
32704
32751
  } : null;
32705
32752
  }).filter(Boolean);
32706
32753
  if (nameMatch || children.length > 0) {
@@ -32717,7 +32764,8 @@ const _sfc_main$2q = /* @__PURE__ */ defineComponent({
32717
32764
  nodeSource: "currNode",
32718
32765
  fieldCode: f.keyCode,
32719
32766
  componentType: f.componentType || "",
32720
- componentOptions: f.componentOptions || null
32767
+ componentOptions: f.componentOptions || null,
32768
+ multiple: !!f.multiple
32721
32769
  });
32722
32770
  }
32723
32771
  }
@@ -32735,7 +32783,8 @@ const _sfc_main$2q = /* @__PURE__ */ defineComponent({
32735
32783
  nodeSource: "parentNode",
32736
32784
  fieldCode: f.keyCode,
32737
32785
  componentType: f.componentType || "",
32738
- componentOptions: f.componentOptions || null
32786
+ componentOptions: f.componentOptions || null,
32787
+ multiple: !!f.multiple
32739
32788
  }));
32740
32789
  });
32741
32790
  const globalDataItems = computed(() => {
@@ -32767,7 +32816,8 @@ const _sfc_main$2q = /* @__PURE__ */ defineComponent({
32767
32816
  nodeSource: "rootNode",
32768
32817
  fieldCode: fullPath,
32769
32818
  componentType: f.componentType || "",
32770
- componentOptions: f.componentOptions || null
32819
+ componentOptions: f.componentOptions || null,
32820
+ multiple: !!f.multiple
32771
32821
  });
32772
32822
  }
32773
32823
  } else {
@@ -32781,7 +32831,8 @@ const _sfc_main$2q = /* @__PURE__ */ defineComponent({
32781
32831
  nodeSource: "rootNode",
32782
32832
  fieldCode: f.keyCode,
32783
32833
  componentType: f.componentType || "",
32784
- componentOptions: f.componentOptions || null
32834
+ componentOptions: f.componentOptions || null,
32835
+ multiple: !!f.multiple
32785
32836
  });
32786
32837
  }
32787
32838
  }
@@ -33048,7 +33099,7 @@ const _sfc_main$2q = /* @__PURE__ */ defineComponent({
33048
33099
  };
33049
33100
  }
33050
33101
  });
33051
- const FieldPicker = /* @__PURE__ */ _export_sfc$1(_sfc_main$2q, [["__scopeId", "data-v-1ddf1c52"]]);
33102
+ const FieldPicker = /* @__PURE__ */ _export_sfc$1(_sfc_main$2q, [["__scopeId", "data-v-f7844c2e"]]);
33052
33103
  const _hoisted_1$1q = { class: "condition-builder-trigger" };
33053
33104
  const _hoisted_2$z = { class: "cb-dialog-body" };
33054
33105
  const _hoisted_3$q = { class: "cb-header" };
@@ -33110,12 +33161,24 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33110
33161
  { value: "!=", label: "不等于" }
33111
33162
  ],
33112
33163
  Array: [
33164
+ { value: "contains", label: "包含" },
33165
+ { value: "notContains", label: "不包含" },
33113
33166
  { value: "empty", label: "为空" },
33114
33167
  { value: "notEmpty", label: "不为空" }
33115
33168
  ]
33116
33169
  };
33117
33170
  const DEFAULT_OPS = OPERATORS.String;
33171
+ const MULTI_OPS = [
33172
+ { value: "contains", label: "包含" },
33173
+ { value: "notContains", label: "不包含" },
33174
+ { value: "empty", label: "为空" },
33175
+ { value: "notEmpty", label: "不为空" }
33176
+ ];
33177
+ function isMultiSelect(cond) {
33178
+ return !!cond.multiple;
33179
+ }
33118
33180
  function getOperators(cond) {
33181
+ if (isMultiSelect(cond)) return MULTI_OPS;
33119
33182
  return OPERATORS[cond.dataTypeName] || DEFAULT_OPS;
33120
33183
  }
33121
33184
  const allFieldOptions = computed(() => {
@@ -33130,7 +33193,8 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33130
33193
  nodeSource: "currNode",
33131
33194
  fieldCode: f.keyCode,
33132
33195
  componentType: f.componentType || "",
33133
- componentOptions: f.componentOptions || null
33196
+ componentOptions: f.componentOptions || null,
33197
+ multiple: !!f.multiple
33134
33198
  })),
33135
33199
  ...parentFieldsList.map((f) => ({
33136
33200
  value: `parent:${f.keyCode}`,
@@ -33139,7 +33203,8 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33139
33203
  nodeSource: "parentNode",
33140
33204
  fieldCode: f.keyCode,
33141
33205
  componentType: f.componentType || "",
33142
- componentOptions: f.componentOptions || null
33206
+ componentOptions: f.componentOptions || null,
33207
+ multiple: !!f.multiple
33143
33208
  })),
33144
33209
  ...allFormFields.value.map((f) => {
33145
33210
  const pathParts = [...f.containerPath || [], f.keyCode];
@@ -33151,7 +33216,8 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33151
33216
  nodeSource: "rootNode",
33152
33217
  fieldCode: fullPath,
33153
33218
  componentType: f.componentType || "",
33154
- componentOptions: f.componentOptions || null
33219
+ componentOptions: f.componentOptions || null,
33220
+ multiple: !!f.multiple
33155
33221
  };
33156
33222
  }),
33157
33223
  ...gdOpts
@@ -33177,6 +33243,11 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33177
33243
  const ref2 = getFieldRef(c);
33178
33244
  if (c.operator === "empty") return `!${ref2}`;
33179
33245
  if (c.operator === "notEmpty") return `!!${ref2}`;
33246
+ if (c.operator === "contains" || c.operator === "notContains") {
33247
+ const item = c.dataTypeName === "Number" ? c.value ?? 0 : JSON.stringify(String(c.value ?? ""));
33248
+ const expr = `(',' + (${ref2} ?? '') + ',').includes(',' + ${item} + ',')`;
33249
+ return c.operator === "contains" ? expr : `!${expr}`;
33250
+ }
33180
33251
  const val = c.dataTypeName === "Number" ? c.value ?? 0 : JSON.stringify(c.value ?? "");
33181
33252
  return `${ref2} ${c.operator} ${val}`;
33182
33253
  });
@@ -33186,8 +33257,40 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33186
33257
  return acc + sep + p;
33187
33258
  }, "");
33188
33259
  }
33260
+ function parseLiteral(raw) {
33261
+ let val = raw.trim();
33262
+ if (val.startsWith("'") && val.endsWith("'") || val.startsWith('"') && val.endsWith('"')) val = val.slice(1, -1);
33263
+ else if (val === "true") val = true;
33264
+ else if (val === "false") val = false;
33265
+ else if (!isNaN(Number(val))) val = Number(val);
33266
+ return val;
33267
+ }
33189
33268
  function parseSingleCondition(part) {
33190
33269
  const s = part.trim();
33270
+ const includesM = s.match(/^(!?)\(','\s*\+\s*\((.+?)\s*\?\?\s*''\)\s*\+\s*','\)\.includes\(','\s*\+\s*(.+?)\s*\+\s*','\)$/);
33271
+ if (includesM) {
33272
+ const operator = includesM[1] === "!" ? "notContains" : "contains";
33273
+ const refStr = includesM[2].trim();
33274
+ const value = parseLiteral(includesM[3]);
33275
+ const nestedRef = refStr.match(new RegExp(`^${nodePattern}\\['([^']+)'\\]\\?\\.value\\?\\.\\['([^']+)'\\]\\?\\.value$`));
33276
+ if (nestedRef) {
33277
+ const nodeSource = nestedRef[1];
33278
+ const fieldCode = `${nestedRef[2]}.${nestedRef[3]}`;
33279
+ return { fieldCode, fieldName: fieldCode, dataTypeName: "String", operator, value, logicOp: "AND", nodeSource, multiple: true };
33280
+ }
33281
+ const singleRef = refStr.match(new RegExp(`^${nodePattern}\\['([^']+)'\\]\\?\\.value$`));
33282
+ if (singleRef) {
33283
+ const nodeSource = singleRef[1];
33284
+ const f = nodeSource === "currNode" ? siblingFields.value.find((f2) => f2.keyCode === singleRef[2]) : null;
33285
+ return { fieldCode: singleRef[2], fieldName: (f == null ? void 0 : f.keyName) || singleRef[2], dataTypeName: (f == null ? void 0 : f.dataTypeName) || "String", operator, value, logicOp: "AND", nodeSource, multiple: true };
33286
+ }
33287
+ const gdRef = refStr.match(/^globalData\.(.+)$/);
33288
+ if (gdRef) {
33289
+ const f = findGlobalDataOption(gdRef[1]);
33290
+ return { fieldCode: gdRef[1], fieldName: (f == null ? void 0 : f.label) || gdRef[1], dataTypeName: (f == null ? void 0 : f.dataTypeName) || "String", operator, value, logicOp: "AND", nodeSource: "globalData", multiple: true };
33291
+ }
33292
+ return null;
33293
+ }
33191
33294
  const nestedNotEmptyM = s.match(new RegExp(`^!!${nodePattern}\\['([^']+)'\\]\\?\\.value\\?\\.\\['([^']+)'\\]\\?\\.value$`));
33192
33295
  if (nestedNotEmptyM) {
33193
33296
  const nodeSource = nestedNotEmptyM[1];
@@ -33328,16 +33431,18 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33328
33431
  }
33329
33432
  function addCondition() {
33330
33433
  const defaultOpt = allFieldOptions.value[0];
33331
- localConditions.value.push({
33332
- fieldCode: (defaultOpt == null ? void 0 : defaultOpt.fieldCode) || "",
33333
- fieldName: (defaultOpt == null ? void 0 : defaultOpt.label) || "",
33334
- dataTypeName: (defaultOpt == null ? void 0 : defaultOpt.dataTypeName) || "String",
33434
+ const cond = {
33435
+ fieldCode: "",
33436
+ fieldName: "",
33437
+ dataTypeName: "String",
33335
33438
  operator: "==",
33336
33439
  value: "",
33337
33440
  logicOp: "AND",
33338
- nodeSource: (defaultOpt == null ? void 0 : defaultOpt.nodeSource) || "currNode",
33339
- _combined: (defaultOpt == null ? void 0 : defaultOpt.value) || ""
33340
- });
33441
+ nodeSource: "currNode",
33442
+ _combined: ""
33443
+ };
33444
+ if (defaultOpt) applyFieldSelect(cond, defaultOpt);
33445
+ localConditions.value.push(cond);
33341
33446
  }
33342
33447
  function removeCondition(i) {
33343
33448
  localConditions.value.splice(i, 1);
@@ -33364,6 +33469,7 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33364
33469
  cond.dataTypeName = opt.dataTypeName || "String";
33365
33470
  cond.componentType = opt.componentType || "";
33366
33471
  cond.componentOptions = opt.componentOptions || null;
33472
+ cond.multiple = !!opt.multiple;
33367
33473
  cond.value = "";
33368
33474
  const ops = getOperators(cond);
33369
33475
  if (!ops.find((o) => o.value === cond.operator)) cond.operator = ops[0].value;
@@ -33375,6 +33481,7 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33375
33481
  cond.dataTypeName = field.dataTypeName || cond.dataTypeName;
33376
33482
  cond.componentType = field.componentType || "";
33377
33483
  cond.componentOptions = field.componentOptions || null;
33484
+ cond.multiple = !!field.multiple;
33378
33485
  }
33379
33486
  }
33380
33487
  function clearCondition() {
@@ -33794,7 +33901,7 @@ const _sfc_main$2p = /* @__PURE__ */ defineComponent({
33794
33901
  };
33795
33902
  }
33796
33903
  });
33797
- const ConditionBuilderVue = /* @__PURE__ */ _export_sfc$1(_sfc_main$2p, [["__scopeId", "data-v-0b3e6aff"]]);
33904
+ const ConditionBuilderVue = /* @__PURE__ */ _export_sfc$1(_sfc_main$2p, [["__scopeId", "data-v-3580b83f"]]);
33798
33905
  const _hoisted_1$1p = { class: "expr-input-wrapper" };
33799
33906
  const _hoisted_2$y = {
33800
33907
  key: 0,
@@ -38772,9 +38879,12 @@ const tableColumnProps = Object.assign({}, defaults_default$1, buildProps({
38772
38879
  */
38773
38880
  isLocaleString: Boolean,
38774
38881
  /**
38775
- * @description 是否可编辑
38882
+ * @description 是否可编辑,true=显式开启,false=显式屏蔽,undefined=继承table级isEdit
38776
38883
  */
38777
- isEdit: Boolean,
38884
+ isEdit: {
38885
+ type: Boolean,
38886
+ default: void 0
38887
+ },
38778
38888
  /**
38779
38889
  * @description 编辑字段名,多个用逗号分割
38780
38890
  */
@@ -39212,7 +39322,7 @@ const _sfc_main$27 = /* @__PURE__ */ defineComponent({
39212
39322
  key: 0,
39213
39323
  innerHTML: row[_ctx.prop]
39214
39324
  }, null, 8, _hoisted_2$v)) : createCommentVNode("", true)
39215
- ]) : !unref(tableGlobalData).isEdit && (!row.edit || !_ctx.isEdit) && _ctx.prop ? (openBlock(), createElementBlock(Fragment$1, { key: 1 }, [
39325
+ ]) : (_ctx.isEdit === false || !unref(tableGlobalData).isEdit && (!row.edit || _ctx.isEdit !== true)) && _ctx.prop ? (openBlock(), createElementBlock(Fragment$1, { key: 1 }, [
39216
39326
  _ctx.type == "image" ? (openBlock(), createBlock(_component_els_image, {
39217
39327
  key: 0,
39218
39328
  "empty-desc": _ctx.imageEmptyDesc,
@@ -43513,6 +43623,20 @@ const cascaderProps = buildProps({
43513
43623
  * @description 是否严格的遵守父子节点不互相关联
43514
43624
  */
43515
43625
  checkStrictly: Boolean,
43626
+ /**
43627
+ * @description 选择节点并且勾选父节点(仅 multiple + checkStrictly + 非 emitPath 生效)
43628
+ */
43629
+ checkWithParent: {
43630
+ type: Boolean,
43631
+ default: false
43632
+ },
43633
+ /**
43634
+ * @description 取消选择并且取消子节点(仅 multiple + checkStrictly + 非 emitPath 生效)
43635
+ */
43636
+ unCheckWithchild: {
43637
+ type: Boolean,
43638
+ default: false
43639
+ },
43516
43640
  /**
43517
43641
  * @description 次级菜单的展开方式
43518
43642
  */
@@ -50773,7 +50897,7 @@ const property_radio = [
50773
50897
  "circle": false,
50774
50898
  "autoInsertSpace": false,
50775
50899
  "tag": "button",
50776
- "eventClick": `currNode["default"].value.push({
50900
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
50777
50901
  id:utils.shortid(),
50778
50902
  label:'',
50779
50903
  value:'',
@@ -50978,7 +51102,7 @@ const property_radio = [
50978
51102
  "circle": false,
50979
51103
  "autoInsertSpace": false,
50980
51104
  "tag": "button",
50981
- "eventClick": `currNode["default"].value.push({
51105
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
50982
51106
  id:utils.shortid(),
50983
51107
  label:'',
50984
51108
  value:'',
@@ -51192,7 +51316,7 @@ const property_radio = [
51192
51316
  "circle": false,
51193
51317
  "autoInsertSpace": false,
51194
51318
  "tag": "button",
51195
- "eventClick": `currNode["default"].value.push({
51319
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
51196
51320
  id:utils.shortid(),
51197
51321
  label:'',
51198
51322
  value:'',
@@ -51801,7 +51925,7 @@ const property_checkbox = [
51801
51925
  "circle": false,
51802
51926
  "autoInsertSpace": false,
51803
51927
  "tag": "button",
51804
- "eventClick": `currNode["default"].value.push({
51928
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
51805
51929
  id:utils.shortid(),
51806
51930
  label:'',
51807
51931
  value:'',
@@ -52306,7 +52430,7 @@ const property_select = [
52306
52430
  "circle": false,
52307
52431
  "autoInsertSpace": false,
52308
52432
  "tag": "button",
52309
- "eventClick": `currNode["default"].value.push({
52433
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
52310
52434
  id:utils.shortid(),
52311
52435
  label:'',
52312
52436
  value:'',
@@ -52511,7 +52635,7 @@ const property_select = [
52511
52635
  "circle": false,
52512
52636
  "autoInsertSpace": false,
52513
52637
  "tag": "button",
52514
- "eventClick": `currNode["default"].value.push({
52638
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
52515
52639
  id:utils.shortid(),
52516
52640
  label:'',
52517
52641
  value:'',
@@ -52725,7 +52849,7 @@ const property_select = [
52725
52849
  "circle": false,
52726
52850
  "autoInsertSpace": false,
52727
52851
  "tag": "button",
52728
- "eventClick": `currNode["default"].value.push({
52852
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
52729
52853
  id:utils.shortid(),
52730
52854
  label:'',
52731
52855
  value:'',
@@ -66144,7 +66268,7 @@ const property_table = [
66144
66268
  "columns": [
66145
66269
  {
66146
66270
  "id": "label",
66147
- "label": "label",
66271
+ "label": "列名称",
66148
66272
  "prop": "label",
66149
66273
  "width": "",
66150
66274
  "showSummary": false,
@@ -66494,13 +66618,13 @@ const property_table = [
66494
66618
  "circle": false,
66495
66619
  "autoInsertSpace": false,
66496
66620
  "tag": "button",
66497
- "eventClick": `currNode["default"].value.push({
66621
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
66498
66622
  id:utils.shortid(),
66499
66623
  label:'',
66500
66624
  prop:'',
66501
66625
  type:'default',
66502
66626
  width:'',
66503
- isEdit:false,
66627
+ isEdit:undefined,
66504
66628
  editComponent:{name:'els-input',props:{}}
66505
66629
  })`
66506
66630
  },
@@ -70447,7 +70571,7 @@ const property_cascader = [
70447
70571
  "circle": false,
70448
70572
  "autoInsertSpace": false,
70449
70573
  "tag": "button",
70450
- "eventClick": `currNode["default"].value.push({
70574
+ "eventClick": `refs[currNode["default"]?.keyID]?.addRow({
70451
70575
  id:utils.shortid(),
70452
70576
  label:'',
70453
70577
  value:'',
@@ -70750,6 +70874,97 @@ const property_cascader = [
70750
70874
  "arrayConfig": {}
70751
70875
  }
70752
70876
  },
70877
+ {
70878
+ "keyID": "id_3564",
70879
+ "keyName": "栅格行",
70880
+ "keyCode": "",
70881
+ "children": [
70882
+ {
70883
+ "keyID": "id_3565",
70884
+ "keyName": "勾选节点后父节点也会勾选",
70885
+ "keyCode": "checkWithParent",
70886
+ "children": [],
70887
+ "dataType": "Bool",
70888
+ "arrayDataType": "",
70889
+ "componentTypeLabel": "开关",
70890
+ "componentType": "Switch",
70891
+ "icon": "switch-one",
70892
+ "slots": [],
70893
+ "config": {
70894
+ "formConfig": {
70895
+ "labelWidth": "",
70896
+ "suffixContent": "",
70897
+ "requiredMessage": "",
70898
+ "re_required": "",
70899
+ "tip": "仅多选 + 选择任意一级 + 非返回节点路径时生效",
70900
+ "tipPosition": "left",
70901
+ "validType": "",
70902
+ "validMessage": "",
70903
+ "validExpression": "",
70904
+ "validMethod": ""
70905
+ },
70906
+ "baseConfig": {
70907
+ "active-value": true,
70908
+ "inactive-value": false
70909
+ },
70910
+ "advancedConfig": {},
70911
+ "arrayConfig": {}
70912
+ },
70913
+ "defaultValue": false
70914
+ },
70915
+ {
70916
+ "keyID": "id_3566",
70917
+ "keyName": "取消节点后子节点也会取消",
70918
+ "keyCode": "unCheckWithchild",
70919
+ "children": [],
70920
+ "dataType": "Bool",
70921
+ "arrayDataType": "",
70922
+ "componentTypeLabel": "开关",
70923
+ "componentType": "Switch",
70924
+ "icon": "switch-one",
70925
+ "slots": [],
70926
+ "config": {
70927
+ "formConfig": {
70928
+ "labelWidth": "",
70929
+ "suffixContent": "",
70930
+ "requiredMessage": "",
70931
+ "re_required": "",
70932
+ "tip": "仅多选 + 选择任意一级 + 非返回节点路径时生效",
70933
+ "tipPosition": "left",
70934
+ "validType": "",
70935
+ "validMessage": "",
70936
+ "validExpression": "",
70937
+ "validMethod": ""
70938
+ },
70939
+ "baseConfig": {
70940
+ "active-value": true,
70941
+ "inactive-value": false
70942
+ },
70943
+ "advancedConfig": {},
70944
+ "arrayConfig": {}
70945
+ },
70946
+ "defaultValue": false
70947
+ }
70948
+ ],
70949
+ "dataType": "None",
70950
+ "arrayDataType": "",
70951
+ "componentTypeLabel": "栅格行",
70952
+ "componentType": "Row",
70953
+ "icon": "layout-two",
70954
+ "slots": [],
70955
+ "config": {
70956
+ "formConfig": {},
70957
+ "baseConfig": {
70958
+ "gutter": 10,
70959
+ "span": 12,
70960
+ "justify": "start",
70961
+ "align": "",
70962
+ "tag": "div"
70963
+ },
70964
+ "advancedConfig": {},
70965
+ "arrayConfig": {}
70966
+ }
70967
+ },
70753
70968
  {
70754
70969
  "keyID": "id_4862",
70755
70970
  "keyName": "栅格行",
@@ -73338,7 +73553,7 @@ const _sfc_main$1m = /* @__PURE__ */ defineComponent({
73338
73553
  emits: /* @__PURE__ */ mergeModels(["removeItem"], ["update:children"]),
73339
73554
  setup(__props, { emit: __emit }) {
73340
73555
  const DynamicDesignerInnerItem = defineAsyncComponent(() => {
73341
- return import("./innerItem-DoH8pmVi.js");
73556
+ return import("./innerItem-CqXGUjai.js");
73342
73557
  });
73343
73558
  const { getValue: getValue2 } = useProps();
73344
73559
  const tagID = getValue2("tagID");
@@ -74056,6 +74271,12 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
74056
74271
  return props2.visibleFields.includes(field);
74057
74272
  }
74058
74273
  const SELECT_TYPES_DESIGNER = ["Select", "Radio", "Checkbox"];
74274
+ function isMultiSelectFieldDesigner(item, typeName) {
74275
+ var _a, _b;
74276
+ if (typeName === "Checkbox") return true;
74277
+ if (typeName === "Select") return ((_b = (_a = item.config) == null ? void 0 : _a.baseConfig) == null ? void 0 : _b.multiple) === true;
74278
+ return false;
74279
+ }
74059
74280
  function resolveTypeName(dataType) {
74060
74281
  var _a;
74061
74282
  return ((_a = currDynamicDataType.value.find((dt2) => dt2.value === dataType)) == null ? void 0 : _a.type) || dataType || "";
@@ -74082,7 +74303,8 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
74082
74303
  containerPath,
74083
74304
  containerKeyNames,
74084
74305
  componentType: typeName,
74085
- componentOptions: SELECT_TYPES_DESIGNER.includes(typeName) ? ((_b = (_a = item.config) == null ? void 0 : _a.baseConfig) == null ? void 0 : _b.data) || null : null
74306
+ componentOptions: SELECT_TYPES_DESIGNER.includes(typeName) ? ((_b = (_a = item.config) == null ? void 0 : _a.baseConfig) == null ? void 0 : _b.data) || null : null,
74307
+ multiple: isMultiSelectFieldDesigner(item, typeName)
74086
74308
  });
74087
74309
  }
74088
74310
  if (!isArrayContainer) {
@@ -74119,7 +74341,8 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
74119
74341
  keyName: item.keyName,
74120
74342
  dataTypeName: dataTypeName || "String",
74121
74343
  componentType: typeName,
74122
- componentOptions: SELECT_TYPES_DESIGNER.includes(typeName) ? ((_b = (_a = item.config) == null ? void 0 : _a.baseConfig) == null ? void 0 : _b.data) || null : null
74344
+ componentOptions: SELECT_TYPES_DESIGNER.includes(typeName) ? ((_b = (_a = item.config) == null ? void 0 : _a.baseConfig) == null ? void 0 : _b.data) || null : null,
74345
+ multiple: isMultiSelectFieldDesigner(item, typeName)
74123
74346
  };
74124
74347
  }
74125
74348
  initData();
@@ -74211,7 +74434,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
74211
74434
  };
74212
74435
  }
74213
74436
  });
74214
- const Designer = /* @__PURE__ */ _export_sfc$1(_sfc_main$1l, [["__scopeId", "data-v-7bf90ef8"]]);
74437
+ const Designer = /* @__PURE__ */ _export_sfc$1(_sfc_main$1l, [["__scopeId", "data-v-1112b724"]]);
74215
74438
  const ElsDynamicDesigner = withInstall$1(Designer);
74216
74439
  const renderProps = buildProps({
74217
74440
  ...formItemProps$1,
@@ -74310,10 +74533,10 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
74310
74533
  emits: ["update:modelValue"],
74311
74534
  setup(__props, { expose: __expose, emit: __emit }) {
74312
74535
  const DynamicRenderInner = defineAsyncComponent(() => {
74313
- return import("./inner-Bw70NrB9.js").then((n) => n.i);
74536
+ return import("./inner-Cf5U_aKM.js").then((n) => n.i);
74314
74537
  });
74315
74538
  const DynamicRenderForm = defineAsyncComponent(() => {
74316
- return import("./inner-Bw70NrB9.js").then((n) => n.f);
74539
+ return import("./inner-Cf5U_aKM.js").then((n) => n.f);
74317
74540
  });
74318
74541
  const props2 = __props;
74319
74542
  const { getValue: getValue2, setValue, formNodeProps } = useProps(props2);
@@ -74543,10 +74766,10 @@ const _sfc_main$1j = /* @__PURE__ */ defineComponent({
74543
74766
  emits: ["update:modelValue"],
74544
74767
  setup(__props, { expose: __expose, emit: __emit }) {
74545
74768
  const DynamicRenderInnerAsync = defineAsyncComponent(() => {
74546
- return import("./inner-Bw70NrB9.js").then((n) => n.i);
74769
+ return import("./inner-Cf5U_aKM.js").then((n) => n.i);
74547
74770
  });
74548
74771
  const DynamicRenderFormAsync = defineAsyncComponent(() => {
74549
- return import("./inner-Bw70NrB9.js").then((n) => n.f);
74772
+ return import("./inner-Cf5U_aKM.js").then((n) => n.f);
74550
74773
  });
74551
74774
  const props2 = __props;
74552
74775
  const { getValue: getValue2, setValue, formNodeProps } = useProps(props2);
@@ -77825,7 +78048,7 @@ const _hoisted_16$1 = { class: "confirm-title confirm-yes-title" };
77825
78048
  const _hoisted_17$1 = { class: "confirm-body confirm-yes-body" };
77826
78049
  const _hoisted_18$1 = {
77827
78050
  key: 1,
77828
- style: { "position": "relative" }
78051
+ style: { "position": "relative", "min-width": "0", "overflow": "hidden" }
77829
78052
  };
77830
78053
  const _hoisted_19$1 = { class: "els-dynamic-d-view-propertys" };
77831
78054
  const _hoisted_20$1 = { class: "preview-header" };
@@ -78256,9 +78479,11 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
78256
78479
  return null;
78257
78480
  }
78258
78481
  });
78259
- function syncColumnEditSlots(node, columns) {
78482
+ function syncColumnEditSlots(node, columns, tableIsEdit) {
78260
78483
  if (!node.slots) node.slots = [];
78261
- const editCols = (Array.isArray(columns) ? columns : []).filter((c) => c.isEdit);
78484
+ const editCols = (Array.isArray(columns) ? columns : []).filter(
78485
+ (c) => c.isEdit === true || c.isEdit !== false && tableIsEdit
78486
+ );
78262
78487
  editCols.forEach((col) => {
78263
78488
  if (!col.id) col.id = col.prop || utils.shortid();
78264
78489
  });
@@ -78277,14 +78502,17 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
78277
78502
  }
78278
78503
  watch(
78279
78504
  () => {
78280
- var _a2, _b2, _c;
78281
- return (_c = (_b2 = (_a2 = currSelectItem.value) == null ? void 0 : _a2.config) == null ? void 0 : _b2.baseConfig) == null ? void 0 : _c.columns;
78505
+ var _a2, _b2, _c, _d, _e, _f;
78506
+ return [
78507
+ (_c = (_b2 = (_a2 = currSelectItem.value) == null ? void 0 : _a2.config) == null ? void 0 : _b2.baseConfig) == null ? void 0 : _c.columns,
78508
+ (_f = (_e = (_d = currSelectItem.value) == null ? void 0 : _d.config) == null ? void 0 : _e.baseConfig) == null ? void 0 : _f.isEdit
78509
+ ];
78282
78510
  },
78283
- (columns) => {
78511
+ ([columns, tableIsEdit]) => {
78284
78512
  var _a2;
78285
78513
  if (!currSelectItem.value) return;
78286
78514
  if (!Array.isArray(columns) && !((_a2 = currSelectItem.value.slots) == null ? void 0 : _a2.some((s) => s.name.startsWith("edit-")))) return;
78287
- syncColumnEditSlots(currSelectItem.value, Array.isArray(columns) ? columns : []);
78515
+ syncColumnEditSlots(currSelectItem.value, Array.isArray(columns) ? columns : [], tableIsEdit);
78288
78516
  },
78289
78517
  { deep: true, immediate: true }
78290
78518
  );
@@ -78305,7 +78533,8 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
78305
78533
  containerPath,
78306
78534
  containerKeyNames,
78307
78535
  componentType: typeName,
78308
- componentOptions: SELECT_TYPES_FIELD.includes(typeName) ? ((_c = (_b2 = item.config) == null ? void 0 : _b2.baseConfig) == null ? void 0 : _c.data) || null : null
78536
+ componentOptions: SELECT_TYPES_FIELD.includes(typeName) ? ((_c = (_b2 = item.config) == null ? void 0 : _b2.baseConfig) == null ? void 0 : _c.data) || null : null,
78537
+ multiple: isMultiSelectField(item, typeName)
78309
78538
  });
78310
78539
  }
78311
78540
  if (!isArrayContainer) {
@@ -78338,6 +78567,12 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
78338
78567
  return traverse(renderData.value);
78339
78568
  }
78340
78569
  const SELECT_TYPES_FIELD = ["Select", "Radio", "Checkbox"];
78570
+ function isMultiSelectField(item, typeName) {
78571
+ var _a2, _b2;
78572
+ if (typeName === "Checkbox") return true;
78573
+ if (typeName === "Select") return ((_b2 = (_a2 = item.config) == null ? void 0 : _a2.baseConfig) == null ? void 0 : _b2.multiple) === true;
78574
+ return false;
78575
+ }
78341
78576
  function toFieldItem(item) {
78342
78577
  var _a2, _b2;
78343
78578
  const typeName = item.componentTypeName || item.componentType || "";
@@ -78346,7 +78581,8 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
78346
78581
  keyName: item.keyName,
78347
78582
  dataTypeName: item.dataTypeName,
78348
78583
  componentType: typeName,
78349
- componentOptions: SELECT_TYPES_FIELD.includes(typeName) ? ((_b2 = (_a2 = item.config) == null ? void 0 : _a2.baseConfig) == null ? void 0 : _b2.data) || null : null
78584
+ componentOptions: SELECT_TYPES_FIELD.includes(typeName) ? ((_b2 = (_a2 = item.config) == null ? void 0 : _a2.baseConfig) == null ? void 0 : _b2.data) || null : null,
78585
+ multiple: isMultiSelectField(item, typeName)
78350
78586
  };
78351
78587
  }
78352
78588
  function isFormField(item) {
@@ -79439,7 +79675,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
79439
79675
  };
79440
79676
  }
79441
79677
  });
79442
- const DesignerView = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__scopeId", "data-v-0ac944a4"]]);
79678
+ const DesignerView = /* @__PURE__ */ _export_sfc$1(_sfc_main$u, [["__scopeId", "data-v-97b12b59"]]);
79443
79679
  const ElsDesignerView = withInstall$1(DesignerView);
79444
79680
  (function(Prism2) {
79445
79681
  var string = /(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;
@@ -80178,31 +80414,31 @@ let AceEditor$1 = class AceEditor extends TBaseFormItem {
80178
80414
  __publicField(this, "editor", ref());
80179
80415
  onMounted(() => {
80180
80416
  if (props2.language === "json") {
80181
- const currModule = import("./mode-json-B_NJTBHQ.js").then((n) => n.m);
80417
+ const currModule = import("./mode-json-Br_Lu-Mh.js").then((n) => n.m);
80182
80418
  currModule.then((res) => {
80183
80419
  ace.config.setModuleUrl("ace/mode/json", res);
80184
80420
  this.init();
80185
80421
  });
80186
80422
  } else if (props2.language === "javascript") {
80187
- const currModule = import("./mode-javascript-CSfydrrh.js").then((n) => n.m);
80423
+ const currModule = import("./mode-javascript-B8epNaGN.js").then((n) => n.m);
80188
80424
  currModule.then((res) => {
80189
80425
  ace.config.setModuleUrl("ace/mode/javascript", res);
80190
80426
  this.init();
80191
80427
  });
80192
80428
  } else if (props2.language === "csharp") {
80193
- const currModule = import("./mode-csharp-DXVk2zCh.js").then((n) => n.m);
80429
+ const currModule = import("./mode-csharp-DnzxQJcZ.js").then((n) => n.m);
80194
80430
  currModule.then((res) => {
80195
80431
  ace.config.setModuleUrl("ace/mode/csharp", res);
80196
80432
  this.init();
80197
80433
  });
80198
80434
  } else if (props2.language === "mysql") {
80199
- const currModule = import("./mode-mysql-CMcGiMki.js").then((n) => n.m);
80435
+ const currModule = import("./mode-mysql-BDVOBDPt.js").then((n) => n.m);
80200
80436
  currModule.then((res) => {
80201
80437
  ace.config.setModuleUrl("ace/mode/mysql", res);
80202
80438
  this.init();
80203
80439
  });
80204
80440
  } else if (props2.language === "css") {
80205
- const currModule = import("./mode-css-CinEu5kF.js").then((n) => n.m);
80441
+ const currModule = import("./mode-css-BKArO9O3.js").then((n) => n.m);
80206
80442
  currModule.then((res) => {
80207
80443
  ace.config.setModuleUrl("ace/mode/css", res);
80208
80444
  this.init();