@ditari/bsui 5.0.12 → 5.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/dic/DicReplace.cjs +1 -0
- package/dist/cjs/components/dic/DicReplace.cjs.map +1 -1
- package/dist/cjs/components/layout/Layout.vue2.cjs +52 -48
- package/dist/cjs/components/layout/Layout.vue2.cjs.map +1 -1
- package/dist/cjs/components/layout/List.cjs +54 -46
- package/dist/cjs/components/layout/List.cjs.map +1 -1
- package/dist/cjs/components/layout/Show.cjs +41 -34
- package/dist/cjs/components/layout/Show.cjs.map +1 -1
- package/dist/cjs/components/layout/components/menu/Menu.cjs +18 -10
- package/dist/cjs/components/layout/components/menu/Menu.cjs.map +1 -1
- package/dist/cjs/components/tab/Search.cjs +6 -2
- package/dist/cjs/components/tab/Search.cjs.map +1 -1
- package/dist/cjs/components/table/Table.cjs +11 -1
- package/dist/cjs/components/table/Table.cjs.map +1 -1
- package/dist/css/components/tab/style/index.css +1 -1
- package/dist/css/index.css +1 -1
- package/dist/esm/components/dic/DicReplace.mjs +1 -0
- package/dist/esm/components/dic/DicReplace.mjs.map +1 -1
- package/dist/esm/components/layout/Layout.vue2.mjs +53 -49
- package/dist/esm/components/layout/Layout.vue2.mjs.map +1 -1
- package/dist/esm/components/layout/List.mjs +55 -47
- package/dist/esm/components/layout/List.mjs.map +1 -1
- package/dist/esm/components/layout/Show.mjs +43 -36
- package/dist/esm/components/layout/Show.mjs.map +1 -1
- package/dist/esm/components/layout/components/menu/Menu.mjs +18 -10
- package/dist/esm/components/layout/components/menu/Menu.mjs.map +1 -1
- package/dist/esm/components/tab/Search.mjs +6 -2
- package/dist/esm/components/tab/Search.mjs.map +1 -1
- package/dist/esm/components/table/Table.mjs +11 -1
- package/dist/esm/components/table/Table.mjs.map +1 -1
- package/dist/style/tab/style/index.scss +1 -1
- package/dist/types/components/dic/DicReplace.d.ts.map +1 -1
- package/dist/types/components/layout/Layout.vue.d.ts +24 -7
- package/dist/types/components/layout/Layout.vue.d.ts.map +1 -1
- package/dist/types/components/layout/List.d.ts.map +1 -1
- package/dist/types/components/layout/Show.d.ts.map +1 -1
- package/dist/types/components/layout/components/menu/Menu.d.ts +3 -1
- package/dist/types/components/layout/components/menu/Menu.d.ts.map +1 -1
- package/dist/types/components/table/Table.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.mjs","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"sourcesContent":["import { computed, defineComponent, watch } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport {\r\n useAppStore,\r\n useMenuStore,\r\n useNoStore\r\n} from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nexport default defineComponent({\r\n name: \"DMenu\",\r\n setup() {\r\n const { layout, modeConfig } =\r\n storeToRefs(useAppStore());\r\n const { menuList } = storeToRefs(useNoStore());\r\n const { menuWrapperStyle } = useStyle();\r\n const { openKeys, selectedKeys, onClick } = useMenu();\r\n\r\n function useStyle() {\r\n const menuWrapperStyle = computed(\r\n () => css`\r\n flex: 1;\r\n overflow: hidden;\r\n\r\n .ant-menu {\r\n height: 100%;\r\n overflow: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n ${modeConfig.value.mode === \"light\"\r\n ? \"background:transparent;\"\r\n : \"\"}\r\n /* Webkit 浏览器 */\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `\r\n );\r\n return {\r\n menuWrapperStyle\r\n };\r\n }\r\n\r\n function useMenu() {\r\n const { openKeys, selectedKeys, data } =\r\n storeToRefs(useMenuStore());\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n /**\r\n * 在标签切换的时候,路由会变化,需要动态关联左侧菜单的选中状态\r\n */\r\n watch(\r\n () => route.fullPath,\r\n async path => {\r\n const flag = selectedKeys.value.some(\r\n (item: string) => item === path\r\n );\r\n if (!flag) {\r\n const rs = _findMatchedMenuKey(\r\n path,\r\n data.value as never\r\n );\r\n if (rs) {\r\n if (!layout.value.collapsed) {\r\n if (rs?.parentKey) {\r\n openKeys.value = [rs.parentKey];\r\n } else {\r\n openKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n selectedKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n }\r\n );\r\n\r\n watch(\r\n () => layout.value.collapsed,\r\n val => {\r\n const path = selectedKeys.value[0];\r\n const rs = _findMatchedMenuKey(\r\n path,\r\n data.value as never\r\n );\r\n if (val) {\r\n openKeys.value = [];\r\n } else {\r\n if (rs?.parentKey) {\r\n openKeys.value = [rs.parentKey];\r\n } else {\r\n openKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n }\r\n );\r\n\r\n const _findMatchedMenuKey = (\r\n path: string,\r\n menuItems: { key: string; children?: never[] }[],\r\n parentKey: string = \"\"\r\n ): {\r\n matchedKey: string;\r\n parentKey: string;\r\n } | null => {\r\n // 遍历菜单项\r\n for (const item of menuItems) {\r\n // 完全匹配\r\n if (item.key === path) {\r\n return { matchedKey: item.key, parentKey };\r\n }\r\n\r\n // 如果当前菜单项有 children,递归查找\r\n if (item.children && item.children.length > 0) {\r\n const result = _findMatchedMenuKey(\r\n path,\r\n item.children,\r\n item.key\r\n );\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n\r\n // 匹配路径前缀(确保只匹配最深层的菜单项)\r\n if (path.startsWith(item.key)) {\r\n // 如果路径以该菜单项的 key 开头,且该菜单项没有子菜单,直接返回匹配的菜单\r\n if (\r\n !item.children ||\r\n item.children.length === 0\r\n ) {\r\n return { matchedKey: item.key, parentKey };\r\n }\r\n // 如果是父菜单且有子菜单,继续递归寻找匹配的子菜单\r\n const result = _findMatchedMenuKey(\r\n path,\r\n item.children,\r\n item.key\r\n );\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n\r\n // 如果没有找到匹配的菜单项,返回 null\r\n return null;\r\n };\r\n\r\n const onClick = ({\r\n key,\r\n keyPath\r\n }: {\r\n item: string;\r\n key: string;\r\n keyPath: string[];\r\n }) => {\r\n openKeys.value = keyPath;\r\n selectedKeys.value = [key];\r\n\r\n // 判断目标路由和当前路由是否相等;\r\n // 不相等的时候再跳转\r\n if (route.path !== key) {\r\n router.push(key).then(r => {\r\n if (r) {\r\n console.warn(r);\r\n }\r\n });\r\n }\r\n };\r\n\r\n return {\r\n openKeys,\r\n selectedKeys,\r\n data,\r\n onClick\r\n };\r\n }\r\n\r\n return () => (\r\n <div class={menuWrapperStyle.value}>\r\n <a-menu\r\n v-model:open-keys={openKeys.value}\r\n v-model:selected-keys={selectedKeys.value}\r\n items={menuList.value}\r\n mode=\"inline\"\r\n triggerSubMenuAction={\"hover\"}\r\n onClick={onClick}\r\n ></a-menu>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","setup","layout","modeConfig","storeToRefs","useAppStore","menuList","useNoStore","menuWrapperStyle","useStyle","openKeys","selectedKeys","onClick","useMenu","computed","css","value","mode","data","useMenuStore","route","useRoute","router","useRouter","watch","fullPath","path","flag","some","item","rs","_findMatchedMenuKey","collapsed","parentKey","matchedKey","val","menuItems","key","children","length","result","startsWith","keyPath","push","then","r","console","warn","_createVNode","_resolveComponent","$event"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Menu.mjs","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"sourcesContent":["import { computed, defineComponent, watch } from \"vue\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { storeToRefs } from \"pinia\";\r\n\r\nimport {\r\n useAppStore,\r\n useMenuStore,\r\n useNoStore\r\n} from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\n\r\nexport default defineComponent({\r\n name: \"DMenu\",\r\n emits: [\"menuChange\"],\r\n setup(_, { emit }) {\r\n const { layout, modeConfig } =\r\n storeToRefs(useAppStore());\r\n const { menuList } = storeToRefs(useNoStore());\r\n const { menuWrapperStyle } = useStyle();\r\n const { openKeys, selectedKeys, onClick } = useMenu();\r\n\r\n function useStyle() {\r\n const menuWrapperStyle = computed(\r\n () => css`\r\n flex: 1;\r\n overflow: hidden;\r\n\r\n .ant-menu {\r\n height: 100%;\r\n overflow: scroll;\r\n -ms-overflow-style: none; /* 对 IE 和 Edge 生效 */\r\n scrollbar-width: none; /* 对 Firefox 生效 */\r\n\r\n ${modeConfig.value.mode === \"light\"\r\n ? \"background:transparent;\"\r\n : \"\"}\r\n /* Webkit 浏览器 */\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n }\r\n `\r\n );\r\n return {\r\n menuWrapperStyle\r\n };\r\n }\r\n\r\n function useMenu() {\r\n const { openKeys, selectedKeys, data } =\r\n storeToRefs(useMenuStore());\r\n const route = useRoute();\r\n const router = useRouter();\r\n\r\n /**\r\n * 在标签切换的时候,路由会变化,需要动态关联左侧菜单的选中状态\r\n */\r\n watch(\r\n () => route.fullPath,\r\n async path => {\r\n const flag = selectedKeys.value.some(\r\n (item: string) => item === path\r\n );\r\n if (!flag) {\r\n const rs = _findMatchedMenuKey(\r\n path,\r\n data.value as never\r\n );\r\n if (rs) {\r\n if (!layout.value.collapsed) {\r\n if (rs?.parentKey) {\r\n openKeys.value = [rs.parentKey];\r\n } else {\r\n openKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n selectedKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n }\r\n );\r\n\r\n watch(\r\n () => layout.value.collapsed,\r\n val => {\r\n const path = selectedKeys.value[0];\r\n const rs = _findMatchedMenuKey(\r\n path,\r\n data.value as never\r\n );\r\n if (val) {\r\n openKeys.value = [];\r\n } else {\r\n if (rs?.parentKey) {\r\n openKeys.value = [rs.parentKey];\r\n } else {\r\n openKeys.value = [rs!.matchedKey];\r\n }\r\n }\r\n }\r\n );\r\n\r\n const _findMatchedMenuKey = (\r\n path: string,\r\n menuItems: { key: string; children?: never[] }[],\r\n parentKey: string = \"\"\r\n ): {\r\n matchedKey: string;\r\n parentKey: string;\r\n } | null => {\r\n // 遍历菜单项\r\n for (const item of menuItems) {\r\n // 完全匹配\r\n if (item.key === path) {\r\n return { matchedKey: item.key, parentKey };\r\n }\r\n\r\n // 如果当前菜单项有 children,递归查找\r\n if (item.children && item.children.length > 0) {\r\n const result = _findMatchedMenuKey(\r\n path,\r\n item.children,\r\n item.key\r\n );\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n\r\n // 匹配路径前缀(确保只匹配最深层的菜单项)\r\n if (path.startsWith(item.key)) {\r\n // 如果路径以该菜单项的 key 开头,且该菜单项没有子菜单,直接返回匹配的菜单\r\n if (\r\n !item.children ||\r\n item.children.length === 0\r\n ) {\r\n return { matchedKey: item.key, parentKey };\r\n }\r\n // 如果是父菜单且有子菜单,继续递归寻找匹配的子菜单\r\n const result = _findMatchedMenuKey(\r\n path,\r\n item.children,\r\n item.key\r\n );\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n\r\n // 如果没有找到匹配的菜单项,返回 null\r\n return null;\r\n };\r\n\r\n const onClick = ({\r\n key,\r\n keyPath,\r\n item\r\n }: {\r\n item: { isFrame: string };\r\n key: string;\r\n keyPath: string[];\r\n }) => {\r\n if (item.isFrame && item.isFrame === \"0\") {\r\n emit(\"menuChange\", item);\r\n } else {\r\n openKeys.value = keyPath;\r\n selectedKeys.value = [key];\r\n if (route.path !== key) {\r\n // 判断目标路由和当前路由是否相等;\r\n // 不相等的时候再跳转\r\n router.push(key).then(r => {\r\n if (r) {\r\n console.warn(r);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n return {\r\n openKeys,\r\n selectedKeys,\r\n data,\r\n onClick\r\n };\r\n }\r\n\r\n return () => (\r\n <div class={menuWrapperStyle.value}>\r\n <a-menu\r\n v-model:open-keys={openKeys.value}\r\n v-model:selected-keys={selectedKeys.value}\r\n items={menuList.value}\r\n mode=\"inline\"\r\n triggerSubMenuAction={\"hover\"}\r\n onClick={onClick}\r\n ></a-menu>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","emits","setup","_","emit","layout","modeConfig","storeToRefs","useAppStore","menuList","useNoStore","menuWrapperStyle","useStyle","openKeys","selectedKeys","onClick","useMenu","computed","css","value","mode","data","useMenuStore","route","useRoute","router","useRouter","watch","fullPath","path","flag","some","item","rs","_findMatchedMenuKey","collapsed","parentKey","matchedKey","val","menuItems","key","children","length","result","startsWith","keyPath","isFrame","push","then","r","console","warn","_createVNode","_resolveComponent","$event"],"mappings":"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"}
|
|
@@ -111,7 +111,7 @@ var Search = /* @__PURE__ */ defineComponent({
|
|
|
111
111
|
position: sticky;
|
|
112
112
|
top: 0;
|
|
113
113
|
padding: 10px;
|
|
114
|
-
background: ${token.value.
|
|
114
|
+
background: ${token.value.colorPrimary};
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
ul {
|
|
@@ -224,7 +224,11 @@ var Search = /* @__PURE__ */ defineComponent({
|
|
|
224
224
|
"trigger": "click",
|
|
225
225
|
"overlayClassName": "search-popover-wrapper"
|
|
226
226
|
}, {
|
|
227
|
-
default: () => createVNode("div",
|
|
227
|
+
default: () => createVNode("div", {
|
|
228
|
+
"style": {
|
|
229
|
+
marginRight: "5px"
|
|
230
|
+
}
|
|
231
|
+
}, [createVNode(resolveComponent("a-button"), {
|
|
228
232
|
"style": {
|
|
229
233
|
borderRadius: "10px"
|
|
230
234
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.mjs","sources":["../../../../src/components/tab/Search.tsx"],"sourcesContent":["import {\r\n computed,\r\n ComputedRef,\r\n defineComponent,\r\n h,\r\n ref,\r\n watch\r\n} from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport {\r\n useMagicKeys,\r\n useWindowScroll\r\n} from \"@vueuse/core\";\r\n\r\nimport {\r\n CloseOutlined,\r\n DownOutlined,\r\n SearchOutlined,\r\n UnorderedListOutlined\r\n} from \"@ant-design/icons-vue\";\r\nimport {\r\n type NavTabsState,\r\n useNavTabStore\r\n} from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\nimport dayjs from \"dayjs\";\r\n\r\nexport default defineComponent({\r\n name: \"Search\",\r\n setup() {\r\n const router = useRouter();\r\n\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const { getList, deleteTabs } = useNavTabStore();\r\n // 用来监听 Ctrl + Shift + S\r\n const keys = useMagicKeys();\r\n const shiftCtrlA = keys[\"Shift+Ctrl+S\"];\r\n const open = ref(false);\r\n const { y } = useWindowScroll();\r\n\r\n const navTabList = computed(() => {\r\n return getList!.sort(\r\n (a, b) => (b.openTime || 0) - (a.openTime || 0)\r\n );\r\n });\r\n\r\n // 添加搜索相关状态\r\n const searchKewords = ref(\"\"); // 搜索输入框的值\r\n const filteredNavTabList = computed(() => {\r\n const list = getList!.sort(\r\n (a, b) => (b.openTime || 0) - (a.openTime || 0)\r\n );\r\n\r\n if (!searchKewords.value) {\r\n return list; // 如果没有搜索词,返回完整列表\r\n }\r\n\r\n const query = searchKewords.value.toLowerCase();\r\n return list.filter(item => {\r\n const fullPathMatch = item.fullPath\r\n ?.toLowerCase()\r\n .includes(query);\r\n\r\n const title: string =\r\n (item.meta?.title as string) || \"\";\r\n\r\n const titleMatch = title\r\n .toLowerCase()\r\n .includes(query);\r\n \r\n return fullPathMatch || titleMatch;\r\n });\r\n });\r\n\r\n watch(shiftCtrlA, v => {\r\n if (v) {\r\n open.value = !open.value;\r\n }\r\n });\r\n\r\n watch(\r\n () => open.value,\r\n () => {\r\n searchKewords.value = \"\";\r\n }\r\n );\r\n\r\n watch(\r\n () => y.value,\r\n val => {\r\n if (val > 0) {\r\n open.value = false;\r\n }\r\n }\r\n );\r\n\r\n const onCloseTab = (path: string) => {\r\n deleteTabs(path);\r\n };\r\n\r\n const searchStyle = computed(\r\n () => css`\r\n padding: 10px;\r\n border-bottom: 1px solid ${token.value.colorBorder};\r\n\r\n .tip-txt {\r\n color: ${token.value.colorPrimary};\r\n }\r\n `\r\n );\r\n\r\n const searchListStyle = computed(\r\n () => css`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n max-height: 400px;\r\n overflow-y: overlay;\r\n user-select: none;\r\n\r\n /* 整个滚动条 */\r\n\r\n ::-webkit-scrollbar {\r\n width: 4px; /* 垂直滚动条的宽度 */\r\n height: 4px; /* 水平滚动条的高度 */\r\n }\r\n\r\n /* 滚动条轨道 */\r\n\r\n ::-webkit-scrollbar-track {\r\n background: transparent; /* 轨道背景色 */\r\n border-radius: 0; /* 轨道圆角 */\r\n }\r\n\r\n /* 滚动条滑块 */\r\n\r\n ::-webkit-scrollbar-thumb {\r\n //background: #888; /* 滑块背景色 */\r\n // border-radius: 6px; /* 滑块圆角 */\r\n border: 3px solid\r\n ${token.value.colorPrimaryBorder}; /* 滑块边框 */\r\n }\r\n\r\n /* 滚动条滑块悬停效果 */\r\n\r\n ::-webkit-scrollbar-thumb:hover {\r\n background: red; /* 滑块悬停背景色 */\r\n }\r\n\r\n .search-title {\r\n position: sticky;\r\n top: 0;\r\n padding: 10px;\r\n background: ${token.value.colorBgContainer};\r\n }\r\n\r\n ul {\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n min-width: 400px;\r\n\r\n li {\r\n display: flex;\r\n align-items: center;\r\n padding: 4px 10px;\r\n width: 400px;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background-color: ${token.value\r\n .colorBgLayout};\r\n\r\n .close-wrapper {\r\n display: block;\r\n }\r\n }\r\n\r\n .icon {\r\n width: 42px;\r\n height: 42px;\r\n border-radius: 10px;\r\n background-color: ${token.value.colorPrimary};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .content {\r\n padding-left: 10px;\r\n\r\n .time-ago {\r\n display: flex;\r\n align-items: center;\r\n font-size: 12px;\r\n\r\n .hostname {\r\n max-width: 180px;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n }\r\n\r\n .split {\r\n width: 4px;\r\n height: 4px;\r\n display: inline-block;\r\n background-color: ${token.value\r\n .colorPrimary};\r\n border-radius: 10px;\r\n margin: 0 6px;\r\n }\r\n }\r\n }\r\n\r\n .close-wrapper {\r\n display: none;\r\n flex: 1;\r\n text-align: right;\r\n\r\n .close-btn {\r\n display: inline-block;\r\n width: 22px;\r\n height: 22px;\r\n border-radius: 50%;\r\n text-align: center;\r\n\r\n &:hover {\r\n // background-color: ${token.value\r\n .colorBgLayout};\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `\r\n );\r\n\r\n function timeAgo(providedTime: number) {\r\n const now = dayjs();\r\n const diffInSeconds = now.diff(\r\n providedTime,\r\n \"second\"\r\n ); // 计算时间差(秒)\r\n const diffInMinutes = now.diff(\r\n providedTime,\r\n \"minute\"\r\n ); // 计算时间差(分钟)\r\n const diffInHours = now.diff(providedTime, \"hour\"); // 计算时间差(小时)\r\n\r\n if (diffInMinutes < 1) {\r\n return `${diffInSeconds} 秒前`;\r\n } else if (diffInHours < 1) {\r\n return `${diffInMinutes} 分钟前`;\r\n } else {\r\n return `${diffInHours} 小时前`;\r\n }\r\n }\r\n\r\n const onJump = (item: NavTabsState) => {\r\n if (item.fullPath) {\r\n router.push(item.fullPath);\r\n }\r\n open.value = false;\r\n };\r\n\r\n const closeBtnStatus = (item: NavTabsState) => {\r\n // 如果meta有设置keepOpen则隐藏关闭按钮\r\n if (item.meta?.keepOpen) {\r\n return false;\r\n } else {\r\n // 如果只有一个标签,则隐藏关闭按钮\r\n return navTabList.value.length !== 1;\r\n }\r\n };\r\n\r\n return () => (\r\n <div>\r\n <a-popover\r\n v-model:open={open.value}\r\n placement={\"bottomRight\"}\r\n trigger={\"click\"}\r\n overlayClassName={\"search-popover-wrapper\"}\r\n >\r\n {{\r\n default: () => (\r\n <div>\r\n <a-button\r\n style={{ borderRadius: \"10px\" }}\r\n icon={h(DownOutlined)}\r\n title={\"搜索标签页\"}\r\n />\r\n </div>\r\n ),\r\n content: () => (\r\n <>\r\n <div class={searchStyle.value}>\r\n <a-input\r\n v-model:value={searchKewords.value}\r\n placeholder={\"搜索标签页\"}\r\n bordered={false}\r\n >\r\n {{\r\n prefix: () => <SearchOutlined />,\r\n suffix: () => (\r\n <span class={\"tip-txt\"}>\r\n Ctrl+Shift+S\r\n </span>\r\n )\r\n }}\r\n </a-input>\r\n </div>\r\n <div class={searchListStyle.value}>\r\n <span class={\"search-title\"}>\r\n 打开的标签页\r\n </span>\r\n <ul>\r\n {filteredNavTabList.value.map(item => (\r\n <li onClick={() => onJump(item)}>\r\n <div class={\"icon\"}>\r\n <UnorderedListOutlined />\r\n </div>\r\n <div class={\"content\"}>\r\n <div class={\"title\"}>\r\n {item.meta?.title}\r\n </div>\r\n <div class={\"time-ago\"}>\r\n <span class={\"hostname\"}>\r\n {window.location.hostname +\r\n \"\" +\r\n item.path}\r\n </span>\r\n <span class={\"split\"}></span>\r\n <span class={\"time\"}>\r\n {timeAgo(item.openTime ?? 0)}\r\n </span>\r\n </div>\r\n </div>\r\n {closeBtnStatus(item) && (\r\n <div class={\"close-wrapper\"}>\r\n <span\r\n class={\"close-btn\"}\r\n onClick={() =>\r\n onCloseTab(\r\n item.fullPath || \"\"\r\n )\r\n }\r\n >\r\n <CloseOutlined />\r\n </span>\r\n </div>\r\n )}\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </>\r\n )\r\n }}\r\n </a-popover>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","setup","router","useRouter","useToken","theme","token","getList","deleteTabs","useNavTabStore","keys","useMagicKeys","shiftCtrlA","open","ref","y","useWindowScroll","navTabList","computed","sort","a","b","openTime","searchKewords","filteredNavTabList","list","value","query","toLowerCase","filter","item","fullPathMatch","fullPath","includes","title","meta","titleMatch","watch","v","val","onCloseTab","path","searchStyle","css","colorBorder","colorPrimary","searchListStyle","colorPrimaryBorder","colorBgContainer","colorBgLayout","timeAgo","providedTime","now","dayjs","diffInSeconds","diff","diffInMinutes","diffInHours","onJump","push","closeBtnStatus","keepOpen","length","_createVNode","_resolveComponent","$event","default","borderRadius","h","DownOutlined","content","_Fragment","prefix","SearchOutlined","suffix","_createTextVNode","map","onClick","UnorderedListOutlined","window","location","hostname","CloseOutlined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Search.mjs","sources":["../../../../src/components/tab/Search.tsx"],"sourcesContent":["import {\r\n computed,\r\n ComputedRef,\r\n defineComponent,\r\n h,\r\n ref,\r\n watch\r\n} from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { theme } from \"ant-design-vue\";\r\nimport {\r\n useMagicKeys,\r\n useWindowScroll\r\n} from \"@vueuse/core\";\r\n\r\nimport {\r\n CloseOutlined,\r\n DownOutlined,\r\n SearchOutlined,\r\n UnorderedListOutlined\r\n} from \"@ant-design/icons-vue\";\r\nimport {\r\n type NavTabsState,\r\n useNavTabStore\r\n} from \"@ditari/store\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { GlobalToken } from \"ant-design-vue/es/theme/interface\";\r\nimport dayjs from \"dayjs\";\r\n\r\nexport default defineComponent({\r\n name: \"Search\",\r\n setup() {\r\n const router = useRouter();\r\n\r\n const { useToken } = theme;\r\n const { token }: { token: ComputedRef<GlobalToken> } =\r\n useToken();\r\n\r\n const { getList, deleteTabs } = useNavTabStore();\r\n // 用来监听 Ctrl + Shift + S\r\n const keys = useMagicKeys();\r\n const shiftCtrlA = keys[\"Shift+Ctrl+S\"];\r\n const open = ref(false);\r\n const { y } = useWindowScroll();\r\n\r\n const navTabList = computed(() => {\r\n return getList!.sort(\r\n (a, b) => (b.openTime || 0) - (a.openTime || 0)\r\n );\r\n });\r\n\r\n // 添加搜索相关状态\r\n const searchKewords = ref(\"\"); // 搜索输入框的值\r\n const filteredNavTabList = computed(() => {\r\n const list = getList!.sort(\r\n (a, b) => (b.openTime || 0) - (a.openTime || 0)\r\n );\r\n\r\n if (!searchKewords.value) {\r\n return list; // 如果没有搜索词,返回完整列表\r\n }\r\n\r\n const query = searchKewords.value.toLowerCase();\r\n return list.filter(item => {\r\n const fullPathMatch = item.fullPath\r\n ?.toLowerCase()\r\n .includes(query);\r\n\r\n const title: string =\r\n (item.meta?.title as string) || \"\";\r\n\r\n const titleMatch = title\r\n .toLowerCase()\r\n .includes(query);\r\n\r\n return fullPathMatch || titleMatch;\r\n });\r\n });\r\n\r\n watch(shiftCtrlA, v => {\r\n if (v) {\r\n open.value = !open.value;\r\n }\r\n });\r\n\r\n watch(\r\n () => open.value,\r\n () => {\r\n searchKewords.value = \"\";\r\n }\r\n );\r\n\r\n watch(\r\n () => y.value,\r\n val => {\r\n if (val > 0) {\r\n open.value = false;\r\n }\r\n }\r\n );\r\n\r\n const onCloseTab = (path: string) => {\r\n deleteTabs(path);\r\n };\r\n\r\n const searchStyle = computed(\r\n () => css`\r\n padding: 10px;\r\n border-bottom: 1px solid ${token.value.colorBorder};\r\n\r\n .tip-txt {\r\n color: ${token.value.colorPrimary};\r\n }\r\n `\r\n );\r\n\r\n const searchListStyle = computed(\r\n () => css`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n max-height: 400px;\r\n overflow-y: overlay;\r\n user-select: none;\r\n\r\n /* 整个滚动条 */\r\n\r\n ::-webkit-scrollbar {\r\n width: 4px; /* 垂直滚动条的宽度 */\r\n height: 4px; /* 水平滚动条的高度 */\r\n }\r\n\r\n /* 滚动条轨道 */\r\n\r\n ::-webkit-scrollbar-track {\r\n background: transparent; /* 轨道背景色 */\r\n border-radius: 0; /* 轨道圆角 */\r\n }\r\n\r\n /* 滚动条滑块 */\r\n\r\n ::-webkit-scrollbar-thumb {\r\n //background: #888; /* 滑块背景色 */\r\n // border-radius: 6px; /* 滑块圆角 */\r\n border: 3px solid\r\n ${token.value.colorPrimaryBorder}; /* 滑块边框 */\r\n }\r\n\r\n /* 滚动条滑块悬停效果 */\r\n\r\n ::-webkit-scrollbar-thumb:hover {\r\n background: red; /* 滑块悬停背景色 */\r\n }\r\n\r\n .search-title {\r\n position: sticky;\r\n top: 0;\r\n padding: 10px;\r\n background: ${token.value.colorPrimary};\r\n }\r\n\r\n ul {\r\n margin: 0;\r\n padding: 0;\r\n list-style: none;\r\n min-width: 400px;\r\n\r\n li {\r\n display: flex;\r\n align-items: center;\r\n padding: 4px 10px;\r\n width: 400px;\r\n cursor: pointer;\r\n\r\n &:hover {\r\n background-color: ${token.value\r\n .colorBgLayout};\r\n\r\n .close-wrapper {\r\n display: block;\r\n }\r\n }\r\n\r\n .icon {\r\n width: 42px;\r\n height: 42px;\r\n border-radius: 10px;\r\n background-color: ${token.value.colorPrimary};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n\r\n .content {\r\n padding-left: 10px;\r\n\r\n .time-ago {\r\n display: flex;\r\n align-items: center;\r\n font-size: 12px;\r\n\r\n .hostname {\r\n max-width: 180px;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n }\r\n\r\n .split {\r\n width: 4px;\r\n height: 4px;\r\n display: inline-block;\r\n background-color: ${token.value\r\n .colorPrimary};\r\n border-radius: 10px;\r\n margin: 0 6px;\r\n }\r\n }\r\n }\r\n\r\n .close-wrapper {\r\n display: none;\r\n flex: 1;\r\n text-align: right;\r\n\r\n .close-btn {\r\n display: inline-block;\r\n width: 22px;\r\n height: 22px;\r\n border-radius: 50%;\r\n text-align: center;\r\n\r\n &:hover {\r\n // background-color: ${token.value\r\n .colorBgLayout};\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `\r\n );\r\n\r\n function timeAgo(providedTime: number) {\r\n const now = dayjs();\r\n const diffInSeconds = now.diff(\r\n providedTime,\r\n \"second\"\r\n ); // 计算时间差(秒)\r\n const diffInMinutes = now.diff(\r\n providedTime,\r\n \"minute\"\r\n ); // 计算时间差(分钟)\r\n const diffInHours = now.diff(providedTime, \"hour\"); // 计算时间差(小时)\r\n\r\n if (diffInMinutes < 1) {\r\n return `${diffInSeconds} 秒前`;\r\n } else if (diffInHours < 1) {\r\n return `${diffInMinutes} 分钟前`;\r\n } else {\r\n return `${diffInHours} 小时前`;\r\n }\r\n }\r\n\r\n const onJump = (item: NavTabsState) => {\r\n if (item.fullPath) {\r\n router.push(item.fullPath);\r\n }\r\n open.value = false;\r\n };\r\n\r\n const closeBtnStatus = (item: NavTabsState) => {\r\n // 如果meta有设置keepOpen则隐藏关闭按钮\r\n if (item.meta?.keepOpen) {\r\n return false;\r\n } else {\r\n // 如果只有一个标签,则隐藏关闭按钮\r\n return navTabList.value.length !== 1;\r\n }\r\n };\r\n\r\n return () => (\r\n <div>\r\n <a-popover\r\n v-model:open={open.value}\r\n placement={\"bottomRight\"}\r\n trigger={\"click\"}\r\n overlayClassName={\"search-popover-wrapper\"}\r\n >\r\n {{\r\n default: () => (\r\n <div style={{ marginRight: \"5px\" }}>\r\n <a-button\r\n style={{ borderRadius: \"10px\" }}\r\n icon={h(DownOutlined)}\r\n title={\"搜索标签页\"}\r\n />\r\n </div>\r\n ),\r\n content: () => (\r\n <>\r\n <div class={searchStyle.value}>\r\n <a-input\r\n v-model:value={searchKewords.value}\r\n placeholder={\"搜索标签页\"}\r\n bordered={false}\r\n >\r\n {{\r\n prefix: () => <SearchOutlined />,\r\n suffix: () => (\r\n <span class={\"tip-txt\"}>\r\n Ctrl+Shift+S\r\n </span>\r\n )\r\n }}\r\n </a-input>\r\n </div>\r\n <div class={searchListStyle.value}>\r\n <span class={\"search-title\"}>\r\n 打开的标签页\r\n </span>\r\n <ul>\r\n {filteredNavTabList.value.map(item => (\r\n <li onClick={() => onJump(item)}>\r\n <div class={\"icon\"}>\r\n <UnorderedListOutlined />\r\n </div>\r\n <div class={\"content\"}>\r\n <div class={\"title\"}>\r\n {item.meta?.title}\r\n </div>\r\n <div class={\"time-ago\"}>\r\n <span class={\"hostname\"}>\r\n {window.location.hostname +\r\n \"\" +\r\n item.path}\r\n </span>\r\n <span class={\"split\"}></span>\r\n <span class={\"time\"}>\r\n {timeAgo(item.openTime ?? 0)}\r\n </span>\r\n </div>\r\n </div>\r\n {closeBtnStatus(item) && (\r\n <div class={\"close-wrapper\"}>\r\n <span\r\n class={\"close-btn\"}\r\n onClick={() =>\r\n onCloseTab(\r\n item.fullPath || \"\"\r\n )\r\n }\r\n >\r\n <CloseOutlined />\r\n </span>\r\n </div>\r\n )}\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n </>\r\n )\r\n }}\r\n </a-popover>\r\n </div>\r\n );\r\n }\r\n});\r\n"],"names":["name","setup","router","useRouter","useToken","theme","token","getList","deleteTabs","useNavTabStore","keys","useMagicKeys","shiftCtrlA","open","ref","y","useWindowScroll","navTabList","computed","sort","a","b","openTime","searchKewords","filteredNavTabList","list","value","query","toLowerCase","filter","item","fullPathMatch","fullPath","includes","title","meta","titleMatch","watch","v","val","onCloseTab","path","searchStyle","css","colorBorder","colorPrimary","searchListStyle","colorPrimaryBorder","colorBgLayout","timeAgo","providedTime","now","dayjs","diffInSeconds","diff","diffInMinutes","diffInHours","onJump","push","closeBtnStatus","keepOpen","length","_createVNode","_resolveComponent","$event","default","marginRight","borderRadius","h","DownOutlined","content","_Fragment","prefix","SearchOutlined","suffix","_createTextVNode","map","onClick","UnorderedListOutlined","window","location","hostname","CloseOutlined"],"mappings":"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"}
|
|
@@ -242,6 +242,7 @@ const DTable = /* @__PURE__ */ defineComponent({
|
|
|
242
242
|
selectedRowKeys.value.push(id);
|
|
243
243
|
}
|
|
244
244
|
}
|
|
245
|
+
console.log("onSelect", selectedRowKeys.value);
|
|
245
246
|
emit("update:keys", selectedRowKeys.value);
|
|
246
247
|
};
|
|
247
248
|
function activeRowBackground(event) {
|
|
@@ -295,15 +296,24 @@ const DTable = /* @__PURE__ */ defineComponent({
|
|
|
295
296
|
}
|
|
296
297
|
emit("update:keys", selectedRowKeys.value);
|
|
297
298
|
};
|
|
299
|
+
const onSelectAll = (selected, selectedRows, changeRows) => {
|
|
300
|
+
const _ids = changeRows.map((record) => record[rowKey]);
|
|
301
|
+
selectedRowKeys.value = selected ? selectedRowKeys.value.concat(_ids) : selectedRowKeys.value.filter((key) => !_ids.includes(key));
|
|
302
|
+
emit("update:keys", selectedRowKeys.value);
|
|
303
|
+
};
|
|
298
304
|
const onChange = (rowKeys, selectedRows) => {
|
|
299
305
|
const data2 = selectedRows;
|
|
300
306
|
const selected = data2.length !== 0;
|
|
301
307
|
const _ids = props.data.map((record) => record[rowKey]);
|
|
302
308
|
selectedRowKeys.value = selected ? selectedRowKeys.value.concat(rowKeys.filter((key) => !selectedRowKeys.value.includes(key))) : selectedRowKeys.value.filter((key) => !_ids.includes(key));
|
|
309
|
+
console.log("onSelect", selectedRowKeys.value);
|
|
303
310
|
emit("update:keys", selectedRowKeys.value);
|
|
304
311
|
};
|
|
305
312
|
watch(() => props.keys, (val) => {
|
|
306
313
|
selectedRowKeys.value = val;
|
|
314
|
+
}, {
|
|
315
|
+
deep: true,
|
|
316
|
+
immediate: true
|
|
307
317
|
});
|
|
308
318
|
watch(() => {
|
|
309
319
|
var _a;
|
|
@@ -313,7 +323,7 @@ const DTable = /* @__PURE__ */ defineComponent({
|
|
|
313
323
|
rowSelection2.value = {
|
|
314
324
|
selectedRowKeys,
|
|
315
325
|
onSelect,
|
|
316
|
-
|
|
326
|
+
onSelectAll,
|
|
317
327
|
fixed: true,
|
|
318
328
|
columnTitle: selection === "S" ? "\u9009\u62E9" : null,
|
|
319
329
|
columnWidth: selection === "S" ? 60 : 40,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.mjs","sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onMounted,\r\n ref,\r\n watch\r\n} from \"vue\";\r\nimport { type ExtractPropTypes, type PropType } from \"vue\";\r\nimport { Flex, Pagination, Table } from \"ant-design-vue\";\r\nimport { type TablePaginationConfig } from \"ant-design-vue\";\r\n\r\nimport { type PaginationProps } from \"./interface\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { ColumnsType } from \"ant-design-vue/es/table\";\r\nimport type {\r\n SelectionSelectFn,\r\n TableRowSelection\r\n} from \"ant-design-vue/es/table/interface\";\r\nimport { merge } from \"lodash\";\r\n\r\nexport type Key = string | number;\r\nexport type SizeType =\r\n | \"small\"\r\n | \"middle\"\r\n | \"large\"\r\n | undefined;\r\n\r\n// 定义分页\r\ninterface Page {\r\n total: number;\r\n current: number;\r\n pageSize: number;\r\n}\r\n\r\n// 定义表格配置接口,支持泛型\r\ninterface Config<T = unknown> {\r\n columns: ColumnsType<T>;\r\n // 分页\r\n pagination?: Page | undefined;\r\n // 分页配置\r\n paginationConfig?: PaginationProps;\r\n changePagination?: (\r\n current: number,\r\n size: number\r\n ) => void;\r\n // 单击\r\n click?: (\r\n record: Record<string, unknown>,\r\n index: number\r\n ) => void;\r\n // 双击\r\n dbClick?: (\r\n record: Record<string, unknown>,\r\n index: number\r\n ) => void;\r\n // 选择框的默认属性配置\r\n getCheckboxProps?: (\r\n record: unknown\r\n ) => Record<string, unknown> | undefined; // 返回一个对象或者 undefined\r\n // 点击行号激活的class\r\n activeRowClass?: string;\r\n // 复选框方式\r\n selection?: string;\r\n // 切换分页是否保留选中的ID\r\n keepSelected?: boolean;\r\n}\r\n\r\n// 定义 Props 类型,支持泛型\r\nexport const tableProps = <T = unknown,>() => ({\r\n height: { type: Number, default: 0 },\r\n data: { type: Array as PropType<T[]>, default: () => [] }, // 泛型约束\r\n loading: { type: Boolean, default: false },\r\n rowKey: { type: String, default: \"id\" },\r\n bordered: { type: Boolean, default: false },\r\n size: {\r\n type: String as PropType<SizeType>,\r\n default: \"small\"\r\n },\r\n keys: {\r\n type: Array as PropType<Key[]>,\r\n default: () => []\r\n },\r\n config: {\r\n type: Object as PropType<Config<T>>,\r\n required: true\r\n }\r\n});\r\n\r\nexport type TableProps = Partial<\r\n ExtractPropTypes<ReturnType<typeof tableProps>>\r\n>;\r\n\r\n// 分页组件默认配置\r\nconst defaultPaginationProps: PaginationProps = {\r\n defaultPageSize: 20,\r\n disabled: false,\r\n hideOnSinglePage: false,\r\n pageSize: 20,\r\n pageSizeOptions: [\"20\", \"40\", \"60\", \"80\", \"99\"],\r\n responsive: false,\r\n showLessItems: false,\r\n showQuickJumper: true,\r\n showSizeChanger: true, // 默认展示切换器\r\n showTotal: total => `总共 ${total} 条数据`,\r\n simple: false,\r\n size: \"default\",\r\n total: 0\r\n};\r\n\r\n// 表格默认配置\r\nconst defaultConfig: Config = {\r\n columns: [],\r\n pagination: undefined,\r\n paginationConfig: defaultPaginationProps,\r\n activeRowClass: \"\",\r\n selection: \"N\",\r\n keepSelected: false\r\n};\r\n\r\nconst paginationStyle = css`\r\n display: flex;\r\n justify-content: center;\r\n padding-top: 6px;\r\n`;\r\n\r\n// 定义泛型组件\r\nconst DTable = defineComponent({\r\n name: \"DTable\",\r\n props: tableProps(), // 初始泛型设置为 `unknown`\r\n emits: [\"update:keys\"],\r\n setup(props, { emit, slots, attrs }) {\r\n // 保存选中的唯一id\r\n const selectedRowKeys = ref<Key[]>(props.keys || []);\r\n // 计算表格高度\r\n //const height = computed(() => props.height);\r\n\r\n const { columns, data, pagination } = useProps();\r\n const { tableSlots } = useSlots();\r\n const { paginationConfig, onPaginationChange } =\r\n usePagination();\r\n const { tableRef, tableHeight, antTableBodyRef } =\r\n useHeight();\r\n const rowSelection = useRowSelection();\r\n\r\n onMounted(() => {});\r\n\r\n /**\r\n * props计算属性处理\r\n */\r\n function useProps() {\r\n // 定义计算属性\r\n const _config = computed(() =>\r\n merge({}, defaultConfig, props.config)\r\n );\r\n const columns = computed(() => _config.value.columns);\r\n const data = computed(() => props.data || []);\r\n const pagination = computed(\r\n () => _config.value.pagination || false\r\n );\r\n\r\n return {\r\n columns,\r\n data,\r\n pagination\r\n };\r\n }\r\n\r\n /**\r\n * 插槽处理\r\n */\r\n function useSlots() {\r\n // 定义插槽\r\n const tableSlots = {\r\n bodyCell: (params: unknown) =>\r\n slots.bodyCell?.(params),\r\n summary: () => slots.summary?.()\r\n };\r\n\r\n return {\r\n tableSlots\r\n };\r\n }\r\n\r\n function useHeight() {\r\n const tableRef = ref();\r\n const tableHeight = ref(0);\r\n let headerHeight = 0,\r\n tableEl: HTMLElement;\r\n\r\n // 表格body对象\r\n const antTableBodyRef = ref<HTMLElement>();\r\n\r\n watch(\r\n () => props.height,\r\n val => {\r\n if (val !== 0) {\r\n nextTick(() => {\r\n _tableBodyHeight(val);\r\n });\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n function _tableBodyHeight(height: number) {\r\n tableEl = tableRef?.value?.$el;\r\n //表头高度\r\n headerHeight = useEleHeight(\r\n tableEl.getElementsByClassName(\r\n \"ant-table-header\"\r\n )[0]\r\n );\r\n // 分页\r\n const paginationEl = tableEl.getElementsByClassName(\r\n \"d-pagination\"\r\n )[0] as HTMLElement | undefined;\r\n let paginationHeight = 0;\r\n if (paginationEl) {\r\n paginationEl.style.marginBottom = \"0\";\r\n paginationHeight =\r\n useEleHeight(paginationEl as never) ?? 0;\r\n }\r\n\r\n //总结行\r\n let summaryHeight = 0;\r\n const summaryEl = tableEl.getElementsByClassName(\r\n \"ant-table-summary\"\r\n )[0] as HTMLElement | undefined;\r\n if (summaryEl) {\r\n summaryHeight =\r\n useEleHeight(summaryEl as HTMLElement) ?? 0;\r\n }\r\n\r\n tableHeight.value =\r\n height -\r\n paginationHeight -\r\n headerHeight -\r\n summaryHeight;\r\n\r\n antTableBodyRef.value =\r\n tableEl.getElementsByClassName(\r\n \"ant-table-body\"\r\n )[0] as HTMLElement;\r\n\r\n if (antTableBodyRef.value) {\r\n // 设置body高度\r\n antTableBodyRef.value.style.height =\r\n tableHeight.value + \"px\";\r\n //TODO antTableBodyRef 滚动到底部的时候,需要去除底部边框,否则边框会重叠\r\n //antTableBodyRef.value.style.borderBottom = \"1px solid #f0f0f0\";\r\n }\r\n }\r\n\r\n return {\r\n tableRef,\r\n tableHeight,\r\n antTableBodyRef\r\n };\r\n }\r\n\r\n function usePagination() {\r\n const { changePagination } = props.config!;\r\n const paginationConfig =\r\n computed<TablePaginationConfig>(() => {\r\n return {\r\n position: [\"bottomCenter\"], // 符合类型的分页位置\r\n total: 0, // 确保符合要求\r\n ...defaultPaginationProps,\r\n ...pagination.value\r\n };\r\n });\r\n\r\n const onPaginationChange = (\r\n page: number,\r\n pageSize: number\r\n ) => {\r\n const { selection, keepSelected } = props.config!;\r\n changePagination?.(page, pageSize);\r\n // 切换分页的时候,表体滚动到顶部\r\n antTableBodyRef.value!.scrollTop = 0;\r\n\r\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\r\n // 清空历史选中数据\r\n if (selection === \"S\" || !keepSelected) {\r\n // 只有selectedRowKeys被清空时,这里才触发update;\r\n // 不加判断,会出现执行update后,父组件监听的watch每次都会触发\r\n if (selectedRowKeys.value.length > 0) {\r\n selectedRowKeys.value = [];\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n }\r\n }\r\n };\r\n\r\n return {\r\n paginationConfig,\r\n onPaginationChange\r\n };\r\n }\r\n\r\n function useCustomRow() {\r\n return (record: never, index: number) => {\r\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\r\n let clickTimeout: number = 0;\r\n const {\r\n rowKey,\r\n config: {\r\n click,\r\n dbClick,\r\n selection,\r\n getCheckboxProps\r\n } = {} as Config\r\n } = props;\r\n\r\n // 当前点击行的唯一ID,通过rowKey从record中取值\r\n const id = record[rowKey];\r\n\r\n /**\r\n * 处理单击事件业务\r\n * @param record 当前点击行数据\r\n */\r\n const onClick = () => {\r\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\r\n // 否则checkEnable为false\r\n const checkEnable =\r\n getCheckboxProps === undefined\r\n ? false\r\n : getCheckboxProps(record)?.disabled;\r\n\r\n if (selection === \"N\" || checkEnable) {\r\n // 1. 未开启复选框 则不处理数据选中操作\r\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\r\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\r\n // 方法返回的disabled为true就不执行\r\n // 复选框选中的操作\r\n return;\r\n }\r\n const haveState = selectedRowKeys.value.some(\r\n (key: Key) => key === id\r\n );\r\n if (haveState) {\r\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\r\n selectedRowKeys.value =\r\n selectedRowKeys.value.filter(\r\n (key: Key) => key !== id\r\n );\r\n } else {\r\n if (selection === \"S\") {\r\n //单选的时候 清空选中的数据 再赋值新的ID\r\n selectedRowKeys.value = [];\r\n selectedRowKeys.value.push(id);\r\n } else {\r\n //多选直接追加ID\r\n selectedRowKeys.value.push(id);\r\n }\r\n }\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n };\r\n\r\n function activeRowBackground(event: Event) {\r\n const { activeRowClass } = props.config!;\r\n if (!activeRowClass) return;\r\n const curEl = event.target;\r\n if (curEl instanceof HTMLElement) {\r\n const parentElement =\r\n curEl.parentNode as HTMLElement;\r\n if (\r\n parentElement &&\r\n parentElement.classList.contains(\r\n activeRowClass\r\n )\r\n ) {\r\n parentElement.classList.remove(\r\n activeRowClass\r\n );\r\n } else {\r\n parentElement?.classList.add(activeRowClass);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n onClick: (event: Event) => {\r\n clearTimeout(clickTimeout);\r\n clickTimeout = window.setTimeout(() => {\r\n // 处理背景激活逻辑\r\n activeRowBackground(event);\r\n // 处理单击事件业务\r\n onClick();\r\n // 回传数据 自定义单击后的业务\r\n click?.(record, index);\r\n }, 200);\r\n }, // 点击行\r\n onDblclick: () => {\r\n clearTimeout(clickTimeout);\r\n // 回传数据 自定义单击后的业务\r\n dbClick?.(record, index);\r\n }\r\n };\r\n };\r\n }\r\n\r\n function useRowSelection() {\r\n const rowSelection = ref<\r\n TableRowSelection<unknown> | undefined\r\n >(undefined);\r\n\r\n const {\r\n rowKey,\r\n config: { getCheckboxProps, selection } = {}\r\n } = props;\r\n\r\n const onSelect: SelectionSelectFn<unknown> = (\r\n record,\r\n selected\r\n ) => {\r\n const data = record as Record<string, never>;\r\n if (selection === \"S\") {\r\n selectedRowKeys.value = [];\r\n selectedRowKeys.value = selected\r\n ? [data[rowKey]]\r\n : [];\r\n } else {\r\n selectedRowKeys.value = selected\r\n ? selectedRowKeys.value.concat(data[rowKey])\r\n : selectedRowKeys.value.filter(\r\n (key: Key) => key !== data[rowKey]\r\n );\r\n }\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n };\r\n\r\n const onChange = (\r\n rowKeys: Key[],\r\n selectedRows: unknown[]\r\n ) => {\r\n // 显式转换 selectedRows 的类型为 Record<string, never>[]\r\n const data = selectedRows as Record<\r\n string,\r\n never\r\n >[];\r\n // 等于0 说明是取消全选,反之\r\n const selected = data.length !== 0;\r\n // 显式转换 _ids 的类型为 Key[]\r\n const _ids: Key[] = props.data.map(\r\n record =>\r\n (record as Record<string, unknown>)[\r\n rowKey\r\n ] as Key\r\n );\r\n\r\n // 更新 selectedRowKeys\r\n // selected 为true,说明是全选,那么rowKeys是权限后的数组ID,需要过滤掉selectedRowKeys里的不在id才进行添加,\r\n // 否则会出现,比如一开始选择了两条数据,然后再进行全选的话 会多出两个重复ID\r\n // selected 为false,说明是取消全选,那么需要从selectedRowKeys过滤掉 _ids的id\r\n selectedRowKeys.value = selected\r\n ? selectedRowKeys.value.concat(\r\n rowKeys.filter(\r\n (key: Key) =>\r\n !selectedRowKeys.value.includes(key)\r\n )\r\n )\r\n : selectedRowKeys.value.filter(\r\n (key: Key) => !_ids.includes(key)\r\n );\r\n\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n };\r\n\r\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\r\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\r\n watch(\r\n () => props.keys,\r\n val => {\r\n selectedRowKeys.value = val;\r\n }\r\n );\r\n\r\n watch(\r\n () => props.config?.selection,\r\n val => {\r\n if (val !== \"N\") {\r\n rowSelection.value = {\r\n selectedRowKeys: selectedRowKeys as never,\r\n onSelect,\r\n onChange,\r\n fixed: true,\r\n columnTitle:\r\n selection === \"S\" ? \"选择\" : null,\r\n columnWidth: selection === \"S\" ? 60 : 40,\r\n getCheckboxProps: getCheckboxProps as never\r\n };\r\n } else {\r\n rowSelection.value = undefined;\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n return rowSelection;\r\n }\r\n\r\n return () => (\r\n <Flex vertical={true} ref={tableRef}>\r\n <Table\r\n {...attrs}\r\n loading={props.loading}\r\n size={props.size}\r\n bordered={props.bordered}\r\n dataSource={data.value}\r\n columns={columns.value}\r\n rowSelection={rowSelection.value}\r\n customRow={useCustomRow() as never}\r\n pagination={false}\r\n rowKey={props.rowKey}\r\n v-slots={tableSlots}\r\n scroll={{\r\n y: tableHeight.value,\r\n x: \"100%\",\r\n scrollToFirstRowOnChange: true\r\n }}\r\n />\r\n {pagination.value && (\r\n <div class={[paginationStyle, \"d-pagination\"]}>\r\n {\r\n <Pagination\r\n v-model:current={\r\n paginationConfig.value.current\r\n }\r\n v-model:pageSize={\r\n paginationConfig.value.pageSize\r\n }\r\n total={paginationConfig.value.total}\r\n disabled={props.loading}\r\n show-size-changer\r\n size={\"default\"}\r\n hide-on-single-page={\r\n paginationConfig.value.hideOnSinglePage\r\n }\r\n show-quick-jumper={\r\n paginationConfig.value.showQuickJumper\r\n }\r\n default-page-size={\r\n paginationConfig.value.defaultPageSize\r\n }\r\n page-size-options={\r\n paginationConfig.value.pageSizeOptions\r\n }\r\n show-total={\r\n paginationConfig.value.showTotal\r\n }\r\n onChange={onPaginationChange}\r\n showLessItems={true}\r\n ></Pagination>\r\n }\r\n </div>\r\n )}\r\n </Flex>\r\n );\r\n }\r\n});\r\n\r\nexport const useEleHeight = (node: Element) => {\r\n const list = [\r\n \"margin-top\",\r\n \"margin-bottom\",\r\n \"border-top\",\r\n \"border-bottom\",\r\n \"padding-top\",\r\n \"padding-bottom\",\r\n \"height\"\r\n ];\r\n const style = getComputedStyle(node);\r\n return list\r\n .map(k => parseInt(style.getPropertyValue(k), 10))\r\n .reduce((prev, cur) => {\r\n return prev + cur;\r\n });\r\n};\r\n\r\nexport default DTable;\r\n"],"names":["tableProps","height","type","Number","default","data","Array","loading","Boolean","rowKey","String","bordered","size","keys","config","Object","required","defaultPaginationProps","defaultPageSize","disabled","hideOnSinglePage","pageSize","pageSizeOptions","responsive","showLessItems","showQuickJumper","showSizeChanger","showTotal","total","simple","defaultConfig","columns","pagination","undefined","paginationConfig","activeRowClass","selection","keepSelected","paginationStyle","css","DTable","name","props","emits","setup","emit","slots","attrs","selectedRowKeys","ref","useProps","tableSlots","useSlots","onPaginationChange","usePagination","tableRef","tableHeight","antTableBodyRef","useHeight","rowSelection","useRowSelection","onMounted","_config","computed","merge","value","bodyCell","params","summary","headerHeight","tableEl","watch","val","nextTick","_tableBodyHeight","immediate","$el","useEleHeight","getElementsByClassName","paginationEl","paginationHeight","style","marginBottom","summaryHeight","summaryEl","changePagination","position","page","scrollTop","length","useCustomRow","record","index","clickTimeout","click","dbClick","getCheckboxProps","id","onClick","checkEnable","haveState","some","key","filter","push","activeRowBackground","event","curEl","target","HTMLElement","parentElement","parentNode","classList","contains","remove","add","clearTimeout","window","setTimeout","onDblclick","onSelect","selected","concat","onChange","rowKeys","selectedRows","_ids","map","includes","fixed","columnTitle","columnWidth","_createVNode","Flex","Table","_mergeProps","y","x","scrollToFirstRowOnChange","Pagination","current","$event","node","list","getComputedStyle","k","parseInt","getPropertyValue","reduce","prev","cur"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAqEO,MAAMA,aAAaA,OAAqB;AAAA,EAC7CC,MAAQ,EAAA;AAAA,IAAEC,IAAMC,EAAAA,MAAAA;AAAAA,IAAQC,OAAS,EAAA;AAAA,GAAE;AAAA,EACnCC,IAAM,EAAA;AAAA,IAAEH,IAAMI,EAAAA,KAAAA;AAAAA,IAAwBF,OAAAA,EAASA,MAAM;AAAA,GAAG;AAAA;AAAA,EACxDG,OAAS,EAAA;AAAA,IAAEL,IAAMM,EAAAA,OAAAA;AAAAA,IAASJ,OAAS,EAAA;AAAA,GAAM;AAAA,EACzCK,MAAQ,EAAA;AAAA,IAAEP,IAAMQ,EAAAA,MAAAA;AAAAA,IAAQN,OAAS,EAAA;AAAA,GAAK;AAAA,EACtCO,QAAU,EAAA;AAAA,IAAET,IAAMM,EAAAA,OAAAA;AAAAA,IAASJ,OAAS,EAAA;AAAA,GAAM;AAAA,EAC1CQ,IAAM,EAAA;AAAA,IACJV,IAAMQ,EAAAA,MAAAA;AAAAA,IACNN,OAAS,EAAA;AAAA,GACX;AAAA,EACAS,IAAM,EAAA;AAAA,IACJX,IAAMI,EAAAA,KAAAA;AAAAA,IACNF,OAAAA,EAASA,MAAM;AAAA,GACjB;AAAA,EACAU,MAAQ,EAAA;AAAA,IACNZ,IAAMa,EAAAA,MAAAA;AAAAA,IACNC,QAAU,EAAA;AAAA;AAEd,CAAA;AAOA,MAAMC,sBAA0C,GAAA;AAAA,EAC9CC,eAAiB,EAAA,EAAA;AAAA,EACjBC,QAAU,EAAA,KAAA;AAAA,EACVC,gBAAkB,EAAA,KAAA;AAAA,EAClBC,QAAU,EAAA,EAAA;AAAA,EACVC,iBAAiB,CAAC,IAAA,EAAM,IAAM,EAAA,IAAA,EAAM,MAAM,IAAI,CAAA;AAAA,EAC9CC,UAAY,EAAA,KAAA;AAAA,EACZC,aAAe,EAAA,KAAA;AAAA,EACfC,eAAiB,EAAA,IAAA;AAAA,EACjBC,eAAiB,EAAA,IAAA;AAAA;AAAA,EACjBC,SAAAA,EAAWC,CAAS,KAAA,KAAA,CAAA,aAAA,EAAMA,KAAK,CAAA,mBAAA,CAAA;AAAA,EAC/BC,MAAQ,EAAA,KAAA;AAAA,EACRjB,IAAM,EAAA,SAAA;AAAA,EACNgB,KAAO,EAAA;AACT,CAAA;AAGA,MAAME,aAAwB,GAAA;AAAA,EAC5BC,SAAS,EAAE;AAAA,EACXC,UAAYC,EAAAA,KAAAA,CAAAA;AAAAA,EACZC,gBAAkBjB,EAAAA,sBAAAA;AAAAA,EAClBkB,cAAgB,EAAA,EAAA;AAAA,EAChBC,SAAW,EAAA,GAAA;AAAA,EACXC,YAAc,EAAA;AAChB,CAAA;AAEA,MAAMC,eAAkBC,GAAAA,GAAAA;AAAAA;AAAAA;AAAAA;AAAAA,CAAAA;AAOxB,MAAMC,yBAAyB,eAAA,CAAA;AAAA,EAC7BC,IAAM,EAAA,QAAA;AAAA,EACNC,OAAO1C,UAAW,EAAA;AAAA;AAAA,EAClB2C,KAAAA,EAAO,CAAC,aAAa,CAAA;AAAA,EACrBC,MAAMF,KAAO,EAAA;AAAA,IAAEG,IAAAA;AAAAA,IAAMC,KAAAA;AAAAA,IAAOC;AAAAA,GAAS,EAAA;AAEnC,IAAA,MAAMC,eAAkBC,GAAAA,GAAAA,CAAWP,KAAM7B,CAAAA,IAAAA,IAAQ,EAAE,CAAA;AAInD,IAAM,MAAA;AAAA,MAAEkB,OAAAA;AAAAA,MAAS1B,IAAAA;AAAAA,MAAM2B;AAAAA,QAAekB,QAAS,EAAA;AAC/C,IAAM,MAAA;AAAA,MAAEC;AAAAA,QAAeC,QAAS,EAAA;AAChC,IAAM,MAAA;AAAA,MAAElB,gBAAAA;AAAAA,MAAkBmB;AAAAA,QACxBC,aAAc,EAAA;AAChB,IAAM,MAAA;AAAA,MAAEC,QAAAA;AAAAA,MAAUC,WAAAA;AAAAA,MAAaC;AAAAA,QAC7BC,SAAU,EAAA;AACZ,IAAA,MAAMC,eAAeC,eAAgB,EAAA;AAErCC,IAAAA,SAAAA,CAAU,MAAM;AAAA,KAAE,CAAA;AAKlB,IAAA,SAASX,QAAW,GAAA;AAElB,MAAMY,MAAAA,OAAAA,GAAUC,SAAS,MACvBC,KAAAA,CAAM,EAAIlC,EAAAA,aAAAA,EAAeY,KAAM5B,CAAAA,MAAM,CACvC,CAAA;AACA,MAAA,MAAMiB,QAAUgC,GAAAA,QAAAA,CAAS,MAAMD,OAAAA,CAAQG,MAAMlC,OAAO,CAAA;AACpD,MAAA,MAAM1B,QAAO0D,QAAS,CAAA,MAAMrB,KAAMrC,CAAAA,IAAAA,IAAQ,EAAE,CAAA;AAC5C,MAAA,MAAM2B,cAAa+B,QACjB,CAAA,MAAMD,OAAQG,CAAAA,KAAAA,CAAMjC,cAAc,KACpC,CAAA;AAEA,MAAO,OAAA;AAAA,QACLD,OAAAA,EAAAA,QAAAA;AAAAA,QACA1B,IAAAA,EAAAA,KAAAA;AAAAA,QACA2B,UAAAA,EAAAA;AAAAA,OACF;AAAA;AAMF,IAAA,SAASoB,QAAW,GAAA;AAElB,MAAA,MAAMD,WAAa,GAAA;AAAA,QACjBe,UAAWC,CACTrB,MAAAA,KAAAA;AA/KV,UAAA,IAAA,EAAA;AA+KUA,UAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMoB,aAANpB,IAAiBqB,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,EAAAA,MAAAA,CAAAA;AAAAA,SAAAA;AAAAA,QACnBC,SAASA,MAAA;AAhLjB,UAAA,IAAA,EAAA;AAgLuBtB,UAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAMsB,OAANtB,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA;AAAAA;AAAAA,OACjB;AAEA,MAAO,OAAA;AAAA,QACLK,UAAAA,EAAAA;AAAAA,OACF;AAAA;AAGF,IAAA,SAASO,SAAY,GAAA;AACnB,MAAA,MAAMH,YAAWN,GAAI,EAAA;AACrB,MAAMO,MAAAA,YAAAA,GAAcP,IAAI,CAAC,CAAA;AACzB,MAAA,IAAIoB,eAAe,CACjBC,EAAAA,OAAAA;AAGF,MAAA,MAAMb,mBAAkBR,GAAiB,EAAA;AAEzCsB,MACE,KAAA,CAAA,MAAM7B,KAAMzC,CAAAA,MAAAA,EACZuE,CAAO,GAAA,KAAA;AACL,QAAA,IAAIA,QAAQ,CAAG,EAAA;AACbC,UAAAA,QAAAA,CAAS,MAAM;AACbC,YAAAA,gBAAAA,CAAiBF,GAAG,CAAA;AAAA,WACrB,CAAA;AAAA;AACH,OAEF,EAAA;AAAA,QACEG,SAAW,EAAA;AAAA,OAEf,CAAA;AAEA,MAAA,SAASD,iBAAiBzE,MAAgB,EAAA;AA/MhD,QAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAgNQqE,QAAAA,OAAAA,GAAAA,CAAUf,EAAAA,GAAAA,SAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAAA,CAAUU,UAAVV,IAAiBqB,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,GAAAA;AAE3BP,QAAAA,YAAAA,GAAeQ,aACbP,OAAQQ,CAAAA,sBAAAA,CACN,kBACF,CAAA,CAAE,CAAC,CACL,CAAA;AAEA,QAAA,MAAMC,YAAeT,GAAAA,OAAAA,CAAQQ,sBAC3B,CAAA,cACF,EAAE,CAAC,CAAA;AACH,QAAA,IAAIE,gBAAmB,GAAA,CAAA;AACvB,QAAA,IAAID,YAAc,EAAA;AAChBA,UAAAA,YAAAA,CAAaE,MAAMC,YAAe,GAAA,GAAA;AAClCF,UACEH,gBAAAA,GAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaE,YAAqB,CAAA,KAAlCF,IAAuC,GAAA,EAAA,GAAA,CAAA;AAAA;AAI3C,QAAA,IAAIM,aAAgB,GAAA,CAAA;AACpB,QAAA,MAAMC,SAAYd,GAAAA,OAAAA,CAAQQ,sBACxB,CAAA,mBACF,EAAE,CAAC,CAAA;AACH,QAAA,IAAIM,SAAW,EAAA;AACbD,UACEN,aAAAA,GAAAA,CAAAA,EAAAA,GAAAA,YAAAA,CAAaO,SAAwB,CAAA,KAArCP,IAA0C,GAAA,EAAA,GAAA,CAAA;AAAA;AAG9CrB,QAAAA,YAAYS,CAAAA,KAAAA,GACVhE,MACA+E,GAAAA,gBAAAA,GACAX,YACAc,GAAAA,aAAAA;AAEF1B,QAAAA,iBAAgBQ,KACdK,GAAAA,OAAAA,CAAQQ,sBACN,CAAA,gBACF,EAAE,CAAC,CAAA;AAEL,QAAA,IAAIrB,iBAAgBQ,KAAO,EAAA;AAEzBR,UAAAA,gBAAgBQ,CAAAA,KAAAA,CAAMgB,KAAMhF,CAAAA,MAAAA,GAC1BuD,aAAYS,KAAQ,GAAA,IAAA;AAAA;AAGxB;AAGF,MAAO,OAAA;AAAA,QACLV,QAAAA,EAAAA,SAAAA;AAAAA,QACAC,WAAAA,EAAAA,YAAAA;AAAAA,QACAC,eAAAA,EAAAA;AAAAA,OACF;AAAA;AAGF,IAAA,SAASH,aAAgB,GAAA;AACvB,MAAM,MAAA;AAAA,QAAE+B;AAAAA,UAAqB3C,KAAM5B,CAAAA,MAAAA;AACnC,MAAMoB,MAAAA,iBAAAA,GACJ6B,SAAgC,MAAM;AACpC,QAAO,OAAA,cAAA,CAAA,cAAA,CAAA;AAAA,UACLuB,QAAAA,EAAU,CAAC,cAAc,CAAA;AAAA;AAAA,UACzB1D,KAAO,EAAA;AAAA,SAAA,EACJX,yBACAe,UAAWiC,CAAAA,KAAAA,CAAAA;AAAAA,OAEjB,CAAA;AAEH,MAAMZ,MAAAA,mBAAAA,GAAqBA,CACzBkC,IAAAA,EACAlE,QACG,KAAA;AACH,QAAM,MAAA;AAAA,UAAEe,SAAAA;AAAAA,UAAWC;AAAAA,YAAiBK,KAAM5B,CAAAA,MAAAA;AAC1CuE,QAAAA,gBAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,gBAAAA,CAAmBE,IAAMlE,EAAAA,QAAAA,CAAAA;AAEzBoC,QAAAA,eAAAA,CAAgBQ,MAAOuB,SAAY,GAAA,CAAA;AAInC,QAAIpD,IAAAA,SAAAA,KAAc,GAAO,IAAA,CAACC,YAAc,EAAA;AAGtC,UAAIW,IAAAA,eAAAA,CAAgBiB,KAAMwB,CAAAA,MAAAA,GAAS,CAAG,EAAA;AACpCzC,YAAAA,eAAAA,CAAgBiB,QAAQ,EAAE;AAC1BpB,YAAK,IAAA,CAAA,aAAA,EAAeG,gBAAgBiB,KAAK,CAAA;AAAA;AAC3C;AACF,OACF;AAEA,MAAO,OAAA;AAAA,QACL/B,gBAAAA,EAAAA,iBAAAA;AAAAA,QACAmB,kBAAAA,EAAAA;AAAAA,OACF;AAAA;AAGF,IAAA,SAASqC,YAAe,GAAA;AACtB,MAAO,OAAA,CAACC,QAAeC,KAAkB,KAAA;AAEvC,QAAA,IAAIC,YAAuB,GAAA,CAAA;AAC3B,QAAM,MAAA;AAAA,UACJpF,MAAAA;AAAAA,UACAK,MAAQ,EAAA;AAAA,YACNgF,KAAAA;AAAAA,YACAC,OAAAA;AAAAA,YACA3D,SAAAA;AAAAA,YACA4D;AAAAA,cACE;AAAC,SACHtD,GAAAA,KAAAA;AAGJ,QAAMuD,MAAAA,EAAAA,GAAKN,OAAOlF,MAAM,CAAA;AAMxB,QAAA,MAAMyF,UAAUA,MAAM;AAnU9B,UAAA,IAAA,EAAA;AAsUU,UAAA,MAAMC,cACJH,gBAAqB/D,KAAAA,KAAAA,CAAAA,GACjB,SACA+D,EAAiBL,GAAAA,gBAAAA,CAAAA,MAAM,MAAvBK,IAA0B7E,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,QAAAA;AAEhC,UAAIiB,IAAAA,SAAAA,KAAc,OAAO+D,WAAa,EAAA;AAMpC,YAAA;AAAA;AAEF,UAAA,MAAMC,YAAYpD,eAAgBiB,CAAAA,KAAAA,CAAMoC,IACrCC,CAAAA,CAAAA,GAAAA,KAAaA,QAAQL,EACxB,CAAA;AACA,UAAA,IAAIG,SAAW,EAAA;AAEbpD,YAAAA,eAAAA,CAAgBiB,QACdjB,eAAgBiB,CAAAA,KAAAA,CAAMsC,MACnBD,CAAAA,CAAAA,GAAAA,KAAaA,QAAQL,EACxB,CAAA;AAAA,WACG,MAAA;AACL,YAAA,IAAI7D,cAAc,GAAK,EAAA;AAErBY,cAAAA,eAAAA,CAAgBiB,QAAQ,EAAE;AAC1BjB,cAAgBiB,eAAAA,CAAAA,KAAAA,CAAMuC,KAAKP,EAAE,CAAA;AAAA,aACxB,MAAA;AAELjD,cAAgBiB,eAAAA,CAAAA,KAAAA,CAAMuC,KAAKP,EAAE,CAAA;AAAA;AAC/B;AAEFpD,UAAK,IAAA,CAAA,aAAA,EAAeG,gBAAgBiB,KAAK,CAAA;AAAA,SAC3C;AAEA,QAAA,SAASwC,oBAAoBC,KAAc,EAAA;AACzC,UAAM,MAAA;AAAA,YAAEvE;AAAAA,cAAmBO,KAAM5B,CAAAA,MAAAA;AACjC,UAAA,IAAI,CAACqB,cAAgB,EAAA;AACrB,UAAA,MAAMwE,QAAQD,KAAME,CAAAA,MAAAA;AACpB,UAAA,IAAID,iBAAiBE,WAAa,EAAA;AAChC,YAAA,MAAMC,gBACJH,KAAMI,CAAAA,UAAAA;AACR,YAAA,IACED,aACAA,IAAAA,aAAAA,CAAcE,SAAUC,CAAAA,QAAAA,CACtB9E,cACF,CACA,EAAA;AACA2E,cAAcE,aAAAA,CAAAA,SAAAA,CAAUE,OACtB/E,cACF,CAAA;AAAA,aACK,MAAA;AACL2E,cAAAA,aAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,aAAAA,CAAeE,UAAUG,GAAIhF,CAAAA,cAAAA,CAAAA;AAAAA;AAC/B;AACF;AAGF,QAAO,OAAA;AAAA,UACL+D,SAAUQ,CAAiB,KAAA,KAAA;AACzBU,YAAAA,YAAAA,CAAavB,YAAY,CAAA;AACzBA,YAAewB,YAAAA,GAAAA,MAAAA,CAAOC,WAAW,MAAM;AAErCb,cAAAA,mBAAAA,CAAoBC,KAAK,CAAA;AAEzBR,cAAQ,OAAA,EAAA;AAERJ,cAAAA,KAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAQH,MAAQC,EAAAA,KAAAA,CAAAA;AAAAA,eACf,GAAG,CAAA;AAAA,WACR;AAAA;AAAA,UACA2B,YAAYA,MAAM;AAChBH,YAAAA,YAAAA,CAAavB,YAAY,CAAA;AAEzBE,YAAAA,OAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAAA,CAAUJ,MAAQC,EAAAA,KAAAA,CAAAA;AAAAA;AACpB,SACF;AAAA,OACF;AAAA;AAGF,IAAA,SAAShC,eAAkB,GAAA;AACzB,MAAMD,MAAAA,aAAAA,GAAeV,IAEnBhB,KAAS,CAAA,CAAA;AAEX,MAAM,MAAA;AAAA,QACJxB,MAAAA;AAAAA,QACAK,MAAQ,EAAA;AAAA,UAAEkF,gBAAAA;AAAAA,UAAkB5D;AAAAA,YAAc;AAAC,OACzCM,GAAAA,KAAAA;AAEJ,MAAM8E,MAAAA,QAAAA,GAAuCA,CAC3C7B,MAAAA,EACA8B,QACG,KAAA;AACH,QAAA,MAAMpH,KAAOsF,GAAAA,MAAAA;AACb,QAAA,IAAIvD,cAAc,GAAK,EAAA;AACrBY,UAAAA,eAAAA,CAAgBiB,QAAQ,EAAE;AAC1BjB,UAAAA,eAAAA,CAAgBiB,QAAQwD,QACpB,GAAA,CAACpH,MAAKI,MAAM,CAAC,IACb,EAAE;AAAA,SACD,MAAA;AACLuC,UAAAA,eAAAA,CAAgBiB,QAAQwD,QACpBzE,GAAAA,eAAAA,CAAgBiB,KAAMyD,CAAAA,MAAAA,CAAOrH,MAAKI,MAAM,CAAC,CACzCuC,GAAAA,eAAAA,CAAgBiB,MAAMsC,MACnBD,CAAAA,CAAAA,GAAAA,KAAaA,GAAQjG,KAAAA,KAAAA,CAAKI,MAAM,CACnC,CAAA;AAAA;AAENoC,QAAK,IAAA,CAAA,aAAA,EAAeG,gBAAgBiB,KAAK,CAAA;AAAA,OAC3C;AAEA,MAAM0D,MAAAA,QAAAA,GAAWA,CACfC,OAAAA,EACAC,YACG,KAAA;AAEH,QAAA,MAAMxH,KAAOwH,GAAAA,YAAAA;AAKb,QAAMJ,MAAAA,QAAAA,GAAWpH,MAAKoF,MAAW,KAAA,CAAA;AAEjC,QAAA,MAAMqC,OAAcpF,KAAMrC,CAAAA,IAAAA,CAAK0H,IAC7BpC,CACGA,MAAAA,KAAAA,MAAAA,CACClF,MAAM,CAEZ,CAAA;AAMAuC,QAAgBiB,eAAAA,CAAAA,KAAAA,GAAQwD,QACpBzE,GAAAA,eAAAA,CAAgBiB,KAAMyD,CAAAA,MAAAA,CACpBE,QAAQrB,MACLD,CAAAA,CAAAA,GAAAA,KACC,CAACtD,eAAAA,CAAgBiB,KAAM+D,CAAAA,QAAAA,CAAS1B,GAAG,CACvC,CACF,CACAtD,GAAAA,eAAAA,CAAgBiB,KAAMsC,CAAAA,MAAAA,CACnBD,SAAa,CAACwB,IAAAA,CAAKE,QAAS1B,CAAAA,GAAG,CAClC,CAAA;AAEJzD,QAAK,IAAA,CAAA,aAAA,EAAeG,gBAAgBiB,KAAK,CAAA;AAAA,OAC3C;AAIAM,MACE,KAAA,CAAA,MAAM7B,KAAM7B,CAAAA,IAAAA,EACZ2D,CAAO,GAAA,KAAA;AACLxB,QAAAA,eAAAA,CAAgBiB,KAAQO,GAAAA,GAAAA;AAAAA,OAE5B,CAAA;AAEAD,MAAAA,KAAAA,CACE;AAjeR,QAAA,IAAA,EAAA;AAiec7B,QAAAA,OAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAM5B,WAAN4B,IAAcN,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,SAAAA;AAAAA,OAAAA,EACpBoC,CAAO,GAAA,KAAA;AACL,QAAA,IAAIA,QAAQ,GAAK,EAAA;AACfb,UAAAA,cAAaM,KAAQ,GAAA;AAAA,YACnBjB,eAAAA;AAAAA,YACAwE,QAAAA;AAAAA,YACAG,QAAAA;AAAAA,YACAM,KAAO,EAAA,IAAA;AAAA,YACPC,WAAAA,EACE9F,SAAc,KAAA,GAAA,GAAM,cAAO,GAAA,IAAA;AAAA,YAC7B+F,WAAAA,EAAa/F,SAAc,KAAA,GAAA,GAAM,EAAK,GAAA,EAAA;AAAA,YACtC4D;AAAAA,WACF;AAAA,SACK,MAAA;AACLrC,UAAAA,cAAaM,KAAQhC,GAAAA,KAAAA,CAAAA;AAAAA;AACvB,OAEF,EAAA;AAAA,QACE0C,SAAW,EAAA;AAAA,OAEf,CAAA;AAEA,MAAOhB,OAAAA,aAAAA;AAAAA;AAGT,IAAO,OAAA,MAAAyE,YAAAC,IAAA,EAAA;AAAA,MAAA,UACW,EAAA,IAAA;AAAA,MAAI,KAAO9E,EAAAA;AAAAA,KAAQ,EAAA;AAAA,MAAAnD,SAAAA,MAAAgI,CAAAA,WAAAE,CAAAA,KAAAA,EAAAC,WAE3BxF,KAAK,EAAA;AAAA,QAAA,WACAL,KAAMnC,CAAAA,OAAAA;AAAAA,QAAO,QAChBmC,KAAM9B,CAAAA,IAAAA;AAAAA,QAAI,YACN8B,KAAM/B,CAAAA,QAAAA;AAAAA,QAAQ,cACZN,IAAK4D,CAAAA,KAAAA;AAAAA,QAAK,WACblC,OAAQkC,CAAAA,KAAAA;AAAAA,QAAK,gBACRN,YAAaM,CAAAA,KAAAA;AAAAA,QAAK,aACrByB,YAAa,EAAA;AAAA,QAAC,YACb,EAAA,KAAA;AAAA,QAAK,UACThD,KAAMjC,CAAAA,MAAAA;AAAAA,QAAM,QAEZ,EAAA;AAAA,UACN+H,GAAGhF,WAAYS,CAAAA,KAAAA;AAAAA,UACfwE,CAAG,EAAA,MAAA;AAAA,UACHC,wBAA0B,EAAA;AAAA;AAC5B,OAAC,CALQvF,EAAAA,UAAU,GAOpBnB,UAAWiC,CAAAA,KAAAA,IAAKmE,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EACH,CAAC9F,eAAAA,EAAiB,cAAc;AAAA,OAAC,EAAA8F,CAAAA,WAAAA,CAAAO,UAAA,EAAA;AAAA,QAAA,SAAA,EAIrCzG,iBAAiB+B,KAAM2E,CAAAA,OAAAA;AAAAA,QAAO,kBAAAC,EAAAA,CAAAA,MAAAA,KAA9B3G,gBAAiB+B,CAAAA,KAAAA,CAAM2E,OAAOC,GAAAA,MAAAA;AAAAA,QAAA,UAAA,EAG9B3G,iBAAiB+B,KAAM5C,CAAAA,QAAAA;AAAAA,QAAQ,mBAAAwH,EAAAA,CAAAA,MAAAA,KAA/B3G,gBAAiB+B,CAAAA,KAAAA,CAAM5C,QAAQwH,GAAAA,MAAAA;AAAAA,QAAA,OAAA,EAE1B3G,iBAAiB+B,KAAMrC,CAAAA,KAAAA;AAAAA,QAAK,YACzBc,KAAMnC,CAAAA,OAAAA;AAAAA,QAAO,mBAAA,EAAA,IAAA;AAAA,QAAA,MAEjB,EAAA,SAAA;AAAA,QAAS,qBAAA,EAEb2B,iBAAiB+B,KAAM7C,CAAAA,gBAAAA;AAAAA,QAAgB,mBAAA,EAGvCc,iBAAiB+B,KAAMxC,CAAAA,eAAAA;AAAAA,QAAe,mBAAA,EAGtCS,iBAAiB+B,KAAM/C,CAAAA,eAAAA;AAAAA,QAAe,mBAAA,EAGtCgB,iBAAiB+B,KAAM3C,CAAAA,eAAAA;AAAAA,QAAe,YAAA,EAGtCY,iBAAiB+B,KAAMtC,CAAAA,SAAAA;AAAAA,QAAS,UAExB0B,EAAAA,kBAAAA;AAAAA,QAAkB,eACb,EAAA;AAAA,OAItB,EAAA,IAAA,CAAA,CAAA,CAAA;AAAA,KAEJ,CAAA;AAAA;AAEL,CAAC;AAEM,MAAMwB,eAAgBiE,CAAkB,IAAA,KAAA;AAC7C,EAAMC,MAAAA,IAAAA,GAAO,CACX,YACA,EAAA,eAAA,EACA,cACA,eACA,EAAA,aAAA,EACA,kBACA,QAAQ,CAAA;AAEV,EAAM9D,MAAAA,KAAAA,GAAQ+D,iBAAiBF,IAAI,CAAA;AACnC,EAAA,OAAOC,IACJhB,CAAAA,GAAAA,CAAIkB,CAAKC,CAAAA,KAAAA,QAAAA,CAASjE,MAAMkE,gBAAiBF,CAAAA,CAAC,CAAG,EAAA,EAAE,CAAC,CAAA,CAChDG,MAAO,CAAA,CAACC,MAAMC,GAAQ,KAAA;AACrB,IAAA,OAAOD,IAAOC,GAAAA,GAAAA;AAAAA,GACf,CAAA;AACL;;;;"}
|
|
1
|
+
{"version":3,"file":"Table.mjs","sources":["../../../../src/components/table/Table.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n nextTick,\r\n onMounted,\r\n ref,\r\n watch\r\n} from \"vue\";\r\nimport { type ExtractPropTypes, type PropType } from \"vue\";\r\nimport { Flex, Pagination, Table } from \"ant-design-vue\";\r\nimport { type TablePaginationConfig } from \"ant-design-vue\";\r\n\r\nimport { type PaginationProps } from \"./interface\";\r\nimport { css } from \"@emotion/css\";\r\nimport type { ColumnsType } from \"ant-design-vue/es/table\";\r\nimport type {\r\n SelectionSelectFn,\r\n TableRowSelection\r\n} from \"ant-design-vue/es/table/interface\";\r\nimport { merge } from \"lodash\";\r\n\r\nexport type Key = string | number;\r\nexport type SizeType =\r\n | \"small\"\r\n | \"middle\"\r\n | \"large\"\r\n | undefined;\r\n\r\n// 定义分页\r\ninterface Page {\r\n total: number;\r\n current: number;\r\n pageSize: number;\r\n}\r\n\r\n// 定义表格配置接口,支持泛型\r\ninterface Config<T = unknown> {\r\n columns: ColumnsType<T>;\r\n // 分页\r\n pagination?: Page | undefined;\r\n // 分页配置\r\n paginationConfig?: PaginationProps;\r\n changePagination?: (\r\n current: number,\r\n size: number\r\n ) => void;\r\n // 单击\r\n click?: (\r\n record: Record<string, unknown>,\r\n index: number\r\n ) => void;\r\n // 双击\r\n dbClick?: (\r\n record: Record<string, unknown>,\r\n index: number\r\n ) => void;\r\n // 选择框的默认属性配置\r\n getCheckboxProps?: (\r\n record: unknown\r\n ) => Record<string, unknown> | undefined; // 返回一个对象或者 undefined\r\n // 点击行号激活的class\r\n activeRowClass?: string;\r\n // 复选框方式\r\n selection?: string;\r\n // 切换分页是否保留选中的ID\r\n keepSelected?: boolean;\r\n}\r\n\r\n// 定义 Props 类型,支持泛型\r\nexport const tableProps = <T = unknown,>() => ({\r\n height: { type: Number, default: 0 },\r\n data: { type: Array as PropType<T[]>, default: () => [] }, // 泛型约束\r\n loading: { type: Boolean, default: false },\r\n rowKey: { type: String, default: \"id\" },\r\n bordered: { type: Boolean, default: false },\r\n size: {\r\n type: String as PropType<SizeType>,\r\n default: \"small\"\r\n },\r\n keys: {\r\n type: Array as PropType<Key[]>,\r\n default: () => []\r\n },\r\n config: {\r\n type: Object as PropType<Config<T>>,\r\n required: true\r\n }\r\n});\r\n\r\nexport type TableProps = Partial<\r\n ExtractPropTypes<ReturnType<typeof tableProps>>\r\n>;\r\n\r\n// 分页组件默认配置\r\nconst defaultPaginationProps: PaginationProps = {\r\n defaultPageSize: 20,\r\n disabled: false,\r\n hideOnSinglePage: false,\r\n pageSize: 20,\r\n pageSizeOptions: [\"20\", \"40\", \"60\", \"80\", \"99\"],\r\n responsive: false,\r\n showLessItems: false,\r\n showQuickJumper: true,\r\n showSizeChanger: true, // 默认展示切换器\r\n showTotal: total => `总共 ${total} 条数据`,\r\n simple: false,\r\n size: \"default\",\r\n total: 0\r\n};\r\n\r\n// 表格默认配置\r\nconst defaultConfig: Config = {\r\n columns: [],\r\n pagination: undefined,\r\n paginationConfig: defaultPaginationProps,\r\n activeRowClass: \"\",\r\n selection: \"N\",\r\n keepSelected: false\r\n};\r\n\r\nconst paginationStyle = css`\r\n display: flex;\r\n justify-content: center;\r\n padding-top: 6px;\r\n`;\r\n\r\n// 定义泛型组件\r\nconst DTable = defineComponent({\r\n name: \"DTable\",\r\n props: tableProps(), // 初始泛型设置为 `unknown`\r\n emits: [\"update:keys\"],\r\n setup(props, { emit, slots, attrs }) {\r\n // 保存选中的唯一id\r\n const selectedRowKeys = ref<Key[]>(props.keys || []);\r\n // 计算表格高度\r\n //const height = computed(() => props.height);\r\n\r\n const { columns, data, pagination } = useProps();\r\n const { tableSlots } = useSlots();\r\n const { paginationConfig, onPaginationChange } =\r\n usePagination();\r\n const { tableRef, tableHeight, antTableBodyRef } =\r\n useHeight();\r\n const rowSelection = useRowSelection();\r\n\r\n onMounted(() => {});\r\n\r\n /**\r\n * props计算属性处理\r\n */\r\n function useProps() {\r\n // 定义计算属性\r\n const _config = computed(() =>\r\n merge({}, defaultConfig, props.config)\r\n );\r\n const columns = computed(() => _config.value.columns);\r\n const data = computed(() => props.data || []);\r\n const pagination = computed(\r\n () => _config.value.pagination || false\r\n );\r\n\r\n return {\r\n columns,\r\n data,\r\n pagination\r\n };\r\n }\r\n\r\n /**\r\n * 插槽处理\r\n */\r\n function useSlots() {\r\n // 定义插槽\r\n const tableSlots = {\r\n bodyCell: (params: unknown) =>\r\n slots.bodyCell?.(params),\r\n summary: () => slots.summary?.()\r\n };\r\n\r\n return {\r\n tableSlots\r\n };\r\n }\r\n\r\n function useHeight() {\r\n const tableRef = ref();\r\n const tableHeight = ref(0);\r\n let headerHeight = 0,\r\n tableEl: HTMLElement;\r\n\r\n // 表格body对象\r\n const antTableBodyRef = ref<HTMLElement>();\r\n\r\n watch(\r\n () => props.height,\r\n val => {\r\n if (val !== 0) {\r\n nextTick(() => {\r\n _tableBodyHeight(val);\r\n });\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n function _tableBodyHeight(height: number) {\r\n tableEl = tableRef?.value?.$el;\r\n //表头高度\r\n headerHeight = useEleHeight(\r\n tableEl.getElementsByClassName(\r\n \"ant-table-header\"\r\n )[0]\r\n );\r\n // 分页\r\n const paginationEl = tableEl.getElementsByClassName(\r\n \"d-pagination\"\r\n )[0] as HTMLElement | undefined;\r\n let paginationHeight = 0;\r\n if (paginationEl) {\r\n paginationEl.style.marginBottom = \"0\";\r\n paginationHeight =\r\n useEleHeight(paginationEl as never) ?? 0;\r\n }\r\n\r\n //总结行\r\n let summaryHeight = 0;\r\n const summaryEl = tableEl.getElementsByClassName(\r\n \"ant-table-summary\"\r\n )[0] as HTMLElement | undefined;\r\n if (summaryEl) {\r\n summaryHeight =\r\n useEleHeight(summaryEl as HTMLElement) ?? 0;\r\n }\r\n\r\n tableHeight.value =\r\n height -\r\n paginationHeight -\r\n headerHeight -\r\n summaryHeight;\r\n\r\n antTableBodyRef.value =\r\n tableEl.getElementsByClassName(\r\n \"ant-table-body\"\r\n )[0] as HTMLElement;\r\n\r\n if (antTableBodyRef.value) {\r\n // 设置body高度\r\n antTableBodyRef.value.style.height =\r\n tableHeight.value + \"px\";\r\n //TODO antTableBodyRef 滚动到底部的时候,需要去除底部边框,否则边框会重叠\r\n //antTableBodyRef.value.style.borderBottom = \"1px solid #f0f0f0\";\r\n }\r\n }\r\n\r\n return {\r\n tableRef,\r\n tableHeight,\r\n antTableBodyRef\r\n };\r\n }\r\n\r\n function usePagination() {\r\n const { changePagination } = props.config!;\r\n const paginationConfig =\r\n computed<TablePaginationConfig>(() => {\r\n return {\r\n position: [\"bottomCenter\"], // 符合类型的分页位置\r\n total: 0, // 确保符合要求\r\n ...defaultPaginationProps,\r\n ...pagination.value\r\n };\r\n });\r\n\r\n const onPaginationChange = (\r\n page: number,\r\n pageSize: number\r\n ) => {\r\n const { selection, keepSelected } = props.config!;\r\n changePagination?.(page, pageSize);\r\n // 切换分页的时候,表体滚动到顶部\r\n antTableBodyRef.value!.scrollTop = 0;\r\n\r\n // 如果当前为单选或未开启分页保留数据选中的数据都会被清除\r\n // 清空历史选中数据\r\n if (selection === \"S\" || !keepSelected) {\r\n // 只有selectedRowKeys被清空时,这里才触发update;\r\n // 不加判断,会出现执行update后,父组件监听的watch每次都会触发\r\n if (selectedRowKeys.value.length > 0) {\r\n selectedRowKeys.value = [];\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n }\r\n }\r\n };\r\n\r\n return {\r\n paginationConfig,\r\n onPaginationChange\r\n };\r\n }\r\n\r\n function useCustomRow() {\r\n return (record: never, index: number) => {\r\n // 用于存储 在某个事件内双击两次 则取消单击事件业务\r\n let clickTimeout: number = 0;\r\n const {\r\n rowKey,\r\n config: {\r\n click,\r\n dbClick,\r\n selection,\r\n getCheckboxProps\r\n } = {} as Config\r\n } = props;\r\n\r\n // 当前点击行的唯一ID,通过rowKey从record中取值\r\n const id = record[rowKey];\r\n\r\n /**\r\n * 处理单击事件业务\r\n * @param record 当前点击行数据\r\n */\r\n const onClick = () => {\r\n // 获取getCheckboxProps方法,如果不等于undefined,则执行方法获取disabled的值\r\n // 否则checkEnable为false\r\n const checkEnable =\r\n getCheckboxProps === undefined\r\n ? false\r\n : getCheckboxProps(record)?.disabled;\r\n\r\n if (selection === \"N\" || checkEnable) {\r\n // 1. 未开启复选框 则不处理数据选中操作\r\n // 2. 如果当前点击的行 包含在禁用的数据项目里面 则不进行选中操作\r\n // 3. checkEnable 用来判断复选框属性的值,如果当前的数据满足getCheckboxProps这个\r\n // 方法返回的disabled为true就不执行\r\n // 复选框选中的操作\r\n return;\r\n }\r\n const haveState = selectedRowKeys.value.some(\r\n (key: Key) => key === id\r\n );\r\n if (haveState) {\r\n //如果 当前点击行的ID 已存在 那么直接过滤掉当前的id\r\n selectedRowKeys.value =\r\n selectedRowKeys.value.filter(\r\n (key: Key) => key !== id\r\n );\r\n } else {\r\n if (selection === \"S\") {\r\n //单选的时候 清空选中的数据 再赋值新的ID\r\n selectedRowKeys.value = [];\r\n selectedRowKeys.value.push(id);\r\n } else {\r\n //多选直接追加ID\r\n selectedRowKeys.value.push(id);\r\n }\r\n }\r\n console.log(\"onSelect\", selectedRowKeys.value);\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n };\r\n\r\n function activeRowBackground(event: Event) {\r\n const { activeRowClass } = props.config!;\r\n if (!activeRowClass) return;\r\n const curEl = event.target;\r\n if (curEl instanceof HTMLElement) {\r\n const parentElement =\r\n curEl.parentNode as HTMLElement;\r\n if (\r\n parentElement &&\r\n parentElement.classList.contains(\r\n activeRowClass\r\n )\r\n ) {\r\n parentElement.classList.remove(\r\n activeRowClass\r\n );\r\n } else {\r\n parentElement?.classList.add(activeRowClass);\r\n }\r\n }\r\n }\r\n\r\n return {\r\n onClick: (event: Event) => {\r\n clearTimeout(clickTimeout);\r\n clickTimeout = window.setTimeout(() => {\r\n // 处理背景激活逻辑\r\n activeRowBackground(event);\r\n // 处理单击事件业务\r\n onClick();\r\n // 回传数据 自定义单击后的业务\r\n click?.(record, index);\r\n }, 200);\r\n }, // 点击行\r\n onDblclick: () => {\r\n clearTimeout(clickTimeout);\r\n // 回传数据 自定义单击后的业务\r\n dbClick?.(record, index);\r\n }\r\n };\r\n };\r\n }\r\n\r\n function useRowSelection() {\r\n const rowSelection = ref<\r\n TableRowSelection<unknown> | undefined\r\n >(undefined);\r\n\r\n const {\r\n rowKey,\r\n config: { getCheckboxProps, selection } = {}\r\n } = props;\r\n\r\n const onSelect: SelectionSelectFn<unknown> = (\r\n record,\r\n selected\r\n ) => {\r\n const data = record as Record<string, never>;\r\n if (selection === \"S\") {\r\n selectedRowKeys.value = [];\r\n selectedRowKeys.value = selected\r\n ? [data[rowKey]]\r\n : [];\r\n } else {\r\n selectedRowKeys.value = selected\r\n ? selectedRowKeys.value.concat(data[rowKey])\r\n : selectedRowKeys.value.filter(\r\n (key: Key) => key !== data[rowKey]\r\n );\r\n }\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n };\r\n\r\n const onSelectAll = (\r\n selected: boolean,\r\n selectedRows: unknown[],\r\n changeRows: unknown[]\r\n ) => {\r\n const _ids = changeRows.map(\r\n (record: unknown) =>\r\n (record as { [key: string]: never })[rowKey]\r\n );\r\n selectedRowKeys.value = selected\r\n ? selectedRowKeys.value.concat(_ids)\r\n : selectedRowKeys.value.filter(\r\n (key: Key) => !_ids.includes(key as never)\r\n );\r\n\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n };\r\n\r\n const onChange = (\r\n rowKeys: Key[],\r\n selectedRows: unknown[]\r\n ) => {\r\n // 显式转换 selectedRows 的类型为 Record<string, never>[]\r\n const data = selectedRows as Record<\r\n string,\r\n never\r\n >[];\r\n // 等于0 说明是取消全选,反之\r\n const selected = data.length !== 0;\r\n // 显式转换 _ids 的类型为 Key[]\r\n const _ids: Key[] = props.data.map(\r\n record =>\r\n (record as Record<string, unknown>)[\r\n rowKey\r\n ] as Key\r\n );\r\n\r\n // 更新 selectedRowKeys\r\n // selected 为true,说明是全选,那么rowKeys是权限后的数组ID,需要过滤掉selectedRowKeys里的不在id才进行添加,\r\n // 否则会出现,比如一开始选择了两条数据,然后再进行全选的话 会多出两个重复ID\r\n // selected 为false,说明是取消全选,那么需要从selectedRowKeys过滤掉 _ids的id\r\n selectedRowKeys.value = selected\r\n ? selectedRowKeys.value.concat(\r\n rowKeys.filter(\r\n (key: Key) =>\r\n !selectedRowKeys.value.includes(key)\r\n )\r\n )\r\n : selectedRowKeys.value.filter(\r\n (key: Key) => !_ids.includes(key)\r\n );\r\n console.log(\"onSelect\", selectedRowKeys.value);\r\n emit(\"update:keys\", selectedRowKeys.value);\r\n };\r\n\r\n // 监听父组件手动改变keys 重新赋值给 表格选中变量selectedRowKeys\r\n // 否则父组件 改变keys后当前selectedRowKeys还是原来的值\r\n watch(\r\n () => props.keys,\r\n val => {\r\n selectedRowKeys.value = val;\r\n },\r\n {\r\n deep: true,\r\n immediate: true\r\n }\r\n );\r\n\r\n watch(\r\n () => props.config?.selection,\r\n val => {\r\n if (val !== \"N\") {\r\n rowSelection.value = {\r\n selectedRowKeys: selectedRowKeys as never,\r\n onSelect,\r\n onSelectAll,\r\n fixed: true,\r\n columnTitle:\r\n selection === \"S\" ? \"选择\" : null,\r\n columnWidth: selection === \"S\" ? 60 : 40,\r\n getCheckboxProps: getCheckboxProps as never\r\n };\r\n } else {\r\n rowSelection.value = undefined;\r\n }\r\n },\r\n {\r\n immediate: true\r\n }\r\n );\r\n\r\n return rowSelection;\r\n }\r\n\r\n return () => (\r\n <Flex vertical={true} ref={tableRef}>\r\n <Table\r\n {...attrs}\r\n loading={props.loading}\r\n size={props.size}\r\n bordered={props.bordered}\r\n dataSource={data.value}\r\n columns={columns.value}\r\n rowSelection={rowSelection.value}\r\n customRow={useCustomRow() as never}\r\n pagination={false}\r\n rowKey={props.rowKey}\r\n v-slots={tableSlots}\r\n scroll={{\r\n y: tableHeight.value,\r\n x: \"100%\",\r\n scrollToFirstRowOnChange: true\r\n }}\r\n />\r\n {pagination.value && (\r\n <div class={[paginationStyle, \"d-pagination\"]}>\r\n {\r\n <Pagination\r\n v-model:current={\r\n paginationConfig.value.current\r\n }\r\n v-model:pageSize={\r\n paginationConfig.value.pageSize\r\n }\r\n total={paginationConfig.value.total}\r\n disabled={props.loading}\r\n show-size-changer\r\n size={\"default\"}\r\n hide-on-single-page={\r\n paginationConfig.value.hideOnSinglePage\r\n }\r\n show-quick-jumper={\r\n paginationConfig.value.showQuickJumper\r\n }\r\n default-page-size={\r\n paginationConfig.value.defaultPageSize\r\n }\r\n page-size-options={\r\n paginationConfig.value.pageSizeOptions\r\n }\r\n show-total={\r\n paginationConfig.value.showTotal\r\n }\r\n onChange={onPaginationChange}\r\n showLessItems={true}\r\n ></Pagination>\r\n }\r\n </div>\r\n )}\r\n </Flex>\r\n );\r\n }\r\n});\r\n\r\nexport const useEleHeight = (node: Element) => {\r\n const list = [\r\n \"margin-top\",\r\n \"margin-bottom\",\r\n \"border-top\",\r\n \"border-bottom\",\r\n \"padding-top\",\r\n \"padding-bottom\",\r\n \"height\"\r\n ];\r\n const style = getComputedStyle(node);\r\n return list\r\n .map(k => parseInt(style.getPropertyValue(k), 10))\r\n .reduce((prev, cur) => {\r\n return prev + cur;\r\n });\r\n};\r\n\r\nexport default DTable;\r\n"],"names":["tableProps","height","type","Number","default","data","Array","loading","Boolean","rowKey","String","bordered","size","keys","config","Object","required","defaultPaginationProps","defaultPageSize","disabled","hideOnSinglePage","pageSize","pageSizeOptions","responsive","showLessItems","showQuickJumper","showSizeChanger","showTotal","total","simple","defaultConfig","columns","pagination","undefined","paginationConfig","activeRowClass","selection","keepSelected","paginationStyle","css","DTable","name","props","emits","setup","emit","slots","attrs","selectedRowKeys","ref","useProps","tableSlots","useSlots","onPaginationChange","usePagination","tableRef","tableHeight","antTableBodyRef","useHeight","rowSelection","useRowSelection","onMounted","_config","computed","merge","value","bodyCell","params","summary","headerHeight","tableEl","watch","val","nextTick","_tableBodyHeight","immediate","$el","useEleHeight","getElementsByClassName","paginationEl","paginationHeight","style","marginBottom","summaryHeight","summaryEl","changePagination","position","page","scrollTop","length","useCustomRow","record","index","clickTimeout","click","dbClick","getCheckboxProps","id","onClick","checkEnable","haveState","some","key","filter","push","console","log","activeRowBackground","event","curEl","target","HTMLElement","parentElement","parentNode","classList","contains","remove","add","clearTimeout","window","setTimeout","onDblclick","onSelect","selected","concat","onSelectAll","selectedRows","changeRows","_ids","map","includes","onChange","rowKeys","deep","fixed","columnTitle","columnWidth","_createVNode","Flex","Table","_mergeProps","y","x","scrollToFirstRowOnChange","Pagination","current","$event","node","list","getComputedStyle","k","parseInt","getPropertyValue","reduce","prev","cur"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DicReplace.d.ts","sourceRoot":"","sources":["../../../../src/components/dic/DicReplace.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBA,
|
|
1
|
+
{"version":3,"file":"DicReplace.d.ts","sourceRoot":"","sources":["../../../../src/components/dic/DicReplace.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAoBA,wBAiFG"}
|
|
@@ -6,8 +6,14 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
6
6
|
content: string;
|
|
7
7
|
};
|
|
8
8
|
};
|
|
9
|
+
isSettings: {
|
|
10
|
+
type: BooleanConstructor;
|
|
11
|
+
required: false;
|
|
12
|
+
default: boolean;
|
|
13
|
+
};
|
|
9
14
|
}>, {
|
|
10
15
|
props: any;
|
|
16
|
+
emits: (event: "menuChange", ...args: any[]) => void;
|
|
11
17
|
layout: import("vue").Ref<{
|
|
12
18
|
sideWidth: number;
|
|
13
19
|
headerHeight: number;
|
|
@@ -22,22 +28,25 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
22
28
|
modeConfig: import("vue").Ref<import("@ditari/store/dist/types/modules/useAppStore").Mode, import("@ditari/store/dist/types/modules/useAppStore").Mode>;
|
|
23
29
|
sideTokenStyle: import("vue").Ref<Record<string, string>, Record<string, string>>;
|
|
24
30
|
route: import("vue-router").RouteLocationNormalizedLoadedGeneric;
|
|
31
|
+
onMenuChange: (item: never) => void;
|
|
25
32
|
layoutStyle: string;
|
|
26
33
|
siderStyle: import("vue").ComputedRef<string>;
|
|
27
34
|
rightStyle: import("vue").ComputedRef<string>;
|
|
28
35
|
rightContentStyle: import("vue").ComputedRef<string>;
|
|
29
|
-
watermarkContent: import("vue").Ref<string, string>;
|
|
30
36
|
useKeepAlive: () => void;
|
|
31
|
-
useWatermark: () =>
|
|
32
|
-
watermarkContent: import("vue").Ref<string, string>;
|
|
33
|
-
};
|
|
37
|
+
useWatermark: () => void;
|
|
34
38
|
useStyle: () => {
|
|
35
39
|
layoutStyle: string;
|
|
36
40
|
siderStyle: import("vue").ComputedRef<string>;
|
|
37
41
|
rightStyle: import("vue").ComputedRef<string>;
|
|
38
42
|
rightContentStyle: import("vue").ComputedRef<string>;
|
|
39
43
|
};
|
|
40
|
-
|
|
44
|
+
useMenu: () => {
|
|
45
|
+
onMenuChange: (item: never) => void;
|
|
46
|
+
};
|
|
47
|
+
readonly DMenu: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "menuChange"[], "menuChange", import("vue").PublicProps, Readonly<{}> & Readonly<{
|
|
48
|
+
onMenuChange?: ((...args: any[]) => any) | undefined;
|
|
49
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
41
50
|
readonly SettingDrawer: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {
|
|
42
51
|
BlockCheckbox: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
43
52
|
themes: {
|
|
@@ -139,7 +148,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
139
148
|
RouterContent: import("vue").DefineComponent<{}, {
|
|
140
149
|
keepAliveNames: string[];
|
|
141
150
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
142
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
151
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "menuChange"[], "menuChange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
143
152
|
watermark: {
|
|
144
153
|
type: ObjectConstructor;
|
|
145
154
|
required: false;
|
|
@@ -147,8 +156,16 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
147
156
|
content: string;
|
|
148
157
|
};
|
|
149
158
|
};
|
|
150
|
-
|
|
159
|
+
isSettings: {
|
|
160
|
+
type: BooleanConstructor;
|
|
161
|
+
required: false;
|
|
162
|
+
default: boolean;
|
|
163
|
+
};
|
|
164
|
+
}>> & Readonly<{
|
|
165
|
+
onMenuChange?: ((...args: any[]) => any) | undefined;
|
|
166
|
+
}>, {
|
|
151
167
|
watermark: Record<string, any>;
|
|
168
|
+
isSettings: boolean;
|
|
152
169
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
153
170
|
export default _default;
|
|
154
171
|
//# sourceMappingURL=Layout.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Layout.vue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Layout.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Layout.vue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAkI8B,KAAK;;;;;;;;;;;;;;6BAAL,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAjHnC,wBA+HE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/List.tsx"],"names":[],"mappings":"AAgCA,QAAA,MAAM,IAAI;;
|
|
1
|
+
{"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/List.tsx"],"names":[],"mappings":"AAgCA,QAAA,MAAM,IAAI;;iFA2OR,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Show.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Show.d.ts","sourceRoot":"","sources":["../../../../src/components/layout/Show.tsx"],"names":[],"mappings":"AA8BA,QAAA,MAAM,IAAI;;;;;;;;;;;;4EAwIR,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin,
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "menuChange"[], "menuChange", import("vue").PublicProps, Readonly<{}> & Readonly<{
|
|
2
|
+
onMenuChange?: ((...args: any[]) => any) | undefined;
|
|
3
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
4
|
export default _default;
|
|
3
5
|
//# sourceMappingURL=Menu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../../../../src/components/layout/components/menu/Menu.tsx"],"names":[],"mappings":";;;AAWA,wBA8LG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAI3D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAO3D,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAGd,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,UAAU,MAAM,CAAC,CAAC,GAAG,OAAO;IAC1B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAExB,UAAU,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAE9B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;IAEV,KAAK,CAAC,EAAE,CACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IAEV,OAAO,CAAC,EAAE,CACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IAEV,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,OAAO,KACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAEzC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,eAAO,MAAM,UAAU,GAAI,CAAC;;;;;;cAEH,QAAQ,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;cAKlB,QAAQ,CAAC,QAAQ,CAAC;;;;cAInB,QAAQ,CAAC,GAAG,EAAE,CAAC;;;;cAId,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;;CAGrC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,gBAAgB,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAChD,CAAC;AAoCF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;cAnDQ,QAAQ,CAAC,QAAQ,CAAC;;;;cAInB,QAAQ,CAAC,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAJd,QAAQ,CAAC,QAAQ,CAAC;;;;cAInB,QAAQ,CAAC,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/table/Table.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAI3D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAO3D,MAAM,MAAM,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAClC,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAGd,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAGD,UAAU,MAAM,CAAC,CAAC,GAAG,OAAO;IAC1B,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAExB,UAAU,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;IAE9B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,gBAAgB,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,KACT,IAAI,CAAC;IAEV,KAAK,CAAC,EAAE,CACN,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IAEV,OAAO,CAAC,EAAE,CACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,KAAK,EAAE,MAAM,KACV,IAAI,CAAC;IAEV,gBAAgB,CAAC,EAAE,CACjB,MAAM,EAAE,OAAO,KACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAEzC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAGD,eAAO,MAAM,UAAU,GAAI,CAAC;;;;;;cAEH,QAAQ,CAAC,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;cAKlB,QAAQ,CAAC,QAAQ,CAAC;;;;cAInB,QAAQ,CAAC,GAAG,EAAE,CAAC;;;;cAId,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;;CAGrC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,gBAAgB,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAChD,CAAC;AAoCF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;cAnDQ,QAAQ,CAAC,QAAQ,CAAC;;;;cAInB,QAAQ,CAAC,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAJd,QAAQ,CAAC,QAAQ,CAAC;;;;cAInB,QAAQ,CAAC,GAAG,EAAE,CAAC;;;;;;;;;;;;;;;;;4EA2fhC,CAAC;AAEH,eAAO,MAAM,YAAY,SAAU,OAAO,WAgBzC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ditari/bsui",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"vue": "^3.5.13",
|
|
40
40
|
"vue-request": "^2.0.4",
|
|
41
41
|
"vue-router": "^4.5.0",
|
|
42
|
-
"@ditari/store": "^5.0.
|
|
43
|
-
"@ditari/core": "^5.0.
|
|
42
|
+
"@ditari/store": "^5.0.8",
|
|
43
|
+
"@ditari/core": "^5.0.8"
|
|
44
44
|
},
|
|
45
45
|
"peerDependencies": {}
|
|
46
46
|
}
|