giime 0.8.1 → 0.8.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 (42) hide show
  1. package/dist/index.css +135 -136
  2. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.mjs +1 -1
  3. package/es/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.mjs.map +1 -1
  4. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs +3 -3
  5. package/es/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.mjs.map +1 -1
  6. package/es/giime/index.mjs +1 -0
  7. package/es/giime/index.mjs.map +1 -1
  8. package/es/giime/version.d.ts +1 -1
  9. package/es/giime/version.mjs +1 -1
  10. package/es/giime/version.mjs.map +1 -1
  11. package/es/index.css +135 -136
  12. package/es/utils/__tests__/tree.test.d.ts +1 -0
  13. package/es/utils/index.mjs +1 -0
  14. package/es/utils/index.mjs.map +1 -1
  15. package/es/utils/src/tree/flattenTree.d.ts +9 -0
  16. package/es/utils/src/tree/flattenTree.mjs +19 -0
  17. package/es/utils/src/tree/flattenTree.mjs.map +1 -0
  18. package/es/utils/src/tree/index.d.ts +1 -0
  19. package/es/utils/src/tree/index.mjs +1 -0
  20. package/es/utils/src/tree/index.mjs.map +1 -1
  21. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.js +1 -1
  22. package/lib/components/src/composite/tableCustom/customOperate/CustomOperate.vue2.js.map +1 -1
  23. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js +3 -3
  24. package/lib/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue2.js.map +1 -1
  25. package/lib/giime/index.js +2 -0
  26. package/lib/giime/index.js.map +1 -1
  27. package/lib/giime/version.d.ts +1 -1
  28. package/lib/giime/version.js +1 -1
  29. package/lib/giime/version.js.map +1 -1
  30. package/lib/index.css +135 -136
  31. package/lib/utils/__tests__/tree.test.d.ts +1 -0
  32. package/lib/utils/index.js +2 -0
  33. package/lib/utils/index.js.map +1 -1
  34. package/lib/utils/src/tree/flattenTree.d.ts +9 -0
  35. package/lib/utils/src/tree/flattenTree.js +21 -0
  36. package/lib/utils/src/tree/flattenTree.js.map +1 -0
  37. package/lib/utils/src/tree/index.d.ts +1 -0
  38. package/lib/utils/src/tree/index.js +2 -0
  39. package/lib/utils/src/tree/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/theme-chalk/element/index.scss +4 -4
  42. package/theme-chalk/index.css +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"TableCustomHeader.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue"],"sourcesContent":["<template>\n <gm-drawer\n v-model=\"isShowDrawer\"\n title=\"自定义表头\"\n direction=\"rtl\"\n size=\"600px\"\n append-to-body\n destroy-on-close\n class=\"table-custom-header-drawer\"\n >\n <div class=\"gm-mb-4 gm-flex gm-items-center gm-rounded gm-border gm-border-cyan-300 gm-bg-cyan-50 gm-p-2 gm-text-sm gm-text-[#777]\">\n <gm-icon><InfoFilled /></gm-icon>\n <p class=\"gm-ml-2\">\n 已选中 <span class=\"gm-text-cyan-500\">{{ checkedNumber }}</span> 项\n </p>\n </div>\n\n <div class=\"custom-content gm-text-sm\">\n <ul\n class=\"gm-flex gm-items-center gm-border gm-border-y-0 gm-border-gray-200 gm-bg-gray-200 gm-font-semibold gm-text-[#333]\"\n :style=\"titleStyle\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"checkedAll\" :indeterminate=\"isIndeterminate\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-white\">列名</li>\n <li class=\"gm-w-36 gm-border-l gm-border-white\">列宽</li>\n <li class=\"gm-w-24 gm-border-l gm-border-white\">固定</li>\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-border-l gm-border-white\">拖地调整顺序</li>\n </ul>\n <transition-group class=\"custom-group gm-border-b gm-border-gray-200 gm-text-gray-600\" name=\"sort\" tag=\"div\">\n <template v-for=\"item in clonedColPropsList\" :key=\"item.prop\">\n <ul v-if=\"item.type === 'edit'\" class=\"gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200\">\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"item.isShow\" disabled />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-gray-200\">操作</li>\n <li class=\"gm-w-36 gm-border-l gm-border-gray-200 gm-px-2\">\n <gm-input v-model=\"item.width\" class=\"gm-w-full\" placeholder=\"设置宽度\" clearable />\n </li>\n <li class=\"gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200\" />\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200\" />\n </ul>\n <ul\n v-else\n class=\"gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200\"\n :draggable=\"dragHeader\"\n @dragstart=\"dragstart(item)\"\n @dragenter=\"dragenter(item, $event)\"\n @dragend=\"dragend\"\n @dragover=\"dragover($event)\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"item.isShow\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-gray-200\">{{ item.label }}</li>\n <li class=\"gm-w-36 gm-border-l gm-border-gray-200 gm-px-2\">\n <gm-input v-model=\"item.width\" class=\"gm-w-full\" placeholder=\"设置宽度\" clearable />\n </li>\n <li class=\"gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200\">\n <gm-tooltip effect=\"dark\" content=\"固定在左侧\" placement=\"top\">\n <div class=\"gm-cursor-pointer\" @click=\"handleToogleFixed(item, 'left')\">\n <svg\n t=\"1748946230868\"\n class=\"icon\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"15386\"\n width=\"18\"\n height=\"18\"\n >\n <path\n d=\"M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z\"\n p-id=\"15387\"\n :fill=\"item.fixed === 'left' ? '#0000FF' : '#bbbbbb'\"\n />\n </svg>\n </div>\n </gm-tooltip>\n <gm-tooltip effect=\"dark\" content=\"固定在右侧\" placement=\"top\">\n <div class=\"gm-rotate-90 gm-cursor-pointer\" @click=\"handleToogleFixed(item, 'right')\">\n <svg\n t=\"1748946230868\"\n class=\"icon\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"15386\"\n width=\"18\"\n height=\"18\"\n >\n <path\n d=\"M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z\"\n p-id=\"15387\"\n :fill=\"item.fixed === 'right' ? '#0000FF' : '#bbbbbb'\"\n />\n </svg>\n </div>\n </gm-tooltip>\n </li>\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200\">\n <el-icon color=\"#0000FF\"><Rank /></el-icon>\n </li>\n </ul>\n </template>\n </transition-group>\n </div>\n\n <template v-if=\"!disabledRemoteCol\" #footer>\n <div class=\"gm-flex gm-justify-between\">\n <div>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onReset\">重置</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"success\" size=\"default\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n <div>\n <gm-button :loading=\"submitLoading\" size=\"default\" @click=\"isShowDrawer = false\">取消</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"submitSettings()\">保存</gm-button>\n </div>\n </div>\n </template>\n </gm-drawer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { useCloned } from '@vueuse/core';\nimport { useCustomSettingsStore } from '@giime/hooks';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { cloneDeep } from 'lodash-es';\nimport { InfoFilled, Rank } from '@element-plus/icons-vue';\nimport { tableCustomHeaderProps } from './tableCustomHeader';\nimport type { CheckboxValueType } from 'element-plus';\nimport type { TableColumnProProps } from '../../tablePro/tableColumnPro/tableColumnPro';\n\ndefineOptions({\n name: 'GmTableCustomHeader',\n});\n\nconst props = defineProps(tableCustomHeaderProps);\nconst emit = defineEmits([\"updateColumns\"]);\n/**抽屉显示 */\nconst isShowDrawer = defineModel<boolean>('isShowDrawer', {\n required: true,\n});\n\n/**自定义按钮 props列表 */\nconst colPropsList = defineModel<TableColumnProProps[]>('colPropsList', {\n required: true,\n});\nconst customSettingsStore = useCustomSettingsStore();\n\n/**\n * 数据是否初始化完成\n */\nconst isInited = ref(false);\n/**内部克隆一份,当点击保存时 应用修改的内容 */\nconst { cloned: clonedColPropsList, sync: syncPropsList } = useCloned(colPropsList);\n// 重新打开弹窗时, 克隆一份新数据\nwatch(isShowDrawer, newValue => {\n if (newValue) {\n clonedColPropsList.value = cloneDeep(colPropsList.value);\n }\n});\nconst customSettingsValue = computed<TableColumnProProps[]>(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);\nconst { cloned: clonedStore } = useCloned(customSettingsValue);\n\n/** 设置表头位置样式,调整表格对齐 */\nconst titleStyle = computed(() => {\n const h = props.colDefaultPropsList.length * 44;\n const H = document.documentElement.clientHeight || document.body.clientHeight;\n return h > H - 240 ? { paddingRight: '4px' } : { paddingRight: 0 };\n});\n\n// 更新选中数据\nconst updateColumns = () => {\n colPropsList.value = clonedColPropsList.value;\n};\n// 初始化数据\nconst initColumns = async () => {\n try {\n await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });\n } catch {}\n\n const colnedDefaultColumns = cloneDeep(props.colDefaultPropsList);\n\n let columns = colnedDefaultColumns;\n\n if (clonedStore.value.length) {\n columns = [];\n clonedStore.value.forEach(it => {\n const index = colnedDefaultColumns.findIndex(v => v.prop === it.prop);\n if (index > -1) {\n const item = colnedDefaultColumns.splice(index, 1)[0];\n\n columns.push({\n ...it,\n ...item,\n isShow: it.isShow,\n width: it.width,\n fixed: it.fixed,\n });\n }\n });\n clonedColPropsList.value = [...columns, ...colnedDefaultColumns];\n }\n updateColumns();\n isInited.value = true;\n};\n\n// 已选中条数\nconst checkedNumber = computed(() => {\n return clonedColPropsList.value.filter(v => v.isShow).length;\n});\n// 全选\nconst checkedAll = computed({\n get() {\n return clonedColPropsList.value.filter(it => it.type !== 'edit').every(v => v.isShow);\n },\n set(value: CheckboxValueType) {\n clonedColPropsList.value.forEach(v => {\n if (v.type !== 'edit') {\n v.isShow = Boolean(value);\n }\n });\n },\n});\n// 半选\nconst isIndeterminate = computed(() => !checkedAll.value && clonedColPropsList.value.filter(it => it.type !== 'edit').some(v => v.isShow));\n\n/** 拖拽开始 */\nconst start = ref<TableColumnProProps>();\nconst end = ref<TableColumnProProps>();\nconst dragstart = (item: TableColumnProProps) => {\n if (!props.dragHeader) return;\n document.body.style.userSelect = 'none';\n start.value = item;\n};\n/** 拖拽过程 */\nconst dragenter = (item: TableColumnProProps, e: DragEvent) => {\n if (!props.dragHeader) return;\n end.value = item;\n e.preventDefault();\n};\n/** 拖拽结束 */\nconst dragend = () => {\n if (!props.dragHeader) return;\n document.body.style.userSelect = 'text';\n if (start.value === end.value) return;\n if (start.value && end.value) {\n const oldIndex: number = clonedColPropsList.value.findIndex(v => v.prop === start.value?.prop);\n const newIndex: number = clonedColPropsList.value.findIndex(v => v.prop === end.value?.prop);\n const newItems = [...clonedColPropsList.value];\n // 删除老节点\n newItems.splice(oldIndex, 1);\n\n // 目标位置新增节点\n newItems.splice(newIndex, 0, start.value);\n clonedColPropsList.value = [...newItems];\n }\n};\n/** 拖拽事件 */\nconst dragover = (e: DragEvent) => {\n if (!props.dragHeader) return;\n e.preventDefault();\n};\n\nconst submitLoading = ref(false);\n// 保存\nconst submitSettings = async (options?: { hiddenMessage?: boolean }) => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.keyWord,\n value: JSON.stringify(clonedColPropsList.value),\n type: props.type,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n updateColumns();\n if (!options?.hiddenMessage) {\n GmMessage.success('保存成功');\n }\n emit('updateColumns');\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n submitLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.keyWord,\n type: props.type,\n });\n submitLoading.value = false;\n initColumns();\n GmMessage.success('同步成功');\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n// 重置\nconst onReset = () => {\n clonedColPropsList.value = cloneDeep(props.colDefaultPropsList);\n};\n// 点击固定列\nconst handleToogleFixed = (row: TableColumnProProps, fixed: string) => {\n if (row.fixed === fixed) {\n row.fixed = false;\n return;\n }\n row.fixed = fixed;\n};\n\nonMounted(() => {\n if (props.disabledRemoteCol) {\n isInited.value = true;\n } else {\n initColumns();\n }\n});\ndefineExpose({\n isInited,\n submitSettings,\n syncPropsList,\n});\n</script>\n\n<style lang=\"scss\">\n.table-custom-header-drawer {\n .el-drawer__header {\n padding: 10px 15px;\n margin: 0;\n border-bottom: 1px solid #ebeef5;\n }\n .el-drawer__title {\n font-size: 14px;\n color: #333;\n }\n .el-drawer__body {\n padding: 15px;\n }\n .el-drawer__footer {\n padding: 10px 15px;\n border-top: 1px solid #ebeef5;\n }\n .el-checkbox {\n display: flex;\n align-items: center;\n }\n .el-input__inner {\n text-align: center;\n }\n .el-input__suffix {\n position: absolute;\n right: 10px;\n }\n .custom-content {\n li {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 44px;\n }\n }\n .custom-group {\n max-height: calc(100vh - 226px);\n overflow-y: auto;\n\n &::-webkit-scrollbar {\n /*滚动条整体样式*/\n width: 4px;\n /*高宽分别对应横竖滚动条的尺寸*/\n height: 1px;\n }\n\n &::-webkit-scrollbar-thumb {\n /*滚动条里面小方块*/\n border-radius: 10px;\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);\n background: #999;\n }\n\n &::-webkit-scrollbar-track {\n /*滚动条里面轨道*/\n box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n background: #eee;\n }\n }\n}\n</style>\n"],"names":["_useModel","useCustomSettingsStore","ref","useCloned","watch","cloneDeep","computed","GmMessage","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"TableCustomHeader.vue2.js","sources":["../../../../../../../../packages/components/src/composite/tableCustom/tableCustomHeader/TableCustomHeader.vue"],"sourcesContent":["<template>\n <gm-drawer\n v-model=\"isShowDrawer\"\n title=\"自定义表头\"\n direction=\"rtl\"\n size=\"600px\"\n append-to-body\n destroy-on-close\n class=\"table-custom-header-drawer\"\n >\n <div class=\"gm-mb-4 gm-flex gm-items-center gm-rounded gm-border gm-border-cyan-300 gm-bg-cyan-50 gm-p-2 gm-text-sm gm-text-[#777]\">\n <gm-icon><InfoFilled /></gm-icon>\n <p class=\"gm-ml-2\">\n 已选中 <span class=\"gm-text-cyan-500\">{{ checkedNumber }}</span> 项\n </p>\n </div>\n\n <div class=\"custom-content gm-text-sm\">\n <ul\n class=\"gm-flex gm-items-center gm-border gm-border-y-0 gm-border-gray-200 gm-bg-gray-200 gm-font-semibold gm-text-[#333]\"\n :style=\"titleStyle\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"checkedAll\" :indeterminate=\"isIndeterminate\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-white\">列名</li>\n <li class=\"gm-w-36 gm-border-l gm-border-white\">列宽</li>\n <li class=\"gm-w-24 gm-border-l gm-border-white\">固定</li>\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-border-l gm-border-white\">拖地调整顺序</li>\n </ul>\n <transition-group class=\"custom-group gm-border-b gm-border-gray-200 gm-text-gray-600\" name=\"sort\" tag=\"div\">\n <template v-for=\"item in clonedColPropsList\" :key=\"item.prop\">\n <ul v-if=\"item.type === 'edit'\" class=\"gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200\">\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"item.isShow\" disabled />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-gray-200\">操作</li>\n <li class=\"gm-w-36 gm-border-l gm-border-gray-200 gm-px-2\">\n <gm-input v-model=\"item.width\" class=\"gm-w-full\" placeholder=\"设置宽度\" clearable />\n </li>\n <li class=\"gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200\" />\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200\" />\n </ul>\n <ul\n v-else\n class=\"gm-flex gm-items-center gm-border gm-border-b-0 gm-border-gray-200\"\n :draggable=\"dragHeader\"\n @dragstart=\"dragstart(item)\"\n @dragenter=\"dragenter(item, $event)\"\n @dragend=\"dragend\"\n @dragover=\"dragover($event)\"\n >\n <li class=\"gm-flex gm-w-14 gm-justify-center\">\n <gm-checkbox v-model=\"item.isShow\" />\n </li>\n <li class=\"gm-flex-1 gm-border-l gm-border-gray-200\">{{ item.label }}</li>\n <li class=\"gm-w-36 gm-border-l gm-border-gray-200 gm-px-2\">\n <gm-input v-model=\"item.width\" class=\"gm-w-full\" placeholder=\"设置宽度\" clearable />\n </li>\n <li class=\"gm-flex gm-w-24 gm-items-center gm-justify-center gm-gap-4 gm-border-l gm-border-gray-200\">\n <gm-tooltip effect=\"dark\" content=\"固定在左侧\" placement=\"top\">\n <div class=\"gm-cursor-pointer\" @click=\"handleToogleFixed(item, 'left')\">\n <svg\n t=\"1748946230868\"\n class=\"icon\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"15386\"\n width=\"18\"\n height=\"18\"\n >\n <path\n d=\"M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z\"\n p-id=\"15387\"\n :fill=\"item.fixed === 'left' ? '#217efd' : '#bbbbbb'\"\n />\n </svg>\n </div>\n </gm-tooltip>\n <gm-tooltip effect=\"dark\" content=\"固定在右侧\" placement=\"top\">\n <div class=\"gm-rotate-90 gm-cursor-pointer\" @click=\"handleToogleFixed(item, 'right')\">\n <svg\n t=\"1748946230868\"\n class=\"icon\"\n viewBox=\"0 0 1024 1024\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n p-id=\"15386\"\n width=\"18\"\n height=\"18\"\n >\n <path\n d=\"M958.9 895.8L732 668.9l-63 63 227 226.9 64 1.3zM792.3 379l-102.5-12.7-311-284.7c-25.2-24-65.7-23.4-90.1 1l-206 205.9c-24.6 24.6-25 65.1-1.1 90.2l284.8 311.1 12.7 102.5c0 74.7 55.1 104.7 108 51.7L844 487.1c53-53 23.1-108.1-51.7-108.1zM439.7 610.1c-4.2 4.2-9.7 6.4-15.6 6.4s-11.4-2.3-15.7-6.5l-254-254.3c-8.4-8.4-8.6-22.5-0.2-31l43.7-45c4.2-4.4 9.7-6.7 15.9-6.7 5.7 0 11.2 2.3 15.3 6.3 4.3 4 6.5 9.6 6.8 15.4 0.1 5.9-2.1 11.5-6.3 15.8l-28.5 29.3 238.6 239c8.6 8.6 8.5 22.6 0 31.3z\"\n p-id=\"15387\"\n :fill=\"item.fixed === 'right' ? '#217efd' : '#bbbbbb'\"\n />\n </svg>\n </div>\n </gm-tooltip>\n </li>\n <li v-if=\"dragHeader\" class=\"gm-w-28 gm-cursor-grabbing gm-border-l gm-border-gray-200\">\n <el-icon color=\"#217efd\"><Rank /></el-icon>\n </li>\n </ul>\n </template>\n </transition-group>\n </div>\n\n <template v-if=\"!disabledRemoteCol\" #footer>\n <div class=\"gm-flex gm-justify-between\">\n <div>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"onReset\">重置</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"success\" size=\"default\" @click=\"onSyncRemote\">同步</gm-button>\n </div>\n <div>\n <gm-button :loading=\"submitLoading\" size=\"default\" @click=\"isShowDrawer = false\">取消</gm-button>\n <gm-button :loading=\"submitLoading\" type=\"primary\" size=\"default\" @click=\"submitSettings()\">保存</gm-button>\n </div>\n </div>\n </template>\n </gm-drawer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, watch } from 'vue';\nimport { useCloned } from '@vueuse/core';\nimport { useCustomSettingsStore } from '@giime/hooks';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { cloneDeep } from 'lodash-es';\nimport { InfoFilled, Rank } from '@element-plus/icons-vue';\nimport { tableCustomHeaderProps } from './tableCustomHeader';\nimport type { CheckboxValueType } from 'element-plus';\nimport type { TableColumnProProps } from '../../tablePro/tableColumnPro/tableColumnPro';\n\ndefineOptions({\n name: 'GmTableCustomHeader',\n});\n\nconst props = defineProps(tableCustomHeaderProps);\nconst emit = defineEmits([\"updateColumns\"]);\n/**抽屉显示 */\nconst isShowDrawer = defineModel<boolean>('isShowDrawer', {\n required: true,\n});\n\n/**自定义按钮 props列表 */\nconst colPropsList = defineModel<TableColumnProProps[]>('colPropsList', {\n required: true,\n});\nconst customSettingsStore = useCustomSettingsStore();\n\n/**\n * 数据是否初始化完成\n */\nconst isInited = ref(false);\n/**内部克隆一份,当点击保存时 应用修改的内容 */\nconst { cloned: clonedColPropsList, sync: syncPropsList } = useCloned(colPropsList);\n// 重新打开弹窗时, 克隆一份新数据\nwatch(isShowDrawer, newValue => {\n if (newValue) {\n clonedColPropsList.value = cloneDeep(colPropsList.value);\n }\n});\nconst customSettingsValue = computed<TableColumnProProps[]>(() => customSettingsStore.customSettings[props.keyWord]?.[props.type] || []);\nconst { cloned: clonedStore } = useCloned(customSettingsValue);\n\n/** 设置表头位置样式,调整表格对齐 */\nconst titleStyle = computed(() => {\n const h = props.colDefaultPropsList.length * 44;\n const H = document.documentElement.clientHeight || document.body.clientHeight;\n return h > H - 240 ? { paddingRight: '4px' } : { paddingRight: 0 };\n});\n\n// 更新选中数据\nconst updateColumns = () => {\n colPropsList.value = clonedColPropsList.value;\n};\n// 初始化数据\nconst initColumns = async () => {\n try {\n await customSettingsStore.getCustomSettings({ key_word: props.keyWord, type: props.type }, { defaultValue: [] });\n } catch {}\n\n const colnedDefaultColumns = cloneDeep(props.colDefaultPropsList);\n\n let columns = colnedDefaultColumns;\n\n if (clonedStore.value.length) {\n columns = [];\n clonedStore.value.forEach(it => {\n const index = colnedDefaultColumns.findIndex(v => v.prop === it.prop);\n if (index > -1) {\n const item = colnedDefaultColumns.splice(index, 1)[0];\n\n columns.push({\n ...it,\n ...item,\n isShow: it.isShow,\n width: it.width,\n fixed: it.fixed,\n });\n }\n });\n clonedColPropsList.value = [...columns, ...colnedDefaultColumns];\n }\n updateColumns();\n isInited.value = true;\n};\n\n// 已选中条数\nconst checkedNumber = computed(() => {\n return clonedColPropsList.value.filter(v => v.isShow).length;\n});\n// 全选\nconst checkedAll = computed({\n get() {\n return clonedColPropsList.value.filter(it => it.type !== 'edit').every(v => v.isShow);\n },\n set(value: CheckboxValueType) {\n clonedColPropsList.value.forEach(v => {\n if (v.type !== 'edit') {\n v.isShow = Boolean(value);\n }\n });\n },\n});\n// 半选\nconst isIndeterminate = computed(() => !checkedAll.value && clonedColPropsList.value.filter(it => it.type !== 'edit').some(v => v.isShow));\n\n/** 拖拽开始 */\nconst start = ref<TableColumnProProps>();\nconst end = ref<TableColumnProProps>();\nconst dragstart = (item: TableColumnProProps) => {\n if (!props.dragHeader) return;\n document.body.style.userSelect = 'none';\n start.value = item;\n};\n/** 拖拽过程 */\nconst dragenter = (item: TableColumnProProps, e: DragEvent) => {\n if (!props.dragHeader) return;\n end.value = item;\n e.preventDefault();\n};\n/** 拖拽结束 */\nconst dragend = () => {\n if (!props.dragHeader) return;\n document.body.style.userSelect = 'text';\n if (start.value === end.value) return;\n if (start.value && end.value) {\n const oldIndex: number = clonedColPropsList.value.findIndex(v => v.prop === start.value?.prop);\n const newIndex: number = clonedColPropsList.value.findIndex(v => v.prop === end.value?.prop);\n const newItems = [...clonedColPropsList.value];\n // 删除老节点\n newItems.splice(oldIndex, 1);\n\n // 目标位置新增节点\n newItems.splice(newIndex, 0, start.value);\n clonedColPropsList.value = [...newItems];\n }\n};\n/** 拖拽事件 */\nconst dragover = (e: DragEvent) => {\n if (!props.dragHeader) return;\n e.preventDefault();\n};\n\nconst submitLoading = ref(false);\n// 保存\nconst submitSettings = async (options?: { hiddenMessage?: boolean }) => {\n try {\n submitLoading.value = true;\n const { data } = await customSettingsStore.addCustomSettings({\n key_word: props.keyWord,\n value: JSON.stringify(clonedColPropsList.value),\n type: props.type,\n });\n submitLoading.value = false;\n if (data.code !== 200) {\n return;\n }\n updateColumns();\n if (!options?.hiddenMessage) {\n GmMessage.success('保存成功');\n }\n emit('updateColumns');\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n/**同步远程设置 */\nconst onSyncRemote = async () => {\n try {\n submitLoading.value = true;\n await customSettingsStore.syncRemoteSetting({\n key_word: props.keyWord,\n type: props.type,\n });\n submitLoading.value = false;\n initColumns();\n GmMessage.success('同步成功');\n } catch (e) {\n console.error(e);\n submitLoading.value = false;\n }\n};\n// 重置\nconst onReset = () => {\n clonedColPropsList.value = cloneDeep(props.colDefaultPropsList);\n};\n// 点击固定列\nconst handleToogleFixed = (row: TableColumnProProps, fixed: string) => {\n if (row.fixed === fixed) {\n row.fixed = false;\n return;\n }\n row.fixed = fixed;\n};\n\nonMounted(() => {\n if (props.disabledRemoteCol) {\n isInited.value = true;\n } else {\n initColumns();\n }\n});\ndefineExpose({\n isInited,\n submitSettings,\n syncPropsList,\n});\n</script>\n\n<style lang=\"scss\">\n.table-custom-header-drawer {\n .el-drawer__header {\n padding: 10px 15px;\n margin: 0;\n border-bottom: 1px solid #ebeef5;\n }\n .el-drawer__title {\n font-size: 14px;\n color: #333;\n }\n .el-drawer__body {\n padding: 15px;\n }\n .el-drawer__footer {\n padding: 10px 15px;\n border-top: 1px solid #ebeef5;\n }\n .el-checkbox {\n display: flex;\n align-items: center;\n }\n .el-input__inner {\n text-align: center;\n }\n .el-input__suffix {\n position: absolute;\n right: 10px;\n }\n .custom-content {\n li {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 44px;\n }\n }\n .custom-group {\n max-height: calc(100vh - 226px);\n overflow-y: auto;\n\n &::-webkit-scrollbar {\n /*滚动条整体样式*/\n width: 4px;\n /*高宽分别对应横竖滚动条的尺寸*/\n height: 1px;\n }\n\n &::-webkit-scrollbar-thumb {\n /*滚动条里面小方块*/\n border-radius: 10px;\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);\n background: #999;\n }\n\n &::-webkit-scrollbar-track {\n /*滚动条里面轨道*/\n box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);\n border-radius: 10px;\n background: #eee;\n }\n }\n}\n</style>\n"],"names":["_useModel","useCustomSettingsStore","ref","useCloned","watch","cloneDeep","computed","GmMessage","onMounted"],"mappings":"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"}
