ll-plus 2.7.15 → 2.7.16

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 (104) hide show
  1. package/es/components/advanced-filtering/index.d.ts +4 -4
  2. package/es/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
  3. package/es/components/advanced-filtering/src/advanced-filtering.vue.d.ts +2 -2
  4. package/es/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
  5. package/es/components/key-value/index.d.ts +45 -19
  6. package/es/components/key-value/src/components/key-value-item.vue.d.ts +15 -5
  7. package/es/components/key-value/src/config/key-value-item.d.ts +5 -1
  8. package/es/components/key-value/src/config/key-value.d.ts +2 -2
  9. package/es/components/key-value/src/key-value.vue.d.ts +45 -19
  10. package/es/index.mjs +3 -2
  11. package/es/index.mjs.map +1 -1
  12. package/es/packages/components/advanced-filtering/index.mjs +1 -1
  13. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs +3 -5
  14. package/es/packages/components/advanced-filtering/src/advanced-filtering.mjs.map +1 -1
  15. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.mjs +2 -1
  16. package/es/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.mjs.map +1 -1
  17. package/es/packages/components/form/src/form.vue2.mjs +4 -2
  18. package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
  19. package/es/packages/components/index.mjs +1 -1
  20. package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs +51 -59
  21. package/es/packages/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -1
  22. package/es/packages/components/key-value/src/config/key-value-item.mjs +11 -2
  23. package/es/packages/components/key-value/src/config/key-value-item.mjs.map +1 -1
  24. package/es/packages/components/key-value/src/config/key-value.mjs +1 -1
  25. package/es/packages/components/key-value/src/config/key-value.mjs.map +1 -1
  26. package/es/packages/components/key-value/src/key-value.vue2.mjs +42 -18
  27. package/es/packages/components/key-value/src/key-value.vue2.mjs.map +1 -1
  28. package/es/packages/components/select-group/src/select-group.vue2.mjs +1 -2
  29. package/es/packages/components/select-group/src/select-group.vue2.mjs.map +1 -1
  30. package/es/packages/utils/data.mjs +35 -0
  31. package/es/packages/utils/data.mjs.map +1 -0
  32. package/es/packages/utils/{deepUnref.mjs → deep-unref.mjs} +1 -1
  33. package/es/packages/utils/deep-unref.mjs.map +1 -0
  34. package/es/packages/utils/index.mjs +2 -1
  35. package/es/packages/utils/index.mjs.map +1 -1
  36. package/es/utils/data.d.ts +2 -0
  37. package/es/utils/index.d.ts +2 -1
  38. package/es/utils/props/runtime.d.ts +2 -2
  39. package/index.full.js +137 -83
  40. package/index.full.min.js +20 -20
  41. package/index.full.min.js.map +1 -1
  42. package/index.full.min.mjs +20 -20
  43. package/index.full.min.mjs.map +1 -1
  44. package/index.full.mjs +137 -84
  45. package/lib/components/advanced-filtering/index.d.ts +4 -4
  46. package/lib/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
  47. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +2 -2
  48. package/lib/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
  49. package/lib/components/key-value/index.d.ts +45 -19
  50. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +15 -5
  51. package/lib/components/key-value/src/config/key-value-item.d.ts +5 -1
  52. package/lib/components/key-value/src/config/key-value.d.ts +2 -2
  53. package/lib/components/key-value/src/key-value.vue.d.ts +45 -19
  54. package/lib/index.js +4 -2
  55. package/lib/index.js.map +1 -1
  56. package/lib/packages/components/advanced-filtering/index.js +0 -1
  57. package/lib/packages/components/advanced-filtering/index.js.map +1 -1
  58. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js +5 -8
  59. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js.map +1 -1
  60. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js +2 -1
  61. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js.map +1 -1
  62. package/lib/packages/components/form/src/form.vue2.js +4 -2
  63. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  64. package/lib/packages/components/index.js +0 -1
  65. package/lib/packages/components/index.js.map +1 -1
  66. package/lib/packages/components/key-value/src/components/key-value-item.vue2.js +50 -58
  67. package/lib/packages/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
  68. package/lib/packages/components/key-value/src/config/key-value-item.js +11 -2
  69. package/lib/packages/components/key-value/src/config/key-value-item.js.map +1 -1
  70. package/lib/packages/components/key-value/src/config/key-value.js +1 -1
  71. package/lib/packages/components/key-value/src/config/key-value.js.map +1 -1
  72. package/lib/packages/components/key-value/src/key-value.vue2.js +42 -18
  73. package/lib/packages/components/key-value/src/key-value.vue2.js.map +1 -1
  74. package/lib/packages/components/select-group/src/select-group.vue2.js +2 -3
  75. package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
  76. package/lib/packages/utils/data.js +38 -0
  77. package/lib/packages/utils/data.js.map +1 -0
  78. package/lib/packages/utils/{deepUnref.js → deep-unref.js} +1 -1
  79. package/lib/packages/utils/deep-unref.js.map +1 -0
  80. package/lib/packages/utils/index.js +4 -1
  81. package/lib/packages/utils/index.js.map +1 -1
  82. package/lib/utils/data.d.ts +2 -0
  83. package/lib/utils/index.d.ts +2 -1
  84. package/lib/utils/props/runtime.d.ts +2 -2
  85. package/package.json +1 -1
  86. package/theme-chalk/css/index.css +1 -1
  87. package/theme-chalk/css/table.css +1 -1
  88. package/types/packages/components/advanced-filtering/index.d.ts +4 -4
  89. package/types/packages/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
  90. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +2 -2
  91. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
  92. package/types/packages/components/key-value/index.d.ts +45 -19
  93. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +15 -5
  94. package/types/packages/components/key-value/src/config/key-value-item.d.ts +5 -1
  95. package/types/packages/components/key-value/src/config/key-value.d.ts +2 -2
  96. package/types/packages/components/key-value/src/key-value.vue.d.ts +45 -19
  97. package/types/packages/utils/data.d.ts +2 -0
  98. package/types/packages/utils/index.d.ts +2 -1
  99. package/types/packages/utils/props/runtime.d.ts +2 -2
  100. package/es/packages/utils/deepUnref.mjs.map +0 -1
  101. package/lib/packages/utils/deepUnref.js.map +0 -1
  102. /package/es/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
  103. /package/lib/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
  104. /package/types/packages/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
