ll-plus 2.3.2 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/es/components/key-value/index.d.ts +14316 -2
  2. package/es/components/key-value/src/components/key-value-item.vue.d.ts +4544 -0
  3. package/es/components/key-value/src/components/key-value-item.vue2.mjs +25 -21
  4. package/es/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -1
  5. package/es/components/key-value/src/config/key-value-item.d.ts +24 -0
  6. package/es/components/key-value/src/config/key-value-item.mjs +12 -0
  7. package/es/components/key-value/src/config/key-value-item.mjs.map +1 -1
  8. package/es/components/key-value/src/config/key-value.d.ts +1 -0
  9. package/es/components/key-value/src/config/key-value.mjs +4 -0
  10. package/es/components/key-value/src/config/key-value.mjs.map +1 -1
  11. package/es/components/key-value/src/key-value.vue.d.ts +14316 -2
  12. package/es/components/key-value/src/key-value.vue2.mjs +15 -2
  13. package/es/components/key-value/src/key-value.vue2.mjs.map +1 -1
  14. package/es/components/table/src/components/main-table.vue2.mjs +11 -1
  15. package/es/components/table/src/components/main-table.vue2.mjs.map +1 -1
  16. package/es/components/table/src/table.vue2.mjs +3 -0
  17. package/es/components/table/src/table.vue2.mjs.map +1 -1
  18. package/index.full.js +69 -23
  19. package/index.full.min.js +14 -14
  20. package/index.full.min.js.map +1 -1
  21. package/index.full.min.mjs +16 -16
  22. package/index.full.min.mjs.map +1 -1
  23. package/index.full.mjs +69 -23
  24. package/lib/components/key-value/index.d.ts +14316 -2
  25. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +4544 -0
  26. package/lib/components/key-value/src/components/key-value-item.vue2.js +24 -20
  27. package/lib/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
  28. package/lib/components/key-value/src/config/key-value-item.d.ts +24 -0
  29. package/lib/components/key-value/src/config/key-value-item.js +12 -0
  30. package/lib/components/key-value/src/config/key-value-item.js.map +1 -1
  31. package/lib/components/key-value/src/config/key-value.d.ts +1 -0
  32. package/lib/components/key-value/src/config/key-value.js +4 -0
  33. package/lib/components/key-value/src/config/key-value.js.map +1 -1
  34. package/lib/components/key-value/src/key-value.vue.d.ts +14316 -2
  35. package/lib/components/key-value/src/key-value.vue2.js +15 -2
  36. package/lib/components/key-value/src/key-value.vue2.js.map +1 -1
  37. package/lib/components/table/src/components/main-table.vue2.js +11 -1
  38. package/lib/components/table/src/components/main-table.vue2.js.map +1 -1
  39. package/lib/components/table/src/table.vue2.js +3 -0
  40. package/lib/components/table/src/table.vue2.js.map +1 -1
  41. package/package.json +1 -1
  42. package/types/packages/components/key-value/index.d.ts +14316 -2
  43. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +4544 -0
  44. package/types/packages/components/key-value/src/config/key-value-item.d.ts +24 -0
  45. package/types/packages/components/key-value/src/config/key-value.d.ts +1 -0
  46. package/types/packages/components/key-value/src/key-value.vue.d.ts +14316 -2
@@ -16,7 +16,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
16
16
  __name: "key-value",
17
17
  props: keyValue.keyValueProps,
18
18
  emits: keyValue.keyValueEmits,
19
- setup(__props, { emit: __emit }) {
19
+ setup(__props, { expose: __expose, emit: __emit }) {
20
20
  const props = __props;
21
21
  const emits = __emit;
22
22
  const bem = createNamespace.createNamespace("key-value");
@@ -30,7 +30,16 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
30
30
  });
31
31
  return obj;
32
32
  });
