@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1,670 lines (1,669 loc) • 220 kB
JavaScript
var Nn = Object.defineProperty;
var Pn = (e, t, n) => t in e ? Nn(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
var ne = (e, t, n) => Pn(e, typeof t != "symbol" ? t + "" : t, n);
import { ref as d, computed as A, defineComponent as ie, watch as J, onMounted as Fe, createVNode as f, nextTick as nt, toRefs as An, onBeforeMount as Ct, createTextVNode as ce, Fragment as ot, withModifiers as ht, inject as Vt, provide as Ln, onUnmounted as St, Teleport as Hn, Transition as an, shallowRef as Vn, createApp as ln, render as Pt, h as zn, cloneVNode as Wn, mergeProps as zt, reactive as ze } from "vue";
import { cloneDeep as Te, isPlainObject as Kt, isUndefined as Ie } from "lodash-es";
import { resolveAppearance as Wt, createPropsResolver as qt, getSchemaByTypeForDesigner as qn } from "../dynamic-resolver/index.esm.js";
import { useI18n as pt } from "vue-i18n";
import _n from "../button-edit/index.esm.js";
import Gn from "../list-view/index.esm.js";
import { LocaleService as xt } from "../locale/index.esm.js";
import "../accordion/index.esm.js";
import "../avatar/index.esm.js";
import "../../designer/button-edit/index.esm.js";
import "../button-group/index.esm.js";
import "../calendar/index.esm.js";
import "../capsule/index.esm.js";
import "../../designer/checkbox/index.esm.js";
import "../../designer/checkbox-group/index.esm.js";
import "../combo-list/index.esm.js";
import "../combo-tree/index.esm.js";
import "../component/index.esm.js";
import "../color-picker/index.esm.js";
import "../content-container/index.esm.js";
import "../date-picker/index.esm.js";
import "../../designer/data-grid/index.esm.js";
import "../dropdown/index.esm.js";
import "../dynamic-form/index.esm.js";
import "../events-editor/index.esm.js";
import "../filter-bar/index.esm.js";
import "../field-selector/index.esm.js";
import "../binding-selector/index.esm.js";
import "../image-cropper/index.esm.js";
import "../../designer/input-group/index.esm.js";
import "../layout/index.esm.js";
import "../list-nav/index.esm.js";
import "../../designer/list-view/index.esm.js";
import "../lookup/index.esm.js";
import "../mapping-editor/index.esm.js";
import "../nav/index.esm.js";
import "../number-range/index.esm.js";
import "../number-spinner/index.esm.js";
import "../order/index.esm.js";
import "../page-header/index.esm.js";
import "../page-footer/index.esm.js";
import "../pagination/index.esm.js";
import "../progress/index.esm.js";
import "../query-solution/index.esm.js";
import "../../designer/radio-group/index.esm.js";
import "../rate/index.esm.js";
import "../response-toolbar/index.esm.js";
import "../response-layout/index.esm.js";
import "../response-layout-editor/index.esm.js";
import "../search-box/index.esm.js";
import "../section/index.esm.js";
import "../smoke-detector/index.esm.js";
import "../splitter/index.esm.js";
import "../step/index.esm.js";
import "../switch/index.esm.js";
import "../tabs/index.esm.js";
import "../tags/index.esm.js";
import "../text/index.esm.js";
import "../time-picker/index.esm.js";
import "../transfer/index.esm.js";
import "../tree-view/index.esm.js";
import "../uploader/index.esm.js";
import "../verify-detail/index.esm.js";
import "../video/index.esm.js";
import "../textarea/index.esm.js";
import "../schema-selector/index.esm.js";
import "../../designer/tree-grid/index.esm.js";
import "../event-parameter/index.esm.js";
import "../filter-condition-editor/index.esm.js";
import "../fieldset/index.esm.js";
import "../sort-condition-editor/index.esm.js";
import "../menu-lookup/index.esm.js";
import "../../designer/drawer/index.esm.js";
import "../json-editor/index.esm.js";
import "../property-editor/index.esm.js";
import "../expression-editor/index.esm.js";
import "../code-editor/index.esm.js";
import "../html-template/index.esm.js";
import "../collection-property-editor/index.esm.js";
import "../modal/index.esm.js";
import "../external-container/index.esm.js";
import "../language-textbox/index.esm.js";
import "../designer-canvas/index.esm.js";
import { getCustomClass as Lt, withInstall as Un, FormSchemaEntityField$Type as en, FormSchemaEntityFieldTypeName as tn } from "../common/index.esm.js";
import { useResizeObserver as Xn } from "@vueuse/core";
import { getHierarchyRow as Yn, useIdentify as Jn, useGroupData as Qn, useFilter as Zn, useHierarchy as Kn, useLoading as eo, useDataView as to, useSelection as no, useSelectHierarchyItem as oo, usePagination as ao, useDataViewContainerStyle as lo, useCommandColumn as io, useSettingColumn as ro, useColumn as so, useSort as uo, useGroupColumn as co, useRow as fo, useEdit as po, useVisualDataBound as mo, useVisualDataCell as vo, useVisualDataRow as ho, useVisualData as yo, useCellPosition as go, useSidebar as bo, useVirtualScroll as wo, useFitColumn as Co, useFilterHistory as So, useColumnFilter as xo, useDragColumn as To, getColumnHeader as Fo, getSidebar as Bo, getDisableMask as Mo, getHorizontalScrollbar as ko, getVerticalScrollbar as Oo, getEmpty as Eo, getPagination as Ro, getSummary as Do } from "../data-view/index.esm.js";
import "../property-panel/index.esm.js";
import "../notify/index.esm.js";
const Io = {
/** 接受传入的原始数据的defaultState */
initialState: { type: Object, default: {} }
}, $o = {
/** 记录默认模式及分组状态 */
defaultStates: { type: Object, default: { mode: "" } },
/** 当前开关模式 */
onSwitchInStandardModeChanged: { type: Function, default: () => {
} },
/** 用户设置的屏幕分辨率变化-例:MD*/
onCurrentScreenResolutionChanged: { type: Function, default: () => {
} },
/** 用户设置的屏幕分辨率缩写变化-例:中等屏幕 */
onScreenNameChanged: { type: Function, default: () => {
} }
}, jo = "https://json-schema.org/draft/2020-12/schema", No = "https://farris-design.gitee.io/capsule.schema.json", Po = "capsule", Ao = "A Farris Component", Lo = "object", Ho = {
id: {
description: "The unique identifier for a capsule",
type: "string"
},
type: {
description: "The type string of capsule component",
type: "string",
default: "capsule"
},
appearance: {
description: "",
type: "object",
properties: {
class: {
type: "string"
},
style: {
type: "string"
}
},
default: {}
},
binding: {
description: "",
type: "object",
default: {}
},
disable: {
type: "string",
default: !1
},
editable: {
description: "",
type: "boolean",
default: !0
},
placeholder: {
description: "",
type: "string",
default: ""
},
readonly: {
description: "",
type: "boolean",
default: !1
},
require: {
description: "",
type: "boolean",
default: !1
},
tabindex: {
description: "",
type: "number",
default: -1
},
visible: {
description: "",
type: "boolean",
default: !0
}
}, Vo = [
"id",
"type"
], zo = {
$schema: jo,
$id: No,
title: Po,
description: Ao,
type: Lo,
properties: Ho,
required: Vo
};
function rn(e, t) {
let n;
function o(r) {
const { properties: u, title: c, ignore: m } = r, b = m && Array.isArray(m), x = Object.keys(u).reduce((E, M) => ((!b || !m.find((j) => j === M)) && (E[M] = u[M].type === "object" && u[M].properties ? o(u[M]) : Te(u[M].default)), E), {});
if (c && (!b || !m.find((E) => E === "id"))) {
const E = c.toLowerCase().replace(/-/g, "_");
x.id = `${E}_${Math.random().toString().slice(2, 6)}`;
}
return x;
}
function a(r) {
const { properties: u, title: c, required: m } = r;
if (m && Array.isArray(m)) {
const b = m.reduce((x, E) => (x[E] = u[E].type === "object" && u[E].properties ? o(u[E]) : Te(u[E].default), x), {});
if (c && m.find((x) => x === "id")) {
const x = c.toLowerCase().replace(/-/g, "_");
b.id = `${x}_${Math.random().toString().slice(2, 6)}`;
}
return b;
}
return {
type: c
};
}
function i(r, u = {}, c) {
const m = e[r];
if (m) {
let b = a(m);
const x = t[r];
return b = x ? x({ getSchemaByType: i }, b, u, c) : b, n != null && n.appendIdentifyForNewControl && n.appendIdentifyForNewControl(b), b;
}
return null;
}
function l(r, u) {
const c = o(u);
return Object.keys(c).reduce((m, b) => (Object.prototype.hasOwnProperty.call(r, b) && (m[b] && Kt(m[b]) && Kt(r[b] || !r[b]) ? Object.assign(m[b], r[b] || {}) : m[b] = r[b]), m), c), c;
}
function p(r, u) {
return Object.keys(r).filter((m) => r[m] != null).reduce((m, b) => {
if (u.has(b)) {
const x = u.get(b);
if (typeof x == "string")
m[x] = r[b];
else {
const E = x(b, r[b], r);
Object.assign(m, E);
}
} else
m[b] = r[b];
return m;
}, {});
}
function v(r, u, c = /* @__PURE__ */ new Map()) {
const m = l(r, u);
return p(m, c);
}
function s(r) {
var c;
const u = r.type;
if (u) {
const m = e[u];
if (!m)
return r;
const b = l(r, m), x = ((c = r.editor) == null ? void 0 : c.type) || "";
if (x) {
const E = e[x], M = l(r.editor, E);
b.editor = M;
}
return b;
}
return r;
}
function h(r) {
n = r;
}
return { getSchemaByType: i, resolveSchemaWithDefaultValue: s, resolveSchemaToProps: v, mappingSchemaToProps: p, setDesignerContext: h };
}
const sn = {}, un = {}, { getSchemaByType: Tu, resolveSchemaWithDefaultValue: Wo, resolveSchemaToProps: qo, mappingSchemaToProps: _o, setDesignerContext: Fu } = rn(sn, un);
function Go(e = {}) {
function t(s, h, r, u) {
if (typeof r == "number")
return u[s].length === r;
if (typeof r == "object") {
const c = Object.keys(r)[0], m = r[c];
if (c === "not")
return Number(u[s].length) !== Number(m);
if (c === "moreThan")
return Number(u[s].length) >= Number(m);
if (c === "lessThan")
return Number(u[s].length) <= Number(m);
}
return !1;
}
function n(s, h, r, u) {
return u[s] && u[s].propertyValue && String(u[s].propertyValue.value) === String(r);
}
const o = /* @__PURE__ */ new Map([
["length", t],
["getProperty", n]
]);
Object.keys(e).reduce((s, h) => (s.set(h, e[h]), s), o);
function a(s, h) {
const r = s;
return typeof h == "number" ? [{ target: r, operator: "length", param: null, value: Number(h) }] : typeof h == "boolean" ? [{ target: r, operator: "getProperty", param: s, value: !!h }] : typeof h == "object" ? Object.keys(h).map((u) => {
if (u === "length")
return { target: r, operator: "length", param: null, value: h[u] };
const c = u, m = h[u];
return { target: r, operator: "getProperty", param: c, value: m };
}) : [];
}
function i(s) {
return Object.keys(s).reduce((r, u) => {
const c = a(u, s[u]);
return r.push(...c), r;
}, []);
}
function l(s, h) {
if (o.has(s.operator)) {
const r = o.get(s.operator);
return r && r(s.target, s.param, s.value, h) || !1;
}
return !1;
}
function p(s, h) {
return i(s).reduce((c, m) => c && l(m, h), !0);
}
function v(s, h) {
const r = Object.keys(s), u = r.includes("allOf"), c = r.includes("anyOf"), m = u || c, E = (m ? s[m ? u ? "allOf" : "anyOf" : "allOf"] : [s]).map((j) => p(j, h));
return u ? !E.includes(!1) : E.includes(!0);
}
return { parseValueSchema: v };
}
const Uo = {
convertTo: (e, t, n, o) => {
e.appearance || (e.appearance = {}), e.appearance[t] = n;
},
convertFrom: (e, t, n) => e.appearance ? e.appearance[t] : e[t]
}, Xo = {
convertFrom: (e, t, n) => e.buttons && e.buttons.length ? `共 ${e.buttons.length} 项` : "无"
}, Yo = {
convertTo: (e, t, n, o) => {
e.editor && (e.editor[t] = n);
},
convertFrom: (e, t, n) => e.editor && Object.prototype.hasOwnProperty.call(e.editor, t) ? e.editor[t] : e[t]
}, V = {
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: "多语输入框" }
}, Jo = {
convertFrom: (e, t, n) => {
var a;
const o = e.editor && e.editor[t] ? e.editor[t] : e[t];
return ((a = V[o]) == null ? void 0 : a.name) || o;
}
}, Qo = {
convertTo: (e, t, n, o) => {
e[t] = e[t];
},
convertFrom: (e, t, n) => e.editor ? n.getRealEditorType(e.editor.type) : ""
}, Zo = {
convertTo: (e, t, n, o) => {
(e.type === "data-grid-column" || e.type === "tree-grid-column") && (e.formatter ? e.formatter[t] = n : e.formatter = {
[t]: n
});
},
convertFrom: (e, t, n) => {
if (e.formatter) {
if (t === "trueText")
return e.formatter.trueText;
if (t === "falseText")
return e.formatter.falseText;
if (t === "prefix")
return e.formatter.prefix;
if (t === "suffix")
return e.formatter.suffix;
if (t === "precision")
return e.formatter.precision;
if (t === "decimal")
return e.formatter.decimal;
if (t === "thousand")
return e.formatter.thousand;
if (t === "tempDateFormat")
return e.formatter.dateFormat === "yyyy年MM月dd日" ? "yearMonthDay" : e.formatter.dateFormat === "yyyy-MM-dd HH:mm:ss" ? "yyyy-MM-ddTHH:mm:ss" : e.formatter.dateFormat === "yyyy/MM/dd HH:mm:ss" ? "yyyy/MM/ddTHH:mm:ss" : e.formatter.dateFormat === "yyyy年MM月dd日 HH时mm分ss秒" ? "yearMonthDayHourMinuteSecond" : e.formatter.tempDateFormat || e.formatter.dateFormat || "yyyy-MM-dd";
if (t === "customFormat")
return e.formatter.customFormat;
if (t === "type")
return e.formatter.type || "none";
}
return "none";
}
}, Ko = {
convertTo: (e, t, n, o) => {
e.command ? e.command[t] = n : e.command = {
[t]: n
}, t === "enable" && n && (e.command.commands || (e.command.commands = [
{
text: "编辑",
type: "primary",
command: "edit"
},
{
text: "删除",
type: "danger",
command: "remove"
}
]));
},
convertFrom: (e, t, n) => e.command && t === "enable" ? e.command.enable : ""
}, ea = {
convertTo: (e, t, n, o) => {
e.column ? e.column[t] = n : e.column = {
[t]: n
}, t === "fitColumns" && n && (e.column.fitMode || (e.column.fitMode = "average"));
},
convertFrom: (e, t, n) => {
if (e.column) {
if (t === "fitColumns")
return e.column.fitColumns;
if (t === "fitMode")
return e.column.fitMode;
}
return "";
}
}, ta = {
convertTo: (e, t, n, o) => {
e.summary ? e.summary[t] = n : e.summary = {
[t]: n
}, t === "enable" && n && (e.summary ? e.summary.groupFields || (e.summary.groupFields = []) : e.summary = {
enable: n,
groupFields: []
});
},
convertFrom: (e, t, n) => e.summary && t === "enable" ? e.summary.enable : e.type === "data-grid-column" ? e.enableSummary === void 0 ? !1 : e.enableSummary : ""
}, na = {
convertTo: (e, t, n, o) => {
e.group ? e.group[t] = n : e.group = {
[t]: n
}, t === "enable" && n && (e.group ? e.group.groupFields || (e.group.groupFields = []) : e.group = {
enable: n,
groupFields: [],
showSummary: !1
});
},
convertFrom: (e, t, n) => {
if (e.group) {
if (t === "enable")
return e.group.enable;
if (t === "showSummary")
return e.group.showSummary;
}
}
}, oa = {
convertFrom: (e, t) => e.binding ? e.binding.path : "",
convertTo: (e, t, n) => {
if (n && n.length > 0) {
const o = n[0];
e.binding || (e.binding = {}), e.binding.type = "Form", e.binding.path = o.bindingField, e.binding.field = o.id, e.binding.fullPath = o.path, e.path = o.bindingPath;
}
}
}, aa = {
convertTo: (e, t, n, o) => {
e.pagination || (e.pagination = {}), e.pagination[t] = n;
},
convertFrom: (e, t, n) => e.pagination ? e.pagination[t] : e[t]
}, la = {
convertTo: (e, t, n, o) => {
e.rowNumber || (e.rowNumber = {}), e.rowNumber[t] = n;
},
convertFrom: (e, t, n) => e.rowNumber ? e.rowNumber[t] : e[t]
}, ia = {
convertTo: (e, t, n, o) => {
e.selection || (e.selection = {}), e.selection[t] = n;
},
convertFrom: (e, t, n) => e.selection ? e.selection[t] : e[t]
}, ra = {
convertFrom: (e, t, n) => e[t] && e[t].length ? `共 ${e[t].length} 项` : ""
}, sa = {
convertFrom: (e, t) => e[t] || "",
convertTo: (e, t, n) => {
e[t] = n;
}
}, ua = {
convertTo: (e, t, n, o) => {
e.size || (e.size = {}), e.size[t] = n;
},
convertFrom: (e, t, n) => e.size ? e.size[t] : e[t]
}, ca = {
convertFrom: (e, t, n) => {
var o, a;
return (o = e.formatter) != null && o.data && t === "formatterEnumData" && !e.formatterEnumData ? (a = e.formatter) == null ? void 0 : a.data : e.formatterEnumData;
}
}, da = {
convertTo: (e, t, n, o) => {
e.sort || (e.sort = {}), e.sort[t] = n;
},
convertFrom: (e, t, n) => {
var o, a;
if (t === "mode")
return ((o = e.sort) == null ? void 0 : o.mode) || "client";
if (t === "multiSort")
return !!((a = e.sort) != null && a.multiSort);
}
}, fa = {
convertTo: (e, t, n, o) => {
e.filter || (e.filter = {}), e.filter[t] = n;
},
convertFrom: (e, t, n) => {
var o;
if (t === "mode")
return ((o = e.filter) == null ? void 0 : o.mode) || "client";
}
}, pa = {
convertTo: (e, t, n, o) => {
e.rowOption ? e.rowOption[t] = n : e.rowOption = {
[t]: n
};
},
convertFrom: (e, t, n) => {
if (e.rowOption) {
if (t === "customRowStyle")
return e.rowOption.customRowStyle;
if (t === "customCellStyle")
return e.rowOption.customCellStyle;
}
return "";
}
};
function cn(e, t, n) {
const o = /* @__PURE__ */ new Map([
["/converter/appearance.converter", Uo],
["/converter/buttons.converter", Xo],
["/converter/property-editor.converter", Yo],
["/converter/items-count.converter", ra],
["/converter/type.converter", Jo],
["/converter/change-editor.converter", Qo],
["/converter/change-formatter.converter", Zo],
["/converter/column-command.converter", Ko],
["/converter/column-option.converter", ea],
["/converter/summary.converter", ta],
["/converter/group.converter", na],
["/converter/form-group-label.converter", sa],
["/converter/field-selector.converter", oa],
["/converter/pagination.converter", aa],
["/converter/row-number.converter", la],
["/converter/grid-selection.converter", ia],
["/converter/size.converter", ua],
["/converter/change-formatter-enum.converter", ca],
["/converter/grid-sort.converter", da],
["/converter/grid-filter.converter", fa],
["/converter/row-option.converter", pa]
]), a = /* @__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 }]
]), i = Go();
function l(m, b) {
return () => i.parseValueSchema(m, b);
}
function p(m, b, x) {
return m.includes("visible") && b.visible !== void 0 ? typeof b.visible == "boolean" ? () => !!b.visible : b.visible === void 0 ? !0 : l(b.visible, x) : () => !0;
}
function v(m, b, x) {
return m.includes("readonly") && b.readonly !== void 0 ? typeof b.readonly == "boolean" ? () => !!b.readonly : l(b.readonly, x) : () => !1;
}
function s(m, b) {
const x = m.$converter || b;
return typeof x == "string" && x && o.has(x) ? o.get(x) || null : x || null;
}
function h(m, b, x, E, M, j = "", k = "") {
return Object.keys(m).map((w) => {
const T = d(1), C = w, y = m[w], R = Object.keys(y), F = y.title, B = y.type, $ = a.get(B) || { type: "input-group", enableClear: !1 }, S = y.editor ? Object.assign({}, $, y.editor) : Object.assign({}, $), D = p(R, y, b), H = v(R, y, b);
S.readonly = S.readonly === void 0 ? H() : S.readonly;
const Q = y.type === "cascade" ? h(y.properties, b, x, E, M, j, k) : [], P = !0;
let I = s(y, k);
const q = A({
get() {
if (T.value) {
if (["class", "style"].find((de) => de === C) && !I && (I = o.get("/converter/appearance.converter") || null), I && I.convertFrom)
return I.convertFrom(x, w, M, j);
const le = x[w];
return Object.prototype.hasOwnProperty.call(y, "defaultValue") && (le === void 0 || typeof le == "string" && le === "") ? y.type === "boolean" ? y.defaultValue : y.defaultValue || "" : le;
}
return null;
},
set(le) {
T.value += 1, I && I.convertTo ? (I.convertTo(E, w, le, M, j), I.convertTo(x, w, le, M, j)) : (E[w] = le, x[w] = le);
}
}), { refreshPanelAfterChanged: z, description: ee, isExpand: ge, parentPropertyID: be } = y, Y = { propertyID: C, propertyName: F, propertyType: B, propertyValue: q, editor: S, visible: D, readonly: H, cascadeConfig: Q, hideCascadeTitle: P, refreshPanelAfterChanged: z, description: ee, isExpand: ge, parentPropertyID: be };
return b[C] = Y, Y;
});
}
function r(m, b, x = {}) {
const E = {}, M = e[m];
return M && M.categories ? Object.keys(M.categories).map((k) => {
const g = M.categories[k], w = g == null ? void 0 : g.title, T = h(g.properties || {}, E, {}, x, b);
return { categoryId: k, categoryName: w, properties: T };
}) : [];
}
function u(m, b, x, E, M = "") {
const j = b.$ref.schema, k = b.$ref.converter, g = x[j], w = g.type, T = n(g), C = {}, y = e[w];
if (y && y.categories) {
const R = y.categories[m], F = R == null ? void 0 : R.title;
k && Object.keys(R.properties).forEach((S) => {
R.properties[S].$converter = k;
});
const B = (R == null ? void 0 : R.properties) || {}, $ = h(B, C, T, g, E, M);
return { categoryId: m, categoryName: F, properties: $ };
}
return { categoryId: m, categoryName: "", properties: [] };
}
function c(m, b, x, E, M) {
const j = m.type, k = n(m), g = {};
let w = M || e[j];
if (w && Object.keys(w).length === 0 && x && x.getPropConfig && (w = x.getPropConfig(E)), w && w.categories) {
const T = [];
return Object.keys(w.categories).map((C) => {
const y = w.categories[C];
if (y.$ref) {
T.push(u(C, y, m, b, E));
return;
}
const R = y == null ? void 0 : y.title, F = y == null ? void 0 : y.tabId, B = y == null ? void 0 : y.tabName, $ = y == null ? void 0 : y.hide, S = y == null ? void 0 : y.hideTitle, D = h(y.properties || {}, g, k, m, b, E, y.$converter), { setPropertyRelates: H } = y, Q = y == null ? void 0 : y.parentPropertyID;
T.push({ categoryId: C, categoryName: R, tabId: F, tabName: B, hide: $, properties: D, hideTitle: S, setPropertyRelates: H, parentPropertyID: Q });
}), T;
}
return [];
}
return {
getPropertyConfigBySchema: c,
getPropertyConfigByType: r,
propertyConverterMap: o
};
}
const dn = {}, fn = {};
cn(dn, fn, Wo);
const pn = {}, mn = {}, { getSchemaByType: Bu, resolveSchemaWithDefaultValue: ma, resolveSchemaToProps: Mu, mappingSchemaToProps: ku, setDesignerContext: Ou } = rn(pn, mn), vn = {}, hn = {};
cn(vn, hn, ma);
function $e(e, t, n = /* @__PURE__ */ new Map(), o = (l, p, v, s) => p, a = {}, i = (l) => l) {
return sn[t.title] = t, un[t.title] = o, dn[t.title] = a, fn[t.title] = i, pn[t.title] = t, mn[t.title] = o, vn[t.title] = a, hn[t.title] = i, (l = {}, p = !0) => {
if (!p)
return _o(l, n);
const v = qo(l, t, n), s = Object.keys(e).reduce((h, r) => (h[r] = e[r].default, h), {});
return Object.assign(s, v);
};
}
function at(e, t) {
return { customClass: t.class, customStyle: t.style };
}
const va = /* @__PURE__ */ new Map([
["appearance", at]
]);
function ha(e, t, n) {
return t;
}
const ya = "capsule", ga = "A Farris Component", ba = "object", wa = {
basic: {
description: "Basic Infomation",
title: "基本信息",
properties: {
id: {
description: "组件标识",
title: "标识",
type: "string",
readonly: !0
},
type: {
description: "组件类型",
title: "控件类型",
type: "select",
editor: {
type: "waiting for modification",
enum: []
}
}
}
}
}, Ca = {
title: ya,
description: ga,
type: ba,
categories: wa
}, yn = {
items: {
Type: Array,
default: [
{ name: "升序", value: "asc", icon: "f-icon f-icon-col-ascendingorder" },
{ name: "降序", value: "desc", icon: "f-icon f-icon-col-descendingorder" }
]
},
/**
* 组件值
*/
modelValue: { type: String, default: "" },
type: { type: String, default: "primary" }
}, Sa = {
name: { type: String, default: "" },
value: { type: String, default: "" },
isActive: { type: Boolean, default: !1 },
icon: { type: String, default: "" },
index: { type: Number, default: 0 },
show: { type: Boolean, default: !0 },
disabled: { type: Boolean, default: !1 }
};
$e(yn, zo, va, ha, Ca);
const xa = /* @__PURE__ */ ie({
name: "FCapsuleItem",
props: Sa,
emits: ["mounted", "active"],
setup(e, t) {
const n = d(), o = d(e.isActive);
J(() => e.isActive, (l) => {
o.value = l;
});
const a = A(() => ({
"f-capsule-item": !0,
"f-capsule-active-item": o.value,
"f-capsule-disabled": e.disabled
}));
Fe(() => {
t.emit("mounted", n, e.value);
});
function i(l) {
e.disabled || t.emit("active", l, {
name: e.name,
value: e.value
});
}
return () => f("div", {
ref: n,
class: a.value,
onClick: (l) => i(l)
}, [e.icon && f("i", {
class: e.icon
}, null), e.name]);
}
}), Ta = /* @__PURE__ */ ie({
name: "FCapsule",
props: yn,
emits: ["change", "update:modelValue"],
setup(e, t) {
const n = d(e.items), o = d(), a = 2, i = d(e.modelValue), l = d("none"), p = d(e.type), v = A(() => {
const C = {
"f-capsule-container": !0
};
return p.value && (C[p.value] = !0), C;
}), s = A(() => ({})), h = A(() => ({
"f-capsule": !0
})), r = d(a), u = d(0), c = d(0), m = A(() => ({
left: `${r.value}px`,
width: `${u.value}px`,
transition: l.value
})), b = A(() => ({
width: `${c.value}px`
})), x = /* @__PURE__ */ new Map();
function E(C) {
var y;
if (x.has(C.value)) {
const R = (y = x.get(C.value)) == null ? void 0 : y.value;
if (R) {
const F = R.getBoundingClientRect(), B = o.value.getBoundingClientRect();
r.value = F.left - B.left + a + o.value.scrollLeft, u.value = F.width - 2 * a;
}
}
}
function M(C, y) {
const R = C.value;
i.value = R, t.emit("update:modelValue", R), E(C), y && t.emit("change", R);
}
function j(C) {
const y = n.value.findIndex((R) => R.value === C);
y > -1 && M(n.value[y], !1);
}
J(() => e.modelValue, (C) => {
i.value = C, j(i.value);
}), Fe(async () => {
j(i.value), await nt(), l.value = "0.1s ease-out all", c.value = Array.from(x.values()).reduce((C, y) => (C += y.value.clientWidth, C), 0);
});
function k(C, y) {
M(y, !0);
}
function g(C, y) {
x.set(y, C);
}
function w(C) {
Array.from(x.keys()).forEach((y) => {
C.find((F) => F.value === y) || x.delete(y);
});
}
function T(C, y) {
return f(xa, {
name: C.name,
value: C.value,
isActive: C.value === i.value,
index: y,
disabled: C.disabled,
key: C.value,
onMounted: g,
onActive: k
}, null);
}
return J(() => e.items, async (C) => {
const y = C.filter((R) => R.show);
w(y), n.value = y, await nt(), j(i.value), c.value = Array.from(x.values()).reduce((R, F) => (R += F.value.clientWidth, R), 0);
}), () => f("span", {
ref: o,
class: v.value,
style: s.value
}, [f("span", {
class: "f-capsule-pane"
}, [n.value.map((C, y) => T(C, y))]), f("small", {
class: h.value,
style: m.value
}, null), f("div", {
class: "f-capsule-board",
style: b.value
}, null)]);
}
}), Fa = /* @__PURE__ */ new Map([
["appearance", Wt]
]), Ba = "https://json-schema.org/draft/2020-12/schema", Ma = "https://farris-design.gitee.io/switch.schema.json", ka = "switch", Oa = "A Farris Component", Ea = "object", Ra = {
id: {
description: "The unique identifier for a switch",
type: "string"
},
type: {
description: "The type string of switch component",
type: "string",
default: "switch"
},
appearance: {
description: "",
type: "object",
properties: {
class: {
type: "string"
},
style: {
type: "string"
}
},
default: {}
},
binding: {
description: "",
type: "object",
default: {}
},
disabled: {
type: "boolean",
default: !1
},
onBackground: {
description: "",
type: "string",
default: ""
},
offBackground: {
description: "",
type: "string",
default: ""
},
onColor: {
description: "",
type: "string",
default: ""
},
offColor: {
description: "",
type: "string",
default: ""
},
onLabel: {
description: "",
type: "string",
default: ""
},
offLabel: {
description: "",
type: "string",
default: ""
},
readonly: {
description: "",
type: "boolean",
default: !1
},
size: {
description: "",
type: "enum",
default: "medium"
},
required: {
description: "",
type: "boolean",
default: !1
},
trueValue: {
description: "",
type: "boolean",
default: !0
},
falseValue: {
description: "",
type: "boolean",
default: !1
}
}, Da = [
"type"
], Ia = [
"id",
"appearance",
"binding"
], $a = {
$schema: Ba,
$id: Ma,
title: ka,
description: Oa,
type: Ea,
properties: Ra,
required: Da,
ignore: Ia
};
function ja(e, t, n) {
return t;
}
const gn = {
modelValue: { type: [String, Number, Boolean], default: !1 },
/** 禁用 */
disabled: { type: Boolean, default: !1 },
/**
* 同disabled
*/
readonly: { type: Boolean, default: !1 },
onBackground: { type: String },
offBackground: { type: String },
onColor: { type: String },
offColor: { type: String },
onLabel: { type: String },
offLabel: { type: String },
/** 尺寸大小 */
size: { type: String, default: "medium" },
/** 开关值变化事件 */
onModelValueChanged: { type: Function, default: () => {
} },
focusOnCreated: { type: Boolean, default: !1 },
trueValue: { type: [String, Number, Boolean], default: !0 },
falseValue: { type: [String, Number, Boolean], default: !1 }
};
$e(gn, $a, Fa, ja);
const Na = /* @__PURE__ */ ie({
name: "FSwitch",
props: gn,
emits: ["update:modelValue", "modelValueChanged"],
setup(e, t) {
const {
disabled: n,
size: o,
onLabel: a,
offLabel: i,
onBackground: l,
offBackground: p,
onColor: v,
offColor: s,
readonly: h
} = An(e), r = d(e.modelValue), u = d(), c = d(""), m = A(() => e.trueValue != null ? r.value === e.trueValue : !!r.value), b = A(() => ({
switch: !0,
"f-cmp-switch": !0,
checked: m.value,
disabled: h.value || n.value,
"switch-large": o.value === "large",
"switch-medium": o.value === "medium",
"switch-small": o.value === "small"
})), x = A(() => m.value ? {
outline: "none",
background: l.value
} : {
outline: "none",
backgroundColor: p.value
}), E = A(() => m.value ? {
background: v.value
} : {
backgroundColor: s.value
}), M = A(() => (a == null ? void 0 : a.value) || (i == null ? void 0 : i.value));
function j() {
!M.value || u.value || nt(() => {
const g = r.value, w = u.value.querySelector(g ? ".switch-label-checked" : ".switch-label-unchecked");
w && w.scrollWidth > w.clientWidth ? c.value = g ? a == null ? void 0 : a.value : i == null ? void 0 : i.value : c.value = "";
});
}
function k() {
h.value || n.value || (r.value = m.value ? e.falseValue : e.trueValue, t.emit("update:modelValue", r.value), j());
}
return J(r, (g, w) => {
g !== w && t.emit("modelValueChanged", g);
}), J(() => e.modelValue, (g, w) => {
g !== w && (r.value = g);
}), Fe(() => {
var g;
e.focusOnCreated && ((g = u.value) == null || g.focus()), j();
}), () => f("span", {
ref: u,
tabindex: "0",
role: "button",
class: b.value,
style: x.value,
onClick: k,
title: c.value
}, [M.value && f("span", {
class: "switch-pane"
}, [f("span", {
class: "switch-label-checked"
}, [a == null ? void 0 : a.value]), f("span", {
class: "switch-label-unchecked"
}, [i == null ? void 0 : i.value])]), f("small", {
style: E.value
}, [t.slots.default && t.slots.default()])]);
}
}), Pa = /* @__PURE__ */ ie({
name: "FScreenResolutionSelector",
props: $o,
emits: ["screenNameChanged", "currentScreenResolutionChanged", "switchInStandardModeChanged"],
setup(e, t) {
const n = d([{
name: "小屏幕",
code: "SM",
value: "SM",
active: !1
}, {
name: "中等屏幕",
code: "MD",
value: "MD",
active: !0
}, {
name: "大屏幕",
code: "LG",
value: "LG",
active: !1
}, {
name: "极大屏幕",
code: "EL",
value: "EL",
active: !1
}]), o = d(e.defaultStates), a = d("MD"), i = d("中等屏幕"), l = d(!0);
function p(h) {
n.value.forEach((r) => {
r.active = r.code === h, r.active && (a.value = r.code, i.value = r.name, t.emit("screenNameChanged", i.value), t.emit("currentScreenResolutionChanged", a.value));
});
}
function v() {
t.emit("switchInStandardModeChanged", l.value);
}
J(l, () => {
}), Ct(() => {
o.value.model === "standard" ? l.value = !0 : (l.value = !1, v());
});
function s() {
return f(Ta, {
class: "f-layout-editor-screen-resolution-selector-frame",
items: n.value,
modelValue: a.value,
"onUpdate:modelValue": (h) => a.value = h,
onChange: p
}, null);
}
return () => f("div", {
class: "f-layout-editor-screen-resolution-selector"
}, [f("div", {
class: "f-layout-editor-screen-resolution-selector-header"
}, [f("div", {
class: "f-layout-editor-screen-resolution-selector-form"
}, [ce("表单布局配置")])]), s(), f("div", {
class: "f-layout-editor-screen-resolution-selector-switch"
}, [f(Na, {
class: "f-layout-editor-show-switch",
modelValue: l.value,
"onUpdate:modelValue": (h) => l.value = h,
onModelValueChanged: v
}, null), l.value ? f("div", {
class: "f-layout-editor-show-switch-label"
}, [ce("标准模式")]) : f("div", {
class: "f-layout-editor-show-switch-label"
}, [ce("自定义模式")])])]);
}
}), Aa = {
/** 默认屏幕分辨率对应的英文缩写 */
currentScreenResolution: { type: String, default: "" },
/** 模式开关 */
switchInStandardMode: { type: Boolean, default: !1 },
/** 记录当前展示的区域 */
currentArea: { type: Object, default: [] },
/** 接受组件列表区传入的二维数组 */
twoDimensionalArray: { type: Array, default: [] }
}, La = {
/** 单个组件的预览状态 */
item: { type: Object, default: {} },
/** 默认屏幕分辨率对应的英文缩写 */
currentScreenResolution: { type: String, default: "" },
/** 接受switch状态,若为自定义模式,则需要改变Col-num的num来源;*/
switchInStandardMode: { type: Boolean, default: !1 }
}, Ha = /* @__PURE__ */ ie({
name: "FColumnWidthView",
props: La,
emits: [],
setup(e, t) {
const n = d(e.item), o = d(e.currentScreenResolution), a = A(() => `col-${n.value[`columnIn${o.value}`]}`);
return J([() => e.item, () => e.currentScreenResolution], ([i, l], [p, v]) => {
i !== p && (n.value = i), l !== v && (o.value = l);
}), () => f("div", {
class: a.value
}, [f("div", {
class: "f-layout-editor-column-width-view",
title: n.value.label
}, [f("div", {
class: "f-layout-editor-column-width-view-label"
}, [n.value.label])])]);
}
}), Va = /* @__PURE__ */ ie({
name: "FPreview",
props: Aa,
emits: ["update:twoDimensionalArray"],
setup(e, t) {
const n = d(e.currentScreenResolution), o = d(e.switchInStandardMode), a = d(e.currentArea), i = d(e.twoDimensionalArray), l = d([]);
J([() => e.currentArea, () => e.switchInStandardMode, () => e.currentScreenResolution], ([r, u, c], [m, b, x]) => {
r !== m && (a.value = r), u !== b && (o.value = u), c !== x && (n.value = c);
});
function p(r, u) {
const c = [];
let m = [];
return r.forEach((b) => {
u !== b.componentRow && (u += 1, c.push(m), m = []), m.push(b);
}), c.push(m), c;
}
function v() {
const r = [];
let u = 1;
return l.value.forEach((c) => {
const m = p(c, u);
u += m.length, r.push(m);
}), r;
}
function s() {
l.value = Te(i.value), l.value = v();
}
J(() => e.twoDimensionalArray, () => {
i.value = e.twoDimensionalArray, s();
}), Fe(() => {
s();
});
function h() {
if (o.value)
return "";
const r = Array.from({
length: 12
}, () => f("div", {
class: "col-1"
}, [f("div", {
class: "f-layout-editor-preview-customize-single-background"
}, [ce(" ")])]));
return f("div", {
class: "f-layout-editor-preview-customize-whole-background"
}, [r]);
}
return () => f("div", {
class: "f-layout-editor-preview f-utils-fill-flex-column"
}, [f("div", {
class: "f-layout-editor-preview-header"
}, [ce("预览区")]), h(), f("div", {
class: "f-layout-editor-preview-view f-utils-overflow-xhya"
}, [f("div", {
class: "f-layout-editor-preview-row-group"
}, [l.value.map((r) => {
var u, c;
return ((u = r[0][0]) == null ? void 0 : u.group.toString()) === ((c = a.value[0]) == null ? void 0 : c.id) && r.map((m) => f("div", {
class: "f-layout-editor-row"
}, [m.map((b) => f(Ha, {
item: b,
"onUpdate:item": (x) => b = x,
currentScreenResolution: n.value,
switchInStandardMode: o.value
}, null))]));
})])])]);
}
}), za = {
/** 用户切换屏幕分辨率-缩写-例:MD; */
currentScreenResolution: { type: String, default: "" },
/** 检测用户是否切换模式 */
switchInStandardMode: { type: Boolean, default: !1 },
/** 输入的控件原始数据 */
originalData: { type: Array, default: [] },
/** 在用户切换模式时显示原数据,确保两个模式下的数据不互通 */
originalDataCopy: { type: Array, default: [] },
/** 默认状态:包括defaultGroupNumber(默认显示组)及mode(当前模式:standard或customize) */
defaultStates: { type: Object, default: {} },
/** twoDimensionalArray值变化事件 */
onTwoDimensionalArrayChanged: { type: Function, default: () => {
} },
/** originalData值变化事件 */
onOriginalDataChanged: { type: Function, default: () => {
} }
};
function Wa(e, t) {
const n = d(-1), o = d(!1);
function a(r) {
if (r.target.offsetParent) {
const u = r.target.offsetParent, c = u.offsetWidth - r.target.offsetWidth / 2 - 4, m = u.offsetHeight / 2;
r.dataTransfer && r.dataTransfer.setDragImage(u, c, m);
}
}
function i(r) {
if (r) {
const u = e.value.findIndex((c) => c.label === r.label);
setTimeout(() => {
n.value = u, o.value = !0, r.moving = !0;
});
}
}
function l(r, u) {
r.stopPropagation(), a(r), i(u);
}
function p(r) {
const u = e.value.findIndex((c) => c.label === r.label);
if (n.value !== u) {
const c = e.value[n.value], m = e.value;
m.splice(n.value, 1), m.splice(u, 0, c), n.value = u, t && t();
}
}
function v(r, u) {
r.preventDefault(), p(u);
}
function s(r) {
r.preventDefault(), r.dataTransfer && (r.dataTransfer.dropEffect = "move");
}
function h(r, u) {
u && (u.moving = !1), o.value = !1;
}
return {
dragstart: l,
dragenter: v,
dragover: s,
dragend: h,
isDragging: o
};
}
const qa = /* @__PURE__ */ new Map([
["appearance", Wt]
]), _a = "https://json-schema.org/draft/2020-12/schema", Ga = "https://farris-design.gitee.io/combo-list.schema.json", Ua = "combo-list", Xa = "A Farris Input Component", Ya = "object", Ja = {
id: {
description: "The unique identifier for a combo list",
type: "string"
},
type: {
description: "The type string of number combo list component",
type: "string",
default: "combo-list"
},
appearance: {
description: "",
type: "object",
properties: {
class: {
type: "string"
},
style: {
type: "string"
}
},
default: {}
},
binding: {
description: "",
type: "object",
default: {}
},
disabled: {
description: "",
type: "boolean",
default: !1
},
enableClear: {
description: "",
type: "boolean",
default: !1
},
editable: {
description: "",
type: "boolean",
default: !1
},
enableLinkLabel: {
description: "",
type: "boolean",
default: !1
},
label: {
description: "",
type: "string",
default: ""
},
lableWidth: {
description: "",
type: "number"
},
placeholder: {
description: "",
type: "string",
default: "请选择"
},
idField: {
description: "",
type: "string",
default: "id"
},
valueField: {
description: "",
type: "string",
default: "id"
},
titleField: {
description: "",
type: "string",
default: "name"
},
textField: {
description: "",
type: "string",
default: "name"
},
dataSourceType: {
description: "",
type: "string",
default: "static"
},
data: {
description: "",
type: "array"
},
remote: {
description: "",
type: "string"
},
readonly: {
description: "",
type: "boolean",
default: !1
},
required: {
description: "",
type: "boolean",
default: !1
},
tabindex: {
description: "",
type: "number",
default: -1
},
textAlign: {
description: "",
type: "string",
enum: [
"left",
"middle",
"right"
],
default: "left"
},
multiSelect: {
description: "",
type: "boolean",
default: !1
},
maxLength: {
description: "",
type: "number",
default: null
},
visible: {
description: "",
type: "boolean",
default: !0
},
onBlur: {
description: "",
type: "string",
default: ""
},
onClickLinkLabel: {
description: "",
type: "sting",
default: ""
},
maxHeight: {
description: "",
type: "number",
default: 350
},
minPanelWidth: {
description: "",
type: "number",
default: 160
},
popupOnClick: {
description: "",
type: "boolean",
default: !0
},
separator: {
description: "",
type: "string",
default: ","
},
viewType: {
description: "",
type: "string",
default: "tag"
},
enableSearch: {
description: "启用搜索",
type: "boolean",
default: !0
},
enableHighlightSearch: {
description: "启用高亮搜索",
type: "boolean",
default: !1
}
}, Qa = [
"type"
], Za = [
"id",
"appearance",
"binding",
"visible"
], Ka = {
$schema: _a,
$id: Ga,
title: Ua,
description: Xa,
type: Ya,
properties: Ja,
required: Qa,
ignore: Za
};
function el(e, t, n) {
return t;
}
const _t = {
/**
* 组件标识
*/
id: { type: String },
/**
* 下拉数据源
*/
data: { type: Array, default: [] },
/**
* 可选,展示文本
* 默认为空字符串 -----内部需要根据value重新生成展示文本,此属性不生效
* displayText: { type: String, default: '' },
*/
/**
* 可选,是否禁用
* 默认为`false`
*/
disabled: { default: !1, type: Boolean },
/**
* 可选,下拉图标
* 默认为'<span class="f-icon f-icon-arrow-60-down"></span>'
*/
dropDownIcon: { type: String, default: '<span class="f-icon f-icon-arrow-chevron-down"></span>' },
/**
* 可选,是否可编辑
* 默认`false`
*/
editable: { default: !1, type: Boolean },
/**
* 可选,是否启用清空
* 默认启用
*/
enableClear: { default: !0, type: Boolean },
/**
* 可选,启用搜索
* 默认为`false`
*/
enableSearch: { type: Boolean, default: !1 },
/**
* 可选,鼠标悬停时是否显示控件值
* 默认显示
*/
enableTitle: { default: !0, type: Boolean },
fitEditor: { default: !1, type: Boolean },
/**
* 可选,强制显示占位符
* 默认`false`
*/
forcePlaceholder: { default: !1, type: Boolean },
/**
* 可选,清空值时隐藏面板
* 默认`true`
*/
hidePanelOnClear: { default: !0, type: Boolean },
/**
* 可选,数据源id字段
* 默认为`id`
*/
idField: { default: "id", type: String },
/**
* 可选,字段映射
*/
mapFields: { type: Object },
/**
* 可选,最大高度
* 默认`350`
*/
maxHeight: { default: 350, type: Number },
/**
* 最大输入长度
*/
maxLength: { type: Number },
/**
* 可选,是否支持多选
* 默认`false`
*/
multiSelect: { type: Boolean, default: !1 },
/**
* 绑定值
*/
modelValue: {},
/**
* 占位符
*/
placeholder: { type: String, default: "请选择" },
/**
* 可选,下拉面板展示位置
* 默认为`auto`
*/
placement: {
type: String,
default: "auto"
/* auto */
},
/**
* 可选,是否只读
* 默认为`false`
*/
readonly: { default: !1, type: Boolean },
/**
* 远端数据源信息
*/
remote: { default: null, type: Object },
/**
* 可选,是否支持远端过滤
* 默认`false`
*/
remoteSearch: { default: !1, type: Boolean },
/**
* 可选,分隔符
* 默认`,`
*/
separator: { default: ",", type: String },
/**
* tabIndex
*/
tabIndex: { type: Number, default: -1 },
/**
* 可选,数据源显示字段
* 默认为`name`
*/
textField: { default: "name", type: String },
/**
* 可选,数据源的title
* 默认为`name`
*/
titleField: { default: "name", type: String },
/**
* 可选,数据源值字段
* 默认为`id`
*/
valueField: { default: "id", type: String },
/**
* 可选,启用多选下,下拉列表值在输入框中的展示方式
* 支持text | tag
* 因为ButtonEdit内部处理类型只有在批量的情况下才会有展示类型区分
*/
viewType: { default: "tag", type: String },
/**
* 值变化事件
*/
change: { type: Function, default: () => {
} },
/**
* 作为内嵌编辑器被创建后默认获得焦点
*/
focusOnCreated: { type: Boolean, default: !1 },
/**
* 作为内嵌编辑器被创建后默认选中文本
*/
selectOnCreated: { type: Boolean, default: !1 },
/**
* 此属性废弃
*/
autoHeight: { type: Boolean, default: !0 },
/**
* 打开前
*/
beforeOpen: { type: Function, default: null },
searchOption: {
type: [Boolean, Function],
default: !1
},
// 搜索启用高亮
enableHighlightSearch: { type: Boolean, default: !0 },
minPanelWidth: { type: Number, default: 160 },
popupOnClick: { type: Boolean, default: !0 }
};
Object.assign({}, _t, {
readonly: {}
});
qt(_t, Ka, qa, el);
const tl = {
dataSource: { type: Array, default: [] },
enableSearch: { type: Boolean, default: !1 },
idField: { type: String, default: "id" },
multiSelect: { type: Boolean, default: !1 },
selectedValues: { type: String, default: "" },
separator: { type: String, default: "," },
textField: { type: String, default: "name" },