@progress/kendo-vue-grid
Version:
135 lines (134 loc) • 4.88 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { defineComponent as L, ref as M, computed as l, watch as o, provide as N } from "vue";
import { KendoKey as O } from "./key.mjs";
import { gridProps as Q } from "./common.mjs";
import { getDefaultSlots as U } from "@progress/kendo-vue-common";
const _ = /* @__PURE__ */ L({
name: "KendoVueGridStateProvider",
inheritAttrs: !1,
props: Q,
setup(a, {
emit: n
}) {
var d, u, c, i, h, g, s, r, f, v, x, S;
const t = M({
// edit: props.defaultEdit ?? props.edit,
filter: (d = a.defaultFilter) != null ? d : a.filter,
highlight: a.highlight,
select: (u = a.defaultSelect) != null ? u : a.select,
search: (c = a.defaultSearch) != null ? c : a.search,
sort: (i = a.defaultSort) != null ? i : a.sort,
take: (h = a.defaultTake) != null ? h : a.take,
skip: (g = a.defaultSkip) != null ? g : a.skip,
group: (s = a.defaultGroup) != null ? s : a.group,
detailExpand: (r = a.defaultDetailExpand) != null ? r : a.detailExpand,
groupExpand: (f = a.defaultGroupExpand) != null ? f : a.groupExpand,
columnsState: (v = a.defaultColumnsState) != null ? v : a.columnsState,
pinnedTopRows: (x = a.defaultPinnedTopRows) != null ? x : a.pinnedTopRows,
pinnedBottomRows: (S = a.defaultPinnedBottomRows) != null ? S : a.pinnedBottomRows
}), w = (e) => {
t.value = {
...t.value,
...e.data
}, n("datastatechange", e);
}, m = l(() => a.filter || t.value.filter || null), E = (e) => {
t.value.filter = e.filter, n("filterchange", e);
};
o(() => a.filter, (e) => {
t.value.filter = e;
});
const k = l(() => a.search || t.value.search || null), R = (e) => {
t.value.search = e.search, t.value.skip = 0, n("searchchange", e);
};
o(() => a.search, (e) => {
t.value.search = e;
});
const p = l(() => a.select || t.value.select || null), C = (e) => {
t.value.select = e.select, n("selectionchange", e);
}, T = (e) => {
t.value.select = e.select, n("headerselectionchange", e);
}, B = l(() => a.sort || t.value.sort || []), P = (e) => {
t.value.sort = e.sort, n("sortchange", e);
};
o(() => a.sort, (e) => {
t.value.sort = e;
});
const G = l(() => a.skip || t.value.skip), D = l(() => a.take || t.value.take), K = (e) => {
t.value.skip = e.page.skip, t.value.take = e.page.take, n("pagechange", e);
};
o(() => a.skip, (e) => {
t.value.skip = e;
}), o(() => a.take, (e) => {
t.value.take = e;
});
const F = l(() => a.group || t.value.group || []), y = (e) => {
t.value.group = e.group, n("groupchange", e);
};
o(() => a.group, (e) => {
t.value.group = e;
});
const A = l(() => a.detailExpand || t.value.detailExpand || {}), H = (e) => {
t.value.detailExpand = e.detailExpand, n("detailexpandchange", e);
};
o(() => a.detailExpand, (e) => {
t.value.detailExpand = e;
});
const V = l(() => a.groupExpand || t.value.groupExpand || []), b = (e) => {
t.value.groupExpand = e.groupExpand, n("groupexpandchange", e);
};
o(() => a.groupExpand, (e) => {
t.value.groupExpand = e;
});
const j = l(() => a.columnsState || t.value.columnsState || []), q = (e) => {
t.value.columnsState = e.columnsState, n("columnsstatechange", e);
};
o(() => a.columnsState, (e) => {
t.value.columnsState = e;
});
const z = l(() => a.pinnedTopRows || t.value.pinnedTopRows || []), I = l(() => a.pinnedBottomRows || t.value.pinnedBottomRows || []), J = (e) => {
t.value.pinnedTopRows = e.pinnedTopRows, t.value.pinnedBottomRows = e.pinnedBottomRows, n("rowpinchange", e);
};
o(() => a.pinnedTopRows, (e) => {
t.value.pinnedTopRows = e;
}), o(() => a.pinnedBottomRows, (e) => {
t.value.pinnedBottomRows = e;
}), N(O, {
sort: B,
sortchange: P,
filter: m,
filterchange: E,
search: k,
searchchange: R,
skip: G,
take: D,
pagechange: K,
select: p,
selectionchange: C,
headerselectionchange: T,
group: F,
groupchange: y,
detailExpand: A,
detailexpandchange: H,
groupExpand: V,
groupexpandchange: b,
columnsState: j,
columnsstatechange: q,
datastatechange: w,
pinnedTopRows: z,
pinnedBottomRows: I,
rowpinchange: J
});
},
render() {
return U(this);
}
});
export {
_ as GridStateProvider
};