package/index.full.js CHANGED
@@ -1967,6 +1967,36 @@
1967
1967
  return currentObj;
1968
1968
  };
1969
1969
 
1970
+ function deepCompare(obj1, obj2) {
1971
+ const stack = [[obj1, obj2]];
1972
+ while (stack.length) {
1973
+ const [a, b] = stack.pop();
1974
+ if (a === b)
1975
+ continue;
1976
+ if (typeof a !== "object" || a === null || typeof b !== "object" || b === null) {
1977
+ return false;
1978
+ }
1979
+ const keysA = Object.keys(a);
1980
+ const keysB = Object.keys(b);
1981
+ if (keysA.length !== keysB.length) {
1982
+ return false;
1983
+ }
1984
+ if (keysA.length === 0 && keysB.length === 0) {
1985
+ continue;
1986
+ }
1987
+ for (const key of keysA) {
1988
+ if (!keysB.includes(key)) {
1989
+ return false;
1990
+ }
1991
+ stack.push([a[key], b[key]]);
1992
+ }
1993
+ }
1994
+ return true;
1995
+ }
1996
+ const hasValue = (value) => {
1997
+ return Array.isArray(value) ? value.length > 0 : !isNull(value) && !isUndefined$3(value) && value !== "";
1998
+ };
1999
+
1970
2000
  const ALL_VALUE = "_ALL";
1971
2001
  const initValue = (columns, values) => {
1972
2002
  const copyValues = {};
@@ -2032,9 +2062,6 @@
2032
2062
  }
2033
2063
  return _findLabel(tree).join(",");
2034
2064
  };
