@progress/kendo-vue-grid
Version:
115 lines (114 loc) • 3.91 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 b, ref as j, computed as n, watch as u, provide as q } from "vue";
import { KendoKey as z } from "./key.mjs";
import { gridProps as B } from "./common.mjs";
import { getDefaultSlots as H } from "@progress/kendo-vue-common";
const N = /* @__PURE__ */ b({
name: "KendoVueGridStateProvider",
inheritAttrs: !1,
props: B,
setup(e, {
emit: l
}) {
var d, c, o, g, h, r, i, s, f;
const t = j({
// edit: props.defaultEdit ?? props.edit,
filter: (d = e.defaultFilter) != null ? d : e.filter,
highlight: e.highlight,
// select: props.defaultSelect ?? props.select,
search: (c = e.defaultSearch) != null ? c : e.search,
sort: (o = e.defaultSort) != null ? o : e.sort,
take: (g = e.defaultTake) != null ? g : e.take,
skip: (h = e.defaultSkip) != null ? h : e.skip,
group: (r = e.defaultGroup) != null ? r : e.group,
detailExpand: (i = e.defaultDetailExpand) != null ? i : e.detailExpand,
groupExpand: (s = e.defaultGroupExpand) != null ? s : e.groupExpand,
columnsState: (f = e.defaultColumnsState) != null ? f : e.columnsState
}), x = (a) => {
t.value = {
...t.value,
...a.data
}, l("datastatechange", a);
}, v = n(() => e.filter || t.value.filter || null), S = (a) => {
t.value.filter = a.filter, l("filterchange", a);
};
u(() => e.filter, (a) => {
t.value.filter = a;
});
const E = n(() => e.search || t.value.search || null), k = (a) => {
t.value.search = a.search, t.value.skip = 0, l("searchchange", a);
};
u(() => e.search, (a) => {
t.value.search = a;
});
const m = n(() => e.sort || t.value.sort || []), C = (a) => {
t.value.sort = a.sort, l("sortchange", a);
};
u(() => e.sort, (a) => {
t.value.sort = a;
});
const G = n(() => e.skip || t.value.skip), p = n(() => e.take || t.value.take), D = (a) => {
t.value.skip = a.page.skip, t.value.take = a.page.take, l("pagechange", a);
};
u(() => e.skip, (a) => {
t.value.skip = a;
}), u(() => e.take, (a) => {
t.value.take = a;
});
const P = n(() => e.group || t.value.group || []), K = (a) => {
t.value.group = a.group, l("groupchange", a);
};
u(() => e.group, (a) => {
t.value.group = a;
});
const F = n(() => e.detailExpand || t.value.detailExpand || {}), w = (a) => {
t.value.detailExpand = a.detailExpand, l("detailexpandchange", a);
};
u(() => e.detailExpand, (a) => {
t.value.detailExpand = a;
});
const y = n(() => e.groupExpand || t.value.groupExpand || []), A = (a) => {
t.value.groupExpand = a.groupExpand, l("groupexpandchange", a);
};
u(() => e.groupExpand, (a) => {
t.value.groupExpand = a;
});
const T = n(() => e.columnsState || e.defaultColumnsState || []), V = (a) => {
t.value.columnsState = a.columnsState, l("columnsstatechange", a);
};
u(() => e.columnsState, (a) => {
t.value.columnsState = a;
}), q(z, {
sort: m,
sortchange: C,
filter: v,
filterchange: S,
search: E,
searchchange: k,
skip: G,
take: p,
pagechange: D,
group: P,
groupchange: K,
detailExpand: F,
detailexpandchange: w,
groupExpand: y,
groupexpandchange: A,
columnsState: T,
columnsstatechange: V,
datastatechange: x
});
},
render() {
return H(this);
}
});
export {
N as GridStateProvider
};