From c941c1e373cfc9305b61a9ab8040fb1c123b0da6 Mon Sep 17 00:00:00 2001 From: Kagol Date: Wed, 13 Apr 2022 17:16:40 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor(shared):=20=E5=B0=86randomId?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E6=8A=BD=E7=A6=BB=E5=88=B0shared/utils?= =?UTF-8?q?=E7=9B=AE=E5=BD=95=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/devui-vue/devui/anchor/src/d-anchor-box.ts | 5 +++-- packages/devui-vue/devui/anchor/src/util.ts | 12 ------------ packages/devui-vue/devui/shared/util/index.ts | 8 ++++++++ packages/devui-vue/devui/shared/util/random-id.ts | 9 +++++++++ packages/devui-vue/devui/tree/src/core/utils.ts | 2 +- 5 files changed, 21 insertions(+), 15 deletions(-) create mode 100644 packages/devui-vue/devui/shared/util/index.ts create mode 100644 packages/devui-vue/devui/shared/util/random-id.ts diff --git a/packages/devui-vue/devui/anchor/src/d-anchor-box.ts b/packages/devui-vue/devui/anchor/src/d-anchor-box.ts index e9a2607bc3..5e069b1faa 100644 --- a/packages/devui-vue/devui/anchor/src/d-anchor-box.ts +++ b/packages/devui-vue/devui/anchor/src/d-anchor-box.ts @@ -1,5 +1,6 @@ -import { setActiveLink, onScroll, randomId } from './util'; -import { inBrowser } from '../../shared/util/common-var'; +import { setActiveLink, onScroll, } from './util'; +import { inBrowser, randomId } from '../../shared/util'; + export default { name: 'd-anchor-box', // 滚动区域 diff --git a/packages/devui-vue/devui/anchor/src/util.ts b/packages/devui-vue/devui/anchor/src/util.ts index c1660c29ad..2706f6e23e 100644 --- a/packages/devui-vue/devui/anchor/src/util.ts +++ b/packages/devui-vue/devui/anchor/src/util.ts @@ -184,15 +184,3 @@ function getAnchors(sidebarLinks: Array): Array sidebarLinks.some((sidebarLink: HTMLAnchorElement) => sidebarLink.hash === anchor.hash)); } - - -export const randomId = function(n=8): string { // 生成n位长度的字符串 - const str = 'abcdefghijklmnopqrstuvwxyz0123456789'; // 可以作为常量放到random外面 - let result = ''; - for(let i = 0; i < n; i++) { - result += str[parseInt((Math.random() * str.length).toString())]; - } - return result; -}; - - diff --git a/packages/devui-vue/devui/shared/util/index.ts b/packages/devui-vue/devui/shared/util/index.ts new file mode 100644 index 0000000000..0c4ce52621 --- /dev/null +++ b/packages/devui-vue/devui/shared/util/index.ts @@ -0,0 +1,8 @@ +export * from './class'; +export * from './common-var'; +export * from './debounce'; +export * from './dom'; +export * from './lock-scroll'; +export * from './props-util'; +export * from './random-id'; +export * from './set-style'; diff --git a/packages/devui-vue/devui/shared/util/random-id.ts b/packages/devui-vue/devui/shared/util/random-id.ts new file mode 100644 index 0000000000..2fdf9d18c0 --- /dev/null +++ b/packages/devui-vue/devui/shared/util/random-id.ts @@ -0,0 +1,9 @@ +export function randomId(n = 8): string { + // 生成n位长度的字符串 + const str = 'abcdefghijklmnopqrstuvwxyz0123456789'; // 可以作为常量放到random外面 + let result = ''; + for (let i = 0; i < n; i++) { + result += str[parseInt((Math.random() * str.length).toString())]; + } + return result; +} diff --git a/packages/devui-vue/devui/tree/src/core/utils.ts b/packages/devui-vue/devui/tree/src/core/utils.ts index d4fe887e1c..0f20559e8b 100644 --- a/packages/devui-vue/devui/tree/src/core/utils.ts +++ b/packages/devui-vue/devui/tree/src/core/utils.ts @@ -1,4 +1,4 @@ -import { randomId } from '../../../anchor/src/util'; +import { randomId } from '../../../shared/util'; import { IInnerTreeNode, ITreeNode } from './use-tree-types'; export function flatToNested(flatTree: IInnerTreeNode[]): ITreeNode[] { From cce002b0df7ae9096f521b976bbcfb523d287a97 Mon Sep 17 00:00:00 2001 From: Kagol Date: Wed, 13 Apr 2022 17:22:21 +0800 Subject: [PATCH 2/2] refactor: rename util to utils close #422 --- packages/devui-vue/devui/anchor/src/d-anchor-box.ts | 4 ++-- packages/devui-vue/devui/anchor/src/d-anchor-link.ts | 2 +- packages/devui-vue/devui/anchor/src/d-anchor.ts | 2 +- packages/devui-vue/devui/anchor/src/{util.ts => utils.ts} | 0 packages/devui-vue/devui/breadcrumb/src/breadcrumb.tsx | 2 +- packages/devui-vue/devui/drawer/src/use-drawer.ts | 2 +- packages/devui-vue/devui/dropdown/src/use-dropdown.ts | 2 +- packages/devui-vue/devui/modal/index.ts | 2 +- packages/devui-vue/devui/overlay/index.ts | 2 +- .../devui-vue/devui/shared/devui-directive/clickoutside.ts | 2 +- packages/devui-vue/devui/shared/{util => utils}/class.ts | 0 packages/devui-vue/devui/shared/{util => utils}/common-var.ts | 0 packages/devui-vue/devui/shared/{util => utils}/debounce.ts | 0 packages/devui-vue/devui/shared/{util => utils}/dom.ts | 0 packages/devui-vue/devui/shared/{util => utils}/index.ts | 0 .../devui-vue/devui/shared/{util => utils}/lock-scroll.ts | 0 packages/devui-vue/devui/shared/{util => utils}/props-util.ts | 0 packages/devui-vue/devui/shared/{util => utils}/random-id.ts | 0 packages/devui-vue/devui/shared/{util => utils}/set-style.ts | 0 .../devui-vue/devui/splitter/src/components/splitter-bar.tsx | 4 ++-- .../devui-vue/devui/splitter/src/components/splitter-pane.tsx | 4 ++-- packages/devui-vue/devui/theme/core/theme.ts | 2 +- packages/devui-vue/devui/tree/src/composables/use-checked.ts | 2 +- packages/devui-vue/devui/tree/src/core/utils.ts | 2 +- packages/devui-vue/devui/tree/src/tree.tsx | 2 +- packages/devui-vue/devui/tree/src/{util.ts => utils.ts} | 0 26 files changed, 18 insertions(+), 18 deletions(-) rename packages/devui-vue/devui/anchor/src/{util.ts => utils.ts} (100%) rename packages/devui-vue/devui/shared/{util => utils}/class.ts (100%) rename packages/devui-vue/devui/shared/{util => utils}/common-var.ts (100%) rename packages/devui-vue/devui/shared/{util => utils}/debounce.ts (100%) rename packages/devui-vue/devui/shared/{util => utils}/dom.ts (100%) rename packages/devui-vue/devui/shared/{util => utils}/index.ts (100%) rename packages/devui-vue/devui/shared/{util => utils}/lock-scroll.ts (100%) rename packages/devui-vue/devui/shared/{util => utils}/props-util.ts (100%) rename packages/devui-vue/devui/shared/{util => utils}/random-id.ts (100%) rename packages/devui-vue/devui/shared/{util => utils}/set-style.ts (100%) rename packages/devui-vue/devui/tree/src/{util.ts => utils.ts} (100%) diff --git a/packages/devui-vue/devui/anchor/src/d-anchor-box.ts b/packages/devui-vue/devui/anchor/src/d-anchor-box.ts index 5e069b1faa..b1506e1b67 100644 --- a/packages/devui-vue/devui/anchor/src/d-anchor-box.ts +++ b/packages/devui-vue/devui/anchor/src/d-anchor-box.ts @@ -1,5 +1,5 @@ -import { setActiveLink, onScroll, } from './util'; -import { inBrowser, randomId } from '../../shared/util'; +import { setActiveLink, onScroll, } from './utils'; +import { inBrowser, randomId } from '../../shared/utils'; export default { name: 'd-anchor-box', diff --git a/packages/devui-vue/devui/anchor/src/d-anchor-link.ts b/packages/devui-vue/devui/anchor/src/d-anchor-link.ts index 199fe5c42c..468b491859 100644 --- a/packages/devui-vue/devui/anchor/src/d-anchor-link.ts +++ b/packages/devui-vue/devui/anchor/src/d-anchor-link.ts @@ -1,4 +1,4 @@ -import { scrollToControl } from './util'; +import { scrollToControl } from './utils'; interface Bind { value: string; } diff --git a/packages/devui-vue/devui/anchor/src/d-anchor.ts b/packages/devui-vue/devui/anchor/src/d-anchor.ts index c82a6687d2..34e20194b0 100644 --- a/packages/devui-vue/devui/anchor/src/d-anchor.ts +++ b/packages/devui-vue/devui/anchor/src/d-anchor.ts @@ -1,4 +1,4 @@ -import {hightLightFn} from './util'; +import {hightLightFn} from './utils'; interface Bind { value: string; } diff --git a/packages/devui-vue/devui/anchor/src/util.ts b/packages/devui-vue/devui/anchor/src/utils.ts similarity index 100% rename from packages/devui-vue/devui/anchor/src/util.ts rename to packages/devui-vue/devui/anchor/src/utils.ts diff --git a/packages/devui-vue/devui/breadcrumb/src/breadcrumb.tsx b/packages/devui-vue/devui/breadcrumb/src/breadcrumb.tsx index 4310d6089f..8469441c6d 100644 --- a/packages/devui-vue/devui/breadcrumb/src/breadcrumb.tsx +++ b/packages/devui-vue/devui/breadcrumb/src/breadcrumb.tsx @@ -5,7 +5,7 @@ import { SourceConfig } from './breadcrumb-types'; import DBreadcrumbItem from './breadcrumb-item'; -import { getPropsSlot } from '../../shared/util/props-util'; +import { getPropsSlot } from '../../shared/utils/props-util'; import './breadcrumb.scss'; export default defineComponent({ diff --git a/packages/devui-vue/devui/drawer/src/use-drawer.ts b/packages/devui-vue/devui/drawer/src/use-drawer.ts index f328cc1201..6d0938873a 100644 --- a/packages/devui-vue/devui/drawer/src/use-drawer.ts +++ b/packages/devui-vue/devui/drawer/src/use-drawer.ts @@ -1,7 +1,7 @@ import { computed, onUnmounted, ref, watch } from 'vue'; import { onClickOutside } from '@vueuse/core'; import { DrawerEmit, DrawerProps, UseDrawerFn } from './drawer-types'; -import { lockScroll } from '../../shared/util/lock-scroll'; +import { lockScroll } from '../../shared/utils/lock-scroll'; export function useDrawer(props: DrawerProps, emit: DrawerEmit): UseDrawerFn { const drawerRef = ref(); diff --git a/packages/devui-vue/devui/dropdown/src/use-dropdown.ts b/packages/devui-vue/devui/dropdown/src/use-dropdown.ts index 15a9ddd2d0..f49d452791 100644 --- a/packages/devui-vue/devui/dropdown/src/use-dropdown.ts +++ b/packages/devui-vue/devui/dropdown/src/use-dropdown.ts @@ -1,6 +1,6 @@ import { watch, onMounted, onUnmounted, toRefs, computed, ref } from 'vue'; import type { Ref } from 'vue'; -import { getElement } from '../../shared/util/dom'; +import { getElement } from '../../shared/utils/dom'; import { UseDropdownProps, EmitEvent, DropdownProps, UseOverlayFn } from './dropdown-types'; const dropdownMap = new Map(); diff --git a/packages/devui-vue/devui/modal/index.ts b/packages/devui-vue/devui/modal/index.ts index a0e606eb9f..de9ddbbf10 100644 --- a/packages/devui-vue/devui/modal/index.ts +++ b/packages/devui-vue/devui/modal/index.ts @@ -4,7 +4,7 @@ import Header from './src/components/header'; import Body from './src/components/body'; import Footer from './src/components/footer'; import { ModalService } from './src/services/modal-service'; -import { inBrowser } from '../shared/util/common-var'; +import { inBrowser } from '../shared/utils/common-var'; export * from './src/modal-types'; diff --git a/packages/devui-vue/devui/overlay/index.ts b/packages/devui-vue/devui/overlay/index.ts index 8790f57ae2..56df0925ae 100644 --- a/packages/devui-vue/devui/overlay/index.ts +++ b/packages/devui-vue/devui/overlay/index.ts @@ -1,7 +1,7 @@ import type { App } from 'vue'; import { FixedOverlay } from './src/fixed-overlay'; import { FlexibleOverlay } from './src/flexible-overlay'; -import { inBrowser } from '../shared/util/common-var'; +import { inBrowser } from '../shared/utils/common-var'; export * from './src/fixed-overlay/fixed-overlay-types'; export * from './src/flexible-overlay/flexible-overlay-types'; diff --git a/packages/devui-vue/devui/shared/devui-directive/clickoutside.ts b/packages/devui-vue/devui/shared/devui-directive/clickoutside.ts index bc4bf7e41c..7baacd0780 100644 --- a/packages/devui-vue/devui/shared/devui-directive/clickoutside.ts +++ b/packages/devui-vue/devui/shared/devui-directive/clickoutside.ts @@ -5,7 +5,7 @@ *
*/ -import { inBrowser } from '../util/common-var'; +import { inBrowser } from '../utils/common-var'; import { on } from './utils'; const ctx = Symbol('@@clickoutside'); diff --git a/packages/devui-vue/devui/shared/util/class.ts b/packages/devui-vue/devui/shared/utils/class.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/class.ts rename to packages/devui-vue/devui/shared/utils/class.ts diff --git a/packages/devui-vue/devui/shared/util/common-var.ts b/packages/devui-vue/devui/shared/utils/common-var.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/common-var.ts rename to packages/devui-vue/devui/shared/utils/common-var.ts diff --git a/packages/devui-vue/devui/shared/util/debounce.ts b/packages/devui-vue/devui/shared/utils/debounce.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/debounce.ts rename to packages/devui-vue/devui/shared/utils/debounce.ts diff --git a/packages/devui-vue/devui/shared/util/dom.ts b/packages/devui-vue/devui/shared/utils/dom.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/dom.ts rename to packages/devui-vue/devui/shared/utils/dom.ts diff --git a/packages/devui-vue/devui/shared/util/index.ts b/packages/devui-vue/devui/shared/utils/index.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/index.ts rename to packages/devui-vue/devui/shared/utils/index.ts diff --git a/packages/devui-vue/devui/shared/util/lock-scroll.ts b/packages/devui-vue/devui/shared/utils/lock-scroll.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/lock-scroll.ts rename to packages/devui-vue/devui/shared/utils/lock-scroll.ts diff --git a/packages/devui-vue/devui/shared/util/props-util.ts b/packages/devui-vue/devui/shared/utils/props-util.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/props-util.ts rename to packages/devui-vue/devui/shared/utils/props-util.ts diff --git a/packages/devui-vue/devui/shared/util/random-id.ts b/packages/devui-vue/devui/shared/utils/random-id.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/random-id.ts rename to packages/devui-vue/devui/shared/utils/random-id.ts diff --git a/packages/devui-vue/devui/shared/util/set-style.ts b/packages/devui-vue/devui/shared/utils/set-style.ts similarity index 100% rename from packages/devui-vue/devui/shared/util/set-style.ts rename to packages/devui-vue/devui/shared/utils/set-style.ts diff --git a/packages/devui-vue/devui/splitter/src/components/splitter-bar.tsx b/packages/devui-vue/devui/splitter/src/components/splitter-bar.tsx index 95d53fe413..5d302e357c 100644 --- a/packages/devui-vue/devui/splitter/src/components/splitter-bar.tsx +++ b/packages/devui-vue/devui/splitter/src/components/splitter-bar.tsx @@ -10,8 +10,8 @@ import { } from 'vue'; import DToolTip from '../../../tooltip/src/tooltip'; -import { setStyle } from '../../../shared/util/set-style'; -import { addClass, removeClass } from '../../../shared/util/class'; +import { setStyle } from '../../../shared/utils/set-style'; +import { addClass, removeClass } from '../../../shared/utils/class'; import dresize, { ResizeDirectiveProp } from '../d-resize-directive'; import type { SplitterStore, DragState, SplitterPane } from '../splitter-store'; import { splitterBarProps, SplitterBarProps } from './splitter-bar-types'; diff --git a/packages/devui-vue/devui/splitter/src/components/splitter-pane.tsx b/packages/devui-vue/devui/splitter/src/components/splitter-pane.tsx index 89b410c22a..4e60446899 100644 --- a/packages/devui-vue/devui/splitter/src/components/splitter-pane.tsx +++ b/packages/devui-vue/devui/splitter/src/components/splitter-pane.tsx @@ -6,8 +6,8 @@ import { onMounted, onUpdated, } from 'vue'; -import { addClass, hasClass, removeClass } from '../../../shared/util/class'; -import { setStyle } from '../../../shared/util/set-style'; +import { addClass, hasClass, removeClass } from '../../../shared/utils/class'; +import { setStyle } from '../../../shared/utils/set-style'; import type { SplitterStore } from '../splitter-store'; import { splitterPaneProps, SplitterPaneProps } from './splitter-pane-types'; import './splitter-pane.scss'; diff --git a/packages/devui-vue/devui/theme/core/theme.ts b/packages/devui-vue/devui/theme/core/theme.ts index f66b8eb61a..0f3d8c1e58 100644 --- a/packages/devui-vue/devui/theme/core/theme.ts +++ b/packages/devui-vue/devui/theme/core/theme.ts @@ -1,4 +1,4 @@ -import { inBrowser } from '../../shared/util/common-var'; +import { inBrowser } from '../../shared/utils/common-var'; class Theme { static imports: any = {}; diff --git a/packages/devui-vue/devui/tree/src/composables/use-checked.ts b/packages/devui-vue/devui/tree/src/composables/use-checked.ts index 7ebc50ac87..7746dfb733 100644 --- a/packages/devui-vue/devui/tree/src/composables/use-checked.ts +++ b/packages/devui-vue/devui/tree/src/composables/use-checked.ts @@ -7,7 +7,7 @@ import type { CheckableRelationType, TreeData, } from '../tree-types'; -import { flatten } from '../util'; +import { flatten } from '../utils'; interface IUseChecked { selected: Ref; diff --git a/packages/devui-vue/devui/tree/src/core/utils.ts b/packages/devui-vue/devui/tree/src/core/utils.ts index 0f20559e8b..a462ca611e 100644 --- a/packages/devui-vue/devui/tree/src/core/utils.ts +++ b/packages/devui-vue/devui/tree/src/core/utils.ts @@ -1,4 +1,4 @@ -import { randomId } from '../../../shared/util'; +import { randomId } from '../../../shared/utils'; import { IInnerTreeNode, ITreeNode } from './use-tree-types'; export function flatToNested(flatTree: IInnerTreeNode[]): ITreeNode[] { diff --git a/packages/devui-vue/devui/tree/src/tree.tsx b/packages/devui-vue/devui/tree/src/tree.tsx index f13471bb3a..e1943840ea 100644 --- a/packages/devui-vue/devui/tree/src/tree.tsx +++ b/packages/devui-vue/devui/tree/src/tree.tsx @@ -2,7 +2,7 @@ import { defineComponent, reactive, ref, toRefs, provide } from 'vue'; import type { SetupContext } from 'vue'; import { treeProps, TreeProps, TreeItem, TreeRootType, Nullable } from './tree-types'; import { CHECK_CONFIG } from './config'; -import { preCheckTree, deleteNode, getId } from './util'; +import { preCheckTree, deleteNode, getId } from './utils'; import Loading from '../../loading/src/loading-service'; import Checkbox from '../../checkbox/src/checkbox'; import useToggle from './composables/use-toggle'; diff --git a/packages/devui-vue/devui/tree/src/util.ts b/packages/devui-vue/devui/tree/src/utils.ts similarity index 100% rename from packages/devui-vue/devui/tree/src/util.ts rename to packages/devui-vue/devui/tree/src/utils.ts