From f4eedd0ad1dcdbe9d81be57eaba2070647dc709f Mon Sep 17 00:00:00 2001 From: banlify Date: Sun, 7 Nov 2021 17:13:59 +0800 Subject: [PATCH 01/10] feat: create auto-complete/mutil-auot-complete component files --- devui/auto-complete/index.ts | 18 +++++ .../auto-complete/src/auto-complete-types.ts | 76 +++++++++++++++++++ devui/auto-complete/src/auto-complete.scss | 3 + devui/auto-complete/src/auto-complete.tsx | 18 +++++ devui/multi-auto-complete/index.ts | 18 +++++ .../src/multi-auto-complete-types.ts | 56 ++++++++++++++ .../src/multi-auto-complete.scss | 6 ++ .../src/multi-auto-complete.tsx | 18 +++++ 8 files changed, 213 insertions(+) create mode 100644 devui/auto-complete/index.ts create mode 100644 devui/auto-complete/src/auto-complete-types.ts create mode 100644 devui/auto-complete/src/auto-complete.scss create mode 100644 devui/auto-complete/src/auto-complete.tsx create mode 100644 devui/multi-auto-complete/index.ts create mode 100644 devui/multi-auto-complete/src/multi-auto-complete-types.ts create mode 100644 devui/multi-auto-complete/src/multi-auto-complete.scss create mode 100644 devui/multi-auto-complete/src/multi-auto-complete.tsx diff --git a/devui/auto-complete/index.ts b/devui/auto-complete/index.ts new file mode 100644 index 00000000..e8589fe2 --- /dev/null +++ b/devui/auto-complete/index.ts @@ -0,0 +1,18 @@ +import type { App } from 'vue' +import AutoComplete from './src/auto-complete' + +AutoComplete.install = function(app: App): void { + app.component(AutoComplete.name, AutoComplete) +} + +export { AutoComplete } + +export default { + title: 'AutoComplete 自动补全', + category: '数据录入', + status: undefined, // TODO: 组件若开发完成则填入"已完成",并删除该注释 + install(app: App): void { + + app.use(AutoComplete as any) + } +} diff --git a/devui/auto-complete/src/auto-complete-types.ts b/devui/auto-complete/src/auto-complete-types.ts new file mode 100644 index 00000000..6cd9709d --- /dev/null +++ b/devui/auto-complete/src/auto-complete-types.ts @@ -0,0 +1,76 @@ +import type { PropType, ExtractPropTypes } from 'vue' + +// const _defaultFormatter = (item) => (item ? item.label || item.toString() : '') +// const _defaultSearchFn = (term) => { +// return source.filter((lang) => formatter(lang).toLowerCase().indexOf(term.toLowerCase()) !== -1) +// } + +export const autoCompleteProps = { + source: { + type: Array as PropType[] | any[]>, + default: () => [] + }, + allowEmptyValueSearch: { + type: Boolean, + default: false + }, + appendToBody: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + delay: { + type: Number, + default: 300 + }, + disabledKey: { + type: String, + default: 'disabled' + }, + formatter: { + type: Function, + default: null + }, + isSearching: { + type: Boolean, + default: false + }, + sceneType: { + type: String, + default: 'select', + validator: (value: string) => ['select', 'suggest'].includes(value) + }, + searchFn: { + type: Function, + default: null + }, + tipsText: { + type: String, + default: '最近输入' + }, + latestSource: { + type: Array as PropType[] | any[]>, + default: () => [] + }, + valueParser: { + type: Function, + default: null + }, + enableLazyLoad: { + type: Boolean, + default: false + }, + dAutoCompleteWidth: { + type: Number, + default: null + }, + showAnimation: { + type: Boolean, + default: true + } +} as const + +export type AutoCompleteProps = ExtractPropTypes diff --git a/devui/auto-complete/src/auto-complete.scss b/devui/auto-complete/src/auto-complete.scss new file mode 100644 index 00000000..5f90df74 --- /dev/null +++ b/devui/auto-complete/src/auto-complete.scss @@ -0,0 +1,3 @@ +.d-auto-complete { + // +} diff --git a/devui/auto-complete/src/auto-complete.tsx b/devui/auto-complete/src/auto-complete.tsx new file mode 100644 index 00000000..f730d283 --- /dev/null +++ b/devui/auto-complete/src/auto-complete.tsx @@ -0,0 +1,18 @@ +import './auto-complete.scss' + +import { defineComponent } from 'vue' +import { autoCompleteProps, AutoCompleteProps } from './auto-complete-types' + +export default defineComponent({ + name: 'DAutoComplete', + props: autoCompleteProps, + emits: ['loadMore', 'selectValue', 'transInputFocusEmit', 'load-more', 'select-value', 'trans-input-focus-emit'], + setup(props: AutoCompleteProps, { emit, slots, expose }) { + return {} + }, + render() { + const {} = this + + return
+ } +}) diff --git a/devui/multi-auto-complete/index.ts b/devui/multi-auto-complete/index.ts new file mode 100644 index 00000000..0fb9ad9a --- /dev/null +++ b/devui/multi-auto-complete/index.ts @@ -0,0 +1,18 @@ +import type { App } from 'vue' +import MultiAutoComplete from './src/multi-auto-complete' + +MultiAutoComplete.install = function(app: App): void { + app.component(MultiAutoComplete.name, MultiAutoComplete) +} + +export { MultiAutoComplete } + +export default { + title: 'MultiAutoComplete 多项自动补全', + category: '数据录入', + status: undefined, // TODO: 组件若开发完成则填入"已完成",并删除该注释 + install(app: App): void { + + app.use(MultiAutoComplete as any) + } +} diff --git a/devui/multi-auto-complete/src/multi-auto-complete-types.ts b/devui/multi-auto-complete/src/multi-auto-complete-types.ts new file mode 100644 index 00000000..b525fe60 --- /dev/null +++ b/devui/multi-auto-complete/src/multi-auto-complete-types.ts @@ -0,0 +1,56 @@ +import type { PropType, ExtractPropTypes, ReactiveEffect } from 'vue' + +export const multiAutoCompleteProps = { + appendToBody: { + type: Boolean, + default: false + }, + width: { + type: Number, + default: 0, + validator: (width: number) => width > 0 + }, + disabled: { + type: Boolean, + default: false + }, + source: { + type: Array as PropType, + default: () => [] + }, + // itemTemplate noResultItemTemplate + delay: { + type: Number, + default: 300 + }, + searchFn: { + type: Function as PropType<(term: string) => ReactiveEffect>, + default: (term) => term + }, + formatter: { + type: Function as PropType<(item: any) => string>, + default: (item) => (item ? item.label ?? item.toString() : '') + }, + valueParser: { + type: Function as PropType<(item: any) => any>, + default: (item) => item + }, + tipsText: { + type: String, + default: 'loading....' + }, + placeholder: { + type: String, + default: 'placeholder' + }, + latestSource: { + type: Array as PropType, + default: () => [] + }, + showAnimation: { + type: Boolean, + default: true + } +} as const + +export type MultiAutoCompleteProps = ExtractPropTypes diff --git a/devui/multi-auto-complete/src/multi-auto-complete.scss b/devui/multi-auto-complete/src/multi-auto-complete.scss new file mode 100644 index 00000000..38deaaad --- /dev/null +++ b/devui/multi-auto-complete/src/multi-auto-complete.scss @@ -0,0 +1,6 @@ +@import '../../style/core/form'; +@import '../../style/mixins/flex'; + +.d-multi-auto-complete { + // +} diff --git a/devui/multi-auto-complete/src/multi-auto-complete.tsx b/devui/multi-auto-complete/src/multi-auto-complete.tsx new file mode 100644 index 00000000..424c624b --- /dev/null +++ b/devui/multi-auto-complete/src/multi-auto-complete.tsx @@ -0,0 +1,18 @@ +import './multi-auto-complete.scss' + +import { defineComponent } from 'vue' +import { multiAutoCompleteProps, MultiAutoCompleteProps } from './multi-auto-complete-types' + +export default defineComponent({ + name: 'DMultiAutoComplete', + props: multiAutoCompleteProps, + emits: [], + setup(props: MultiAutoCompleteProps, ctx) { + return {} + }, + render() { + const { } = this + + return
+ } +}) -- Gitee From de9c511ce3be0ddb4d330eadfa7115759a4ec6e3 Mon Sep 17 00:00:00 2001 From: banlify Date: Tue, 9 Nov 2021 12:48:40 +0800 Subject: [PATCH 02/10] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E5=A3=B0=E6=98=8E=E4=BE=9D=E8=B5=96=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 3 --- 1 file changed, 3 deletions(-) diff --git a/package.json b/package.json index cf98ae32..7874777a 100644 --- a/package.json +++ b/package.json @@ -55,10 +55,7 @@ "@commitlint/cli": "^11.0.0", "@commitlint/config-conventional": "^11.0.0", "@ls-lint/ls-lint": "^1.10.0", - "@types/chalk": "^2.2.0", - "@types/commander": "^2.12.2", "@types/jest": "^26.0.23", - "@types/ora": "^3.2.0", "@typescript-eslint/eslint-plugin": "^4.27.0", "@typescript-eslint/parser": "^4.27.0", "@vitejs/plugin-vue": "^1.3.0", -- Gitee From f5a46b8f10442b4efa7da86cdd37ab82adc84c17 Mon Sep 17 00:00:00 2001 From: Chestnut Date: Tue, 9 Nov 2021 09:48:30 +0000 Subject: [PATCH 03/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20de?= =?UTF-8?q?vui/auto-complete/index.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devui/auto-complete/index.ts | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 devui/auto-complete/index.ts diff --git a/devui/auto-complete/index.ts b/devui/auto-complete/index.ts deleted file mode 100644 index e8589fe2..00000000 --- a/devui/auto-complete/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { App } from 'vue' -import AutoComplete from './src/auto-complete' - -AutoComplete.install = function(app: App): void { - app.component(AutoComplete.name, AutoComplete) -} - -export { AutoComplete } - -export default { - title: 'AutoComplete 自动补全', - category: '数据录入', - status: undefined, // TODO: 组件若开发完成则填入"已完成",并删除该注释 - install(app: App): void { - - app.use(AutoComplete as any) - } -} -- Gitee From 5751404d071294a3acdab1634bc2c59d27a40b3a Mon Sep 17 00:00:00 2001 From: Chestnut Date: Tue, 9 Nov 2021 09:48:44 +0000 Subject: [PATCH 04/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20de?= =?UTF-8?q?vui/auto-complete/src/auto-complete-types.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auto-complete/src/auto-complete-types.ts | 76 ------------------- 1 file changed, 76 deletions(-) delete mode 100644 devui/auto-complete/src/auto-complete-types.ts diff --git a/devui/auto-complete/src/auto-complete-types.ts b/devui/auto-complete/src/auto-complete-types.ts deleted file mode 100644 index 6cd9709d..00000000 --- a/devui/auto-complete/src/auto-complete-types.ts +++ /dev/null @@ -1,76 +0,0 @@ -import type { PropType, ExtractPropTypes } from 'vue' - -// const _defaultFormatter = (item) => (item ? item.label || item.toString() : '') -// const _defaultSearchFn = (term) => { -// return source.filter((lang) => formatter(lang).toLowerCase().indexOf(term.toLowerCase()) !== -1) -// } - -export const autoCompleteProps = { - source: { - type: Array as PropType[] | any[]>, - default: () => [] - }, - allowEmptyValueSearch: { - type: Boolean, - default: false - }, - appendToBody: { - type: Boolean, - default: false - }, - disabled: { - type: Boolean, - default: false - }, - delay: { - type: Number, - default: 300 - }, - disabledKey: { - type: String, - default: 'disabled' - }, - formatter: { - type: Function, - default: null - }, - isSearching: { - type: Boolean, - default: false - }, - sceneType: { - type: String, - default: 'select', - validator: (value: string) => ['select', 'suggest'].includes(value) - }, - searchFn: { - type: Function, - default: null - }, - tipsText: { - type: String, - default: '最近输入' - }, - latestSource: { - type: Array as PropType[] | any[]>, - default: () => [] - }, - valueParser: { - type: Function, - default: null - }, - enableLazyLoad: { - type: Boolean, - default: false - }, - dAutoCompleteWidth: { - type: Number, - default: null - }, - showAnimation: { - type: Boolean, - default: true - } -} as const - -export type AutoCompleteProps = ExtractPropTypes -- Gitee From c606ee9b286c2502b34ad90c6f9fdd186e0f8f2d Mon Sep 17 00:00:00 2001 From: Chestnut Date: Tue, 9 Nov 2021 09:48:52 +0000 Subject: [PATCH 05/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20de?= =?UTF-8?q?vui/auto-complete/src/auto-complete.scss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devui/auto-complete/src/auto-complete.scss | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 devui/auto-complete/src/auto-complete.scss diff --git a/devui/auto-complete/src/auto-complete.scss b/devui/auto-complete/src/auto-complete.scss deleted file mode 100644 index 5f90df74..00000000 --- a/devui/auto-complete/src/auto-complete.scss +++ /dev/null @@ -1,3 +0,0 @@ -.d-auto-complete { - // -} -- Gitee From 5daa6c9af2310863bb61cfb59cc3554bbecd6753 Mon Sep 17 00:00:00 2001 From: Chestnut Date: Tue, 9 Nov 2021 09:49:01 +0000 Subject: [PATCH 06/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20de?= =?UTF-8?q?vui/multi-auto-complete/src/multi-auto-complete.tsx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/multi-auto-complete.tsx | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 devui/multi-auto-complete/src/multi-auto-complete.tsx diff --git a/devui/multi-auto-complete/src/multi-auto-complete.tsx b/devui/multi-auto-complete/src/multi-auto-complete.tsx deleted file mode 100644 index 424c624b..00000000 --- a/devui/multi-auto-complete/src/multi-auto-complete.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import './multi-auto-complete.scss' - -import { defineComponent } from 'vue' -import { multiAutoCompleteProps, MultiAutoCompleteProps } from './multi-auto-complete-types' - -export default defineComponent({ - name: 'DMultiAutoComplete', - props: multiAutoCompleteProps, - emits: [], - setup(props: MultiAutoCompleteProps, ctx) { - return {} - }, - render() { - const { } = this - - return
- } -}) -- Gitee From ef3493fecbabc5b2776daf32d98aec6b4134b807 Mon Sep 17 00:00:00 2001 From: Chestnut Date: Tue, 9 Nov 2021 09:49:22 +0000 Subject: [PATCH 07/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20de?= =?UTF-8?q?vui/multi-auto-complete/src/multi-auto-complete.scss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devui/multi-auto-complete/src/multi-auto-complete.scss | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 devui/multi-auto-complete/src/multi-auto-complete.scss diff --git a/devui/multi-auto-complete/src/multi-auto-complete.scss b/devui/multi-auto-complete/src/multi-auto-complete.scss deleted file mode 100644 index 38deaaad..00000000 --- a/devui/multi-auto-complete/src/multi-auto-complete.scss +++ /dev/null @@ -1,6 +0,0 @@ -@import '../../style/core/form'; -@import '../../style/mixins/flex'; - -.d-multi-auto-complete { - // -} -- Gitee From 0db58a583674d87d43c45c2beead39f61a922753 Mon Sep 17 00:00:00 2001 From: Chestnut Date: Tue, 9 Nov 2021 09:49:29 +0000 Subject: [PATCH 08/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20de?= =?UTF-8?q?vui/auto-complete/src/auto-complete.tsx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devui/auto-complete/src/auto-complete.tsx | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 devui/auto-complete/src/auto-complete.tsx diff --git a/devui/auto-complete/src/auto-complete.tsx b/devui/auto-complete/src/auto-complete.tsx deleted file mode 100644 index f730d283..00000000 --- a/devui/auto-complete/src/auto-complete.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import './auto-complete.scss' - -import { defineComponent } from 'vue' -import { autoCompleteProps, AutoCompleteProps } from './auto-complete-types' - -export default defineComponent({ - name: 'DAutoComplete', - props: autoCompleteProps, - emits: ['loadMore', 'selectValue', 'transInputFocusEmit', 'load-more', 'select-value', 'trans-input-focus-emit'], - setup(props: AutoCompleteProps, { emit, slots, expose }) { - return {} - }, - render() { - const {} = this - - return
- } -}) -- Gitee From 036872154567602b25331934de98039c3599650a Mon Sep 17 00:00:00 2001 From: Chestnut Date: Tue, 9 Nov 2021 09:49:36 +0000 Subject: [PATCH 09/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20de?= =?UTF-8?q?vui/multi-auto-complete/index.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- devui/multi-auto-complete/index.ts | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 devui/multi-auto-complete/index.ts diff --git a/devui/multi-auto-complete/index.ts b/devui/multi-auto-complete/index.ts deleted file mode 100644 index 0fb9ad9a..00000000 --- a/devui/multi-auto-complete/index.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { App } from 'vue' -import MultiAutoComplete from './src/multi-auto-complete' - -MultiAutoComplete.install = function(app: App): void { - app.component(MultiAutoComplete.name, MultiAutoComplete) -} - -export { MultiAutoComplete } - -export default { - title: 'MultiAutoComplete 多项自动补全', - category: '数据录入', - status: undefined, // TODO: 组件若开发完成则填入"已完成",并删除该注释 - install(app: App): void { - - app.use(MultiAutoComplete as any) - } -} -- Gitee From 87935b4704e0786d82ef098b84c93b6ef569ca7f Mon Sep 17 00:00:00 2001 From: Chestnut Date: Tue, 9 Nov 2021 09:49:44 +0000 Subject: [PATCH 10/10] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20de?= =?UTF-8?q?vui/multi-auto-complete/src/multi-auto-complete-types.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/multi-auto-complete-types.ts | 56 ------------------- 1 file changed, 56 deletions(-) delete mode 100644 devui/multi-auto-complete/src/multi-auto-complete-types.ts diff --git a/devui/multi-auto-complete/src/multi-auto-complete-types.ts b/devui/multi-auto-complete/src/multi-auto-complete-types.ts deleted file mode 100644 index b525fe60..00000000 --- a/devui/multi-auto-complete/src/multi-auto-complete-types.ts +++ /dev/null @@ -1,56 +0,0 @@ -import type { PropType, ExtractPropTypes, ReactiveEffect } from 'vue' - -export const multiAutoCompleteProps = { - appendToBody: { - type: Boolean, - default: false - }, - width: { - type: Number, - default: 0, - validator: (width: number) => width > 0 - }, - disabled: { - type: Boolean, - default: false - }, - source: { - type: Array as PropType, - default: () => [] - }, - // itemTemplate noResultItemTemplate - delay: { - type: Number, - default: 300 - }, - searchFn: { - type: Function as PropType<(term: string) => ReactiveEffect>, - default: (term) => term - }, - formatter: { - type: Function as PropType<(item: any) => string>, - default: (item) => (item ? item.label ?? item.toString() : '') - }, - valueParser: { - type: Function as PropType<(item: any) => any>, - default: (item) => item - }, - tipsText: { - type: String, - default: 'loading....' - }, - placeholder: { - type: String, - default: 'placeholder' - }, - latestSource: { - type: Array as PropType, - default: () => [] - }, - showAnimation: { - type: Boolean, - default: true - } -} as const - -export type MultiAutoCompleteProps = ExtractPropTypes -- Gitee