UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1,306 lines 223 kB
var $n = Object.defineProperty; var Hn = (t, e, n) => e in t ? $n(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n; var te = (t, e, n) => Hn(t, typeof e != "symbol" ? e + "" : e, n); import { ref as h, computed as U, defineComponent as Ve, watch as he, createVNode as v, createTextVNode as qt, mergeProps as xt, reactive as _e, withDirectives as an, resolveDirective as An, Fragment as nt, inject as At, onMounted as ot, onBeforeMount as sn, vModelText as zn, nextTick as dt, createApp as ln, onUnmounted as Ft, Transition as un, Teleport as Un, shallowRef as qn, render as $t, h as _n, cloneVNode as Wn } from "vue"; import { cloneDeep as bt, isPlainObject as Zt, debounce as Gn, isUndefined as Xe } from "lodash-es"; import Xn from "../accordion/index.esm.js"; import Yn from "../avatar/index.esm.js"; import Jn from "../../designer/button-edit/index.esm.js"; import Qn from "../button-group/index.esm.js"; import Zn from "../calendar/index.esm.js"; import Kn from "../capsule/index.esm.js"; import Kt from "../../designer/checkbox/index.esm.js"; import en from "../../designer/checkbox-group/index.esm.js"; import eo from "../combo-list/index.esm.js"; import to from "../combo-tree/index.esm.js"; import no from "../component/index.esm.js"; import oo from "../color-picker/index.esm.js"; import ro from "../content-container/index.esm.js"; import io from "../date-picker/index.esm.js"; import ao from "../../designer/data-grid/index.esm.js"; import so from "../dropdown/index.esm.js"; import lo from "../dynamic-form/index.esm.js"; import uo from "../events-editor/index.esm.js"; import co from "../filter-bar/index.esm.js"; import fo from "../field-selector/index.esm.js"; import po from "../binding-selector/index.esm.js"; import mo from "../image-cropper/index.esm.js"; import vo from "../../designer/input-group/index.esm.js"; import go from "../layout/index.esm.js"; import ho from "../list-nav/index.esm.js"; import yo from "../../designer/list-view/index.esm.js"; import bo from "../lookup/index.esm.js"; import Co from "../mapping-editor/index.esm.js"; import wo from "../nav/index.esm.js"; import So from "../number-range/index.esm.js"; import xo from "../number-spinner/index.esm.js"; import Fo from "../order/index.esm.js"; import To from "../page-header/index.esm.js"; import Eo from "../page-footer/index.esm.js"; import Mo from "../pagination/index.esm.js"; import ko from "../progress/index.esm.js"; import Bo from "../query-solution/index.esm.js"; import Po from "../../designer/radio-group/index.esm.js"; import Io from "../rate/index.esm.js"; import Oo from "../response-toolbar/index.esm.js"; import Vo from "../response-layout/index.esm.js"; import No from "../response-layout-editor/index.esm.js"; import Ro from "../search-box/index.esm.js"; import Lo from "../section/index.esm.js"; import jo from "../smoke-detector/index.esm.js"; import Do from "../splitter/index.esm.js"; import $o from "../step/index.esm.js"; import Ho from "../switch/index.esm.js"; import Ao from "../tabs/index.esm.js"; import zo from "../tags/index.esm.js"; import Uo from "../text/index.esm.js"; import qo from "../time-picker/index.esm.js"; import _o from "../transfer/index.esm.js"; import Wo from "../tree-view/index.esm.js"; import Go from "../uploader/index.esm.js"; import Xo from "../verify-detail/index.esm.js"; import Yo from "../video/index.esm.js"; import Jo from "../textarea/index.esm.js"; import Qo from "../schema-selector/index.esm.js"; import Zo from "../../designer/tree-grid/index.esm.js"; import Ko from "../event-parameter/index.esm.js"; import er from "../filter-condition-editor/index.esm.js"; import tr from "../fieldset/index.esm.js"; import nr from "../sort-condition-editor/index.esm.js"; import or from "../menu-lookup/index.esm.js"; import rr from "../../designer/drawer/index.esm.js"; import ir from "../json-editor/index.esm.js"; import ar from "../property-editor/index.esm.js"; import sr from "../expression-editor/index.esm.js"; import lr from "../code-editor/index.esm.js"; import ur from "../html-template/index.esm.js"; import cr from "../collection-property-editor/index.esm.js"; import dr from "../modal/index.esm.js"; import fr from "../external-container/index.esm.js"; import pr from "../language-textbox/index.esm.js"; import { DgControl as tn } from "../designer-canvas/index.esm.js"; import { getCustomClass as zt, withInstall as mr, FormSchemaEntityField$Type as Ct, FormSchemaEntityFieldTypeName as nn, FormSchemaEntityFieldType$Type as vr } from "../common/index.esm.js"; import { useI18n as _t } from "vue-i18n"; import { LocaleService as Tt } from "../locale/index.esm.js"; import { useResizeObserver as gr } from "@vueuse/core"; import { getHierarchyRow as hr, useIdentify as yr, useGroupData as br, useFilter as Cr, useHierarchy as wr, useLoading as Sr, useDataView as xr, useSelection as Fr, useSelectHierarchyItem as Tr, usePagination as Er, useDataViewContainerStyle as Mr, useCommandColumn as kr, useSettingColumn as Br, useColumn as Pr, useSort as Ir, useGroupColumn as Or, useRow as Vr, useEdit as Nr, useVisualDataBound as Rr, useVisualDataCell as Lr, useVisualDataRow as jr, useVisualData as Dr, useCellPosition as $r, useSidebar as Hr, useVirtualScroll as Ar, useFitColumn as zr, useFilterHistory as Ur, useColumnFilter as qr, useDragColumn as _r, getColumnHeader as Wr, getSidebar as Gr, getDisableMask as Xr, getHorizontalScrollbar as Yr, getVerticalScrollbar as Jr, getEmpty as Qr, getPagination as Zr, getSummary as Kr } from "../data-view/index.esm.js"; import { getSchemaByTypeForDesigner as ei, createPropsResolver as cn, resolveAppearance as ti } from "../dynamic-resolver/index.esm.js"; import "../property-panel/index.esm.js"; import "../notify/index.esm.js"; const ni = { width: { type: String, default: "300px" }, height: { type: Number, default: 10 }, isWidePanel: { type: Boolean, default: !1 }, /** 是否启用搜索 */ enableSearch: { type: Boolean, default: !0 }, /** 使用模式 */ mode: { type: String, default: "panel" }, /** 是否持有面板的隐藏显示状态 */ isPersitOpenState: { type: Boolean, default: !1 }, /** isPersitOpenState=true时,控制面板是否隐藏显示 */ isShowPanel: { type: Boolean, default: !1 }, /** 属性名 */ propertyName: { type: String, default: "" }, /** 属性类型 */ propertyConfig: { type: Array }, /** 属性值 */ propertyData: { type: Object, default: {} }, /** 是否展示关闭按钮 */ showCloseBtn: { type: Boolean, default: !1 }, /** 当前选中的标签页id */ selectedTabId: { type: String, default: "" }, /** 是否是白色主题 */ isWhiteTheme: { type: Boolean, default: !0 }, /** dom结构 */ schema: { type: Object, default: {} }, /** 属性变更后事件 */ propertyChanged: { type: Function } }; function oi(t = {}) { function e(u, m, l, p) { if (typeof l == "number") return p[u].length === l; if (typeof l == "object") { const c = Object.keys(l)[0], f = l[c]; if (c === "not") return Number(p[u].length) !== Number(f); if (c === "moreThan") return Number(p[u].length) >= Number(f); if (c === "lessThan") return Number(p[u].length) <= Number(f); } return !1; } function n(u, m, l, p) { return p[u] && p[u].propertyValue && String(p[u].propertyValue.value) === String(l); } const o = /* @__PURE__ */ new Map([ ["length", e], ["getProperty", n] ]); Object.keys(t).reduce((u, m) => (u.set(m, t[m]), u), o); function r(u, m) { const l = u; return typeof m == "number" ? [{ target: l, operator: "length", param: null, value: Number(m) }] : typeof m == "boolean" ? [{ target: l, operator: "getProperty", param: u, value: !!m }] : typeof m == "object" ? Object.keys(m).map((p) => { if (p === "length") return { target: l, operator: "length", param: null, value: m[p] }; const c = p, f = m[p]; return { target: l, operator: "getProperty", param: c, value: f }; }) : []; } function a(u) { return Object.keys(u).reduce((l, p) => { const c = r(p, u[p]); return l.push(...c), l; }, []); } function i(u, m) { if (o.has(u.operator)) { const l = o.get(u.operator); return l && l(u.target, u.param, u.value, m) || !1; } return !1; } function d(u, m) { return a(u).reduce((c, f) => c && i(f, m), !0); } function s(u, m) { const l = Object.keys(u), p = l.includes("allOf"), c = l.includes("anyOf"), f = p || c, k = (f ? u[f ? p ? "allOf" : "anyOf" : "allOf"] : [u]).map((q) => d(q, m)); return p ? !k.includes(!1) : k.includes(!0); } return { parseValueSchema: s }; } const ri = { convertTo: (t, e, n, o) => { t.appearance || (t.appearance = {}), t.appearance[e] = n; }, convertFrom: (t, e, n) => t.appearance ? t.appearance[e] : t[e] }, ii = { convertFrom: (t, e, n) => t.buttons && t.buttons.length ? `共 ${t.buttons.length} 项` : "无" }, ai = { convertTo: (t, e, n, o) => { t.editor && (t.editor[e] = n); }, convertFrom: (t, e, n) => t.editor && Object.prototype.hasOwnProperty.call(t.editor, e) ? t.editor[e] : t[e] }, j = { button: { type: "button", name: "按钮" }, "response-toolbar": { type: "response-toolbar", name: "工具栏" }, "response-toolbar-item": { type: "response-toolbar-item", name: "按钮" }, "content-container": { type: "content-container", name: "容器" }, "input-group": { type: "input-group", name: "文本" }, textarea: { type: "textarea", name: "多行文本" }, lookup: { type: "lookup", name: "帮助" }, "number-spinner": { type: "number-spinner", name: "数值" }, "date-picker": { type: "date-picker", name: "日期" }, switch: { type: "switch", name: "开关" }, "radio-group": { type: "radio-group", name: "单选组" }, "check-box": { type: "check-box", name: "复选框" }, "check-group": { type: "check-group", name: "复选框组" }, "combo-list": { type: "combo-list", name: "下拉列表" }, "response-form": { type: "response-form", name: "卡片面板" }, "response-layout": { type: "response-layout", name: "布局容器", icon: "response-layout-3" }, "response-layout-item": { type: "response-layout-item", name: "布局", icon: "response-layout-1" }, "tree-grid": { type: "tree-grid", name: "树表格" }, "tree-grid-column": { type: "tree-grid-column", name: "树表格列" }, "data-grid": { type: "data-grid", name: "表格" }, "data-grid-column": { type: "data-grid-column", name: "表格列" }, module: { type: "Module", name: "模块" }, component: { type: "component", name: "组件" }, tabs: { type: "tabs", name: "标签页" }, "tab-page": { type: "tab-page", name: "标签页项", dependentParentControl: "Tab" }, "tab-toolbar-item": { type: "tab-toolbar-item", name: "标签页工具栏按钮" }, "html-template": { type: "html-template", name: "模板容器" }, "time-picker": { type: "time-picker", name: "时间选择" }, section: { type: "section", name: "分组面板" }, "section-toolbar": { type: "section-toolbar", name: "分组面板工具栏" }, "section-toolbar-item": { type: "section-toolbar-item", name: "分组面板按钮" }, splitter: { type: "splitter", name: "分栏面板" }, "splitter-pane": { type: "splitter-pane", name: "分栏面板项", dependentParentControl: "Splitter" }, "component-ref": { type: "component-ref", name: "组件引用节点" }, uploader: { type: "uploader", name: "附件上传" }, "page-header": { type: "page-header", name: "页头" }, "page-footer": { type: "page-footer", name: "页脚" }, "tab-toolbar": { type: "tab-toolbar", name: "标签页工具栏" }, fieldset: { type: "fieldset", name: "分组" }, "query-solution": { type: "query-solution", name: "筛选方案" }, drawer: { type: "drawer", name: "抽屉" }, "external-container": { type: "external-container", name: "外部容器", icon: "content-container" }, "list-nav": { type: "list-nav", name: "列表导航" }, "list-view": { type: "list-view", name: "列表" }, "filter-bar": { type: "filter-bar", name: "筛选条" }, "language-textbox": { type: "language-textbox", name: "多语输入框" } }, si = { convertFrom: (t, e, n) => { var r; const o = t.editor && t.editor[e] ? t.editor[e] : t[e]; return ((r = j[o]) == null ? void 0 : r.name) || o; } }, li = { convertTo: (t, e, n, o) => { t[e] = t[e]; }, convertFrom: (t, e, n) => t.editor ? n.getRealEditorType(t.editor.type) : "" }, ui = { convertTo: (t, e, n, o) => { (t.type === "data-grid-column" || t.type === "tree-grid-column") && (t.formatter ? t.formatter[e] = n : t.formatter = { [e]: n }); }, convertFrom: (t, e, n) => { if (t.formatter) { if (e === "trueText") return t.formatter.trueText; if (e === "falseText") return t.formatter.falseText; if (e === "prefix") return t.formatter.prefix; if (e === "suffix") return t.formatter.suffix; if (e === "precision") return t.formatter.precision; if (e === "decimal") return t.formatter.decimal; if (e === "thousand") return t.formatter.thousand; if (e === "tempDateFormat") return t.formatter.dateFormat === "yyyy年MM月dd日" ? "yearMonthDay" : t.formatter.dateFormat === "yyyy-MM-dd HH:mm:ss" ? "yyyy-MM-ddTHH:mm:ss" : t.formatter.dateFormat === "yyyy/MM/dd HH:mm:ss" ? "yyyy/MM/ddTHH:mm:ss" : t.formatter.dateFormat === "yyyy年MM月dd日 HH时mm分ss秒" ? "yearMonthDayHourMinuteSecond" : t.formatter.tempDateFormat || t.formatter.dateFormat || "yyyy-MM-dd"; if (e === "customFormat") return t.formatter.customFormat; if (e === "type") return t.formatter.type || "none"; } return "none"; } }, ci = { convertTo: (t, e, n, o) => { t.command ? t.command[e] = n : t.command = { [e]: n }, e === "enable" && n && (t.command.commands || (t.command.commands = [ { text: "编辑", type: "primary", command: "edit" }, { text: "删除", type: "danger", command: "remove" } ])); }, convertFrom: (t, e, n) => t.command && e === "enable" ? t.command.enable : "" }, di = { convertTo: (t, e, n, o) => { t.column ? t.column[e] = n : t.column = { [e]: n }, e === "fitColumns" && n && (t.column.fitMode || (t.column.fitMode = "average")); }, convertFrom: (t, e, n) => { if (t.column) { if (e === "fitColumns") return t.column.fitColumns; if (e === "fitMode") return t.column.fitMode; } return ""; } }, fi = { convertTo: (t, e, n, o) => { t.summary ? t.summary[e] = n : t.summary = { [e]: n }, e === "enable" && n && (t.summary ? t.summary.groupFields || (t.summary.groupFields = []) : t.summary = { enable: n, groupFields: [] }); }, convertFrom: (t, e, n) => t.summary && e === "enable" ? t.summary.enable : t.type === "data-grid-column" ? t.enableSummary === void 0 ? !1 : t.enableSummary : "" }, pi = { convertTo: (t, e, n, o) => { t.group ? t.group[e] = n : t.group = { [e]: n }, e === "enable" && n && (t.group ? t.group.groupFields || (t.group.groupFields = []) : t.group = { enable: n, groupFields: [], showSummary: !1 }); }, convertFrom: (t, e, n) => { if (t.group) { if (e === "enable") return t.group.enable; if (e === "showSummary") return t.group.showSummary; } } }, mi = { convertFrom: (t, e) => t.binding ? t.binding.path : "", convertTo: (t, e, n) => { if (n && n.length > 0) { const o = n[0]; t.binding || (t.binding = {}), t.binding.type = "Form", t.binding.path = o.bindingField, t.binding.field = o.id, t.binding.fullPath = o.path, t.path = o.bindingPath; } } }, vi = { convertTo: (t, e, n, o) => { t.pagination || (t.pagination = {}), t.pagination[e] = n; }, convertFrom: (t, e, n) => t.pagination ? t.pagination[e] : t[e] }, gi = { convertTo: (t, e, n, o) => { t.rowNumber || (t.rowNumber = {}), t.rowNumber[e] = n; }, convertFrom: (t, e, n) => t.rowNumber ? t.rowNumber[e] : t[e] }, hi = { convertTo: (t, e, n, o) => { t.selection || (t.selection = {}), t.selection[e] = n; }, convertFrom: (t, e, n) => t.selection ? t.selection[e] : t[e] }, yi = { convertFrom: (t, e, n) => t[e] && t[e].length ? `共 ${t[e].length} 项` : "" }, bi = { convertFrom: (t, e) => t[e] || "", convertTo: (t, e, n) => { t[e] = n; } }, Ci = { convertTo: (t, e, n, o) => { t.size || (t.size = {}), t.size[e] = n; }, convertFrom: (t, e, n) => t.size ? t.size[e] : t[e] }, wi = { convertFrom: (t, e, n) => { var o, r; return (o = t.formatter) != null && o.data && e === "formatterEnumData" && !t.formatterEnumData ? (r = t.formatter) == null ? void 0 : r.data : t.formatterEnumData; } }, Si = { convertTo: (t, e, n, o) => { t.sort || (t.sort = {}), t.sort[e] = n; }, convertFrom: (t, e, n) => { var o, r; if (e === "mode") return ((o = t.sort) == null ? void 0 : o.mode) || "client"; if (e === "multiSort") return !!((r = t.sort) != null && r.multiSort); } }, xi = { convertTo: (t, e, n, o) => { t.filter || (t.filter = {}), t.filter[e] = n; }, convertFrom: (t, e, n) => { var o; if (e === "mode") return ((o = t.filter) == null ? void 0 : o.mode) || "client"; } }, Fi = { convertTo: (t, e, n, o) => { t.rowOption ? t.rowOption[e] = n : t.rowOption = { [e]: n }; }, convertFrom: (t, e, n) => { if (t.rowOption) { if (e === "customRowStyle") return t.rowOption.customRowStyle; if (e === "customCellStyle") return t.rowOption.customCellStyle; } return ""; } }; function dn(t, e, n) { const o = /* @__PURE__ */ new Map([ ["/converter/appearance.converter", ri], ["/converter/buttons.converter", ii], ["/converter/property-editor.converter", ai], ["/converter/items-count.converter", yi], ["/converter/type.converter", si], ["/converter/change-editor.converter", li], ["/converter/change-formatter.converter", ui], ["/converter/column-command.converter", ci], ["/converter/column-option.converter", di], ["/converter/summary.converter", fi], ["/converter/group.converter", pi], ["/converter/form-group-label.converter", bi], ["/converter/field-selector.converter", mi], ["/converter/pagination.converter", vi], ["/converter/row-number.converter", gi], ["/converter/grid-selection.converter", hi], ["/converter/size.converter", Ci], ["/converter/change-formatter-enum.converter", wi], ["/converter/grid-sort.converter", Si], ["/converter/grid-filter.converter", xi], ["/converter/row-option.converter", Fi] ]), r = /* @__PURE__ */ new Map([ ["string", { type: "input-group", enableClear: !1 }], ["boolean", { type: "combo-list", textField: "name", valueField: "value", idField: "value", enableClear: !1, editable: !1, data: [ { value: !0, name: "是" }, { value: !1, name: "否" } ] }], ["enum", { type: "combo-list", maxHeight: 128, enableClear: !1, editable: !1 }], ["array", { type: "button-edit" }], ["number", { type: "number-spinner", placeholder: "" }], ["events-editor", { type: "events-editor", hide: !0 }] ]), a = oi(); function i(f, g) { return () => a.parseValueSchema(f, g); } function d(f, g, C) { return f.includes("visible") && g.visible !== void 0 ? typeof g.visible == "boolean" ? () => !!g.visible : g.visible === void 0 ? !0 : i(g.visible, C) : () => !0; } function s(f, g, C) { return f.includes("readonly") && g.readonly !== void 0 ? typeof g.readonly == "boolean" ? () => !!g.readonly : i(g.readonly, C) : () => !1; } function u(f, g) { const C = f.$converter || g; return typeof C == "string" && C && o.has(C) ? o.get(C) || null : C || null; } function m(f, g, C, k, P, q = "", E = "") { return Object.keys(f).map((b) => { const T = h(1), F = b, S = f[b], M = Object.keys(S), w = S.title, B = S.type, O = r.get(B) || { type: "input-group", enableClear: !1 }, V = S.editor ? Object.assign({}, O, S.editor) : Object.assign({}, O), H = d(M, S, g), Q = s(M, S, g); V.readonly = V.readonly === void 0 ? Q() : V.readonly; const ie = S.type === "cascade" ? m(S.properties, g, C, k, P, q, E) : [], R = !0; let N = u(S, E); const ee = U({ get() { if (T.value) { if (["class", "style"].find((ge) => ge === F) && !N && (N = o.get("/converter/appearance.converter") || null), N && N.convertFrom) return N.convertFrom(C, b, P, q); const pe = C[b]; return Object.prototype.hasOwnProperty.call(S, "defaultValue") && (pe === void 0 || typeof pe == "string" && pe === "") ? S.type === "boolean" ? S.defaultValue : S.defaultValue || "" : pe; } return null; }, set(pe) { T.value += 1, N && N.convertTo ? (N.convertTo(k, b, pe, P, q), N.convertTo(C, b, pe, P, q)) : (k[b] = pe, C[b] = pe); } }), { refreshPanelAfterChanged: W, description: se, isExpand: we, parentPropertyID: ve } = S, ne = { propertyID: F, propertyName: w, propertyType: B, propertyValue: ee, editor: V, visible: H, readonly: Q, cascadeConfig: ie, hideCascadeTitle: R, refreshPanelAfterChanged: W, description: se, isExpand: we, parentPropertyID: ve }; return g[F] = ne, ne; }); } function l(f, g, C = {}) { const k = {}, P = t[f]; return P && P.categories ? Object.keys(P.categories).map((E) => { const y = P.categories[E], b = y == null ? void 0 : y.title, T = m(y.properties || {}, k, {}, C, g); return { categoryId: E, categoryName: b, properties: T }; }) : []; } function p(f, g, C, k, P = "") { const q = g.$ref.schema, E = g.$ref.converter, y = C[q], b = y.type, T = n(y), F = {}, S = t[b]; if (S && S.categories) { const M = S.categories[f], w = M == null ? void 0 : M.title; E && Object.keys(M.properties).forEach((V) => { M.properties[V].$converter = E; }); const B = (M == null ? void 0 : M.properties) || {}, O = m(B, F, T, y, k, P); return { categoryId: f, categoryName: w, properties: O }; } return { categoryId: f, categoryName: "", properties: [] }; } function c(f, g, C, k, P) { const q = f.type, E = n(f), y = {}; let b = P || t[q]; if (b && Object.keys(b).length === 0 && C && C.getPropConfig && (b = C.getPropConfig(k)), b && b.categories) { const T = []; return Object.keys(b.categories).map((F) => { const S = b.categories[F]; if (S.$ref) { T.push(p(F, S, f, g, k)); return; } const M = S == null ? void 0 : S.title, w = S == null ? void 0 : S.tabId, B = S == null ? void 0 : S.tabName, O = S == null ? void 0 : S.hide, V = S == null ? void 0 : S.hideTitle, H = m(S.properties || {}, y, E, f, g, k, S.$converter), { setPropertyRelates: Q } = S, ie = S == null ? void 0 : S.parentPropertyID; T.push({ categoryId: F, categoryName: M, tabId: w, tabName: B, hide: O, properties: H, hideTitle: V, setPropertyRelates: Q, parentPropertyID: ie }); }), T; } return []; } return { getPropertyConfigBySchema: c, getPropertyConfigByType: l, propertyConverterMap: o }; } function fn(t, e) { let n; function o(l) { const { properties: p, title: c, ignore: f } = l, g = f && Array.isArray(f), C = Object.keys(p).reduce((k, P) => ((!g || !f.find((q) => q === P)) && (k[P] = p[P].type === "object" && p[P].properties ? o(p[P]) : bt(p[P].default)), k), {}); if (c && (!g || !f.find((k) => k === "id"))) { const k = c.toLowerCase().replace(/-/g, "_"); C.id = `${k}_${Math.random().toString().slice(2, 6)}`; } return C; } function r(l) { const { properties: p, title: c, required: f } = l; if (f && Array.isArray(f)) { const g = f.reduce((C, k) => (C[k] = p[k].type === "object" && p[k].properties ? o(p[k]) : bt(p[k].default), C), {}); if (c && f.find((C) => C === "id")) { const C = c.toLowerCase().replace(/-/g, "_"); g.id = `${C}_${Math.random().toString().slice(2, 6)}`; } return g; } return { type: c }; } function a(l, p = {}, c) { const f = t[l]; if (f) { let g = r(f); const C = e[l]; return g = C ? C({ getSchemaByType: a }, g, p, c) : g, n != null && n.appendIdentifyForNewControl && n.appendIdentifyForNewControl(g), g; } return null; } function i(l, p) { const c = o(p); return Object.keys(c).reduce((f, g) => (Object.prototype.hasOwnProperty.call(l, g) && (f[g] && Zt(f[g]) && Zt(l[g] || !l[g]) ? Object.assign(f[g], l[g] || {}) : f[g] = l[g]), f), c), c; } function d(l, p) { return Object.keys(l).filter((f) => l[f] != null).reduce((f, g) => { if (p.has(g)) { const C = p.get(g); if (typeof C == "string") f[C] = l[g]; else { const k = C(g, l[g], l); Object.assign(f, k); } } else f[g] = l[g]; return f; }, {}); } function s(l, p, c = /* @__PURE__ */ new Map()) { const f = i(l, p); return d(f, c); } function u(l) { var c; const p = l.type; if (p) { const f = t[p]; if (!f) return l; const g = i(l, f), C = ((c = l.editor) == null ? void 0 : c.type) || ""; if (C) { const k = t[C], P = i(l.editor, k); g.editor = P; } return g; } return l; } function m(l) { n = l; } return { getSchemaByType: a, resolveSchemaWithDefaultValue: u, resolveSchemaToProps: s, mappingSchemaToProps: d, setDesignerContext: m }; } const pn = {}, mn = {}, { getSchemaByType: uu, resolveSchemaWithDefaultValue: Ti, resolveSchemaToProps: cu, mappingSchemaToProps: du, setDesignerContext: fu } = fn(pn, mn), vn = {}, gn = {}, { getPropertyConfigBySchema: Ht, getPropertyConfigByType: pu, propertyConverterMap: mu } = dn(vn, gn, Ti), Ei = { /** 某一分类下的属性配置 */ // as PropType<ElementPropertyConfig> category: { type: Object, default: {} }, categoryKey: { type: String }, /** 属性值 */ propertyData: { type: Object, default: {} }, valueChanged: { type: Function }, triggerRefreshPanel: { type: Function } }, Mi = { elementConfig: { type: Object, default: {} }, category: { type: Object, default: {} } }, hn = {}, yn = {}, { getSchemaByType: vu, resolveSchemaWithDefaultValue: ki, resolveSchemaToProps: Bi, mappingSchemaToProps: Pi, setDesignerContext: gu } = fn(hn, yn), bn = {}, Cn = {}; dn(bn, Cn, ki); function Et(t, e, n = /* @__PURE__ */ new Map(), o = (i, d, s, u) => d, r = {}, a = (i) => i) { return hn[e.title] = e, yn[e.title] = o, bn[e.title] = r, Cn[e.title] = a, pn[e.title] = e, mn[e.title] = o, vn[e.title] = r, gn[e.title] = a, (i = {}, d = !0) => { if (!d) return Pi(i, n); const s = Bi(i, e, n), u = Object.keys(t).reduce((m, l) => (m[l] = t[l].default, m), {}); return Object.assign(u, s); }; } function wn(t, e) { return { customClass: e.class, customStyle: e.style }; } const Wt = /* @__PURE__ */ new Map([ ["appearance", wn] ]), Ii = /* @__PURE__ */ new Map([]), Oi = "https://json-schema.org/draft/2020-12/schema", Vi = "https://farris-design.gitee.io/form-group.schema.json", Ni = "form-group", Ri = "A Farris Input Component", Li = "object", ji = { id: { description: "The unique identifier for a form group", type: "string" }, type: { description: "The type string of form group component", type: "string", default: "form-group" }, appearance: { description: "", type: "object", properties: { class: { type: "string" }, style: { type: "string" } }, default: {} }, enableLinkLabel: { description: "", type: "boolean", default: !1 }, editor: { description: "", type: "obejct", default: null }, label: { description: "", type: "string", default: "" }, lableWidth: { description: "", type: "number" }, binding: { description: "", type: "object", default: {} }, visible: { description: "", type: "boolean", default: !0 }, required: { description: "", type: "boolean", default: !1 }, errors: { description: "", type: "object", default: null }, name: { description: "The name string of form group component", type: "string", default: "form group" }, showLabelType: { description: "", type: "string", default: "visible" } }, Di = [ "id", "type", "editor" ], Sn = { $schema: Oi, $id: Vi, title: Ni, description: Ri, type: Li, properties: ji, required: Di }, xn = { id: { type: String, default: "" }, customClass: { type: String, default: "" }, customStyle: { type: String, default: "" }, /** 筛选组件配置器,具体配置项可查看各组件文档 */ editor: { type: Object, default: {} }, label: { type: String, default: "" }, /** value is uncertain because type is uncertain, default value should not be set */ modelValue: { type: Object }, // readonly: { type: Boolean, default: false }, visible: { type: Boolean, default: !0 }, required: { type: Boolean, default: !1 }, showLabel: { type: Boolean, default: !0 }, /** * visible相当于showLabel为true,none相当于showLabel为false */ showLabelType: { type: String, default: "visible" }, type: { type: String, default: "input-group" }, componentId: { type: String, default: "" }, errors: { type: Object, default: null } }; Et( xn, Sn, Wt, void 0 ); const $i = { id: { type: String }, required: { type: Boolean, default: !1 }, text: { type: String, default: "" }, title: { type: String }, valid: { type: Boolean, default: !0 }, inValidTip: { type: String, default: "" }, /** * 实际支持 'visible'可见 | 'reserve-space' 占位不显示 */ showType: { type: String, default: "visible" } }, Hi = /* @__PURE__ */ Ve({ name: "FDynamicFormLabel", props: $i, emits: [], setup(t, e) { h(t.title || t.text); const n = h(t.required), o = h(t.text), r = h(t.valid), a = h(t.inValidTip); he(() => t.text, () => { o.value = t.text; }), he(() => t.required, (m, l) => { m !== l && (n.value = m); }), he([() => t.valid, () => t.inValidTip], ([m, l]) => { r.value = m, a.value = l; }); const i = U(() => r.value ? o.value : a.value), d = U(() => r.value ? "" : "color:red"), s = U(() => ({ "col-form-label": !0, // 指定必填,当显示模式是隐藏或者没有指定标签名时,宽度不限定 "f-width-auto": n.value && (t.showType === "none" || !o.value) })), u = U(() => t.showType === "reserve-space" || n.value || o.value && t.showType !== "none"); return () => u.value && v("label", { class: s.value, title: i.value, style: d.value }, [!r.value && v("span", { class: "f-icon f-icon-warning mr-1", style: "color: red; min-width: 16px;", title: a.value }, null), v("span", { class: "farris-label-text" }, [n.value && v("span", { class: "farris-label-info text-danger" }, [qt("*")]), t.showType === "visible" && o.value])]); } }), D = {}, $ = {}, A = {}, z = {}; let on = !1; function Ai() { on || (on = !0, Yn.register(D, $, A, z), Xn.register(D, $, A, z), Jn.register(D, $, A, z), Qn.register(D, $, A, z), Zn.register(D, $, A, z), Kn.register(D, $, A, z), Kt.register(D, $, A, z), en.register(D, $, A, z), Kt.register(D, $, A, z), en.register(D, $, A, z), eo.register(D, $, A, z), to.register(D, $, A, z), no.register(D, $, A, z), ro.register(D, $, A, z), oo.register(D, $, A, z), io.register(D, $, A, z), ao.register(D, $, A, z), so.register(D, $, A, z), lo.register(D, $, A, z), uo.register(D, $, A, z), sr.register(D, $, A, z), co.register(D, $, A, z), fo.register(D, $, A, z), er.register(D, $, A, z), mo.register(D, $, A, z), vo.register(D, $, A, z), go.register(D, $, A, z), yo.register(D, $, A, z), ho.register(D, $, A, z), bo.register(D, $, A, z), Co.register(D, $, A, z), wo.register(D, $, A, z), So.register(D, $, A, z), xo.register(D, $, A, z), Fo.register(D, $, A, z), To.register(D, $, A, z), Eo.register(D, $, A, z), Mo.register(D, $, A, z), ko.register(D, $, A, z), Bo.register(D, $, A, z), Po.register(D, $, A, z), Io.register(D, $, A, z), Vo.register(D, $, A, z), No.register(D, $, A, z), Oo.register(D, $, A, z), Qo.register(D, $, A), Ro.register(D, $, A, z), Lo.register(D, $, A, z), jo.register(D, $, A, z), Do.register(D, $, A, z), $o.register(D, $, A, z), Ho.register(D, $, A, z), nr.register(D, $, A, z), Ao.register(D, $, A, z), zo.register(D, $, A, z), Uo.register(D, $, A, z), qo.register(D, $, A, z), _o.register(D, $, A, z), Wo.register(D, $, A, z), Xo.register(D, $, A, z), Go.register(D, $, A, z), Yo.register(D, $, A, z), Jo.register(D, $, A, z), Zo.register(D, $, A, z), po.register(D, $, A, z), Ko.register(D, $, A, z), tr.register(D, $, A, z), or.register(D, $, A, z), rr.register(D, $, A, z), ir.register(D, $, A, z), ar.register(D, $, A, z), lr.register(D, $, A, z), ur.register(D, $, A, z), cr.register(D, $, A, z), dr.register(D, $, A, z), fr.register(D, $, A, z), pr.register(D, $, A, z)); } function zi() { Ai(); function t(i) { const d = D[i]; if (!d) throw new Error(`Could not find the editor of type '${i}'`); return d; } function e(i, d) { const s = $[i]; return s ? s(d) : {}; } function n(i) { switch (i) { case "check-box": return "onChangeValue"; case "switch": return "onModelValueChanged"; case "check-group": return "onChangeValue"; case "combo-list": case "combo-tree": return "onChange"; case "combo-lookup": return ""; case "year-range": case "year-picker": case "month-range": case "month-picker": case "date-range": case "datetime-range": case "datetime-picker": case "date-picker": return "onDatePicked"; case "time-picker": return "onValueChange"; case "input-group": return "onChange"; case "lookup": case "sort-condition-editor": case "filter-condition-editor": case "code-editor": case "language-textbox": return "onUpdate:modelValue"; case "number-range": return "onValueChange"; case "number-spinner": return "onValueChange"; case "radio-group": return "onChangeValue"; case "text": return ""; case "events-editor": return "onSavedCommandListChanged"; case "grid-field-editor": case "item-collection-editor": case "response-form-layout-setting": case "response-layout-editor-setting": case "response-layout-splitter": case "menu-lookup": case "json-editor": return "onChange"; case "field-selector": case "binding-selector": return "onFieldSelected"; case "schema-selector": return "onSchemaSelected"; case "mapping-editor": return "onMappingFieldsChanged"; case "textarea": return "onChange"; case "query-solution-config": case "solution-preset": return "onFieldsChanged"; case "property-editor": return "onValueChange"; case "expression-editor": return "onExpressionChanged"; case "collection-property-editor": return "onValueChange"; } } function o(i) { switch (i) { case "combo-list": case "input-group": case "textarea": return "onClear"; } } function r(i) { switch (i) { case "input-group": case "textarea": return "onMousedownEvent"; } } function a(i) { switch (i) { case "input-group": case "textarea": return "onMouseupEvent"; } } return { resolveEditorProps: e, resolveEditorType: t, getChangeFunctionName: n, getClearFunctionName: o, getMousedownFunctionName: r, getMouseupFunctionName: a }; } const Ui = { /** * 显示的错误信息 */ errors: { type: Object, default: null } }, qi = /* @__PURE__ */ Ve({ name: "FValidationMessage", props: Ui, emits: [], setup(t, e) { const n = h(t.errors); he(() => t.errors, (a) => { n.value = a; }); const o = h(!0), r = U(() => { if (n.value) { const a = Object.keys(n.value).map((i) => { var d; return (d = n.value[i]) == null ? void 0 : d.name; }); return a.length ? a.join(" ") : ""; } return ""; }); return () => r.value && v("div", { class: "farris-feedback f-state-invalid", onClick: () => o.value = !o.value }, [!o.value && v("span", { class: "f-icon f-icon-message_warning f-feedback-icon" }, null), o.value && v("span", { class: "f-feedback-message" }, [r.value])]); } }), _i = /* @__PURE__ */ Ve({ name: "FDynamicFormGroup", props: xn, emits: ["change", "update:modelValue"], setup(t, e) { var T; const n = h(t.id), o = h(t.customClass), r = h(t.editor), a = h(t.label), i = h(t.modelValue), d = h(t.readonly), s = h(((T = t.editor) == null ? void 0 : T.required) || t.required), u = h(t.showLabel), m = h(t.visible); h(t.type); const l = h(), p = h(t.errors), c = U(() => u.value ? t.showLabelType : "none"), { resolveEditorProps: f, resolveEditorType: g, getChangeFunctionName: C, getClearFunctionName: k } = zi(), P = U(() => ({ "form-group": !0, "farris-form-group": !0, "common-group": !0, "q-state-readonly": d.value })); function q(F, S, M) { i.value = S !== void 0 ? S : F, e.emit("update:modelValue", i.value), e.emit("change", i.value, { newValue: F, newModelValue: S, parameters: M }); } function E() { e.emit("update:modelValue", ""); } const y = U(() => { const F = r.value.type || "input-group", S = g(F), M = f(F, r.value), w = C(F), B = k(r.value.type); return B && (M[B] = E), M[w] = q, (M.id == null || M.id === "") && (M.id = n.value), F === "number-range" && r.value.onBeginValueChange && typeof r.value.onBeginValueChange == "function" ? (r.value.onBeginValueChange && typeof r.value.onBeginValueChange == "function" && (M.onBeginValueChange = r.value.onBeginValueChange), r.value.onEndValueChange && typeof r.value.onEndValueChange == "function" && (M.onEndValueChange = r.value.onEndValueChange)) : F === "lookup" && r.value["onUpdate:idValue"] && typeof r.value["onUpdate:idValue"] == "function" ? (M["onUpdate:idValue"] = r.value["onUpdate:idValue"], M.id = n.value) : F === "collection-property-editor" && r.value.onSelectionChange && typeof r.value.onSelectionChange == "function" ? M.onSelectionChange = r.value.onSelectionChange : F === "property-editor" && (M.onBeforeOpenVariables = r.value.onBeforeOpenVariables), () => v(S, xt({ ref: l }, M, { modelValue: i.value, "onUpdate:modelValue": (O) => i.value = O }), e.slots); }); function b() { return v(qi, { id: `${n.value}-validation-message`, errors: p.value }, null); } return he([() => t.id, () => t.customClass, () => t.editor, () => t.label, () => t.modelValue, () => t.readonly, () => t.required, () => t.showLabel, () => t.visible, () => t.errors], ([F, S, M, w, B, O, V, H, Q, ie]) => { var R; n.value = F, o.value = S, r.value = M, a.value = w, i.value = B, d.value = O, s.value = ((R = r.value) == null ? void 0 : R.required) || V, u.value = H, m.value = Q, p.value = ie; }), e.expose({ editorRef: l }), () => m.value && v("div", { id: `${n.value}-form-group`, class: o.value, style: t.customStyle }, [v("div", { class: "farris-group-wrap" }, [v("div", { class: P.value }, [v(Hi, { id: `${n.value}-lable`, showType: c.value, required: s.value, text: a.value, title: a.value }, null), v("div", { class: "farris-input-wrap" }, [y.value(), b()])])])]); } }), Wi = /* @__PURE__ */ Ve({ name: "FPropertyPanelItem", props: Mi, emits: ["propertyChange", "triggerRefreshPanel"], setup(t, e) { var l; const n = h((l = t.category) == null ? void 0 : l.categoryId), o = h(t.elementConfig.propertyID), r = h(t.elementConfig.propertyName); h(t.elementConfig.editor); const a = h(t.elementConfig.propertyValue), i = U(() => { const p = t.elementConfig.visible; return { "farris-group-wrap": !0, "property-item": !0, "d-none": !(typeof p == "boolean" ? p : p === void 0 ? !0 : p()) }; }); he(() => { var p; return (p = t.elementConfig) == null ? void 0 : p.propertyValue; }, (p) => { a.value = p; }), he(() => { var p; return (p = t.elementConfig) == null ? void 0 : p.propertyName; }, (p) => { r.value = p; }); function d(p, c) { const { parameters: f } = c; t.elementConfig.propertyValue = p; const g = { propertyID: t.elementConfig.propertyID, propertyValue: p }; e.emit("propertyChange", g, f), t.elementConfig.refreshPanelAfterChanged && e.emit("triggerRefreshPanel"); } const s = t.elementConfig.description ? `<div style="color: gray; "> 描述 :${t.elementConfig.description}</div>` : "", u = _e({ content: ` <div> <div style="color: black; ">${t.elementConfig.propertyName}</div> <div style="color: gray; ">ID:${t.elementConfig.propertyID}</div> ${s} </div>`, placement: "left" }), m = h(""); return m.value = `${n.value}-${o.value}`, () => v("div", { class: i.value }, [t.elementConfig.propertyName && an(v("label", { class: `col-form-label ${m.value}` }, [v("span", { class: "farris-label-text" }, [r.value])]), [[An("tooltip"), u]]), v(_i, { id: m.value, showLabel: !1, editor: t.elementConfig.editor, modelValue: a.value, onChange: d, editorParams: t.elementConfig.editorParams }, null)]); } }), Gi = /* @__PURE__ */ Ve({ name: "FPropertyPanelItemList", props: Ei, emits: ["valueChanged", "submitModal", "triggerRefreshPanel"], setup(t, e) { const n = h(t.category); function o(c) { if (!c.hideCascadeTitle) return v("div", { class: "farris-input-wrap" }, [v("input", { title: "summary", type: "input", class: "form-control form-control-sm", value: c.cascadeSummary, readonly: !0 }, null)]); } function r(c, f) { f.isExpand = !f.isExpand; } function a(c) { return v("div", { class: "landscape" }, [v("button", { title: "expand-button", class: ["btn f-btn-collapse-expand f-btn-mx px-1", { "f-state-expand": c.isExpand }], onClick: (f) => r(f, c) }, [v("span", null, null)])]); } function i(c) { return v("div", { class: `f-section-formgroup-legend ${n.value.categoryId}-${c.propertyID}` }, [v("div", { class: "f-header px-0 my-0 col-form-label", style: "font-size: inherit;" }, [v("div", { class: "wrap" }, [v("span", { class: ["f-icon mr-1", { "f-icon-arrow-60-right": !c.isExpand, "f-icon-arrow-60-down": c.isExpand }] }, null), v("span", { class: "farris-label-text" }, [c.propertyName])])])]); } function d(c) { return `${t.categoryKey}_${c.propertyID}`; } function s(c, f) { c.categoryId = n.value.categoryId, n.value.enableCascade && (c.propertyPath = n.value.parentPropertyID), n.value.setPropertyRelates && n.value.setPropertyRelates(c, t.propertyData, f), e.emit("valueChanged", { changeObject: c }); } function u() { e.emit("triggerRefreshPanel"); } function m(c) { return v("div", { class: "px-2 mb-2" }, [v(Wi, { key: d(c), elementConfig: c, category: n.value, onPropertyChange: s, onTriggerRefreshPanel: u }, null)]); } function l(c) { var f; return v("div", { class: "propertyCascadeItem farris-panel px-2 mb-2" }, [v("div", { class: ["farris-panel-item card", { hidden: !c.isExpand }] }, [v("div", { class: "card-header", onClick: (g) => r(g, c) }, [v("div", { class: "panel-item-title" }, [v("div", { class: "form-group farris-form-group line-item" }, [i(c), o(c), a(c)])])]), v("div", { class: ["card-body", { hidden: !c.isExpand }] }, [(f = c.cascadeConfig) == null ? void 0 : f.map((g) => m(g))])])]); } he(() => t.category, () => { n.value = t.category; }); function p(c) { return c.propertyType === "cascade" ? l : m; } return () => v(nt, null, [n.value.properties.map((c) => p(c)(c))]); } }), rn = /* @__PURE__ */ Ve({ name: "FPropertyPanel", props: ni, emits: ["propertyChanged"], setup(t, e) { const n = h(t.width), o = h(t.isWidePanel), r = h(t.enableSearch), a = h(t.mode), i = h(t.isPersitOpenState), d = h(t.isShowPanel), s = h(), u = h(), m = h(t.showCloseBtn), l = h(t.selectedTabId), p = h(!0), c = h(t.isWhiteTheme); let f = [], g = []; const C = h(""), k = h(), P = h(), q = At("SchemaService"); let E = [], y = null, b = ""; const T = h(), F = h(0), S = U(() => f.map((Z) => !Z.hide).length === 1), M = At("designerContext"); function w() { g = [], T.value && T.value.categoryList && Array.isArray(T.value.categoryList) && T.value.categoryList.length > 0 && T.value.categoryList.forEach((J) => { if (J.properties && Array.isArray(J.properties) && J.properties.length > 0) { const Y = J.properties.map((ae) => (ae.category = J, ae.propertyType === "cascade" && ae.cascadeConfig && ae.cascadeConfig.map((fe) => { fe.category = J, fe.cascadeParent = ae, g = g.concat(fe); }), ae)); g = g.concat(Y); } }); } function B(Z) { let J = Z.offsetTop, Y = Z.offsetParent; for (; Y !== null; ) J += Y.offsetTop, Y = Y.offsetParent; return J; } function O(Z, J) { Z && J && Object.keys(J).length > 0 && Object.keys(J).forEach((Y) => { var fe; const ae = J[Y]; (fe = Z.style) == null || fe.setProperty(Y, ae); }); } function V() { return g.filter((J) => { if (typeof J.visible == "function" && !J.visible() || typeof J.visible == "boolean" && !J.visible) return !1; const Y = J.propertyID.toLowerCase(), ae = J.propertyName.toLowerCase(); return !!(Y && Y.includes(C.value.toLowerCase()) || ae && ae.includes(C.value.toLowerCase())); }); } function H(Z, J, Y) { if (Z === 0) { const ae = B(J), Be = B(Y) - ae - 5; J == null || J.scroll({ top: Be, behavior: "smooth" }); } } function Q(Z) { E && E.length > 0 && (E.forEach((Y) => { Y.style.cssText = ""; }), E = []); const J = P.value; if (!C.value) k.value && J && (J.scrollTop = 0); else if (w(), g && g.length > 0) { const Y = V(); Y && Y.length > 0 && setTimeout(() => { let ae = null, fe = -1, Be = !1; Y.forEach((Te, I) => { const re = Te.propertyType === "cascade" ? `.${Te.category.categoryId}-${Te.propertyID} .farris-label-text` : `.property-item .${Te.category.categoryId}-${Te.propertyID}.col-form-label`, me = document.querySelector(re); me && (Te.category.status !== "open" && (Te.category.status = "open", Be = fe < 0), Te.cascadeParent && (Te.cascadeParent.isExpand = !0), fe < 0 && (ae = me, fe = I), O(me, { color: "#5B89FE" }), E.push(me)); }), fe > -1 && (Be ? dt(() => { H(fe, J, ae); }) : H(fe, J, ae)); }, 50); } } function ie(Z) { Q(); } const R = Gn(ie, 200); function N(Z) { const { value: J } = Z.target; R(J); } function ee(Z) { ie(C.value); } function W() { i.value || (p.value = !1), e.emit("closePropertyPanel"); } function se(Z) { C.value = "", Q(); } function we(Z) { !Z.status || Z.status === "open" ? Z.status = "closed" : Z.status = "open"; } function ve() { var Z, J; if (f = [], !s.value || s.value.length === 0) { f = [{ tabId: "default", tabName: "属性", categoryList: [] }], T.value = null; return; } if ((Z = s == null ? void 0 : s.value) == null || Z.forEach((Y) => { if (Y.tabId) { const ae = f.find((fe) => fe.tabId === Y.tabId); ae ? (ae.categoryList.push(Y), ae.hide && (ae.hide = Y.hide || Y.properties.length === 0)) : f.push({ tabId: Y.tabId, tabName: Y.tabName, categoryList: [Y], hide: Y.hide || Y.properties.length === 0 }); } else { const ae = f.find((fe) => fe.tabId === "default"); ae ? ae.categoryList.push(Y) : f.push({ tabId: "default", tabName: "属性", categoryList: [Y] }); } }), l.value) { const Y = f == null ? void 0 : f.find((ae) => ae.tabId === l.value && !ae.hide); T.value = Y || f[0]; } else T.value = f[0]; l.value = (J = T.value) == null ? void 0 : J.tabId; } he(() => [t.schema, t.isShowPanel], () => { u.value = t.schema, !t.schema || !t.schema.type ? s.value = [] : (s.value = Ht(u.value, q, y, b), M.filterPropertyEntity && (s.value = M.filterPropertyEntity(s.value, u.value))), ve(), se(C.value), F.value++; }), ot(() => { ve(); }); function ne(Z, J, Y = !0) { (!u.value || J) && (u.value = J || t.schema), s.v