UNPKG

@opensig/opendesign

Version:

<p align="center"><img src="../docs/public/opendesign-logo-light.png"/></p> <h1 align="center">opendesign</h1> <p align="center">一个 Vue 3 组件库</p> <p align="center"><b>皮肤可定制,使用 TypeScript</b></p>

63 lines (62 loc) 1.83 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const is = require("../_utils/is.js"); function getFlexValue(val) { if (!val) { return ""; } if (["top", "left"].includes(val)) { return "flex-start"; } else if (["bottom", "right"].includes(val)) { return "flex-end"; } else if ("center" === val) { return "center"; } return ""; } const defaultCheckRequired = (value) => { return !is.isNull(value) && !is.isUndefined(value) && value !== "" && !is.isEmptyArray(value) && !is.isEmptyObject(value) ? "success" : "danger"; }; const defaultCheckType = (value, type) => { return typeof value === type ? "success" : "danger"; }; function groupRules(rules, required) { const tRules = {}; let hasRequired = false; if (is.isArray(rules)) { rules.forEach((item) => { const triggers = item.triggers ? [].concat(item.triggers) : ["change"]; triggers.forEach((trigger) => { const tr = tRules[trigger] || []; if (item.type) { tr.push((value) => ({ type: defaultCheckType(value, item.type), message: item.message })); } else if (item.required) { hasRequired = true; tr.push((value) => ({ type: defaultCheckRequired(value), message: item.message })); } else { const fFn = item.validator; if (fFn && is.isFunction(fFn)) { tr.push(fFn); } } tRules[trigger] = tr; }); }); } if (!hasRequired && required) { tRules.change = tRules.change || []; tRules.change.push((value) => ({ type: defaultCheckRequired(value), message: "required!" })); } return tRules; } exports.getFlexValue = getFlexValue; exports.groupRules = groupRules;