@@ -30,6 +30,7 @@ var base64 = require('../utils/src/crypto/base64.js');
30
30
  var number = require('../utils/src/number.js');
31
31
  var filterTreeByName = require('../utils/src/tree/filterTreeByName.js');
32
32
  var findChildrenItem = require('../utils/src/tree/findChildrenItem.js');
33
+ var flattenTree = require('../utils/src/tree/flattenTree.js');
33
34
  var index = require('../utils/src/pasteFile/index.js');
34
35
  var image = require('../utils/src/image.js');
35
36
  var array = require('../utils/src/array.js');
@@ -480,6 +481,7 @@ exports.uint8ArrayToBase64 = base64.uint8ArrayToBase64;
480
481
  exports.formatNumberWithCommas = number.formatNumberWithCommas;
481
482
  exports.filterTreeByName = filterTreeByName.filterTreeByName;
482
483
  exports.findChildrenItem = findChildrenItem.findChildrenItem;
484
+ exports.flattenTree = flattenTree.flattenTree;
483
485
  exports.PasteFileError = index.PasteFileError;
484
486
  exports.generateFileName = index.generateFileName;
485
487
  exports.handlePasteEvent = index.handlePasteEvent;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../packages/giime/index.ts"],"sourcesContent":["import installer from './defaults';\nimport './tailwind.css';\nexport * from '@giime/utils';\nexport * from '@giime/components';\nexport * from '@giime/hooks';\n// export * from '@giime/api'; // 用户通过giime/es/api 导入类型\nexport const install = installer.install;\nexport const version = installer.version;\nexport default installer;\n"],"names":["installer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAUA,gBAAA,CAAU;AAC1B,MAAM,UAAUA,gBAAA,CAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../packages/giime/index.ts"],"sourcesContent":["import installer from './defaults';\nimport './tailwind.css';\nexport * from '@giime/utils';\nexport * from '@giime/components';\nexport * from '@giime/hooks';\n// export * from '@giime/api'; // 用户通过giime/es/api 导入类型\nexport const install = installer.install;\nexport const version = installer.version;\nexport default installer;\n"],"names":["installer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMO,MAAM,UAAUA,gBAAA,CAAU;AAC1B,MAAM,UAAUA,gBAAA,CAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.8.1";
