giime 0.3.14 → 0.3.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +47 -4
- package/es/components/src/base/select/Select.vue.d.ts +1 -0
- package/es/components/src/base/select/Select.vue.mjs +2 -1
- package/es/components/src/base/select/Select.vue.mjs.map +1 -1
- package/es/components/src/base/select/Select.vue2.mjs +32 -8
- package/es/components/src/base/select/Select.vue2.mjs.map +1 -1
- package/es/components/src/base/select/Select.vue3.mjs +4 -0
- package/es/components/src/base/select/Select.vue3.mjs.map +1 -0
- package/es/components/src/base/select/index.d.ts +1 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +9 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.mjs +2 -1
- package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.mjs.map +1 -1
- package/es/components/src/composite/searchForm/searchFormItems/select/index.d.ts +9 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.d.ts +4 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.mjs +4 -0
- package/es/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.mjs.map +1 -1
- package/es/components/src/composite/selectOptions/SelectOptions.vue.d.ts +15 -2
- package/es/components/src/composite/selectOptions/SelectOptions.vue2.mjs +58 -7
- package/es/components/src/composite/selectOptions/SelectOptions.vue2.mjs.map +1 -1
- package/es/components/src/composite/selectOptions/index.d.ts +415 -105
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/useDownload/index.d.ts +1 -1
- package/es/hooks/base/useDownload/index.mjs +7 -7
- package/es/hooks/base/useDownload/index.mjs.map +1 -1
- package/es/hooks/base/useIDBKeyval/index.d.ts +4 -0
- package/es/hooks/base/useIDBKeyval/index.mjs.map +1 -1
- package/es/index.css +47 -4
- package/lib/components/src/base/select/Select.vue.d.ts +1 -0
- package/lib/components/src/base/select/Select.vue.js +2 -1
- package/lib/components/src/base/select/Select.vue.js.map +1 -1
- package/lib/components/src/base/select/Select.vue2.js +31 -7
- package/lib/components/src/base/select/Select.vue2.js.map +1 -1
- package/lib/components/src/base/select/Select.vue3.js +8 -0
- package/lib/components/src/base/select/Select.vue3.js.map +1 -0
- package/lib/components/src/base/select/index.d.ts +1 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +9 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.js +2 -1
- package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.js.map +1 -1
- package/lib/components/src/composite/searchForm/searchFormItems/select/index.d.ts +9 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.d.ts +4 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.js +4 -0
- package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.js.map +1 -1
- package/lib/components/src/composite/selectOptions/SelectOptions.vue.d.ts +15 -2
- package/lib/components/src/composite/selectOptions/SelectOptions.vue2.js +57 -6
- package/lib/components/src/composite/selectOptions/SelectOptions.vue2.js.map +1 -1
- package/lib/components/src/composite/selectOptions/index.d.ts +415 -105
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/useDownload/index.d.ts +1 -1
- package/lib/hooks/base/useDownload/index.js +7 -7
- package/lib/hooks/base/useDownload/index.js.map +1 -1
- package/lib/hooks/base/useIDBKeyval/index.d.ts +4 -0
- package/lib/hooks/base/useIDBKeyval/index.js.map +1 -1
- package/lib/index.css +47 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useDownload/index.ts"],"sourcesContent":["import { h, ref } from 'vue';\r\nimport FileSaver from 'file-saver';\r\n\r\nimport GmNotification from '@giime/components/src/plugins/notification';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport JSZip from 'jszip';\r\nimport { GmMessage } from '@giime/components/src/plugins/message';\r\nimport type { AxiosResponse } from 'axios';\r\n\r\nexport interface DownloadOptions {\r\n filename?: string;\r\n}\r\nexport interface DateownloadZipItem {\r\n url: string;\r\n filename?: string;\r\n}\r\n\r\nexport const useDownload = () => {\r\n const getUrlFilename = (url: string) => {\r\n const filename = url.split('/').pop()?.split('?')[0] || 'file';\r\n return filename;\r\n };\r\n /**\r\n * 通过url下载\r\n * @param url\r\n * @param options\r\n */\r\n const downloadByUrl = async (url: string, options?: DownloadOptions) => {\r\n const filename = options?.filename || getUrlFilename(url);\r\n const curId = uuidv4();\r\n const modalInfo = GmNotification({\r\n title: '下载中',\r\n message: h('div', { className: curId }, [`当前下载进度 0%`]),\r\n duration: 0,\r\n });\r\n await createDownload({\r\n url,\r\n filename,\r\n uuid: curId,\r\n });\r\n modalInfo.close();\r\n };\r\n /**\r\n * 通过接口响应结果下载\r\n * @param res\r\n * @param options\r\n */\r\n const downloadByRes = async (res: AxiosResponse<any, any>, options?: DownloadOptions) => {\r\n let contentDispositionName = (res?.headers?.['content-disposition'] || res?.headers?.['Content-Disposition'])?.split('filename=')[1];\r\n try {\r\n contentDispositionName = decodeURIComponent(contentDispositionName);\r\n } catch {}\r\n const filename = options?.filename || contentDispositionName || 'file';\r\n const resBlob = await res.data;\r\n const curId = uuidv4();\r\n const modalInfo = GmNotification({\r\n title: '下载中',\r\n message: h('div', { className: curId }, [`当前下载进度 0%`]),\r\n duration: 0,\r\n });\r\n // 设置type类型\r\n const blob = new Blob([resBlob]);\r\n const fileUrl = window.URL.createObjectURL(blob);\r\n await createDownload({\r\n url: fileUrl,\r\n filename,\r\n uuid: curId,\r\n });\r\n modalInfo.close();\r\n };\r\n /**\r\n * 下载多文件 转为zip\r\n * @param fileList\r\n * @param filename\r\n */\r\n const downloadToZip = async (fileList: DateownloadZipItem[], filename: string) => {\r\n try {\r\n const currentContentClass = `message${Date.now()}`;\r\n const downloadCount = ref(0);\r\n const len = fileList.length;\r\n const modalInfo = GmNotification({\r\n title: '下载中',\r\n message: h('div', [h('div', { className: currentContentClass }, [`总下载文件数:${len},已下载文件数:${downloadCount.value}`])]),\r\n duration: 0,\r\n });\r\n // h('div', { className: currentClass }, [`当前下载进度 ${progress.value}%`]),\r\n const zipInstance = new JSZip();\r\n for (let i = 0; i < len; i++) {\r\n const currentItem = fileList[i];\r\n // const fileBlob = await\r\n const downblobOptions = {\r\n url: currentItem.url,\r\n filename: currentItem.filename ?? getUrlFilename(currentItem.url),\r\n isZip: true,\r\n };\r\n createDownload(downblobOptions).then(res => {\r\n zipInstance.file(downblobOptions.filename, res);\r\n downloadCount.value++;\r\n editElementContent(currentContentClass, `总下载文件数:${len},已下载文件数:${downloadCount.value}`);\r\n if (downloadCount.value == len) {\r\n editElementContent(currentContentClass, `正在合并...`);\r\n\r\n zipInstance\r\n .generateAsync({ type: 'blob' })\r\n .then(res => {\r\n modalInfo.close();\r\n\r\n const fileUrl = window.URL.createObjectURL(res);\r\n // FileSaver.saveAs(res, filename);\r\n downloadByUrl(fileUrl, { filename });\r\n })\r\n .catch(error => {\r\n console.error(error);\r\n });\r\n }\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n const createDownload = (options: { url: string; filename: string; uuid?: string; isZip?: boolean }) => {\r\n return new Promise<Blob>((resolve, reject) => {\r\n // 创建一个新的 XMLHttpRequest 对象\r\n const xhr = new XMLHttpRequest();\r\n // 初始化一个GET请求\r\n xhr.open('GET', options.url, true);\r\n xhr.responseType = 'blob'; // 设置响应类型为blob,以便处理二进制文件\r\n\r\n // 监听 progress 事件\r\n xhr.onprogress = function (event) {\r\n if (event.lengthComputable) {\r\n const percentComplete = Math.floor((event.loaded / event.total) * 100);\r\n if (options.uuid) {\r\n editElementContent(options.uuid, `当前下载进度 ${percentComplete}%`);\r\n }\r\n }\r\n };\r\n\r\n // 监听 load 事件,表示下载完成\r\n xhr.onload = function (e) {\r\n const eventTarget = e.target as XMLHttpRequest;\r\n if ([200, 304].includes(eventTarget.status)) {\r\n const blob = eventTarget.response;\r\n // const url = window.URL.createObjectURL(blob);\r\n if (!options.isZip) {\r\n FileSaver.saveAs(blob, options.filename);\r\n GmNotification({\r\n type: 'success',\r\n title: '温馨提示',\r\n message: '下载完成',\r\n duration: 3000,\r\n });\r\n }\r\n\r\n resolve(blob);\r\n }\r\n };\r\n\r\n // 监听 error 事件\r\n xhr.onerror = function (e) {\r\n GmMessage.error('下载异常,请重试');\r\n reject(e);\r\n };\r\n\r\n // 发送请求\r\n xhr.send();\r\n });\r\n };\r\n return { downloadByUrl, downloadByRes, downloadToZip };\r\n};\r\n\r\n// 动态更新 notify 中的message 信息\r\nconst editElementContent = (className: string, content: string) => {\r\n // eslint-disable-next-line unicorn/prefer-query-selector\r\n const currentEle = document.getElementsByClassName(className)[0];\r\n if (currentEle) {\r\n currentEle.innerHTML = content;\r\n }\r\n};\r\n"],"names":["uuidv4","res"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useDownload/index.ts"],"sourcesContent":["import { h, ref } from 'vue';\r\nimport FileSaver from 'file-saver';\r\n\r\nimport GmNotification from '@giime/components/src/plugins/notification';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport JSZip from 'jszip';\r\nimport { GmMessage } from '@giime/components/src/plugins/message';\r\nimport type { AxiosResponse } from 'axios';\r\n\r\nexport interface DownloadOptions {\r\n filename?: string;\r\n}\r\nexport interface DateownloadZipItem {\r\n url: string;\r\n filename?: string;\r\n}\r\n\r\nexport const useDownload = () => {\r\n const getUrlFilename = (url: string) => {\r\n const filename = url.split('/').pop()?.split('?')[0] || 'file';\r\n return filename;\r\n };\r\n /**\r\n * 通过url下载\r\n * @param url\r\n * @param options\r\n */\r\n const downloadByUrl = async (url: string, options?: DownloadOptions) => {\r\n const filename = options?.filename || getUrlFilename(url);\r\n const curId = uuidv4();\r\n const modalInfo = GmNotification({\r\n title: '下载中',\r\n message: h('div', { className: curId }, [`当前下载进度 0%`]),\r\n duration: 0,\r\n });\r\n await createDownload({\r\n url,\r\n filename,\r\n uuid: curId,\r\n });\r\n modalInfo.close();\r\n };\r\n /**\r\n * 通过接口响应结果下载\r\n * @param res\r\n * @param options\r\n */\r\n const downloadByRes = async (res: AxiosResponse<any, any>, options?: DownloadOptions) => {\r\n let contentDispositionName = (res?.headers?.['content-disposition'] || res?.headers?.['Content-Disposition'])?.split('filename=')[1];\r\n try {\r\n contentDispositionName = decodeURIComponent(contentDispositionName);\r\n } catch {}\r\n const filename = options?.filename || contentDispositionName || 'file';\r\n const resBlob = await res.data;\r\n const curId = uuidv4();\r\n const modalInfo = GmNotification({\r\n title: '下载中',\r\n message: h('div', { className: curId }, [`当前下载进度 0%`]),\r\n duration: 0,\r\n });\r\n // 设置type类型\r\n const blob = new Blob([resBlob]);\r\n const fileUrl = window.URL.createObjectURL(blob);\r\n await createDownload({\r\n url: fileUrl,\r\n filename,\r\n uuid: curId,\r\n });\r\n modalInfo.close();\r\n };\r\n /**\r\n * 下载多文件 转为zip\r\n * @param fileList\r\n * @param filename\r\n */\r\n const downloadToZip = async (fileList: DateownloadZipItem[], filename: string) => {\r\n return new Promise((resolve, reject) => {\r\n const currentContentClass = `message${Date.now()}`;\r\n const downloadCount = ref(0);\r\n const len = fileList.length;\r\n const modalInfo = GmNotification({\r\n title: '下载中',\r\n message: h('div', [h('div', { className: currentContentClass }, [`总下载文件数:${len},已下载文件数:${downloadCount.value}`])]),\r\n duration: 0,\r\n });\r\n // h('div', { className: currentClass }, [`当前下载进度 ${progress.value}%`]),\r\n const zipInstance = new JSZip();\r\n for (let i = 0; i < len; i++) {\r\n const currentItem = fileList[i];\r\n // const fileBlob = await\r\n const downblobOptions = {\r\n url: currentItem.url,\r\n filename: currentItem.filename ?? getUrlFilename(currentItem.url),\r\n isZip: true,\r\n };\r\n createDownload(downblobOptions).then(res => {\r\n zipInstance.file(downblobOptions.filename, res);\r\n downloadCount.value++;\r\n editElementContent(currentContentClass, `总下载文件数:${len},已下载文件数:${downloadCount.value}`);\r\n if (downloadCount.value == len) {\r\n editElementContent(currentContentClass, `正在合并...`);\r\n zipInstance\r\n .generateAsync({ type: 'blob' })\r\n .then(async res => {\r\n modalInfo.close();\r\n\r\n const fileUrl = window.URL.createObjectURL(res);\r\n // FileSaver.saveAs(res, filename);\r\n await downloadByUrl(fileUrl, { filename });\r\n resolve(true);\r\n })\r\n .catch(error => {\r\n console.error('error', error);\r\n reject(error);\r\n });\r\n }\r\n });\r\n }\r\n });\r\n };\r\n const createDownload = (options: { url: string; filename: string; uuid?: string; isZip?: boolean }) => {\r\n return new Promise<Blob>((resolve, reject) => {\r\n // 创建一个新的 XMLHttpRequest 对象\r\n const xhr = new XMLHttpRequest();\r\n // 初始化一个GET请求\r\n xhr.open('GET', options.url, true);\r\n xhr.responseType = 'blob'; // 设置响应类型为blob,以便处理二进制文件\r\n\r\n // 监听 progress 事件\r\n xhr.onprogress = function (event) {\r\n if (event.lengthComputable) {\r\n const percentComplete = Math.floor((event.loaded / event.total) * 100);\r\n if (options.uuid) {\r\n editElementContent(options.uuid, `当前下载进度 ${percentComplete}%`);\r\n }\r\n }\r\n };\r\n\r\n // 监听 load 事件,表示下载完成\r\n xhr.onload = function (e) {\r\n const eventTarget = e.target as XMLHttpRequest;\r\n if ([200, 304].includes(eventTarget.status)) {\r\n const blob = eventTarget.response;\r\n // const url = window.URL.createObjectURL(blob);\r\n if (!options.isZip) {\r\n FileSaver.saveAs(blob, options.filename);\r\n GmNotification({\r\n type: 'success',\r\n title: '温馨提示',\r\n message: '下载完成',\r\n duration: 3000,\r\n });\r\n }\r\n\r\n resolve(blob);\r\n }\r\n };\r\n\r\n // 监听 error 事件\r\n xhr.onerror = function (e) {\r\n GmMessage.error('下载异常,请重试');\r\n reject(e);\r\n };\r\n\r\n // 发送请求\r\n xhr.send();\r\n });\r\n };\r\n return { downloadByUrl, downloadByRes, downloadToZip };\r\n};\r\n\r\n// 动态更新 notify 中的message 信息\r\nconst editElementContent = (className: string, content: string) => {\r\n // eslint-disable-next-line unicorn/prefer-query-selector\r\n const currentEle = document.getElementsByClassName(className)[0];\r\n if (currentEle) {\r\n currentEle.innerHTML = content;\r\n }\r\n};\r\n"],"names":["uuidv4","res"],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
/// <reference types="@vueuse/shared" />
|
|
2
2
|
import { type MaybeRefOrGetter } from '@vueuse/core';
|
|
3
3
|
import type { UseIDBOptions } from '@vueuse/integrations/useIDBKeyval';
|
|
4
|
+
/**
|
|
5
|
+
* indexedDB 的封装
|
|
6
|
+
* 与 @vueuse/integrations/useIDBKeyval 的区别是,这个hook提供等待indexedDB 初始化完成的方法 initIndexedDBComplete
|
|
7
|
+
*/
|
|
4
8
|
export declare const useIDBKeyval: <T>(key: IDBValidKey, initialValue: MaybeRefOrGetter<T>, options?: UseIDBOptions) => {
|
|
5
9
|
data: import("@vueuse/shared").RemovableRef<T>;
|
|
6
10
|
isFinished: import("vue").Ref<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useIDBKeyval/index.ts"],"sourcesContent":["import { watch } from 'vue';\r\nimport { useIDBKeyval as _useIDBKeyval } from '@vueuse/integrations/useIDBKeyval';\r\nimport { type MaybeRefOrGetter, createEventHook } from '@vueuse/core';\r\nimport type { UseIDBOptions } from '@vueuse/integrations/useIDBKeyval';\r\n\r\nexport const useIDBKeyval = <T>(key: IDBValidKey, initialValue: MaybeRefOrGetter<T>, options?: UseIDBOptions) => {\r\n const { data, isFinished, set } = _useIDBKeyval(key, initialValue, options);\r\n const IDBInitResult = createEventHook();\r\n /**当indexedDB 初始化完成 */\r\n const initIndexedDBComplete = async () => {\r\n if (isFinished.value) {\r\n return;\r\n }\r\n return new Promise<undefined>(resolve => {\r\n IDBInitResult.on(resolve);\r\n });\r\n };\r\n watch(isFinished, newValue => {\r\n if (newValue) {\r\n IDBInitResult.trigger();\r\n }\r\n });\r\n return {\r\n data,\r\n isFinished,\r\n set,\r\n initIndexedDBComplete,\r\n };\r\n};\r\n"],"names":["_useIDBKeyval"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useIDBKeyval/index.ts"],"sourcesContent":["import { watch } from 'vue';\r\nimport { useIDBKeyval as _useIDBKeyval } from '@vueuse/integrations/useIDBKeyval';\r\nimport { type MaybeRefOrGetter, createEventHook } from '@vueuse/core';\r\nimport type { UseIDBOptions } from '@vueuse/integrations/useIDBKeyval';\r\n\r\n/**\r\n * indexedDB 的封装\r\n * 与 @vueuse/integrations/useIDBKeyval 的区别是,这个hook提供等待indexedDB 初始化完成的方法 initIndexedDBComplete\r\n */\r\nexport const useIDBKeyval = <T>(key: IDBValidKey, initialValue: MaybeRefOrGetter<T>, options?: UseIDBOptions) => {\r\n const { data, isFinished, set } = _useIDBKeyval(key, initialValue, options);\r\n const IDBInitResult = createEventHook();\r\n /**当indexedDB 初始化完成 */\r\n const initIndexedDBComplete = async () => {\r\n if (isFinished.value) {\r\n return;\r\n }\r\n return new Promise<undefined>(resolve => {\r\n IDBInitResult.on(resolve);\r\n });\r\n };\r\n watch(isFinished, newValue => {\r\n if (newValue) {\r\n IDBInitResult.trigger();\r\n }\r\n });\r\n return {\r\n data,\r\n isFinished,\r\n set,\r\n initIndexedDBComplete,\r\n };\r\n};\r\n"],"names":["_useIDBKeyval"],"mappings":";;;;AASO,MAAM,YAAe,GAAA,CAAI,GAAkB,EAAA,YAAA,EAAmC,OAA4B,KAAA;AAC/G,EAAM,MAAA,EAAE,MAAM,UAAY,EAAA,GAAA,KAAQA,cAAc,CAAA,GAAA,EAAK,cAAc,OAAO,CAAA,CAAA;AAC1E,EAAA,MAAM,gBAAgB,eAAgB,EAAA,CAAA;AAEtC,EAAA,MAAM,wBAAwB,YAAY;AACxC,IAAA,IAAI,WAAW,KAAO,EAAA;AACpB,MAAA,OAAA;AAAA,KACF;AACA,IAAO,OAAA,IAAI,QAAmB,CAAW,OAAA,KAAA;AACvC,MAAA,aAAA,CAAc,GAAG,OAAO,CAAA,CAAA;AAAA,KACzB,CAAA,CAAA;AAAA,GACH,CAAA;AACA,EAAA,KAAA,CAAM,YAAY,CAAY,QAAA,KAAA;AAC5B,IAAA,IAAI,QAAU,EAAA;AACZ,MAAA,aAAA,CAAc,OAAQ,EAAA,CAAA;AAAA,KACxB;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA;AAAA,IACL,IAAA;AAAA,IACA,UAAA;AAAA,IACA,GAAA;AAAA,IACA,qBAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
package/es/index.css
CHANGED
|
@@ -569,6 +569,9 @@ video {
|
|
|
569
569
|
.gm-inline-block {
|
|
570
570
|
display: inline-block;
|
|
571
571
|
}
|
|
572
|
+
.gm-inline {
|
|
573
|
+
display: inline;
|
|
574
|
+
}
|
|
572
575
|
.gm-flex {
|
|
573
576
|
display: flex;
|
|
574
577
|
}
|
|
@@ -587,6 +590,9 @@ video {
|
|
|
587
590
|
.gm-h-1 {
|
|
588
591
|
height: 0.25rem;
|
|
589
592
|
}
|
|
593
|
+
.gm-h-\[30px\] {
|
|
594
|
+
height: 30px;
|
|
595
|
+
}
|
|
590
596
|
.gm-h-\[36px\] {
|
|
591
597
|
height: 36px;
|
|
592
598
|
}
|
|
@@ -602,6 +608,9 @@ video {
|
|
|
602
608
|
.gm-w-\[120px\] {
|
|
603
609
|
width: 120px;
|
|
604
610
|
}
|
|
611
|
+
.gm-w-\[30px\] {
|
|
612
|
+
width: 30px;
|
|
613
|
+
}
|
|
605
614
|
.gm-w-full {
|
|
606
615
|
width: 100%;
|
|
607
616
|
}
|
|
@@ -671,6 +680,9 @@ video {
|
|
|
671
680
|
--tw-bg-opacity: 1;
|
|
672
681
|
background-color: rgb(236 254 255 / var(--tw-bg-opacity));
|
|
673
682
|
}
|
|
683
|
+
.gm-stroke-2 {
|
|
684
|
+
stroke-width: 2;
|
|
685
|
+
}
|
|
674
686
|
.gm-p-4 {
|
|
675
687
|
padding: 1rem;
|
|
676
688
|
}
|
|
@@ -755,10 +767,6 @@ video {
|
|
|
755
767
|
margin: 0;
|
|
756
768
|
}
|
|
757
769
|
|
|
758
|
-
[data-v-ec3af0bb] .gmSearchForm .el-form-item {
|
|
759
|
-
margin-right: 0;
|
|
760
|
-
margin-bottom: 4px;
|
|
761
|
-
}
|
|
762
770
|
.gm-flex-center[data-v-2a79bac9] {
|
|
763
771
|
align-items: center;
|
|
764
772
|
}
|
|
@@ -766,6 +774,37 @@ video {
|
|
|
766
774
|
.gm-flex-justify-between[data-v-2a79bac9] {
|
|
767
775
|
justify-content: space-between;
|
|
768
776
|
}
|
|
777
|
+
.circular[data-v-b391445c] {
|
|
778
|
+
animation: loading-rotate-b391445c 2s linear infinite;
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
.path[data-v-b391445c] {
|
|
782
|
+
animation: loading-dash-b391445c 1.5s ease-in-out infinite;
|
|
783
|
+
stroke-dasharray: 90, 150;
|
|
784
|
+
stroke-dashoffset: 0;
|
|
785
|
+
stroke: var(--el-color-primary);
|
|
786
|
+
stroke-linecap: round;
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
@keyframes loading-rotate-b391445c {
|
|
790
|
+
to {
|
|
791
|
+
transform: rotate(360deg);
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
@keyframes loading-dash-b391445c {
|
|
795
|
+
0% {
|
|
796
|
+
stroke-dasharray: 1, 200;
|
|
797
|
+
stroke-dashoffset: 0;
|
|
798
|
+
}
|
|
799
|
+
50% {
|
|
800
|
+
stroke-dasharray: 90, 150;
|
|
801
|
+
stroke-dashoffset: -40px;
|
|
802
|
+
}
|
|
803
|
+
100% {
|
|
804
|
+
stroke-dasharray: 90, 150;
|
|
805
|
+
stroke-dashoffset: -120px;
|
|
806
|
+
}
|
|
807
|
+
}
|
|
769
808
|
.gm-number-interval-single[data-v-47a13fd0] {
|
|
770
809
|
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
771
810
|
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
@@ -807,6 +846,10 @@ video {
|
|
|
807
846
|
[data-v-72a53f6c] .gmTableNoBorder .el-table__border-left-patch {
|
|
808
847
|
height: 0;
|
|
809
848
|
}
|
|
849
|
+
[data-v-ec3af0bb] .gmSearchForm .el-form-item {
|
|
850
|
+
margin-right: 0;
|
|
851
|
+
margin-bottom: 4px;
|
|
852
|
+
}
|
|
810
853
|
|
|
811
854
|
.pagination-container[data-v-19230954] {
|
|
812
855
|
background: #fff;
|
|
@@ -206,6 +206,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
206
206
|
empty?(_: {}): any;
|
|
207
207
|
tag?(_: {}): any;
|
|
208
208
|
loading?(_: {}): any;
|
|
209
|
+
label?(_: any): any;
|
|
209
210
|
}>;
|
|
210
211
|
export default _default;
|
|
211
212
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var Select_vue_vue_type_script_setup_true_lang = require('./Select.vue2.js');
|
|
6
|
+
require('./Select.vue3.js');
|
|
6
7
|
var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
|
|
7
8
|
|
|
8
|
-
var Select = /* @__PURE__ */ _pluginVue_exportHelper.default(Select_vue_vue_type_script_setup_true_lang.default, [["__file", "Select.vue"]]);
|
|
9
|
+
var Select = /* @__PURE__ */ _pluginVue_exportHelper.default(Select_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-b391445c"], ["__file", "Select.vue"]]);
|
|
9
10
|
|
|
10
11
|
exports.default = Select;
|
|
11
12
|
//# sourceMappingURL=Select.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Select.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -41,51 +41,75 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
41
41
|
vue.unref(slots).default ? {
|
|
42
42
|
name: "default",
|
|
43
43
|
fn: vue.withCtx(() => [
|
|
44
|
-
vue.renderSlot(_ctx.$slots, "default")
|
|
44
|
+
vue.renderSlot(_ctx.$slots, "default", {}, void 0, true)
|
|
45
45
|
]),
|
|
46
46
|
key: "0"
|
|
47
47
|
} : void 0,
|
|
48
48
|
vue.unref(slots).header ? {
|
|
49
49
|
name: "header",
|
|
50
50
|
fn: vue.withCtx(() => [
|
|
51
|
-
vue.renderSlot(_ctx.$slots, "header")
|
|
51
|
+
vue.renderSlot(_ctx.$slots, "header", {}, void 0, true)
|
|
52
52
|
]),
|
|
53
53
|
key: "1"
|
|
54
54
|
} : void 0,
|
|
55
55
|
vue.unref(slots).footer ? {
|
|
56
56
|
name: "footer",
|
|
57
57
|
fn: vue.withCtx(() => [
|
|
58
|
-
vue.renderSlot(_ctx.$slots, "footer")
|
|
58
|
+
vue.renderSlot(_ctx.$slots, "footer", {}, void 0, true)
|
|
59
59
|
]),
|
|
60
60
|
key: "2"
|
|
61
61
|
} : void 0,
|
|
62
62
|
vue.unref(slots).prefix ? {
|
|
63
63
|
name: "prefix",
|
|
64
64
|
fn: vue.withCtx(() => [
|
|
65
|
-
vue.renderSlot(_ctx.$slots, "prefix")
|
|
65
|
+
vue.renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
|
|
66
66
|
]),
|
|
67
67
|
key: "3"
|
|
68
68
|
} : void 0,
|
|
69
69
|
vue.unref(slots).empty ? {
|
|
70
70
|
name: "empty",
|
|
71
71
|
fn: vue.withCtx(() => [
|
|
72
|
-
vue.renderSlot(_ctx.$slots, "empty")
|
|
72
|
+
vue.renderSlot(_ctx.$slots, "empty", {}, void 0, true)
|
|
73
73
|
]),
|
|
74
74
|
key: "4"
|
|
75
75
|
} : void 0,
|
|
76
76
|
vue.unref(slots).tag ? {
|
|
77
77
|
name: "tag",
|
|
78
78
|
fn: vue.withCtx(() => [
|
|
79
|
-
vue.renderSlot(_ctx.$slots, "tag")
|
|
79
|
+
vue.renderSlot(_ctx.$slots, "tag", {}, void 0, true)
|
|
80
80
|
]),
|
|
81
81
|
key: "5"
|
|
82
82
|
} : void 0,
|
|
83
83
|
vue.unref(slots).loading ? {
|
|
84
84
|
name: "loading",
|
|
85
85
|
fn: vue.withCtx(() => [
|
|
86
|
-
vue.renderSlot(_ctx.$slots, "loading")
|
|
86
|
+
vue.renderSlot(_ctx.$slots, "loading", {}, void 0, true)
|
|
87
87
|
]),
|
|
88
88
|
key: "6"
|
|
89
|
+
} : {
|
|
90
|
+
name: "loading",
|
|
91
|
+
fn: vue.withCtx(() => [
|
|
92
|
+
(vue.openBlock(), vue.createElementBlock("svg", {
|
|
93
|
+
class: "circular gm-inline gm-h-[30px] gm-w-[30px]",
|
|
94
|
+
viewBox: "0 0 50 50"
|
|
95
|
+
}, [
|
|
96
|
+
vue.createElementVNode("circle", {
|
|
97
|
+
class: "path gm-stroke-2",
|
|
98
|
+
cx: "25",
|
|
99
|
+
cy: "25",
|
|
100
|
+
r: "20",
|
|
101
|
+
fill: "none"
|
|
102
|
+
})
|
|
103
|
+
]))
|
|
104
|
+
]),
|
|
105
|
+
key: "7"
|
|
106
|
+
},
|
|
107
|
+
vue.unref(slots).label ? {
|
|
108
|
+
name: "label",
|
|
109
|
+
fn: vue.withCtx((slotValue) => [
|
|
110
|
+
vue.renderSlot(_ctx.$slots, "label", vue.normalizeProps(vue.guardReactiveProps(slotValue)), void 0, true)
|
|
111
|
+
]),
|
|
112
|
+
key: "8"
|
|
89
113
|
} : void 0
|
|
90
114
|
]),
|
|
91
115
|
1040
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.vue2.js","sources":["../../../../../../../packages/components/src/base/select/Select.vue"],"sourcesContent":["<template>\r\n <el-select ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\" #default>\r\n <slot name=\"default\" />\r\n </template>\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"slots.tag\" #tag>\r\n <slot name=\"tag\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n </el-select>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useSlots } from 'vue';\r\nimport { getGmEvent, getGmExports } from '@giime/utils';\r\nimport { elSelectEmits, selectEmits, selectProps } from './select';\r\n\r\ndefineOptions({\r\n name: 'GmSelect',\r\n});\r\nconst slots = useSlots();\r\nconst props = defineProps(selectProps);\r\nconst emit = defineEmits(selectEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elSelectEmits, emit);\r\n\r\nconst elRef = ref();\r\nconst exposeNames = ['focus', 'blur'] as const;\r\nconst { exposeFns } = getGmExports(elRef, exposeNames);\r\n\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n"],"names":["useSlots","getGmEvent","elSelectEmits","ref","getGmExports"],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Select.vue2.js","sources":["../../../../../../../packages/components/src/base/select/Select.vue"],"sourcesContent":["<template>\r\n <el-select ref=\"elRef\" v-bind=\"props\" v-on=\"elEvents\">\r\n <template v-if=\"slots.default\" #default>\r\n <slot name=\"default\" />\r\n </template>\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"slots.tag\" #tag>\r\n <slot name=\"tag\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n <template v-else #loading>\r\n <svg class=\"circular gm-inline gm-h-[30px] gm-w-[30px]\" viewBox=\"0 0 50 50\">\r\n <circle class=\"path gm-stroke-2\" cx=\"25\" cy=\"25\" r=\"20\" fill=\"none\" />\r\n </svg>\r\n </template>\r\n <template v-if=\"slots.label\" #label=\"slotValue\">\r\n <slot name=\"label\" v-bind=\"slotValue\" />\r\n </template>\r\n </el-select>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { ref, useSlots } from 'vue';\r\nimport { getGmEvent, getGmExports } from '@giime/utils';\r\nimport { elSelectEmits, selectEmits, selectProps } from './select';\r\n\r\ndefineOptions({\r\n name: 'GmSelect',\r\n});\r\nconst slots = useSlots();\r\nconst props = defineProps(selectProps);\r\nconst emit = defineEmits(selectEmits);\r\n// 重发el的事件\r\nconst elEvents = getGmEvent(elSelectEmits, emit);\r\n\r\nconst elRef = ref();\r\nconst exposeNames = ['focus', 'blur'] as const;\r\nconst { exposeFns } = getGmExports(elRef, exposeNames);\r\n\r\ndefineExpose({\r\n ...exposeFns,\r\n});\r\n</script>\r\n<style lang=\"scss\" scoped>\r\n.circular {\r\n animation: loading-rotate 2s linear infinite;\r\n}\r\n.path {\r\n animation: loading-dash 1.5s ease-in-out infinite;\r\n stroke-dasharray: 90, 150;\r\n stroke-dashoffset: 0;\r\n stroke: var(--el-color-primary);\r\n stroke-linecap: round;\r\n}\r\n@keyframes loading-rotate {\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n@keyframes loading-dash {\r\n 0% {\r\n stroke-dasharray: 1, 200;\r\n stroke-dashoffset: 0;\r\n }\r\n 50% {\r\n stroke-dasharray: 90, 150;\r\n stroke-dashoffset: -40px;\r\n }\r\n 100% {\r\n stroke-dasharray: 90, 150;\r\n stroke-dashoffset: -120px;\r\n }\r\n}\r\n</style>\r\n"],"names":["useSlots","getGmEvent","elSelectEmits","ref","getGmExports"],"mappings":";;;;;;;;;;;;;;;;;;AAyCA,IAAA,MAAM,QAAQA,YAAS,EAAA,CAAA;AACvB,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,QAAA,GAAWC,gBAAW,CAAAC,oBAAA,EAAe,IAAI,CAAA,CAAA;AAE/C,IAAA,MAAM,QAAQC,OAAI,EAAA,CAAA;AAClB,IAAM,MAAA,WAAA,GAAc,CAAC,OAAA,EAAS,MAAM,CAAA,CAAA;AACpC,IAAA,MAAM,EAAE,SAAA,EAAc,GAAAC,sBAAA,CAAa,OAAO,WAAW,CAAA,CAAA;AAErD,IAAa,QAAA,CAAA;AAAA,MACX,GAAG,SAAA;AAAA,KACJ,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -468,6 +468,7 @@ export declare const GmSelect: import("../../../../utils").SFCWithInstall<{
|
|
|
468
468
|
empty?(_: {}): any;
|
|
469
469
|
tag?(_: {}): any;
|
|
470
470
|
loading?(_: {}): any;
|
|
471
|
+
label?(_: any): any;
|
|
471
472
|
};
|
|
472
473
|
})> & Record<string, any>;
|
|
473
474
|
export type SelectInstance = InstanceType<typeof Select>;
|
package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts
CHANGED
|
@@ -8,6 +8,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
8
8
|
type: StringConstructor;
|
|
9
9
|
required: true;
|
|
10
10
|
};
|
|
11
|
+
loading: {
|
|
12
|
+
type: BooleanConstructor;
|
|
13
|
+
default: boolean;
|
|
14
|
+
};
|
|
11
15
|
multiple: {
|
|
12
16
|
type: BooleanConstructor;
|
|
13
17
|
default: boolean;
|
|
@@ -45,6 +49,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
45
49
|
type: StringConstructor;
|
|
46
50
|
required: true;
|
|
47
51
|
};
|
|
52
|
+
loading: {
|
|
53
|
+
type: BooleanConstructor;
|
|
54
|
+
default: boolean;
|
|
55
|
+
};
|
|
48
56
|
multiple: {
|
|
49
57
|
type: BooleanConstructor;
|
|
50
58
|
default: boolean;
|
|
@@ -75,6 +83,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
75
83
|
}, {
|
|
76
84
|
options: import("../../..").SelectOptionsOptionType[];
|
|
77
85
|
disabled: boolean;
|
|
86
|
+
loading: boolean;
|
|
78
87
|
label: string;
|
|
79
88
|
multiple: boolean;
|
|
80
89
|
optionLabel: string;
|
package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.js
CHANGED
|
@@ -41,11 +41,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
41
41
|
disabled: _ctx.disabled,
|
|
42
42
|
options: _ctx.options,
|
|
43
43
|
labelKey: _ctx.labelKey,
|
|
44
|
+
loading: _ctx.loading,
|
|
44
45
|
optionLabel: _ctx.optionLabel,
|
|
45
46
|
optionValue: _ctx.optionValue,
|
|
46
47
|
class: "gm-w-full",
|
|
47
48
|
onChange: _cache[1] || (_cache[1] = ($event) => emit("change", $event))
|
|
48
|
-
}, null, 8, ["modelValue", "placeholder", "multiple", "disabled", "options", "labelKey", "optionLabel", "optionValue"])
|
|
49
|
+
}, null, 8, ["modelValue", "placeholder", "multiple", "disabled", "options", "labelKey", "loading", "optionLabel", "optionValue"])
|
|
49
50
|
]),
|
|
50
51
|
_: 1
|
|
51
52
|
/* STABLE */
|
package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchFormSelect.vue2.js","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue"],"sourcesContent":["<template>\r\n <gm-form-item :prop=\"prop\" class=\"\">\r\n <gm-select-options\r\n v-model=\"modelValue\"\r\n :placeholder=\"label\"\r\n :multiple=\"multiple\"\r\n filterable\r\n clearable\r\n collapse-tags\r\n collapse-tags-tooltip\r\n :disabled=\"disabled\"\r\n :options=\"options\"\r\n :labelKey=\"labelKey\"\r\n :optionLabel=\"optionLabel\"\r\n :optionValue=\"optionValue\"\r\n class=\"gm-w-full\"\r\n @change=\"emit('change', $event)\"\r\n />\r\n </gm-form-item>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { useWatchModelChange } from '../../composables/useWatchModelChange';\r\nimport { SearchFormSelectName, searchFormSelectEmits, searchFormSelectProps } from './searchFormSelect';\r\nimport type { SelectProps } from '@giime/components/src/base/select';\r\n\r\ndefineOptions({\r\n name: SearchFormSelectName,\r\n});\r\nconst props = defineProps(searchFormSelectProps);\r\nconst modelValue = defineModel<SelectProps['modelValue'] | undefined>();\r\n\r\nconst emit = defineEmits(searchFormSelectEmits);\r\nuseWatchModelChange(modelValue, { prop: props.prop });\r\n</script>\r\n"],"names":["_useModel","useWatchModelChange"],"mappings":";;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SearchFormSelect.vue2.js","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue"],"sourcesContent":["<template>\r\n <gm-form-item :prop=\"prop\" class=\"\">\r\n <gm-select-options\r\n v-model=\"modelValue\"\r\n :placeholder=\"label\"\r\n :multiple=\"multiple\"\r\n filterable\r\n clearable\r\n collapse-tags\r\n collapse-tags-tooltip\r\n :disabled=\"disabled\"\r\n :options=\"options\"\r\n :labelKey=\"labelKey\"\r\n :loading=\"loading\"\r\n :optionLabel=\"optionLabel\"\r\n :optionValue=\"optionValue\"\r\n class=\"gm-w-full\"\r\n @change=\"emit('change', $event)\"\r\n />\r\n </gm-form-item>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { useWatchModelChange } from '../../composables/useWatchModelChange';\r\nimport { SearchFormSelectName, searchFormSelectEmits, searchFormSelectProps } from './searchFormSelect';\r\nimport type { SelectProps } from '@giime/components/src/base/select';\r\n\r\ndefineOptions({\r\n name: SearchFormSelectName,\r\n});\r\nconst props = defineProps(searchFormSelectProps);\r\nconst modelValue = defineModel<SelectProps['modelValue'] | undefined>();\r\n\r\nconst emit = defineEmits(searchFormSelectEmits);\r\nuseWatchModelChange(modelValue, { prop: props.prop });\r\n</script>\r\n"],"names":["_useModel","useWatchModelChange"],"mappings":";;;;;;;;;;;;;;;;;;;AA6BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAM,MAAA,UAAA,GAAaA,YAAmD,CAAA,OAAA,EAAA,YAAA,CAAA,CAAA;AAEtE,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAAC,uCAAA,CAAoB,UAAY,EAAA,EAAE,IAAM,EAAA,KAAA,CAAM,MAAM,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,6 +9,10 @@ export declare const GmSearchFormSelect: import("../../../../../../utils").SFCWi
|
|
|
9
9
|
type: StringConstructor;
|
|
10
10
|
required: true;
|
|
11
11
|
};
|
|
12
|
+
loading: {
|
|
13
|
+
type: BooleanConstructor;
|
|
14
|
+
default: boolean;
|
|
15
|
+
};
|
|
12
16
|
multiple: {
|
|
13
17
|
type: BooleanConstructor;
|
|
14
18
|
default: boolean;
|
|
@@ -46,6 +50,10 @@ export declare const GmSearchFormSelect: import("../../../../../../utils").SFCWi
|
|
|
46
50
|
type: StringConstructor;
|
|
47
51
|
required: true;
|
|
48
52
|
};
|
|
53
|
+
loading: {
|
|
54
|
+
type: BooleanConstructor;
|
|
55
|
+
default: boolean;
|
|
56
|
+
};
|
|
49
57
|
multiple: {
|
|
50
58
|
type: BooleanConstructor;
|
|
51
59
|
default: boolean;
|
|
@@ -76,6 +84,7 @@ export declare const GmSearchFormSelect: import("../../../../../../utils").SFCWi
|
|
|
76
84
|
}, {
|
|
77
85
|
options: import("../../../index.js").SelectOptionsOptionType[];
|
|
78
86
|
disabled: boolean;
|
|
87
|
+
loading: boolean;
|
|
79
88
|
label: string;
|
|
80
89
|
multiple: boolean;
|
|
81
90
|
optionLabel: string;
|
package/lib/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchFormSelect.js","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.ts"],"sourcesContent":["import { selectOptionsProps } from '@giime/components/src/composite/selectOptions/selectOptions';\r\nimport { searchFormCommonProps } from '../common';\r\nimport type { OptionProps } from '@giime/components/src/base';\r\n// import type { PropType } from 'vue';\r\nexport interface SearchFormSelectPropsOption {\r\n label: OptionProps['label'];\r\n value: OptionProps['value'];\r\n}\r\nexport const searchFormSelectProps = {\r\n ...searchFormCommonProps,\r\n label: {\r\n type: String,\r\n default: '',\r\n },\r\n prop: {\r\n type: String,\r\n required: true as const,\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n options: selectOptionsProps.options,\r\n optionLabel: selectOptionsProps.optionLabel,\r\n // 自定义指定option中的value字段\r\n optionValue: selectOptionsProps.optionValue,\r\n labelKey: selectOptionsProps.labelKey,\r\n};\r\n\r\nexport const searchFormSelectEmits = {\r\n change: (...value: any[]) => !!value,\r\n};\r\nexport const SearchFormSelectName = 'GmSearchFormSelect';\r\n"],"names":["searchFormCommonProps","selectOptionsProps"],"mappings":";;;;;AAQO,MAAM,qBAAwB,GAAA;AAAA,EACnC,GAAGA,4BAAA;AAAA,EACH,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAASC,gCAAmB,CAAA,OAAA;AAAA,EAC5B,aAAaA,gCAAmB,CAAA,WAAA;AAAA;AAAA,EAEhC,aAAaA,gCAAmB,CAAA,WAAA;AAAA,EAChC,UAAUA,gCAAmB,CAAA,QAAA;AAC/B,EAAA;AAEO,MAAM,qBAAwB,GAAA;AAAA,EACnC,MAAQ,EAAA,CAAA,GAAI,KAAiB,KAAA,CAAC,CAAC,KAAA;AACjC,EAAA;AACO,MAAM,oBAAuB,GAAA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"searchFormSelect.js","sources":["../../../../../../../../../packages/components/src/composite/searchForm/searchFormItems/select/searchFormSelect.ts"],"sourcesContent":["import { selectOptionsProps } from '@giime/components/src/composite/selectOptions/selectOptions';\r\nimport { searchFormCommonProps } from '../common';\r\nimport type { OptionProps } from '@giime/components/src/base';\r\n// import type { PropType } from 'vue';\r\nexport interface SearchFormSelectPropsOption {\r\n label: OptionProps['label'];\r\n value: OptionProps['value'];\r\n}\r\nexport const searchFormSelectProps = {\r\n ...searchFormCommonProps,\r\n label: {\r\n type: String,\r\n default: '',\r\n },\r\n prop: {\r\n type: String,\r\n required: true as const,\r\n },\r\n loading: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n multiple: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n options: selectOptionsProps.options,\r\n optionLabel: selectOptionsProps.optionLabel,\r\n // 自定义指定option中的value字段\r\n optionValue: selectOptionsProps.optionValue,\r\n labelKey: selectOptionsProps.labelKey,\r\n};\r\n\r\nexport const searchFormSelectEmits = {\r\n change: (...value: any[]) => !!value,\r\n};\r\nexport const SearchFormSelectName = 'GmSearchFormSelect';\r\n"],"names":["searchFormCommonProps","selectOptionsProps"],"mappings":";;;;;AAQO,MAAM,qBAAwB,GAAA;AAAA,EACnC,GAAGA,4BAAA;AAAA,EACH,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,SAASC,gCAAmB,CAAA,OAAA;AAAA,EAC5B,aAAaA,gCAAmB,CAAA,WAAA;AAAA;AAAA,EAEhC,aAAaA,gCAAmB,CAAA,WAAA;AAAA,EAChC,UAAUA,gCAAmB,CAAA,QAAA;AAC/B,EAAA;AAEO,MAAM,qBAAwB,GAAA;AAAA,EACnC,MAAQ,EAAA,CAAA,GAAI,KAAiB,KAAA,CAAC,CAAC,KAAA;AACjC,EAAA;AACO,MAAM,oBAAuB,GAAA;;;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
declare const _default: import("vue").DefineComponent<{
|
|
1
|
+
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
2
2
|
clearable: {
|
|
3
3
|
type: BooleanConstructor;
|
|
4
4
|
default: boolean;
|
|
@@ -237,5 +237,18 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
237
237
|
optionLabel: string;
|
|
238
238
|
optionValue: string;
|
|
239
239
|
labelKey: string | boolean;
|
|
240
|
-
}, {}
|
|
240
|
+
}, {}>, {
|
|
241
|
+
header?(_: {}): any;
|
|
242
|
+
footer?(_: {}): any;
|
|
243
|
+
prefix?(_: {}): any;
|
|
244
|
+
empty?(_: {}): any;
|
|
245
|
+
tag?(_: {}): any;
|
|
246
|
+
loading?(_: {}): any;
|
|
247
|
+
label?(_: any): any;
|
|
248
|
+
}>;
|
|
241
249
|
export default _default;
|
|
250
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
251
|
+
new (): {
|
|
252
|
+
$slots: S;
|
|
253
|
+
};
|
|
254
|
+
};
|
|
@@ -19,6 +19,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
19
19
|
const props = __props;
|
|
20
20
|
const emit = __emit;
|
|
21
21
|
const events = event.getGmEvent(selectOptions.selectOptionsEmits, emit);
|
|
22
|
+
const slots = vue.useSlots();
|
|
22
23
|
const labelOptions = vue.computed(() => {
|
|
23
24
|
return props.options.map((it, i) => {
|
|
24
25
|
const res = {
|
|
@@ -41,7 +42,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
41
42
|
return vue.openBlock(), vue.createBlock(
|
|
42
43
|
_component_gm_select,
|
|
43
44
|
vue.mergeProps(props, vue.toHandlers(vue.unref(events))),
|
|
44
|
-
{
|
|
45
|
+
vue.createSlots({
|
|
45
46
|
default: vue.withCtx(() => [
|
|
46
47
|
(vue.openBlock(true), vue.createElementBlock(
|
|
47
48
|
vue.Fragment,
|
|
@@ -57,11 +58,61 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
57
58
|
/* KEYED_FRAGMENT */
|
|
58
59
|
))
|
|
59
60
|
]),
|
|
60
|
-
_:
|
|
61
|
-
/*
|
|
62
|
-
},
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
_: 2
|
|
62
|
+
/* DYNAMIC */
|
|
63
|
+
}, [
|
|
64
|
+
vue.unref(slots).header ? {
|
|
65
|
+
name: "header",
|
|
66
|
+
fn: vue.withCtx(() => [
|
|
67
|
+
vue.renderSlot(_ctx.$slots, "header")
|
|
68
|
+
]),
|
|
69
|
+
key: "0"
|
|
70
|
+
} : void 0,
|
|
71
|
+
vue.unref(slots).footer ? {
|
|
72
|
+
name: "footer",
|
|
73
|
+
fn: vue.withCtx(() => [
|
|
74
|
+
vue.renderSlot(_ctx.$slots, "footer")
|
|
75
|
+
]),
|
|
76
|
+
key: "1"
|
|
77
|
+
} : void 0,
|
|
78
|
+
vue.unref(slots).prefix ? {
|
|
79
|
+
name: "prefix",
|
|
80
|
+
fn: vue.withCtx(() => [
|
|
81
|
+
vue.renderSlot(_ctx.$slots, "prefix")
|
|
82
|
+
]),
|
|
83
|
+
key: "2"
|
|
84
|
+
} : void 0,
|
|
85
|
+
vue.unref(slots).empty ? {
|
|
86
|
+
name: "empty",
|
|
87
|
+
fn: vue.withCtx(() => [
|
|
88
|
+
vue.renderSlot(_ctx.$slots, "empty")
|
|
89
|
+
]),
|
|
90
|
+
key: "3"
|
|
91
|
+
} : void 0,
|
|
92
|
+
vue.unref(slots).tag ? {
|
|
93
|
+
name: "tag",
|
|
94
|
+
fn: vue.withCtx(() => [
|
|
95
|
+
vue.renderSlot(_ctx.$slots, "tag")
|
|
96
|
+
]),
|
|
97
|
+
key: "4"
|
|
98
|
+
} : void 0,
|
|
99
|
+
vue.unref(slots).loading ? {
|
|
100
|
+
name: "loading",
|
|
101
|
+
fn: vue.withCtx(() => [
|
|
102
|
+
vue.renderSlot(_ctx.$slots, "loading")
|
|
103
|
+
]),
|
|
104
|
+
key: "5"
|
|
105
|
+
} : void 0,
|
|
106
|
+
vue.unref(slots).label ? {
|
|
107
|
+
name: "label",
|
|
108
|
+
fn: vue.withCtx((slotValue) => [
|
|
109
|
+
vue.renderSlot(_ctx.$slots, "label", vue.normalizeProps(vue.guardReactiveProps(slotValue)))
|
|
110
|
+
]),
|
|
111
|
+
key: "6"
|
|
112
|
+
} : void 0
|
|
113
|
+
]),
|
|
114
|
+
1040
|
|
115
|
+
/* FULL_PROPS, DYNAMIC_SLOTS */
|
|
65
116
|
);
|
|
66
117
|
};
|
|
67
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectOptions.vue2.js","sources":["../../../../../../../packages/components/src/composite/selectOptions/SelectOptions.vue"],"sourcesContent":["<template>\r\n <gm-select v-bind=\"props\" v-on=\"events\">\r\n <gm-option v-for=\"(item, index) in labelOptions\" :key=\"index\" :label=\"item.label\" :value=\"item.value\" />\r\n </gm-select>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed } from 'vue';\r\nimport { getGmEvent } from '@giime/utils';\r\nimport { isString } from '@giime/utils/src/is';\r\nimport { selectOptionsEmits, selectOptionsProps } from './selectOptions';\r\ndefineOptions({\r\n name: 'GmSelectOptions',\r\n});\r\nconst props = defineProps(selectOptionsProps);\r\nconst emit = defineEmits(selectOptionsEmits);\r\nconst events = getGmEvent(selectOptionsEmits, emit);\r\n\r\nconst labelOptions = computed(() => {\r\n return props.options.map((it, i) => {\r\n const res = {\r\n label: it[props.optionLabel],\r\n value: it[props.optionValue],\r\n };\r\n if (props.labelKey === true) {\r\n res.label = `${it.id}. ${res.label}`;\r\n } else if (props.labelKey === 'index') {\r\n res.label = `${i + 1}. ${res.label}`;\r\n } else if (isString(props.labelKey) && Object.prototype.hasOwnProperty.call(it, props.labelKey)) {\r\n res.label = `${it[props.labelKey]}. ${res.label}`;\r\n }\r\n return res;\r\n });\r\n});\r\n</script>\r\n"],"names":["getGmEvent","selectOptionsEmits","computed","isString"],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"SelectOptions.vue2.js","sources":["../../../../../../../packages/components/src/composite/selectOptions/SelectOptions.vue"],"sourcesContent":["<template>\r\n <gm-select v-bind=\"props\" v-on=\"events\">\r\n <gm-option v-for=\"(item, index) in labelOptions\" :key=\"index\" :label=\"item.label\" :value=\"item.value\" />\r\n <template v-if=\"slots.header\" #header>\r\n <slot name=\"header\" />\r\n </template>\r\n <template v-if=\"slots.footer\" #footer>\r\n <slot name=\"footer\" />\r\n </template>\r\n <template v-if=\"slots.prefix\" #prefix>\r\n <slot name=\"prefix\" />\r\n </template>\r\n <template v-if=\"slots.empty\" #empty>\r\n <slot name=\"empty\" />\r\n </template>\r\n <template v-if=\"slots.tag\" #tag>\r\n <slot name=\"tag\" />\r\n </template>\r\n <template v-if=\"slots.loading\" #loading>\r\n <slot name=\"loading\" />\r\n </template>\r\n <template v-if=\"slots.label\" #label=\"slotValue\">\r\n <slot name=\"label\" v-bind=\"slotValue\" />\r\n </template>\r\n </gm-select>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { computed, useSlots } from 'vue';\r\nimport { getGmEvent } from '@giime/utils';\r\nimport { isString } from '@giime/utils/src/is';\r\nimport { selectOptionsEmits, selectOptionsProps } from './selectOptions';\r\ndefineOptions({\r\n name: 'GmSelectOptions',\r\n});\r\nconst props = defineProps(selectOptionsProps);\r\nconst emit = defineEmits(selectOptionsEmits);\r\nconst events = getGmEvent(selectOptionsEmits, emit);\r\nconst slots = useSlots();\r\n\r\nconst labelOptions = computed(() => {\r\n return props.options.map((it, i) => {\r\n const res = {\r\n label: it[props.optionLabel],\r\n value: it[props.optionValue],\r\n };\r\n if (props.labelKey === true) {\r\n res.label = `${it.id}. ${res.label}`;\r\n } else if (props.labelKey === 'index') {\r\n res.label = `${i + 1}. ${res.label}`;\r\n } else if (isString(props.labelKey) && Object.prototype.hasOwnProperty.call(it, props.labelKey)) {\r\n res.label = `${it[props.labelKey]}. ${res.label}`;\r\n }\r\n return res;\r\n });\r\n});\r\n</script>\r\n"],"names":["getGmEvent","selectOptionsEmits","useSlots","computed","isString"],"mappings":";;;;;;;;;;;;;;;;;;AAkCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AACb,IAAM,MAAA,MAAA,GAASA,gBAAW,CAAAC,gCAAA,EAAoB,IAAI,CAAA,CAAA;AAClD,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAEvB,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAM;AAClC,MAAA,OAAO,KAAM,CAAA,OAAA,CAAQ,GAAI,CAAA,CAAC,IAAI,CAAM,KAAA;AAClC,QAAA,MAAM,GAAM,GAAA;AAAA,UACV,KAAA,EAAO,EAAG,CAAA,KAAA,CAAM,WAAW,CAAA;AAAA,UAC3B,KAAA,EAAO,EAAG,CAAA,KAAA,CAAM,WAAW,CAAA;AAAA,SAC7B,CAAA;AACA,QAAI,IAAA,KAAA,CAAM,aAAa,IAAM,EAAA;AAC3B,UAAA,GAAA,CAAI,QAAQ,CAAG,EAAA,EAAA,CAAG,EAAE,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA,CAAA;AAAA,SACpC,MAAA,IAAW,KAAM,CAAA,QAAA,KAAa,OAAS,EAAA;AACrC,UAAA,GAAA,CAAI,QAAQ,CAAG,EAAA,CAAA,GAAI,CAAC,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA,CAAA;AAAA,SACzB,MAAA,IAAAC,WAAA,CAAS,KAAM,CAAA,QAAQ,CAAK,IAAA,MAAA,CAAO,SAAU,CAAA,cAAA,CAAe,IAAK,CAAA,EAAA,EAAI,KAAM,CAAA,QAAQ,CAAG,EAAA;AAC/F,UAAI,GAAA,CAAA,KAAA,GAAQ,GAAG,EAAG,CAAA,KAAA,CAAM,QAAQ,CAAC,CAAA,EAAA,EAAK,IAAI,KAAK,CAAA,CAAA,CAAA;AAAA,SACjD;AACA,QAAO,OAAA,GAAA,CAAA;AAAA,OACR,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|