@progress/kendo-react-data-tools
Version:
Includes React Pager & React Filter component, an intuitive interface to create complex filter descriptions. KendoReact Data Tools package
44 lines (43 loc) • 2.13 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { clone as _ } from "@progress/kendo-react-common";
var d = /* @__PURE__ */ ((E) => (E.ENTER_EDIT = "EDITING_ENTER_EDIT", E.ENTER_FIELD_EDIT = "EDITING_ENTER_FIELD_EDIT", E.ADD_EDIT = "EDITING_ADD_EDIT", E.ADD_FIELD_EDIT = "EDITING_ADD_FIELD_EDIT", E.EXIT_EDIT = "EDITING_EXIT_EDIT", E.EXIT_FIELD_EDIT = "EDITING_EXIT_FIELD_EDIT", E.TOGGLE_EDIT = "EDITING_TOGGLE_EDIT", E.TOGGLE_FIELD_EDIT = "EDITING_TOGGLE_FIELD_EDIT", E))(d || {});
const T = (E = {}, I) => {
switch (I.type) {
case "EDITING_ENTER_EDIT":
return { [I.payload.id]: !0 };
case "EDITING_ENTER_FIELD_EDIT":
return { [I.payload.id]: [I.payload.field] };
case "EDITING_ADD_EDIT":
return { ...E, [I.payload.id]: !0 };
case "EDITING_ADD_FIELD_EDIT":
return {
...E,
[I.payload.id]: Array.isArray(E[I.payload.id]) ? [...E[I.payload.id], I.payload.field] : [I.payload.field]
};
case "EDITING_EXIT_EDIT": {
const D = _(E);
return delete D[I.payload.id], D;
}
case "EDITING_EXIT_FIELD_EDIT":
return {
...E,
[I.payload.id]: Array.isArray(E[I.payload.id]) ? E[I.payload.id].filter((D) => D !== I.payload.field) : []
};
case "EDITING_TOGGLE_EDIT":
return Object.keys(E).includes(I.payload.id) && E[I.payload.id] ? T(E, { type: "EDITING_EXIT_EDIT", payload: I.payload }) : T(E, { type: "EDITING_ENTER_EDIT", payload: I.payload });
case "EDITING_TOGGLE_FIELD_EDIT":
return Object.keys(E).includes(I.payload.id) && Array.isArray(E[I.payload.id]) ? T(E, { type: "EDITING_EXIT_FIELD_EDIT", payload: I.payload }) : T(E, { type: "EDITING_ENTER_FIELD_EDIT", payload: I.payload });
default:
return E;
}
};
export {
d as EDIT_ACTION,
T as editReducer
};