ll-plus 2.7.14 → 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 (127) 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/index.full.js +137 -83
  39. package/index.full.min.js +20 -20
  40. package/index.full.min.js.map +1 -1
  41. package/index.full.min.mjs +20 -20
  42. package/index.full.min.mjs.map +1 -1
  43. package/index.full.mjs +137 -84
  44. package/lib/components/advanced-filtering/index.d.ts +4 -4
  45. package/lib/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
  46. package/lib/components/advanced-filtering/src/advanced-filtering.vue.d.ts +2 -2
  47. package/lib/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
  48. package/lib/components/key-value/index.d.ts +45 -19
  49. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +15 -5
  50. package/lib/components/key-value/src/config/key-value-item.d.ts +5 -1
  51. package/lib/components/key-value/src/config/key-value.d.ts +2 -2
  52. package/lib/components/key-value/src/key-value.vue.d.ts +45 -19
  53. package/lib/index.js +4 -2
  54. package/lib/index.js.map +1 -1
  55. package/lib/packages/components/advanced-filtering/index.js +0 -1
  56. package/lib/packages/components/advanced-filtering/index.js.map +1 -1
  57. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js +5 -8
  58. package/lib/packages/components/advanced-filtering/src/advanced-filtering.js.map +1 -1
  59. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js +2 -1
  60. package/lib/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue2.js.map +1 -1
  61. package/lib/packages/components/form/src/form.vue2.js +4 -2
  62. package/lib/packages/components/form/src/form.vue2.js.map +1 -1
  63. package/lib/packages/components/index.js +0 -1
  64. package/lib/packages/components/index.js.map +1 -1
  65. package/lib/packages/components/key-value/src/components/key-value-item.vue2.js +50 -58
  66. package/lib/packages/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
  67. package/lib/packages/components/key-value/src/config/key-value-item.js +11 -2
  68. package/lib/packages/components/key-value/src/config/key-value-item.js.map +1 -1
  69. package/lib/packages/components/key-value/src/config/key-value.js +1 -1
  70. package/lib/packages/components/key-value/src/config/key-value.js.map +1 -1
  71. package/lib/packages/components/key-value/src/key-value.vue2.js +42 -18
  72. package/lib/packages/components/key-value/src/key-value.vue2.js.map +1 -1
  73. package/lib/packages/components/select-group/src/select-group.vue2.js +2 -3
  74. package/lib/packages/components/select-group/src/select-group.vue2.js.map +1 -1
  75. package/lib/packages/utils/data.js +38 -0
  76. package/lib/packages/utils/data.js.map +1 -0
  77. package/lib/packages/utils/{deepUnref.js → deep-unref.js} +1 -1
  78. package/lib/packages/utils/deep-unref.js.map +1 -0
  79. package/lib/packages/utils/index.js +4 -1
  80. package/lib/packages/utils/index.js.map +1 -1
  81. package/lib/utils/data.d.ts +2 -0
  82. package/lib/utils/index.d.ts +2 -1
  83. package/package.json +1 -1
  84. package/theme-chalk/css/advanced-filtering.css +1 -1
  85. package/theme-chalk/css/api-component.css +1 -1
  86. package/theme-chalk/css/cascader.css +1 -1
  87. package/theme-chalk/css/checkbox.css +1 -1
  88. package/theme-chalk/css/code-editor.css +1 -1
  89. package/theme-chalk/css/color-picker.css +1 -1
  90. package/theme-chalk/css/cropper.css +1 -1
  91. package/theme-chalk/css/descriptions.css +1 -1
  92. package/theme-chalk/css/drawer.css +1 -1
  93. package/theme-chalk/css/dropdown-button-simple.css +1 -1
  94. package/theme-chalk/css/dropdown.css +1 -1
  95. package/theme-chalk/css/easy-cron.css +1 -1
  96. package/theme-chalk/css/form.css +1 -1
  97. package/theme-chalk/css/index.css +2 -2
  98. package/theme-chalk/css/input-number.css +1 -1
  99. package/theme-chalk/css/input.css +1 -1
  100. package/theme-chalk/css/key-value.css +1 -1
  101. package/theme-chalk/css/markdown-editor.css +1 -1
  102. package/theme-chalk/css/modal.css +1 -1
  103. package/theme-chalk/css/new-drawer.css +1 -1
  104. package/theme-chalk/css/new-modal.css +1 -1
  105. package/theme-chalk/css/number-range.css +1 -1
  106. package/theme-chalk/css/rich-text-editor.css +1 -1
  107. package/theme-chalk/css/segmented.css +1 -1
  108. package/theme-chalk/css/switch.css +1 -1
  109. package/theme-chalk/css/table.css +1 -1
  110. package/theme-chalk/css/tabs-simple.css +1 -1
  111. package/theme-chalk/css/tag-group.css +1 -1
  112. package/types/packages/components/advanced-filtering/index.d.ts +4 -4
  113. package/types/packages/components/advanced-filtering/src/advanced-filtering.d.ts +1 -2
  114. package/types/packages/components/advanced-filtering/src/advanced-filtering.vue.d.ts +2 -2
  115. package/types/packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue.d.ts +3 -3
  116. package/types/packages/components/key-value/index.d.ts +45 -19
  117. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +15 -5
  118. package/types/packages/components/key-value/src/config/key-value-item.d.ts +5 -1
  119. package/types/packages/components/key-value/src/config/key-value.d.ts +2 -2
  120. package/types/packages/components/key-value/src/key-value.vue.d.ts +45 -19
  121. package/types/packages/utils/data.d.ts +2 -0
  122. package/types/packages/utils/index.d.ts +2 -1
  123. package/es/packages/utils/deepUnref.mjs.map +0 -1
  124. package/lib/packages/utils/deepUnref.js.map +0 -1
  125. /package/es/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
  126. /package/lib/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
  127. /package/types/packages/utils/{deepUnref.d.ts → deep-unref.d.ts} +0 -0
package/es/index.mjs CHANGED
@@ -3,7 +3,7 @@ import './packages/components/index.mjs';
3
3
  export { THROTTLE_TIME } from './packages/constant/index.mjs';
4
4
  import './packages/utils/index.mjs';
5
5
  import './packages/hooks/index.mjs';
6
- export { ALL_VALUE, advancedFilteringEmits, advancedFilteringParamsEmits, advancedFilteringParamsProps, advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, findLabelByValue, hasValue, initValue, treeDataFormat } from './packages/components/advanced-filtering/src/advanced-filtering.mjs';
6
+ export { ALL_VALUE, advancedFilteringEmits, advancedFilteringParamsEmits, advancedFilteringParamsProps, advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, findLabelByValue, initValue, treeDataFormat } from './packages/components/advanced-filtering/src/advanced-filtering.mjs';
7
7
  export { LlAdvancedFiltering, LlAdvancedFilteringParams, LlAdvancedFilteringTags } from './packages/components/advanced-filtering/index.mjs';
8
8
  export { DEFAULT_METHOD, apiComponentEmits, apiComponentProps, bodyList, requestList } from './packages/components/api-component/src/config/api-component.mjs';
9
9
  export { apiModalEmits, apiModalProps } from './packages/components/api-component/src/config/api-modal.mjs';
@@ -145,7 +145,8 @@ export { isArray, isDate, isFunction, isObject, isPromise, isString, isSymbol }
145
145
  export { isVNode } from 'vue';
146
146
  export { getType, isBoolean, isElement, isEmpty, isNumber, isPropAbsent, isStringNumber, isUndefined, isWindow } from './packages/utils/types.mjs';
147
147
  export { dataURLtoBlob, fileToBase64, formatFileSize } from './packages/utils/file.mjs';
148
- export { deepUnref } from './packages/utils/deepUnref.mjs';
148
+ export { deepUnref } from './packages/utils/deep-unref.mjs';
149
+ export { deepCompare, hasValue } from './packages/utils/data.mjs';
149
150
  export { useScroll } from './packages/hooks/use-scroll/index.mjs';
150
151
 
151
152
  "use strict";
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../packages/ll-plus/index.ts"],"sourcesContent":["import installer from './defaults'\n\nexport * from '@ll-plus/components'\nexport * from '@ll-plus/constant'\nexport * from '@ll-plus/utils'\nexport * from '@ll-plus/hooks'\n\nexport const install = installer.install\nexport default installer\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAM,UAAU,SAAU,CAAA;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":["../../packages/ll-plus/index.ts"],"sourcesContent":["import installer from './defaults'\n\nexport * from '@ll-plus/components'\nexport * from '@ll-plus/constant'\nexport * from '@ll-plus/utils'\nexport * from '@ll-plus/hooks'\n\nexport const install = installer.install\nexport default installer\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,MAAM,UAAU,SAAU,CAAA;;;;"}
@@ -2,7 +2,7 @@ import '../../utils/index.mjs';
2
2
  import AdvancedFiltering from './src/advanced-filtering.vue.mjs';
