@touchvue/ui 1.0.0-beta.51 → 1.0.0-beta.53
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/es/components/form/src/form.vue.d.ts +0 -3
- package/es/components/index.d.ts +3 -1
- package/es/components/input/src/input.vue.d.ts +1 -10
- package/es/components/rate/index.d.ts +4 -0
- package/es/components/rate/src/instance.d.ts +2 -0
- package/es/components/rate/src/rate.vue.d.ts +77 -0
- package/es/components/select/src/select.d.ts +0 -8
- package/es/components/select/src/select.vue.d.ts +0 -9
- package/es/components/slide/src/slide.vue.d.ts +4 -0
- package/es/components/switch/src/switch.vue.d.ts +3 -3
- package/es/components/tab/src/tab.d.ts +1 -1
- package/es/components/tab/src/tab.vue.d.ts +17 -4
- package/es/index.d.mjs +1 -0
- package/es/index.d.mjs.map +1 -1
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/packages/components/cascader/src/cascader.vue2.mjs +1 -1
- package/es/packages/components/cascader/src/cascader.vue2.mjs.map +1 -1
- package/es/packages/components/checkbox/src/Checkbox.vue2.mjs +1 -1
- package/es/packages/components/checkbox/src/Checkbox.vue2.mjs.map +1 -1
- package/es/packages/components/checkboxes/src/Checkboxes.vue2.mjs.map +1 -1
- package/es/packages/components/datepicker/src/DatePicker.vue2.mjs +2 -3
- package/es/packages/components/datepicker/src/DatePicker.vue2.mjs.map +1 -1
- package/es/packages/components/daterange/src/date-range.vue2.mjs +18 -6
- package/es/packages/components/daterange/src/date-range.vue2.mjs.map +1 -1
- package/es/packages/components/form/src/form.vue2.mjs +1 -2
- package/es/packages/components/form/src/form.vue2.mjs.map +1 -1
- package/es/packages/components/index.d.mjs +1 -0
- package/es/packages/components/index.d.mjs.map +1 -1
- package/es/packages/components/index.mjs +1 -0
- package/es/packages/components/index.mjs.map +1 -1
- package/es/packages/components/input/src/input.vue2.mjs +63 -62
- package/es/packages/components/input/src/input.vue2.mjs.map +1 -1
- package/es/packages/components/page/src/page.vue2.mjs +6 -3
- package/es/packages/components/page/src/page.vue2.mjs.map +1 -1
- package/es/packages/components/rate/index.d.mjs +2 -0
- package/es/packages/components/rate/index.d.mjs.map +1 -0
- package/es/packages/components/rate/index.mjs +7 -0
- package/es/packages/components/rate/index.mjs.map +1 -0
- package/es/packages/components/rate/src/instance.d.mjs +2 -0
- package/es/packages/components/rate/src/instance.d.mjs.map +1 -0
- package/es/packages/components/rate/src/instance.mjs +2 -0
- package/es/packages/components/rate/src/instance.mjs.map +1 -0
- package/es/packages/components/rate/src/rate.vue.mjs +7 -0
- package/es/packages/components/rate/src/rate.vue.mjs.map +1 -0
- package/es/packages/components/rate/src/rate.vue2.mjs +153 -0
- package/es/packages/components/rate/src/rate.vue2.mjs.map +1 -0
- package/es/packages/components/segment/src/segment.vue.mjs +1 -4
- package/es/packages/components/segment/src/segment.vue.mjs.map +1 -1
- package/es/packages/components/select/src/hooks/use-select-class-style.mjs +1 -1
- package/es/packages/components/select/src/hooks/use-select-class-style.mjs.map +1 -1
- package/es/packages/components/select/src/select.mjs +0 -8
- package/es/packages/components/select/src/select.mjs.map +1 -1
- package/es/packages/components/select/src/select.vue2.mjs +2 -2
- package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
- package/es/packages/components/slide/src/slide.vue2.mjs +3 -1
- package/es/packages/components/slide/src/slide.vue2.mjs.map +1 -1
- package/es/packages/components/switch/src/switch.vue2.mjs +4 -4
- package/es/packages/components/switch/src/switch.vue2.mjs.map +1 -1
- package/es/packages/components/tab/src/tab.vue2.mjs +401 -47
- package/es/packages/components/tab/src/tab.vue2.mjs.map +1 -1
- package/es/packages/components/transfer/src/transfer.vue2.mjs.map +1 -1
- package/es/packages/components/tree/src/tree.vue2.mjs +2 -0
- package/es/packages/components/tree/src/tree.vue2.mjs.map +1 -1
- package/es/packages/components/upload/src/upload.vue2.mjs +2 -2
- package/es/packages/components/upload/src/upload.vue2.mjs.map +1 -1
- package/es/packages/utils/disabledArea.mjs +2 -2
- package/es/packages/utils/disabledArea.mjs.map +1 -1
- package/es/packages/utils/validate.mjs +18 -11
- package/es/packages/utils/validate.mjs.map +1 -1
- package/global.d.ts +1 -0
- package/lib/components/form/src/form.vue.d.ts +0 -3
- package/lib/components/index.d.ts +3 -1
- package/lib/components/input/src/input.vue.d.ts +1 -10
- package/lib/components/rate/index.d.ts +4 -0
- package/lib/components/rate/src/instance.d.ts +2 -0
- package/lib/components/rate/src/rate.vue.d.ts +77 -0
- package/lib/components/select/src/select.d.ts +0 -8
- package/lib/components/select/src/select.vue.d.ts +0 -9
- package/lib/components/slide/src/slide.vue.d.ts +4 -0
- package/lib/components/switch/src/switch.vue.d.ts +3 -3
- package/lib/components/tab/src/tab.d.ts +1 -1
- package/lib/components/tab/src/tab.vue.d.ts +17 -4
- package/lib/index.d.js +8 -6
- package/lib/index.d.js.map +1 -1
- package/lib/index.js +13 -11
- package/lib/index.js.map +1 -1
- package/lib/packages/components/cascader/src/cascader.vue2.js +1 -1
- package/lib/packages/components/cascader/src/cascader.vue2.js.map +1 -1
- package/lib/packages/components/checkbox/src/Checkbox.vue2.js +1 -1
- package/lib/packages/components/checkbox/src/Checkbox.vue2.js.map +1 -1
- package/lib/packages/components/checkboxes/src/Checkboxes.vue2.js.map +1 -1
- package/lib/packages/components/datepicker/src/DatePicker.vue2.js +2 -3
- package/lib/packages/components/datepicker/src/DatePicker.vue2.js.map +1 -1
- package/lib/packages/components/daterange/src/date-range.vue2.js +18 -6
- package/lib/packages/components/daterange/src/date-range.vue2.js.map +1 -1
- package/lib/packages/components/form/src/form.vue2.js +1 -2
- package/lib/packages/components/form/src/form.vue2.js.map +1 -1
- package/lib/packages/components/index.d.js +2 -0
- package/lib/packages/components/index.d.js.map +1 -1
- package/lib/packages/components/index.js +2 -0
- package/lib/packages/components/index.js.map +1 -1
- package/lib/packages/components/input/src/input.vue2.js +63 -62
- package/lib/packages/components/input/src/input.vue2.js.map +1 -1
- package/lib/packages/components/page/src/page.vue2.js +6 -3
- package/lib/packages/components/page/src/page.vue2.js.map +1 -1
- package/lib/packages/components/rate/index.d.js +3 -0
- package/lib/packages/components/rate/index.d.js.map +1 -0
- package/lib/packages/components/rate/index.js +9 -0
- package/lib/packages/components/rate/index.js.map +1 -0
- package/lib/packages/components/rate/src/instance.d.js +3 -0
- package/lib/packages/components/rate/src/instance.d.js.map +1 -0
- package/lib/packages/components/rate/src/instance.js +3 -0
- package/lib/packages/components/rate/src/instance.js.map +1 -0
- package/lib/packages/components/rate/src/rate.vue.js +11 -0
- package/lib/packages/components/rate/src/rate.vue.js.map +1 -0
- package/lib/packages/components/rate/src/rate.vue2.js +157 -0
- package/lib/packages/components/rate/src/rate.vue2.js.map +1 -0
- package/lib/packages/components/segment/src/segment.vue.js +1 -4
- package/lib/packages/components/segment/src/segment.vue.js.map +1 -1
- package/lib/packages/components/select/src/hooks/use-select-class-style.js +1 -1
- package/lib/packages/components/select/src/hooks/use-select-class-style.js.map +1 -1
- package/lib/packages/components/select/src/select.js +0 -8
- package/lib/packages/components/select/src/select.js.map +1 -1
- package/lib/packages/components/select/src/select.vue2.js +2 -2
- package/lib/packages/components/select/src/select.vue2.js.map +1 -1
- package/lib/packages/components/slide/src/slide.vue2.js +3 -1
- package/lib/packages/components/slide/src/slide.vue2.js.map +1 -1
- package/lib/packages/components/switch/src/switch.vue2.js +4 -4
- package/lib/packages/components/switch/src/switch.vue2.js.map +1 -1
- package/lib/packages/components/tab/src/tab.vue2.js +400 -46
- package/lib/packages/components/tab/src/tab.vue2.js.map +1 -1
- package/lib/packages/components/transfer/src/transfer.vue2.js.map +1 -1
- package/lib/packages/components/tree/src/tree.vue2.js +2 -0
- package/lib/packages/components/tree/src/tree.vue2.js.map +1 -1
- package/lib/packages/components/upload/src/upload.vue2.js +2 -2
- package/lib/packages/components/upload/src/upload.vue2.js.map +1 -1
- package/lib/packages/utils/disabledArea.js +2 -2
- package/lib/packages/utils/disabledArea.js.map +1 -1
- package/lib/packages/utils/validate.js +24 -17
- package/lib/packages/utils/validate.js.map +1 -1
- package/package.json +1 -1
- package/theme/components/index.css +313 -122
- package/theme/index.css +313 -122
- package/theme/skin/default.css +313 -122
- package/types/global.d.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToUpload'\r\n});\n</script>\n<template>\r\n\t<div :id=\"id\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-upload\" :class=\"setClass\" :style=\"setStyle\">\r\n\t\t<span v-if=\"verifiable && validateRequired\" v-show=\"false\" class=\"to-validate\" :req=\"validateRequired\" :desc=\"validateDesc\" :value=\"validateValue\"></span>\r\n\t\t<input ref=\"fileInput\" type=\"file\" :accept=\"accept\" :multiple=\"props.multiple\" style=\"display: none\" @change=\"handleChange\" />\r\n\t\t<to-input v-if=\"type === 'input'\" readonly :disabled=\"props.disabled\" :width=\"props.width\" :placeholder=\"placeholder || t('to.common.placeholder.select')\" :verifiable=\"false\">\r\n\t\t\t<template #suffix>\r\n\t\t\t\t<to-icon value=\"browse\" link @click=\"handleFile\"></to-icon>\r\n\t\t\t</template>\r\n\t\t</to-input>\r\n\t\t<to-button v-if=\"type === 'button'\" :disabled=\"props.disabled\" icon=\"upload\" icon-position=\"left\" @click=\"handleFile\">{{ props.uploadText || t('to.upload.button') }}</to-button>\r\n\t\t<div v-if=\"type === 'img' && $slots.default\" class=\"to-upload-img\" :class=\"setPicClass\">\r\n\t\t\t<div class=\"to-upload-add\" @click=\"handleFile\">\r\n\t\t\t\t<to-icon value=\"add\" mode=\"upload-add\"></to-icon>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"showList\" class=\"to-upload-list\" style=\"width: 100%\">\r\n\t\t\t<slot :file-list=\"fileList\">\r\n\t\t\t\t<div v-if=\"type === 'img'\" class=\"to-upload-img\" :class=\"setPicClass\">\r\n\t\t\t\t\t<div v-if=\"fileList.length\" class=\"to-upload-img-list\">\r\n\t\t\t\t\t\t<div v-for=\"(item, index) in fileList\" :key=\"index\" class=\"to-upload-img-list-item\">\r\n\t\t\t\t\t\t\t<img :src=\"item.src\" class=\"to-upload-pic\" alt=\"\" />\r\n\t\t\t\t\t\t\t<to-icon value=\"delete\" mode=\"icon-remove\" link @click=\"handleDelete(index, item)\"></to-icon>\r\n\t\t\t\t\t\t\t<div v-if=\"item.progress\" class=\"upload-progress\">\r\n\t\t\t\t\t\t\t\t<div class=\"upload-progress-bar\" :style=\"{ width: item.progress + '%' }\"></div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-if=\"!$slots.default\" class=\"to-upload-add\" @click=\"handleFile\">\r\n\t\t\t\t\t\t<to-icon value=\"add\" mode=\"upload-add\"></to-icon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<template v-else>\r\n\t\t\t\t\t<div v-for=\"(item, index) in fileList\" :key=\"index\" class=\"to-upload-list-item\">\r\n\t\t\t\t\t\t<to-icon value=\"img\"></to-icon>\r\n\t\t\t\t\t\t<div v-tip:click=\"item.name\" class=\"file-name\">\r\n\t\t\t\t\t\t\t{{ item.name }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<span>{{ item.status }}</span>\r\n\t\t\t\t\t\t<div v-if=\"item.progress\" class=\"upload-progress\">\r\n\t\t\t\t\t\t\t<div class=\"upload-progress-bar\" :style=\"{ width: item.progress + '%' }\"></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<to-icon v-if=\"item[fileIdText] && downloadable\" value=\"download\" mode=\"color\" link @click=\"handleDownload(item[fileIdText])\"></to-icon>\r\n\t\t\t\t\t\t<to-icon value=\"delete\" mode=\"color\" link @click=\"handleDelete(index, item)\"></to-icon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</slot>\r\n\t\t</div>\r\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\r\n\t\t\t<template v-if=\"errorType === 'rule'\">\r\n\t\t\t\t{{ t('to.upload.selectError') }}\r\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\r\n\t\t\t</template>\r\n\t\t\t<template v-else> {{ t('to.upload.required') }} </template>\r\n\t\t</span>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { fileAjax, md5 } from '@touchvue/utils'\r\nimport { CSSProperties, computed, nextTick, onMounted, ref, inject, watch } from 'vue'\r\nimport { ToInput, ToIcon, ToButton, $tip } from '@touchvue/components'\r\nimport { t, langKey } from '@touchvue/locale'\r\n\r\n\r\nconst emit = defineEmits(['start', 'success', 'error', 'clear', 'change', 'progress', 'remove', 'download'])\r\n\r\nexport type UploadType = 'input' | 'img' | 'button'\r\n\r\nexport interface FileProps {\r\n\tflex?: boolean\r\n\tmode?: string\r\n\tmultiple?: boolean\r\n\tauto?: boolean\r\n\taction?: string\r\n\theaders?: object\r\n\tplaceholder?: string\r\n\tdesc?: string\r\n\tid?: string\r\n\trequired?: boolean\r\n\ttype?: UploadType\r\n\tpicSize?: string | number\r\n\twidth?: string | number\r\n\tmaxLength?: number\r\n\taccept?: string\r\n\tmaxSize?: string | number\r\n\tduplicatable?: false\r\n\tfileIdText?: string\r\n\tdisabled?: boolean\r\n\tdownloadable?: boolean\r\n\tname?: string\r\n\twithCredentials?: boolean\r\n\tfiles?: any[]\r\n\tdata?: object\r\n\tbeforeSelect?: ((fileList) => boolean | Promise<any>) | null\r\n\tbeforeStart?: ((file) => boolean | Promise<any>) | null\r\n\tverifiable?: boolean\r\n\tshowList?: boolean\r\n\tuploadText?: string\r\n}\r\n\r\nconst props = withDefaults(defineProps<FileProps>(), {\r\n\tflex: false,\r\n\tmode: 'default',\r\n\tmultiple: false,\r\n\taction: '',\r\n\tplaceholder: '',\r\n\tauto: false,\r\n\tdesc: '',\r\n\tid: 'upload' + new Date().getTime(),\r\n\trequired: false,\r\n\ttype: 'input',\r\n\tpicSize: '',\r\n\twidth: 20,\r\n\tmaxLength: Infinity,\r\n\taccept: props => (props.type === 'img' ? '.jpg,.jpeg,.png,.gif' : ''),\r\n\tmaxSize: '',\r\n\tduplicatable: false,\r\n\tfileIdText: 'fileId',\r\n\tdisabled: false,\r\n\tdownloadable: false,\r\n\tname: 'uploadfile',\r\n\twithCredentials: false,\r\n\tfiles: () => [],\r\n\tdata: () => ({}),\r\n\theaders: () => ({}),\r\n\tbeforeSelect: null,\r\n\tbeforeStart: null,\r\n\tverifiable: true,\r\n\tshowList: true,\r\n\tuploadText: ''\r\n})\r\n\r\nconst fileInput = ref(null)\r\nconst fileList = ref([])\r\nconst errorTip = ref('')\r\nconst errorType = ref('rule')\r\nconst ToFormItem = inject<{ required?: boolean; label?: string }>('ToFormItem', {})\r\nconst uploadList = ref([])\r\n\r\nonMounted(() => {\r\n\tfileList.value = props.files\r\n})\r\nwatch(\r\n\t() => props.files,\r\n\tval => {\r\n\t\tfileList.value = val\r\n\t},\r\n\t{\r\n\t\tdeep: true\r\n\t}\r\n)\r\nconst setClass = computed(() => {\r\n\tconst arr = ['to-form-readonly']\r\n\tif (errorTip.value) {\r\n\t\tarr.push('to-upload-mode-line')\r\n\t\tarr.push('to-upload-color-danger')\r\n\t\tarr.push('to-upload-tip-show')\r\n\t} else {\r\n\t\tif (props.mode) {\r\n\t\t\tarr.push(`mode-${props.mode}`)\r\n\t\t}\r\n\t}\r\n\treturn arr\r\n})\r\nconst setPicClass = computed(() => {\r\n\tconst arr = []\r\n\tif (props.picSize) {\r\n\t\tarr.push(`pic-size-${props.picSize}`)\r\n\t}\r\n\treturn arr\r\n})\r\nconst setStyle = computed(() => {\r\n\tconst style: CSSProperties = {}\r\n\tif (props.width) {\r\n\t\tstyle.width = isNaN(Number(props.width)) ? props.width : props.width + 'em'\r\n\t}\r\n\treturn style\r\n})\r\nconst validateRequired = computed(() => {\r\n\tif (props.required) {\r\n\t\treturn 'true'\r\n\t} else if (ToFormItem && ToFormItem.required) {\r\n\t\treturn 'true'\r\n\t} else {\r\n\t\treturn 'false'\r\n\t}\r\n})\r\nconst validateDesc = computed(() => {\r\n\tif (props.desc) {\r\n\t\treturn props.desc\r\n\t} else if (ToFormItem && ToFormItem.label) {\r\n\t\treturn ToFormItem.label\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n})\r\nconst validateValue = computed(() => {\r\n\tif (Object.keys(fileList.value).length > 0) {\r\n\t\treturn 'true'\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n})\r\nfunction handleFile() {\r\n\tif (props.disabled) return false\r\n\tfileInput.value.click()\r\n}\r\nasync function handleChange(e) {\r\n\tlet newFileList = []\r\n\tnewFileList = Array.from(e.target.files)\r\n\r\n\terrorTip.value = ''\r\n\tlet flag = true\r\n\tif (typeof props.beforeSelect === 'boolean') {\r\n\t\tflag = props.beforeSelect\r\n\t} else {\r\n\t\tif (props.beforeSelect) {\r\n\t\t\tif (typeof props.beforeSelect === 'function') {\r\n\t\t\t\tconst result = props.beforeSelect(newFileList)\r\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\r\n\t\t\t\t\tflag = await result\r\n\t\t\t\t} else {\r\n\t\t\t\t\tflag = !!result\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tflag = !!props.beforeSelect\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (!flag) return false\r\n\tnewFileList.forEach(item => {\r\n\t\titem.uid = getFileUid(item)\r\n\t})\r\n\tif (fileList.value.length + newFileList.length <= props.maxLength) {\r\n\t\tuploadList.value = Array.from(e.target.files)\r\n\t\temit('change', newFileList)\r\n\t\tif (props.duplicatable) {\r\n\t\t\te.target.value = ''\r\n\t\t}\r\n\t\tif (props.type === 'img') {\r\n\t\t\tnewFileList.forEach(item => {\r\n\t\t\t\tlet reader = new FileReader()\r\n\t\t\t\treader.addEventListener('load', () => {\r\n\t\t\t\t\titem.src = reader.result\r\n\t\t\t\t\tfileList.value.push(item)\r\n\t\t\t\t\tif (props.auto) {\r\n\t\t\t\t\t\thandleUpload(item)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\treader.readAsDataURL(item)\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tfileList.value = [...fileList.value, ...newFileList]\r\n\t\t\tif (newFileList.length && props.auto) {\r\n\t\t\t\tnextTick(() => {\r\n\t\t\t\t\tnewFileList.forEach(file => {\r\n\t\t\t\t\t\thandleUpload(file)\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\t$tip.danger(t('to.upload.tip.error.count', props.maxLength)).catch(() => {})\r\n\t}\r\n}\r\n\r\nasync function handleUpload(file) {\r\n\tif (!props.action) return false\r\n\tlet flag = true\r\n\tif (typeof props.beforeStart === 'boolean') {\r\n\t\tflag = props.beforeStart\r\n\t} else {\r\n\t\tif (props.beforeStart) {\r\n\t\t\tif (typeof props.beforeStart === 'function') {\r\n\t\t\t\tconst result = props.beforeStart(file)\r\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\r\n\t\t\t\t\tflag = await result\r\n\t\t\t\t} else {\r\n\t\t\t\t\tflag = !!result\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tflag = !!props.beforeStart\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (!flag) return false\r\n\tsetFilePropertyByUid(file.uid, 'status', 'start')\r\n\temit('start', file)\r\n\tlet formData = new FormData()\r\n\tformData.append(props.name, file)\r\n\tif (props.data) {\r\n\t\tObject.keys(props.data).forEach(key => {\r\n\t\t\tformData.append(key, props.data[key])\r\n\t\t})\r\n\t}\r\n\tfileAjax({\r\n\t\taction: props.action,\r\n\t\tdata: formData,\r\n\t\theaders: props.headers,\r\n\t\twithCredentials: props.withCredentials,\r\n\t\tonError: (err, status) => {\r\n\t\t\tsetFilePropertyByUid(file.uid, 'status', 'error')\r\n\t\t\temit('error', err, status, file)\r\n\t\t},\r\n\t\tonSuccess: (data, status) => {\r\n\t\t\tlet _data = JSON.parse(data)\r\n\t\t\tsetFilePropertyByUid(file.uid, 'status', 'success')\r\n\t\t\tsetFilePropertyByUid(file.uid, props.fileIdText, _data[props.fileIdText])\r\n\t\t\temit('success', _data, status, file)\r\n\t\t},\r\n\t\tonProgress: e => {\r\n\t\t\tsetFilePropertyByUid(file.uid, 'progress', Math.round((e.loaded / e.total) * 100))\r\n\t\t\temit('progress', e.loaded, e.total, file)\r\n\t\t}\r\n\t})\r\n}\r\n\r\nfunction handleDelete(index: number, item) {\r\n\tif (props.disabled) return false\r\n\tlet file = fileList.value.splice(index, 1)\r\n\tif (fileInput.value.value.includes(item.name)) {\r\n\t\tfileInput.value.value = ''\r\n\t}\r\n\temit('remove', file[0])\r\n}\r\nfunction getFileUid(fileObj) {\r\n\tif (!fileObj) return\r\n\tlet str = (fileObj.lastModifiedDate ? new Date().getTime() : fileObj.modificationdate) + fileObj.name + fileObj.size\r\n\treturn md5(str)\r\n}\r\nfunction setFilePropertyByUid(uid, key, value) {\r\n\tlet idx = fileList.value.findIndex(item => item.uid === uid)\r\n\tif (idx === -1) return\r\n\tfileList.value[idx][key] = value\r\n\tconst updatedItem = {\r\n\t\tlastModified: fileList.value[idx].lastModified,\r\n\t\tlastModifiedDate: fileList.value[idx].lastModifiedDate,\r\n\t\tname: fileList.value[idx].name,\r\n\t\tsize: fileList.value[idx].size,\r\n\t\ttype: fileList.value[idx].type,\r\n\t\tuid: fileList.value[idx].uid,\r\n\t\tsrc: fileList.value[idx].src,\r\n\t\tstatus: fileList.value[idx].status,\r\n\t\tprogress: fileList.value[idx].progress,\r\n\t\t[props.fileIdText]: fileList.value[idx][props.fileIdText],\r\n\t\t[key]: value\r\n\t}\r\n\tfileList.value.splice(idx, 1, updatedItem)\r\n}\r\nfunction handleDownload(fileId) {\r\n\temit('download', fileId)\r\n}\r\nfunction clear() {\r\n\tlet tem = fileList.value.filter(item => item[props.fileIdText])\r\n\tfileList.value = tem\r\n}\r\nasync function submit() {\r\n\terrorTip.value = ''\r\n\tlet flag = true\r\n\tif (typeof props.beforeSelect === 'boolean') {\r\n\t\tflag = props.beforeSelect\r\n\t} else {\r\n\t\tif (props.beforeSelect) {\r\n\t\t\tif (typeof props.beforeSelect === 'function') {\r\n\t\t\t\tconst result = props.beforeSelect(uploadList.value)\r\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\r\n\t\t\t\t\tflag = await result\r\n\t\t\t\t} else {\r\n\t\t\t\t\tflag = !!result\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tflag = !!props.beforeSelect\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (!flag) return false\r\n\tuploadList.value.forEach(item => {\r\n\t\titem.uid = getFileUid(item)\r\n\t})\r\n\tif (uploadList.value.length <= props.maxLength) {\r\n\t\tuploadList.value.forEach(file => {\r\n\t\t\thandleUpload(file)\r\n\t\t})\r\n\t} else {\r\n\t\t$tip.danger(t('to.upload.tip.error.count', props.maxLength)).catch(() => {})\r\n\t}\r\n}\r\ndefineExpose({\r\n\tclear,\r\n\terrorTip,\r\n\terrorType,\r\n\tsubmit\r\n})\r\n</script>\r\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","_createElementVNode","_createBlock","_createVNode","$slots","_renderSlot","_openBlock","_Fragment","_renderList","_normalizeStyle","_createTextVNode","_toDisplayString"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upload.vue2.mjs","sources":["../../../../../../packages/components/upload/src/upload.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\r\n\tname: 'ToUpload'\r\n});\n</script>\n<template>\r\n\t<div :id=\"id\" :key=\"langKey\" :flex=\"flex ? flex : null\" class=\"to-upload\" :class=\"setClass\" :style=\"setStyle\">\r\n\t\t<span v-if=\"verifiable && validateRequired\" v-show=\"false\" class=\"to-validate\" :req=\"validateRequired\" :desc=\"validateDesc\" :value=\"validateValue\"></span>\r\n\t\t<input ref=\"fileInput\" type=\"file\" :accept=\"accept\" :multiple=\"props.multiple\" style=\"display: none\" @change=\"handleChange\" />\r\n\t\t<to-input v-if=\"type === 'input'\" link :disabled=\"props.disabled\" :width=\"props.width\" :placeholder=\"placeholder || t('to.common.placeholder.select')\" :verifiable=\"false\">\r\n\t\t\t<template #suffix>\r\n\t\t\t\t<to-icon value=\"browse\" link @click=\"handleFile\"></to-icon>\r\n\t\t\t</template>\r\n\t\t</to-input>\r\n\t\t<to-button v-if=\"type === 'button'\" :disabled=\"props.disabled\" icon=\"upload\" icon-position=\"left\" @click=\"handleFile\">{{ props.uploadText || t('to.upload.button') }}</to-button>\r\n\t\t<div v-if=\"type === 'img' && $slots.default\" class=\"to-upload-img\" :class=\"setPicClass\">\r\n\t\t\t<div class=\"to-upload-add\" @click=\"handleFile\">\r\n\t\t\t\t<to-icon value=\"add\" mode=\"upload-add\"></to-icon>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"showList\" class=\"to-upload-list\" style=\"width: 100%\">\r\n\t\t\t<slot :file-list=\"fileList\">\r\n\t\t\t\t<div v-if=\"type === 'img'\" class=\"to-upload-img\" :class=\"setPicClass\">\r\n\t\t\t\t\t<div v-if=\"fileList.length\" class=\"to-upload-img-list\">\r\n\t\t\t\t\t\t<div v-for=\"(item, index) in fileList\" :key=\"index\" class=\"to-upload-img-list-item\">\r\n\t\t\t\t\t\t\t<img :src=\"item.src\" class=\"to-upload-pic\" alt=\"\" />\r\n\t\t\t\t\t\t\t<to-icon value=\"delete\" mode=\"icon-remove\" link @click=\"handleDelete(index, item)\"></to-icon>\r\n\t\t\t\t\t\t\t<div v-if=\"item.progress\" class=\"upload-progress\">\r\n\t\t\t\t\t\t\t\t<div class=\"upload-progress-bar\" :style=\"{ width: item.progress + '%' }\"></div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div v-if=\"!$slots.default\" class=\"to-upload-add\" @click=\"handleFile\">\r\n\t\t\t\t\t\t<to-icon value=\"add\" mode=\"upload-add\"></to-icon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<template v-else>\r\n\t\t\t\t\t<div v-for=\"(item, index) in fileList\" :key=\"index\" class=\"to-upload-list-item\">\r\n\t\t\t\t\t\t<to-icon value=\"img\"></to-icon>\r\n\t\t\t\t\t\t<div v-tip:click=\"item.name\" class=\"file-name\">\r\n\t\t\t\t\t\t\t{{ item.name }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<span>{{ item.status }}</span>\r\n\t\t\t\t\t\t<div v-if=\"item.progress\" class=\"upload-progress\">\r\n\t\t\t\t\t\t\t<div class=\"upload-progress-bar\" :style=\"{ width: item.progress + '%' }\"></div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t<to-icon v-if=\"item[fileIdText] && downloadable\" value=\"download\" mode=\"color\" link @click=\"handleDownload(item[fileIdText])\"></to-icon>\r\n\t\t\t\t\t\t<to-icon value=\"delete\" mode=\"color\" link @click=\"handleDelete(index, item)\"></to-icon>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</template>\r\n\t\t\t</slot>\r\n\t\t</div>\r\n\t\t<span v-if=\"errorTip\" v-color=\"'danger'\" class=\"to-box-tip\">\r\n\t\t\t<template v-if=\"errorType === 'rule'\">\r\n\t\t\t\t{{ t('to.upload.selectError') }}\r\n\t\t\t\t<to-icon v-tip.danger=\"errorTip\" value=\"help\" color=\"danger\" mode=\"toast\"></to-icon>\r\n\t\t\t</template>\r\n\t\t\t<template v-else> {{ t('to.upload.required') }} </template>\r\n\t\t</span>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport { fileAjax, md5 } from '@touchvue/utils'\r\nimport { CSSProperties, computed, nextTick, onMounted, ref, inject, watch } from 'vue'\r\nimport { ToInput, ToIcon, ToButton, $tip } from '@touchvue/components'\r\nimport { t, langKey } from '@touchvue/locale'\r\n\r\n\r\nconst emit = defineEmits(['start', 'success', 'error', 'clear', 'change', 'progress', 'remove', 'download'])\r\n\r\nexport type UploadType = 'input' | 'img' | 'button'\r\n\r\nexport interface FileProps {\r\n\tflex?: boolean\r\n\tmode?: string\r\n\tmultiple?: boolean\r\n\tauto?: boolean\r\n\taction?: string\r\n\theaders?: object\r\n\tplaceholder?: string\r\n\tdesc?: string\r\n\tid?: string\r\n\trequired?: boolean\r\n\ttype?: UploadType\r\n\tpicSize?: string | number\r\n\twidth?: string | number\r\n\tmaxLength?: number\r\n\taccept?: string\r\n\tmaxSize?: string | number\r\n\tduplicatable?: false\r\n\tfileIdText?: string\r\n\tdisabled?: boolean\r\n\tdownloadable?: boolean\r\n\tname?: string\r\n\twithCredentials?: boolean\r\n\tfiles?: any[]\r\n\tdata?: object\r\n\tbeforeSelect?: ((fileList) => boolean | Promise<any>) | null\r\n\tbeforeStart?: ((file) => boolean | Promise<any>) | null\r\n\tverifiable?: boolean\r\n\tshowList?: boolean\r\n\tuploadText?: string\r\n}\r\n\r\nconst props = withDefaults(defineProps<FileProps>(), {\r\n\tflex: false,\r\n\tmode: 'default',\r\n\tmultiple: false,\r\n\taction: '',\r\n\tplaceholder: '',\r\n\tauto: false,\r\n\tdesc: '',\r\n\tid: 'upload' + new Date().getTime(),\r\n\trequired: false,\r\n\ttype: 'input',\r\n\tpicSize: '',\r\n\twidth: 20,\r\n\tmaxLength: Infinity,\r\n\taccept: props => (props.type === 'img' ? '.jpg,.jpeg,.png,.gif' : ''),\r\n\tmaxSize: '',\r\n\tduplicatable: false,\r\n\tfileIdText: 'fileId',\r\n\tdisabled: false,\r\n\tdownloadable: false,\r\n\tname: 'uploadfile',\r\n\twithCredentials: false,\r\n\tfiles: () => [],\r\n\tdata: () => ({}),\r\n\theaders: () => ({}),\r\n\tbeforeSelect: null,\r\n\tbeforeStart: null,\r\n\tverifiable: true,\r\n\tshowList: true,\r\n\tuploadText: ''\r\n})\r\n\r\nconst fileInput = ref(null)\r\nconst fileList = ref([])\r\nconst errorTip = ref('')\r\nconst errorType = ref('rule')\r\nconst ToFormItem = inject<{ required?: boolean; label?: string }>('ToFormItem', {})\r\nconst uploadList = ref([])\r\n\r\nonMounted(() => {\r\n\tfileList.value = props.files\r\n})\r\nwatch(\r\n\t() => props.files,\r\n\tval => {\r\n\t\tfileList.value = val\r\n\t},\r\n\t{\r\n\t\tdeep: true\r\n\t}\r\n)\r\nconst setClass = computed(() => {\r\n\tconst arr = ['to-disable-target']\r\n\tif (errorTip.value) {\r\n\t\tarr.push('to-upload-mode-line')\r\n\t\tarr.push('to-upload-color-danger')\r\n\t\tarr.push('to-upload-tip-show')\r\n\t} else {\r\n\t\tif (props.mode) {\r\n\t\t\tarr.push(`mode-${props.mode}`)\r\n\t\t}\r\n\t}\r\n\treturn arr\r\n})\r\nconst setPicClass = computed(() => {\r\n\tconst arr = []\r\n\tif (props.picSize) {\r\n\t\tarr.push(`pic-size-${props.picSize}`)\r\n\t}\r\n\treturn arr\r\n})\r\nconst setStyle = computed(() => {\r\n\tconst style: CSSProperties = {}\r\n\tif (props.width) {\r\n\t\tstyle.width = isNaN(Number(props.width)) ? props.width : props.width + 'em'\r\n\t}\r\n\treturn style\r\n})\r\nconst validateRequired = computed(() => {\r\n\tif (props.required) {\r\n\t\treturn 'true'\r\n\t} else if (ToFormItem && ToFormItem.required) {\r\n\t\treturn 'true'\r\n\t} else {\r\n\t\treturn 'false'\r\n\t}\r\n})\r\nconst validateDesc = computed(() => {\r\n\tif (props.desc) {\r\n\t\treturn props.desc\r\n\t} else if (ToFormItem && ToFormItem.label) {\r\n\t\treturn ToFormItem.label\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n})\r\nconst validateValue = computed(() => {\r\n\tif (Object.keys(fileList.value).length > 0) {\r\n\t\treturn 'true'\r\n\t} else {\r\n\t\treturn ''\r\n\t}\r\n})\r\nfunction handleFile() {\r\n\tif (props.disabled) return false\r\n\tfileInput.value.click()\r\n}\r\nasync function handleChange(e) {\r\n\tlet newFileList = []\r\n\tnewFileList = Array.from(e.target.files)\r\n\r\n\terrorTip.value = ''\r\n\tlet flag = true\r\n\tif (typeof props.beforeSelect === 'boolean') {\r\n\t\tflag = props.beforeSelect\r\n\t} else {\r\n\t\tif (props.beforeSelect) {\r\n\t\t\tif (typeof props.beforeSelect === 'function') {\r\n\t\t\t\tconst result = props.beforeSelect(newFileList)\r\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\r\n\t\t\t\t\tflag = await result\r\n\t\t\t\t} else {\r\n\t\t\t\t\tflag = !!result\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tflag = !!props.beforeSelect\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (!flag) return false\r\n\tnewFileList.forEach(item => {\r\n\t\titem.uid = getFileUid(item)\r\n\t})\r\n\tif (fileList.value.length + newFileList.length <= props.maxLength) {\r\n\t\tuploadList.value = Array.from(e.target.files)\r\n\t\temit('change', newFileList)\r\n\t\tif (props.duplicatable) {\r\n\t\t\te.target.value = ''\r\n\t\t}\r\n\t\tif (props.type === 'img') {\r\n\t\t\tnewFileList.forEach(item => {\r\n\t\t\t\tlet reader = new FileReader()\r\n\t\t\t\treader.addEventListener('load', () => {\r\n\t\t\t\t\titem.src = reader.result\r\n\t\t\t\t\tfileList.value.push(item)\r\n\t\t\t\t\tif (props.auto) {\r\n\t\t\t\t\t\thandleUpload(item)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\treader.readAsDataURL(item)\r\n\t\t\t})\r\n\t\t} else {\r\n\t\t\tfileList.value = [...fileList.value, ...newFileList]\r\n\t\t\tif (newFileList.length && props.auto) {\r\n\t\t\t\tnextTick(() => {\r\n\t\t\t\t\tnewFileList.forEach(file => {\r\n\t\t\t\t\t\thandleUpload(file)\r\n\t\t\t\t\t})\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\t$tip.danger(t('to.upload.tip.error.count', props.maxLength)).catch(() => {})\r\n\t}\r\n}\r\n\r\nasync function handleUpload(file) {\r\n\tif (!props.action) return false\r\n\tlet flag = true\r\n\tif (typeof props.beforeStart === 'boolean') {\r\n\t\tflag = props.beforeStart\r\n\t} else {\r\n\t\tif (props.beforeStart) {\r\n\t\t\tif (typeof props.beforeStart === 'function') {\r\n\t\t\t\tconst result = props.beforeStart(file)\r\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\r\n\t\t\t\t\tflag = await result\r\n\t\t\t\t} else {\r\n\t\t\t\t\tflag = !!result\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tflag = !!props.beforeStart\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (!flag) return false\r\n\tsetFilePropertyByUid(file.uid, 'status', 'start')\r\n\temit('start', file)\r\n\tlet formData = new FormData()\r\n\tformData.append(props.name, file)\r\n\tif (props.data) {\r\n\t\tObject.keys(props.data).forEach(key => {\r\n\t\t\tformData.append(key, props.data[key])\r\n\t\t})\r\n\t}\r\n\tfileAjax({\r\n\t\taction: props.action,\r\n\t\tdata: formData,\r\n\t\theaders: props.headers,\r\n\t\twithCredentials: props.withCredentials,\r\n\t\tonError: (err, status) => {\r\n\t\t\tsetFilePropertyByUid(file.uid, 'status', 'error')\r\n\t\t\temit('error', err, status, file)\r\n\t\t},\r\n\t\tonSuccess: (data, status) => {\r\n\t\t\tlet _data = JSON.parse(data)\r\n\t\t\tsetFilePropertyByUid(file.uid, 'status', 'success')\r\n\t\t\tsetFilePropertyByUid(file.uid, props.fileIdText, _data[props.fileIdText])\r\n\t\t\temit('success', _data, status, file)\r\n\t\t},\r\n\t\tonProgress: e => {\r\n\t\t\tsetFilePropertyByUid(file.uid, 'progress', Math.round((e.loaded / e.total) * 100))\r\n\t\t\temit('progress', e.loaded, e.total, file)\r\n\t\t}\r\n\t})\r\n}\r\n\r\nfunction handleDelete(index: number, item) {\r\n\tif (props.disabled) return false\r\n\tlet file = fileList.value.splice(index, 1)\r\n\tif (fileInput.value.value.includes(item.name)) {\r\n\t\tfileInput.value.value = ''\r\n\t}\r\n\temit('remove', file[0])\r\n}\r\nfunction getFileUid(fileObj) {\r\n\tif (!fileObj) return\r\n\tlet str = (fileObj.lastModifiedDate ? new Date().getTime() : fileObj.modificationdate) + fileObj.name + fileObj.size\r\n\treturn md5(str)\r\n}\r\nfunction setFilePropertyByUid(uid, key, value) {\r\n\tlet idx = fileList.value.findIndex(item => item.uid === uid)\r\n\tif (idx === -1) return\r\n\tfileList.value[idx][key] = value\r\n\tconst updatedItem = {\r\n\t\tlastModified: fileList.value[idx].lastModified,\r\n\t\tlastModifiedDate: fileList.value[idx].lastModifiedDate,\r\n\t\tname: fileList.value[idx].name,\r\n\t\tsize: fileList.value[idx].size,\r\n\t\ttype: fileList.value[idx].type,\r\n\t\tuid: fileList.value[idx].uid,\r\n\t\tsrc: fileList.value[idx].src,\r\n\t\tstatus: fileList.value[idx].status,\r\n\t\tprogress: fileList.value[idx].progress,\r\n\t\t[props.fileIdText]: fileList.value[idx][props.fileIdText],\r\n\t\t[key]: value\r\n\t}\r\n\tfileList.value.splice(idx, 1, updatedItem)\r\n}\r\nfunction handleDownload(fileId) {\r\n\temit('download', fileId)\r\n}\r\nfunction clear() {\r\n\tlet tem = fileList.value.filter(item => item[props.fileIdText])\r\n\tfileList.value = tem\r\n}\r\nasync function submit() {\r\n\terrorTip.value = ''\r\n\tlet flag = true\r\n\tif (typeof props.beforeSelect === 'boolean') {\r\n\t\tflag = props.beforeSelect\r\n\t} else {\r\n\t\tif (props.beforeSelect) {\r\n\t\t\tif (typeof props.beforeSelect === 'function') {\r\n\t\t\t\tconst result = props.beforeSelect(uploadList.value)\r\n\t\t\t\tif (result && typeof (result as Promise<boolean>).then === 'function') {\r\n\t\t\t\t\tflag = await result\r\n\t\t\t\t} else {\r\n\t\t\t\t\tflag = !!result\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tflag = !!props.beforeSelect\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (!flag) return false\r\n\tuploadList.value.forEach(item => {\r\n\t\titem.uid = getFileUid(item)\r\n\t})\r\n\tif (uploadList.value.length <= props.maxLength) {\r\n\t\tuploadList.value.forEach(file => {\r\n\t\t\thandleUpload(file)\r\n\t\t})\r\n\t} else {\r\n\t\t$tip.danger(t('to.upload.tip.error.count', props.maxLength)).catch(() => {})\r\n\t}\r\n}\r\ndefineExpose({\r\n\tclear,\r\n\terrorTip,\r\n\terrorType,\r\n\tsubmit\r\n})\r\n</script>\r\n"],"names":["DO_defineComponent","_createElementBlock","_unref","_normalizeClass","_createElementVNode","_createBlock","_createVNode","$slots","_renderSlot","_openBlock","_Fragment","_renderList","_normalizeStyle","_createTextVNode","_toDisplayString"],"mappings":"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"}
|
|
@@ -5,9 +5,9 @@ function disabledArea(dom, flag) {
|
|
|
5
5
|
const element = document.getElementById(dom);
|
|
6
6
|
if (!element)
|
|
7
7
|
return;
|
|
8
|
-
nodes = element.querySelectorAll(".to-
|
|
8
|
+
nodes = element.querySelectorAll(".to-disable-target");
|
|
9
9
|
} else if (dom instanceof HTMLElement) {
|
|
10
|
-
nodes = dom.querySelectorAll(".to-
|
|
10
|
+
nodes = dom.querySelectorAll(".to-disable-target");
|
|
11
11
|
} else {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disabledArea.mjs","sources":["../../../../packages/utils/disabledArea.ts"],"sourcesContent":["export function disabledArea(dom: string | HTMLElement, flag: boolean): void {\r\n\tlet nodes: NodeListOf<Element> | undefined\r\n\r\n\tif (typeof dom === 'string') {\r\n\t\tconst element = document.getElementById(dom)\r\n\t\tif (!element) return\r\n\t\tnodes = element.querySelectorAll('.to-
|
|
1
|
+
{"version":3,"file":"disabledArea.mjs","sources":["../../../../packages/utils/disabledArea.ts"],"sourcesContent":["export function disabledArea(dom: string | HTMLElement, flag: boolean): void {\r\n\tlet nodes: NodeListOf<Element> | undefined\r\n\r\n\tif (typeof dom === 'string') {\r\n\t\tconst element = document.getElementById(dom)\r\n\t\tif (!element) return\r\n\t\tnodes = element.querySelectorAll('.to-disable-target')\r\n\t} else if (dom instanceof HTMLElement) {\r\n\t\tnodes = dom.querySelectorAll('.to-disable-target')\r\n\t} else {\r\n\t\treturn\r\n\t}\r\n\r\n\tif (!nodes || nodes.length === 0) return\r\n\r\n\tfor (let i = 0; i < nodes.length; i++) {\r\n\t\tconst node = nodes[i] as Element\r\n\r\n\t\t// 尝试通过 Vue 3 的方式获取组件实例\r\n\t\tif ('__vueParentComponent' in node) {\r\n\t\t\tconst componentInstance = (node as any).__vueParentComponent\r\n\t\t\tif (componentInstance && typeof componentInstance.exposed?.setDisabled === 'function') {\r\n\t\t\t\tcomponentInstance.exposed.setDisabled(!!flag)\r\n\t\t\t}\r\n\t\t}\r\n\t\t// 如果是 Vue 组件挂载的根元素,可以通过 ref 访问\r\n\t\telse if (node instanceof HTMLElement) {\r\n\t\t\t// 查找组件实例(如果通过 ref 挂载)\r\n\t\t\tconst vueInstance = (node as any)._vnode?.ctx\r\n\t\t\tif (vueInstance && typeof vueInstance.exposed?.setDisabled === 'function') {\r\n\t\t\t\tvueInstance.exposed.setDisabled(!!flag)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// 兼容默认导出\r\nexport default disabledArea\r\n"],"names":[],"mappings":"AAAgB,SAAA,YAAA,CAAa,KAA2B,IAAqB,EAAA;AAA7E,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AACC,EAAI,IAAA,KAAA,CAAA;AAEJ,EAAI,IAAA,OAAO,QAAQ,QAAU,EAAA;AAC5B,IAAM,MAAA,OAAA,GAAU,QAAS,CAAA,cAAA,CAAe,GAAG,CAAA,CAAA;AAC3C,IAAA,IAAI,CAAC,OAAA;AAAS,MAAA,OAAA;AACd,IAAQ,KAAA,GAAA,OAAA,CAAQ,iBAAiB,oBAAoB,CAAA,CAAA;AAAA,GACtD,MAAA,IAAW,eAAe,WAAa,EAAA;AACtC,IAAQ,KAAA,GAAA,GAAA,CAAI,iBAAiB,oBAAoB,CAAA,CAAA;AAAA,GAC3C,MAAA;AACN,IAAA,OAAA;AAAA,GACD;AAEA,EAAI,IAAA,CAAC,KAAS,IAAA,KAAA,CAAM,MAAW,KAAA,CAAA;AAAG,IAAA,OAAA;AAElC,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACtC,IAAM,MAAA,IAAA,GAAO,MAAM,CAAC,CAAA,CAAA;AAGpB,IAAA,IAAI,0BAA0B,IAAM,EAAA;AACnC,MAAA,MAAM,oBAAqB,IAAa,CAAA,oBAAA,CAAA;AACxC,MAAA,IAAI,qBAAqB,QAAO,CAAA,EAAA,GAAA,iBAAA,CAAkB,OAAlB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA2B,iBAAgB,UAAY,EAAA;AACtF,QAAA,iBAAA,CAAkB,OAAQ,CAAA,WAAA,CAAY,CAAC,CAAC,IAAI,CAAA,CAAA;AAAA,OAC7C;AAAA,KACD,MAAA,IAES,gBAAgB,WAAa,EAAA;AAErC,MAAM,MAAA,WAAA,GAAA,CAAe,EAAa,GAAA,IAAA,CAAA,MAAA,KAAb,IAAqB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAA;AAC1C,MAAA,IAAI,eAAe,QAAO,CAAA,EAAA,GAAA,WAAA,CAAY,OAAZ,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAqB,iBAAgB,UAAY,EAAA;AAC1E,QAAA,WAAA,CAAY,OAAQ,CAAA,WAAA,CAAY,CAAC,CAAC,IAAI,CAAA,CAAA;AAAA,OACvC;AAAA,KACD;AAAA,GACD;AACD;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createVNode, render, nextTick } from 'vue';
|
|
2
2
|
import { $tip } from '../components/tip/index.mjs';
|
|
3
3
|
import { ToTooltip } from '../components/tooltip/index.mjs';
|
|
4
|
-
import {
|
|
4
|
+
import { hasClass } from './dom.mjs';
|
|
5
5
|
import { t } from '../locale/index.mjs';
|
|
6
6
|
|
|
7
7
|
const regs = {
|
|
@@ -196,14 +196,10 @@ const validate = function(dom, isAll = false) {
|
|
|
196
196
|
var _a, _b, _c;
|
|
197
197
|
let nodes = [];
|
|
198
198
|
let allPass = true;
|
|
199
|
-
let
|
|
200
|
-
const hiddenErrorNodes = [];
|
|
199
|
+
let firstErrorNode = null;
|
|
201
200
|
function setHiddenErrorNodes(formEl) {
|
|
202
|
-
if (!
|
|
203
|
-
|
|
204
|
-
} else {
|
|
205
|
-
hiddenErrorNodes.push(formEl);
|
|
206
|
-
}
|
|
201
|
+
if (!firstErrorNode)
|
|
202
|
+
firstErrorNode = formEl;
|
|
207
203
|
}
|
|
208
204
|
if (typeof dom === "string" && document.getElementById(dom)) {
|
|
209
205
|
nodes = Array.from(document.getElementById(dom).querySelectorAll(".to-validate"));
|
|
@@ -305,9 +301,20 @@ const validate = function(dom, isAll = false) {
|
|
|
305
301
|
}
|
|
306
302
|
}
|
|
307
303
|
if (isAll) {
|
|
308
|
-
if (!allPass &&
|
|
309
|
-
|
|
310
|
-
|
|
304
|
+
if (!allPass && firstErrorNode) {
|
|
305
|
+
let scrollEl = firstErrorNode;
|
|
306
|
+
while (scrollEl && scrollEl.nodeName !== "BODY" && !(scrollEl.classList && scrollEl.classList.contains("to-scroll"))) {
|
|
307
|
+
scrollEl = scrollEl.parentNode;
|
|
308
|
+
}
|
|
309
|
+
if (scrollEl && scrollEl.nodeName !== "BODY") {
|
|
310
|
+
const inner = scrollEl.querySelector(".to-scroll-content") || scrollEl;
|
|
311
|
+
const targetRect = firstErrorNode.getBoundingClientRect();
|
|
312
|
+
const scrollRect = inner.getBoundingClientRect();
|
|
313
|
+
inner.scrollTo({
|
|
314
|
+
top: inner.scrollTop + targetRect.top - scrollRect.top - 10,
|
|
315
|
+
behavior: "smooth"
|
|
316
|
+
});
|
|
317
|
+
}
|
|
311
318
|
}
|
|
312
319
|
return allPass;
|
|
313
320
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.mjs","sources":["../../../../packages/utils/validate.ts"],"sourcesContent":["import { createVNode, render, nextTick, type ComponentPublicInstance } from 'vue'\r\ntype VueInstance = ComponentPublicInstance\r\nimport { ToTooltip, $tip } from '@touchvue/components'\r\nimport { hasClass, queryVm } from './dom'\r\nimport { t } from '@touchvue/locale'\r\n\r\ninterface ValidationRule {\r\n\trule: RegExp\r\n\tdesc: string\r\n\tremark?: string\r\n}\r\n\r\ninterface Regs {\r\n\t[key: string]: ValidationRule\r\n}\r\nconst regs: Regs = {\r\n\t// 基础判断\r\n\ten: {\r\n\t\trule: /^[A-Za-z]+$/,\r\n\t\tdesc: t('to.validate.desc.en')\r\n\t},\r\n\t'en-lower': {\r\n\t\trule: /^[a-z]+$/,\r\n\t\tdesc: t('to.validate.desc.enLower')\r\n\t},\r\n\t'en-upper': {\r\n\t\trule: /^[A-Z]+$/,\r\n\t\tdesc: t('to.validate.desc.enUpper')\r\n\t},\r\n\t'en-none': {\r\n\t\trule: /^[^A-Za-z]*$/,\r\n\t\tdesc: t('to.validate.desc.enNone')\r\n\t},\r\n\tcn: {\r\n\t\trule: /^(?:[\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0])+$/,\r\n\t\tdesc: t('to.validate.desc.cn')\r\n\t},\r\n\tnumber: {\r\n\t\trule: /^[-+]?([1-9][0-9]*|0)(\\.[0-9]+)?$/,\r\n\t\tdesc: t('to.validate.desc.number')\r\n\t},\r\n\tinteger: {\r\n\t\trule: /^-?[0-9]\\d*$/,\r\n\t\tdesc: t('to.validate.desc.integer')\r\n\t},\r\n\t'integer-p': {\r\n\t\trule: /^\\+?[1-9]\\d*$/,\r\n\t\tdesc: t('to.validate.desc.integerP')\r\n\t},\r\n\t'integer-n': {\r\n\t\trule: /^-[1-9]\\d*$/,\r\n\t\tdesc: t('to.validate.desc.integerN')\r\n\t},\r\n\tnature: {\r\n\t\trule: /^\\d+$/,\r\n\t\tdesc: t('to.validate.desc.nature')\r\n\t},\r\n\tdate: {\r\n\t\trule: /^\\d{4}(-)(1[0-2]|0?\\d)\\1([0-2]\\d|\\d|30|31)$/,\r\n\t\tdesc: t('to.validate.desc.date')\r\n\t},\r\n\ttime: {\r\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\r\n\t\tdesc: t('to.validate.desc.time')\r\n\t},\r\n\t'time-12': {\r\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\r\n\t\tdesc: t('to.validate.desc.time12')\r\n\t},\r\n\t// 基本数据格式\r\n\tmoney: {\r\n\t\trule: /^-?\\d+(,\\d{3})*(\\.\\d{1,2})?$/,\r\n\t\tdesc: t('to.validate.desc.money')\r\n\t},\r\n\tip: {\r\n\t\trule: /^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]).){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/,\r\n\t\tdesc: t('to.validate.desc.ip')\r\n\t},\r\n\t'ip-v6': {\r\n\t\trule: /^(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))|\\[(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))\\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/i,\r\n\t\tdesc: t('to.validate.desc.ipV6')\r\n\t},\r\n\tpassword: {\r\n\t\trule: /^\\S*(?=\\S{6,})(?=\\S*\\d)(?=\\S*[A-Z])(?=\\S*[a-z])(?=\\S*[!@#$%^&*? ])\\S*$/,\r\n\t\tdesc: t('to.validate.desc.password'),\r\n\t\tremark: t('to.validate.remark.password')\r\n\t},\r\n\tusername: {\r\n\t\trule: /^[a-zA-Z0-9_-]{4,16}$/,\r\n\t\tdesc: t('to.validate.desc.username'),\r\n\t\tremark: t('to.validate.remark.username')\r\n\t},\r\n\t// 用户信息\r\n\tname: {\r\n\t\trule: /^([\\u4e00-\\u9fa5·]{2,16}|[a-zA-Z.\\s]{1,20})$/,\r\n\t\tdesc: t('to.validate.desc.name')\r\n\t},\r\n\t'name-cn': {\r\n\t\trule: /^(?:[\\u4e00-\\u9fa5·]{2,16})$/,\r\n\t\tdesc: t('to.validate.desc.nameCn')\r\n\t},\r\n\t'name-en': {\r\n\t\trule: /(^[a-zA-Z]{1}[a-zA-Z\\s]{0,20}[a-zA-Z]{1}$)/,\r\n\t\tdesc: t('to.validate.desc.nameEn')\r\n\t},\r\n\temail: {\r\n\t\trule: /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n\t\tdesc: t('to.validate.desc.email')\r\n\t},\r\n\tqq: {\r\n\t\trule: /^[1-9][0-9]{4,10}$/,\r\n\t\tdesc: t('to.validate.desc.qq')\r\n\t},\r\n\twechat: {\r\n\t\trule: /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/,\r\n\t\tdesc: t('to.validate.desc.wechat')\r\n\t},\r\n\tweb: {\r\n\t\trule: /^(((ht|f)tps?):\\/\\/)?[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-])?$/,\r\n\t\tdesc: t('to.validate.desc.web')\r\n\t},\r\n\tuscc: {\r\n\t\trule: /^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,\r\n\t\tdesc: t('to.validate.desc.uscc')\r\n\t},\r\n\tbank: {\r\n\t\trule: /^[1-9]\\d{9,29}$/,\r\n\t\tdesc: t('to.validate.desc.bank')\r\n\t},\r\n\tphone: {\r\n\t\trule: /^1[3456789]\\d{9}$/,\r\n\t\tdesc: t('to.validate.desc.phone')\r\n\t},\r\n\ttelphone: {\r\n\t\trule: /^\\d{3}-\\d{8}$|^\\d{4}-\\d{7,8}$/,\r\n\t\tdesc: t('to.validate.desc.telphone')\r\n\t},\r\n\tid: {\r\n\t\trule: /^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[\\dXx]$/,\r\n\t\tdesc: t('to.validate.desc.id')\r\n\t},\r\n\tpassport: {\r\n\t\trule: /(^[EeKkGgDdSsPpHh]\\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\\d{7}$)/,\r\n\t\tdesc: t('to.validate.desc.passport')\r\n\t},\r\n\tmac: {\r\n\t\trule: /^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i,\r\n\t\tdesc: t('to.validate.desc.mac')\r\n\t}\r\n}\r\n\r\n// 判断是否在滚动条以内\r\nfunction isHideByScroller(node) {\r\n\tconst el = node\r\n\twhile (node && !hasClass(node, 'to-scroll') && node.nodeName !== 'BODY') {\r\n\t\tnode = (node as VueInstance & { __vueParentComponent?: any; __vue_app__?: any }).__vueParentComponent || node.parentNode\r\n\t}\r\n\tif (node && node.nodeName !== 'BODY') {\r\n\t\tconst scroller = node\r\n\t\treturn el.getBoundingClientRect().top > scroller.getBoundingClientRect().top + scroller.offsetHeight || el.getBoundingClientRect().top + el.offsetHeight <= scroller.getBoundingClientRect().top\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\n// 显示提示的方法\r\nfunction showTip(formEl, desc = '') {\r\n\t// 元素未被隐藏使用 tooltip\r\n\tif (formEl.offsetWidth > 0 && !isHideByScroller(formEl)) {\r\n\t\tconst tooltip = createVNode(\r\n\t\t\tToTooltip,\r\n\t\t\t{\r\n\t\t\t\tevent: '',\r\n\t\t\t\tshadow: false,\r\n\t\t\t\tposition: 'auto',\r\n\t\t\t\talign: 'auto',\r\n\t\t\t\tcolor: 'danger',\r\n\t\t\t\twidth: '',\r\n\t\t\t\tlazy: true,\r\n\t\t\t\tcloseOnBlur: true,\r\n\t\t\t\tisScrollClose: true,\r\n\t\t\t\tdelay: 0,\r\n\t\t\t\tmode: ''\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tdefault: () => desc\r\n\t\t\t}\r\n\t\t)\r\n\t\tconst container = document.createElement('div')\r\n\t\trender(tooltip, container)\r\n\t\tdocument.body.appendChild(container)\r\n\t\tnextTick(() => {\r\n\t\t\tformEl._tip = {\r\n\t\t\t\tvnode: tooltip,\r\n\t\t\t\tcontainer\r\n\t\t\t}\r\n\t\t\tconst open = () => {\r\n\t\t\t\ttooltip.component.exposed.open(formEl)\r\n\t\t\t}\r\n\t\t\t// const close = () => {\r\n\t\t\t// \ttooltip.component.exposed.close(formEl)\r\n\t\t\t// }\r\n\t\t\t// 参数 click,弹出方式\r\n\t\t\t// if (binding.arg) {\r\n\t\t\t// \tformEl.addEventListener('click', open)\r\n\t\t\t// } else {\r\n\t\t\t// formEl.addEventListener('mouseenter', open)\r\n\t\t\t// formEl.addEventListener('mouseleave', close)\r\n\t\t\topen()\r\n\t\t\t// }\r\n\t\t})\r\n\r\n\t\t// 当前元素获取焦点\r\n\t\tif (formEl.getElementsByTagName('input')[0]) {\r\n\t\t\tformEl.getElementsByTagName('input')[0].select()\r\n\t\t}\r\n\t}\r\n\r\n\t// 元素被隐藏使用 floattip\r\n\telse {\r\n\t\t// ToTip.danger(desc)\r\n\t\t$tip.warning(desc)\r\n\t}\r\n}\r\n\r\n/**\r\n * 表单验证函数\r\n * 该函数用于验证网页表单中的输入是否符合规范\r\n * 它可以接受一个DOM元素、Vue实例或元素ID作为参数,并验证指定元素及其子元素中带有.to-validate类的元素\r\n * @param {string|HTMLElement|Vue} dom - 表单的DOM元素、Vue实例或元素ID\r\n * @param {boolean} isAll - 是否验证所有输入项,默认为false,只验证第一个不符合规则的项\r\n * @returns {boolean} - 如果所有验证项都通过验证,则返回true;否则返回false\r\n */\r\nconst validate = function (dom: string | HTMLElement | VueInstance, isAll = false): boolean {\r\n\t// 存储待验证的DOM节点\r\n\tlet nodes: Element[] = []\r\n\r\n\t// 标记验证是否全部通过\r\n\tlet allPass = true\r\n\r\n\t// 标记是否存在校验未通过并且在可视范围内的节点\r\n\tlet hasErrorVisible = false\r\n\r\n\t// 标记所有在滚动条之外的节点\r\n\tconst hiddenErrorNodes = []\r\n\r\n\t/**\r\n\t * 标记所有在滚动条之外的节点信息\r\n\t * 此函数用于检查给定的表单元素是否在滚动条之外,从而决定是将其标记为可见错误还是隐藏错误\r\n\t * @param {HTMLElement} formEl - 需要检查的表单元素\r\n\t */\r\n\tfunction setHiddenErrorNodes(formEl) {\r\n\t\t// 如果表单元素不在滚动条之外,则设置有错误可见标志为true\r\n\t\tif (!isHideByScroller(formEl)) {\r\n\t\t\thasErrorVisible = true\r\n\t\t}\r\n\t\t// 如果表单元素在滚动条之外,则将其添加到隐藏错误节点列表中\r\n\t\telse {\r\n\t\t\thiddenErrorNodes.push(formEl)\r\n\t\t}\r\n\t}\r\n\r\n\t// 根据传入参数类型获取待验证的节点列表\r\n\tif (typeof dom === 'string' && document.getElementById(dom)) {\r\n\t\tnodes = Array.from(document.getElementById(dom).querySelectorAll('.to-validate'))\r\n\t} else if (dom instanceof HTMLElement) {\r\n\t\tnodes = Array.from(dom.querySelectorAll('.to-validate'))\r\n\t} else if (typeof dom !== 'string' && dom && dom.$el) {\r\n\t\tnodes = Array.from(dom.$el.querySelectorAll('.to-validate'))\r\n\t}\r\n\r\n\t// 如果没有找到任何待验证的节点,直接返回true\r\n\tif (nodes.length === 0) {\r\n\t\treturn true\r\n\t}\r\n\r\n\t// 遍历所有待验证的节点\r\n\tfor (let i = 0; i < nodes.length; i++) {\r\n\t\tconst node = nodes[i]\r\n\r\n\t\t// 获取验证规则、是否需要trim空格、描述、是否必填等属性\r\n\t\tconst rule = node.getAttribute('rule')\r\n\t\tconst trim = node.getAttribute('trim') === 'true'\r\n\t\tconst value = (function () {\r\n\t\t\tif (node.getAttribute('value')) {\r\n\t\t\t\treturn trim ? node.getAttribute('value').trim() : node.getAttribute('value')\r\n\t\t\t} else {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t})()\r\n\t\tconst desc = node.getAttribute('desc')\r\n\t\tconst required = node.getAttribute('req') === 'true'\r\n\t\tconst formEl = node.parentNode\r\n\t\t// 修改这里,将formEl转换为any类型以访问Vue特定属性\r\n\t\tlet formVue = (formEl as any).__vueParentComponent || (formEl as any).__vue_app__?.$parent\r\n\r\n\t\t// 特殊处理ToDatePicker组件的验证 (兼容Vue2/Vue3)\r\n\t\tconst vueInstance = formVue || (formEl as any).__vue_app__?.$parent\r\n\t\tif (vueInstance && ['ToDatePicker'].includes(vueInstance.$options?.name)) {\r\n\t\t\tformVue = vueInstance.$refs.inputBox\r\n\t\t}\r\n\r\n\t\t// 根据isAll参数决定验证流程\r\n\t\tif (isAll) {\r\n\t\t\t// 如果值存在且有规则,则应用规则验证\r\n\t\t\tif (value) {\r\n\t\t\t\tif (rule) {\r\n\t\t\t\t\tformVue.exposed.errorType.value = 'rule'\r\n\t\t\t\t\tlet reg\r\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\r\n\t\t\t\t\t\treg = regs[rule].rule\r\n\t\t\t\t\t\tif (!reg.test(value)) {\r\n\t\t\t\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`)\r\n\t\t\t\t\t\t\tallPass = false\r\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treg = new RegExp(rule)\r\n\t\t\t\t\t\tif (!reg.test(value)) {\r\n\t\t\t\t\t\t\tformVue.errorTip = t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : '')\r\n\t\t\t\t\t\t\tallPass = false\r\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontinue\r\n\t\t\t\t}\r\n\t\t\t} else if (required) {\r\n\t\t\t\tformVue.exposed.errorType.value = 'required'\r\n\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.requiredRemark', desc)\r\n\t\t\t\tallPass = false\r\n\t\t\t\tsetHiddenErrorNodes(formEl)\r\n\t\t\t\tcontinue\r\n\t\t\t} else {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// 如果值存在且有规则,则应用规则验证\r\n\t\t\tif (value) {\r\n\t\t\t\tif (rule) {\r\n\t\t\t\t\tlet reg\r\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\r\n\t\t\t\t\t\treg = regs[rule].rule\r\n\t\t\t\t\t\tif (!reg.test(value)) {\r\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`))\r\n\t\t\t\t\t\t\treturn false\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treg = new RegExp(rule)\r\n\t\t\t\t\t\tif (!reg.test(value)) {\r\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : ''))\r\n\t\t\t\t\t\t\treturn false\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontinue\r\n\t\t\t\t}\r\n\t\t\t} else if (required) {\r\n\t\t\t\tshowTip(formEl, t('to.validate.tip.requiredRemark', desc))\r\n\t\t\t\treturn false\r\n\t\t\t} else {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// 根据isAll参数返回相应的结果\r\n\tif (isAll) {\r\n\t\t// 如果全部不通过的选项都在滚动条之外,则滚动到第一个出问题的节点上\r\n\t\tif (!allPass && !hasErrorVisible) {\r\n\t\t\tconst scroller = queryVm(hiddenErrorNodes[0], 'ToScroll')\r\n\t\t\tscroller.to(hiddenErrorNodes[0])\r\n\t\t}\r\n\t\treturn allPass\r\n\t} else {\r\n\t\treturn true\r\n\t}\r\n}\r\n\r\nconst validateAll = function (dom) {\r\n\treturn validate(dom, true)\r\n}\r\nexport { validate, validateAll }\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.mjs","sources":["../../../../packages/utils/validate.ts"],"sourcesContent":["import { createVNode, render, nextTick, type ComponentPublicInstance } from 'vue'\r\ntype VueInstance = ComponentPublicInstance\r\nimport { ToTooltip, $tip } from '@touchvue/components'\r\nimport { hasClass } from './dom'\r\nimport { t } from '@touchvue/locale'\r\n\r\ninterface ValidationRule {\r\n\trule: RegExp\r\n\tdesc: string\r\n\tremark?: string\r\n}\r\n\r\ninterface Regs {\r\n\t[key: string]: ValidationRule\r\n}\r\nconst regs: Regs = {\r\n\t// 基础判断\r\n\ten: {\r\n\t\trule: /^[A-Za-z]+$/,\r\n\t\tdesc: t('to.validate.desc.en')\r\n\t},\r\n\t'en-lower': {\r\n\t\trule: /^[a-z]+$/,\r\n\t\tdesc: t('to.validate.desc.enLower')\r\n\t},\r\n\t'en-upper': {\r\n\t\trule: /^[A-Z]+$/,\r\n\t\tdesc: t('to.validate.desc.enUpper')\r\n\t},\r\n\t'en-none': {\r\n\t\trule: /^[^A-Za-z]*$/,\r\n\t\tdesc: t('to.validate.desc.enNone')\r\n\t},\r\n\tcn: {\r\n\t\trule: /^(?:[\\u3400-\\u4DB5\\u4E00-\\u9FEA\\uFA0E\\uFA0F\\uFA11\\uFA13\\uFA14\\uFA1F\\uFA21\\uFA23\\uFA24\\uFA27-\\uFA29]|[\\uD840-\\uD868\\uD86A-\\uD86C\\uD86F-\\uD872\\uD874-\\uD879][\\uDC00-\\uDFFF]|\\uD869[\\uDC00-\\uDED6\\uDF00-\\uDFFF]|\\uD86D[\\uDC00-\\uDF34\\uDF40-\\uDFFF]|\\uD86E[\\uDC00-\\uDC1D\\uDC20-\\uDFFF]|\\uD873[\\uDC00-\\uDEA1\\uDEB0-\\uDFFF]|\\uD87A[\\uDC00-\\uDFE0])+$/,\r\n\t\tdesc: t('to.validate.desc.cn')\r\n\t},\r\n\tnumber: {\r\n\t\trule: /^[-+]?([1-9][0-9]*|0)(\\.[0-9]+)?$/,\r\n\t\tdesc: t('to.validate.desc.number')\r\n\t},\r\n\tinteger: {\r\n\t\trule: /^-?[0-9]\\d*$/,\r\n\t\tdesc: t('to.validate.desc.integer')\r\n\t},\r\n\t'integer-p': {\r\n\t\trule: /^\\+?[1-9]\\d*$/,\r\n\t\tdesc: t('to.validate.desc.integerP')\r\n\t},\r\n\t'integer-n': {\r\n\t\trule: /^-[1-9]\\d*$/,\r\n\t\tdesc: t('to.validate.desc.integerN')\r\n\t},\r\n\tnature: {\r\n\t\trule: /^\\d+$/,\r\n\t\tdesc: t('to.validate.desc.nature')\r\n\t},\r\n\tdate: {\r\n\t\trule: /^\\d{4}(-)(1[0-2]|0?\\d)\\1([0-2]\\d|\\d|30|31)$/,\r\n\t\tdesc: t('to.validate.desc.date')\r\n\t},\r\n\ttime: {\r\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\r\n\t\tdesc: t('to.validate.desc.time')\r\n\t},\r\n\t'time-12': {\r\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\r\n\t\tdesc: t('to.validate.desc.time12')\r\n\t},\r\n\t// 基本数据格式\r\n\tmoney: {\r\n\t\trule: /^-?\\d+(,\\d{3})*(\\.\\d{1,2})?$/,\r\n\t\tdesc: t('to.validate.desc.money')\r\n\t},\r\n\tip: {\r\n\t\trule: /^((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]).){3}(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])(?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/,\r\n\t\tdesc: t('to.validate.desc.ip')\r\n\t},\r\n\t'ip-v6': {\r\n\t\trule: /^(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))|\\[(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b)\\.){3}(\\b((25[0-5])|(1\\d{2})|(2[0-4]\\d)|(\\d{1,2}))\\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))\\](?::(?:[0-9]|[1-9][0-9]{1,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/i,\r\n\t\tdesc: t('to.validate.desc.ipV6')\r\n\t},\r\n\tpassword: {\r\n\t\trule: /^\\S*(?=\\S{6,})(?=\\S*\\d)(?=\\S*[A-Z])(?=\\S*[a-z])(?=\\S*[!@#$%^&*? ])\\S*$/,\r\n\t\tdesc: t('to.validate.desc.password'),\r\n\t\tremark: t('to.validate.remark.password')\r\n\t},\r\n\tusername: {\r\n\t\trule: /^[a-zA-Z0-9_-]{4,16}$/,\r\n\t\tdesc: t('to.validate.desc.username'),\r\n\t\tremark: t('to.validate.remark.username')\r\n\t},\r\n\t// 用户信息\r\n\tname: {\r\n\t\trule: /^([\\u4e00-\\u9fa5·]{2,16}|[a-zA-Z.\\s]{1,20})$/,\r\n\t\tdesc: t('to.validate.desc.name')\r\n\t},\r\n\t'name-cn': {\r\n\t\trule: /^(?:[\\u4e00-\\u9fa5·]{2,16})$/,\r\n\t\tdesc: t('to.validate.desc.nameCn')\r\n\t},\r\n\t'name-en': {\r\n\t\trule: /(^[a-zA-Z]{1}[a-zA-Z\\s]{0,20}[a-zA-Z]{1}$)/,\r\n\t\tdesc: t('to.validate.desc.nameEn')\r\n\t},\r\n\temail: {\r\n\t\trule: /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\r\n\t\tdesc: t('to.validate.desc.email')\r\n\t},\r\n\tqq: {\r\n\t\trule: /^[1-9][0-9]{4,10}$/,\r\n\t\tdesc: t('to.validate.desc.qq')\r\n\t},\r\n\twechat: {\r\n\t\trule: /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/,\r\n\t\tdesc: t('to.validate.desc.wechat')\r\n\t},\r\n\tweb: {\r\n\t\trule: /^(((ht|f)tps?):\\/\\/)?[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-])?$/,\r\n\t\tdesc: t('to.validate.desc.web')\r\n\t},\r\n\tuscc: {\r\n\t\trule: /^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,\r\n\t\tdesc: t('to.validate.desc.uscc')\r\n\t},\r\n\tbank: {\r\n\t\trule: /^[1-9]\\d{9,29}$/,\r\n\t\tdesc: t('to.validate.desc.bank')\r\n\t},\r\n\tphone: {\r\n\t\trule: /^1[3456789]\\d{9}$/,\r\n\t\tdesc: t('to.validate.desc.phone')\r\n\t},\r\n\ttelphone: {\r\n\t\trule: /^\\d{3}-\\d{8}$|^\\d{4}-\\d{7,8}$/,\r\n\t\tdesc: t('to.validate.desc.telphone')\r\n\t},\r\n\tid: {\r\n\t\trule: /^[1-9]\\d{5}(?:18|19|20)\\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\\d|30|31)\\d{3}[\\dXx]$/,\r\n\t\tdesc: t('to.validate.desc.id')\r\n\t},\r\n\tpassport: {\r\n\t\trule: /(^[EeKkGgDdSsPpHh]\\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\\d{7}$)/,\r\n\t\tdesc: t('to.validate.desc.passport')\r\n\t},\r\n\tmac: {\r\n\t\trule: /^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i,\r\n\t\tdesc: t('to.validate.desc.mac')\r\n\t}\r\n}\r\n\r\n// 判断是否在滚动条以内\r\nfunction isHideByScroller(node) {\r\n\tconst el = node\r\n\twhile (node && !hasClass(node, 'to-scroll') && node.nodeName !== 'BODY') {\r\n\t\tnode = (node as VueInstance & { __vueParentComponent?: any; __vue_app__?: any }).__vueParentComponent || node.parentNode\r\n\t}\r\n\tif (node && node.nodeName !== 'BODY') {\r\n\t\tconst scroller = node\r\n\t\treturn el.getBoundingClientRect().top > scroller.getBoundingClientRect().top + scroller.offsetHeight || el.getBoundingClientRect().top + el.offsetHeight <= scroller.getBoundingClientRect().top\r\n\t} else {\r\n\t\treturn false\r\n\t}\r\n}\r\n\r\n// 显示提示的方法\r\nfunction showTip(formEl, desc = '') {\r\n\t// 元素未被隐藏使用 tooltip\r\n\tif (formEl.offsetWidth > 0 && !isHideByScroller(formEl)) {\r\n\t\tconst tooltip = createVNode(\r\n\t\t\tToTooltip,\r\n\t\t\t{\r\n\t\t\t\tevent: '',\r\n\t\t\t\tshadow: false,\r\n\t\t\t\tposition: 'auto',\r\n\t\t\t\talign: 'auto',\r\n\t\t\t\tcolor: 'danger',\r\n\t\t\t\twidth: '',\r\n\t\t\t\tlazy: true,\r\n\t\t\t\tcloseOnBlur: true,\r\n\t\t\t\tisScrollClose: true,\r\n\t\t\t\tdelay: 0,\r\n\t\t\t\tmode: ''\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tdefault: () => desc\r\n\t\t\t}\r\n\t\t)\r\n\t\tconst container = document.createElement('div')\r\n\t\trender(tooltip, container)\r\n\t\tdocument.body.appendChild(container)\r\n\t\tnextTick(() => {\r\n\t\t\tformEl._tip = {\r\n\t\t\t\tvnode: tooltip,\r\n\t\t\t\tcontainer\r\n\t\t\t}\r\n\t\t\tconst open = () => {\r\n\t\t\t\ttooltip.component.exposed.open(formEl)\r\n\t\t\t}\r\n\t\t\t// const close = () => {\r\n\t\t\t// \ttooltip.component.exposed.close(formEl)\r\n\t\t\t// }\r\n\t\t\t// 参数 click,弹出方式\r\n\t\t\t// if (binding.arg) {\r\n\t\t\t// \tformEl.addEventListener('click', open)\r\n\t\t\t// } else {\r\n\t\t\t// formEl.addEventListener('mouseenter', open)\r\n\t\t\t// formEl.addEventListener('mouseleave', close)\r\n\t\t\topen()\r\n\t\t\t// }\r\n\t\t})\r\n\r\n\t\t// 当前元素获取焦点\r\n\t\tif (formEl.getElementsByTagName('input')[0]) {\r\n\t\t\tformEl.getElementsByTagName('input')[0].select()\r\n\t\t}\r\n\t}\r\n\r\n\t// 元素被隐藏使用 floattip\r\n\telse {\r\n\t\t// ToTip.danger(desc)\r\n\t\t$tip.warning(desc)\r\n\t}\r\n}\r\n\r\n/**\r\n * 表单验证函数\r\n * 该函数用于验证网页表单中的输入是否符合规范\r\n * 它可以接受一个DOM元素、Vue实例或元素ID作为参数,并验证指定元素及其子元素中带有.to-validate类的元素\r\n * @param {string|HTMLElement|Vue} dom - 表单的DOM元素、Vue实例或元素ID\r\n * @param {boolean} isAll - 是否验证所有输入项,默认为false,只验证第一个不符合规则的项\r\n * @returns {boolean} - 如果所有验证项都通过验证,则返回true;否则返回false\r\n */\r\nconst validate = function (dom: string | HTMLElement | VueInstance, isAll = false): boolean {\r\n\t// 存储待验证的DOM节点\r\n\tlet nodes: Element[] = []\r\n\r\n\t// 标记验证是否全部通过\r\n\tlet allPass = true\r\n\r\n\t// 标记所有在滚动条之外的节点\r\n\tconst hiddenErrorNodes = []\r\n\r\n\t// 记录第一个校验不通过的节点(按 DOM 顺序),用于滚动定位\r\n\tlet firstErrorNode: any = null\r\n\r\n\t/**\r\n\t * 标记所有在滚动条之外的节点信息\r\n\t * 此函数用于检查给定的表单元素是否在滚动条之外,从而决定是将其标记为可见错误还是隐藏错误\r\n\t * @param {HTMLElement} formEl - 需要检查的表单元素\r\n\t */\r\n\tfunction setHiddenErrorNodes(formEl) {\r\n\t\t// 记录首个错误节点(仅记录第一次)\r\n\t\tif (!firstErrorNode) firstErrorNode = formEl\r\n\t\t// 如果表单元素在滚动条之外,则将其添加到隐藏错误节点列表中\r\n\t\telse {\r\n\t\t\thiddenErrorNodes.push(formEl)\r\n\t\t}\r\n\t}\r\n\r\n\t// 根据传入参数类型获取待验证的节点列表\r\n\tif (typeof dom === 'string' && document.getElementById(dom)) {\r\n\t\tnodes = Array.from(document.getElementById(dom).querySelectorAll('.to-validate'))\r\n\t} else if (dom instanceof HTMLElement) {\r\n\t\tnodes = Array.from(dom.querySelectorAll('.to-validate'))\r\n\t} else if (typeof dom !== 'string' && dom && dom.$el) {\r\n\t\tnodes = Array.from(dom.$el.querySelectorAll('.to-validate'))\r\n\t}\r\n\r\n\t// 如果没有找到任何待验证的节点,直接返回true\r\n\tif (nodes.length === 0) {\r\n\t\treturn true\r\n\t}\r\n\r\n\t// 遍历所有待验证的节点\r\n\tfor (let i = 0; i < nodes.length; i++) {\r\n\t\tconst node = nodes[i]\r\n\r\n\t\t// 获取验证规则、是否需要trim空格、描述、是否必填等属性\r\n\t\tconst rule = node.getAttribute('rule')\r\n\t\tconst trim = node.getAttribute('trim') === 'true'\r\n\t\tconst value = (function () {\r\n\t\t\tif (node.getAttribute('value')) {\r\n\t\t\t\treturn trim ? node.getAttribute('value').trim() : node.getAttribute('value')\r\n\t\t\t} else {\r\n\t\t\t\treturn ''\r\n\t\t\t}\r\n\t\t})()\r\n\t\tconst desc = node.getAttribute('desc')\r\n\t\tconst required = node.getAttribute('req') === 'true'\r\n\t\tconst formEl = node.parentNode\r\n\t\t// 修改这里,将formEl转换为any类型以访问Vue特定属性\r\n\t\tlet formVue = (formEl as any).__vueParentComponent || (formEl as any).__vue_app__?.$parent\r\n\r\n\t\t// 特殊处理ToDatePicker组件的验证 (兼容Vue2/Vue3)\r\n\t\tconst vueInstance = formVue || (formEl as any).__vue_app__?.$parent\r\n\t\tif (vueInstance && ['ToDatePicker'].includes(vueInstance.$options?.name)) {\r\n\t\t\tformVue = vueInstance.$refs.inputBox\r\n\t\t}\r\n\r\n\t\t// 根据isAll参数决定验证流程\r\n\t\tif (isAll) {\r\n\t\t\t// 如果值存在且有规则,则应用规则验证\r\n\t\t\tif (value) {\r\n\t\t\t\tif (rule) {\r\n\t\t\t\t\tformVue.exposed.errorType.value = 'rule'\r\n\t\t\t\t\tlet reg\r\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\r\n\t\t\t\t\t\treg = regs[rule].rule\r\n\t\t\t\t\t\tif (!reg.test(value)) {\r\n\t\t\t\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`)\r\n\t\t\t\t\t\t\tallPass = false\r\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treg = new RegExp(rule)\r\n\t\t\t\t\t\tif (!reg.test(value)) {\r\n\t\t\t\t\t\t\tformVue.errorTip = t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : '')\r\n\t\t\t\t\t\t\tallPass = false\r\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontinue\r\n\t\t\t\t}\r\n\t\t\t} else if (required) {\r\n\t\t\t\tformVue.exposed.errorType.value = 'required'\r\n\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.requiredRemark', desc)\r\n\t\t\t\tallPass = false\r\n\t\t\t\tsetHiddenErrorNodes(formEl)\r\n\t\t\t\tcontinue\r\n\t\t\t} else {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// 如果值存在且有规则,则应用规则验证\r\n\t\t\tif (value) {\r\n\t\t\t\tif (rule) {\r\n\t\t\t\t\tlet reg\r\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\r\n\t\t\t\t\t\treg = regs[rule].rule\r\n\t\t\t\t\t\tif (!reg.test(value)) {\r\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`))\r\n\t\t\t\t\t\t\treturn false\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treg = new RegExp(rule)\r\n\t\t\t\t\t\tif (!reg.test(value)) {\r\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : ''))\r\n\t\t\t\t\t\t\treturn false\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tcontinue\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcontinue\r\n\t\t\t\t}\r\n\t\t\t} else if (required) {\r\n\t\t\t\tshowTip(formEl, t('to.validate.tip.requiredRemark', desc))\r\n\t\t\t\treturn false\r\n\t\t\t} else {\r\n\t\t\t\tcontinue\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// 根据isAll参数返回相应的结果\r\n\tif (isAll) {\r\n\t\t// 校验不通过时,自动滚动到第一个不通过的表单项(若其位于 to-scroll 内)\r\n\t\tif (!allPass && firstErrorNode) {\r\n\t\t\t// 用纯 DOM 向上查找最近的 .to-scroll 容器,兼容 Vue 3\r\n\t\t\tlet scrollEl: any = firstErrorNode\r\n\t\t\twhile (scrollEl && scrollEl.nodeName !== 'BODY' && !(scrollEl.classList && scrollEl.classList.contains('to-scroll'))) {\r\n\t\t\t\tscrollEl = scrollEl.parentNode\r\n\t\t\t}\r\n\t\t\tif (scrollEl && scrollEl.nodeName !== 'BODY') {\r\n\t\t\t\t// 真正可滚动的元素是 .to-scroll-content,回退到 .to-scroll 自身\r\n\t\t\t\tconst inner = scrollEl.querySelector('.to-scroll-content') || scrollEl\r\n\t\t\t\tconst targetRect = (firstErrorNode as HTMLElement).getBoundingClientRect()\r\n\t\t\t\tconst scrollRect = (inner as HTMLElement).getBoundingClientRect()\r\n\t\t\t\t;(inner as HTMLElement).scrollTo({\r\n\t\t\t\t\ttop: (inner as HTMLElement).scrollTop + targetRect.top - scrollRect.top - 10,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn allPass\r\n\t} else {\r\n\t\treturn true\r\n\t}\r\n}\r\n\r\nconst validateAll = function (dom) {\r\n\treturn validate(dom, true)\r\n}\r\nexport { validate, validateAll }\r\n"],"names":[],"mappings":"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"}
|
package/global.d.ts
CHANGED
|
@@ -49,7 +49,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
49
49
|
default: string;
|
|
50
50
|
};
|
|
51
51
|
comparable: BooleanConstructor;
|
|
52
|
-
readonly: BooleanConstructor;
|
|
53
52
|
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
54
53
|
flex: BooleanConstructor;
|
|
55
54
|
labelWidth: {
|
|
@@ -97,11 +96,9 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
97
96
|
default: string;
|
|
98
97
|
};
|
|
99
98
|
comparable: BooleanConstructor;
|
|
100
|
-
readonly: BooleanConstructor;
|
|
101
99
|
}>> & Readonly<{}>, {
|
|
102
100
|
mode: string;
|
|
103
101
|
flex: boolean;
|
|
104
|
-
readonly: boolean;
|
|
105
102
|
type: string;
|
|
106
103
|
col: string | number;
|
|
107
104
|
dir: string;
|
|
@@ -48,7 +48,8 @@ import { ToTransfer } from './transfer';
|
|
|
48
48
|
import { ToUpload } from './upload';
|
|
49
49
|
import { ToImport } from './import';
|
|
50
50
|
import { ToExport } from './export';
|
|
51
|
-
|
|
51
|
+
import { ToRate } from './rate';
|
|
52
|
+
export { ToButton, ToIcon, ToBox, ToSelect, ToCalendar, ToGap, ToStep, ToForm, ToFormItem, ToGrid, ToGridItem, ToHeader, ToInput, ToDivider, ToMsg, ToPadding, ToPage, ToCheckbox, ToCheckboxes, ToCenterScroll, ToDatePicker, ToDateRange, ToSwitch, ToTab, ToTabItem, ToTable, ToTableHead, ToTableBody, ToTableConfig, ToTag, ToText, ToTip, ToDialog, ToEllipsis, ToFix, ToFloat, ToTooltip, ToSegment, ToPic, ToParam, ToProgress, ToScroll, ToScrollPoint, ToSlide, ToBreadcrumb, ToBreadcrumbItem, ToTree, ToCascader, ToTimeline, ToCollapse, ToCollapseItem, ToRange, ToGuider, ToTransfer, ToUpload, ToImport, ToExport, ToRate };
|
|
52
53
|
export * from '@touchvue/directives';
|
|
53
54
|
export * from './button';
|
|
54
55
|
export * from './icon';
|
|
@@ -97,3 +98,4 @@ export * from './transfer';
|
|
|
97
98
|
export * from './upload';
|
|
98
99
|
export * from './import';
|
|
99
100
|
export * from './export';
|
|
101
|
+
export * from './rate';
|
|
@@ -6,7 +6,7 @@ declare function __VLS_template(): {
|
|
|
6
6
|
default?(_: {}): any;
|
|
7
7
|
default?(_: {}): any;
|
|
8
8
|
suffix?(_: {}): any;
|
|
9
|
-
|
|
9
|
+
fn?(_: {}): any;
|
|
10
10
|
};
|
|
11
11
|
declare const __VLS_component: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
12
|
flex: BooleanConstructor;
|
|
@@ -170,10 +170,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
170
170
|
type: (NumberConstructor | StringConstructor)[];
|
|
171
171
|
default: number;
|
|
172
172
|
};
|
|
173
|
-
readonly: {
|
|
174
|
-
type: BooleanConstructor;
|
|
175
|
-
default: boolean;
|
|
176
|
-
};
|
|
177
173
|
count: {
|
|
178
174
|
type: BooleanConstructor;
|
|
179
175
|
default: boolean;
|
|
@@ -363,10 +359,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
363
359
|
type: (NumberConstructor | StringConstructor)[];
|
|
364
360
|
default: number;
|
|
365
361
|
};
|
|
366
|
-
readonly: {
|
|
367
|
-
type: BooleanConstructor;
|
|
368
|
-
default: boolean;
|
|
369
|
-
};
|
|
370
362
|
count: {
|
|
371
363
|
type: BooleanConstructor;
|
|
372
364
|
default: boolean;
|
|
@@ -391,7 +383,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
391
383
|
color: string;
|
|
392
384
|
flex: boolean;
|
|
393
385
|
width: string | number;
|
|
394
|
-
readonly: boolean;
|
|
395
386
|
trim: boolean;
|
|
396
387
|
link: boolean;
|
|
397
388
|
type: string;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
|
+
modelValue: {
|
|
3
|
+
type: NumberConstructor;
|
|
4
|
+
default: number;
|
|
5
|
+
};
|
|
6
|
+
max: {
|
|
7
|
+
type: NumberConstructor;
|
|
8
|
+
default: number;
|
|
9
|
+
};
|
|
10
|
+
size: {
|
|
11
|
+
type: NumberConstructor;
|
|
12
|
+
default: number;
|
|
13
|
+
};
|
|
14
|
+
readonly: BooleanConstructor;
|
|
15
|
+
allowHalf: {
|
|
16
|
+
type: BooleanConstructor;
|
|
17
|
+
default: boolean;
|
|
18
|
+
};
|
|
19
|
+
color: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
showScore: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
27
|
+
clearable: {
|
|
28
|
+
type: BooleanConstructor;
|
|
29
|
+
default: boolean;
|
|
30
|
+
};
|
|
31
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
32
|
+
change: (...args: any[]) => void;
|
|
33
|
+
"update:modelValue": (...args: any[]) => void;
|
|
34
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
35
|
+
modelValue: {
|
|
36
|
+
type: NumberConstructor;
|
|
37
|
+
default: number;
|
|
38
|
+
};
|
|
39
|
+
max: {
|
|
40
|
+
type: NumberConstructor;
|
|
41
|
+
default: number;
|
|
42
|
+
};
|
|
43
|
+
size: {
|
|
44
|
+
type: NumberConstructor;
|
|
45
|
+
default: number;
|
|
46
|
+
};
|
|
47
|
+
readonly: BooleanConstructor;
|
|
48
|
+
allowHalf: {
|
|
49
|
+
type: BooleanConstructor;
|
|
50
|
+
default: boolean;
|
|
51
|
+
};
|
|
52
|
+
color: {
|
|
53
|
+
type: StringConstructor;
|
|
54
|
+
default: string;
|
|
55
|
+
};
|
|
56
|
+
showScore: {
|
|
57
|
+
type: BooleanConstructor;
|
|
58
|
+
default: boolean;
|
|
59
|
+
};
|
|
60
|
+
clearable: {
|
|
61
|
+
type: BooleanConstructor;
|
|
62
|
+
default: boolean;
|
|
63
|
+
};
|
|
64
|
+
}>> & Readonly<{
|
|
65
|
+
onChange?: (...args: any[]) => any;
|
|
66
|
+
"onUpdate:modelValue"?: (...args: any[]) => any;
|
|
67
|
+
}>, {
|
|
68
|
+
size: number;
|
|
69
|
+
color: string;
|
|
70
|
+
readonly: boolean;
|
|
71
|
+
modelValue: number;
|
|
72
|
+
clearable: boolean;
|
|
73
|
+
max: number;
|
|
74
|
+
allowHalf: boolean;
|
|
75
|
+
showScore: boolean;
|
|
76
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
77
|
+
export default _default;
|
|
@@ -160,14 +160,6 @@ export declare const selectProps: {
|
|
|
160
160
|
type: StringConstructor;
|
|
161
161
|
default: string;
|
|
162
162
|
};
|
|
163
|
-
/**
|
|
164
|
-
* 是否只读
|
|
165
|
-
* @deprecated replace by disabled
|
|
166
|
-
*/
|
|
167
|
-
readonly: {
|
|
168
|
-
type: BooleanConstructor;
|
|
169
|
-
default: boolean;
|
|
170
|
-
};
|
|
171
163
|
disabled: {
|
|
172
164
|
type: BooleanConstructor;
|
|
173
165
|
default: boolean;
|
|
@@ -86,10 +86,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
86
86
|
type: StringConstructor;
|
|
87
87
|
default: string;
|
|
88
88
|
};
|
|
89
|
-
readonly: {
|
|
90
|
-
type: BooleanConstructor;
|
|
91
|
-
default: boolean;
|
|
92
|
-
};
|
|
93
89
|
disabled: {
|
|
94
90
|
type: BooleanConstructor;
|
|
95
91
|
default: boolean;
|
|
@@ -338,10 +334,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
338
334
|
type: StringConstructor;
|
|
339
335
|
default: string;
|
|
340
336
|
};
|
|
341
|
-
readonly: {
|
|
342
|
-
type: BooleanConstructor;
|
|
343
|
-
default: boolean;
|
|
344
|
-
};
|
|
345
337
|
disabled: {
|
|
346
338
|
type: BooleanConstructor;
|
|
347
339
|
default: boolean;
|
|
@@ -513,7 +505,6 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
513
505
|
flex: boolean;
|
|
514
506
|
width: string | number;
|
|
515
507
|
lazy: boolean;
|
|
516
|
-
readonly: boolean;
|
|
517
508
|
trim: boolean;
|
|
518
509
|
data: string | SelectOptionsData[];
|
|
519
510
|
required: boolean;
|
|
@@ -5,6 +5,8 @@ interface Props {
|
|
|
5
5
|
pagerPosition?: string;
|
|
6
6
|
flex?: boolean;
|
|
7
7
|
}
|
|
8
|
+
declare function next(): void;
|
|
9
|
+
declare function prev(): void;
|
|
8
10
|
declare function adjust(): void;
|
|
9
11
|
declare function reset(): void;
|
|
10
12
|
declare function __VLS_template(): {
|
|
@@ -13,6 +15,8 @@ declare function __VLS_template(): {
|
|
|
13
15
|
declare const __VLS_component: import("vue").DefineComponent<Props, {
|
|
14
16
|
reset: typeof reset;
|
|
15
17
|
adjust: typeof adjust;
|
|
18
|
+
prev: typeof prev;
|
|
19
|
+
next: typeof next;
|
|
16
20
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
17
21
|
mode: string;
|
|
18
22
|
flex: boolean;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
2
2
|
flex: BooleanConstructor;
|
|
3
|
-
|
|
3
|
+
disabled: BooleanConstructor;
|
|
4
4
|
modelValue: {
|
|
5
5
|
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
|
|
6
6
|
default: boolean;
|
|
@@ -67,7 +67,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
67
67
|
"update:modelValue": (...args: any[]) => void;
|
|
68
68
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
69
69
|
flex: BooleanConstructor;
|
|
70
|
-
|
|
70
|
+
disabled: BooleanConstructor;
|
|
71
71
|
modelValue: {
|
|
72
72
|
type: (BooleanConstructor | NumberConstructor | StringConstructor)[];
|
|
73
73
|
default: boolean;
|
|
@@ -132,7 +132,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
132
132
|
color: string;
|
|
133
133
|
flex: boolean;
|
|
134
134
|
width: string | number;
|
|
135
|
-
|
|
135
|
+
disabled: boolean;
|
|
136
136
|
modelValue: string | number | boolean;
|
|
137
137
|
comparable: boolean;
|
|
138
138
|
beforeChange: string | boolean | Function;
|