33
- const handleAddItem = () => {
33
+ const validate = async () => {
34
+ return Promise.all(keyValueItems.value.map((e) => e.validate()));
35
+ };
36
+ const resetFields = async () => {
37
+ return Promise.all(keyValueItems.value.map((e) => e.resetFields()));
38
+ };
39
+ const handleAddItem = async () => {
40
+ const valid = await validate();
41
+ if (props.validate && !valid)
42
+ return false;
34
43
  innerValue.value.push(keyValue.getKeyValueItem());
35
44
  emits("add", {
36
45
  index: innerValue.value.length - 1,
@@ -63,6 +72,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
63
72
  deep: true
64
73
  }
65
74
  );
75
+ __expose({
76
+ validate,
77
+ resetFields
78
+ });
66
79
  return (_ctx, _cache) => {
67
80
  const _component_ll_icon = vue.resolveComponent("ll-icon");
68
81
  const _component_ll_button = vue.resolveComponent("ll-button");
@@ -1 +1 @@
1
- {"version":3,"file":"key-value.vue2.js","sources":["../../../../../packages/components/key-value/src/key-value.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <div :class=\"bem.e('list')\">\n <key-value-item\n v-for=\"(_item, idx) in innerValue\"\n :key=\"_item\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n v-model:value=\"innerValue[idx]\"\n :idx=\"idx\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :show-delete=\"innerValue.length > 1\"\n :key-value-type=\"props.keyValueType\"\n :key-type=\"props.keyType\"\n :key-types=\"props.keyTypes\"\n :value-type=\"props.valueType\"\n :disabled=\"props.disabled\"\n :disabled-value=\"props.disabledValue\"\n :disabled-key=\"props.disabledKey\"\n :disabled-delete=\"props.disabledDelete\"\n @delete=\"handleDelete(idx)\"\n @change=\"handleChange\"\n >\n <template\n v-for=\"item in Object.keys($slots)\"\n :key=\"item\"\n #[item]=\"data\"\n >\n <slot :name=\"item\" v-bind=\"data || {}\" :index=\"idx\"></slot>\n </template>\n </key-value-item>\n </div>\n\n <ll-button\n :class=\"bem.e('add')\"\n :loading=\"loading\"\n :disabled=\"props.disabled || props.disabledAdd\"\n @click=\"handleAddItem\"\n >\n <div :class=\"bem.e('plus')\">\n <ll-icon\n v-if=\"!loading\"\n icon-name=\"icon-add\"\n :class=\"bem.e('icon-add')\"\n />\n {{ props.addText }}\n </div>\n </ll-button>\n </a-spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n keyValueProps,\n keyValueEmits,\n getKeyValueItem,\n type KeyValueItem\n} from './config'\nimport keyValueItem from './components/key-value-item.vue'\n\ndefineOptions({ name: 'LlKeyValue' })\n\nconst props = defineProps(keyValueProps)\nconst emits = defineEmits(keyValueEmits)\nconst bem = createNamespace('key-value')\nconst formItemContext = Form.useInjectFormItemContext()\n\nconst innerValue = ref<KeyValueItem[]>([])\n\nconst keyValueItems = ref<any[]>([])\n\nconst keyValueTypeDict = computed(() => {\n const obj = {}\n props.keyTypes.map(e => {\n obj[e.value] = e.option\n })\n return obj\n})\n\nconst handleAddItem = () => {\n innerValue.value.push(getKeyValueItem())\n emits('add', {\n index: innerValue.value.length - 1,\n item: innerValue.value[innerValue.value.length - 1],\n value: innerValue.value\n })\n handleChange()\n}\n\nconst handleDelete = (idx: number) => {\n innerValue.value.splice(idx, 1)\n emits('delete', idx)\n handleChange()\n}\n\nconst handleChange = () => {\n try {\n formItemContext.onFieldChange()\n emits('change', innerValue.value)\n emits('update:value', innerValue.value)\n } catch (error) {\n console.error(error)\n }\n}\n\nwatch(\n () => props.value,\n n => {\n innerValue.value = n && n.length > 0 ? n : [{ key: null, value: null }]\n },\n {\n immediate: true,\n deep: true\n }\n)\n</script>\n"],"names":["createNamespace","Form","ref","computed","getKeyValueItem","watch"],"mappings":";;;;;;;;;;;;;;;;;;;AAoEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAMA,gCAAgB,WAAW,CAAA,CAAA;AACvC,IAAM,MAAA,eAAA,GAAkBC,kBAAK,wBAAyB,EAAA,CAAA;AAEtD,IAAM,MAAA,UAAA,GAAaC,OAAoB,CAAA,EAAE,CAAA,CAAA;AAEzC,IAAM,MAAA,aAAA,GAAgBA,OAAW,CAAA,EAAE,CAAA,CAAA;AAEnC,IAAM,MAAA,gBAAA,GAAmBC,aAAS,MAAM;AACtC,MAAA,MAAM,MAAM,EAAC,CAAA;AACb,MAAM,KAAA,CAAA,QAAA,CAAS,IAAI,CAAK,CAAA,KAAA;AACtB,QAAI,GAAA,CAAA,CAAA,CAAE,KAAK,CAAA,GAAI,CAAE,CAAA,MAAA,CAAA;AAAA,OAClB,CAAA,CAAA;AACD,MAAO,OAAA,GAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAW,UAAA,CAAA,KAAA,CAAM,IAAK,CAAAC,wBAAA,EAAiB,CAAA,CAAA;AACvC,MAAA,KAAA,CAAM,KAAO,EAAA;AAAA,QACX,KAAA,EAAO,UAAW,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA;AAAA,QACjC,MAAM,UAAW,CAAA,KAAA,CAAM,UAAW,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA;AAAA,QAClD,OAAO,UAAW,CAAA,KAAA;AAAA,OACnB,CAAA,CAAA;AACD,MAAa,YAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,GAAgB,KAAA;AACpC,MAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAC9B,MAAA,KAAA,CAAM,UAAU,GAAG,CAAA,CAAA;AACnB,MAAa,YAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAI,IAAA;AACF,QAAA,eAAA,CAAgB,aAAc,EAAA,CAAA;AAC9B,QAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAChC,QAAM,KAAA,CAAA,cAAA,EAAgB,WAAW,KAAK,CAAA,CAAA;AAAA,eAC/B,KAAO,EAAA;AACd,QAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,OACrB;AAAA,KACF,CAAA;AAEA,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAK,CAAA,KAAA;AACH,QAAA,UAAA,CAAW,KAAQ,GAAA,CAAA,IAAK,CAAE,CAAA,MAAA,GAAS,CAAI,GAAA,CAAA,GAAI,CAAC,EAAE,GAAK,EAAA,IAAA,EAAM,KAAO,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,OACxE;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,QACX,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"key-value.vue2.js","sources":["../../../../../packages/components/key-value/src/key-value.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <div :class=\"bem.e('list')\">\n <key-value-item\n v-for=\"(_item, idx) in innerValue\"\n :key=\"_item\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n v-model:value=\"innerValue[idx]\"\n :idx=\"idx\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :show-delete=\"innerValue.length > 1\"\n :key-value-type=\"props.keyValueType\"\n :key-type=\"props.keyType\"\n :key-types=\"props.keyTypes\"\n :value-type=\"props.valueType\"\n :disabled=\"props.disabled\"\n :disabled-value=\"props.disabledValue\"\n :disabled-key=\"props.disabledKey\"\n :disabled-delete=\"props.disabledDelete\"\n @delete=\"handleDelete(idx)\"\n @change=\"handleChange\"\n >\n <template\n v-for=\"item in Object.keys($slots)\"\n :key=\"item\"\n #[item]=\"data\"\n >\n <slot :name=\"item\" v-bind=\"data || {}\" :index=\"idx\"></slot>\n </template>\n </key-value-item>\n </div>\n\n <ll-button\n :class=\"bem.e('add')\"\n :loading=\"loading\"\n :disabled=\"props.disabled || props.disabledAdd\"\n @click=\"handleAddItem\"\n >\n <div :class=\"bem.e('plus')\">\n <ll-icon\n v-if=\"!loading\"\n icon-name=\"icon-add\"\n :class=\"bem.e('icon-add')\"\n />\n {{ props.addText }}\n </div>\n </ll-button>\n </a-spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch } from 'vue'\nimport { Form } from 'ant-design-vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n keyValueProps,\n keyValueEmits,\n getKeyValueItem,\n type KeyValueItem\n} from './config'\nimport keyValueItem from './components/key-value-item.vue'\n\ndefineOptions({ name: 'LlKeyValue' })\n\nconst props = defineProps(keyValueProps)\nconst emits = defineEmits(keyValueEmits)\nconst bem = createNamespace('key-value')\nconst formItemContext = Form.useInjectFormItemContext()\n\nconst innerValue = ref<KeyValueItem[]>([])\n\nconst keyValueItems = ref<InstanceType<typeof keyValueItem>[]>([])\n\nconst keyValueTypeDict = computed(() => {\n const obj = {}\n props.keyTypes.map(e => {\n obj[e.value] = e.option\n })\n return obj\n})\n\nconst validate = async () => {\n return Promise.all(keyValueItems.value.map(e => e.validate()))\n}\n\nconst resetFields = async () => {\n return Promise.all(keyValueItems.value.map(e => e.resetFields()))\n}\n\nconst handleAddItem = async () => {\n const valid = await validate()\n if (props.validate && !valid) return false\n innerValue.value.push(getKeyValueItem())\n emits('add', {\n index: innerValue.value.length - 1,\n item: innerValue.value[innerValue.value.length - 1],\n value: innerValue.value\n })\n handleChange()\n}\n\nconst handleDelete = (idx: number) => {\n innerValue.value.splice(idx, 1)\n emits('delete', idx)\n handleChange()\n}\n\nconst handleChange = () => {\n try {\n formItemContext.onFieldChange()\n emits('change', innerValue.value)\n emits('update:value', innerValue.value)\n } catch (error) {\n console.error(error)\n }\n}\n\nwatch(\n () => props.value,\n n => {\n innerValue.value = n && n.length > 0 ? n : [{ key: null, value: null }]\n },\n {\n immediate: true,\n deep: true\n }\n)\n\ndefineExpose({\n validate,\n resetFields\n})\n</script>\n"],"names":["createNamespace","Form","ref","computed","getKeyValueItem","watch"],"mappings":"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"}
@@ -401,7 +401,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
401
401
  vue.createVNode(_component_a_checkbox, {
402
402
  checked: element.isCheck,
403
403
  onChange: (e) => {
404
- handleColumnItemChange(e.target?.checked, element);
404
+ handleColumnItemChange(
405
+ e.target?.checked,
406
+ element
407
+ );
405
408
  }
406
409
  }, {
407
410
  default: vue.withCtx(() => [
@@ -560,6 +563,13 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
560
563
  vue.renderSlot(_ctx.$slots, "expandedRow", vue.normalizeProps(vue.guardReactiveProps(slots)))
561
564
  ]),
562
565
  key: "0"
566
+ } : void 0,
567
+ _ctx.$slots.customFilterDropdown ? {
568
+ name: "customFilterDropdown",
569
+ fn: vue.withCtx((slots) => [
570
+ vue.renderSlot(_ctx.$slots, "customFilterDropdown", vue.normalizeProps(vue.guardReactiveProps(slots)))
571
+ ]),
572
+ key: "1"
563
573
  } : void 0
564
574
  ]), 1040, ["class", "columns", "data-source", "expanded-row-keys", "custom-row", "scroll", "onChange", "onExpandedRowsChange"]);