3
3
  import AdvancedFilteringParams from './src/components/advanced-filtering-params.vue.mjs';
4
4
  import AdvancedFilteringTags from './src/components/advanced-filtering-tags.vue.mjs';
5
- export { ALL_VALUE, advancedFilteringEmits, advancedFilteringParamsEmits, advancedFilteringParamsProps, advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, findLabelByValue, hasValue, initValue, treeDataFormat } from './src/advanced-filtering.mjs';
5
+ export { ALL_VALUE, advancedFilteringEmits, advancedFilteringParamsEmits, advancedFilteringParamsProps, advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, findLabelByValue, initValue, treeDataFormat } from './src/advanced-filtering.mjs';
6
6
  import { withInstall } from '../../utils/with-install.mjs';
7
7
 
8
8
  "use strict";
@@ -1,5 +1,6 @@
1
1
  import '../../../utils/index.mjs';
2
- import { has, isNull, isEqual, isUndefined } from 'lodash-es';
2
+ import { has, isNull, isEqual } from 'lodash-es';
3
+ import { hasValue } from '../../../utils/data.mjs';
3
4
  import { buildProps, definePropType } from '../../../utils/props/runtime.mjs';
4
5
 
5
6
  "use strict";
@@ -68,9 +69,6 @@ const findLabelByValue = (tree, value) => {
68
69
  }
69
70
  return _findLabel(tree).join(",");
70
71
  };
