@farris/ui-vue
Version:
Farris Vue, a Farris Design based Vue3 component library.
1,583 lines • 434 kB
JavaScript
var zr = Object.defineProperty;
var Gr = (n, t, e) => t in n ? zr(n, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[t] = e;
var j = (n, t, e) => Gr(n, typeof t != "symbol" ? t + "" : t, e);
import { createVNode as O, resolveComponent as mt, createTextVNode as tt, ref as M, isVNode as zn, nextTick as At, computed as A, inject as Ot, Fragment as $t, watch as Fe, withDirectives as Gn, vModelCheckbox as qr, defineComponent as ht, reactive as St, createApp as qn, onUnmounted as sn, onMounted as zt, Transition as Yn, mergeProps as Bt, onBeforeUnmount as Un, resolveDirective as Yr, provide as Ur, triggerRef as Xr, onBeforeMount as Qr, Teleport as Kr, shallowRef as Jr, render as ln, h as Zr, cloneVNode as eo } from "vue";
import { F_MODAL_SERVICE_TOKEN as to } from "../modal/index.esm.js";
import Xn from "../transfer/index.esm.js";
import Qn, { FTabPage as un } from "../tabs/index.esm.js";
import no, { FOrder as ro } from "../order/index.esm.js";
import oo from "../condition/index.esm.js";
import { FCheckbox as mn } from "../checkbox/index.esm.js";
import { useArrayProcessor as wn, useGuid as ao, resolveField as ft, FormSchemaEntityFieldTypeName as In, getCustomClass as cn, withInstall as io, useCommonUtils as Cn, useDateFormat as so, useNumberFormat as lo, setFieldValue as hn } from "../common/index.esm.js";
import uo, { FFilterBar as co } from "../filter-bar/index.esm.js";
import Dn from "../tooltip/index.esm.js";
import { isUndefined as wt, cloneDeep as Mt, isPlainObject as Pn, throttle as fo } from "lodash-es";
import Kn from "../pagination/index.esm.js";
import mo from "../button/index.esm.js";
import ho, { FSearchBox as po } from "../search-box/index.esm.js";
import vo, { FTags as go } from "../tags/index.esm.js";
import yo, { FDynamicFormGroup as bo, FDynamicFormInput as wo } from "../dynamic-form/index.esm.js";
import { createPropsResolver as Co } from "../dynamic-resolver/index.esm.js";
import "../designer-canvas/index.esm.js";
import "../property-panel/index.esm.js";
import _o from "../accordion/index.esm.js";
import xo from "../avatar/index.esm.js";
import So from "../../designer/button-edit/index.esm.js";
import To from "../button-group/index.esm.js";
import ko from "../calendar/index.esm.js";
import Fo from "../capsule/index.esm.js";
import Nn from "../../designer/checkbox/index.esm.js";
import Vn from "../../designer/checkbox-group/index.esm.js";
import pn from "../combo-list/index.esm.js";
import Eo from "../combo-tree/index.esm.js";
import Oo from "../component/index.esm.js";
import Mo from "../color-picker/index.esm.js";
import Io from "../content-container/index.esm.js";
import Do from "../date-picker/index.esm.js";
import Po from "../../designer/data-grid/index.esm.js";
import No from "../dropdown/index.esm.js";
import Vo from "../events-editor/index.esm.js";
import Ro from "../field-selector/index.esm.js";
import Bo from "../binding-selector/index.esm.js";
import Wo from "../image-cropper/index.esm.js";
import Ho from "../../designer/input-group/index.esm.js";
import Lo from "../layout/index.esm.js";
import $o from "../list-nav/index.esm.js";
import jo from "../list-view/index.esm.js";
import Ao from "../lookup/index.esm.js";
import zo from "../mapping-editor/index.esm.js";
import Go from "../nav/index.esm.js";
import qo from "../number-range/index.esm.js";
import Yo from "../number-spinner/index.esm.js";
import Uo from "../page-header/index.esm.js";
import Xo from "../page-footer/index.esm.js";
import Qo from "../progress/index.esm.js";
import Ko from "../query-solution/index.esm.js";
import Jo from "../../designer/radio-group/index.esm.js";
import Zo from "../rate/index.esm.js";
import ea from "../response-toolbar/index.esm.js";
import ta from "../response-layout/index.esm.js";
import na from "../response-layout-editor/index.esm.js";
import ra from "../section/index.esm.js";
import oa from "../smoke-detector/index.esm.js";
import aa from "../splitter/index.esm.js";
import ia from "../step/index.esm.js";
import sa from "../switch/index.esm.js";
import la from "../text/index.esm.js";
import ua from "../time-picker/index.esm.js";
import ca from "../tree-view/index.esm.js";
import da from "../uploader/index.esm.js";
import fa from "../verify-detail/index.esm.js";
import ma from "../video/index.esm.js";
import ha from "../textarea/index.esm.js";
import pa from "../schema-selector/index.esm.js";
import va from "../tree-grid/index.esm.js";
import ga from "../event-parameter/index.esm.js";
import ya from "../filter-condition-editor/index.esm.js";
import ba from "../fieldset/index.esm.js";
import wa from "../sort-condition-editor/index.esm.js";
import Ca from "../menu-lookup/index.esm.js";
import _a from "../drawer/index.esm.js";
import xa from "../json-editor/index.esm.js";
import Sa from "../property-editor/index.esm.js";
import Ta from "../expression-editor/index.esm.js";
import ka from "../code-editor/index.esm.js";
import Fa from "../html-template/index.esm.js";
import "../external-container/index.esm.js";
import { useResizeObserver as Jn } from "@vueuse/core";
import { useIdentify as Ea, useGroupData as Oa, useFilter as Ma, useHierarchy as Ia, useLoading as Da, useDataView as Pa, useSelection as Na, useSelectHierarchyItem as Va, useDataViewContainerStyle as Ra, useCommandColumn as Ba, useColumn as Wa, useSort as Ha, useGroupColumn as La, useRow as $a, useEdit as ja, useVisualDataBound as Aa, useVisualDataCell as za, useVisualDataRow as Ga, useVisualData as qa, useCellPosition as Ya, useSidebar as Ua, useVirtualScroll as Xa, useFitColumn as Qa, useFilterHistory as Ka, useColumnFilter as Ja, useDragColumn as Za, getColumnHeader as ei, getSidebar as ti, getDisableMask as ni, getHorizontalScrollbar as ri, getVerticalScrollbar as oi, getEmpty as ai } from "../data-view/index.esm.js";
import "../notify/index.esm.js";
var Ke = /* @__PURE__ */ ((n) => (n[n.readonly = 0] = "readonly", n[n.editable = 1] = "editable", n[n.editing = 2] = "editing", n))(Ke || {}), xt = /* @__PURE__ */ ((n) => (n[n.initial = 0] = "initial", n[n.editing = 1] = "editing", n))(xt || {}), Wt = /* @__PURE__ */ ((n) => (n[n.data = 0] = "data", n[n.group = 1] = "group", n[n.summary = 2] = "summary", n))(Wt || {});
const gm = {
/** 显示行号 */
enable: { type: Boolean, default: !1 },
/** 行号列表头标题 */
heading: { type: String, default: "序号" },
/** 行号宽度,默认为 36px */
width: { type: Number, default: 36 }
}, ym = {
/** 启用分页 */
enable: { type: Boolean, default: !1 },
/** 当前页码 */
index: { type: Number, default: 1 },
/** 分页交互模式 */
mode: { type: String, default: "server" },
/** 显示页码输入框 */
showGoto: { type: Boolean, default: !1 },
/** 显示页码 */
showIndex: { type: Boolean, default: !0 },
/** 显示每页记录数 */
showLimits: { type: Boolean, default: !1 },
/** 显示分页汇总信息 */
showPageInfo: { type: Boolean, default: !0 },
/** 默认每页记录数 */
size: { type: Number, default: 20 },
/** 可选择的没有记录数据 */
sizeLimits: { type: Array, default: [10, 20, 30, 50, 100] },
/** 总记录数 */
total: { type: Number, default: 0 },
/** 禁用分页 */
disabled: { type: Boolean, default: !1 }
};
var U = /* @__PURE__ */ ((n) => (n[n.none = 0] = "none", n[n.filterable = 1] = "filterable", n[n.sortable = 2] = "sortable", n[n.filtered = 4] = "filtered", n[n.sorted = 8] = "sorted", n[n.ascending = 16] = "ascending", n[n.descending = 32] = "descending", n))(U || {}), ii = /* @__PURE__ */ ((n) => (n.NONE = "none", n.NUMBER = "number", n.DATE = "date", n.TEXT = "boolean", n.IMAGE = "boolean2", n.ENUM = "enum", n.CUSTOM = "custom", n))(ii || {});
function si(n, t, e, r, o, a, i) {
const s = [{
name: "升序",
value: "asc",
icon: "f-icon f-icon-col-ascendingorder"
}, {
name: "无",
value: "none"
}, {
name: "降序",
value: "desc",
icon: "f-icon f-icon-col-descendingorder"
}];
function l(f) {
const b = f.status, m = (b & U.sorted) === U.sorted, _ = (b & U.ascending) === U.ascending, T = (b & U.descending) === U.descending;
let y = m ? b ^ U.sorted : b;
return y = _ ? y ^ U.ascending : y, y = T ? y ^ U.descending : y, y;
}
function u(f) {
f.sortType = "none", f.status = l(f);
const b = f.column;
b && (b.sort = "none", b.sortOrder = 0, n.applyColumnSorter(t, a));
}
function c(f, b) {
b.column && (b.column.filter = null), t.removeFilter(`field_filter_${b.field}`), u(b);
}
function d(f) {
const b = l(f), m = f.sortType === "none" ? b : f.sortType === "asc" ? b | U.sorted | U.ascending : b | U.sorted | U.descending;
f.status = m;
const _ = f.column;
_ && (_.sort = f.sortType, _.sortOrder = f.sortType !== "none" ? _.sortOrder : 0, f.status = m, n.applyColumnSorter(t, a));
}
function v(f) {
var _;
const b = (f.status & U.filtered) === U.filtered;
f.status = b ? f.status ^ U.filtered : f.status | U.filtered, ((_ = f.column) == null ? void 0 : _.filter) != null && f.column.filter !== "" && f.filter ? (r.addColumnFilter(f), t.refresh()) : (r.removeColumnFilter(f), t.refresh());
}
function w(f, b) {
var m;
b.showPopover = !1, b.filterHistory = void 0, o.updateFilterHistory(b, (m = b.column) == null ? void 0 : m.filter), v(b), d(b), i.reCalculateVisualDataRows();
}
function g(f) {
const b = f.status, m = (b & U.sorted) === U.sorted, _ = m && (b & U.ascending) === U.ascending;
f.sortType = m ? _ ? "asc" : "desc" : "none", a.updateSorter(f, t);
}
function k(f, b) {
b.showPopover = !1, b.filterHistory = void 0, g(b);
}
function C(f) {
return O("div", {
class: "fv-column-sort-filter-container"
}, [O("div", {
class: "fv-column-sort-section"
}, [O(mt("f-capsule"), {
items: s,
modelValue: f.sortType,
"onUpdate:modelValue": (b) => f.sortType = b,
type: "secondary"
}, null)]), O("div", {
class: "fv-column-filter-section"
}, [O("div", {
class: "fv-column-filter-section-title"
}, [tt("筛选")]), O("div", {
class: "fv-column-filter-section-editor"
}, [e.getFilterEditor(f)])]), O("div", {
class: "fv-column-sort-filter-footer"
}, [O("div", {
class: "fv-column-clear-section"
}, [O(mt("f-button"), {
style: "margin: 5px 0;padding-left: 0;",
type: "link",
onClick: (b) => c(b, f)
}, {
default: () => [tt("清空")]
})]), O("div", {
class: "fv-column-confirm-section"
}, [O(mt("f-button"), {
customClass: {
"f-btn-ml": !0
},
size: "small",
onClick: (b) => w(b, f)
}, {
default: () => [tt("确定")]
}), O(mt("f-button"), {
size: "small",
type: "secondary",
onClick: (b) => k(b, f)
}, {
default: () => [tt("取消")]
})])])]);
}
return {
renderFilterContainer: C
};
}
function li(n) {
return typeof n == "function" || Object.prototype.toString.call(n) === "[object Object]" && !zn(n);
}
function ui(n, t, e, r, o, a, i, s, l, u, c) {
function d(E) {
const I = E.status;
return {
"fv-column-handler": !0,
"fv-column-handler-active": (I & U.filtered) === U.filtered || (I & U.sorted) === U.sorted || E.showPopover
};
}
function v(E) {
return (E.status & U.sortable) === U.sortable && (E.status & U.filterable) === U.none && (E.status & U.sorted) === U.none;
}
function w(E) {
return (E.status & U.sortable) === U.sortable && (E.status & U.filterable) === U.none && (E.status & U.sorted) === U.sorted && (E.status & U.ascending) === U.ascending;
}
function g(E) {
return (E.status & U.sortable) === U.sortable && (E.status & U.filterable) === U.none && (E.status & U.sorted) === U.sorted && (E.status & U.descending) === U.descending;
}
function k(E) {
return (E.status & U.sortable) === U.none && (E.status & U.filterable) === U.filterable && (E.status & U.sorted) === U.none;
}
function C(E) {
return (E.status & U.sortable) === U.sortable && (E.status & U.filterable) === U.filterable && (E.status & U.sorted) === U.none;
}
function f(E) {
return (E.status & U.sortable) === U.sortable && (E.status & U.filterable) === U.filterable && (E.status & U.sorted) === U.sorted && (E.status & U.ascending) === U.ascending;
}
function b(E) {
return (E.status & U.sortable) === U.sortable && (E.status & U.filterable) === U.filterable && (E.status & U.sorted) === U.sorted && (E.status & U.descending) === U.descending;
}
const m = function(E) {
return {
"f-icon": !0,
"f-icon-col-defaultsort": v(E),
"f-icon-col-ascending": w(E),
"f-icon-col-descending": g(E),
"f-icon-col-filter": k(E),
"f-icon-col-defaultfilterandsort": C(E),
"f-icon-col-filterandascending": f(E),
"f-icon-col-filteranddescending": b(E)
};
}, _ = /* @__PURE__ */ new Map([[U.sortable, U.sortable | U.sorted | U.ascending], [U.sortable | U.sorted | U.ascending, U.sortable | U.sorted | U.descending], [U.sortable | U.sorted | U.descending, U.sortable]]), {
renderFilterContainer: T
} = si(o, a, i, s, l, u, c), y = M();
function p(E, I) {
I.filter((D) => D !== E && D.showPopover).forEach((D) => {
D.showPopover = !1;
});
}
function h(E) {
let I;
return O(mt("f-popover"), {
ref: y,
class: "fv-column-handler-popover",
host: t.value,
"z-index": 0,
"right-boundary": r.value,
offsetX: c.offsetX,
visible: !0,
onHidden: () => {
E.showPopover = !1;
}
}, li(I = T(E)) ? I : {
default: () => [I]
});
}
async function S(E, I) {
I.showPopover = !I.showPopover, await At();
const D = y.value;
D && D.show(E.target);
}
function F(E) {
const I = E.status;
if ((I & U.sortable) === U.sortable && (I & U.filterable) === U.none && _.has(I)) {
const B = _.get(I), W = (B & U.sorted) === U.sorted, V = (B & U.ascending) === U.ascending, z = (B & U.descending) === U.descending, N = E.column;
N && (N.sort = V ? "asc" : z ? "desc" : "none", N.sortOrder = W ? N.sortOrder : 0, E.status = B, o.applyColumnSorter(a, u), c.reCalculateVisualDataRows());
}
}
function x(E, I, D) {
F(I), p(I, D), (I.status & U.filterable) === U.filterable && S(E, I);
}
function P(E, I, D) {
return [O("span", {
class: d(E),
onClick: (B) => x(B, E, D)
}, [O("i", {
class: m(E)
}, null), E && E.column && E.sortType !== "none" && (E.column.sortOrder || ""), E.showPopover && h(E)])];
}
return {
renderHeaderCellHandler: P
};
}
function ci(n, t, e, r, o, a, i, s, l, u) {
const c = "id", d = M();
let v;
const {
applySortableColumns: w,
collectionFilterableColumns: g,
collectionSortableColumns: k,
columnContext: C,
updateColumnSettingIcon: f
} = r, {
conditions: b
} = a, {
calculateColumnsSize: m
} = i, {
fitHorizontalScroll: _
} = l, T = M([]), y = A(() => !!T.value.length), p = A(() => C.value.primaryColumns.map((H) => ({
id: H.field,
name: H.title
}))), h = A(() => C.value.primaryColumns.filter((H) => H.visible).map((H) => ({
id: H.field,
name: H.title
}))), S = A(() => k().map((H) => ({
id: H.field,
name: H.title,
order: H.sort
}))), F = A(() => g().map((H) => ({
id: H.field,
code: H.field,
controlType: "",
labelCode: H.field,
name: H.title,
editor: H.editor,
// || ({ type: useFilterComposition.getFilterEditorType(filterableColumn) } as EditorConfig),
value: {},
visible: !0
})));
function x() {
v == null || v.destroy();
}
function P() {
const H = /* @__PURE__ */ new Map();
return C.value.primaryColumns.reduce((L, G) => (G.visible = !1, L.set(G.field, G), L), H), H;
}
function E(H, L) {
return H.map(({
id: K
}) => {
const Z = L.get(K);
return Z.visible = !0, L.delete(K), Z;
});
}
function I(H) {
const L = P(), G = E(H, L);
C.value.primaryColumns = [...G, ...Array.from(L.values())], f(), m(), At(() => {
_();
});
}
function D(H) {
T.value = H;
}
function $(H) {
return O("div", {
class: "fv-grid-settings"
}, [O(Qn, {
"tab-type": "pills",
"justify-content": "center"
}, {
headerPrefix: () => O("div", {
class: "modal-title"
}, [O("span", {
class: "modal-title-label"
}, [tt("列配置")])]),
default: () => [O(un, {
id: "display-columns",
title: "显示列",
class: "container"
}, {
default: () => [O(Xn, {
style: "height: 480px",
"identify-field": c,
"data-source": p.value,
selections: h.value,
onChange: I
}, null)]
}), O(un, {
id: "column-order",
title: "列排序",
class: "container"
}, {
default: () => [O(ro, {
style: "height: 480px",
"data-source": p.value,
items: S.value,
onChange: D
}, null)]
}), O(un, {
id: "column-filter",
title: "筛选",
class: "container"
}, {
default: () => [O(oo, {
ref: d,
style: "height: 480px",
fields: F.value,
conditions: b.value
}, null)]
})],
headerSuffix: () => O("div", {
class: "f-btn-icon f-bare",
onClick: (L) => x()
}, [O("span", {
class: "f-icon modal_close"
}, null)])
})]);
}
function B() {
const H = /* @__PURE__ */ new Map();
return k().reduce((L, G) => (G.sort = "none", G.sortOrder = 0, L.set(G.field, G), L), H), H;
}
function W(H) {
return T.value.filter((G) => G.id && G.order).map((G, K) => {
const Z = K + 1, ee = H.get(G.id);
return ee && (ee.sort = G.order, ee.sortOrder = Z), ee;
});
}
function V() {
if (y.value) {
const H = B(), L = W(H);
w(L, o, s), l.reCalculateVisualDataRows(), m();
}
}
function z() {
d.value && (b.value = d.value.getConditions(), o.refresh(), l.reCalculateVisualDataRows());
}
function N() {
V(), z();
}
function R() {
}
function X() {
v = u.open({
title: "",
width: 800,
showButtons: !0,
showHeader: !1,
render: $,
acceptCallback: N,
rejectCallback: R
});
}
return {
acceptCallback: N,
rejectCallback: R,
renderSettingsPanel: $,
openSettingPanel: X
};
}
function di(n, t, e, r, o, a, i, s, l) {
const u = Ot(to);
function c(v) {
const {
openSettingPanel: w
} = ci(n, t, e, r, o, a, i, s, l, u);
w();
}
function d() {
return O("span", {
class: "fv-grid-settings-icon",
onClick: c
}, [O("i", {
class: "f-icon f-icon-home-setup"
}, null)]);
}
return {
renderGridSettingsIcon: d
};
}
function fi(n, t, e, r) {
const a = M(-1), i = M(0), s = M(!1);
let l = "";
const u = A(() => ({
display: s.value ? "block" : "none",
left: `${i.value}px`
})), c = A(() => ({
display: s.value ? "block" : "none"
}));
function d(g) {
const k = g.target.parentElement;
if (k) {
const { left: C } = k.getBoundingClientRect();
i.value = g.clientX - C;
}
}
function v(g) {
const k = t.value.primaryColumns.filter((f) => f.visible).find((f) => f.field === l) || t.value.leftColumns.filter((f) => f.visible).find((f) => f.field === l) || t.value.rightColumns.filter((f) => f.visible).find((f) => f.field === l), C = g.target.parentElement;
if (k && C) {
const { left: f } = C.getBoundingClientRect(), b = g.clientX - f, m = (k.actualWidth || 0) + (b - a.value);
k.actualWidth = Math.max(40, m), e.calculateColumnsSize();
}
i.value = 0, s.value = !1, document.removeEventListener("mousemove", d), document.removeEventListener("mouseup", v), document.body.style.userSelect = "", l = "";
}
function w(g, k) {
l = k, s.value = !0;
const f = g.composedPath().find((b) => b.className.split(" ")[0] === "fv-grid");
if (f) {
const { left: b } = f.getBoundingClientRect();
i.value = g.clientX - b, a.value = g.clientX - b, document.addEventListener("mousemove", d), document.addEventListener("mouseup", v), document.body.style.userSelect = "none";
}
}
return { onClickColumnResizeBar: w, resizeHandleStyle: u, resizeOverlayStyle: c };
}
function bm(n, t, e, r, o, a, i, s, l, u, c, d, v, w, g, k, C, f, b) {
const {
getDifference: m
} = wn(), {
dataView: _
} = i, {
showSelectAll: T,
selectDataItem: y,
unSelectDataItem: p,
selectAll: h,
unSelectAll: S,
selectedValues: F,
selectAllStatus: x,
indeterminateStatus: P
} = w, {
showRowNumer: E,
showSidebarCheckBox: I,
sidebarTitle: D,
sidebarCornerCellStyle: $
} = g, {
columnContext: B,
hasLeftFixedColumn: W,
hasRightFixedColumn: V
} = a, {
onClickColumnResizeBar: z,
resizeHandleStyle: N,
resizeOverlayStyle: R
} = fi(n, B, d), {
gridHeaderColumnsStyle: X,
leftFixedGridHeaderColumnsStyle: H,
rightFixedGridHeaderColumnsStyle: L
} = C, {
dragstart: G,
dragenter: K,
dragover: Z,
dragend: ee
} = s, fe = A(() => T.value || I.value || E.value), ge = B.value.defaultColumnWidth, _e = 32, De = /* @__PURE__ */ new Map([[0, 0]]), We = A(() => n.showHeader);
function Q(we, $e) {
const Re = De.get($e) || 0, je = {
height: `${we.depth * _e}px`,
left: `${we.left}px`,
top: `${(we.layer - 1) * _e}px`,
width: `${we.actualWidth}px`
};
return B.value.headerDepth > 1 && (je["line-height"] = `${we.depth * _e}px`), De.set($e + 1, Re + (we.actualWidth || ge)), je;
}
const ue = A(() => ({
"fv-grid-header": !0,
"fv-grid-header-group-columns": B.value.headerDepth > 1
})), Y = A(() => ({
height: `${B.value.headerDepth * _e}px`
})), re = function(we) {
return (we.status & U.sortable) === U.sortable || (we.status & U.filterable) === U.filterable;
}, {
renderHeaderCellHandler: be
} = ui(n, e, r, o, a, i, l, u, c, k, C), Ee = function(we) {
return n.showSetting && !!we.showSetting;
}, {
renderGridSettingsIcon: Pe
} = di(n, e, f, a, i, u, d, k, C);
function at(we) {
var Re;
const $e = {
"fv-grid-header-cell": !0
};
return $e["text-" + (((Re = we.column) == null ? void 0 : Re.halign) || "left")] = !0, $e;
}
function gt(we, $e, Re) {
var je, dt, pt;
return O("div", {
class: at(we),
style: Q(we, Re),
draggable: we.draggable,
onDragstart: (nt) => G(nt, we, Re),
onDragenter: (nt) => K(nt, Re),
onDragend: (nt) => ee(nt, we),
onDragover: (nt) => Z(nt, Re)
}, [t.slots.headerCellTemplate ? t.slots.headerCellTemplate({
headerCell: we,
headerCells: $e,
columnIndex: Re
}) : (je = we.column) != null && je.headerFormatter ? (pt = (dt = we.column).headerFormatter) == null ? void 0 : pt.call(dt, {
headerCell: we,
headerCells: $e,
columnIndex: Re
}) : O("span", {
class: "fv-column-title"
}, [we.title]), re(we) && be(we, Re, $e), Ee(we) && Pe(), we.resizable && O("span", {
class: "fv-column-resize-bar",
onMousedown: (nt) => z(nt, we.field)
}, null)]);
}
function it(we) {
return we.map(($e, Re) => {
const je = [];
if (je.push(gt($e, we, Re)), $e.children && $e.children.length) {
const dt = it($e.children);
je.push(...dt);
}
return je;
});
}
function te() {
return O("div", {
class: "fv-grid-header-left-fixed"
}, [O("div", {
class: "fv-grid-header-columns",
style: H.value
}, [it(B.value.leftHeaderColumns)])]);
}
function ke() {
return O("div", {
class: "fv-grid-header-right-fixed"
}, [O("div", {
class: "fv-grid-header-columns",
style: L.value
}, [it(B.value.rightHeaderColumns)])]);
}
function Ie(we) {
P.value = !1;
const $e = b.value.map((je) => je.raw), Re = m(_.value, $e);
we ? (h(), Re.forEach((je) => {
y(je);
})) : (S(), Re.forEach((je) => {
p(je);
}));
}
A(() => F.value.length > 0 && b.value.length !== F.value.length);
function Ge() {
return O("div", {
class: "fv-grid-header-corner d-flex",
style: $.value
}, [I.value && T.value && !n.hierarchy && O("div", {
class: "d-inline-flex align-items-center"
}, [O(mn, {
id: "checkbox_for_select_all",
checked: x.value,
"onUpdate:checked": (we) => x.value = we,
indeterminate: P.value,
onChangeValue: Ie
}, null)]), I.value && !T.value && !n.hierarchy && O("div", {
class: "d-inline-flex align-items-center",
style: {
opacity: "0"
}
}, [O(mn, {
disabled: !0
}, null)]), E.value && O("div", {
class: "d-inline-flex align-items-center"
}, [O("div", {
class: {
"text-center": !0,
"text-truncate": n.rowNumber.showEllipsis,
"w-100": n.rowNumber.showEllipsis
}
}, [D.value])])]);
}
function Be() {
return O("div", {
class: ue.value,
style: Y.value
}, [fe.value && Ge(), W.value && te(), O("div", {
class: "fv-grid-header-primary"
}, [O("div", {
class: "fv-grid-header-columns",
style: X.value
}, [it(B.value.primaryHeaderColumns)])]), V.value && ke()]);
}
function ct() {
return O($t, null, [O("div", {
class: "fv-datagrid-resize-overlay",
style: R.value
}, null), O("div", {
class: "fv-datagrid-resize-proxy",
style: N.value
}, null)]);
}
return {
renderGridHeader: Be,
renderGridColumnResizeOverlay: ct,
shouldShowHeader: We
};
}
function wm() {
function n() {
return O("div", {
class: "fv-grid-disable"
}, null);
}
return {
renderDisableMask: n
};
}
function Cm(n, t, e, r, o) {
const {
columnContext: a
} = t, {
conditions: i,
clearCondition: s,
removeCondition: l
} = r, u = M([]);
function c() {
const k = [];
Array.from(i.value).forEach((C, f) => {
var m;
const b = {
id: C.id,
code: C.fieldCode,
labelCode: C.fieldCode,
name: C.fieldName,
editor: {
type: (m = C.value) == null ? void 0 : m.editorType
}
};
k.push(b);
}), u.value = k;
}
Fe(i, () => c());
function d(k) {
if (k && k.column) {
k.column.filter = null;
let C = k.status;
C = (C & U.filtered) === U.filtered ? C ^ U.filtered : C, k.status = C;
}
}
function v(k) {
l(`field_filter_${k}`);
const C = a.value.primaryHeaderColumns.find((f) => f.field === k);
d(C), e.refresh(), o.reCalculateVisualDataRows();
}
function w() {
s(), a.value.primaryHeaderColumns.forEach((k) => d(k)), e.refresh(), o.reCalculateVisualDataRows();
}
function g() {
return O("div", {
class: "fv-grid-filter-panel"
}, [O(co, {
data: i.value,
fields: u.value,
mode: "display-only",
"show-reset": !0,
onRemove: v,
onReset: w
}, null)]);
}
return {
renderFilterPanel: g
};
}
function _m(n, t, e, r, o) {
const {
dropOnGroupPanel: a,
groupColumnItems: i
} = e, {
groupFields: s,
shouldGroupingData: l,
showGroupPanel: u
} = r, c = M();
function d(g) {
s.value = g.map((k) => k.value), t.updateDataView(), o.reCalculateVisualDataRows();
}
function v(g) {
g.preventDefault();
}
function w() {
return l.value && u.value && O("div", {
class: "fv-grid-group-panel",
onDrop: a,
onDragover: v
}, [i.value && O(mt("f-tags"), {
ref: c,
style: "margin:0.375rem",
"tag-type": "default",
data: i.value,
"tag-style": "capsule",
"show-close": !0,
onChange: d
}, null)]);
}
return {
renderGroupPanel: w
};
}
function mi(n, t) {
var w;
const e = String(Date.now()), r = ((w = n.rowOption) == null ? void 0 : w.height) || 28, o = M(t.value.primaryColumnsWidth);
function a(g) {
const k = {};
return g.reduce(
(C, f, b) => {
const m = b < g.length - 1 ? g[b + 1] : null;
return b === 0 && (C[f.field] = { left: 0 }), f.actualWidth !== void 0 && (C[f.field].width = f.actualWidth), m && (C[m.field] = {
left: C[f.field].left + (f.actualWidth || 0)
}), C;
},
k
), k;
}
function i(g, k, C) {
const f = r * (C + 1), m = k[g.field].left - f + (k[g.field].width || 0), _ = g.parent.height ? `${g.parent.height}px` : "";
return {
left: `${f}px`,
width: `${m}px`,
height: `${_}`
};
}
function s(g, k, C) {
return {
right: "0px",
height: `${g.parent.height ? `${g.parent.height}px` : ""}`
};
}
function l(g, k) {
const C = g.parent.height ? `${g.parent.height}px` : "";
return {
left: `${k[g.field].left}px`,
height: `${C}`,
width: isNaN(Number(k[g.field].width)) ? "100%" : `${k[g.field].width}px`
};
}
function u(g, k, C) {
const b = (k.spanned || []).reduce((_, T) => _ + (T.parent.height || 0), 0) + (g.height || 0);
return {
top: `${g.top}px`,
left: `${C[k.field].left}px`,
width: `${C[k.field].width}px`,
height: `${b}px`,
padding: `calc(${b / 2}px - 1rem) 0`
// height: `calc(${rowHeight}px * ${cell.rowSpan})`,
// padding: `calc(${rowHeight * cell.rowSpan / 2}px - 1rem) 0`
};
}
function c(g, k) {
return `${e}_${g.type}_r_${g.index}_c_${k}_${g.refreshKey || ""}`;
}
function d(g) {
return `${e}_${g.type}_r_${g.index}_${g.refreshKey || ""}`;
}
function v(g) {
const k = g.height ? `${g.height}px` : "";
return {
top: `${g.top}px`,
width: isNaN(o.value) ? "100%" : `${o.value}px`,
height: `${k}`
};
}
return Fe(t, () => {
o.value = t.value.primaryColumnsWidth;
}), {
calculateCellPositionInRow: a,
cellKey: c,
cellPosition: l,
groupCellPosition: i,
rowKey: d,
rowPosition: v,
rowSpanCellPosition: u,
summaryCellPosition: s
};
}
function hi(n, t, e) {
const { hasChildrenField: r } = e, o = M("#9399a0"), a = M(28);
function i() {
return [].concat(
...t.value.filter((v) => v.raw.__fv_descendant_index__.length !== 0).map((v) => [...v.raw.__fv_descendant_index__.slice(-1)]).flat()
).sort((v, w) => Number(v) - Number(w));
}
function s(c) {
const d = new Array(t.value.length).fill(0);
if (n.showLines) {
const v = i();
t.value.forEach((w, g) => {
const k = v.includes(g), C = w.raw[r.value];
d[g] = `repeating-linear-gradient(90deg, ${o.value} 0 1px, transparent 0px 2px) ${C ? "-10px" : "0px"} ${a.value / 2}px/20px 1px no-repeat,repeating-linear-gradient(${o.value} 0 1px, transparent 0px 2px) 0px 0px/1px ${k ? "50%" : "100%"} no-repeat`;
}), d[0] = "";
}
return d[c];
}
function l(c, d, v) {
return v[c].parents.set(c, !0).forEach((g) => {
v[g].childsLength = v[g].childWithLines.filter((k) => d[k].visible).length;
}), d;
}
function u(c) {
const w = c.raw.__fv_parent_index__ === void 0 || c.raw.__fv_parent_index__ === -1 ? 0 : 8, g = 0, k = c.raw[r.value], C = `${c.layer * 10 + c.layer * w + g}px`, f = c.visible || wt(c.visible) ? {
paddingLeft: `calc(${C} + 0.75rem)`,
// paddingLeft,
background: s(c.index),
display: "flex",
width: "100%",
position: "relative"
} : {
display: "none"
};
return k || (f.paddingLeft = `calc(${C} + 2rem)`), f;
}
return { hierarchyCellContentStyle: u, handleCollapsedPaddingBottom: l };
}
function pi(n, t, e) {
const r = M(n.iconField);
function o(a, i) {
if (r.value)
return a.raw[n.iconField];
let s = "";
return a.raw[e.value] !== !0 ? s = t.value.leafnodes : s = a.collapse ? t.value.fold : t.value.unfold, s;
}
return { treeNodeIconsClass: o };
}
function vi(n, t, e, r, o, a, i, s) {
const { dataView: l, hasRealChildren: u, reOrderVisibleIndex: c } = r, { collapseField: d, hasChildrenField: v } = o, { reCalculateVisualDataRows: w, updateVirticalScroll: g } = a;
function k(C) {
if (C.raw[v.value]) {
const b = l.value[C.raw.__fv_index__];
b[d.value] = !b[d.value], r.toggleChildrenVisibiltyByCollapseStatus(b), b[v.value] = u(b), c(), w(), g();
}
t.emit("expandNode", { row: C });
}
return { toggleTreeNode: k };
}
function gi(n) {
function t(o) {
return {};
}
function e(o) {
const { valign: a, align: i } = o;
return {
"d-flex": !0,
"h-100": !0,
"w-100": !0,
"justify-content-start": i !== "center" && i !== "right",
"justify-content-center": i === "center",
"justify-content-right": i === "right",
"align-items-start": a !== "middle" && a !== "bottom",
"align-items-center": a === "middle",
"align-items-end": a === "bottom"
};
}
function r(o) {
const { align: a, showEllipsis: i } = o;
return {
"w-100": !0,
"text-left": a !== "center" && a !== "right",
"text-center": a === "center",
"text-right": a === "right",
"text-truncate": i
};
}
return { cellContentPosition: t, cellContentClass: e, cellContentClassWithEllipsis: r };
}
function yi(n, t, e, r, o, a, i, s, l, u, c, d, v) {
const {
onClickCell: w
} = a, {
gridCellClass: g,
gridHierarchyCellClass: k,
gridRowClass: C,
onClickRow: f,
onMouseoverRow: b,
onMouseoutRow: m
} = s, {
enableMultiSelect: _,
select: T,
unSelect: y,
selectItem: p
} = l;
M(n.cellHeight);
const h = M(n.treeNodeIconsData || {}), {
hasChildrenField: S,
shouldShowCheckBox: F,
shouldShowIcon: x
} = i, {
toggleTreeNode: P
} = vi(n, t, r, o, i, c), {
toggleSelectHierarchyItem: E
} = u, {
cellKey: I,
cellPosition: D,
rowKey: $,
rowPosition: B
} = mi(n, e), {
cellContentClass: W,
cellContentPosition: V,
cellContentClassWithEllipsis: z
} = gi(), {
hierarchyCellContentStyle: N
} = hi(n, r, i), {
treeNodeIconsClass: R
} = pi(n, h, S);
function X(Y, re) {
const be = Y.raw[S.value];
return {
"fv-tree-node-toggle": be && Y.collapse,
"fv-tree-node-toggle-minus": be && !Y.collapse
};
}
function H(Y, re) {
Y.stopPropagation(), P(re);
}
function L(Y) {
Y.stopPropagation();
}
function G(Y, re) {
return O("div", {
class: X(Y),
onClick: (be) => H(be, Y),
onDblclick: L
}, null);
}
function K(Y, re) {
return x.value && O("div", {
id: "treeNodeIcons",
class: R(Y, re)
}, null);
}
function Z(Y) {
_.value ? (Y.checked ? T(Y) : y(Y), E(Y)) : p(Y);
}
function ee(Y, re) {
return F.value && O(mn, {
id: "checkbox_for_" + I(Y, re.index),
indeterminate: Y.indeterminate,
disabled: Y.disabled,
checked: Y.checked,
"onUpdate:checked": (be) => Y.checked = be,
onChange: () => Z(Y)
}, null);
}
function fe(Y, re) {
return O("span", {
title: re.data,
style: "user-select:none"
}, [t.slots.cellTemplate ? t.slots.cellTemplate({
cell: re,
row: Y
}) : re.mode === Ke.editing ? re.getEditor(re) : re.formatter ? re.formatter(re, Y) : re.data != null ? re.data.toString() : re.data]);
}
function ge(Y, re) {
return O("div", {
class: z(re)
}, [re.showTips ? O(Dn, null, {
default: () => fe(Y, re),
contentTemplate: () => fe(Y, re)
}) : fe(Y, re)]);
}
function _e(Y, re, be) {
const Ee = N(Y);
return O("div", {
ref: re.setRef,
key: I(Y, re.index),
class: "fv-grid-hierarchy-cell",
style: D(re, be)
}, [O("div", {
class: W(re),
style: Ee
}, [G(Y), K(Y, re), ee(Y, re), ge(Y, re)])]);
}
function De(Y, re, be) {
return O("div", {
ref: re.setRef,
key: I(Y, re.index),
class: g(re),
style: D(re, be),
onClick: (Ee) => w(Ee, re, Y, re.column)
}, [O("div", {
class: W(re)
}, [O("div", {
class: z(re)
}, [re.showTips ? O(Dn, null, {
default: () => fe(Y, re),
contentTemplate: () => fe(Y, re)
}) : fe(Y, re)])])]);
}
function We(Y, re) {
return re === "left" && e.value.leftColumns.length > 0 && e.value.leftColumns[0].field === Y.field || re === "primary" && e.value.primaryColumns.length > 0 && e.value.primaryColumns[0].field === Y.field;
}
function Q(Y, re) {
t.emit("dblclickNode", {
$event: Y,
node: re.raw
});
}
function ue(Y, re, be = "primary", Ee) {
return O("div", {
ref: Y.setRef,
key: $(Y),
class: C(Y, Ee),
style: B(Y),
onMouseover: (Pe) => b(Pe, Y),
onMouseout: (Pe) => m(Pe, Y),
onClick: (Pe) => f(Pe, Y),
onDblclick: (Pe) => Q(Pe, Y)
}, [Object.values(Y.data).filter((Pe) => re[Pe.field] && Pe.rowSpan === 1).map((Pe) => We(Pe, be) ? _e(Y, Pe, re) : De(Y, Pe, re))]);
}
return {
renderDataRow: ue
};
}
function bi(n, t, e) {
const {
horizontalScrollThumbStyle: r,
onMouseDownScrollThumb: o,
shouldShowHorizontalScrollbar: a
} = e;
function i() {
return a.value && O("div", {
class: "fv-grid-horizontal-scroll"
}, [O("div", {
class: "fv-grid-horizontal-scroll-thumb",
style: r.value,
onMousedown: (s) => o(s, t, "horizontal")
}, null)]);
}
return {
renderHorizontalScrollbar: i
};
}
function xm(n, t, e, r, o) {
const {
pageIndex: a,
totalItems: i,
updatePageSize: s
} = e, l = M(), {
pageSize: u,
pageList: c,
showGotoPage: d,
showPageIndex: v,
showPageList: w,
mode: g,
disabled: k,
shouldRenderPagination: C
} = o;
function f(T) {
const {
pageIndex: y,
pageSize: p
} = T;
C.value && g.value !== "server" && (e.navigatePageTo(y), r.resetScroll()), t.emit("pageIndexChanged", {
pageIndex: y,
pageSize: p
});
}
function b(T) {
const {
pageIndex: y,
pageSize: p
} = T;
C.value && g.value !== "server" ? (e.changePageSizeTo(p), r.resetScroll()) : s(p), t.emit("pageSizeChanged", {
pageIndex: y,
pageSize: p
});
}
function m(T) {
const {
pageIndex: y,
pageSize: p
} = T;
C.value && g.value !== "server" ? (e.navigatePageTo(y), r.resetScroll()) : s(p), t.emit("changed", {
pageIndex: y,
pageSize: p
});
}
function _() {
return O("div", {
class: "fv-datagrid-pagination position-relative"
}, [O(Kn, {
ref: l,
mode: "default",
disabled: k.value,
currentPage: a.value,
"onUpdate:currentPage": (T) => a.value = T,
pageSize: u.value,
"onUpdate:pageSize": (T) => u.value = T,
showGoButton: d.value,
showPageList: w.value,
showPageNumbers: v.value,
totalItems: i.value,
pageList: c.value,
onPageIndexChanged: f,
onPageSizeChanged: b,
onChanged: m
}, null)]);
}
return {
renderDataGridPagination: _
};
}
function Sm(n, t, e, r, o) {
const {
isSelectingHirarchyItem: a,
multiSelectOnClickRow: i,
multiSelectOnlyOnCheck: s,
updateSelectAllStatus: l,
selectItem: u,
toggleSelectItem: c,
toggleSelectItemWithoutRow: d
} = e, {
onMouseoverRow: v,
sidebarRowClass: w,
onClickRow: g
} = t, {
showRowNumer: k,
showSidebarCheckBox: C,
sidebarCellPosition: f,
rowKey: b,
cellKey: m
} = r, {
gridSideStyle: _
} = o;
function T(P) {
P.stopPropagation();
}
function y(P, E) {
P.stopPropagation(), g(P, E);
}
function p(P) {
return O("div", {
class: "d-inline-flex flex-fill"
}, [O("div", {
class: "custom-control custom-checkbox f-checkradio-single",
style: "margin:0;padding-left:0.5rem"
}, [Gn(O("input", {
id: m(P),
title: m(P),
type: "checkbox",
indeterminate: P.indeterminate,
disabled: P.disabled,
"onUpdate:modelValue": (E) => P.checked = E,
class: "custom-control-input"
}, null), [[qr, P.checked]]), O("label", {
class: "custom-control-label",
for: m(P),
onClick: T
}, null)])]);
}
function h(P) {
return O("div", {
class: "fv-grid-sidebar-row-number justify-content-center flex-fill",
style: "padding:0",
onClick: (E) => {
y(E, P);
},
onMouseover: (E) => v(E, P)
}, [O("div", {
title: P.dataIndex,
class: {
"text-center": !0,
"text-truncate": n.rowNumber.showEllipsis,
"w-100": n.rowNumber.showEllipsis
}
}, [P.dataIndex])]);
}
function S(P, E, I) {
P.stopPropagation(), a.value ? i.value ? c(I) : u(I) : i.value ? c(I) : s.value ? d(I) : u(I), l();
}
function F(P) {
return (C.value || k.value) && P.value.map((E, I) => O("div", {
key: b(E),
class: w(E, I),
style: f(E),
onClick: (D) => S(D, P, E)
}, [C.value && !n.hierarchy && p(E), k.value && h(E)]));
}
function x(P) {
return (C.value || k.value) && O("div", {
class: "fv-grid-content-side"
}, [O("div", {
class: "fv-grid-side",
style: _.value
}, [F(P)])]);
}
return {
renderDataGridSidebar: x
};
}
function Tm(n, t, e) {
const {
columnContext: r
} = e, o = M(n.summary), a = A(() => {
const s = o.value;
return s && s.enable && s.groupFields && s.groupFields.length > 0;
});
function i() {
return a.value && O("div", {
class: "fv-datagrid-summary"
}, [O("div", {
class: "fv-datagird-summary-panel"
}, [O("span", {
class: "fv-datagrid-summary-title"
}, [tt("当页合计")]), O("div", {
class: "fv-datagrid-summary-content"
}, [r.value.summaryColumns.map((s) => O("div", {
class: "fv-datagrid-summary-field"
}, [O("span", {
class: "fv-datagrid-summary-field-title"
}, [`${s.title}:`]), O("span", {
class: "fv-datagrid-summary-field-value"
}, [t.summaries.get(s.field)])]))])])]);
}
return {
renderDataGridSummery: i
};
}
function km(n, t, e) {
const {
verticalScrollThumbStyle: r,
onMouseDownScrollThumb: o,
shouldShowVirticalScrollbar: a
} = e;
function i() {
return a.value && O("div", {
class: "fv-grid-vertical-scroll"
}, [O("div", {
class: "fv-grid-vertical-scroll-thumb",
style: r.value,
onMousedown: (s) => o(s, t, "vertical")
}, null)]);
}
return {
renderVerticalScrollbar: i
};
}
function wi() {
function n(r, o) {
switch (r.command) {
case "edit":
case "remove":
return o.status === xt.initial;
case "accept":
case "cancel":
return o.status === xt.editing;
default:
return !r.hidden;
}
}
function t(r, o, a) {
switch (r.onClick(o, a.dataIndex, a), r.command) {
case "edit":
a.status, xt.editing;
break;
case "accept":
case "cancel":
a.status, xt.initial;
break;
}
}
function e(r, o) {
return r.commands && r.commands.map((a) => n(a, o) && O(mo, {
class: "ml-2",
type: a.type,
size: a.size || "small",
onClick: (i) => t(a, i, o),
style: {
"margin-bottom": "3px"
}
}, {
default: () => [tt(" "), a.text, tt(" ")]
}));
}
return {
renderCommandColumn: e
};
}
function Fm(n) {
function t() {
return O("div", {
class: "f-datagrid-norecords"
}, [O("div", {
class: "f-datagrid-norecords-content",
style: "margin: 0;width: 100%;position: absolute; top: 50%; transform:translateY(-50%);user-select:none"
}, [tt(" "), n.slots.empty && n.slots.empty() || "暂无数据"])]);
}
return {
renderEmpty: t
};
}
function Ci(n) {
const t = M(n.minHeight), e = M(n.minWidth), r = M(n.height), o = M(n.width), a = A(() => r.value <= 0 ? 0 : Math.max(r.value, t.value)), i = A(() => o.value <= 0 ? 0 : Math.max(o.value, e.value));
return Fe([
() => n.height,
() => n.width,
() => n.minHeight,
() => n.minWidth
], ([l, u, c, d]) => {
t.value = Number(c), e.value = Number(d), r.value = Number(l), o.value = Number(u);
}), { containerStyleObject: A(() => ({
height: a.value > 0 ? `${a.value}px` : n.fit ? "100%" : "",
width: i.value > 0 ? `${i.value}px` : n.fit ? "100%" : "",
flex: "1 1 0"
})) };
}
const _i = "";
function Em(n) {
const r = M({
defaultColumnWidth: 120,
headerDepth: 1,
leftColumns: [],
leftColumnsMap: /* @__PURE__ */ new Map(),
leftColumnsWidth: 0,
leftHeaderColumns: [],
primaryColumns: [],
primaryColumnsMap: /* @__PURE__ */ new Map(),
primaryColumnsWidth: 0,
primaryHeaderColumns: [],
rightColumns: [],
rightColumnsMap: /* @__PURE__ */ new Map(),
rightColumnsWidth: 0,
rightHeaderColumns: [],
summaryColumns: []
});
function o() {
r.value = {
defaultColumnWidth: 120,
headerDepth: 1,
leftColumns: [],
leftColumnsMap: /* @__PURE__ */ new Map(),
leftColumnsWidth: 0,
leftHeaderColumns: [],
primaryColumns: [],
primaryColumnsMap: /* @__PURE__ */ new Map(),
primaryColumnsWidth: 0,
primaryHeaderColumns: [],
rightColumns: [],
rightColumnsMap: /* @__PURE__ */ new Map(),
rightColumnsWidth: 0,
rightHeaderColumns: [],
summaryColumns: []
};
}
const a = M(n.summary), i = A(() => {
const m = a.value;
return (m == null ? void 0 : m.groupFields) || [];
});
function s() {
r.value.rightColumns.forEach((T) => {
T.showSetting = !1;
}), r.value.primaryColumns.forEach((T) => {
T.showSetting = !1;
});
const m = r.value.rightColumns.filter((T) => T.visible), _ = r.value.primaryColumns.filter((T) => T.visible);
m.length > 0 ? m[m.length - 1].showSetting = !0 : _.length > 0 && (_[_.length - 1].showSetting = !0);
}
function l(m) {
o();
const _ = /* @__PURE__ */ new Map();
return i.value && i.value.reduce((T, y) => (T.set(y, !0), T), _), m.reduce((T, y) => (y.visible = y.visible !== !1, y.filter = y.filter || _i, y.fixed === "left" ? (r.value.leftColumns.push(y), r.value.leftColumnsMap.set(y.field, y), r.value.leftColumnsWidth += y.actualWidth) : y.fixed === "right" ? (r.value.rightColumns.push(y), r.value.rightColumnsMap.set(y.field, y), r.value.rightColumnsWidth += y.actualWidth) : (r.value.primaryColumns.push(y), r.value.primaryColumnsMap.set(y.field, y), r.value.primaryColumnsWidth += y.actualWidth), _.has(y.field) && r.value.summaryColumns.push(y), T), r), s(), r;
}
l(n.columns);
const u = A(() => r.value.leftColumns.length > 0), c = A(() => r.value.rightColumns.length > 0);
function d(m, _) {
return _.sortable && _.sort && _.sort !== "none" && m.push(_), m;
}
function v(m, _) {
return m.sortOrder = m.sortOrder || 0, _.sortOrder = _.sortOrder || 0, m.sortOrder === _.sortOrder ? 0 : m.sortOrder < _.sortOrder ? -1 : 1;
}
function w(m, _) {
return m.sortOrder = m.sortOrder || 0, _.sortOrder = _.sortOrder || 0, m.sortOrder === _.sortOrder ? 0 : m.sortOrder < _.sortOrder ? 1 : -1;
}
function g(m, _) {
return _.filterable && m.push(_), m;
}
function k() {
const m = [];
return r.value.leftColumns.reduce(g, m), r.value.primaryColumns.reduce(g, m), r.value.rightColumns.reduce(g, m), m;
}
function C() {
const m = [];
r.value.leftColumns.reduce(d, m), r.value.primaryColumns.reduce(d, m), r.value.rightColumns.reduce(d, m);
const _ = Math.max(...m.map((T) => T.sortOrder || 0));
return m.sort(w).map((T) => {
const y = T.sortOrder || _ + 1;
return T.sortOrder = y, T;
}).sort(v).map((T, y) => {
const p = y + 1;
return T.sortOrder = p, T;
});
}
function f(m, _, T) {
const y = m.map((p) => {
const h = T.getSorterByColumn(p), S = p.sort === "asc", F = p.sort === "desc", x = S ? h.ascend : F ? h.decend : void 0;
return { field: p.field, compare: x };
});
_.setSorters(y);
}
function b(m, _) {
const T = C();
f(T, m, _);
}
return {
applyColumnSorter: b,
collectionFilterableColumns: k,
applySortableColumns: f,
collectionSortableColumns: C,
columnContext: r,
hasLeftFixedColumn: u,
hasRightFixedColumn: c,
updateColumnRenderContext: l,
updateColumnSettingIcon: s
};
}
const xi = [{
name: "是",
value: !0
}, {
name: "否",
value: !1
}];
function Si(n) {
var i, s;
M(((i = n.column) == null ? void 0 : i.filter) || !1), n.filter = n.filter || function(l) {
var c;
return String(((c = n.column) == null ? void 0 : c.filter) || "").split(",").includes(String(l[n.field]));
};
const t = ",", e = {
multiSelect: !0,
multiSelectMode: "OnCheckAndClick",
showCheckbox: !0
};
function r(l) {
return (l == null ? void 0 : l.split(t).filter((u) => u !== "").map((u) => u.toLowerCase() === "true")) || [];
}
function o(l) {
return l.map((c) => c.value).join(t);
}
function a(l) {
n.column && (n.column.filter = o(l));
}
return O(mt("f-list-view"), {
data: xi,
"multi-select": !0,
"id-field": "value",
"value-field": "value",
view: "SingleView",
size: "Small",
selection: e,
"selection-values": r(((s = n.column) == null ? void 0 : s.filter) || ""),
onSelectionChange: (l) => a(l)
}, {
default: () => [tt(" ")]
});
}
const Ti = M([{
name: "七天",
selectable: !0
}, {
name: "一个月",
selectable: !0
}, {
name: "三个月",
selectable: !0
}, {
name: "半年",
selectable: !0
}]);
function ki(n) {
var o;
const t = M(!1), e = M(((o = n.column) == null ? void 0 : o.filter) || "");
n.filter = n.filter || function(a) {
var s;
const i = new Date(new Date((s = n.column) == null ? void 0 : s.filter).toLocaleDateString()).valueOf();
return new Date(new Date(a[n.field]).toLocaleDateString()).valueOf()