565
575
  };
@@ -1 +1 @@
1
- {"version":3,"file":"main-table.vue2.js","sources":["../../../../../../packages/components/table/src/components/main-table.vue"],"sourcesContent":["<template>\n <a-table\n :class=\"`${bem.e('main-content')}`\"\n row-key=\"id\"\n v-bind=\"attrs\"\n :columns=\"newColumns\"\n :data-source=\"newDataSource\"\n :expanded-row-keys=\"newExpandedRowKeys\"\n :custom-row=\"props.showDrag ? dragCustomRow : (customRowProps as any)\"\n :pagination=\"false\"\n show-header\n :scroll=\"{\n scrollToFirstRowOnChange: true,\n x: props?.scroll?.x ? props?.scroll?.x : 'max-content',\n y: props?.scroll?.y ? props?.scroll?.y : '100%'\n }\"\n @expand=\"handleExpand\"\n @resize-column=\"handleResizeColumn\"\n @change=\"props.change\"\n @expanded-rows-change=\"props.expandedRowsChange\"\n >\n <!-- 1.表头插槽 -->\n <template #headerCell=\"slots\">\n <template v-if=\"slots.column.key === 'operate' && showSetting\">\n <div :class=\"`${bem.e('operate')}`\">\n <span>{{ slots.column.title }}</span>\n <a-popover\n trigger=\"click\"\n placement=\"bottomRight\"\n :overlay-inner-style=\"{\n padding: '0'\n }\"\n >\n <template #content>\n <div :class=\"`${bem.e('setting-popover')}`\">\n <!-- 头部 -->\n <div :class=\"`${bem.e('setting-popover-header')}`\">\n <a-checkbox\n :indeterminate=\"isIndeterminate\"\n :checked=\"isAllCheck\"\n @change=\"handleAllColumnChange\"\n >\n 列展示\n </a-checkbox>\n <span\n :class=\"`${bem.e('setting-reset-btn')}`\"\n @click=\"handleClickResetBtn\"\n >\n 重置\n </span>\n </div>\n <!-- 内容 -->\n <div :class=\"`${bem.e('setting-popover-content')}`\">\n <div>\n <draggable\n :list=\"settingColumns\"\n item-key=\"key\"\n :group=\"{ name: 'g1' }\"\n @change=\"dragChange\"\n >\n <template #item=\"{ element }\">\n <div :class=\"`${bem.e('setting-popover-menu')}`\">\n <!-- 拖拽 -->\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-left'\n )}`\"\n >\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n :style=\"{\n marginright: '5px'\n }\"\n >\n <ll-icon\n icon-name=\"icon-move\"\n class-name=\"icon\"\n />\n </a-button>\n <a-checkbox\n :checked=\"element.isCheck\"\n @change=\"\n (e: any) =>\n {\n handleColumnItemChange(e.target?.checked!, element)\n }\n \"\n >\n {{ element.title }}\n </a-checkbox>\n </div>\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-right'\n )}`\"\n >\n <!-- 左移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'left')\"\n >\n <ll-icon\n icon-name=\"icon-zuoyi\"\n :class-name=\"`icon ${\n element.fixed === 'left'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n <a-divider type=\"vertical\" />\n <!-- 右移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'right')\"\n >\n <ll-icon\n icon-name=\"icon-youyi\"\n :class-name=\"`icon ${\n element.fixed === 'right'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n </div>\n </div>\n </template>\n </draggable>\n </div>\n </div>\n </div>\n </template>\n <a-button type=\"text\" :class=\"`${bem.e('setting-icon')}`\">\n <ll-icon icon-name=\"icon-set-line\" />\n </a-button>\n </a-popover>\n </div>\n </template>\n <template v-else-if=\"has(slots.column, 'RC_TABLE_INTERNAL_COL_DEFINE')\">\n <slot name=\"expandedTitle\"></slot>\n </template>\n <template v-else>{{ slots.column.title }}</template>\n <!-- 额外header单元格的插槽内容 -->\n <slot name=\"tableHeaderCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 2.表格内容插槽 -->\n <template #bodyCell=\"slots\">\n <!-- 添加序列列 -->\n <template v-if=\"slots.column.key === '#' && showIndexColumn\">\n {{ slots.index + 1 }}\n </template>\n <!-- 添加操作列 -->\n <template v-else-if=\"slots.column.key === 'operate'\">\n <slot name=\"tableOperate\" v-bind=\"slots\"></slot>\n </template>\n <!-- 额外Body单元格的插槽内容 -->\n <slot name=\"tableBodyCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 3.空状态自定义插槽 -->\n <template #emptyText>\n <slot name=\"emptyText\">\n <ll-empty>\n <template #content>暂无数据</template>\n </ll-empty>\n </slot>\n </template>\n <!-- 4.表格自定义展开内容插槽 -->\n <template v-if=\"$slots.expandedRow\" #expandedRowRender=\"slots\">\n <slot name=\"expandedRow\" v-bind=\"slots\"> </slot>\n </template>\n </a-table>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, watch, computed, useAttrs } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport draggable from 'vuedraggable'\n\nimport { has } from 'lodash-es'\n\nimport { mainTableProps, mainTableEmits } from '../config'\n\n// 1.defineOptions\ndefineOptions({\n name: 'MainTable'\n})\n\n// 2.props/emits\nconst props = defineProps(mainTableProps)\nconst emits = defineEmits(mainTableEmits)\n\n// 3.hooks\nconst attrs = useAttrs()\n\n// 3.ref/let/const\nconst newColumns: any = ref([]) // 显示在表格的columns\nconst settingColumns: any = ref([])\nconst newDataSource: any = ref([])\nconst newExpandedRowKeys: any = ref([]) //展开的id数组\nlet preIndex = -1 // 源目标数据序号\nlet nextIndex = -1 // 目标数据序号\nconst bem = createNamespace('table')\n\n// 往表格列中添加序号和操作\nconst handleAddSerialNumberAndOperateToColumns = () => {\n if (props.showIndexColumn) {\n newColumns.value.unshift({\n title: '#',\n dataIndex: '#',\n key: '#',\n width: 50,\n fixed: 'left',\n class: 'table-serial-number-cell'\n })\n }\n if (props.showOperate) {\n newColumns.value.push({\n title: '操作',\n dataIndex: '',\n key: 'operate',\n width: 120,\n fixed: 'right',\n class: 'table-serial-operate-cell'\n })\n }\n}\n// 处理表格列的左、右固定排序(letf放最左边,没有定位放中间,右边放right定位)\nconst handleColumnsSortByFixed = (list: any, isDrag?: boolean) => {\n const newList = list\n const leftFixedColumns: any = [],\n normalFixedColumns: any = [],\n rightFixedColumns: any = []\n newList.forEach((item: any) => {\n const fixed = item.fixed\n if (fixed === 'left') {\n leftFixedColumns.push(item)\n } else if (fixed === 'right') {\n rightFixedColumns.push(item)\n } else {\n normalFixedColumns.push(item)\n }\n })\n leftFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n normalFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n rightFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n newColumns.value = [\n ...leftFixedColumns,\n ...normalFixedColumns,\n ...rightFixedColumns\n ]\n if (isDrag) {\n handleAddSerialNumberAndOperateToColumns()\n }\n}\n\n// 4.watch\nwatch(\n () => props.dataSource,\n (newValue: any) => {\n newDataSource.value = [...newValue]\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 从本地存储中获取columns/没有则用用户传的\nwatch(\n () => [\n props.columns,\n props.settingKey,\n props.showIndexColumn,\n props.showOperate\n ],\n (arr: any) => {\n const [newValue, key] = arr\n let newcolumns = []\n // 有key\n if (key && localStorage.getItem(key)) {\n const localStorageColumns = localStorage.getItem(key)\n if (localStorageColumns) {\n newcolumns = JSON.parse(localStorageColumns)\n }\n } else {\n // 没key\n newcolumns = newValue.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex:\n item.columnSortIndex === 0 || item.columnSortIndex\n ? item.columnSortIndex\n : index\n }))\n }\n // 1.过滤掉没有选中的\n newColumns.value = [...newcolumns].filter((item: any) => item.isCheck)\n // 2.如果有设置序列和操作,则添加\n handleAddSerialNumberAndOperateToColumns()\n // 3.根据定位来排序\n handleColumnsSortByFixed(newColumns.value)\n settingColumns.value = [...newcolumns]\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => props.expandedRowKeys,\n (newValue: any) => {\n if (Array.isArray(newValue)) {\n newExpandedRowKeys.value = [...newValue]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 5.methods\n//重新定义树状展开关闭功能\nconst handleExpand = (expanded: boolean, record: any) => {\n if (expanded) {\n newExpandedRowKeys.value.push(record.id)\n } else {\n const index = newExpandedRowKeys.value.findIndex(\n (e: any) => e === record.id\n )\n newExpandedRowKeys.value.splice(index, 1)\n }\n props.expand && props.expand(expanded, record)\n}\n// 列拖拽\nconst handleResizeColumn = (w: any, col: any) => {\n col.width = w\n props.resizeColumn && props.resizeColumn(w, col)\n}\n// 拖动排序\nconst dragCustomRow = (_: any, index: number) => {\n const normalConfig = {\n props: {\n // draggable: 'true'\n },\n draggable: true,\n style: {\n cursor: 'pointer'\n },\n // 鼠标移入\n onMouseenter: (event: Event) => {\n const target = event.target as HTMLElement\n target.draggable = true // 让你要拖动的行可以拖动,默认不可以\n },\n // 开始拖拽\n onDragstart: (event: Event) => {\n event.stopPropagation()\n preIndex = index\n },\n // 拖动元素经过的元素\n onDragover: (event: Event) => {\n event.preventDefault()\n },\n // 鼠标松开\n onDrop: (event: Event) => {\n let sortSource: any[] = []\n event.stopPropagation()\n // 得到目标数据序号\n nextIndex = index\n const dataSource = newDataSource.value\n // 排序后两个sort互换\n const preItem = { ...dataSource[preIndex] }\n const nextItem = { ...dataSource[nextIndex] }\n const preSort = preItem.sort\n const nextSort = nextItem.sort\n preItem.sort = nextSort\n nextItem.sort = preSort\n\n dataSource[preIndex] = nextItem\n dataSource[nextIndex] = preItem\n sortSource = [...dataSource]\n emits('handleChangeDataSource', sortSource)\n props.dragChange && props.dragChange(sortSource)\n }\n }\n const extraConfig = props.customRowProps\n ? { ...props.customRowProps(_, index) }\n : {}\n return { ...normalConfig, ...extraConfig }\n}\n// 是否全选\nconst isAllCheck = computed(() => {\n return settingColumns.value.every((item: any) => item.isCheck)\n})\n// 是否全选\nconst isIndeterminate = computed(() => {\n const getIsChecks = settingColumns.value.filter((item: any) => item.isCheck)\n return getIsChecks.length === 0\n ? false\n : settingColumns.value.length > getIsChecks.length\n})\n// 单个checkbox的change\nconst handleChangeColumns = () => {\n const isCheckSettingColumns = settingColumns.value.filter(\n (item: any, index: number) => {\n item.columnSortIndex = index\n return item.isCheck\n }\n )\n handleColumnsSortByFixed(isCheckSettingColumns, true)\n}\n\nconst handleColumnItemChange = (value: boolean, item: any) => {\n const findSettingIndex = settingColumns.value.findIndex(\n (citem: any) => item.key === citem.key\n )\n\n if (findSettingIndex > -1) {\n settingColumns.value[findSettingIndex].isCheck = value\n handleChangeColumns()\n handleClickSubmitBtn()\n }\n}\n// 全选change\nconst handleAllColumnChange = (e: any) => {\n const checked = e.target.checked\n settingColumns.value.forEach((item: any) => (item.isCheck = checked))\n if (checked) {\n newColumns.value = [...props.columns]\n } else {\n newColumns.value = []\n }\n handleAddSerialNumberAndOperateToColumns()\n handleClickSubmitBtn()\n}\n// 拖拽change\nconst dragChange = () => {\n handleChangeColumns()\n handleClickSubmitBtn()\n}\n// 点击重置按钮\nconst handleClickResetBtn = () => {\n const newcolumns = props.columns.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex: index\n }))\n newColumns.value = [...newcolumns]\n handleAddSerialNumberAndOperateToColumns()\n settingColumns.value = [...newcolumns]\n handleClickSubmitBtn()\n}\n// 点击保存按钮\nconst handleClickSubmitBtn = () => {\n if (props.settingKey) {\n localStorage.setItem(props.settingKey, JSON.stringify(settingColumns.value))\n }\n}\n// 处理column左固定和右固定\nconst handleColumnMove = (element: any, way: string) => {\n const fixed = element.fixed\n if (fixed === way) {\n element.fixed = false\n } else {\n element.fixed = way\n }\n handleColumnsSortByFixed(newColumns.value)\n handleClickSubmitBtn()\n}\n</script>\n../config/table\n"],"names":["useAttrs","ref","createNamespace","watch","computed"],"mappings":"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"}
1
+ {"version":3,"file":"main-table.vue2.js","sources":["../../../../../../packages/components/table/src/components/main-table.vue"],"sourcesContent":["<template>\n <a-table\n :class=\"`${bem.e('main-content')}`\"\n row-key=\"id\"\n v-bind=\"attrs\"\n :columns=\"newColumns\"\n :data-source=\"newDataSource\"\n :expanded-row-keys=\"newExpandedRowKeys\"\n :custom-row=\"props.showDrag ? dragCustomRow : (customRowProps as any)\"\n :pagination=\"false\"\n show-header\n :scroll=\"{\n scrollToFirstRowOnChange: true,\n x: props?.scroll?.x ? props?.scroll?.x : 'max-content',\n y: props?.scroll?.y ? props?.scroll?.y : '100%'\n }\"\n @expand=\"handleExpand\"\n @resize-column=\"handleResizeColumn\"\n @change=\"props.change\"\n @expanded-rows-change=\"props.expandedRowsChange\"\n >\n <!-- 1.表头插槽 -->\n <template #headerCell=\"slots\">\n <template v-if=\"slots.column.key === 'operate' && showSetting\">\n <div :class=\"`${bem.e('operate')}`\">\n <span>{{ slots.column.title }}</span>\n <a-popover\n trigger=\"click\"\n placement=\"bottomRight\"\n :overlay-inner-style=\"{\n padding: '0'\n }\"\n >\n <template #content>\n <div :class=\"`${bem.e('setting-popover')}`\">\n <!-- 头部 -->\n <div :class=\"`${bem.e('setting-popover-header')}`\">\n <a-checkbox\n :indeterminate=\"isIndeterminate\"\n :checked=\"isAllCheck\"\n @change=\"handleAllColumnChange\"\n >\n 列展示\n </a-checkbox>\n <span\n :class=\"`${bem.e('setting-reset-btn')}`\"\n @click=\"handleClickResetBtn\"\n >\n 重置\n </span>\n </div>\n <!-- 内容 -->\n <div :class=\"`${bem.e('setting-popover-content')}`\">\n <div>\n <draggable\n :list=\"settingColumns\"\n item-key=\"key\"\n :group=\"{ name: 'g1' }\"\n @change=\"dragChange\"\n >\n <template #item=\"{ element }\">\n <div :class=\"`${bem.e('setting-popover-menu')}`\">\n <!-- 拖拽 -->\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-left'\n )}`\"\n >\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n :style=\"{\n marginright: '5px'\n }\"\n >\n <ll-icon\n icon-name=\"icon-move\"\n class-name=\"icon\"\n />\n </a-button>\n <a-checkbox\n :checked=\"element.isCheck\"\n @change=\"\n (e: any) => {\n handleColumnItemChange(\n e.target?.checked!,\n element\n )\n }\n \"\n >\n {{ element.title }}\n </a-checkbox>\n </div>\n <div\n :class=\"`flex items-center ${bem.e(\n 'setting-popover-menu-right'\n )}`\"\n >\n <!-- 左移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'left')\"\n >\n <ll-icon\n icon-name=\"icon-zuoyi\"\n :class-name=\"`icon ${\n element.fixed === 'left'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n <a-divider type=\"vertical\" />\n <!-- 右移 -->\n <a-button\n type=\"text\"\n :class=\"`${bem.e('setting-popover-menu-icon')}`\"\n @click=\"handleColumnMove(element, 'right')\"\n >\n <ll-icon\n icon-name=\"icon-youyi\"\n :class-name=\"`icon ${\n element.fixed === 'right'\n ? bem.e('setting-popover-menu-fixed-icon')\n : ''\n }`\"\n />\n </a-button>\n </div>\n </div>\n </template>\n </draggable>\n </div>\n </div>\n </div>\n </template>\n <a-button type=\"text\" :class=\"`${bem.e('setting-icon')}`\">\n <ll-icon icon-name=\"icon-set-line\" />\n </a-button>\n </a-popover>\n </div>\n </template>\n <template v-else-if=\"has(slots.column, 'RC_TABLE_INTERNAL_COL_DEFINE')\">\n <slot name=\"expandedTitle\"></slot>\n </template>\n <template v-else>{{ slots.column.title }}</template>\n <!-- 额外header单元格的插槽内容 -->\n <slot name=\"tableHeaderCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 2.表格内容插槽 -->\n <template #bodyCell=\"slots\">\n <!-- 添加序列列 -->\n <template v-if=\"slots.column.key === '#' && showIndexColumn\">\n {{ slots.index + 1 }}\n </template>\n <!-- 添加操作列 -->\n <template v-else-if=\"slots.column.key === 'operate'\">\n <slot name=\"tableOperate\" v-bind=\"slots\"></slot>\n </template>\n <!-- 额外Body单元格的插槽内容 -->\n <slot name=\"tableBodyCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- 3.空状态自定义插槽 -->\n <template #emptyText>\n <slot name=\"emptyText\">\n <ll-empty>\n <template #content>暂无数据</template>\n </ll-empty>\n </slot>\n </template>\n <!-- 4.表格自定义展开内容插槽 -->\n <template v-if=\"$slots.expandedRow\" #expandedRowRender=\"slots\">\n <slot name=\"expandedRow\" v-bind=\"slots\"> </slot>\n </template>\n <!-- 5.表格自定义列筛选 -->\n <template v-if=\"$slots.customFilterDropdown\" #customFilterDropdown=\"slots\">\n <slot name=\"customFilterDropdown\" v-bind=\"slots\"> </slot>\n </template>\n </a-table>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, watch, computed, useAttrs } from 'vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\nimport draggable from 'vuedraggable'\n\nimport { has } from 'lodash-es'\n\nimport { mainTableProps, mainTableEmits } from '../config'\n\n// 1.defineOptions\ndefineOptions({\n name: 'MainTable'\n})\n\n// 2.props/emits\nconst props = defineProps(mainTableProps)\nconst emits = defineEmits(mainTableEmits)\n\n// 3.hooks\nconst attrs = useAttrs()\n\n// 3.ref/let/const\nconst newColumns: any = ref([]) // 显示在表格的columns\nconst settingColumns: any = ref([])\nconst newDataSource: any = ref([])\nconst newExpandedRowKeys: any = ref([]) //展开的id数组\nlet preIndex = -1 // 源目标数据序号\nlet nextIndex = -1 // 目标数据序号\nconst bem = createNamespace('table')\n\n// 往表格列中添加序号和操作\nconst handleAddSerialNumberAndOperateToColumns = () => {\n if (props.showIndexColumn) {\n newColumns.value.unshift({\n title: '#',\n dataIndex: '#',\n key: '#',\n width: 50,\n fixed: 'left',\n class: 'table-serial-number-cell'\n })\n }\n if (props.showOperate) {\n newColumns.value.push({\n title: '操作',\n dataIndex: '',\n key: 'operate',\n width: 120,\n fixed: 'right',\n class: 'table-serial-operate-cell'\n })\n }\n}\n// 处理表格列的左、右固定排序(letf放最左边,没有定位放中间,右边放right定位)\nconst handleColumnsSortByFixed = (list: any, isDrag?: boolean) => {\n const newList = list\n const leftFixedColumns: any = [],\n normalFixedColumns: any = [],\n rightFixedColumns: any = []\n newList.forEach((item: any) => {\n const fixed = item.fixed\n if (fixed === 'left') {\n leftFixedColumns.push(item)\n } else if (fixed === 'right') {\n rightFixedColumns.push(item)\n } else {\n normalFixedColumns.push(item)\n }\n })\n leftFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n normalFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n rightFixedColumns.sort(\n (a: any, b: any) => a.columnSortIndex - b.columnSortIndex\n )\n newColumns.value = [\n ...leftFixedColumns,\n ...normalFixedColumns,\n ...rightFixedColumns\n ]\n if (isDrag) {\n handleAddSerialNumberAndOperateToColumns()\n }\n}\n\n// 4.watch\nwatch(\n () => props.dataSource,\n (newValue: any) => {\n newDataSource.value = [...newValue]\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 从本地存储中获取columns/没有则用用户传的\nwatch(\n () => [\n props.columns,\n props.settingKey,\n props.showIndexColumn,\n props.showOperate\n ],\n (arr: any) => {\n const [newValue, key] = arr\n let newcolumns = []\n // 有key\n if (key && localStorage.getItem(key)) {\n const localStorageColumns = localStorage.getItem(key)\n if (localStorageColumns) {\n newcolumns = JSON.parse(localStorageColumns)\n }\n } else {\n // 没key\n newcolumns = newValue.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex:\n item.columnSortIndex === 0 || item.columnSortIndex\n ? item.columnSortIndex\n : index\n }))\n }\n // 1.过滤掉没有选中的\n newColumns.value = [...newcolumns].filter((item: any) => item.isCheck)\n // 2.如果有设置序列和操作,则添加\n handleAddSerialNumberAndOperateToColumns()\n // 3.根据定位来排序\n handleColumnsSortByFixed(newColumns.value)\n settingColumns.value = [...newcolumns]\n },\n {\n deep: true,\n immediate: true\n }\n)\nwatch(\n () => props.expandedRowKeys,\n (newValue: any) => {\n if (Array.isArray(newValue)) {\n newExpandedRowKeys.value = [...newValue]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 5.methods\n//重新定义树状展开关闭功能\nconst handleExpand = (expanded: boolean, record: any) => {\n if (expanded) {\n newExpandedRowKeys.value.push(record.id)\n } else {\n const index = newExpandedRowKeys.value.findIndex(\n (e: any) => e === record.id\n )\n newExpandedRowKeys.value.splice(index, 1)\n }\n props.expand && props.expand(expanded, record)\n}\n// 列拖拽\nconst handleResizeColumn = (w: any, col: any) => {\n col.width = w\n props.resizeColumn && props.resizeColumn(w, col)\n}\n// 拖动排序\nconst dragCustomRow = (_: any, index: number) => {\n const normalConfig = {\n props: {\n // draggable: 'true'\n },\n draggable: true,\n style: {\n cursor: 'pointer'\n },\n // 鼠标移入\n onMouseenter: (event: Event) => {\n const target = event.target as HTMLElement\n target.draggable = true // 让你要拖动的行可以拖动,默认不可以\n },\n // 开始拖拽\n onDragstart: (event: Event) => {\n event.stopPropagation()\n preIndex = index\n },\n // 拖动元素经过的元素\n onDragover: (event: Event) => {\n event.preventDefault()\n },\n // 鼠标松开\n onDrop: (event: Event) => {\n let sortSource: any[] = []\n event.stopPropagation()\n // 得到目标数据序号\n nextIndex = index\n const dataSource = newDataSource.value\n // 排序后两个sort互换\n const preItem = { ...dataSource[preIndex] }\n const nextItem = { ...dataSource[nextIndex] }\n const preSort = preItem.sort\n const nextSort = nextItem.sort\n preItem.sort = nextSort\n nextItem.sort = preSort\n\n dataSource[preIndex] = nextItem\n dataSource[nextIndex] = preItem\n sortSource = [...dataSource]\n emits('handleChangeDataSource', sortSource)\n props.dragChange && props.dragChange(sortSource)\n }\n }\n const extraConfig = props.customRowProps\n ? { ...props.customRowProps(_, index) }\n : {}\n return { ...normalConfig, ...extraConfig }\n}\n// 是否全选\nconst isAllCheck = computed(() => {\n return settingColumns.value.every((item: any) => item.isCheck)\n})\n// 是否全选\nconst isIndeterminate = computed(() => {\n const getIsChecks = settingColumns.value.filter((item: any) => item.isCheck)\n return getIsChecks.length === 0\n ? false\n : settingColumns.value.length > getIsChecks.length\n})\n// 单个checkbox的change\nconst handleChangeColumns = () => {\n const isCheckSettingColumns = settingColumns.value.filter(\n (item: any, index: number) => {\n item.columnSortIndex = index\n return item.isCheck\n }\n )\n handleColumnsSortByFixed(isCheckSettingColumns, true)\n}\n\nconst handleColumnItemChange = (value: boolean, item: any) => {\n const findSettingIndex = settingColumns.value.findIndex(\n (citem: any) => item.key === citem.key\n )\n\n if (findSettingIndex > -1) {\n settingColumns.value[findSettingIndex].isCheck = value\n handleChangeColumns()\n handleClickSubmitBtn()\n }\n}\n// 全选change\nconst handleAllColumnChange = (e: any) => {\n const checked = e.target.checked\n settingColumns.value.forEach((item: any) => (item.isCheck = checked))\n if (checked) {\n newColumns.value = [...props.columns]\n } else {\n newColumns.value = []\n }\n handleAddSerialNumberAndOperateToColumns()\n handleClickSubmitBtn()\n}\n// 拖拽change\nconst dragChange = () => {\n handleChangeColumns()\n handleClickSubmitBtn()\n}\n// 点击重置按钮\nconst handleClickResetBtn = () => {\n const newcolumns = props.columns.map((item: any, index: number) => ({\n ...item,\n isCheck: true,\n columnSortIndex: index\n }))\n newColumns.value = [...newcolumns]\n handleAddSerialNumberAndOperateToColumns()\n settingColumns.value = [...newcolumns]\n handleClickSubmitBtn()\n}\n// 点击保存按钮\nconst handleClickSubmitBtn = () => {\n if (props.settingKey) {\n localStorage.setItem(props.settingKey, JSON.stringify(settingColumns.value))\n }\n}\n// 处理column左固定和右固定\nconst handleColumnMove = (element: any, way: string) => {\n const fixed = element.fixed\n if (fixed === way) {\n element.fixed = false\n } else {\n element.fixed = way\n }\n handleColumnsSortByFixed(newColumns.value)\n handleClickSubmitBtn()\n}\n</script>\n../config/table\n"],"names":["useAttrs","ref","createNamespace","watch","computed"],"mappings":"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"}
@@ -115,6 +115,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
115
115
  emptyText: vue.withCtx(() => [
116
116
  vue.renderSlot(_ctx.$slots, "emptyText")
117
117
  ]),
