@touchvue/ui 1.0.0-beta.60 → 1.0.0-beta.62
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/select/src/select.d.ts +7 -0
- package/es/components/select/src/select.vue.d.ts +9 -0
- package/es/components/table/src/table-body.vue.d.ts +4 -0
- package/es/packages/components/button/src/button.vue2.mjs +1 -1
- package/es/packages/components/fix/src/Fix.vue2.mjs +6 -1
- package/es/packages/components/fix/src/Fix.vue2.mjs.map +1 -1
- package/es/packages/components/select/src/select.mjs +7 -0
- package/es/packages/components/select/src/select.mjs.map +1 -1
- package/es/packages/components/select/src/select.vue2.mjs +45 -7
- package/es/packages/components/select/src/select.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table-body.vue2.mjs +38 -9
- package/es/packages/components/table/src/table-body.vue2.mjs.map +1 -1
- package/es/packages/components/table/src/table.vue2.mjs +19 -6
- package/es/packages/components/table/src/table.vue2.mjs.map +1 -1
- package/es/packages/utils/validate.mjs +3 -3
- package/es/packages/utils/validate.mjs.map +1 -1
- package/lib/components/select/src/select.d.ts +7 -0
- package/lib/components/select/src/select.vue.d.ts +9 -0
- package/lib/components/table/src/table-body.vue.d.ts +4 -0
- package/lib/packages/components/button/src/button.vue2.js +1 -1
- package/lib/packages/components/fix/src/Fix.vue2.js +6 -1
- package/lib/packages/components/fix/src/Fix.vue2.js.map +1 -1
- package/lib/packages/components/select/src/select.js +7 -0
- package/lib/packages/components/select/src/select.js.map +1 -1
- package/lib/packages/components/select/src/select.vue2.js +45 -7
- package/lib/packages/components/select/src/select.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table-body.vue2.js +37 -8
- package/lib/packages/components/table/src/table-body.vue2.js.map +1 -1
- package/lib/packages/components/table/src/table.vue2.js +19 -6
- package/lib/packages/components/table/src/table.vue2.js.map +1 -1
- package/lib/packages/utils/validate.js +3 -3
- package/lib/packages/utils/validate.js.map +1 -1
- package/package.json +1 -1
- package/theme/components/index.css +73 -25
- package/theme/index.css +73 -25
- package/theme/skin/default.css +73 -25
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.mjs","sources":["../../../../packages/utils/validate.ts"],"sourcesContent":["import { createVNode, render, nextTick, type ComponentPublicInstance } from 'vue'\ntype VueInstance = ComponentPublicInstance\nimport { ToTooltip, $tip } from '@touchvue/components'\nimport { hasClass } from './dom'\nimport { t } from '@touchvue/locale'\n\ninterface ValidationRule {\n\trule: RegExp\n\tdesc: string\n\tremark?: string\n}\n\ninterface Regs {\n\t[key: string]: ValidationRule\n}\nconst regs: Regs = {\n\t// 基础判断\n\ten: {\n\t\trule: /^[A-Za-z]+$/,\n\t\tdesc: t('to.validate.desc.en')\n\t},\n\t'en-lower': {\n\t\trule: /^[a-z]+$/,\n\t\tdesc: t('to.validate.desc.enLower')\n\t},\n\t'en-upper': {\n\t\trule: /^[A-Z]+$/,\n\t\tdesc: t('to.validate.desc.enUpper')\n\t},\n\t'en-none': {\n\t\trule: /^[^A-Za-z]*$/,\n\t\tdesc: t('to.validate.desc.enNone')\n\t},\n\tcn: {\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])+$/,\n\t\tdesc: t('to.validate.desc.cn')\n\t},\n\tnumber: {\n\t\trule: /^[-+]?([1-9][0-9]*|0)(\\.[0-9]+)?$/,\n\t\tdesc: t('to.validate.desc.number')\n\t},\n\tinteger: {\n\t\trule: /^-?[0-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integer')\n\t},\n\t'integer-p': {\n\t\trule: /^\\+?[1-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integerP')\n\t},\n\t'integer-n': {\n\t\trule: /^-[1-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integerN')\n\t},\n\tnature: {\n\t\trule: /^\\d+$/,\n\t\tdesc: t('to.validate.desc.nature')\n\t},\n\tdate: {\n\t\trule: /^\\d{4}(-)(1[0-2]|0?\\d)\\1([0-2]\\d|\\d|30|31)$/,\n\t\tdesc: t('to.validate.desc.date')\n\t},\n\ttime: {\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\n\t\tdesc: t('to.validate.desc.time')\n\t},\n\t'time-12': {\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\n\t\tdesc: t('to.validate.desc.time12')\n\t},\n\t// 基本数据格式\n\tmoney: {\n\t\trule: /^-?\\d+(,\\d{3})*(\\.\\d{1,2})?$/,\n\t\tdesc: t('to.validate.desc.money')\n\t},\n\tip: {\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]))?$/,\n\t\tdesc: t('to.validate.desc.ip')\n\t},\n\t'ip-v6': {\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,\n\t\tdesc: t('to.validate.desc.ipV6')\n\t},\n\tpassword: {\n\t\trule: /^\\S*(?=\\S{6,})(?=\\S*\\d)(?=\\S*[A-Z])(?=\\S*[a-z])(?=\\S*[!@#$%^&*? ])\\S*$/,\n\t\tdesc: t('to.validate.desc.password'),\n\t\tremark: t('to.validate.remark.password')\n\t},\n\tusername: {\n\t\trule: /^[a-zA-Z0-9_-]{4,16}$/,\n\t\tdesc: t('to.validate.desc.username'),\n\t\tremark: t('to.validate.remark.username')\n\t},\n\t// 用户信息\n\tname: {\n\t\trule: /^([\\u4e00-\\u9fa5·]{2,16}|[a-zA-Z.\\s]{1,20})$/,\n\t\tdesc: t('to.validate.desc.name')\n\t},\n\t'name-cn': {\n\t\trule: /^(?:[\\u4e00-\\u9fa5·]{2,16})$/,\n\t\tdesc: t('to.validate.desc.nameCn')\n\t},\n\t'name-en': {\n\t\trule: /(^[a-zA-Z]{1}[a-zA-Z\\s]{0,20}[a-zA-Z]{1}$)/,\n\t\tdesc: t('to.validate.desc.nameEn')\n\t},\n\temail: {\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,}))$/,\n\t\tdesc: t('to.validate.desc.email')\n\t},\n\tqq: {\n\t\trule: /^[1-9][0-9]{4,10}$/,\n\t\tdesc: t('to.validate.desc.qq')\n\t},\n\twechat: {\n\t\trule: /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/,\n\t\tdesc: t('to.validate.desc.wechat')\n\t},\n\tweb: {\n\t\trule: /^(((ht|f)tps?):\\/\\/)?[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-])?$/,\n\t\tdesc: t('to.validate.desc.web')\n\t},\n\tuscc: {\n\t\trule: /^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,\n\t\tdesc: t('to.validate.desc.uscc')\n\t},\n\tbank: {\n\t\trule: /^[1-9]\\d{9,29}$/,\n\t\tdesc: t('to.validate.desc.bank')\n\t},\n\tphone: {\n\t\trule: /^1[3456789]\\d{9}$/,\n\t\tdesc: t('to.validate.desc.phone')\n\t},\n\ttelphone: {\n\t\trule: /^\\d{3}-\\d{8}$|^\\d{4}-\\d{7,8}$/,\n\t\tdesc: t('to.validate.desc.telphone')\n\t},\n\tid: {\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]$/,\n\t\tdesc: t('to.validate.desc.id')\n\t},\n\tpassport: {\n\t\trule: /(^[EeKkGgDdSsPpHh]\\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\\d{7}$)/,\n\t\tdesc: t('to.validate.desc.passport')\n\t},\n\tmac: {\n\t\trule: /^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i,\n\t\tdesc: t('to.validate.desc.mac')\n\t}\n}\n\n// 判断是否在滚动条以内\nfunction isHideByScroller(node) {\n\tconst el = node\n\twhile (node && !hasClass(node, 'to-scroll') && node.nodeName !== 'BODY') {\n\t\tnode = (node as VueInstance & { __vueParentComponent?: any; __vue_app__?: any }).__vueParentComponent || node.parentNode\n\t}\n\tif (node && node.nodeName !== 'BODY') {\n\t\tconst scroller = node\n\t\treturn el.getBoundingClientRect().top > scroller.getBoundingClientRect().top + scroller.offsetHeight || el.getBoundingClientRect().top + el.offsetHeight <= scroller.getBoundingClientRect().top\n\t} else {\n\t\treturn false\n\t}\n}\n\n// 显示提示的方法\nfunction showTip(formEl, desc = '') {\n\t// 元素未被隐藏使用 tooltip\n\tif (formEl.offsetWidth > 0 && !isHideByScroller(formEl)) {\n\t\tconst tooltip = createVNode(\n\t\t\tToTooltip,\n\t\t\t{\n\t\t\t\tevent: '',\n\t\t\t\tshadow: false,\n\t\t\t\tposition: 'auto',\n\t\t\t\talign: 'auto',\n\t\t\t\tcolor: 'danger',\n\t\t\t\twidth: '',\n\t\t\t\tlazy: true,\n\t\t\t\tcloseOnBlur: true,\n\t\t\t\tisScrollClose: true,\n\t\t\t\tdelay: 0,\n\t\t\t\tmode: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tdefault: () => desc\n\t\t\t}\n\t\t)\n\t\tconst container = document.createElement('div')\n\t\trender(tooltip, container)\n\t\tdocument.body.appendChild(container)\n\t\tnextTick(() => {\n\t\t\tformEl._tip = {\n\t\t\t\tvnode: tooltip,\n\t\t\t\tcontainer\n\t\t\t}\n\t\t\tconst open = () => {\n\t\t\t\ttooltip.component.exposed.open(formEl)\n\t\t\t}\n\t\t\t// const close = () => {\n\t\t\t// \ttooltip.component.exposed.close(formEl)\n\t\t\t// }\n\t\t\t// 参数 click,弹出方式\n\t\t\t// if (binding.arg) {\n\t\t\t// \tformEl.addEventListener('click', open)\n\t\t\t// } else {\n\t\t\t// formEl.addEventListener('mouseenter', open)\n\t\t\t// formEl.addEventListener('mouseleave', close)\n\t\t\topen()\n\t\t\t// }\n\t\t})\n\n\t\t// 当前元素获取焦点\n\t\tif (formEl.getElementsByTagName('input')[0]) {\n\t\t\tformEl.getElementsByTagName('input')[0].select()\n\t\t}\n\t}\n\n\t// 元素被隐藏使用 floattip\n\telse {\n\t\t// ToTip.danger(desc)\n\t\t$tip.warning(desc)\n\t}\n}\n\n/**\n * 表单验证函数\n * 该函数用于验证网页表单中的输入是否符合规范\n * 它可以接受一个DOM元素、Vue实例或元素ID作为参数,并验证指定元素及其子元素中带有.to-validate类的元素\n * @param {string|HTMLElement|Vue} dom - 表单的DOM元素、Vue实例或元素ID\n * @param {boolean} isAll - 是否验证所有输入项,默认为false,只验证第一个不符合规则的项\n * @returns {boolean} - 如果所有验证项都通过验证,则返回true;否则返回false\n */\nconst validate = function (dom: string | HTMLElement | VueInstance, isAll = false): boolean {\n\t// 存储待验证的DOM节点\n\tlet nodes: Element[] = []\n\n\t// 标记验证是否全部通过\n\tlet allPass = true\n\n\t// 标记所有在滚动条之外的节点\n\tconst hiddenErrorNodes = []\n\n\t// 记录第一个校验不通过的节点(按 DOM 顺序),用于滚动定位\n\tlet firstErrorNode: any = null\n\n\t/**\n\t * 标记所有在滚动条之外的节点信息\n\t * 此函数用于检查给定的表单元素是否在滚动条之外,从而决定是将其标记为可见错误还是隐藏错误\n\t * @param {HTMLElement} formEl - 需要检查的表单元素\n\t */\n\tfunction setHiddenErrorNodes(formEl) {\n\t\t// 记录首个错误节点(仅记录第一次)\n\t\tif (!firstErrorNode) firstErrorNode = formEl\n\t\t// 如果表单元素在滚动条之外,则将其添加到隐藏错误节点列表中\n\t\telse {\n\t\t\thiddenErrorNodes.push(formEl)\n\t\t}\n\t}\n\n\t// 根据传入参数类型获取待验证的节点列表\n\tif (typeof dom === 'string' && document.getElementById(dom)) {\n\t\tnodes = Array.from(document.getElementById(dom).querySelectorAll('.to-validate'))\n\t} else if (dom instanceof HTMLElement) {\n\t\tnodes = Array.from(dom.querySelectorAll('.to-validate'))\n\t} else if (typeof dom !== 'string' && dom && dom.$el) {\n\t\tnodes = Array.from(dom.$el.querySelectorAll('.to-validate'))\n\t}\n\n\t// 如果没有找到任何待验证的节点,直接返回true\n\tif (nodes.length === 0) {\n\t\treturn true\n\t}\n\n\t// 遍历所有待验证的节点\n\tfor (let i = 0; i < nodes.length; i++) {\n\t\tconst node = nodes[i]\n\n\t\t// 获取验证规则、是否需要trim空格、描述、是否必填等属性\n\t\tconst rule = node.getAttribute('rule')\n\t\tconst trim = node.getAttribute('trim') === 'true'\n\t\tconst value = (function () {\n\t\t\tif (node.getAttribute('value')) {\n\t\t\t\treturn trim ? node.getAttribute('value').trim() : node.getAttribute('value')\n\t\t\t} else {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t})()\n\t\tconst desc = node.getAttribute('desc')\n\t\tconst required = node.getAttribute('req') === 'true'\n\t\tconst formEl = node.parentNode\n\t\t// 修改这里,将formEl转换为any类型以访问Vue特定属性\n\t\tlet formVue = (formEl as any).__vueParentComponent || (formEl as any).__vue_app__?.$parent\n\n\t\t// 特殊处理ToDatePicker组件的验证 (兼容Vue2/Vue3)\n\t\tconst vueInstance = formVue || (formEl as any).__vue_app__?.$parent\n\t\tif (vueInstance && ['ToDatePicker'].includes(vueInstance.$options?.name)) {\n\t\t\tformVue = vueInstance.$refs.inputBox\n\t\t}\n\n\t\t// 根据isAll参数决定验证流程\n\t\tif (isAll) {\n\t\t\t// 如果值存在且有规则,则应用规则验证\n\t\t\tif (value) {\n\t\t\t\tif (rule) {\n\t\t\t\t\tformVue.exposed.errorType.value = 'rule'\n\t\t\t\t\tlet reg\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\n\t\t\t\t\t\treg = regs[rule].rule\n\t\t\t\t\t\tif (!reg.test(value)) {\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 : ''}`)\n\t\t\t\t\t\t\tallPass = false\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treg = new RegExp(rule)\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tformVue.errorTip = t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : '')\n\t\t\t\t\t\t\tallPass = false\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if (required) {\n\t\t\t\tformVue.exposed.errorType.value = 'required'\n\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.requiredRemark', desc)\n\t\t\t\tallPass = false\n\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t} else {\n\t\t\t// 如果值存在且有规则,则应用规则验证\n\t\t\tif (value) {\n\t\t\t\tif (rule) {\n\t\t\t\t\tlet reg\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\n\t\t\t\t\t\treg = regs[rule].rule\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`))\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treg = new RegExp(rule)\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : ''))\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if (required) {\n\t\t\t\tshowTip(formEl, t('to.validate.tip.requiredRemark', desc))\n\t\t\t\treturn false\n\t\t\t} else {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t}\n\n\t// 根据isAll参数返回相应的结果\n\tif (isAll) {\n\t\t// 校验不通过时,自动滚动到第一个不通过的表单项(若其位于 to-scroll 内)\n\t\tif (!allPass && firstErrorNode) {\n\t\t\t// 用纯 DOM 向上查找最近的 .to-scroll 容器,兼容 Vue 3\n\t\t\tlet scrollEl: any = firstErrorNode\n\t\t\twhile (scrollEl && scrollEl.nodeName !== 'BODY' && !(scrollEl.classList && scrollEl.classList.contains('to-scroll'))) {\n\t\t\t\tscrollEl = scrollEl.parentNode\n\t\t\t}\n\t\t\tif (scrollEl && scrollEl.nodeName !== 'BODY') {\n\t\t\t\t// 真正可滚动的元素是 .to-scroll-content,回退到 .to-scroll 自身\n\t\t\t\tconst inner = scrollEl.querySelector('.to-scroll-content') || scrollEl\n\t\t\t\tconst targetRect = (firstErrorNode as HTMLElement).getBoundingClientRect()\n\t\t\t\tconst scrollRect = (inner as HTMLElement).getBoundingClientRect()\n\t\t\t\t;(inner as HTMLElement).scrollTo({\n\t\t\t\t\ttop: (inner as HTMLElement).scrollTop + targetRect.top - scrollRect.top - 10,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn allPass\n\t} else {\n\t\treturn true\n\t}\n}\n\nconst validateAll = function (dom) {\n\treturn validate(dom, true)\n}\nexport { validate, validateAll }\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'\ntype VueInstance = ComponentPublicInstance\nimport { ToTooltip, $tip } from '@touchvue/components'\nimport { hasClass } from './dom'\nimport { t } from '@touchvue/locale'\n\ninterface ValidationRule {\n\trule: RegExp\n\tdesc: string\n\tremark?: string\n}\n\ninterface Regs {\n\t[key: string]: ValidationRule\n}\nconst regs: Regs = {\n\t// 基础判断\n\ten: {\n\t\trule: /^[A-Za-z]+$/,\n\t\tdesc: t('to.validate.desc.en')\n\t},\n\t'en-lower': {\n\t\trule: /^[a-z]+$/,\n\t\tdesc: t('to.validate.desc.enLower')\n\t},\n\t'en-upper': {\n\t\trule: /^[A-Z]+$/,\n\t\tdesc: t('to.validate.desc.enUpper')\n\t},\n\t'en-none': {\n\t\trule: /^[^A-Za-z]*$/,\n\t\tdesc: t('to.validate.desc.enNone')\n\t},\n\tcn: {\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])+$/,\n\t\tdesc: t('to.validate.desc.cn')\n\t},\n\tnumber: {\n\t\trule: /^[-+]?([1-9][0-9]*|0)(\\.[0-9]+)?$/,\n\t\tdesc: t('to.validate.desc.number')\n\t},\n\tinteger: {\n\t\trule: /^-?[0-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integer')\n\t},\n\t'integer-p': {\n\t\trule: /^\\+?[1-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integerP')\n\t},\n\t'integer-n': {\n\t\trule: /^-[1-9]\\d*$/,\n\t\tdesc: t('to.validate.desc.integerN')\n\t},\n\tnature: {\n\t\trule: /^\\d+$/,\n\t\tdesc: t('to.validate.desc.nature')\n\t},\n\tdate: {\n\t\trule: /^\\d{4}(-)(1[0-2]|0?\\d)\\1([0-2]\\d|\\d|30|31)$/,\n\t\tdesc: t('to.validate.desc.date')\n\t},\n\ttime: {\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\n\t\tdesc: t('to.validate.desc.time')\n\t},\n\t'time-12': {\n\t\trule: /^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$/,\n\t\tdesc: t('to.validate.desc.time12')\n\t},\n\t// 基本数据格式\n\tmoney: {\n\t\trule: /^-?\\d+(,\\d{3})*(\\.\\d{1,2})?$/,\n\t\tdesc: t('to.validate.desc.money')\n\t},\n\tip: {\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]))?$/,\n\t\tdesc: t('to.validate.desc.ip')\n\t},\n\t'ip-v6': {\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,\n\t\tdesc: t('to.validate.desc.ipV6')\n\t},\n\tpassword: {\n\t\trule: /^\\S*(?=\\S{6,})(?=\\S*\\d)(?=\\S*[A-Z])(?=\\S*[a-z])(?=\\S*[!@#$%^&*? ])\\S*$/,\n\t\tdesc: t('to.validate.desc.password'),\n\t\tremark: t('to.validate.remark.password')\n\t},\n\tusername: {\n\t\trule: /^[a-zA-Z0-9_-]{4,16}$/,\n\t\tdesc: t('to.validate.desc.username'),\n\t\tremark: t('to.validate.remark.username')\n\t},\n\t// 用户信息\n\tname: {\n\t\trule: /^([\\u4e00-\\u9fa5·]{2,16}|[a-zA-Z.\\s]{1,20})$/,\n\t\tdesc: t('to.validate.desc.name')\n\t},\n\t'name-cn': {\n\t\trule: /^(?:[\\u4e00-\\u9fa5·]{2,16})$/,\n\t\tdesc: t('to.validate.desc.nameCn')\n\t},\n\t'name-en': {\n\t\trule: /(^[a-zA-Z]{1}[a-zA-Z\\s]{0,20}[a-zA-Z]{1}$)/,\n\t\tdesc: t('to.validate.desc.nameEn')\n\t},\n\temail: {\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,}))$/,\n\t\tdesc: t('to.validate.desc.email')\n\t},\n\tqq: {\n\t\trule: /^[1-9][0-9]{4,10}$/,\n\t\tdesc: t('to.validate.desc.qq')\n\t},\n\twechat: {\n\t\trule: /^[a-zA-Z][-_a-zA-Z0-9]{5,19}$/,\n\t\tdesc: t('to.validate.desc.wechat')\n\t},\n\tweb: {\n\t\trule: /^(((ht|f)tps?):\\/\\/)?[\\w-]+(\\.[\\w-]+)+([\\w.,@?^=%&:/~+#-]*[\\w@?^=%&/~+#-])?$/,\n\t\tdesc: t('to.validate.desc.web')\n\t},\n\tuscc: {\n\t\trule: /^[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/,\n\t\tdesc: t('to.validate.desc.uscc')\n\t},\n\tbank: {\n\t\trule: /^[1-9]\\d{9,29}$/,\n\t\tdesc: t('to.validate.desc.bank')\n\t},\n\tphone: {\n\t\trule: /^1[3456789]\\d{9}$/,\n\t\tdesc: t('to.validate.desc.phone')\n\t},\n\ttelphone: {\n\t\trule: /^\\d{3}-\\d{8}$|^\\d{4}-\\d{7,8}$/,\n\t\tdesc: t('to.validate.desc.telphone')\n\t},\n\tid: {\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]$/,\n\t\tdesc: t('to.validate.desc.id')\n\t},\n\tpassport: {\n\t\trule: /(^[EeKkGgDdSsPpHh]\\d{8}$)|(^(([Ee][a-fA-F])|([DdSsPp][Ee])|([Kk][Jj])|([Mm][Aa])|(1[45]))\\d{7}$)/,\n\t\tdesc: t('to.validate.desc.passport')\n\t},\n\tmac: {\n\t\trule: /^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$/i,\n\t\tdesc: t('to.validate.desc.mac')\n\t}\n}\n\n// 判断是否在滚动条以内\nfunction isHideByScroller(node) {\n\tconst el = node\n\twhile (node && !hasClass(node, 'to-scroll') && node.nodeName !== 'BODY') {\n\t\tnode = (node as VueInstance & { __vueParentComponent?: any; __vue_app__?: any }).__vueParentComponent || node.parentNode\n\t}\n\tif (node && node.nodeName !== 'BODY') {\n\t\tconst scroller = node\n\t\treturn el.getBoundingClientRect().top > scroller.getBoundingClientRect().top + scroller.offsetHeight || el.getBoundingClientRect().top + el.offsetHeight <= scroller.getBoundingClientRect().top\n\t} else {\n\t\treturn false\n\t}\n}\n\n// 显示提示的方法\nfunction showTip(formEl, desc = '') {\n\t// 元素未被隐藏使用 tooltip\n\tif (formEl.offsetWidth > 0 && !isHideByScroller(formEl)) {\n\t\tconst tooltip = createVNode(\n\t\t\tToTooltip,\n\t\t\t{\n\t\t\t\tevent: '',\n\t\t\t\tshadow: false,\n\t\t\t\tposition: 'auto',\n\t\t\t\talign: 'auto',\n\t\t\t\tcolor: 'danger',\n\t\t\t\twidth: '',\n\t\t\t\tlazy: true,\n\t\t\t\tcloseOnBlur: true,\n\t\t\t\tisScrollClose: true,\n\t\t\t\tdelay: 0,\n\t\t\t\tmode: ''\n\t\t\t},\n\t\t\t{\n\t\t\t\tdefault: () => desc\n\t\t\t}\n\t\t)\n\t\tconst container = document.createElement('div')\n\t\trender(tooltip, container)\n\t\tdocument.body.appendChild(container)\n\n\t\t// 首次聚焦会触发输入框更新,需要在挂载校验提示前完成\n\t\tif (formEl.getElementsByTagName('input')[0]) {\n\t\t\tformEl.getElementsByTagName('input')[0].select()\n\t\t}\n\n\t\tnextTick(() => {\n\t\t\tformEl._tip = {\n\t\t\t\tvnode: tooltip,\n\t\t\t\tcontainer\n\t\t\t}\n\t\t\tconst open = () => {\n\t\t\t\ttooltip.component.exposed.open(formEl)\n\t\t\t}\n\t\t\t// const close = () => {\n\t\t\t// \ttooltip.component.exposed.close(formEl)\n\t\t\t// }\n\t\t\t// 参数 click,弹出方式\n\t\t\t// if (binding.arg) {\n\t\t\t// \tformEl.addEventListener('click', open)\n\t\t\t// } else {\n\t\t\t// formEl.addEventListener('mouseenter', open)\n\t\t\t// formEl.addEventListener('mouseleave', close)\n\t\t\topen()\n\t\t\t// }\n\t\t})\n\t}\n\n\t// 元素被隐藏使用 floattip\n\telse {\n\t\t// ToTip.danger(desc)\n\t\t$tip.warning(desc)\n\t}\n}\n\n/**\n * 表单验证函数\n * 该函数用于验证网页表单中的输入是否符合规范\n * 它可以接受一个DOM元素、Vue实例或元素ID作为参数,并验证指定元素及其子元素中带有.to-validate类的元素\n * @param {string|HTMLElement|Vue} dom - 表单的DOM元素、Vue实例或元素ID\n * @param {boolean} isAll - 是否验证所有输入项,默认为false,只验证第一个不符合规则的项\n * @returns {boolean} - 如果所有验证项都通过验证,则返回true;否则返回false\n */\nconst validate = function (dom: string | HTMLElement | VueInstance, isAll = false): boolean {\n\t// 存储待验证的DOM节点\n\tlet nodes: Element[] = []\n\n\t// 标记验证是否全部通过\n\tlet allPass = true\n\n\t// 标记所有在滚动条之外的节点\n\tconst hiddenErrorNodes = []\n\n\t// 记录第一个校验不通过的节点(按 DOM 顺序),用于滚动定位\n\tlet firstErrorNode: any = null\n\n\t/**\n\t * 标记所有在滚动条之外的节点信息\n\t * 此函数用于检查给定的表单元素是否在滚动条之外,从而决定是将其标记为可见错误还是隐藏错误\n\t * @param {HTMLElement} formEl - 需要检查的表单元素\n\t */\n\tfunction setHiddenErrorNodes(formEl) {\n\t\t// 记录首个错误节点(仅记录第一次)\n\t\tif (!firstErrorNode) firstErrorNode = formEl\n\t\t// 如果表单元素在滚动条之外,则将其添加到隐藏错误节点列表中\n\t\telse {\n\t\t\thiddenErrorNodes.push(formEl)\n\t\t}\n\t}\n\n\t// 根据传入参数类型获取待验证的节点列表\n\tif (typeof dom === 'string' && document.getElementById(dom)) {\n\t\tnodes = Array.from(document.getElementById(dom).querySelectorAll('.to-validate'))\n\t} else if (dom instanceof HTMLElement) {\n\t\tnodes = Array.from(dom.querySelectorAll('.to-validate'))\n\t} else if (typeof dom !== 'string' && dom && dom.$el) {\n\t\tnodes = Array.from(dom.$el.querySelectorAll('.to-validate'))\n\t}\n\n\t// 如果没有找到任何待验证的节点,直接返回true\n\tif (nodes.length === 0) {\n\t\treturn true\n\t}\n\n\t// 遍历所有待验证的节点\n\tfor (let i = 0; i < nodes.length; i++) {\n\t\tconst node = nodes[i]\n\n\t\t// 获取验证规则、是否需要trim空格、描述、是否必填等属性\n\t\tconst rule = node.getAttribute('rule')\n\t\tconst trim = node.getAttribute('trim') === 'true'\n\t\tconst value = (function () {\n\t\t\tif (node.getAttribute('value')) {\n\t\t\t\treturn trim ? node.getAttribute('value').trim() : node.getAttribute('value')\n\t\t\t} else {\n\t\t\t\treturn ''\n\t\t\t}\n\t\t})()\n\t\tconst desc = node.getAttribute('desc')\n\t\tconst required = node.getAttribute('req') === 'true'\n\t\tconst formEl = node.parentNode\n\t\t// 修改这里,将formEl转换为any类型以访问Vue特定属性\n\t\tlet formVue = (formEl as any).__vueParentComponent || (formEl as any).__vue_app__?.$parent\n\n\t\t// 特殊处理ToDatePicker组件的验证 (兼容Vue2/Vue3)\n\t\tconst vueInstance = formVue || (formEl as any).__vue_app__?.$parent\n\t\tif (vueInstance && ['ToDatePicker'].includes(vueInstance.$options?.name)) {\n\t\t\tformVue = vueInstance.$refs.inputBox\n\t\t}\n\n\t\t// 根据isAll参数决定验证流程\n\t\tif (isAll) {\n\t\t\t// 如果值存在且有规则,则应用规则验证\n\t\t\tif (value) {\n\t\t\t\tif (rule) {\n\t\t\t\t\tformVue.exposed.errorType.value = 'rule'\n\t\t\t\t\tlet reg\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\n\t\t\t\t\t\treg = regs[rule].rule\n\t\t\t\t\t\tif (!reg.test(value)) {\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 : ''}`)\n\t\t\t\t\t\t\tallPass = false\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treg = new RegExp(rule)\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tformVue.errorTip = t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : '')\n\t\t\t\t\t\t\tallPass = false\n\t\t\t\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if (required) {\n\t\t\t\tformVue.exposed.errorType.value = 'required'\n\t\t\t\tformVue.exposed.errorTip.value = t('to.validate.tip.requiredRemark', desc)\n\t\t\t\tallPass = false\n\t\t\t\tsetHiddenErrorNodes(formEl)\n\t\t\t\tcontinue\n\t\t\t} else {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t} else {\n\t\t\t// 如果值存在且有规则,则应用规则验证\n\t\t\tif (value) {\n\t\t\t\tif (rule) {\n\t\t\t\t\tlet reg\n\t\t\t\t\tif (regs[rule] && regs[rule].rule) {\n\t\t\t\t\t\treg = regs[rule].rule\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.common', desc, `${regs[rule].desc}${regs[rule].remark ? ',' + regs[rule].remark : ''}`))\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treg = new RegExp(rule)\n\t\t\t\t\t\tif (!reg.test(value)) {\n\t\t\t\t\t\t\tshowTip(formEl, t('to.validate.tip.customRemark', desc, formVue.validateTip ? `,${formVue.validateTip}` : ''))\n\t\t\t\t\t\t\treturn false\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontinue\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t} else if (required) {\n\t\t\t\tshowTip(formEl, t('to.validate.tip.requiredRemark', desc))\n\t\t\t\treturn false\n\t\t\t} else {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t}\n\t}\n\n\t// 根据isAll参数返回相应的结果\n\tif (isAll) {\n\t\t// 校验不通过时,自动滚动到第一个不通过的表单项(若其位于 to-scroll 内)\n\t\tif (!allPass && firstErrorNode) {\n\t\t\t// 用纯 DOM 向上查找最近的 .to-scroll 容器,兼容 Vue 3\n\t\t\tlet scrollEl: any = firstErrorNode\n\t\t\twhile (scrollEl && scrollEl.nodeName !== 'BODY' && !(scrollEl.classList && scrollEl.classList.contains('to-scroll'))) {\n\t\t\t\tscrollEl = scrollEl.parentNode\n\t\t\t}\n\t\t\tif (scrollEl && scrollEl.nodeName !== 'BODY') {\n\t\t\t\t// 真正可滚动的元素是 .to-scroll-content,回退到 .to-scroll 自身\n\t\t\t\tconst inner = scrollEl.querySelector('.to-scroll-content') || scrollEl\n\t\t\t\tconst targetRect = (firstErrorNode as HTMLElement).getBoundingClientRect()\n\t\t\t\tconst scrollRect = (inner as HTMLElement).getBoundingClientRect()\n\t\t\t\t;(inner as HTMLElement).scrollTo({\n\t\t\t\t\ttop: (inner as HTMLElement).scrollTop + targetRect.top - scrollRect.top - 10,\n\t\t\t\t\tbehavior: 'smooth'\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t\treturn allPass\n\t} else {\n\t\treturn true\n\t}\n}\n\nconst validateAll = function (dom) {\n\treturn validate(dom, true)\n}\nexport { validate, validateAll }\n"],"names":[],"mappings":"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"}
|
|
@@ -287,6 +287,13 @@ export declare const selectProps: {
|
|
|
287
287
|
type: BooleanConstructor;
|
|
288
288
|
default: boolean;
|
|
289
289
|
};
|
|
290
|
+
/**
|
|
291
|
+
* 选项分页:选项超过此值时自动分页,滚动加载
|
|
292
|
+
*/
|
|
293
|
+
optionPageSize: {
|
|
294
|
+
type: NumberConstructor;
|
|
295
|
+
default: number;
|
|
296
|
+
};
|
|
290
297
|
/**
|
|
291
298
|
* 选项对齐方式
|
|
292
299
|
*/
|
|
@@ -158,6 +158,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
158
158
|
type: BooleanConstructor;
|
|
159
159
|
default: boolean;
|
|
160
160
|
};
|
|
161
|
+
optionPageSize: {
|
|
162
|
+
type: NumberConstructor;
|
|
163
|
+
default: number;
|
|
164
|
+
};
|
|
161
165
|
optionAlign: {
|
|
162
166
|
type: import("vue").PropType<"left" | "right" | "center">;
|
|
163
167
|
default: string;
|
|
@@ -414,6 +418,10 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
414
418
|
type: BooleanConstructor;
|
|
415
419
|
default: boolean;
|
|
416
420
|
};
|
|
421
|
+
optionPageSize: {
|
|
422
|
+
type: NumberConstructor;
|
|
423
|
+
default: number;
|
|
424
|
+
};
|
|
417
425
|
optionAlign: {
|
|
418
426
|
type: import("vue").PropType<"left" | "right" | "center">;
|
|
419
427
|
default: string;
|
|
@@ -555,6 +563,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
|
|
|
555
563
|
optionDisplay: string;
|
|
556
564
|
optionCol: string | number;
|
|
557
565
|
optionWrap: boolean;
|
|
566
|
+
optionPageSize: number;
|
|
558
567
|
optionAlign: "left" | "right" | "center";
|
|
559
568
|
httpRequest: Function;
|
|
560
569
|
api: string;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
interface Props {
|
|
2
2
|
type?: string;
|
|
3
|
+
loneCheck?: boolean;
|
|
3
4
|
data?: Record<string, any>[];
|
|
4
5
|
columnData?: {
|
|
5
6
|
prop?: string;
|
|
@@ -21,6 +22,7 @@ interface FlatNode {
|
|
|
21
22
|
detailShow: boolean;
|
|
22
23
|
[key: string]: any;
|
|
23
24
|
}
|
|
25
|
+
declare function setCheckIndexes(indexes?: number[]): void;
|
|
24
26
|
declare function checkAll(boolean: any): void;
|
|
25
27
|
declare function setCheckData(ids: any, valueKeys: any): void;
|
|
26
28
|
declare function __VLS_template(): Partial<Record<string, (_: {
|
|
@@ -69,6 +71,7 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {
|
|
|
69
71
|
checkAll: typeof checkAll;
|
|
70
72
|
flatData: import("vue").ComputedRef<FlatNode[]>;
|
|
71
73
|
setCheckData: typeof setCheckData;
|
|
74
|
+
setCheckIndexes: typeof setCheckIndexes;
|
|
72
75
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
73
76
|
change: (...args: any[]) => void;
|
|
74
77
|
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
@@ -76,6 +79,7 @@ declare const __VLS_component: import("vue").DefineComponent<Props, {
|
|
|
76
79
|
}>, {
|
|
77
80
|
data: Record<string, any>[];
|
|
78
81
|
type: string;
|
|
82
|
+
loneCheck: boolean;
|
|
79
83
|
columnData: {
|
|
80
84
|
prop?: string;
|
|
81
85
|
label?: string;
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
|
-
var ratio = require('../../../utils/ratio.js');
|
|
7
6
|
var useSetClass = require('../../../hooks/useSetClass.js');
|
|
7
|
+
var ratio = require('../../../utils/ratio.js');
|
|
8
8
|
|
|
9
9
|
const __default__ = vue.defineComponent({
|
|
10
10
|
name: "ToButton"
|
|
@@ -116,6 +116,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
116
116
|
content.value.parentElement.parentNode.removeChild(content.value.parentElement);
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
|
+
const onDragStart = (event) => {
|
|
120
|
+
if (props.draggable)
|
|
121
|
+
event.preventDefault();
|
|
122
|
+
};
|
|
119
123
|
const onMouseDown = (event) => {
|
|
120
124
|
if (!props.draggable)
|
|
121
125
|
return;
|
|
@@ -248,7 +252,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
248
252
|
class: "to-fix-wrapper",
|
|
249
253
|
style: vue.normalizeStyle(setStyle.value),
|
|
250
254
|
onMousedown: onMouseDown,
|
|
251
|
-
onTouchstart: onTouchStart
|
|
255
|
+
onTouchstart: onTouchStart,
|
|
256
|
+
onDragstart: onDragStart
|
|
252
257
|
},
|
|
253
258
|
[
|
|
254
259
|
vue.renderSlot(_ctx.$slots, "default"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Fix.vue2.js","sources":["../../../../../../packages/components/fix/src/Fix.vue"],"sourcesContent":["<script lang=\"ts\">\nconst DRAG_THRESHOLD = 5\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToFix'\n});</script>\n<template>\n\t<div class=\"to-fix\" :class=\"setClass\">\n\t\t<div ref=\"content\" class=\"to-fix-wrapper\" :style=\"setStyle\" @mousedown=\"onMouseDown\" @touchstart=\"onTouchStart\">\n\t\t\t<slot></slot>\n\t\t\t<to-tag v-if=\"Number(number)\" class=\"to-fix-number\" type=\"number\">{{ number }}</to-tag>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, onActivated, onDeactivated, onBeforeUnmount, nextTick } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { getEm } from '@touchvue/utils'\n\n// 定义 props\nconst props = defineProps({\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\ttop: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto'\n\t},\n\tnumber: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tleft: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto'\n\t},\n\tright: {\n\t\ttype: [String, Number],\n\t\tdefault: 1\n\t},\n\tbottom: {\n\t\ttype: [String, Number],\n\t\tdefault: 1\n\t},\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\tdraggable: Boolean\n})\n\n// 响应式数据\nconst content = ref<HTMLElement | null>(null)\nconst resizeTimer = ref<number | null>(null)\nconst isDown = ref(false)\nconst offsetX = ref(0)\nconst offsetY = ref(0)\nconst currentTop = ref<string | null>(null)\nconst currentLeft = ref<string | null>(null)\nconst currentRight = ref<string | null>(null)\nconst currentBottom = ref<string | null>(null)\nconst isDraging = ref(false) // 拖动开始标志\nconst startX = ref(0) // 记录起始X位置\nconst startY = ref(0) // 记录起始Y位置\n // 拖动阈值,5px\n\n// 计算属性\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\tif (currentTop.value) {\n\t\tobj.top = currentTop.value\n\t\tobj.bottom = 'auto'\n\t} else {\n\t\tif (props.top && props.top !== 'auto') {\n\t\t\tobj.top = props.top + 'em'\n\t\t\tobj.bottom = 'auto'\n\t\t} else if (props.bottom && props.bottom !== 'auto') {\n\t\t\tobj.bottom = props.bottom + 'em'\n\t\t\tobj.top = 'auto'\n\t\t}\n\t}\n\tif (currentLeft.value) {\n\t\tobj.left = currentLeft.value\n\t\tobj.right = 'auto'\n\t} else {\n\t\tif (props.left && props.left !== 'auto') {\n\t\t\tobj.left = props.left + 'em'\n\t\t\tobj.right = 'auto'\n\t\t} else if (props.right && props.right !== 'auto') {\n\t\t\tobj.right = props.right + 'em'\n\t\t\tobj.left = 'auto'\n\t\t}\n\t}\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tconst arr = []\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\tif (isDraging.value) {\n\t\tarr.push(`is-dragging`)\n\t}\n\treturn arr\n})\n\n// 监听器\nwatch(isDown, val => {\n\tif (val) {\n\t\tdocument.body.style.userSelect = 'none'\n\t} else {\n\t\tdocument.body.style.userSelect = ''\n\t}\n})\n\n// 方法\nconst init = () => {\n\tif (props.appendToBody && content.value?.parentElement) {\n\t\tdocument.body.appendChild(content.value.parentElement)\n\t}\n\twindow.addEventListener('resize', resize)\n}\n\nconst destroy = () => {\n\twindow.removeEventListener('resize', resize)\n\tif (props.appendToBody && content.value?.parentElement?.parentNode) {\n\t\tcontent.value.parentElement.parentNode.removeChild(content.value.parentElement)\n\t}\n}\n\n// 鼠标事件\nconst onMouseDown = (event: MouseEvent) => {\n\tif (!props.draggable) return\n\n\tisDown.value = true\n\tisDraging.value = false // 重置拖动开始标志\n\tstartX.value = event.clientX // 记录起始位置\n\tstartY.value = event.clientY\n\tif (content.value) {\n\t\tconst rect = content.value.getBoundingClientRect()\n\t\toffsetX.value = event.clientX - rect.left\n\t\toffsetY.value = event.clientY - rect.top\n\t}\n\tdocument.addEventListener('mousemove', onMouseMove)\n\tdocument.addEventListener('mouseup', onMouseUp)\n}\n\nconst onMouseMove = (event: MouseEvent) => {\n\tif (!isDown.value) return\n\n\t// 计算移动距离\n\tconst distance = Math.sqrt(Math.pow(event.clientX - startX.value, 2) + Math.pow(event.clientY - startY.value, 2))\n\n\t// 只有当移动距离超过阈值时才开始拖动\n\tif (distance >= DRAG_THRESHOLD) {\n\t\tisDraging.value = true // 标记拖动已经开始\n\t\tsetPosition(event.clientX, event.clientY)\n\t}\n}\n\nconst onMouseUp = () => {\n\tisDown.value = false\n\tisDraging.value = false\n\tdocument.removeEventListener('mousemove', onMouseMove)\n\tdocument.removeEventListener('mouseup', onMouseUp)\n\tsetEmUnit()\n}\n\n// 触摸事件\nconst onTouchStart = (event: TouchEvent) => {\n\tif (!props.draggable) return\n\n\tisDown.value = true\n\tisDraging.value = false // 重置拖动开始标志\n\n\tconst touch = event.touches[0]\n\tstartX.value = touch.clientX // 记录起始位置\n\tstartY.value = touch.clientY\n\tif (content.value) {\n\t\tconst rect = content.value.getBoundingClientRect()\n\t\toffsetX.value = touch.clientX - rect.left\n\t\toffsetY.value = touch.clientY - rect.top\n\t}\n\n\tdocument.addEventListener('touchmove', onTouchMove)\n\tdocument.addEventListener('touchend', onTouchEnd)\n}\n\nconst onTouchMove = (event: TouchEvent) => {\n\tif (!isDown.value) return\n\n\tconst touch = event.touches[0]\n\t// 计算移动距离\n\tconst distance = Math.sqrt(Math.pow(touch.clientX - startX.value, 2) + Math.pow(touch.clientY - startY.value, 2))\n\n\t// 只有当移动距离超过阈值时才开始拖动\n\tif (distance >= DRAG_THRESHOLD) {\n\t\tisDraging.value = true // 标记拖动已经开始\n\t\tsetPosition(touch.clientX, touch.clientY)\n\t}\n}\n\nconst onTouchEnd = () => {\n\tisDown.value = false\n\tisDraging.value = false\n\tdocument.removeEventListener('touchmove', onTouchMove)\n\tdocument.removeEventListener('touchend', onTouchEnd)\n\tsetEmUnit()\n}\n\nconst setEmUnit = () => {\n\tif (content.value) {\n\t\tcurrentTop.value = content.value.getBoundingClientRect().top / getEm() + 'em'\n\t\tcurrentLeft.value = content.value.getBoundingClientRect().left / getEm() + 'em'\n\t}\n}\n\nconst setPosition = (clientX?: number, clientY?: number) => {\n\tif (!content.value) return\n\n\tconst container = content.value.offsetParent || document.documentElement\n\tconst containerRect = container.getBoundingClientRect()\n\tconst elRect = content.value.getBoundingClientRect()\n\tconst elWidth = content.value.offsetWidth\n\tconst elHeight = content.value.offsetHeight\n\tlet newLeft = clientX ? clientX - offsetX.value : elRect.left\n\tlet newTop = clientY ? clientY - offsetY.value : elRect.top\n\n\t// 确保元素不会拖出可视范围\n\tif (newLeft < 0) newLeft = 0\n\tif (newLeft + elWidth > containerRect.width) newLeft = containerRect.width - elWidth\n\tif (newTop < 0) newTop = 0\n\tif (newTop + elHeight > containerRect.height) newTop = containerRect.height - elHeight\n\n\tcurrentTop.value = `${newTop}px`\n\tcurrentLeft.value = `${newLeft}px`\n\tcurrentRight.value = 'auto'\n\tcurrentBottom.value = 'auto'\n}\n\nconst resize = () => {\n\tif (resizeTimer.value) {\n\t\tclearTimeout(resizeTimer.value)\n\t}\n\tresizeTimer.value = window.setTimeout(() => {\n\t\tsetPosition()\n\t\tnextTick(() => {\n\t\t\tsetEmUnit()\n\t\t})\n\t}, 300)\n}\n\n// 生命周期钩子\nonMounted(() => {\n\tinit()\n})\n\nonActivated(() => {\n\tinit()\n})\n\nonDeactivated(() => {\n\tdestroy()\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","getModeClasses","watch","getEm","nextTick","onMounted","onActivated","onDeactivated","onBeforeUnmount","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Fix.vue2.js","sources":["../../../../../../packages/components/fix/src/Fix.vue"],"sourcesContent":["<script lang=\"ts\">\nconst DRAG_THRESHOLD = 5\n\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({\n\tname: 'ToFix'\n});</script>\n<template>\n\t<div class=\"to-fix\" :class=\"setClass\">\n\t\t<div ref=\"content\" class=\"to-fix-wrapper\" :style=\"setStyle\" @mousedown=\"onMouseDown\" @touchstart=\"onTouchStart\" @dragstart=\"onDragStart\">\n\t\t\t<slot></slot>\n\t\t\t<to-tag v-if=\"Number(number)\" class=\"to-fix-number\" type=\"number\">{{ number }}</to-tag>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, onActivated, onDeactivated, onBeforeUnmount, nextTick } from 'vue'\nimport { getModeClasses } from '@touchvue/hooks'\nimport { getEm } from '@touchvue/utils'\n\n// 定义 props\nconst props = defineProps({\n\tmode: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\ttop: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto'\n\t},\n\tnumber: {\n\t\ttype: [String, Number],\n\t\tdefault: ''\n\t},\n\tleft: {\n\t\ttype: [String, Number],\n\t\tdefault: 'auto'\n\t},\n\tright: {\n\t\ttype: [String, Number],\n\t\tdefault: 1\n\t},\n\tbottom: {\n\t\ttype: [String, Number],\n\t\tdefault: 1\n\t},\n\tappendToBody: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\tdraggable: Boolean\n})\n\n// 响应式数据\nconst content = ref<HTMLElement | null>(null)\nconst resizeTimer = ref<number | null>(null)\nconst isDown = ref(false)\nconst offsetX = ref(0)\nconst offsetY = ref(0)\nconst currentTop = ref<string | null>(null)\nconst currentLeft = ref<string | null>(null)\nconst currentRight = ref<string | null>(null)\nconst currentBottom = ref<string | null>(null)\nconst isDraging = ref(false) // 拖动开始标志\nconst startX = ref(0) // 记录起始X位置\nconst startY = ref(0) // 记录起始Y位置\n // 拖动阈值,5px\n\n// 计算属性\nconst setStyle = computed(() => {\n\tconst obj: Record<string, string> = {}\n\tif (currentTop.value) {\n\t\tobj.top = currentTop.value\n\t\tobj.bottom = 'auto'\n\t} else {\n\t\tif (props.top && props.top !== 'auto') {\n\t\t\tobj.top = props.top + 'em'\n\t\t\tobj.bottom = 'auto'\n\t\t} else if (props.bottom && props.bottom !== 'auto') {\n\t\t\tobj.bottom = props.bottom + 'em'\n\t\t\tobj.top = 'auto'\n\t\t}\n\t}\n\tif (currentLeft.value) {\n\t\tobj.left = currentLeft.value\n\t\tobj.right = 'auto'\n\t} else {\n\t\tif (props.left && props.left !== 'auto') {\n\t\t\tobj.left = props.left + 'em'\n\t\t\tobj.right = 'auto'\n\t\t} else if (props.right && props.right !== 'auto') {\n\t\t\tobj.right = props.right + 'em'\n\t\t\tobj.left = 'auto'\n\t\t}\n\t}\n\treturn obj\n})\n\nconst setClass = computed(() => {\n\tconst arr = []\n\tif (props.mode) {\n\t\tarr.push(...getModeClasses(props.mode))\n\t}\n\tif (isDraging.value) {\n\t\tarr.push(`is-dragging`)\n\t}\n\treturn arr\n})\n\n// 监听器\nwatch(isDown, val => {\n\tif (val) {\n\t\tdocument.body.style.userSelect = 'none'\n\t} else {\n\t\tdocument.body.style.userSelect = ''\n\t}\n})\n\n// 方法\nconst init = () => {\n\tif (props.appendToBody && content.value?.parentElement) {\n\t\tdocument.body.appendChild(content.value.parentElement)\n\t}\n\twindow.addEventListener('resize', resize)\n}\n\nconst destroy = () => {\n\twindow.removeEventListener('resize', resize)\n\tif (props.appendToBody && content.value?.parentElement?.parentNode) {\n\t\tcontent.value.parentElement.parentNode.removeChild(content.value.parentElement)\n\t}\n}\n\n// 阻止内部元素(如 img、a)触发浏览器原生拖拽,避免与组件自定义拖拽冲突导致 mousemove 失效\nconst onDragStart = (event: DragEvent) => {\n\tif (props.draggable) event.preventDefault()\n}\n\n// 鼠标事件\nconst onMouseDown = (event: MouseEvent) => {\n\tif (!props.draggable) return\n\n\tisDown.value = true\n\tisDraging.value = false // 重置拖动开始标志\n\tstartX.value = event.clientX // 记录起始位置\n\tstartY.value = event.clientY\n\tif (content.value) {\n\t\tconst rect = content.value.getBoundingClientRect()\n\t\toffsetX.value = event.clientX - rect.left\n\t\toffsetY.value = event.clientY - rect.top\n\t}\n\tdocument.addEventListener('mousemove', onMouseMove)\n\tdocument.addEventListener('mouseup', onMouseUp)\n}\n\nconst onMouseMove = (event: MouseEvent) => {\n\tif (!isDown.value) return\n\n\t// 计算移动距离\n\tconst distance = Math.sqrt(Math.pow(event.clientX - startX.value, 2) + Math.pow(event.clientY - startY.value, 2))\n\n\t// 只有当移动距离超过阈值时才开始拖动\n\tif (distance >= DRAG_THRESHOLD) {\n\t\tisDraging.value = true // 标记拖动已经开始\n\t\tsetPosition(event.clientX, event.clientY)\n\t}\n}\n\nconst onMouseUp = () => {\n\tisDown.value = false\n\tisDraging.value = false\n\tdocument.removeEventListener('mousemove', onMouseMove)\n\tdocument.removeEventListener('mouseup', onMouseUp)\n\tsetEmUnit()\n}\n\n// 触摸事件\nconst onTouchStart = (event: TouchEvent) => {\n\tif (!props.draggable) return\n\n\tisDown.value = true\n\tisDraging.value = false // 重置拖动开始标志\n\n\tconst touch = event.touches[0]\n\tstartX.value = touch.clientX // 记录起始位置\n\tstartY.value = touch.clientY\n\tif (content.value) {\n\t\tconst rect = content.value.getBoundingClientRect()\n\t\toffsetX.value = touch.clientX - rect.left\n\t\toffsetY.value = touch.clientY - rect.top\n\t}\n\n\tdocument.addEventListener('touchmove', onTouchMove)\n\tdocument.addEventListener('touchend', onTouchEnd)\n}\n\nconst onTouchMove = (event: TouchEvent) => {\n\tif (!isDown.value) return\n\n\tconst touch = event.touches[0]\n\t// 计算移动距离\n\tconst distance = Math.sqrt(Math.pow(touch.clientX - startX.value, 2) + Math.pow(touch.clientY - startY.value, 2))\n\n\t// 只有当移动距离超过阈值时才开始拖动\n\tif (distance >= DRAG_THRESHOLD) {\n\t\tisDraging.value = true // 标记拖动已经开始\n\t\tsetPosition(touch.clientX, touch.clientY)\n\t}\n}\n\nconst onTouchEnd = () => {\n\tisDown.value = false\n\tisDraging.value = false\n\tdocument.removeEventListener('touchmove', onTouchMove)\n\tdocument.removeEventListener('touchend', onTouchEnd)\n\tsetEmUnit()\n}\n\nconst setEmUnit = () => {\n\tif (content.value) {\n\t\tcurrentTop.value = content.value.getBoundingClientRect().top / getEm() + 'em'\n\t\tcurrentLeft.value = content.value.getBoundingClientRect().left / getEm() + 'em'\n\t}\n}\n\nconst setPosition = (clientX?: number, clientY?: number) => {\n\tif (!content.value) return\n\n\tconst container = content.value.offsetParent || document.documentElement\n\tconst containerRect = container.getBoundingClientRect()\n\tconst elRect = content.value.getBoundingClientRect()\n\tconst elWidth = content.value.offsetWidth\n\tconst elHeight = content.value.offsetHeight\n\tlet newLeft = clientX ? clientX - offsetX.value : elRect.left\n\tlet newTop = clientY ? clientY - offsetY.value : elRect.top\n\n\t// 确保元素不会拖出可视范围\n\tif (newLeft < 0) newLeft = 0\n\tif (newLeft + elWidth > containerRect.width) newLeft = containerRect.width - elWidth\n\tif (newTop < 0) newTop = 0\n\tif (newTop + elHeight > containerRect.height) newTop = containerRect.height - elHeight\n\n\tcurrentTop.value = `${newTop}px`\n\tcurrentLeft.value = `${newLeft}px`\n\tcurrentRight.value = 'auto'\n\tcurrentBottom.value = 'auto'\n}\n\nconst resize = () => {\n\tif (resizeTimer.value) {\n\t\tclearTimeout(resizeTimer.value)\n\t}\n\tresizeTimer.value = window.setTimeout(() => {\n\t\tsetPosition()\n\t\tnextTick(() => {\n\t\t\tsetEmUnit()\n\t\t})\n\t}, 300)\n}\n\n// 生命周期钩子\nonMounted(() => {\n\tinit()\n})\n\nonActivated(() => {\n\tinit()\n})\n\nonDeactivated(() => {\n\tdestroy()\n})\n\nonBeforeUnmount(() => {\n\tdestroy()\n})\n</script>\n"],"names":["DO_defineComponent","ref","computed","getModeClasses","watch","getEm","nextTick","onMounted","onActivated","onDeactivated","onBeforeUnmount","_createElementBlock","_normalizeClass","_createElementVNode","_renderSlot","_createBlock"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { ExtractPropTypes, PropType } from 'vue'\n\nfunction ajax() {}\n\n/**\n * 选择框模式类型\n */\nexport type SelectMode = 'default' | 'fill' | 'none' | 'plain' | 'line' | string\n\n/**\n * 选择值的类型\n */\nexport type SelectValueType = string | number | (string | number)[]\n\n/**\n * 选择框选项数据类型\n */\nexport type SelectOptionsData = {\n\t/**\n\t * 默认的选项标题字段\n\t */\n\tlabel?: string | unknown\n\t/**\n\t * 默认的选项值字段\n\t */\n\tvalue?: string | number | unknown\n\tdisabled?: boolean\n\thide?: boolean\n\t[props: string]: any\n}\n\n/**\n * 箭头类型\n */\nexport type ArrowType = 'browse' | 'next' | ''\n\n/**\n * 选项显示模式\n */\nexport type OptionDisplay = 'none' | 'float' | 'popup' | string\n\nexport const selectProps = {\n\tflex: Boolean,\n\t/**\n\t * 懒加载\n\t */\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 原生模式(性能极端低下情况下使用)\n\t */\n\tnative: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 表单校验描述\n\t */\n\tdesc: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 表单校验规则\n\t */\n\trule: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 元素ID\n\t */\n\tid: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否必填\n\t */\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 安全字符过滤\n\t */\n\tspChars: {\n\t\ttype: [String, Boolean],\n\t\tdefault: '/,\\\\,[,],{,},\"' // 微软拼音输入法使用单引号做上屏前多个字符分隔符,不能过滤单引号\n\t},\n\t/**\n\t * 单位\n\t */\n\tunit: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 分割符号\n\t */\n\tsplitSymbol: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * Tab索引\n\t */\n\ttabindex: {\n\t\ttype: String,\n\t\tdefault: '1'\n\t},\n\t/**\n\t * 值字段名\n\t */\n\tvalueText: {\n\t\ttype: String,\n\t\tdefault: 'value'\n\t},\n\t/**\n\t * 标签字段名\n\t */\n\tlabelText: {\n\t\ttype: String,\n\t\tdefault: 'label'\n\t},\n\t/**\n\t * 绑定值\n\t */\n\tmodelValue: {\n\t\ttype: [String, Number, Array] as PropType<SelectValueType>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选择框数据\n\t */\n\tdata: {\n\t\ttype: [Array, String] as PropType<SelectOptionsData[] | string>,\n\t\tdefault: () => []\n\t},\n\t/**\n\t * 占位符文本\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 占位符颜色\n\t */\n\tplaceholderColor: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 无匹配数据文本\n\t */\n\tnomatchText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 暂无数据文本\n\t */\n\tnodataText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否多选\n\t */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 多选时是否折叠标签为计数显示(+N)\n\t * 开启后自动根据宽度判断一行能放下的标签数,超出部分显示 +N\n\t */\n\tisCount: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可过滤\n\t */\n\tfilterable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可输入\n\t */\n\tinputable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 使用全选文本\n\t */\n\tuseAllText: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 全选文本\n\t */\n\tallText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否可清空\n\t */\n\tclearable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 清空方式\n\t * - icon:输入框内显示清除图标按钮,不展示\"请选择\"默认项\n\t * - default:通过下拉选项中的\"请选择\"空选项清空(原始行为)\n\t * 支持全局配置 $TouchUI.select.clearType\n\t */\n\tclearType: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 多选是否可逐个删除\n\t */\n\tremovable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 选择框颜色\n\t */\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\t/**\n\t * 选择框模式\n\t */\n\tmode: {\n\t\ttype: String as PropType<SelectMode>,\n\t\tdefault: 'default'\n\t},\n\t/**\n\t * 选择框宽度\n\t */\n\twidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 箭头类型\n\t */\n\tarrowType: {\n\t\ttype: String as PropType<ArrowType>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项宽度\n\t */\n\toptionWidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项显示模式\n\t */\n\toptionDisplay: {\n\t\ttype: [Number, String] as PropType<OptionDisplay>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项列数\n\t */\n\toptionCol: {\n\t\ttype: [Number, String],\n\t\tdefault: 1\n\t},\n\t/**\n\t * 选项换行\n\t */\n\toptionWrap: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 选项对齐方式\n\t */\n\toptionAlign: {\n\t\ttype: String as PropType<'left' | 'right' | 'center'>,\n\t\tdefault: 'left'\n\t},\n\t/**\n\t * HTTP请求函数\n\t */\n\thttpRequest: {\n\t\ttype: Function,\n\t\tdefault: ajax\n\t},\n\t/**\n\t * API地址\n\t */\n\tapi: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * API参数\n\t */\n\tapiParam: {\n\t\ttype: Object,\n\t\tdefault: null\n\t},\n\t/**\n\t * API请求头\n\t */\n\tapiHeaders: {\n\t\ttype: Object,\n\t\tdefault: () => ({})\n\t},\n\t/**\n\t * API标签字段\n\t */\n\tapiLabel: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 响应数据路径\n\t */\n\tresPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 错误信息路径\n\t */\n\terrorPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 成功状态码\n\t */\n\tsuccessCode: {\n\t\ttype: String,\n\t\tdefault: '0'\n\t},\n\t/**\n\t * 远程异步数据设置函数\n\t */\n\tsetDataFn: {\n\t\ttype: Function,\n\t\tdefault: null\n\t},\n\t/**\n\t * 前缀文本\n\t */\n\tprefix: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 后缀文本\n\t */\n\tsuffix: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 图标\n\t */\n\ticon: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否去除空格\n\t */\n\ttrim: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 多选时每次选择都关闭弹窗\n\t */\n\tcloseSelection: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可验证\n\t */\n\tverifiable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 是否可比较\n\t */\n\tcomparable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 自定义标签函数\n\t */\n\tsetLabelFn: {\n\t\ttype: Function,\n\t\tdefault: undefined\n\t},\n\t/**\n\t * 是否换行\n\t */\n\twrap: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 过滤模式下清空数据是否弹出下拉框\n\t */\n\tfocusWhenClear: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 值改变前的回调\n\t */\n\tbeforeChange: {\n\t\ttype: Function,\n\t\tdefault: null\n\t},\n\t/**\n\t * 值类型\n\t */\n\tvalueType: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否开启远程搜索\n\t */\n\tremote: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 远程搜索方法\n\t */\n\tremoteMethod: {\n\t\ttype: Function,\n\t\tdefault: null\n\t}\n}\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"select.js","sources":["../../../../../../packages/components/select/src/select.ts"],"sourcesContent":["import { ExtractPropTypes, PropType } from 'vue'\n\nfunction ajax() {}\n\n/**\n * 选择框模式类型\n */\nexport type SelectMode = 'default' | 'fill' | 'none' | 'plain' | 'line' | string\n\n/**\n * 选择值的类型\n */\nexport type SelectValueType = string | number | (string | number)[]\n\n/**\n * 选择框选项数据类型\n */\nexport type SelectOptionsData = {\n\t/**\n\t * 默认的选项标题字段\n\t */\n\tlabel?: string | unknown\n\t/**\n\t * 默认的选项值字段\n\t */\n\tvalue?: string | number | unknown\n\tdisabled?: boolean\n\thide?: boolean\n\t[props: string]: any\n}\n\n/**\n * 箭头类型\n */\nexport type ArrowType = 'browse' | 'next' | ''\n\n/**\n * 选项显示模式\n */\nexport type OptionDisplay = 'none' | 'float' | 'popup' | string\n\nexport const selectProps = {\n\tflex: Boolean,\n\t/**\n\t * 懒加载\n\t */\n\tlazy: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 原生模式(性能极端低下情况下使用)\n\t */\n\tnative: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 表单校验描述\n\t */\n\tdesc: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 表单校验规则\n\t */\n\trule: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 元素ID\n\t */\n\tid: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否必填\n\t */\n\trequired: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 安全字符过滤\n\t */\n\tspChars: {\n\t\ttype: [String, Boolean],\n\t\tdefault: '/,\\\\,[,],{,},\"' // 微软拼音输入法使用单引号做上屏前多个字符分隔符,不能过滤单引号\n\t},\n\t/**\n\t * 单位\n\t */\n\tunit: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 分割符号\n\t */\n\tsplitSymbol: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * Tab索引\n\t */\n\ttabindex: {\n\t\ttype: String,\n\t\tdefault: '1'\n\t},\n\t/**\n\t * 值字段名\n\t */\n\tvalueText: {\n\t\ttype: String,\n\t\tdefault: 'value'\n\t},\n\t/**\n\t * 标签字段名\n\t */\n\tlabelText: {\n\t\ttype: String,\n\t\tdefault: 'label'\n\t},\n\t/**\n\t * 绑定值\n\t */\n\tmodelValue: {\n\t\ttype: [String, Number, Array] as PropType<SelectValueType>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选择框数据\n\t */\n\tdata: {\n\t\ttype: [Array, String] as PropType<SelectOptionsData[] | string>,\n\t\tdefault: () => []\n\t},\n\t/**\n\t * 占位符文本\n\t */\n\tplaceholder: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 占位符颜色\n\t */\n\tplaceholderColor: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 无匹配数据文本\n\t */\n\tnomatchText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 暂无数据文本\n\t */\n\tnodataText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\tdisabled: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否多选\n\t */\n\tmultiple: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 多选时是否折叠标签为计数显示(+N)\n\t * 开启后自动根据宽度判断一行能放下的标签数,超出部分显示 +N\n\t */\n\tisCount: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可过滤\n\t */\n\tfilterable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可输入\n\t */\n\tinputable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 使用全选文本\n\t */\n\tuseAllText: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 全选文本\n\t */\n\tallText: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否可清空\n\t */\n\tclearable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 清空方式\n\t * - icon:输入框内显示清除图标按钮,不展示\"请选择\"默认项\n\t * - default:通过下拉选项中的\"请选择\"空选项清空(原始行为)\n\t * 支持全局配置 $TouchUI.select.clearType\n\t */\n\tclearType: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 多选是否可逐个删除\n\t */\n\tremovable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 选择框颜色\n\t */\n\tcolor: {\n\t\ttype: String,\n\t\tdefault: 'default'\n\t},\n\t/**\n\t * 选择框模式\n\t */\n\tmode: {\n\t\ttype: String as PropType<SelectMode>,\n\t\tdefault: 'default'\n\t},\n\t/**\n\t * 选择框宽度\n\t */\n\twidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 箭头类型\n\t */\n\tarrowType: {\n\t\ttype: String as PropType<ArrowType>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项宽度\n\t */\n\toptionWidth: {\n\t\ttype: [Number, String],\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项显示模式\n\t */\n\toptionDisplay: {\n\t\ttype: [Number, String] as PropType<OptionDisplay>,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 选项列数\n\t */\n\toptionCol: {\n\t\ttype: [Number, String],\n\t\tdefault: 1\n\t},\n\t/**\n\t * 选项换行\n\t */\n\toptionWrap: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 选项分页:选项超过此值时自动分页,滚动加载\n\t */\n\toptionPageSize: {\n\t\ttype: Number,\n\t\tdefault: 100\n\t},\n\t/**\n\t * 选项对齐方式\n\t */\n\toptionAlign: {\n\t\ttype: String as PropType<'left' | 'right' | 'center'>,\n\t\tdefault: 'left'\n\t},\n\t/**\n\t * HTTP请求函数\n\t */\n\thttpRequest: {\n\t\ttype: Function,\n\t\tdefault: ajax\n\t},\n\t/**\n\t * API地址\n\t */\n\tapi: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * API参数\n\t */\n\tapiParam: {\n\t\ttype: Object,\n\t\tdefault: null\n\t},\n\t/**\n\t * API请求头\n\t */\n\tapiHeaders: {\n\t\ttype: Object,\n\t\tdefault: () => ({})\n\t},\n\t/**\n\t * API标签字段\n\t */\n\tapiLabel: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 响应数据路径\n\t */\n\tresPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 错误信息路径\n\t */\n\terrorPath: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 成功状态码\n\t */\n\tsuccessCode: {\n\t\ttype: String,\n\t\tdefault: '0'\n\t},\n\t/**\n\t * 远程异步数据设置函数\n\t */\n\tsetDataFn: {\n\t\ttype: Function,\n\t\tdefault: null\n\t},\n\t/**\n\t * 前缀文本\n\t */\n\tprefix: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 后缀文本\n\t */\n\tsuffix: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 图标\n\t */\n\ticon: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否去除空格\n\t */\n\ttrim: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 多选时每次选择都关闭弹窗\n\t */\n\tcloseSelection: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 是否可验证\n\t */\n\tverifiable: {\n\t\ttype: Boolean,\n\t\tdefault: true\n\t},\n\t/**\n\t * 是否可比较\n\t */\n\tcomparable: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 自定义标签函数\n\t */\n\tsetLabelFn: {\n\t\ttype: Function,\n\t\tdefault: undefined\n\t},\n\t/**\n\t * 是否换行\n\t */\n\twrap: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 过滤模式下清空数据是否弹出下拉框\n\t */\n\tfocusWhenClear: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 值改变前的回调\n\t */\n\tbeforeChange: {\n\t\ttype: Function,\n\t\tdefault: null\n\t},\n\t/**\n\t * 值类型\n\t */\n\tvalueType: {\n\t\ttype: String,\n\t\tdefault: ''\n\t},\n\t/**\n\t * 是否开启远程搜索\n\t */\n\tremote: {\n\t\ttype: Boolean,\n\t\tdefault: false\n\t},\n\t/**\n\t * 远程搜索方法\n\t */\n\tremoteMethod: {\n\t\ttype: Function,\n\t\tdefault: null\n\t}\n}\n\nexport type SelectProps = ExtractPropTypes<typeof selectProps>\n"],"names":[],"mappings":"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"}
|
|
@@ -122,6 +122,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
122
122
|
const tagContainerRef = vue.ref(null);
|
|
123
123
|
const options = vue.ref([]);
|
|
124
124
|
const anotherOptions = vue.ref([]);
|
|
125
|
+
const optionVisibleCount = vue.ref(0);
|
|
126
|
+
const optionLoading = vue.ref(false);
|
|
125
127
|
const { selected } = useSelectOptionData.useSelectOptionData({
|
|
126
128
|
props
|
|
127
129
|
});
|
|
@@ -157,7 +159,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
157
159
|
if (value === "") {
|
|
158
160
|
nomatch2 = false;
|
|
159
161
|
} else if (!props.remoteMethod) {
|
|
160
|
-
if (
|
|
162
|
+
if (filteredOptions.value.length > 0) {
|
|
161
163
|
nomatch2 = false;
|
|
162
164
|
}
|
|
163
165
|
} else {
|
|
@@ -170,6 +172,23 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
170
172
|
const nodata = vue.computed(() => {
|
|
171
173
|
return options.value.length === 0;
|
|
172
174
|
});
|
|
175
|
+
const filteredOptions = vue.computed(() => {
|
|
176
|
+
if (!props.filterable && !props.remoteMethod)
|
|
177
|
+
return options.value;
|
|
178
|
+
const value = props.multiple ? multipleFilterValue.value : filterValue.value;
|
|
179
|
+
if (!value)
|
|
180
|
+
return options.value;
|
|
181
|
+
return options.value.filter((item) => String(item[iLabelText.value]).toLowerCase().includes(value.toLowerCase()));
|
|
182
|
+
});
|
|
183
|
+
const displayOptions = vue.computed(() => {
|
|
184
|
+
if (props.filterable && (filterValue.value || multipleFilterValue.value)) {
|
|
185
|
+
return filteredOptions.value;
|
|
186
|
+
}
|
|
187
|
+
if (optionVisibleCount.value && options.value.length > optionVisibleCount.value) {
|
|
188
|
+
return options.value.slice(0, optionVisibleCount.value);
|
|
189
|
+
}
|
|
190
|
+
return options.value;
|
|
191
|
+
});
|
|
173
192
|
const setOptions = () => {
|
|
174
193
|
if (props.data) {
|
|
175
194
|
setData();
|
|
@@ -209,6 +228,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
209
228
|
}
|
|
210
229
|
setValue();
|
|
211
230
|
setPlaceholder();
|
|
231
|
+
optionVisibleCount.value = options.value.length > props.optionPageSize ? props.optionPageSize : 0;
|
|
212
232
|
emit("option-loaded", options.value);
|
|
213
233
|
}
|
|
214
234
|
};
|
|
@@ -247,6 +267,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
247
267
|
}
|
|
248
268
|
setValue();
|
|
249
269
|
setPlaceholder();
|
|
270
|
+
optionVisibleCount.value = options.value.length > props.optionPageSize ? props.optionPageSize : 0;
|
|
250
271
|
emit("option-loaded", options.value);
|
|
251
272
|
} else {
|
|
252
273
|
dataLoading.value = true;
|
|
@@ -282,6 +303,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
282
303
|
}
|
|
283
304
|
setValue();
|
|
284
305
|
setPlaceholder();
|
|
306
|
+
optionVisibleCount.value = options.value.length > props.optionPageSize ? props.optionPageSize : 0;
|
|
285
307
|
emit("option-loaded", options.value);
|
|
286
308
|
} else if (res.code === iSuccessCode.value) {
|
|
287
309
|
let data = res;
|
|
@@ -299,6 +321,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
299
321
|
}
|
|
300
322
|
setValue();
|
|
301
323
|
setPlaceholder();
|
|
324
|
+
optionVisibleCount.value = options.value.length > props.optionPageSize ? props.optionPageSize : 0;
|
|
302
325
|
emit("option-loaded", options.value);
|
|
303
326
|
} else {
|
|
304
327
|
options.value = [];
|
|
@@ -328,6 +351,17 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
328
351
|
});
|
|
329
352
|
}
|
|
330
353
|
};
|
|
354
|
+
const handleOptionScroll = () => {
|
|
355
|
+
if (optionVisibleCount.value && optionVisibleCount.value < options.value.length && !optionLoading.value) {
|
|
356
|
+
optionLoading.value = true;
|
|
357
|
+
optionVisibleCount.value = Math.min(optionVisibleCount.value + props.optionPageSize, options.value.length);
|
|
358
|
+
vue.nextTick(() => {
|
|
359
|
+
setTimeout(() => {
|
|
360
|
+
optionLoading.value = false;
|
|
361
|
+
}, 300);
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
};
|
|
331
365
|
const setValue = () => {
|
|
332
366
|
if (props.multiple) {
|
|
333
367
|
selected.value = [];
|
|
@@ -1933,7 +1967,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
1933
1967
|
/* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
|
|
1934
1968
|
)) : vue.createCommentVNode("v-if", true),
|
|
1935
1969
|
vue.createCommentVNode(" \u9009\u9879\u5217\u8868\u6EDA\u52A8\u533A\u57DF"),
|
|
1936
|
-
!nodata.value && !nomatch.value ? (vue.openBlock(), vue.createBlock(vue.unref(index$9.ToScroll), {
|
|
1970
|
+
!nodata.value && !nomatch.value ? (vue.openBlock(), vue.createBlock(vue.unref(index$9.ToScroll), {
|
|
1971
|
+
key: 2,
|
|
1972
|
+
onBottom: handleOptionScroll
|
|
1973
|
+
}, {
|
|
1937
1974
|
default: vue.withCtx(() => [
|
|
1938
1975
|
vue.createVNode(vue.unref(index$5.ToPadding), { value: 0.5 }, {
|
|
1939
1976
|
default: vue.withCtx(() => [
|
|
@@ -1977,7 +2014,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
1977
2014
|
(vue.openBlock(true), vue.createElementBlock(
|
|
1978
2015
|
vue.Fragment,
|
|
1979
2016
|
null,
|
|
1980
|
-
vue.renderList(
|
|
2017
|
+
vue.renderList(displayOptions.value, (item) => {
|
|
1981
2018
|
return vue.withDirectives((vue.openBlock(), vue.createBlock(
|
|
1982
2019
|
vue.unref(index$6.ToGridItem),
|
|
1983
2020
|
{
|
|
@@ -2029,7 +2066,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
2029
2066
|
(vue.openBlock(true), vue.createElementBlock(
|
|
2030
2067
|
vue.Fragment,
|
|
2031
2068
|
null,
|
|
2032
|
-
vue.renderList(
|
|
2069
|
+
vue.renderList(displayOptions.value, (item) => {
|
|
2033
2070
|
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
2034
2071
|
key: item[iValueText.value],
|
|
2035
2072
|
class: vue.normalizeClass({ "is-on": vue.unref(selected)[iValueText.value] === item[iValueText.value] }),
|
|
@@ -2155,7 +2192,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
2155
2192
|
vue.createCommentVNode(" \u666E\u901A\u4E0B\u62C9\u9009\u9879\u6EDA\u52A8\u533A\u57DF"),
|
|
2156
2193
|
!nodata.value && !nomatch.value ? (vue.openBlock(), vue.createBlock(vue.unref(index$9.ToScroll), {
|
|
2157
2194
|
key: 2,
|
|
2158
|
-
class: "to-select-option-scroll"
|
|
2195
|
+
class: "to-select-option-scroll",
|
|
2196
|
+
onBottom: handleOptionScroll
|
|
2159
2197
|
}, {
|
|
2160
2198
|
default: vue.withCtx(() => [
|
|
2161
2199
|
vue.createCommentVNode(" \u591A\u9009\u9009\u9879 "),
|
|
@@ -2172,7 +2210,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
2172
2210
|
(vue.openBlock(true), vue.createElementBlock(
|
|
2173
2211
|
vue.Fragment,
|
|
2174
2212
|
null,
|
|
2175
|
-
vue.renderList(
|
|
2213
|
+
vue.renderList(displayOptions.value, (item) => {
|
|
2176
2214
|
return vue.withDirectives((vue.openBlock(), vue.createBlock(vue.unref(index$a.ToCheckbox), {
|
|
2177
2215
|
key: item[iValueText.value],
|
|
2178
2216
|
class: "to-select-check",
|
|
@@ -2214,7 +2252,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
2214
2252
|
(vue.openBlock(true), vue.createElementBlock(
|
|
2215
2253
|
vue.Fragment,
|
|
2216
2254
|
null,
|
|
2217
|
-
vue.renderList(
|
|
2255
|
+
vue.renderList(displayOptions.value, (item) => {
|
|
2218
2256
|
return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", {
|
|
2219
2257
|
key: item[iValueText.value],
|
|
2220
2258
|
class: vue.normalizeClass(["to-select-option-item", { "is-on": vue.unref(selected)[iValueText.value] === item[iValueText.value] }]),
|