2035
- const hasValue = (value) => {
2036
- return Array.isArray(value) ? value.length > 0 : !isNull(value) && !isUndefined$3(value) && value !== "";
2037
- };
2038
2065
  const advancedFilteringProps = buildProps({
2039
2066
  filterColumns: {
2040
2067
  type: definePropType(Array),
@@ -63361,7 +63388,9 @@
63361
63388
  const bem = createNamespace("form");
63362
63389
  const formData = require$$0.reactive(props.formData);
63363
63390
  const formRef = require$$0.ref();
63364
- const formComponents = require$$0.ref([]);
63391
+ const formComponents = require$$0.ref(
63392
+ []
63393
+ );
63365
63394
  const computedFormColumns = require$$0.computed(() => {
63366
63395
  const formColumns = deepUnref(props.formColumns);
63367
63396
  return formColumns.map((e) => {
@@ -70318,7 +70347,7 @@
70318
70347
  const keyValueProps = buildProps({
70319
70348
  value: {
70320
70349
  type: definePropType(Array),
70321
- default: () => [{ key: "", value: "" }]
70350
+ default: () => [{ key: null, value: null }]
70322
70351
  },
70323
70352
  loading: {
70324
70353
  type: Boolean,
@@ -70423,6 +70452,15 @@
70423
70452
  disabled: {
70424
70453
  type: Boolean
70425
70454
  },
70455
+ values: {
70456
+ type: definePropType(Array),
70457
+ default: () => [
70458
+ {
70459
+ key: null,
70460
+ value: null
70461
+ }
70462
+ ]
70463
+ },
70426
70464
  disabledValue: {
70427
70465
  type: definePropType(Array)
70428
70466
  },
@@ -70459,9 +70497,9 @@
70459
70497
  type: Object,
70460
70498
  default: () => ({})
70461
70499
  },
70462
- showDelete: {
70500
+ keepLast: {
70463
70501
  type: Boolean,
70464
- default: true
70502
+ default: false
70465
70503
  }
70466
70504
  });
70467
70505
  const keyValueItemEmits = {
@@ -70501,12 +70539,12 @@
70501
70539
  const getValueDisabled = require$$0.computed(() => {
70502
70540
  return props.disabledValue?.includes(props.idx) || props.disabled || getValueType.value?.disabled;
70503
70541
  });
70504
- const getDeleteDisabled = require$$0.computed(() => {
70505
- return props.disabledDelete?.includes(props.idx) || props.disabled;
70506
- });
70507
70542
  const hasValue = require$$0.computed(() => {
70508
70543
  return innerValue.value["key"] || innerValue.value["key"] === 0 || innerValue.value["value"];
70509
70544
  });
70545
+ const getDeleteDisabled = require$$0.computed(() => {
70546
+ return props.disabledDelete?.includes(props.idx) || props.disabled || props.values.length === 1 && !hasValue.value;
70547
+ });
70510
70548
  const handleDelete = () => {
70511
70549
  emits("delete");
70512
70550
  };
@@ -70682,57 +70720,21 @@
70682
70720
  2
70683
70721
  /* CLASS */
70684
70722
  ),
70685
- props.showDelete ? (require$$0.openBlock(), require$$0.createElementBlock(
70686
- require$$0.Fragment,
70687
- { key: 2 },
70688
- [
70689
- hasValue.value ? (require$$0.openBlock(), require$$0.createBlock(_component_a_popconfirm, {
70690
- key: 0,
70691
- title: "\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
70692
- "ok-text": "\u786E\u8BA4",
70693
- "cancel-text": "\u53D6\u6D88",
70694
- placement: "topRight",
70695
- "overlay-class-name": require$$0.unref(bem).m("popconfirm"),
70696
- "get-popup-container": (trigger) => trigger.parentNode,
70697
- "destroy-tooltip-on-hide": "",
70698
- onConfirm: handleDelete
70699
- }, {
70700
- default: require$$0.withCtx(() => [
70701
- require$$0.createElementVNode(
70702
- "div",
70703
- {
70704
- class: require$$0.normalizeClass(require$$0.unref(bem).m("delete")),
70705
- style: require$$0.normalizeStyle({
70706
- "margin-top": !!require$$0.unref(attrs)["key-label"] || !!require$$0.unref(attrs)["value-label"] ? "26px" : "0px"
70707
- })
70708
- },
70709
- [
70710
- require$$0.createVNode(_component_ll_button, {
70711
- type: "link",
70712
- disabled: getDeleteDisabled.value
70713
- }, {
70714
- default: require$$0.withCtx(() => [
70715
- require$$0.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
70716
- require$$0.createVNode(_component_ll_icon, {
70717
- "icon-name": "icon-remove",
70718
- class: "delete"
70719
- })
70720
- ])
70721
- ]),
70722
- _: 3
70723
- /* FORWARDED */
70724
- }, 8, ["disabled"])
70725
- ],
70726
- 6
70727
- /* CLASS, STYLE */
70728
- )
70729
- ]),
70730
- _: 3
70731
- /* FORWARDED */
70732
- }, 8, ["overlay-class-name", "get-popup-container"])) : (require$$0.openBlock(), require$$0.createElementBlock(
70723
+ hasValue.value ? (require$$0.openBlock(), require$$0.createBlock(_component_a_popconfirm, {
70724
+ key: 2,
70725
+ title: "\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
70726
+ "ok-text": "\u786E\u8BA4",
70727
+ "cancel-text": "\u53D6\u6D88",
70728
+ placement: "topRight",
70729
+ "overlay-class-name": require$$0.unref(bem).m("popconfirm"),
70730
+ "get-popup-container": (trigger) => trigger.parentNode,
70731
+ "destroy-tooltip-on-hide": "",
70732
+ onConfirm: handleDelete
70733
+ }, {
70734
+ default: require$$0.withCtx(() => [
70735
+ require$$0.createElementVNode(
70733
70736
  "div",
70734
70737
  {
70735
- key: 1,
70736
70738
  class: require$$0.normalizeClass(require$$0.unref(bem).m("delete")),
70737
70739
  style: require$$0.normalizeStyle({
70738
70740
  "margin-top": !!require$$0.unref(attrs)["key-label"] || !!require$$0.unref(attrs)["value-label"] ? "26px" : "0px"
@@ -70741,8 +70743,7 @@
70741
70743
  [
70742
70744
  require$$0.createVNode(_component_ll_button, {
70743
70745
  type: "link",
70744
- disabled: getDeleteDisabled.value,
70745
- onClick: handleDelete
70746
+ disabled: getDeleteDisabled.value
70746
70747
  }, {
70747
70748
  default: require$$0.withCtx(() => [
70748
70749
  require$$0.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
@@ -70758,11 +70759,40 @@
70758
70759
  ],
70759
70760
  6
70760
70761
  /* CLASS, STYLE */
70761
- ))
70762
+ )
70763
+ ]),
70764
+ _: 3
70765
+ /* FORWARDED */
70766
+ }, 8, ["overlay-class-name", "get-popup-container"])) : (require$$0.openBlock(), require$$0.createElementBlock(
70767
+ "div",
70768
+ {
70769
+ key: 3,
70770
+ class: require$$0.normalizeClass(require$$0.unref(bem).m("delete")),
70771
+ style: require$$0.normalizeStyle({
70772
+ "margin-top": !!require$$0.unref(attrs)["key-label"] || !!require$$0.unref(attrs)["value-label"] ? "26px" : "0px"
70773
+ })
70774
+ },
70775
+ [
70776
+ require$$0.createVNode(_component_ll_button, {
70777
+ type: "link",
70778
+ disabled: getDeleteDisabled.value,
70779
+ onClick: handleDelete
70780
+ }, {
70781
+ default: require$$0.withCtx(() => [
70782
+ require$$0.renderSlot(_ctx.$slots, "delete-icon", {}, () => [
70783
+ require$$0.createVNode(_component_ll_icon, {
70784
+ "icon-name": "icon-remove",
70785
+ class: "delete"
70786
+ })
70787
+ ])
70788
+ ]),
70789
+ _: 3
70790
+ /* FORWARDED */
70791
+ }, 8, ["disabled"])
70762
70792
  ],
70763
- 64
70764
- /* STABLE_FRAGMENT */
70765
- )) : require$$0.createCommentVNode("v-if", true)
70793
+ 6
70794
+ /* CLASS, STYLE */
70795
+ ))
70766
70796
  ],
70767
70797
  2
70768
70798
  /* CLASS */
@@ -70787,7 +70817,9 @@
70787
70817
  const emits = __emit;
70788
70818
  const bem = createNamespace("key-value");
70789
70819
  const formItemContext = antDesignVue.Form.useInjectFormItemContext();
70790
- const innerValue = require$$0.ref([]);
70820
+ const innerValue = require$$0.ref(
70821
+ props.value.length ? props.value : [{ key: null, value: null }]
70822
+ );
70791
70823
  const keyValueItems = require$$0.ref([]);
70792
70824
  const keyValueTypeDict = require$$0.computed(() => {
70793
70825
  const obj = {};
@@ -70824,32 +70856,53 @@
70824
70856
  item: innerValue.value[innerValue.value.length - 1],
70825
70857
  value: innerValue.value
70826
70858
  });
70827
- handleChange();
70828
70859
  };
70829
70860
  const handleDelete = (idx) => {
70830
- innerValue.value.splice(idx, 1);
70831
- emits("delete", idx);
70832
- handleChange();
70833
- };
70834
- const handleChange = () => {
70835
- try {
70836
- formItemContext.onFieldChange();
70837
- emits("change", innerValue.value);
70838
- emits("update:value", innerValue.value);
70839
- } catch (error) {
70840
- console.error(error);
70861
+ if (innerValue.value.length === 1) {
70862
+ innerValue.value = [{ key: null, value: null }];
70863
+ } else {
70864
+ innerValue.value.splice(idx, 1);
70865
+ emits("delete", idx);
70841
70866
  }
70842
70867
  };
70868
+ const getValue = (val) => {
70869
+ return val.filter((e) => hasValue(e.key) || hasValue(e.value));
70870
+ };
70843
70871
  require$$0.watch(
70844
70872
  () => props.value,
70845
70873
  (n) => {
70846
- innerValue.value = n && n.length > 0 ? n : props.keepLast ? [{ key: null, value: null }] : n;
70874
+ const copyInnerValue = getValue(innerValue.value);
70875
+ const copyPropsValue = getValue(n);
70876
+ if (deepCompare(copyInnerValue, copyPropsValue))
70877
+ return;
70878
+ innerValue.value = [
70879
+ ...n && n.length > 0 ? n : props.keepLast ? [{ key: null, value: null }] : n
70880
+ ];
70847
70881
  },
70848
70882
  {
70849
70883
  immediate: true,
70850
70884
  deep: true
70851
70885
  }
70852
70886
  );
70887
+ require$$0.watch(
70888
+ () => innerValue.value,
70889
+ (val) => {
70890
+ const copyInnerValue = getValue(val);
70891
+ const copyPropsValue = getValue(props.value);
70892
+ if (deepCompare(copyInnerValue, copyPropsValue))
70893
+ return;
70894
+ try {
70895
+ formItemContext.onFieldChange();
70896
+ emits("change", copyInnerValue);
70897
+ emits("update:value", copyInnerValue);
70898
+ } catch (error) {
70899
+ console.error(error);
70900
+ }
70901
+ },
70902
+ {
70903
+ deep: true
70904
+ }
70905
+ );
70853
70906
  __expose({
70854
70907
  validate,
70855
70908
  resetFields,
@@ -70894,13 +70947,13 @@
70894
70947
  "key-type": props.keyType,
70895
70948
  "key-types": props.keyTypes,
70896
70949
  "value-type": props.valueType,
70950
+ values: innerValue.value,
70897
70951
  disabled: props.disabled,
70898
70952
  "disabled-value": props.disabledValue,
70899
70953
  "disabled-key": props.disabledKey,
70900
70954
  "disabled-delete": props.disabledDelete,
70901
- "show-delete": props.keepLast ? idx > 0 : true,
70902
- onDelete: ($event) => handleDelete(idx),
70903
- onChange: handleChange
70955
+ "keep-last": props.keepLast,
70956
+ onDelete: ($event) => handleDelete(idx)
70904
70957
  }, require$$0.createSlots({
70905
70958
  _: 2
70906
70959
  /* DYNAMIC */
@@ -70913,7 +70966,7 @@
70913
70966
  ])
70914
70967
  };
70915
70968
  })
70916
- ]), 1032, ["value", "onUpdate:value", "idx", "key-label", "value-label", "key-value-type-dict", "key-value-type", "key-type", "key-types", "value-type", "disabled", "disabled-value", "disabled-key", "disabled-delete", "show-delete", "onDelete"]);
70969
+ ]), 1032, ["value", "onUpdate:value", "idx", "key-label", "value-label", "key-value-type-dict", "key-value-type", "key-type", "key-types", "value-type", "values", "disabled", "disabled-value", "disabled-key", "disabled-delete", "keep-last", "onDelete"]);
70917
70970
  }),
70918
70971
  128
70919
70972
  /* KEYED_FRAGMENT */
@@ -85733,6 +85786,7 @@
85733
85786
  exports.customOverlay = customOverlay;
85734
85787
  exports.dataURLtoBlob = dataURLtoBlob;
85735
85788
  exports.dateUtil = dateUtil;
85789
+ exports.deepCompare = deepCompare;
85736
85790
  exports.deepUnref = deepUnref;
85737
85791
  exports.default = installer;
85738
85792
  exports.defaultButtonProps = defaultButtonProps;