71
- const hasValue = (value) => {
72
- return Array.isArray(value) ? value.length > 0 : !isNull(value) && !isUndefined(value) && value !== "";
73
- };
74
72
  const advancedFilteringProps = buildProps({
75
73
  filterColumns: {
76
74
  type: definePropType(Array),
@@ -124,5 +122,5 @@ const advancedFilteringTagsEmits = {
124
122
  "update:value": (value) => !!value
125
123
  };
126
124
 
127
- export { ALL_VALUE, advancedFilteringEmits, advancedFilteringParamsEmits, advancedFilteringParamsProps, advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, findLabelByValue, hasValue, initValue, treeDataFormat };
125
+ export { ALL_VALUE, advancedFilteringEmits, advancedFilteringParamsEmits, advancedFilteringParamsProps, advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, findLabelByValue, initValue, treeDataFormat };
128
126
  //# sourceMappingURL=advanced-filtering.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-filtering.mjs","sources":["../../../../../../packages/components/advanced-filtering/src/advanced-filtering.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport { has, isNull, isUndefined, isEqual } from 'lodash-es'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormProps as AntFormProps, TooltipProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type advancedFiltering from './advanced-filtering.vue'\nimport type advancedFilteringParams from './components/advanced-filtering-params.vue'\nimport type advancedFilteringTags from './components/advanced-filtering-tags.vue'\n\nexport interface IAvancedFilteringTag {\n label: string\n key: string\n value: string | string[]\n showValue: string | string[]\n}\n\nexport const ALL_VALUE: string = '_ALL'\n\nexport type FilterColumn = FormColumn<{\n unUseDefaultOption?: boolean\n defaultOptionLabel?: string\n}>\n\nexport const initValue = (columns: FilterColumn[], values: any) => {\n const copyValues = {}\n if (columns.length) {\n columns.forEach(column => {\n let value: any = has(values, column.key) ? values[column.key] : null\n if (has(column, 'options') && !column.unUseDefaultOption) {\n if (column.type === 'checkbox-group' || has(column, 'mode')) {\n value =\n !hasValue(value) || (Array.isArray(value) && value.length === 0)\n ? [ALL_VALUE]\n : value\n } else {\n value = !hasValue(value) ? ALL_VALUE : value\n }\n }\n copyValues[column.key] = value\n })\n }\n\n return copyValues\n}\n\nexport const filterAllValue = (\n values: string | string[],\n column: FilterColumn\n): any => {\n let value: any = null\n if (Array.isArray(values)) {\n value = values.filter(item => item !== ALL_VALUE || !hasValue(values))\n if (column && column.type === 'number-range') {\n value = values ? (values.every(e => !isNull(e)) ? values : null) : null\n }\n } else {\n value = values === ALL_VALUE || !hasValue(values) ? null : values\n }\n\n return value\n}\n\nexport const treeDataFormat = (\n arr = [] as any[],\n fieldNames: { [key: string]: string }\n) => {\n let options = [] as any[]\n if (!arr) return []\n options = arr.map((e: any) => {\n const obj: any = {}\n obj.label = e[fieldNames.label]\n obj.value = e[fieldNames.value]\n if (e[fieldNames.children] && e[fieldNames.children].length) {\n obj.children = treeDataFormat(e[fieldNames.children], fieldNames)\n }\n\n return obj\n })\n return options\n}\n\n// const isEqual = (val1,val2)=>{\n\n// }\n\nexport const findLabelByValue = (\n tree: FilterColumn['options'],\n value: any\n): string => {\n // 递归函数,用于遍历 Tree 数据\n function _findLabel(nodes: FilterColumn['options']): string[] {\n const labels: string[] = []\n if (!nodes) return []\n for (const node of nodes) {\n if (isEqual(node.value, value)) {\n labels.push(node.label)\n }\n if (node.children && node.children.length > 0) {\n const childLabels = _findLabel(node.children)\n if (childLabels) {\n labels.push(...childLabels)\n }\n }\n }\n return labels.length > 0 ? labels : []\n }\n // 开始递归查找\n return _findLabel(tree).join(',')\n}\n\nexport const hasValue = (value: any) => {\n return Array.isArray(value)\n ? value.length > 0\n : !isNull(value) && !isUndefined(value) && value !== ''\n}\n\nexport const advancedFilteringProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n overlayStyle: {\n type: definePropType<TooltipProps['overlayStyle']>(Object),\n default: () => ({\n width: '500px'\n })\n }\n} as const)\n\nexport const advancedFilteringParamsProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n showFooter: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const advancedFilteringEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringParamsEmits = {\n close: () => true,\n confirm: () => true,\n changeValue: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringTagsEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\n// props\nexport type AdvancedFilteringProps = ExtractPropTypes<\n typeof advancedFilteringProps\n>\n\nexport type AdvancedFilteringParamsProps = ExtractPropTypes<\n typeof advancedFilteringParamsProps\n>\n\n// emits\nexport type AdvancedFilteringEmits = typeof advancedFilteringEmits\n\nexport type AdvancedFilteringParamsEmits = typeof advancedFilteringParamsEmits\n\nexport type AdvancedFilteringTagsEmits = typeof advancedFilteringTagsEmits\n\n// instance\nexport type AdvancedFilteringInstance = InstanceType<typeof advancedFiltering>\n\nexport type AdvancedFilteringParamsInstance = InstanceType<\n typeof advancedFilteringParams\n>\n\nexport type AdvancedFilteringTagsInstance = InstanceType<\n typeof advancedFilteringTags\n>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced-filtering.mjs","sources":["../../../../../../packages/components/advanced-filtering/src/advanced-filtering.ts"],"sourcesContent":["import { buildProps, definePropType, hasValue } from '@ll-plus/utils'\nimport { has, isNull, isEqual } from 'lodash-es'\n\nimport type { ExtractPropTypes } from 'vue'\nimport type { FormProps as AntFormProps, TooltipProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type advancedFiltering from './advanced-filtering.vue'\nimport type advancedFilteringParams from './components/advanced-filtering-params.vue'\nimport type advancedFilteringTags from './components/advanced-filtering-tags.vue'\n\nexport interface IAdvancedFilteringTag {\n label: string\n key: string\n value: string | string[]\n showValue: string | string[]\n}\n\nexport const ALL_VALUE: string = '_ALL'\n\nexport type FilterColumn = FormColumn<{\n unUseDefaultOption?: boolean\n defaultOptionLabel?: string\n}>\n\nexport const initValue = (columns: FilterColumn[], values: any) => {\n const copyValues = {}\n if (columns.length) {\n columns.forEach(column => {\n let value: any = has(values, column.key) ? values[column.key] : null\n if (has(column, 'options') && !column.unUseDefaultOption) {\n if (column.type === 'checkbox-group' || has(column, 'mode')) {\n value =\n !hasValue(value) || (Array.isArray(value) && value.length === 0)\n ? [ALL_VALUE]\n : value\n } else {\n value = !hasValue(value) ? ALL_VALUE : value\n }\n }\n copyValues[column.key] = value\n })\n }\n\n return copyValues\n}\n\nexport const filterAllValue = (\n values: string | string[],\n column: FilterColumn\n): any => {\n let value: any = null\n if (Array.isArray(values)) {\n value = values.filter(item => item !== ALL_VALUE || !hasValue(values))\n if (column && column.type === 'number-range') {\n value = values ? (values.every(e => !isNull(e)) ? values : null) : null\n }\n } else {\n value = values === ALL_VALUE || !hasValue(values) ? null : values\n }\n\n return value\n}\n\nexport const treeDataFormat = (\n arr = [] as any[],\n fieldNames: { [key: string]: string }\n) => {\n let options = [] as any[]\n if (!arr) return []\n options = arr.map((e: any) => {\n const obj: any = {}\n obj.label = e[fieldNames.label]\n obj.value = e[fieldNames.value]\n if (e[fieldNames.children] && e[fieldNames.children].length) {\n obj.children = treeDataFormat(e[fieldNames.children], fieldNames)\n }\n\n return obj\n })\n return options\n}\n\n// const isEqual = (val1,val2)=>{\n\n// }\n\nexport const findLabelByValue = (\n tree: FilterColumn['options'],\n value: any\n): string => {\n // 递归函数,用于遍历 Tree 数据\n function _findLabel(nodes: FilterColumn['options']): string[] {\n const labels: string[] = []\n if (!nodes) return []\n for (const node of nodes) {\n if (isEqual(node.value, value)) {\n labels.push(node.label)\n }\n if (node.children && node.children.length > 0) {\n const childLabels = _findLabel(node.children)\n if (childLabels) {\n labels.push(...childLabels)\n }\n }\n }\n return labels.length > 0 ? labels : []\n }\n // 开始递归查找\n return _findLabel(tree).join(',')\n}\n\n// export const hasValue = (value: any) => {\n// return Array.isArray(value)\n// ? value.length > 0\n// : !isNull(value) && !isUndefined(value) && value !== ''\n// }\n\nexport const advancedFilteringProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n overlayStyle: {\n type: definePropType<TooltipProps['overlayStyle']>(Object),\n default: () => ({\n width: '500px'\n })\n }\n} as const)\n\nexport const advancedFilteringParamsProps = buildProps({\n filterColumns: {\n type: definePropType<FilterColumn[]>(Array),\n default: () => []\n },\n value: {\n type: Object,\n default: () => ({})\n },\n formOptions: {\n type: definePropType<AntFormProps>(Object),\n default: () => ({ layout: 'vertical' })\n },\n showFooter: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const advancedFilteringEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringParamsEmits = {\n close: () => true,\n confirm: () => true,\n changeValue: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\nexport const advancedFilteringTagsEmits = {\n change: (value: Record<string, any>) => !!value,\n 'update:value': (value: Record<string, any>) => !!value\n}\n\n// props\nexport type AdvancedFilteringProps = ExtractPropTypes<\n typeof advancedFilteringProps\n>\n\nexport type AdvancedFilteringParamsProps = ExtractPropTypes<\n typeof advancedFilteringParamsProps\n>\n\n// emits\nexport type AdvancedFilteringEmits = typeof advancedFilteringEmits\n\nexport type AdvancedFilteringParamsEmits = typeof advancedFilteringParamsEmits\n\nexport type AdvancedFilteringTagsEmits = typeof advancedFilteringTagsEmits\n\n// instance\nexport type AdvancedFilteringInstance = InstanceType<typeof advancedFiltering>\n\nexport type AdvancedFilteringParamsInstance = InstanceType<\n typeof advancedFilteringParams\n>\n\nexport type AdvancedFilteringTagsInstance = InstanceType<\n typeof advancedFilteringTags\n>\n"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@ import { createElementVNode, defineComponent, ref, watchEffect, resolveComponent
2
2
  import dayjs from 'dayjs';
3
3
  import '../../../../utils/index.mjs';
4
4
  import { has } from 'lodash-es';
5
- import { advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, hasValue, treeDataFormat, findLabelByValue } from '../advanced-filtering.mjs';
5
+ import { advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, treeDataFormat, findLabelByValue } from '../advanced-filtering.mjs';
6
6
  import { createNamespace } from '../../../../utils/create-namespace.mjs';
7
+ import { hasValue } from '../../../../utils/data.mjs';
7
8
 
8
9
  "use strict";
9
10
  const _hoisted_1 = /* @__PURE__ */ createElementVNode(
@@ -1 +1 @@
1
- {"version":3,"file":"advanced-filtering-tags.vue2.mjs","sources":["../../../../../../../packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bem.m('title')\">\n <p>筛选结果:</p>\n <a @click=\"handleClean(null)\">清除筛选结果</a>\n </div>\n <div v-if=\"tags.length > 0\" :class=\"bem.m('box')\">\n <div v-for=\"tag in tags\" :key=\"tag.key\" :class=\"bem.m('tag')\">\n <span :class=\"bem.m('label')\">{{ tag.label }}:</span>\n <span :class=\"bem.m('value')\">{{ tag.showValue }}</span>\n <span :class=\"bem.m('close')\" @click=\"handleClean(tag)\">\n <ll-icon icon-name=\"icon-close2\" :class-name=\"bem.m('icon')\" />\n </span>\n </div>\n </div>\n <div v-else :class=\"bem.m('empty')\">\n <span>暂无数据</span>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watchEffect } from 'vue'\nimport dayjs from 'dayjs'\n\nimport { createNamespace } from '@ll-plus/utils'\nimport { has } from 'lodash-es'\nimport {\n advancedFilteringProps,\n advancedFilteringTagsEmits,\n type IAvancedFilteringTag,\n filterAllValue,\n treeDataFormat,\n findLabelByValue,\n hasValue\n} from '../advanced-filtering'\nimport type { FormColumn } from '@ll-plus/components'\ndefineOptions({ name: 'LlAdvancedFilteringTags' })\nconst props = defineProps(advancedFilteringProps)\nconst emits = defineEmits(advancedFilteringTagsEmits)\nconst bem = createNamespace('advanced-filtering-tags')\nconst tags = ref([] as IAvancedFilteringTag[])\n\nconst handleClean = (tag: IAvancedFilteringTag | null = null) => {\n const copyValue = {}\n if (tag) {\n tags.value = tags.value.filter(e => e.key !== tag.key)\n } else {\n tags.value = []\n }\n tags.value.map(e => {\n copyValue[e.key] = e.value\n })\n setData(copyValue)\n}\nconst setData = (obj: Record<string, any>) => {\n emits('update:value', obj)\n emits('change', obj)\n}\n\nconst getTags = (filterColumns: FormColumn[], values: Record<string, any>) => {\n const arr = [] as IAvancedFilteringTag[]\n filterColumns.map(item => {\n const value = filterAllValue(values[item.key], item)\n if (hasValue(value)) {\n let tagValue = ''\n\n if (item?.options) {\n let options = [] as FormColumn['options']\n if (item.fieldNames) {\n options = treeDataFormat(options, item.fieldNames)\n } else {\n options = item.options\n }\n if (Array.isArray(value)) {\n let tagArr: any = []\n tagArr = value.map((val: string) => {\n return findLabelByValue(options, val)\n })\n\n tagValue = tagArr.join(',')\n } else {\n tagValue = findLabelByValue(options, value)\n }\n } else {\n tagValue = value\n }\n\n if (item.type === 'date-picker') {\n tagValue = dayjs(value).format(item?.format ?? 'YYYY-MM-DD')\n }\n if (item.type === 'time-picker') {\n tagValue = dayjs(value).format(item?.format ?? 'YYYY/MM/DD hh:mm:ss')\n }\n if (item.type === 'date-range') {\n tagValue = `${dayjs(value[0]).format(\n item?.format ?? 'YYYY-MM-DD'\n )} - ${dayjs(value[1]).format(item?.format ?? 'YYYY-MM-DD')}`\n }\n\n if (item.type === 'number-range') {\n tagValue = `${value[0]}${value[1] ? ` - ${value[1]}` : ''}`\n }\n\n if (item.type === 'time-range') {\n tagValue = `${dayjs(value[0]).format(\n item?.format ?? 'YYYY/MM/DD HH:mm:ss'\n )} - ${dayjs(value[1]).format(item?.format ?? 'YYYY/MM/DD HH:mm:ss')}`\n }\n\n if (item.type === 'switch') {\n if (\n has(item, 'checkedChildren') &&\n has(item, 'checkedValue') &&\n has(item, 'unCheckedChildren') &&\n has(item, 'unCheckedValue')\n ) {\n tagValue =\n value === item.checkedValue\n ? item.checkedChildren\n : item.unCheckedChildren\n }\n\n if (has(item, 'checkedChildren') && !has(item, 'checkedValue')) {\n tagValue = value ? item.checkedChildren : false\n }\n }\n if (tagValue) {\n arr.push({\n label: item.label || '',\n key: item.key,\n value: value,\n showValue: tagValue\n })\n }\n }\n })\n return arr\n}\n\nwatchEffect(() => {\n tags.value = getTags(props.filterColumns, props.value)\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced-filtering-tags.vue2.mjs","sources":["../../../../../../../packages/components/advanced-filtering/src/components/advanced-filtering-tags.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <div :class=\"bem.m('title')\">\n <p>筛选结果:</p>\n <a @click=\"handleClean(null)\">清除筛选结果</a>\n </div>\n <div v-if=\"tags.length > 0\" :class=\"bem.m('box')\">\n <div v-for=\"tag in tags\" :key=\"tag.key\" :class=\"bem.m('tag')\">\n <span :class=\"bem.m('label')\">{{ tag.label }}:</span>\n <span :class=\"bem.m('value')\">{{ tag.showValue }}</span>\n <span :class=\"bem.m('close')\" @click=\"handleClean(tag)\">\n <ll-icon icon-name=\"icon-close2\" :class-name=\"bem.m('icon')\" />\n </span>\n </div>\n </div>\n <div v-else :class=\"bem.m('empty')\">\n <span>暂无数据</span>\n </div>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, watchEffect } from 'vue'\nimport dayjs from 'dayjs'\n\nimport { createNamespace, hasValue } from '@ll-plus/utils'\nimport { has } from 'lodash-es'\nimport {\n advancedFilteringProps,\n advancedFilteringTagsEmits,\n type IAdvancedFilteringTag,\n filterAllValue,\n treeDataFormat,\n findLabelByValue\n} from '../advanced-filtering'\nimport type { FormColumn } from '@ll-plus/components'\ndefineOptions({ name: 'LlAdvancedFilteringTags' })\nconst props = defineProps(advancedFilteringProps)\nconst emits = defineEmits(advancedFilteringTagsEmits)\nconst bem = createNamespace('advanced-filtering-tags')\nconst tags = ref([] as IAdvancedFilteringTag[])\n\nconst handleClean = (tag: IAdvancedFilteringTag | null = null) => {\n const copyValue = {}\n if (tag) {\n tags.value = tags.value.filter(e => e.key !== tag.key)\n } else {\n tags.value = []\n }\n tags.value.map(e => {\n copyValue[e.key] = e.value\n })\n setData(copyValue)\n}\nconst setData = (obj: Record<string, any>) => {\n emits('update:value', obj)\n emits('change', obj)\n}\n\nconst getTags = (filterColumns: FormColumn[], values: Record<string, any>) => {\n const arr = [] as IAdvancedFilteringTag[]\n filterColumns.map(item => {\n const value = filterAllValue(values[item.key], item)\n if (hasValue(value)) {\n let tagValue = ''\n\n if (item?.options) {\n let options = [] as FormColumn['options']\n if (item.fieldNames) {\n options = treeDataFormat(options, item.fieldNames)\n } else {\n options = item.options\n }\n if (Array.isArray(value)) {\n let tagArr: any = []\n tagArr = value.map((val: string) => {\n return findLabelByValue(options, val)\n })\n\n tagValue = tagArr.join(',')\n } else {\n tagValue = findLabelByValue(options, value)\n }\n } else {\n tagValue = value\n }\n\n if (item.type === 'date-picker') {\n tagValue = dayjs(value).format(item?.format ?? 'YYYY-MM-DD')\n }\n if (item.type === 'time-picker') {\n tagValue = dayjs(value).format(item?.format ?? 'YYYY/MM/DD hh:mm:ss')\n }\n if (item.type === 'date-range') {\n tagValue = `${dayjs(value[0]).format(\n item?.format ?? 'YYYY-MM-DD'\n )} - ${dayjs(value[1]).format(item?.format ?? 'YYYY-MM-DD')}`\n }\n\n if (item.type === 'number-range') {\n tagValue = `${value[0]}${value[1] ? ` - ${value[1]}` : ''}`\n }\n\n if (item.type === 'time-range') {\n tagValue = `${dayjs(value[0]).format(\n item?.format ?? 'YYYY/MM/DD HH:mm:ss'\n )} - ${dayjs(value[1]).format(item?.format ?? 'YYYY/MM/DD HH:mm:ss')}`\n }\n\n if (item.type === 'switch') {\n if (\n has(item, 'checkedChildren') &&\n has(item, 'checkedValue') &&\n has(item, 'unCheckedChildren') &&\n has(item, 'unCheckedValue')\n ) {\n tagValue =\n value === item.checkedValue\n ? item.checkedChildren\n : item.unCheckedChildren\n }\n\n if (has(item, 'checkedChildren') && !has(item, 'checkedValue')) {\n tagValue = value ? item.checkedChildren : false\n }\n }\n if (tagValue) {\n arr.push({\n label: item.label || '',\n key: item.key,\n value: value,\n showValue: tagValue\n })\n }\n }\n })\n return arr\n}\n\nwatchEffect(() => {\n tags.value = getTags(props.filterColumns, props.value)\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAM,gBAAgB,yBAAyB,CAAA,CAAA;AACrD,IAAM,MAAA,IAAA,GAAO,GAAI,CAAA,EAA6B,CAAA,CAAA;AAE9C,IAAM,MAAA,WAAA,GAAc,CAAC,GAAA,GAAoC,IAAS,KAAA;AAChE,MAAA,MAAM,YAAY,EAAC,CAAA;AACnB,MAAA,IAAI,GAAK,EAAA;AACP,QAAK,IAAA,CAAA,KAAA,GAAQ,KAAK,KAAM,CAAA,MAAA,CAAO,OAAK,CAAE,CAAA,GAAA,KAAQ,IAAI,GAAG,CAAA,CAAA;AAAA,OAChD,MAAA;AACL,QAAA,IAAA,CAAK,QAAQ,EAAC,CAAA;AAAA,OAChB;AACA,MAAK,IAAA,CAAA,KAAA,CAAM,IAAI,CAAK,CAAA,KAAA;AAClB,QAAU,SAAA,CAAA,CAAA,CAAE,GAAG,CAAA,GAAI,CAAE,CAAA,KAAA,CAAA;AAAA,OACtB,CAAA,CAAA;AACD,MAAA,OAAA,CAAQ,SAAS,CAAA,CAAA;AAAA,KACnB,CAAA;AACA,IAAM,MAAA,OAAA,GAAU,CAAC,GAA6B,KAAA;AAC5C,MAAA,KAAA,CAAM,gBAAgB,GAAG,CAAA,CAAA;AACzB,MAAA,KAAA,CAAM,UAAU,GAAG,CAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAM,MAAA,OAAA,GAAU,CAAC,aAAA,EAA6B,MAAgC,KAAA;AAC5E,MAAA,MAAM,MAAM,EAAC,CAAA;AACb,MAAA,aAAA,CAAc,IAAI,CAAQ,IAAA,KAAA;AACxB,QAAA,MAAM,QAAQ,cAAe,CAAA,MAAA,CAAO,IAAK,CAAA,GAAG,GAAG,IAAI,CAAA,CAAA;AACnD,QAAI,IAAA,QAAA,CAAS,KAAK,CAAG,EAAA;AACnB,UAAA,IAAI,QAAW,GAAA,EAAA,CAAA;AAEf,UAAA,IAAI,MAAM,OAAS,EAAA;AACjB,YAAA,IAAI,UAAU,EAAC,CAAA;AACf,YAAA,IAAI,KAAK,UAAY,EAAA;AACnB,cAAU,OAAA,GAAA,cAAA,CAAe,OAAS,EAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AAAA,aAC5C,MAAA;AACL,cAAA,OAAA,GAAU,IAAK,CAAA,OAAA,CAAA;AAAA,aACjB;AACA,YAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACxB,cAAA,IAAI,SAAc,EAAC,CAAA;AACnB,cAAS,MAAA,GAAA,KAAA,CAAM,GAAI,CAAA,CAAC,GAAgB,KAAA;AAClC,gBAAO,OAAA,gBAAA,CAAiB,SAAS,GAAG,CAAA,CAAA;AAAA,eACrC,CAAA,CAAA;AAED,cAAW,QAAA,GAAA,MAAA,CAAO,KAAK,GAAG,CAAA,CAAA;AAAA,aACrB,MAAA;AACL,cAAW,QAAA,GAAA,gBAAA,CAAiB,SAAS,KAAK,CAAA,CAAA;AAAA,aAC5C;AAAA,WACK,MAAA;AACL,YAAW,QAAA,GAAA,KAAA,CAAA;AAAA,WACb;AAEA,UAAI,IAAA,IAAA,CAAK,SAAS,aAAe,EAAA;AAC/B,YAAA,QAAA,GAAW,MAAM,KAAK,CAAA,CAAE,MAAO,CAAA,IAAA,EAAM,UAAU,YAAY,CAAA,CAAA;AAAA,WAC7D;AACA,UAAI,IAAA,IAAA,CAAK,SAAS,aAAe,EAAA;AAC/B,YAAA,QAAA,GAAW,MAAM,KAAK,CAAA,CAAE,MAAO,CAAA,IAAA,EAAM,UAAU,qBAAqB,CAAA,CAAA;AAAA,WACtE;AACA,UAAI,IAAA,IAAA,CAAK,SAAS,YAAc,EAAA;AAC9B,YAAA,QAAA,GAAW,CAAG,EAAA,KAAA,CAAM,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,MAAA;AAAA,cAC5B,MAAM,MAAU,IAAA,YAAA;AAAA,aACjB,CAAM,GAAA,EAAA,KAAA,CAAM,KAAM,CAAA,CAAC,CAAC,CAAA,CAAE,MAAO,CAAA,IAAA,EAAM,MAAU,IAAA,YAAY,CAAC,CAAA,CAAA,CAAA;AAAA,WAC7D;AAEA,UAAI,IAAA,IAAA,CAAK,SAAS,cAAgB,EAAA;AAChC,YAAA,QAAA,GAAW,CAAG,EAAA,KAAA,CAAM,CAAC,CAAC,CAAG,EAAA,KAAA,CAAM,CAAC,CAAA,GAAI,CAAM,GAAA,EAAA,KAAA,CAAM,CAAC,CAAC,KAAK,EAAE,CAAA,CAAA,CAAA;AAAA,WAC3D;AAEA,UAAI,IAAA,IAAA,CAAK,SAAS,YAAc,EAAA;AAC9B,YAAA,QAAA,GAAW,CAAG,EAAA,KAAA,CAAM,KAAM,CAAA,CAAC,CAAC,CAAE,CAAA,MAAA;AAAA,cAC5B,MAAM,MAAU,IAAA,qBAAA;AAAA,aACjB,CAAM,GAAA,EAAA,KAAA,CAAM,KAAM,CAAA,CAAC,CAAC,CAAA,CAAE,MAAO,CAAA,IAAA,EAAM,MAAU,IAAA,qBAAqB,CAAC,CAAA,CAAA,CAAA;AAAA,WACtE;AAEA,UAAI,IAAA,IAAA,CAAK,SAAS,QAAU,EAAA;AAC1B,YAAA,IACE,GAAI,CAAA,IAAA,EAAM,iBAAiB,CAAA,IAC3B,IAAI,IAAM,EAAA,cAAc,CACxB,IAAA,GAAA,CAAI,MAAM,mBAAmB,CAAA,IAC7B,GAAI,CAAA,IAAA,EAAM,gBAAgB,CAC1B,EAAA;AACA,cAAA,QAAA,GACE,KAAU,KAAA,IAAA,CAAK,YACX,GAAA,IAAA,CAAK,kBACL,IAAK,CAAA,iBAAA,CAAA;AAAA,aACb;AAEA,YAAI,IAAA,GAAA,CAAI,MAAM,iBAAiB,CAAA,IAAK,CAAC,GAAI,CAAA,IAAA,EAAM,cAAc,CAAG,EAAA;AAC9D,cAAW,QAAA,GAAA,KAAA,GAAQ,KAAK,eAAkB,GAAA,KAAA,CAAA;AAAA,aAC5C;AAAA,WACF;AACA,UAAA,IAAI,QAAU,EAAA;AACZ,YAAA,GAAA,CAAI,IAAK,CAAA;AAAA,cACP,KAAA,EAAO,KAAK,KAAS,IAAA,EAAA;AAAA,cACrB,KAAK,IAAK,CAAA,GAAA;AAAA,cACV,KAAA;AAAA,cACA,SAAW,EAAA,QAAA;AAAA,aACZ,CAAA,CAAA;AAAA,WACH;AAAA,SACF;AAAA,OACD,CAAA,CAAA;AACD,MAAO,OAAA,GAAA,CAAA;AAAA,KACT,CAAA;AAEA,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,IAAA,CAAK,KAAQ,GAAA,OAAA,CAAQ,KAAM,CAAA,aAAA,EAAe,MAAM,KAAK,CAAA,CAAA;AAAA,KACtD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,7 +5,7 @@ import '../../../utils/index.mjs';
5
5
  import FormComponent from './components/form-component.vue.mjs';
6
6
  import { formProps, formEmits } from './config/form.mjs';
7
7
  import { createNamespace } from '../../../utils/create-namespace.mjs';
8
- import { deepUnref } from '../../../utils/deepUnref.mjs';
8
+ import { deepUnref } from '../../../utils/deep-unref.mjs';
9
9
 
10
10
  "use strict";
11
11
  var _sfc_main = /* @__PURE__ */ defineComponent({
@@ -19,7 +19,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  const bem = createNamespace("form");
20
20
  const formData = reactive(props.formData);
21
21
  const formRef = ref();
22
- const formComponents = ref([]);
22
+ const formComponents = ref(
23
+ []
24
+ );
23
25
  const computedFormColumns = computed(() => {
24
26
  const formColumns = deepUnref(props.formColumns);
25
27
  return formColumns.map((e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"form.vue2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <a-form\n v-bind=\"computedFormOptions\"\n :id=\"id\"\n ref=\"formRef\"\n :model=\"props.formData\"\n >\n <a-row v-bind=\"props.rowOptions\">\n <a-col\n v-for=\"(item, index) in computedFormColumns\"\n :key=\"index\"\n v-bind=\"item?.colOptions ?? {}\"\n :span=\"item?.spanCol ?? 24\"\n >\n <slot name=\"formItem\" :item=\"item\" :index=\"index\">\n <ll-form-item\n :name=\"item?.key ?? index\"\n :class=\"getFormItemClass(item)\"\n v-bind=\"getBindValue(item)\"\n >\n <template #label>\n <slot name=\"label\" :item=\"item\" :index=\"index\">\n <span>{{ item.label }}</span>\n <span v-if=\"item?.tip\" :class=\"bem.e('tooltip-wrapper')\">\n <ll-tooltip\n style=\"margin-left: 8px\"\n :overlay-class-name=\"bem.e('tooltip')\"\n :arrow-point-at-center=\"true\"\n :max-width=\"item?.tipConfig?.maxWidth ?? 406\"\n :placement=\"item?.tipConfig?.placement ?? 'top'\"\n :tip=\"item.tip\"\n :font-size=\"'16px'\"\n v-bind=\"item?.tipConfig\"\n />\n </span>\n </slot>\n </template>\n <slot name=\"content\" :item=\"item\" :index=\"index\">\n <template v-if=\"!isEmpty(item.children)\">\n <a-row :gutter=\"5\" v-bind=\"item.rowOptions\">\n <a-col\n v-for=\"(child, childIndex) in item.children\"\n :key=\"childIndex\"\n :style=\"{\n display: 'flex',\n 'align-items': 'center'\n }\"\n v-bind=\"item?.colOptions ?? {}\"\n >\n <slot name=\"children\" :item=\"child\" :index=\"index\">\n <form-component\n :item=\"child\"\n :form-data=\"formData\"\n @change-field=\"handleChangeField\"\n />\n </slot>\n </a-col>\n </a-row>\n </template>\n <form-component\n v-else\n :ref=\"el => (formComponents[index] = el)\"\n :item=\"item\"\n :form-data=\"formData\"\n @change-field=\"handleChangeField\"\n />\n </slot>\n </ll-form-item>\n </slot>\n </a-col>\n </a-row>\n </a-form>\n </a-spin>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { reactive, ref, watch, onMounted, nextTick, computed } from 'vue'\nimport { omit, isEmpty, has } from 'lodash-es'\nimport { formProps, formEmits, type FormColumn } from './config'\n\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\nimport { createNamespace, deepUnref } from '@ll-plus/utils'\n\nimport formComponent from './components/form-component.vue'\n\n// 定义组件名称\ndefineOptions({ name: 'LlForm' })\n\n// Props\nconst props = defineProps(formProps)\n\nconst emits = defineEmits(formEmits)\n\nconst bem = createNamespace('form')\n\nconst formData = reactive(props.formData)\n\nconst formRef = ref()\n\nconst formComponents = ref<InstanceType<typeof formComponent>[]>([])\n\nconst computedFormColumns = computed(() => {\n const formColumns = deepUnref(props.formColumns) as FormColumn[]\n return formColumns.map(e => {\n e.disabled = has(e, 'disabled') ? e.disabled : props.disabled\n if (e.children && e.children.length) {\n e.children.map(a => {\n a.disabled = has(a, 'disabled') ? a.disabled : props.disabled\n return a\n })\n }\n return e\n })\n})\n\nconst validateFields = computed(() => {\n return props.formColumns\n .filter(e => e.required || (has(e, 'rules') && e.rules.length > 0))\n .map(e => {\n return e.key\n })\n})\n\nconst computedFormOptions = computed(() => {\n return {\n scrollToFirstError: !props.validateErrorStop,\n ...props.formOptions\n }\n})\n\nconst id = ref(`ll-form-${+new Date()}`)\n\nconst validate = async () => {\n if (props.validateErrorStop) {\n clearValidate()\n let bool = true\n if (!validateFields.value.length) return bool\n for (const i of validateFields.value) {\n bool = await formRef.value.validateFields([i])\n if (!bool) {\n return bool\n }\n }\n } else {\n return await formRef.value.validateFields()\n }\n}\n\nconst resetFields = async () => {\n return await formRef.value.resetFields()\n}\n\nconst clearValidate = async (nameList?: NamePath[]) => {\n return await formRef.value.clearValidate(nameList)\n}\n\nconst scrollToField = async (name: NamePath, options?: ScrollOptions) => {\n return await formRef.value.scrollToField(name, options)\n}\n\nconst getBindValue = (item: FormColumn) => {\n const obj = { ...item }\n return omit(obj, ['label'])\n}\n\nconst getFormItemClass = (item = {} as FormColumn) => {\n if (props.formOptions.layout === 'horizontal') {\n if (item?.labelCol) {\n return item.labelCol.span && item.labelCol.span >= 24\n ? bem.is('label-top')\n : bem.is('label-left')\n } else {\n return bem.is('label-left')\n }\n }\n return bem.is('label-top')\n}\n\nconst handleChangeField = (item: FormColumn) => {\n emits('change', { item, value: formData[item.key], formData })\n}\n\nwatch(\n () => props.formData,\n async val => {\n for (const i in val) {\n formData[i] = val[i]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nonMounted(async () => {\n await nextTick()\n if (props.autoFocus) {\n for (const element of formComponents.value) {\n const item = element?.getItem()\n if (['input', 'textarea', 'input-number'].includes(item.type)) {\n element?.focus()\n break\n }\n }\n }\n})\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate,\n scrollToField\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form.vue2.mjs","sources":["../../../../../../packages/components/form/src/form.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <a-form\n v-bind=\"computedFormOptions\"\n :id=\"id\"\n ref=\"formRef\"\n :model=\"props.formData\"\n >\n <a-row v-bind=\"props.rowOptions\">\n <a-col\n v-for=\"(item, index) in computedFormColumns\"\n :key=\"index\"\n v-bind=\"item?.colOptions ?? {}\"\n :span=\"item?.spanCol ?? 24\"\n >\n <slot name=\"formItem\" :item=\"item\" :index=\"index\">\n <ll-form-item\n :name=\"item?.key ?? index\"\n :class=\"getFormItemClass(item)\"\n v-bind=\"getBindValue(item)\"\n >\n <template #label>\n <slot name=\"label\" :item=\"item\" :index=\"index\">\n <span>{{ item.label }}</span>\n <span v-if=\"item?.tip\" :class=\"bem.e('tooltip-wrapper')\">\n <ll-tooltip\n style=\"margin-left: 8px\"\n :overlay-class-name=\"bem.e('tooltip')\"\n :arrow-point-at-center=\"true\"\n :max-width=\"item?.tipConfig?.maxWidth ?? 406\"\n :placement=\"item?.tipConfig?.placement ?? 'top'\"\n :tip=\"item.tip\"\n :font-size=\"'16px'\"\n v-bind=\"item?.tipConfig\"\n />\n </span>\n </slot>\n </template>\n <slot name=\"content\" :item=\"item\" :index=\"index\">\n <template v-if=\"!isEmpty(item.children)\">\n <a-row :gutter=\"5\" v-bind=\"item.rowOptions\">\n <a-col\n v-for=\"(child, childIndex) in item.children\"\n :key=\"childIndex\"\n :style=\"{\n display: 'flex',\n 'align-items': 'center'\n }\"\n v-bind=\"item?.colOptions ?? {}\"\n >\n <slot name=\"children\" :item=\"child\" :index=\"index\">\n <form-component\n :item=\"child\"\n :form-data=\"formData\"\n @change-field=\"handleChangeField\"\n />\n </slot>\n </a-col>\n </a-row>\n </template>\n <form-component\n v-else\n :ref=\"el => (formComponents[index] = el)\"\n :item=\"item\"\n :form-data=\"formData\"\n @change-field=\"handleChangeField\"\n />\n </slot>\n </ll-form-item>\n </slot>\n </a-col>\n </a-row>\n </a-form>\n </a-spin>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { reactive, ref, watch, onMounted, nextTick, computed } from 'vue'\nimport { omit, isEmpty, has } from 'lodash-es'\nimport { formProps, formEmits, type FormColumn } from './config'\n\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\nimport { createNamespace, deepUnref } from '@ll-plus/utils'\n\nimport formComponent from './components/form-component.vue'\n\n// 定义组件名称\ndefineOptions({ name: 'LlForm' })\n\n// Props\nconst props = defineProps(formProps)\n\nconst emits = defineEmits(formEmits)\n\nconst bem = createNamespace('form')\n\nconst formData = reactive(props.formData)\n\nconst formRef = ref()\n\nconst formComponents = ref<InstanceType<typeof formComponent>[]>(\n [] as InstanceType<typeof formComponent>[]\n)\n\nconst computedFormColumns = computed(() => {\n const formColumns = deepUnref(props.formColumns) as FormColumn[]\n return formColumns.map(e => {\n e.disabled = has(e, 'disabled') ? e.disabled : props.disabled\n if (e.children && e.children.length) {\n e.children.map(a => {\n a.disabled = has(a, 'disabled') ? a.disabled : props.disabled\n return a\n })\n }\n return e\n })\n})\n\nconst validateFields = computed(() => {\n return props.formColumns\n .filter(e => e.required || (has(e, 'rules') && e.rules.length > 0))\n .map(e => {\n return e.key\n })\n})\n\nconst computedFormOptions = computed(() => {\n return {\n scrollToFirstError: !props.validateErrorStop,\n ...props.formOptions\n }\n})\n\nconst id = ref(`ll-form-${+new Date()}`)\n\nconst validate = async () => {\n if (props.validateErrorStop) {\n clearValidate()\n let bool = true\n if (!validateFields.value.length) return bool\n for (const i of validateFields.value) {\n bool = await formRef.value.validateFields([i])\n if (!bool) {\n return bool\n }\n }\n } else {\n return await formRef.value.validateFields()\n }\n}\n\nconst resetFields = async () => {\n return await formRef.value.resetFields()\n}\n\nconst clearValidate = async (nameList?: NamePath[]) => {\n return await formRef.value.clearValidate(nameList)\n}\n\nconst scrollToField = async (name: NamePath, options?: ScrollOptions) => {\n return await formRef.value.scrollToField(name, options)\n}\n\nconst getBindValue = (item: FormColumn) => {\n const obj = { ...item }\n return omit(obj, ['label'])\n}\n\nconst getFormItemClass = (item = {} as FormColumn) => {\n if (props.formOptions.layout === 'horizontal') {\n if (item?.labelCol) {\n return item.labelCol.span && item.labelCol.span >= 24\n ? bem.is('label-top')\n : bem.is('label-left')\n } else {\n return bem.is('label-left')\n }\n }\n return bem.is('label-top')\n}\n\nconst handleChangeField = (item: FormColumn) => {\n emits('change', { item, value: formData[item.key], formData })\n}\n\nwatch(\n () => props.formData,\n async val => {\n for (const i in val) {\n formData[i] = val[i]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n\nonMounted(async () => {\n await nextTick()\n if (props.autoFocus) {\n for (const element of formComponents.value) {\n const item = element?.getItem()\n if (['input', 'textarea', 'input-number'].includes(item.type)) {\n element?.focus()\n break\n }\n }\n }\n})\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate,\n scrollToField\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ export { LlUploadDrag } from './upload-drag/index.mjs';
55
55
  export { LlUploadImage } from './upload-image/index.mjs';
56
56
  export { LlUriInput } from './uri-input/index.mjs';
57
57
  export { LlWatermark } from './watermark/index.mjs';
58
- export { ALL_VALUE, advancedFilteringEmits, advancedFilteringParamsEmits, advancedFilteringParamsProps, advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, findLabelByValue, hasValue, initValue, treeDataFormat } from './advanced-filtering/src/advanced-filtering.mjs';
58
+ export { ALL_VALUE, advancedFilteringEmits, advancedFilteringParamsEmits, advancedFilteringParamsProps, advancedFilteringProps, advancedFilteringTagsEmits, filterAllValue, findLabelByValue, initValue, treeDataFormat } from './advanced-filtering/src/advanced-filtering.mjs';
59
59
  export { DEFAULT_METHOD, apiComponentEmits, apiComponentProps, bodyList, requestList } from './api-component/src/config/api-component.mjs';
60
60
  export { apiModalEmits, apiModalProps } from './api-component/src/config/api-modal.mjs';
61
61
  export { apiUrlEmits, apiUrlProps, methods } from './api-component/src/config/api-url.mjs';
@@ -1,4 +1,4 @@
1
- import { defineComponent, useAttrs, ref, computed, watch, nextTick, resolveComponent, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, createVNode, renderSlot, resolveDynamicComponent, mergeProps, createSlots, renderList, createCommentVNode, normalizeStyle, createTextVNode, createElementVNode, normalizeProps, guardReactiveProps, Fragment } from 'vue';
1
+ import { defineComponent, useAttrs, ref, computed, watch, nextTick, resolveComponent, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, createVNode, renderSlot, resolveDynamicComponent, mergeProps, createSlots, renderList, createCommentVNode, normalizeStyle, createTextVNode, createElementVNode, normalizeProps, guardReactiveProps } from 'vue';
2
2
  import { isEmpty } from 'lodash-es';
3
3
  import '../../../../utils/index.mjs';
4
4
  import '../config/index.mjs';
@@ -37,12 +37,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
37
37
  const getValueDisabled = computed(() => {
38
38
  return props.disabledValue?.includes(props.idx) || props.disabled || getValueType.value?.disabled;
39
39
  });
40
- const getDeleteDisabled = computed(() => {
41
- return props.disabledDelete?.includes(props.idx) || props.disabled;
42
- });
43
40
  const hasValue = computed(() => {
44
41
  return innerValue.value["key"] || innerValue.value["key"] === 0 || innerValue.value["value"];
45
42
  });
43
+ const getDeleteDisabled = computed(() => {
44
+ return props.disabledDelete?.includes(props.idx) || props.disabled || props.values.length === 1 && !hasValue.value;
45
+ });
46
46
  const handleDelete = () => {
47
47
  emits("delete");
48
48
  };
@@ -218,57 +218,21 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
218
218
  2
219
219
  /* CLASS */
220
220
  ),
221
- props.showDelete ? (openBlock(), createElementBlock(
222
- Fragment,
223
- { key: 2 },
224
- [
225
- hasValue.value ? (openBlock(), createBlock(_component_a_popconfirm, {
226
- key: 0,
227
- title: "\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
228
- "ok-text": "\u786E\u8BA4",
229
- "cancel-text": "\u53D6\u6D88",
230
- placement: "topRight",
231
- "overlay-class-name": unref(bem).m("popconfirm"),
232
- "get-popup-container": (trigger) => trigger.parentNode,
233
- "destroy-tooltip-on-hide": "",
234
- onConfirm: handleDelete
235
- }, {
236
- default: withCtx(() => [
237
- createElementVNode(
238
- "div",
239
- {
240
- class: normalizeClass(unref(bem).m("delete")),
241
- style: normalizeStyle({
242
- "margin-top": !!unref(attrs)["key-label"] || !!unref(attrs)["value-label"] ? "26px" : "0px"
243
- })
244
- },
245
- [
246
- createVNode(_component_ll_button, {
247
- type: "link",
248
- disabled: getDeleteDisabled.value
249
- }, {
250
- default: withCtx(() => [
251
- renderSlot(_ctx.$slots, "delete-icon", {}, () => [
252
- createVNode(_component_ll_icon, {
253
- "icon-name": "icon-remove",
254
- class: "delete"
255
- })
256
- ])
257
- ]),
258
- _: 3
259
- /* FORWARDED */
260
- }, 8, ["disabled"])
261
- ],
262
- 6
263
- /* CLASS, STYLE */
264
- )
265
- ]),
266
- _: 3
267
- /* FORWARDED */
268
- }, 8, ["overlay-class-name", "get-popup-container"])) : (openBlock(), createElementBlock(
221
+ hasValue.value ? (openBlock(), createBlock(_component_a_popconfirm, {
222
+ key: 2,
223
+ title: "\u786E\u5B9A\u8981\u79FB\u9664\u5417?",
224
+ "ok-text": "\u786E\u8BA4",
225
+ "cancel-text": "\u53D6\u6D88",
226
+ placement: "topRight",
227
+ "overlay-class-name": unref(bem).m("popconfirm"),
228
+ "get-popup-container": (trigger) => trigger.parentNode,
229
+ "destroy-tooltip-on-hide": "",
230
+ onConfirm: handleDelete
231
+ }, {
232
+ default: withCtx(() => [
233
+ createElementVNode(
269
234
  "div",
270
235
  {
271
- key: 1,
272
236
  class: normalizeClass(unref(bem).m("delete")),
273
237
  style: normalizeStyle({
274
238
  "margin-top": !!unref(attrs)["key-label"] || !!unref(attrs)["value-label"] ? "26px" : "0px"
@@ -277,8 +241,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
277
241
  [
278
242
  createVNode(_component_ll_button, {
279
243
  type: "link",
280
- disabled: getDeleteDisabled.value,
281
- onClick: handleDelete
244
+ disabled: getDeleteDisabled.value
282
245
  }, {
283
246
  default: withCtx(() => [
284
247
  renderSlot(_ctx.$slots, "delete-icon", {}, () => [
@@ -294,11 +257,40 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
294
257
  ],
295
258
  6
296
259
  /* CLASS, STYLE */
297
- ))
260
+ )
261
+ ]),
262
+ _: 3
263
+ /* FORWARDED */
264
+ }, 8, ["overlay-class-name", "get-popup-container"])) : (openBlock(), createElementBlock(
265
+ "div",
266
+ {
267
+ key: 3,
268
+ class: normalizeClass(unref(bem).m("delete")),
269
+ style: normalizeStyle({
270
+ "margin-top": !!unref(attrs)["key-label"] || !!unref(attrs)["value-label"] ? "26px" : "0px"
271
+ })
272
+ },
273
+ [
274
+ createVNode(_component_ll_button, {
275
+ type: "link",
276
+ disabled: getDeleteDisabled.value,
277
+ onClick: handleDelete
278
+ }, {
279
+ default: withCtx(() => [
280
+ renderSlot(_ctx.$slots, "delete-icon", {}, () => [
281
+ createVNode(_component_ll_icon, {
282
+ "icon-name": "icon-remove",
283
+ class: "delete"
284
+ })
285
+ ])
286
+ ]),
287
+ _: 3
288
+ /* FORWARDED */
289
+ }, 8, ["disabled"])
298
290
  ],
299
- 64
300
- /* STABLE_FRAGMENT */
301
- )) : createCommentVNode("v-if", true)
291
+ 6
292
+ /* CLASS, STYLE */
293
+ ))
302
294
  ],
303
295
  2
304
296
  /* CLASS */
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-item.vue2.mjs","sources":["../../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n <template v-if=\"props.showDelete\">\n <template v-if=\"hasValue\">\n <a-popconfirm\n title=\"确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </template>\n <div\n v-else\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button\n type=\"link\"\n :disabled=\"getDeleteDisabled\"\n @click=\"handleDelete\"\n >\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </template>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst form = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst hasValue = computed(() => {\n return (\n innerValue.value['key'] ||\n innerValue.value['key'] === 0 ||\n innerValue.value['value']\n )\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = async () => {\n innerValue.value['value'] = null\n await form.value?.clearValidate()\n}\n\nconst validate = async () => {\n return await form.value?.validate()\n}\n\nconst resetFields = async () => {\n return await form.value?.resetFields()\n}\nconst clearValidate = async (namePath?: NamePath[]) => {\n return await form.value?.clearValidate(namePath)\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"key-value-item.vue2.mjs","sources":["../../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div v-if=\"props.keyValueType !== 'single'\" :class=\"bem.m('left')\">\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.rules || []\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(props.keyTypes)\"\n v-model:value=\"innerValue['key']\"\n :options=\"props.keyTypes\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"props.keyValueType !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getValueType.rules || []\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n <template v-if=\"hasValue\">\n <a-popconfirm\n title=\"确定要移除吗?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n :get-popup-container=\"(trigger: Element) => trigger.parentNode\"\n destroy-tooltip-on-hide\n @confirm=\"handleDelete\"\n >\n <div\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </template>\n <div\n v-else\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <ll-button\n type=\"link\"\n :disabled=\"getDeleteDisabled\"\n @click=\"handleDelete\"\n >\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport type { FormInstance } from '@ll-plus/components'\nimport {\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { NamePath } from 'ant-design-vue/es/form/interface'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst form = ref<FormInstance | null>()\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = props.keyType\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = props.valueType\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst hasValue = computed(() => {\n return (\n innerValue.value['key'] ||\n innerValue.value['key'] === 0 ||\n innerValue.value['value']\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return (\n props.disabledDelete?.includes(props.idx) ||\n props.disabled ||\n (props.values.length === 1 && !hasValue.value)\n )\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = async () => {\n innerValue.value['value'] = null\n await form.value?.clearValidate()\n}\n\nconst validate = async () => {\n return await form.value?.validate()\n}\n\nconst resetFields = async () => {\n return await form.value?.resetFields()\n}\nconst clearValidate = async (namePath?: NamePath[]) => {\n return await form.value?.clearValidate(namePath)\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields,\n clearValidate\n})\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":"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"}
@@ -31,6 +31,15 @@ const keyValueItemProps = buildProps({
31
31
  disabled: {
32
32
  type: Boolean
33
33
  },
34
+ values: {
35
+ type: definePropType(Array),
36
+ default: () => [
37
+ {
38
+ key: null,
39
+ value: null
40
+ }
41
+ ]
42
+ },
34
43
  disabledValue: {
35
44
  type: definePropType(Array)
36
45
  },
@@ -67,9 +76,9 @@ const keyValueItemProps = buildProps({
67
76
  type: Object,
68
77
  default: () => ({})
69
78
  },
70
- showDelete: {
79
+ keepLast: {
71
80
  type: Boolean,
72
- default: true
81
+ default: false
73
82
  }
74
83
  });
75
84
  const keyValueItemEmits = {
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-item.mjs","sources":["../../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type { KeyType } from './'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: any | null\n value: any | null\n}\n\nexport const keyValueItemProps = buildProps({\n disabled: {\n type: Boolean\n },\n disabledValue: {\n type: definePropType<number[]>(Array)\n },\n disabledKey: {\n type: definePropType<number[]>(Array)\n },\n disabledDelete: {\n type: definePropType<number[]>(Array)\n },\n keyValueType: {\n type: definePropType<'single' | 'doubt'>(String)\n },\n keyType: {\n type: definePropType<FormColumn>(Object)\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array)\n },\n valueType: {\n type: definePropType<FormColumn>(Object)\n },\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n idx: {\n type: Number,\n required: true\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n showDelete: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport const keyValueItemEmits = {\n delete: () => true,\n change: () => true,\n 'update:value': (value: KeyValueItem) => !!value\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,SAAY,GAAA;AAAA,EACvB;AAAA,IACE,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,IAC1B,OAAS,EAAA,4CAAA;AAAA,IACT,SAAA,EAAW,OAAO,KAAA,EAAY,KAAe,KAAA;AAC3C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,OAAO,OAAQ,CAAA,MAAA,CAAO,IAAI,KAAA,CAAM,4CAAS,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA;AACL,QAAA,OAAO,QAAQ,OAAQ,EAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,GACF;AACF,EAAA;AACO,MAAM,WAAc,GAAA;AAAA,EACzB,MAAQ,EAAA,YAAA;AAAA,EACR,UAAY,EAAA,MAAA;AACd,EAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB;AAAA,IACE,GAAK,EAAA,OAAA;AAAA,IACL,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,KACR;AAAA,GACF;AACF,EAAA;AAOO,MAAM,oBAAoB,UAAW,CAAA;AAAA,EAC1C,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,eAAmC,MAAM,CAAA;AAAA,GACjD;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAA0B,KAAK,CAAA;AAAA,GACvC;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,iBAAoB,GAAA;AAAA,EAC/B,QAAQ,MAAM,IAAA;AAAA,EACd,QAAQ,MAAM,IAAA;AAAA,EACd,cAAgB,EAAA,CAAC,KAAwB,KAAA,CAAC,CAAC,KAAA;AAC7C;;;;"}
1
+ {"version":3,"file":"key-value-item.mjs","sources":["../../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\nimport type { FormColumn } from '@ll-plus/components'\nimport type { KeyType } from './'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: any | null\n value: any | null\n}\n\nexport const keyValueItemProps = buildProps({\n disabled: {\n type: Boolean\n },\n values: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [\n {\n key: null,\n value: null\n }\n ]\n },\n disabledValue: {\n type: definePropType<number[]>(Array)\n },\n disabledKey: {\n type: definePropType<number[]>(Array)\n },\n disabledDelete: {\n type: definePropType<number[]>(Array)\n },\n keyValueType: {\n type: definePropType<'single' | 'doubt'>(String)\n },\n keyType: {\n type: definePropType<FormColumn>(Object)\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array)\n },\n valueType: {\n type: definePropType<FormColumn>(Object)\n },\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n idx: {\n type: Number,\n required: true\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n keepLast: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const keyValueItemEmits = {\n delete: () => true,\n change: () => true,\n 'update:value': (value: KeyValueItem) => !!value\n}\n"],"names":[],"mappings":";;;;AAKO,MAAM,SAAY,GAAA;AAAA,EACvB;AAAA,IACE,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,IAC1B,OAAS,EAAA,4CAAA;AAAA,IACT,SAAA,EAAW,OAAO,KAAA,EAAY,KAAe,KAAA;AAC3C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,OAAO,OAAQ,CAAA,MAAA,CAAO,IAAI,KAAA,CAAM,4CAAS,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA;AACL,QAAA,OAAO,QAAQ,OAAQ,EAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,GACF;AACF,EAAA;AACO,MAAM,WAAc,GAAA;AAAA,EACzB,MAAQ,EAAA,YAAA;AAAA,EACR,UAAY,EAAA,MAAA;AACd,EAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB;AAAA,IACE,GAAK,EAAA,OAAA;AAAA,IACL,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,KACR;AAAA,GACF;AACF,EAAA;AAOO,MAAM,oBAAoB,UAAW,CAAA;AAAA,EAC1C,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,GACR;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAA+B,KAAK,CAAA;AAAA,IAC1C,SAAS,MAAM;AAAA,MACb;AAAA,QACE,GAAK,EAAA,IAAA;AAAA,QACL,KAAO,EAAA,IAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,GACtC;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,eAAmC,MAAM,CAAA;AAAA,GACjD;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAA0B,KAAK,CAAA;AAAA,GACvC;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,GACzC;AAAA,EACA,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EACA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,iBAAoB,GAAA;AAAA,EAC/B,QAAQ,MAAM,IAAA;AAAA,EACd,QAAQ,MAAM,IAAA;AAAA,EACd,cAAgB,EAAA,CAAC,KAAwB,KAAA,CAAC,CAAC,KAAA;AAC7C;;;;"}
@@ -9,7 +9,7 @@ const getKeyValueItem = () => ({
9
9
  const keyValueProps = buildProps({
10
10
  value: {
11
11
  type: definePropType(Array),
12
- default: () => [{ key: "", value: "" }]
12
+ default: () => [{ key: null, value: null }]
13
13
  },
14
14
  loading: {
15
15
  type: Boolean,
@@ -1 +1 @@
1
- {"version":3,"file":"key-value.mjs","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: '', value: '' }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<KeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n },\n validate: {\n type: Boolean,\n default: false\n },\n keepLast: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport interface KeyValueAddEmits {\n index: number\n item: KeyValueItem\n value: KeyValueItem[]\n}\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n add: (params: KeyValueAddEmits) => !!params,\n delete: (index: number) => typeof index === 'number',\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":[],"mappings":";;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACxC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,GAAK,EAAA,CAAC,MAA6B,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EAC5C,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;"}
1
+ {"version":3,"file":"key-value.mjs","sources":["../../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype KeyValueType = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: null, value: null }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n keyValueType: {\n type: definePropType<KeyValueType>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入Value'\n })\n },\n disabledValue: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledKey: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledDelete: {\n type: definePropType<number[]>(Array),\n default: () => []\n },\n disabledAdd: {\n type: Boolean,\n default: false\n },\n validate: {\n type: Boolean,\n default: false\n },\n keepLast: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport interface KeyValueAddEmits {\n index: number\n item: KeyValueItem\n value: KeyValueItem[]\n}\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n add: (params: KeyValueAddEmits) => !!params,\n delete: (index: number) => typeof index === 'number',\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":[],"mappings":";;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,IAAM,EAAA,KAAA,EAAO,MAAM,CAAA;AAAA,GAC5C;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,aAAe,EAAA;AAAA,IACb,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,cAAgB,EAAA;AAAA,IACd,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAQH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,GAAK,EAAA,CAAC,MAA6B,KAAA,CAAC,CAAC,MAAA;AAAA,EACrC,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EAC5C,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;"}