@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1,306 lines • 223 kB
JavaScript
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