From 105d79b0d98747b464432b754c664ea3bcbebf29 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Thu, 20 Apr 2023 20:00:49 +0800 Subject: [PATCH] refactor: extract isClient and isNumber isBoolean (#12504) * refactor: extract isClient and isNumber isBoolean * test: update test * refactor: extract isClient to browser --- packages/components/cascader-panel/src/index.vue | 2 +- packages/components/cascader/src/cascader.vue | 10 ++++++++-- .../color-picker/src/utils/draggable.ts | 2 +- packages/components/dialog/src/use-dialog.ts | 4 ++-- .../components/image-viewer/src/image-viewer.vue | 4 ++-- packages/components/image/src/image.vue | 3 ++- packages/components/input/src/input.vue | 3 ++- packages/components/loading/src/service.ts | 10 +++++++--- packages/components/message-box/src/messageBox.ts | 2 +- packages/components/message/src/message.ts | 2 +- packages/components/message/src/method.ts | 2 +- packages/components/notification/src/notify.ts | 9 +++++++-- packages/components/popper/src/utils.ts | 3 ++- packages/components/scrollbar/src/thumb.vue | 4 ++-- packages/components/select/src/select.vue | 4 ++-- packages/components/select/src/useSelect.ts | 2 +- packages/components/table/src/table-body/index.ts | 3 +-- .../table/src/table-header/event-helper.ts | 3 +-- packages/components/table/src/table-layout.ts | 3 +-- .../virtual-list/src/builders/build-grid.ts | 2 +- .../virtual-list/src/builders/build-list.ts | 3 +-- packages/directives/click-outside/index.ts | 3 +-- packages/hooks/use-escape-keydown/index.ts | 2 +- packages/hooks/use-floating/index.ts | 4 ++-- packages/hooks/use-id/index.ts | 3 +-- packages/hooks/use-lockscreen/index.ts | 2 +- packages/hooks/use-model-toggle/index.ts | 8 ++++++-- packages/hooks/use-popper-container/index.ts | 2 +- packages/hooks/use-teleport/index.ts | 7 +++++-- packages/utils/__tests__/types.test.ts | 15 +++++++++------ packages/utils/browser.ts | 4 +++- packages/utils/dom/position.ts | 2 +- packages/utils/dom/scroll.ts | 2 +- packages/utils/dom/style.ts | 2 +- packages/utils/raf.ts | 2 +- packages/utils/types.ts | 3 ++- packages/utils/vue/global-node.ts | 2 +- 37 files changed, 84 insertions(+), 59 deletions(-) diff --git a/packages/components/cascader-panel/src/index.vue b/packages/components/cascader-panel/src/index.vue index 6cb33b9e5e188..6e121c0768943 100644 --- a/packages/components/cascader-panel/src/index.vue +++ b/packages/components/cascader-panel/src/index.vue @@ -27,11 +27,11 @@ import { watch, } from 'vue' import { cloneDeep, flattenDeep, isEqual } from 'lodash-unified' -import { isClient } from '@vueuse/core' import { castArray, focusNode, getSibling, + isClient, isEmpty, scrollIntoView, unique, diff --git a/packages/components/cascader/src/cascader.vue b/packages/components/cascader/src/cascader.vue index bc3c34b43ba7b..c73b8aca698ac 100644 --- a/packages/components/cascader/src/cascader.vue +++ b/packages/components/cascader/src/cascader.vue @@ -189,7 +189,7 @@ import { computed, nextTick, onMounted, ref, useAttrs, watch } from 'vue' import { isPromise } from '@vue/shared' import { cloneDeep, debounce } from 'lodash-unified' -import { isClient, useCssVar, useResizeObserver } from '@vueuse/core' +import { useCssVar, useResizeObserver } from '@vueuse/core' import ElCascaderPanel from '@element-plus/components/cascader-panel' import ElInput from '@element-plus/components/input' import ElTooltip from '@element-plus/components/tooltip' @@ -199,7 +199,13 @@ import ElIcon from '@element-plus/components/icon' import { useFormItem, useFormSize } from '@element-plus/components/form' import { ClickOutside as vClickoutside } from '@element-plus/directives' import { useLocale, useNamespace } from '@element-plus/hooks' -import { debugWarn, focusNode, getSibling, isKorean } from '@element-plus/utils' +import { + debugWarn, + focusNode, + getSibling, + isClient, + isKorean, +} from '@element-plus/utils' import { CHANGE_EVENT, EVENT_CODE, diff --git a/packages/components/color-picker/src/utils/draggable.ts b/packages/components/color-picker/src/utils/draggable.ts index 9ce8e437afd55..07455c5efbad6 100644 --- a/packages/components/color-picker/src/utils/draggable.ts +++ b/packages/components/color-picker/src/utils/draggable.ts @@ -1,4 +1,4 @@ -import { isClient } from '@vueuse/core' +import { isClient } from '@element-plus/utils' let isDragging = false diff --git a/packages/components/dialog/src/use-dialog.ts b/packages/components/dialog/src/use-dialog.ts index f1ffcb5119fef..2763f556f04bb 100644 --- a/packages/components/dialog/src/use-dialog.ts +++ b/packages/components/dialog/src/use-dialog.ts @@ -6,7 +6,7 @@ import { ref, watch, } from 'vue' -import { isClient, useTimeoutFn } from '@vueuse/core' +import { useTimeoutFn } from '@vueuse/core' import { defaultNamespace, @@ -15,7 +15,7 @@ import { useZIndex, } from '@element-plus/hooks' import { UPDATE_MODEL_EVENT } from '@element-plus/constants' -import { addUnit } from '@element-plus/utils' +import { addUnit, isClient } from '@element-plus/utils' import { useGlobalConfig } from '@element-plus/components/config-provider' import type { CSSProperties, Ref, SetupContext } from 'vue' diff --git a/packages/components/image-viewer/src/image-viewer.vue b/packages/components/image-viewer/src/image-viewer.vue index d7c878ee6f0cb..a7e4dcc03ffcc 100644 --- a/packages/components/image-viewer/src/image-viewer.vue +++ b/packages/components/image-viewer/src/image-viewer.vue @@ -91,11 +91,11 @@ import { shallowRef, watch, } from 'vue' -import { isNumber, useEventListener } from '@vueuse/core' +import { useEventListener } from '@vueuse/core' import { throttle } from 'lodash-unified' import { useLocale, useNamespace, useZIndex } from '@element-plus/hooks' import { EVENT_CODE } from '@element-plus/constants' -import { keysOf } from '@element-plus/utils' +import { isNumber, keysOf } from '@element-plus/utils' import ElIcon from '@element-plus/components/icon' import { ArrowLeft, diff --git a/packages/components/image/src/image.vue b/packages/components/image/src/image.vue index 233bca039bee7..7567681245632 100644 --- a/packages/components/image/src/image.vue +++ b/packages/components/image/src/image.vue @@ -56,11 +56,12 @@ import { useAttrs as useRawAttrs, watch, } from 'vue' -import { isClient, useEventListener, useThrottleFn } from '@vueuse/core' +import { useEventListener, useThrottleFn } from '@vueuse/core' import { useAttrs, useLocale, useNamespace } from '@element-plus/hooks' import ImageViewer from '@element-plus/components/image-viewer' import { getScrollContainer, + isClient, isElement, isInContainer, isString, diff --git a/packages/components/input/src/input.vue b/packages/components/input/src/input.vue index 132fa4947662b..16f647be8ccfb 100644 --- a/packages/components/input/src/input.vue +++ b/packages/components/input/src/input.vue @@ -150,7 +150,7 @@ import { useSlots, watch, } from 'vue' -import { isClient, useResizeObserver } from '@vueuse/core' +import { useResizeObserver } from '@vueuse/core' import { isNil } from 'lodash-unified' import { ElIcon } from '@element-plus/components/icon' import { @@ -168,6 +168,7 @@ import { NOOP, ValidateComponentsMap, debugWarn, + isClient, isKorean, isObject, } from '@element-plus/utils' diff --git a/packages/components/loading/src/service.ts b/packages/components/loading/src/service.ts index bb8b599e0510a..d5f16448f2e51 100644 --- a/packages/components/loading/src/service.ts +++ b/packages/components/loading/src/service.ts @@ -1,8 +1,12 @@ // @ts-nocheck import { nextTick } from 'vue' -import { isString } from '@vue/shared' -import { isClient } from '@vueuse/core' -import { addClass, getStyle, removeClass } from '@element-plus/utils' +import { + addClass, + getStyle, + isClient, + isString, + removeClass, +} from '@element-plus/utils' import { createLoadingComponent } from './loading' import type { UseNamespaceReturn, UseZIndexReturn } from '@element-plus/hooks' diff --git a/packages/components/message-box/src/messageBox.ts b/packages/components/message-box/src/messageBox.ts index 73e391ea83c12..fd162207ab44d 100644 --- a/packages/components/message-box/src/messageBox.ts +++ b/packages/components/message-box/src/messageBox.ts @@ -1,8 +1,8 @@ import { createVNode, render } from 'vue' -import { isClient } from '@vueuse/core' import { debugWarn, hasOwn, + isClient, isElement, isFunction, isObject, diff --git a/packages/components/message/src/message.ts b/packages/components/message/src/message.ts index 3291dc51fd334..3438e98699013 100644 --- a/packages/components/message/src/message.ts +++ b/packages/components/message/src/message.ts @@ -1,8 +1,8 @@ -import { isClient } from '@vueuse/core' import { buildProps, definePropType, iconPropType, + isClient, mutable, } from '@element-plus/utils' import type { AppContext, ExtractPropTypes, VNode } from 'vue' diff --git a/packages/components/message/src/method.ts b/packages/components/message/src/method.ts index 1d976777c3f75..ff4e1fe0909f6 100644 --- a/packages/components/message/src/method.ts +++ b/packages/components/message/src/method.ts @@ -1,7 +1,7 @@ import { createVNode, render } from 'vue' -import { isClient } from '@vueuse/core' import { debugWarn, + isClient, isElement, isFunction, isNumber, diff --git a/packages/components/notification/src/notify.ts b/packages/components/notification/src/notify.ts index 0b6d7483c5958..38d3f708b6322 100644 --- a/packages/components/notification/src/notify.ts +++ b/packages/components/notification/src/notify.ts @@ -1,6 +1,11 @@ import { createVNode, render } from 'vue' -import { isClient } from '@vueuse/core' -import { debugWarn, isElement, isString, isVNode } from '@element-plus/utils' +import { + debugWarn, + isClient, + isElement, + isString, + isVNode, +} from '@element-plus/utils' import NotificationConstructor from './notification.vue' import { notificationTypes } from './notification' diff --git a/packages/components/popper/src/utils.ts b/packages/components/popper/src/utils.ts index 4f225a37f2050..93fee1ffa559e 100644 --- a/packages/components/popper/src/utils.ts +++ b/packages/components/popper/src/utils.ts @@ -1,4 +1,5 @@ -import { isClient, unrefElement } from '@vueuse/core' +import { unrefElement } from '@vueuse/core' +import { isClient } from '@element-plus/utils' import type { ComponentPublicInstance } from 'vue' import type { MaybeRef } from '@vueuse/core' diff --git a/packages/components/scrollbar/src/thumb.vue b/packages/components/scrollbar/src/thumb.vue index 89399f686d331..f73981fdcdf07 100644 --- a/packages/components/scrollbar/src/thumb.vue +++ b/packages/components/scrollbar/src/thumb.vue @@ -18,8 +18,8 @@