@uxf/cms 10.0.10 → 11.0.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -22,10 +22,10 @@ export declare function useSubMenu(options: SubMenuOptions): {
22
22
  floating: HTMLElement | null;
23
23
  } & import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
24
24
  context: {
25
- x: number;
26
- y: number;
27
25
  placement: import("@floating-ui/utils").Placement;
28
26
  strategy: import("@floating-ui/utils").Strategy;
27
+ x: number;
28
+ y: number;
29
29
  middlewareData: import("@floating-ui/core").MiddlewareData;
30
30
  isPositioned: boolean;
31
31
  update: () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uxf/cms",
3
- "version": "10.0.10",
3
+ "version": "11.0.0-beta.1",
4
4
  "description": "UXF Cms",
5
5
  "author": "UXFans <dev@uxf.cz>",
6
6
  "homepage": "https://gitlab.com/uxf-npm/cms#readme",
@@ -31,7 +31,7 @@
31
31
  "@floating-ui/react": "0.26.0",
32
32
  "@redux-devtools/extension": "3.2.5",
33
33
  "@uxf/core": "10.0.0",
34
- "@uxf/data-grid": "10.0.7",
34
+ "@uxf/data-grid": "11.0.0-beta.1",
35
35
  "@uxf/form": "10.0.9",
36
36
  "@uxf/router": "10.0.0",
37
37
  "@uxf/ui": "10.0.7",
@@ -28,7 +28,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.GridPage = exports.dataGridLoader = void 0;
30
30
  const data_grid_1 = require("@uxf/data-grid");
31
- const tailwindui_1 = require("@uxf/data-grid/tailwindui");
31
+ const use_data_grid_control_1 = require("@uxf/data-grid/use-data-grid-control");
32
+ const use_data_grid_fetching_1 = require("@uxf/data-grid/use-data-grid-fetching");
32
33
  const router_1 = require("@uxf/router");
33
34
  const context_1 = require("@uxf/ui/context");
34
35
  const icon_1 = require("@uxf/ui/icon");
@@ -41,7 +42,6 @@ const config_1 = require("../../config");
41
42
  const with_authenticate_1 = require("../../deprecated/hoc/with-authenticate");
42
43
  const api_2 = require("../../lib/api");
43
44
  const get_initial_props_helper_1 = require("./get-initial-props-helper");
44
- const use_hidden_columns_1 = require("./use-hidden-columns");
45
45
  const { axiosRequest } = (0, api_2.createAxiosInstance)();
46
46
  const dataGridLoader = (gridName, request) => {
47
47
  return axiosRequest(null, `/api/cms/datagrid/${gridName}`, "get", null, request).then((r) => r.data);
@@ -49,13 +49,11 @@ const dataGridLoader = (gridName, request) => {
49
49
  exports.dataGridLoader = dataGridLoader;
50
50
  const DefaultLayout = (props) => react_1.default.createElement("div", { ...props });
51
51
  const GridPageComponent = (props) => {
52
- var _a, _b;
52
+ var _a, _b, _c, _d, _e, _f, _g, _h;
53
53
  // eslint-disable-next-line react/destructuring-assignment
54
- const { ui = {}, metaSchema, entityAlias, gridSchema, getOpenUrl, getEditUrl, onOpen, onAdd, onEdit, onRemove, query, initialHiddenColumns, loader, title, rowHeight, defaultConfig, AddIcon = react_1.default.createElement(icon_1.Icon, { name: "plus" }), onAddTitle = "Přidat záznam", selectable, customActions = [], } = props;
55
- const hiddenColumnProps = (0, use_hidden_columns_1.useHiddenColumns)(entityAlias, initialHiddenColumns);
56
- const [selectedRows, setSelectedRows] = (0, react_1.useState)(new Set());
57
- const { Layout = DefaultLayout, ...dataGridUi } = ui;
58
- const uiContextValues = (0, react_1.useContext)(context_1.UiContext);
54
+ const { metaSchema, entityAlias, gridSchema, getOpenUrl, getEditUrl, onOpen, onAdd, onEdit, onRemove, query, rowHeight, AddIcon = react_1.default.createElement(icon_1.Icon, { name: "plus" }), onAddTitle = "Přidat záznam", customActions = [], } = props;
55
+ const Layout = (_b = (_a = props.ui) === null || _a === void 0 ? void 0 : _a.Layout) !== null && _b !== void 0 ? _b : DefaultLayout;
56
+ const { state, actions } = (0, use_data_grid_control_1.useDataGridControl)(props.gridSchema, query.filter ? (0, router_1.queryParamToString)(query.filter) : undefined);
59
57
  const universalLoader = (0, react_1.useCallback)((gridName, request, encodedRequest) => {
60
58
  var _a, _b;
61
59
  const response = (0, exports.dataGridLoader)(gridName !== null && gridName !== void 0 ? gridName : "", request);
@@ -65,10 +63,11 @@ const GridPageComponent = (props) => {
65
63
  router_2.default.replace(`${(0, url_1.parse)(((_a = window.history.state) === null || _a === void 0 ? void 0 : _a.url) || "").pathname}?${(0, qs_1.stringify)(newQuery)}`, `${(0, url_1.parse)(((_b = window.history.state) === null || _b === void 0 ? void 0 : _b.as) || "").pathname}?${(0, qs_1.stringify)(newQuery)}`, { shallow: true });
66
64
  return response;
67
65
  }, [query]);
68
- const callbackRef = (0, data_grid_1.useCallbackRef)();
66
+ const { data, isLoading, error, onReload } = (0, use_data_grid_fetching_1.useDataGridFetching)((_c = props.loader) !== null && _c !== void 0 ? _c : universalLoader, props.gridSchema, (_e = (_d = props.metaSchema) === null || _d === void 0 ? void 0 : _d.entityAlias) !== null && _e !== void 0 ? _e : "", state);
67
+ const uiContextValues = (0, react_1.useContext)(context_1.UiContext);
69
68
  const actionsBag = (0, react_1.useMemo)(() => ({
70
- reload: () => { var _a; return (_a = callbackRef.current) === null || _a === void 0 ? void 0 : _a.reload(); },
71
- }), [callbackRef]);
69
+ reload: onReload,
70
+ }), [onReload]);
72
71
  const hasOnAdd = onAdd && (!metaSchema || metaSchema.actions.includes("add"));
73
72
  const cActions = [
74
73
  ...customActions,
@@ -82,14 +81,14 @@ const GridPageComponent = (props) => {
82
81
  }
83
82
  : undefined,
84
83
  ].filter(Boolean);
85
- return (react_1.default.createElement(Layout, { key: entityAlias, title: (_a = title !== null && title !== void 0 ? title : metaSchema === null || metaSchema === void 0 ? void 0 : metaSchema.title) !== null && _a !== void 0 ? _a : "" },
84
+ return (react_1.default.createElement(Layout, { key: entityAlias, title: (_g = (_f = props.title) !== null && _f !== void 0 ? _f : metaSchema === null || metaSchema === void 0 ? void 0 : metaSchema.title) !== null && _g !== void 0 ? _g : "" },
86
85
  react_1.default.createElement("div", { className: "mb-10" },
87
- react_1.default.createElement(tailwindui_1.DataGrid, { noBorder: true, callbackRef: callbackRef, schema: gridSchema, initialState: query.filter ? (0, router_1.queryParamToString)(query.filter) : undefined, title: title !== null && title !== void 0 ? title : metaSchema === null || metaSchema === void 0 ? void 0 : metaSchema.title, gridName: entityAlias, loader: loader !== null && loader !== void 0 ? loader : universalLoader, ...hiddenColumnProps, onOpen: onOpen && ((row) => onOpen(entityAlias, row, actionsBag)), getOpenUrl: getOpenUrl && ((row) => getOpenUrl(entityAlias, row)), onEdit: onEdit && ((row) => onEdit(entityAlias, row, actionsBag)), getEditUrl: getEditUrl && ((row) => getEditUrl(entityAlias, row)), onRemove: onRemove && ((row) => onRemove(entityAlias, row, actionsBag)), rowHeight: rowHeight, defaultConfig: defaultConfig, ui: dataGridUi, selectedRows: selectable ? selectedRows : undefined, onChangeSelectedRows: selectable ? setSelectedRows : undefined, customActions: cActions, mode: (_b = uiContextValues === null || uiContextValues === void 0 ? void 0 : uiContextValues.colorScheme.getUserSettings()) !== null && _b !== void 0 ? _b : "light", onCsvDownload: (r) => window.open(`/api/cms/datagrid/export/${entityAlias}?${(0, qs_1.stringify)(r)}`) }))));
86
+ react_1.default.createElement(data_grid_1.DataGrid, { state: state, actions: actions, data: data, isLoading: isLoading, error: error, onReload: onReload, noBorder: true, schema: gridSchema, gridName: entityAlias, onOpen: onOpen && ((row) => onOpen(entityAlias, row, actionsBag)), getOpenUrl: getOpenUrl && ((row) => getOpenUrl(entityAlias, row)), onEdit: onEdit && ((row) => onEdit(entityAlias, row, actionsBag)), getEditUrl: getEditUrl && ((row) => getEditUrl(entityAlias, row)), onRemove: onRemove && ((row) => onRemove(entityAlias, row, actionsBag)), rowHeight: rowHeight, ui: props.ui, customActions: cActions, mode: (_h = uiContextValues === null || uiContextValues === void 0 ? void 0 : uiContextValues.colorScheme.getUserSettings()) !== null && _h !== void 0 ? _h : "light", onCsvDownload: (r) => window.open(`/api/cms/datagrid/export/${entityAlias}?${(0, qs_1.stringify)(r)}`), isRowSelectable: props.selectable }))));
88
87
  };