118
+ customFilterDropdown: vue.withCtx(() => [
119
+ vue.renderSlot(_ctx.$slots, "customFilterDropdown")
120
+ ]),
118
121
  _: 2
119
122
  /* DYNAMIC */
120
123
  }, [
@@ -1 +1 @@
1
- {"version":3,"file":"table.vue2.js","sources":["../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <a-spin :spinning=\"props.loading\" wrapper-class-name=\"ll-table-spin-wrapper\">\n <div :class=\"bem.b()\">\n <!-- 头部seach -->\n <header-search\n v-bind=\"headerSearchProps\"\n @change=\"handleSwitchMenuChange\"\n >\n <!-- header-slot -->\n <template #header>\n <slot name=\"header\" />\n </template>\n <slot name=\"header\"></slot>\n <!-- left-slot -->\n <template #headerLeft>\n <slot name=\"headerLeft\"></slot>\n </template>\n <!-- middle-slot -->\n <template #headerMiddle>\n <slot name=\"headerMiddle\"></slot>\n </template>\n <!-- right-slot -->\n <template #headerRight>\n <slot name=\"headerRight\"></slot>\n </template>\n </header-search>\n <!-- slot-content table和card默认table -->\n <div\n :class=\"[\n bem.m('fixed-height'),\n !newNaTableptions.dataSource!.length ? bem.m('empty') : ''\n ]\"\n >\n <slot :name=\"contentType\">\n <main-table\n v-bind=\"newNaTableptions\"\n @handle-change-data-source=\"handleChangeDataSource\"\n >\n <!-- tableHeaderCell-slot -->\n <template #tableHeaderCell=\"slots\">\n <slot name=\"tableHeaderCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- tableBodyCell-slot -->\n <template #tableBodyCell=\"slots\">\n <slot name=\"tableBodyCell\" v-bind=\"slots\"></slot>\n </template>\n <!--tableOperate-slot -->\n <template #tableOperate=\"slots\">\n <slot name=\"tableOperate\" v-bind=\"slots\"></slot>\n </template>\n <!-- tableRowExpand-slot -->\n <template v-if=\"$slots.expandedRow\" #expandedRow=\"slots\">\n <slot name=\"expandedRow\" v-bind=\"slots\"></slot>\n </template>\n <!-- expandColumnTitle-slot -->\n <template #expandedTitle>\n <slot name=\"expandedTitle\"> </slot>\n </template>\n <!-- empty-slot -->\n <template #emptyText>\n <slot name=\"emptyText\"></slot>\n </template>\n </main-table>\n </slot>\n </div>\n <!-- 底部分页 -->\n <template\n v-if=\"\n newNaTableptions.dataSource!.length &&\n !newNaTableptions.hiddenPagination\n \"\n >\n <pagination v-bind=\"paginationProps\" />\n </template>\n </div>\n </a-spin>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, watch, provide } from 'vue'\n\nimport { ImenuSwitchType } from './config'\nimport { createNamespace } from '@ll-plus/utils'\n\nimport HeaderSearch from './components/header-search.vue'\nimport MainTable from './components/main-table.vue'\nimport Pagination from './components/pagination.vue'\n\nimport { tableProps } from './config'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlTable' })\n\n// 2.props\nconst props = defineProps(tableProps)\n// 3.ref\n// 表格数据\nconst originDataSource = ref()\nconst newNaTableptions = ref<any>({\n dataSource: [],\n columns: []\n})\n// 菜单切换/内容插槽\nconst contentType = ref(ImenuSwitchType.TABLE) // 菜单切换\nconst bem = createNamespace('table')\n\n// 4.methods\n// 拖拽完成后获取拖拽后的数据\nconst handleChangeDataSource = (dataSource: any[]) => {\n newNaTableptions.value.dataSource = dataSource\n}\n// 切换菜单内容\nconst handleSwitchMenuChange = (v: ImenuSwitchType) => {\n contentType.value = v\n}\n\n// 5.watch\nwatch(\n () => props.tableProps,\n (newValue: any) => {\n if (newValue) {\n newNaTableptions.value = { ...newValue }\n originDataSource.value = [...newValue.dataSource]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 6.其他\nprovide('contentType', contentType)\n</script>\n"],"names":["ref","ImenuSwitchType","createNamespace","watch","provide"],"mappings":";;;;;;;;;;;;;;;;;;;;AA6FA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAGd,IAAA,MAAM,mBAAmBA,OAAI,EAAA,CAAA;AAC7B,IAAA,MAAM,mBAAmBA,OAAS,CAAA;AAAA,MAChC,YAAY,EAAC;AAAA,MACb,SAAS,EAAC;AAAA,KACX,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAcA,OAAI,CAAAC,4BAAA,CAAgB,KAAK,CAAA,CAAA;AAC7C,IAAM,MAAA,GAAA,GAAMC,gCAAgB,OAAO,CAAA,CAAA;AAInC,IAAM,MAAA,sBAAA,GAAyB,CAAC,UAAsB,KAAA;AACpD,MAAA,gBAAA,CAAiB,MAAM,UAAa,GAAA,UAAA,CAAA;AAAA,KACtC,CAAA;AAEA,IAAM,MAAA,sBAAA,GAAyB,CAAC,CAAuB,KAAA;AACrD,MAAA,WAAA,CAAY,KAAQ,GAAA,CAAA,CAAA;AAAA,KACtB,CAAA;AAGA,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,QAAkB,KAAA;AACjB,QAAA,IAAI,QAAU,EAAA;AACZ,UAAiB,gBAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,QAAS,EAAA,CAAA;AACvC,UAAA,gBAAA,CAAiB,KAAQ,GAAA,CAAC,GAAG,QAAA,CAAS,UAAU,CAAA,CAAA;AAAA,SAClD;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,QACN,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAAC,WAAA,CAAQ,eAAe,WAAW,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"table.vue2.js","sources":["../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<template>\n <a-spin :spinning=\"props.loading\" wrapper-class-name=\"ll-table-spin-wrapper\">\n <div :class=\"bem.b()\">\n <!-- 头部seach -->\n <header-search\n v-bind=\"headerSearchProps\"\n @change=\"handleSwitchMenuChange\"\n >\n <!-- header-slot -->\n <template #header>\n <slot name=\"header\" />\n </template>\n <slot name=\"header\"></slot>\n <!-- left-slot -->\n <template #headerLeft>\n <slot name=\"headerLeft\"></slot>\n </template>\n <!-- middle-slot -->\n <template #headerMiddle>\n <slot name=\"headerMiddle\"></slot>\n </template>\n <!-- right-slot -->\n <template #headerRight>\n <slot name=\"headerRight\"></slot>\n </template>\n </header-search>\n <!-- slot-content table和card默认table -->\n <div\n :class=\"[\n bem.m('fixed-height'),\n !newNaTableptions.dataSource!.length ? bem.m('empty') : ''\n ]\"\n >\n <slot :name=\"contentType\">\n <main-table\n v-bind=\"newNaTableptions\"\n @handle-change-data-source=\"handleChangeDataSource\"\n >\n <!-- tableHeaderCell-slot -->\n <template #tableHeaderCell=\"slots\">\n <slot name=\"tableHeaderCell\" v-bind=\"slots\"></slot>\n </template>\n <!-- tableBodyCell-slot -->\n <template #tableBodyCell=\"slots\">\n <slot name=\"tableBodyCell\" v-bind=\"slots\"></slot>\n </template>\n <!--tableOperate-slot -->\n <template #tableOperate=\"slots\">\n <slot name=\"tableOperate\" v-bind=\"slots\"></slot>\n </template>\n <!-- tableRowExpand-slot -->\n <template v-if=\"$slots.expandedRow\" #expandedRow=\"slots\">\n <slot name=\"expandedRow\" v-bind=\"slots\"></slot>\n </template>\n <!-- expandColumnTitle-slot -->\n <template #expandedTitle>\n <slot name=\"expandedTitle\"> </slot>\n </template>\n <!-- empty-slot -->\n <template #emptyText>\n <slot name=\"emptyText\"></slot>\n </template>\n <!-- customFilterDropdown-slot -->\n <template #customFilterDropdown>\n <slot name=\"customFilterDropdown\"></slot>\n </template>\n </main-table>\n </slot>\n </div>\n <!-- 底部分页 -->\n <template\n v-if=\"\n newNaTableptions.dataSource!.length &&\n !newNaTableptions.hiddenPagination\n \"\n >\n <pagination v-bind=\"paginationProps\" />\n </template>\n </div>\n </a-spin>\n</template>\n<script lang=\"ts\" setup>\nimport { ref, watch, provide } from 'vue'\n\nimport { ImenuSwitchType } from './config'\nimport { createNamespace } from '@ll-plus/utils'\n\nimport HeaderSearch from './components/header-search.vue'\nimport MainTable from './components/main-table.vue'\nimport Pagination from './components/pagination.vue'\n\nimport { tableProps } from './config'\n\n// 1.defineOptions\ndefineOptions({ name: 'LlTable' })\n\n// 2.props\nconst props = defineProps(tableProps)\n// 3.ref\n// 表格数据\nconst originDataSource = ref()\nconst newNaTableptions = ref<any>({\n dataSource: [],\n columns: []\n})\n// 菜单切换/内容插槽\nconst contentType = ref(ImenuSwitchType.TABLE) // 菜单切换\nconst bem = createNamespace('table')\n\n// 4.methods\n// 拖拽完成后获取拖拽后的数据\nconst handleChangeDataSource = (dataSource: any[]) => {\n newNaTableptions.value.dataSource = dataSource\n}\n// 切换菜单内容\nconst handleSwitchMenuChange = (v: ImenuSwitchType) => {\n contentType.value = v\n}\n\n// 5.watch\nwatch(\n () => props.tableProps,\n (newValue: any) => {\n if (newValue) {\n newNaTableptions.value = { ...newValue }\n originDataSource.value = [...newValue.dataSource]\n }\n },\n {\n deep: true,\n immediate: true\n }\n)\n// 6.其他\nprovide('contentType', contentType)\n</script>\n"],"names":["ref","ImenuSwitchType","createNamespace","watch","provide"],"mappings":";;;;;;;;;;;;;;;;;;;;AAiGA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAGd,IAAA,MAAM,mBAAmBA,OAAI,EAAA,CAAA;AAC7B,IAAA,MAAM,mBAAmBA,OAAS,CAAA;AAAA,MAChC,YAAY,EAAC;AAAA,MACb,SAAS,EAAC;AAAA,KACX,CAAA,CAAA;AAED,IAAM,MAAA,WAAA,GAAcA,OAAI,CAAAC,4BAAA,CAAgB,KAAK,CAAA,CAAA;AAC7C,IAAM,MAAA,GAAA,GAAMC,gCAAgB,OAAO,CAAA,CAAA;AAInC,IAAM,MAAA,sBAAA,GAAyB,CAAC,UAAsB,KAAA;AACpD,MAAA,gBAAA,CAAiB,MAAM,UAAa,GAAA,UAAA,CAAA;AAAA,KACtC,CAAA;AAEA,IAAM,MAAA,sBAAA,GAAyB,CAAC,CAAuB,KAAA;AACrD,MAAA,WAAA,CAAY,KAAQ,GAAA,CAAA,CAAA;AAAA,KACtB,CAAA;AAGA,IAAAC,SAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,QAAkB,KAAA;AACjB,QAAA,IAAI,QAAU,EAAA;AACZ,UAAiB,gBAAA,CAAA,KAAA,GAAQ,EAAE,GAAG,QAAS,EAAA,CAAA;AACvC,UAAA,gBAAA,CAAiB,KAAQ,GAAA,CAAC,GAAG,QAAA,CAAS,UAAU,CAAA,CAAA;AAAA,SAClD;AAAA,OACF;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,QACN,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAAC,WAAA,CAAQ,eAAe,WAAW,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ll-plus",
3
- "version": "2.3.2",
3
+ "version": "2.3.3",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.mjs",