1
+ export declare const version = "0.8.3";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.8.1-beta.1";
3
+ const version = "0.8.2";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.8.1-beta.1';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAA,GAAU;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.8.2';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAA,GAAU;;;;"}
package/lib/index.css CHANGED
@@ -883,49 +883,24 @@ video {
883
883
  .gm-group:hover .group-hover\:gm-block {
884
884
  display: block;
885
885
  }
886
- .gm-flex-center[data-v-c17deec9] {
887
- align-items: center;
888
- }
889
-
890
- .gm-flex-justify-between[data-v-c17deec9] {
891
- justify-content: space-between;
892
- }
893
- .circular[data-v-d7b04fae] {
894
- animation: loading-rotate-d7b04fae 2s linear infinite;
886
+ .gm-number-interval-single[data-v-4e6f4d6f] {
887
+ border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
888
+ box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
889
+ background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
895
890
  }
896
-
897
- .path[data-v-d7b04fae] {
898
- animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
899
- stroke-dasharray: 90, 150;
900
- stroke-dashoffset: 0;
901
- stroke: var(--el-color-primary);
902
- stroke-linecap: round;
891
+ .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
892
+ box-shadow: none;
893
+ background: none;
903
894
  }
904
895
 
905
- @keyframes loading-rotate-d7b04fae {
906
- to {
907
- transform: rotate(360deg);
908
- }
909
- }
910
- @keyframes loading-dash-d7b04fae {
911
- 0% {
912
- stroke-dasharray: 1, 200;
913
- stroke-dashoffset: 0;
914
- }
915
- 50% {
916
- stroke-dasharray: 90, 150;
917
- stroke-dashoffset: -40px;
918
- }
919
- 100% {
920
- stroke-dasharray: 90, 150;
921
- stroke-dashoffset: -120px;
922
- }
896
+ .gm-number-interval-close[data-v-4e6f4d6f] {
897
+ display: none;
898
+ color: var(--el-input-icon-color, var(--el-text-color-placeholder));
923
899
  }
924
900
 
925
- .gm-range-number .el-form-item[data-v-1ae16d96] {
926
- margin: 0;
901
+ .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
902
+ display: flex;
927
903
  }
928
-
929
904
  .gm-upload-pro-preview-dialog[data-v-80b383d8] [data-v-80b383d8] .el-dialog__body {
930
905
  padding: 0;
931
906
  }
@@ -972,6 +947,13 @@ video {
972
947
  .gm-upload-pro-file-disabled .el-upload-list__item-status-label {
973
948
  display: none;
974
949
  }
950
+ .gm-flex-center[data-v-c17deec9] {
951
+ align-items: center;
952
+ }
953
+
954
+ .gm-flex-justify-between[data-v-c17deec9] {
955
+ justify-content: space-between;
956
+ }
975
957
  [data-v-d3111183] .gmSearchForm .el-form-item {
976
958
  margin-right: 0;
977
959
  margin-bottom: 4px;
@@ -999,88 +981,48 @@ video {
999
981
  [data-v-2c351ff8] .gmTableNoBorder .el-table__border-left-patch {
1000
982
  height: 0;
1001
983
  }
1002
-
1003
- .pagination-container[data-v-47d35e7b] {
1004
- background: #fff;
1005
- padding-top: 12px;
1006
- }
1007
- .pagination-container.hidden[data-v-47d35e7b] {
1008
- display: none;
984
+ .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
985
+ padding: 0;
1009
986
  }
1010
987
 
1011
- .gm-number-interval-single[data-v-4e6f4d6f] {
1012
- border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
1013
- box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
1014
- background-color: var(--el-input-bg-color, var(--el-fill-color-blank));
988
+ .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
989
+ width: auto;
990
+ height: auto;
1015
991
  }
1016
- .gm-number-interval-single[data-v-4e6f4d6f] [data-v-4e6f4d6f] .el-input__wrapper {
1017
- box-shadow: none;
1018
- background: none;
992
+ .gm-upload-file {
993
+ line-height: normal;
1019
994
  }
1020
-
1021
- .gm-number-interval-close[data-v-4e6f4d6f] {
1022
- display: none;
1023
- color: var(--el-input-icon-color, var(--el-text-color-placeholder));
995
+ .gm-upload-file .el-checkbox {
996
+ position: absolute;
997
+ left: 10px;
998
+ top: 0;
999
+ z-index: 9;
1024
1000
  }
1025
-
1026
- .gm-number-interval-single[data-v-4e6f4d6f]:hover .gm-number-interval-close[data-v-4e6f4d6f] {
1027
- display: flex;
1001
+ .gm-upload-file .el-upload-list--picture-card {
1002
+ gap: 10px;
1028
1003
  }
1029
- @charset "UTF-8";
1030
- .custom-operate-drawer .el-drawer__header {
1031
- padding: 10px 15px;
1004
+ .gm-upload-file .el-upload-list__item {
1032
1005
  margin: 0;
1033
- border-bottom: 1px solid #ebeef5;
1034
- }
1035
- .custom-operate-drawer .el-drawer__title {
1036
- font-size: 14px;
1037
- color: #333;
1038
1006
  }
1039
- .custom-operate-drawer .el-drawer__body {
1040
- padding: 15px;
1041
- }
1042
- .custom-operate-drawer .el-drawer__footer {
1043
- padding: 10px 15px;
1044
- border-top: 1px solid #ebeef5;
1045
- }
1046
- .custom-operate-drawer .el-checkbox {
1047
- display: flex;
1048
- align-items: center;
1049
- }
1050
- .custom-operate-drawer .el-input__inner {
1051
- text-align: center;
1052
- }
1053
- .custom-operate-drawer .el-input__suffix {
1054
- position: absolute;
1055
- right: 10px;
1007
+ .gm-upload-file .el-upload-list__item-file-name {
1008
+ line-height: normal;
1056
1009
  }
1057
- .custom-operate-drawer .custom-content li {
1010
+ .gm-upload-file .el-upload-dragger {
1011
+ padding: 0;
1012
+ border: none;
1013
+ width: 100%;
1014
+ height: 100%;
1058
1015
  display: flex;
1059
- align-items: center;
1060
- justify-content: center;
1061
- height: 44px;
1062
- }
1063
- .custom-operate-drawer .custom-group {
1064
- max-height: calc(100vh - 226px);
1065
- overflow-y: auto;
1066
1016
  }
1067
- .custom-operate-drawer .custom-group::-webkit-scrollbar {
1068
- /*滚动条整体样式*/
1069
- width: 4px;
1070
- /*高宽分别对应横竖滚动条的尺寸*/
1071
- height: 1px;
1017
+ .gm-upload-file .el-upload--picture-card {
1018
+ border: none;
1072
1019
  }
1073
- .custom-operate-drawer .custom-group::-webkit-scrollbar-thumb {
1074
- /*滚动条里面小方块*/
1075
- border-radius: 10px;
1076
- box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
1077
- background: #999;
1020
+
1021
+ .gm-upload-file-disabled .el-upload--picture-card {
1022
+ display: none;
1078
1023
  }
1079
- .custom-operate-drawer .custom-group::-webkit-scrollbar-track {
1080
- /*滚动条里面轨道*/
1081
- box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
1082
- border-radius: 10px;
1083
- background: #eee;
1024
+ .gm-upload-file-disabled .el-upload-list__item-status-label {
1025
+ display: none;
1084
1026
  }
1085
1027
  [data-v-98c2e804] .gmTableNoBorder .el-table__body .el-table__cell {
1086
1028
  border-right: none;
@@ -1105,6 +1047,42 @@ video {
1105
1047
  [data-v-98c2e804] .gmTableNoBorder .el-table__border-left-patch {
1106
1048
  height: 0;
1107
1049
  }
1050
+
1051
+ .gm-range-number .el-form-item[data-v-1ae16d96] {
1052
+ margin: 0;
1053
+ }
1054
+
1055
+ .circular[data-v-d7b04fae] {
1056
+ animation: loading-rotate-d7b04fae 2s linear infinite;
1057
+ }
1058
+
1059
+ .path[data-v-d7b04fae] {
1060
+ animation: loading-dash-d7b04fae 1.5s ease-in-out infinite;
1061
+ stroke-dasharray: 90, 150;
1062
+ stroke-dashoffset: 0;
1063
+ stroke: var(--el-color-primary);
1064
+ stroke-linecap: round;
1065
+ }
1066
+
1067
+ @keyframes loading-rotate-d7b04fae {
1068
+ to {
1069
+ transform: rotate(360deg);
1070
+ }
1071
+ }
1072
+ @keyframes loading-dash-d7b04fae {
1073
+ 0% {
1074
+ stroke-dasharray: 1, 200;
1075
+ stroke-dashoffset: 0;
1076
+ }
1077
+ 50% {
1078
+ stroke-dasharray: 90, 150;
1079
+ stroke-dashoffset: -40px;
1080
+ }
1081
+ 100% {
1082
+ stroke-dasharray: 90, 150;
1083
+ stroke-dashoffset: -120px;
1084
+ }
1085
+ }
1108
1086
  @charset "UTF-8";
1109
1087
  .table-custom-header-drawer .el-drawer__header {
1110
1088
  padding: 10px 15px;
@@ -1161,46 +1139,67 @@ video {
1161
1139
  border-radius: 10px;
1162
1140
  background: #eee;
1163
1141
  }
1164
- .gm-upload-preview-dialog[data-v-312f9322] [data-v-312f9322] .el-dialog__body {
1165
- padding: 0;
1142
+ @charset "UTF-8";
1143
+ .custom-operate-drawer .el-drawer__header {
1144
+ padding: 10px 15px;
1145
+ margin: 0;
1146
+ border-bottom: 1px solid #ebeef5;
1166
1147
  }
1167
-
1168
- .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload-list__item, .gm-upload-file-picture-card[data-v-312f9322] [data-v-312f9322] .el-upload--picture-card {
1169
- width: auto;
1170
- height: auto;
1148
+ .custom-operate-drawer .el-drawer__title {
1149
+ font-size: 14px;
1150
+ color: #333;
1171
1151
  }
1172
- .gm-upload-file {
1173
- line-height: normal;
1152
+ .custom-operate-drawer .el-drawer__body {
1153
+ padding: 15px;
1174
1154
  }
1175
- .gm-upload-file .el-checkbox {
1176
- position: absolute;
1177
- left: 10px;
1178
- top: 0;
1179
- z-index: 9;
1155
+ .custom-operate-drawer .el-drawer__footer {
1156
+ padding: 10px 15px;
1157
+ border-top: 1px solid #ebeef5;
1180
1158
  }
1181
- .gm-upload-file .el-upload-list--picture-card {
1182
- gap: 10px;
1159
+ .custom-operate-drawer .el-checkbox {
1160
+ display: flex;
1161
+ align-items: center;
1183
1162
  }
1184
- .gm-upload-file .el-upload-list__item {
1185
- margin: 0;
1163
+ .custom-operate-drawer .el-input__inner {
1164
+ text-align: center;
1186
1165
  }
1187
- .gm-upload-file .el-upload-list__item-file-name {
1188
- line-height: normal;
1166
+ .custom-operate-drawer .el-input__suffix {
1167
+ position: absolute;
1168
+ right: 10px;
1189
1169
  }
1190
- .gm-upload-file .el-upload-dragger {
1191
- padding: 0;
1192
- border: none;
1193
- width: 100%;
1194
- height: 100%;
1170
+ .custom-operate-drawer .custom-content li {
1195
1171
  display: flex;
1172
+ align-items: center;
1173
+ justify-content: center;
1174
+ height: 44px;
1196
1175
  }
1197
- .gm-upload-file .el-upload--picture-card {
1198
- border: none;
1176
+ .custom-operate-drawer .custom-group {
1177
+ max-height: calc(100vh - 226px);
1178
+ overflow-y: auto;
1179
+ }
1180
+ .custom-operate-drawer .custom-group::-webkit-scrollbar {
1181
+ /*滚动条整体样式*/
1182
+ width: 4px;
1183
+ /*高宽分别对应横竖滚动条的尺寸*/
1184
+ height: 1px;
1185
+ }
1186
+ .custom-operate-drawer .custom-group::-webkit-scrollbar-thumb {
1187
+ /*滚动条里面小方块*/
1188
+ border-radius: 10px;
1189
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.1);
1190
+ background: #999;
1191
+ }
1192
+ .custom-operate-drawer .custom-group::-webkit-scrollbar-track {
1193
+ /*滚动条里面轨道*/
1194
+ box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
1195
+ border-radius: 10px;
1196
+ background: #eee;
1199
1197
  }
1200
1198
 
1201
- .gm-upload-file-disabled .el-upload--picture-card {
1202
- display: none;
1199
+ .pagination-container[data-v-47d35e7b] {
1200
+ background: #fff;
1201
+ padding-top: 12px;
1203
1202
  }
1204
- .gm-upload-file-disabled .el-upload-list__item-status-label {
1203
+ .pagination-container.hidden[data-v-47d35e7b] {
1205
1204
  display: none;
1206
- }
1205
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -34,6 +34,7 @@ var sha1 = require('./src/crypto/sha1.js');
34
34
  var base64 = require('./src/crypto/base64.js');
35
35
  var filterTreeByName = require('./src/tree/filterTreeByName.js');
36
36
  var findChildrenItem = require('./src/tree/findChildrenItem.js');
37
+ var flattenTree = require('./src/tree/flattenTree.js');
37
38
  var number$1 = require('./src/regexPatterns/number.js');
38
39
  var url$1 = require('./src/regexPatterns/url.js');
39
40
 
@@ -154,6 +155,7 @@ exports.stringToBase64URI = base64.stringToBase64URI;
154
155
  exports.uint8ArrayToBase64 = base64.uint8ArrayToBase64;
155
156
  exports.filterTreeByName = filterTreeByName.filterTreeByName;
156
157
  exports.findChildrenItem = findChildrenItem.findChildrenItem;
158
+ exports.flattenTree = flattenTree.flattenTree;
157
159
  exports.integerPattern = number$1.integerPattern;
158
160
  exports.moneyPattern = number$1.moneyPattern;
159
161
  exports.nonNegativeIntegerPattern = number$1.nonNegativeIntegerPattern;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 将树形结构打平为一维数组
3
+ * @param treeData 树形数据数组
4
+ * @param option 配置项,可指定 children 字段名
5
+ * @returns 打平后的一维数组(不包含 children 字段)
6
+ */
7
+ export declare function flattenTree<T extends Record<string, any>>(treeData: T[], option?: {
8
+ children?: string;
9
+ }): T[];
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ function flattenTree(treeData, option) {
4
+ const childrenField = option?.children || "children";
5
+ const result = [];
6
+ function flatten(nodes) {
7
+ for (const node of nodes) {
8
+ const currentNode = node;
9
+ const { [childrenField]: children, ...rest } = currentNode;
10
+ result.push(rest);
11
+ if (children && Array.isArray(children)) {
12
+ flatten(children);
13
+ }
14
+ }
15
+ }
16
+ flatten(treeData);
17
+ return result;
18
+ }
19
+
20
+ exports.flattenTree = flattenTree;
21
+ //# sourceMappingURL=flattenTree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flattenTree.js","sources":["../../../../../../packages/utils/src/tree/flattenTree.ts"],"sourcesContent":["/**\n * 将树形结构打平为一维数组\n * @param treeData 树形数据数组\n * @param option 配置项,可指定 children 字段名\n * @returns 打平后的一维数组(不包含 children 字段)\n */\nexport function flattenTree<T extends Record<string, any>>(treeData: T[], option?: { children?: string }): T[] {\n const childrenField = option?.children || 'children';\n const result: any[] = [];\n\n /**\n * 递归打平节点\n * @param nodes 当前层级的节点数组\n */\n function flatten(nodes: T[]) {\n for (const node of nodes) {\n const currentNode = node as Record<string, any>;\n\n // 复制节点,排除 children 字段\n const { [childrenField]: children, ...rest } = currentNode;\n\n result.push(rest);\n\n // 如果有子节点,递归处理\n if (children && Array.isArray(children)) {\n flatten(children);\n }\n }\n }\n\n flatten(treeData);\n\n return result;\n}\n"],"names":[],"mappings":";;AAMO,SAAS,WAAA,CAA2C,UAAe,MAAA,EAAqC;AAC7G,EAAA,MAAM,aAAA,GAAgB,QAAQ,QAAA,IAAY,UAAA;AAC1C,EAAA,MAAM,SAAgB,EAAC;AAMvB,EAAA,SAAS,QAAQ,KAAA,EAAY;AAC3B,IAAA,KAAA,MAAW,QAAQ,KAAA,EAAO;AACxB,MAAA,MAAM,WAAA,GAAc,IAAA;AAGpB,MAAA,MAAM,EAAE,CAAC,aAAa,GAAG,QAAA,EAAU,GAAG,MAAK,GAAI,WAAA;AAE/C,MAAA,MAAA,CAAO,KAAK,IAAI,CAAA;AAGhB,MAAA,IAAI,QAAA,IAAY,KAAA,CAAM,OAAA,CAAQ,QAAQ,CAAA,EAAG;AACvC,QAAA,OAAA,CAAQ,QAAQ,CAAA;AAAA,MAClB;AAAA,IACF;AAAA,EACF;AAEA,EAAA,OAAA,CAAQ,QAAQ,CAAA;AAEhB,EAAA,OAAO,MAAA;AACT;;;;"}
@@ -1,2 +1,3 @@
1
1
  export * from './filterTreeByName';
2
2
  export * from './findChildrenItem';
3
+ export * from './flattenTree';
@@ -2,9 +2,11 @@
2
2
 
3
3
  var filterTreeByName = require('./filterTreeByName.js');
4
4
  var findChildrenItem = require('./findChildrenItem.js');
5
+ var flattenTree = require('./flattenTree.js');
5
6
 
6
7
 
7
8
 
8
9
  exports.filterTreeByName = filterTreeByName.filterTreeByName;
9
10
  exports.findChildrenItem = findChildrenItem.findChildrenItem;
11
+ exports.flattenTree = flattenTree.flattenTree;
10
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",
@@ -1,16 +1,16 @@
1
1
  @forward 'element-plus/theme-chalk/src/common/var.scss' with (
2
2
  $colors: (
3
3
  'primary': (
4
- 'base': #0000FF,
4
+ 'base': #217efd,
5
5
  ),
6
6
  'success': (
7
- 'base': #1BC85D,
7
+ 'base': #1ad598,
8
8
  ),
9
9
  'warning': (
10
- 'base': #FBC305,
10
+ 'base': #f9b959,
11
11
  ),
12
12
  'danger': (
13
- 'base': #FF6A70,
13
+ 'base': #ea3a3d,
14
14
  ),
15
15
  )
16
16
  );
@@ -5,7 +5,7 @@
5
5
  --gm-border-color-tertiary: #f2f2f2;
6
6
  --gm-border-radius-small: 4px;
7
7
  --gm-border-radius-large: 8px;
8
- --gm-color-primary: #0000ff;
8
+ --gm-color-primary: #217efd;
9
9
  --gm-color-primary-light-3: #3366ff;
10
10
  --gm-color-success: #19be6b;
11
11
  --gm-color-warning: #ff9900;
@@ -20,7 +20,7 @@
20
20
  --gm-text-color-primary: #666;
21
21
  --gm-text-color-secondary: #999;
22
22
  --gm-text-color-decs: #ccc;
23
- --gm-text-color-link: #0000ff;
23
+ --gm-text-color-link: #217efd;
24
24
  --gm-text-color-error: #f56c6c;
25
25
  --gm-text-color-warning: #ff9900;
26
26
  --gm-text-color-success: #19be6b;