89
88
  GridPageComponent.displayName = "GridPageComponent";
90
89
  const GridPage = (config) => {
91
90
  const Component = (props) => {
92
- return (react_1.default.createElement(GridPageComponent, { ...props, AddIcon: config.AddIcon, customActions: config.customActions, defaultConfig: config.defaultConfig, getEditUrl: config.getEditUrl, getOpenUrl: config.getOpenUrl, loader: config.loader, onAdd: config.onAdd, onAddTitle: config.onAddTitle, onEdit: config.onEdit, onOpen: config.onOpen, onRemove: config.onRemove, rowHeight: config.rowHeight, selectable: config.selectable, title: config.title, ui: config.ui }));
91
+ return (react_1.default.createElement(GridPageComponent, { ...props, AddIcon: config.AddIcon, customActions: config.customActions, getEditUrl: config.getEditUrl, getOpenUrl: config.getOpenUrl, loader: config.loader, onAdd: config.onAdd, onAddTitle: config.onAddTitle, onEdit: config.onEdit, onOpen: config.onOpen, onRemove: config.onRemove, rowHeight: config.rowHeight, selectable: config.selectable, title: config.title, ui: config.ui }));
93
92
  };
94
93
  Component.getInitialProps = async (ctx) => {
95
94
  const entityAlias = typeof config.entityAlias === "function" ? config.entityAlias(ctx) : config.entityAlias;
@@ -25,7 +25,6 @@ export type GridPageComponentProps = {
25
25
  gridSchema: Schema<any>;
26
26
  metaSchema?: EntityMetaSchema;
27
27
  rowHeight?: DataGridProps<any, any>["rowHeight"];
28
- defaultConfig?: DataGridProps<any, any>["defaultConfig"];
29
28
  AddIcon?: ReactElement;
30
29
  onAddTitle?: string;
31
30
  selectable?: boolean;
@@ -48,7 +47,6 @@ export type GridPageConfig<T extends object = any> = {
48
47
  allowedRoles?: string[];
49
48
  loader?: Loader;
50
49
  rowHeight?: DataGridProps<any, any>["rowHeight"];
51
- defaultConfig?: DataGridProps<any, any>["defaultConfig"];
52
50
  AddIcon?: ReactElement;
53
51
  onAddTitle?: string;
54
52
  selectable?: boolean;