@trsys-tech/matrix-library 0.5.0-beta.1 → 0.5.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { default as React, HTMLAttributes } from 'react';
2
- import { AgGridReactProps } from 'ag-grid-react';
2
+ import { AgGridReact, AgGridReactProps } from 'ag-grid-react';
3
3
  import { GridApi, Theme, ThemeDefaultParams } from 'ag-grid-community';
4
4
  import { ButtonProps } from '../button/Button';
5
5
  import { IconButtonProps } from '../icon-botton/IconButton';
@@ -27,7 +27,9 @@ declare const DataGrid: React.FC<DataGridProps>;
27
27
  type DataGridContentProps = Omit<AgGridReactProps, "theme"> & {
28
28
  theme?: Theme;
29
29
  };
30
- declare const DataGridContent: React.FC<DataGridContentProps>;
30
+ declare const DataGridContent: React.ForwardRefExoticComponent<Omit<AgGridReactProps<any>, "theme"> & {
31
+ theme?: Theme;
32
+ } & React.RefAttributes<AgGridReact<any>>>;
31
33
  type DatagridActionBarProps = HTMLAttributes<HTMLDivElement> & {};
32
34
  declare const DataGridActionBar: React.FC<DatagridActionBarProps>;
33
35
  type SearchActionProps = HTMLAttributes<HTMLDivElement> & {
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../src/components/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../src/components/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
- import { jsx as r, jsxs as A } from "react/jsx-runtime";
2
- import t, { useMemo as N } from "react";
3
- import { AgGridReact as T } from "ag-grid-react";
4
- import { ModuleRegistry as k, AllCommunityModule as y, themeQuartz as F } from "ag-grid-community";
5
- import { Magnifier as G, CircleXmark as P, Snowflake as z, Print as I, Refresh as H, Trashcan as O, ElipsisVertical as L } from "@trsys-tech/matrix-icons";
6
- import { cn as w } from "./utils.es.js";
7
- import { printHtml as M } from "./printhtml.es.js";
8
- import { TextField as B } from "./textfield.es.js";
1
+ import { jsx as r, jsxs as S } from "react/jsx-runtime";
2
+ import t, { forwardRef as A, useMemo as T } from "react";
3
+ import { AgGridReact as k } from "ag-grid-react";
4
+ import { ModuleRegistry as y, AllCommunityModule as F, themeQuartz as P } from "ag-grid-community";
5
+ import { Magnifier as G, CircleXmark as z, Snowflake as I, Print as H, Refresh as O, Trashcan as L, ElipsisVertical as M } from "@trsys-tech/matrix-icons";
6
+ import { cn as x } from "./utils.es.js";
7
+ import { printHtml as B } from "./printhtml.es.js";
8
+ import { TextField as Q } from "./textfield.es.js";
9
9
  import { Button as E } from "./button.es.js";
10
- import { IconButton as D } from "./iconbutton.es.js";
11
- import { Popover as Q, PopoverTrigger as q, PopoverContent as $ } from "./popover.es.js";
12
- k.registerModules([y]);
13
- const j = F.withParams({
10
+ import { IconButton as b } from "./iconbutton.es.js";
11
+ import { Popover as q, PopoverTrigger as $, PopoverContent as j } from "./popover.es.js";
12
+ y.registerModules([F]);
13
+ const _ = P.withParams({
14
14
  fontFamily: "DMSans",
15
15
  fontSize: "12px",
16
16
  headerFontSize: "12px",
@@ -20,13 +20,13 @@ const j = F.withParams({
20
20
  accentColor: "hsl(var(--primary-300))",
21
21
  foregroundColor: "hsl(var(--text-500))",
22
22
  cellTextColor: "hsl(var(--text-500))"
23
- }), p = t.createContext(null), ne = () => {
23
+ }), p = t.createContext(null), oe = () => {
24
24
  const o = t.useContext(p);
25
25
  if (!o)
26
26
  throw new Error("useDataGrid should be used within <DataGrid>");
27
27
  return o;
28
- }, re = ({ children: o }) => {
29
- const s = t.useId(), [a, n] = t.useState(null), [i, d] = t.useState([]), [c, u] = t.useState(0), [h, l] = t.useState(""), [e, m] = t.useState(!1);
28
+ }, ae = ({ children: o }) => {
29
+ const s = t.useId(), [a, n] = t.useState(null), [i, d] = t.useState([]), [c, l] = t.useState(0), [h, u] = t.useState(""), [e, f] = t.useState(!1);
30
30
  return /* @__PURE__ */ r(
31
31
  p.Provider,
32
32
  {
@@ -37,49 +37,47 @@ const j = F.withParams({
37
37
  setRowData: d,
38
38
  gridId: s,
39
39
  quickFilterText: h,
40
- setQuickFilterText: l,
40
+ setQuickFilterText: u,
41
41
  actionbarExists: e,
42
- setActionbarExists: m,
42
+ setActionbarExists: f,
43
43
  actionbarHeight: c,
44
- setActionbarHeight: u
44
+ setActionbarHeight: l
45
45
  },
46
46
  children: o
47
47
  }
48
48
  );
49
- }, oe = ({
50
- theme: o,
51
- onGridReady: s,
52
- quickFilterText: a,
53
- rowData: n,
54
- containerStyle: i,
55
- ...d
56
- }) => {
57
- const c = t.useContext(p);
58
- if (!c)
59
- throw new Error("DataGridContent should be used within <DataGrid>");
60
- const { rowData: u, setRowData: h, actionbarExists: l, setApi: e, setQuickFilterText: m, quickFilterText: x, gridId: g, actionbarHeight: C } = c, f = N(() => j.withParams({
61
- headerHeight: 40,
62
- wrapperBorderRadius: l ? "0px 0px 8px 8px" : "8px"
63
- }), [l]), R = (v) => {
64
- e(v.api), s?.(v);
65
- };
66
- return t.useEffect(() => {
67
- h(n);
68
- }, [n, h]), t.useEffect(() => {
69
- a !== void 0 && m(a ?? "");
70
- }, [a, m]), /* @__PURE__ */ r(
71
- T,
72
- {
73
- gridId: g,
74
- theme: o ?? f,
75
- rowData: u,
76
- quickFilterText: x,
77
- onGridReady: R,
78
- containerStyle: { height: `calc(100% - ${C}px)`, ...i },
79
- ...d
80
- }
81
- );
82
- }, ae = ({ className: o, ...s }) => {
49
+ }, U = A(
50
+ ({ theme: o, onGridReady: s, quickFilterText: a, rowData: n, containerStyle: i, ...d }, c) => {
51
+ const l = t.useContext(p);
52
+ if (!l)
53
+ throw new Error("DataGridContent should be used within <DataGrid>");
54
+ const { rowData: h, setRowData: u, actionbarExists: e, setApi: f, setQuickFilterText: g, quickFilterText: C, gridId: D, actionbarHeight: w } = l, R = T(() => _.withParams({
55
+ headerHeight: 40,
56
+ wrapperBorderRadius: e ? "0px 0px 8px 8px" : "8px"
57
+ }), [e]), v = (m) => {
58
+ f(m.api), s?.(m);
59
+ };
60
+ return t.useEffect(() => {
61
+ u(n);
62
+ }, [n, u]), t.useEffect(() => {
63
+ a !== void 0 && g(a ?? "");
64
+ }, [a, g]), /* @__PURE__ */ r(
65
+ k,
66
+ {
67
+ gridId: D,
68
+ theme: o ?? R,
69
+ rowData: h,
70
+ quickFilterText: C,
71
+ onGridReady: v,
72
+ containerStyle: { height: `calc(100% - ${w}px)`, ...i },
73
+ ...d,
74
+ ref: c
75
+ }
76
+ );
77
+ }
78
+ );
79
+ U.displayName = "DataGridContent";
80
+ const ie = ({ className: o, ...s }) => {
83
81
  const a = t.useContext(p);
84
82
  if (!a)
85
83
  throw new Error("DataGridActionBar should be used within <DataGrid>");
@@ -89,7 +87,7 @@ const j = F.withParams({
89
87
  }, [d]), /* @__PURE__ */ r(
90
88
  "div",
91
89
  {
92
- className: w(
90
+ className: x(
93
91
  "relative flex items-center p-2 h-12 w-full bg-gray-0 border border-gray-200 border-b-0 -mb-[1px] z-10 rounded-t-[8px]",
94
92
  o
95
93
  ),
@@ -97,126 +95,126 @@ const j = F.withParams({
97
95
  children: c
98
96
  }
99
97
  );
100
- }, ie = ({ defaultOpen: o = !1, className: s, ...a }) => {
98
+ }, se = ({ defaultOpen: o = !1, className: s, ...a }) => {
101
99
  const n = t.useContext(p);
102
100
  if (!n)
103
101
  throw new Error("SearchAction should be used within <DataGrid>");
104
- const { quickFilterText: i, setQuickFilterText: d } = n, [c, u] = t.useState(o), [h, l] = t.useState(!1), e = t.useRef(null), m = () => {
102
+ const { quickFilterText: i, setQuickFilterText: d } = n, [c, l] = t.useState(o), [h, u] = t.useState(!1), e = t.useRef(null), f = () => {
105
103
  n.setQuickFilterText(""), e.current && e.current.focus();
106
- }, x = () => {
107
- u(!0);
104
+ }, g = () => {
105
+ l(!0);
108
106
  };
109
107
  t.useEffect(() => {
110
108
  c && e?.current && e.current.focus();
111
109
  }, [c]);
112
- const g = () => {
113
- l(!0), n.setQuickFilterText(""), setTimeout(() => {
114
- u(!1), l(!1);
110
+ const C = () => {
111
+ u(!0), n.setQuickFilterText(""), setTimeout(() => {
112
+ l(!1), u(!1);
115
113
  }, 200);
116
114
  };
117
- return /* @__PURE__ */ r("div", { className: w("max-w-60", s), ...a, children: c || h ? /* @__PURE__ */ r(
118
- B,
115
+ return /* @__PURE__ */ r("div", { className: x("max-w-60", s), ...a, children: c || h ? /* @__PURE__ */ r(
116
+ Q,
119
117
  {
120
118
  ref: e,
121
- className: w("relative h-7.5", c && !h ? "animate-input-open" : "", h && "animate-input-close"),
122
- onChange: (C) => d(C.target.value),
119
+ className: x("relative h-7.5", c && !h ? "animate-input-open" : "", h && "animate-input-close"),
120
+ onChange: (D) => d(D.target.value),
123
121
  value: i,
124
- startAdornment: /* @__PURE__ */ r(D, { variant: "toolbar", className: "p-0.5 h-6 w-6 border-none mx-1", onClick: g, children: /* @__PURE__ */ r(G, { className: "w-5 h-5" }) }),
125
- endAdornment: i && /* @__PURE__ */ r(D, { variant: "toolbar", className: "p-0.5 w-6 h-6 border-none mx-1", onClick: m, children: /* @__PURE__ */ r(P, { className: "w-5 h-5" }) })
122
+ startAdornment: /* @__PURE__ */ r(b, { variant: "toolbar", className: "p-0.5 h-6 w-6 border-none mx-1", onClick: C, children: /* @__PURE__ */ r(G, { className: "w-5 h-5" }) }),
123
+ endAdornment: i && /* @__PURE__ */ r(b, { variant: "toolbar", className: "p-0.5 w-6 h-6 border-none mx-1", onClick: f, children: /* @__PURE__ */ r(z, { className: "w-5 h-5" }) })
126
124
  }
127
- ) : /* @__PURE__ */ r(D, { variant: "toolbar", className: "p-0.5 w-6 h-6 m-1", onClick: x, children: /* @__PURE__ */ r(G, { className: "w-5 h-5" }) }) });
128
- }, se = ({ freezeText: o, unFreezeText: s, onClick: a, disabled: n, ...i }) => {
125
+ ) : /* @__PURE__ */ r(b, { variant: "toolbar", className: "p-0.5 w-6 h-6 m-1", onClick: g, children: /* @__PURE__ */ r(G, { className: "w-5 h-5" }) }) });
126
+ }, ce = ({ freezeText: o, unFreezeText: s, onClick: a, disabled: n, ...i }) => {
129
127
  const d = t.useContext(p);
130
128
  if (!d)
131
129
  throw new Error("FreezeAction should be used within <DataGrid>");
132
- const [c, u] = t.useState(0), [h, l] = t.useState(0), { api: e, rowData: m } = d, x = () => {
130
+ const [c, l] = t.useState(0), [h, u] = t.useState(0), { api: e, rowData: f } = d, g = () => {
133
131
  if (!e) return;
134
- const f = e.getSelectedNodes();
135
- if (f.length > 0) {
132
+ const w = e.getSelectedNodes();
133
+ if (w.length > 0) {
136
134
  e.setGridOption(
137
135
  "pinnedTopRowData",
138
- f.map((b) => b.data)
136
+ w.map((m) => m.data)
139
137
  );
140
- const v = e.getRenderedNodes().filter((b) => !f.some((S) => S.id === b.id));
138
+ const v = e.getRenderedNodes().filter((m) => !w.some((N) => N.id === m.id));
141
139
  e.setGridOption(
142
140
  "rowData",
143
- v.map((b) => b.data)
141
+ v.map((m) => m.data)
144
142
  );
145
143
  }
146
- }, g = () => {
147
- e && (e.setGridOption("pinnedTopRowData", []), e.setGridOption("rowData", m));
148
- }, C = (f) => {
149
- e && (e.getPinnedTopRowCount() > 0 ? g() : x()), a?.(f);
144
+ }, C = () => {
145
+ e && (e.setGridOption("pinnedTopRowData", []), e.setGridOption("rowData", f));
146
+ }, D = (w) => {
147
+ e && (e.getPinnedTopRowCount() > 0 ? C() : g()), a?.(w);
150
148
  };
151
149
  return t.useEffect(() => (e?.addEventListener("pinnedRowDataChanged", () => {
152
- u(e.getPinnedTopRowCount());
150
+ l(e.getPinnedTopRowCount());
153
151
  }), e?.addEventListener("selectionChanged", () => {
154
- l(e.getSelectedNodes().length);
152
+ u(e.getSelectedNodes().length);
155
153
  }), () => {
156
154
  e?.removeEventListener("pinnedRowDataChanged", () => {
157
- u(e.getPinnedTopRowCount());
155
+ l(e.getPinnedTopRowCount());
158
156
  }), e?.removeEventListener("selectionChanged", () => {
159
- l(e.getSelectedNodes().length);
157
+ u(e.getSelectedNodes().length);
160
158
  });
161
159
  }), [e]), /* @__PURE__ */ r(
162
160
  E,
163
161
  {
164
162
  variant: "text",
165
- onClick: C,
166
- startIcon: /* @__PURE__ */ r(z, { className: "w-4.5 h-4.5" }),
163
+ onClick: D,
164
+ startIcon: /* @__PURE__ */ r(I, { className: "w-4.5 h-4.5" }),
167
165
  disabled: !c && !h || n,
168
166
  ...i,
169
167
  children: c ? s ?? "Unfreeze" : o ?? "Freeze"
170
168
  }
171
169
  );
172
- }, ce = ({ children: o, className: s, onClick: a, ...n }) => {
170
+ }, de = ({ children: o, className: s, onClick: a, ...n }) => {
173
171
  const i = t.useContext(p);
174
172
  if (!i)
175
173
  throw new Error("PrintAction should be used within <DataGrid>");
176
174
  const d = (c) => {
177
175
  i.api && (i.api.setGridOption("domLayout", "print"), setTimeout(() => {
178
- const u = document.querySelector("[grid-id='" + i.gridId + "']"), l = `<html>
176
+ const l = document.querySelector("[grid-id='" + i.gridId + "']"), u = `<html>
179
177
  ${document.head.innerHTML}
180
- ${u.outerHTML}
178
+ ${l.outerHTML}
181
179
  </html>`;
182
- M(l), i?.api?.setGridOption("domLayout", void 0);
180
+ B(u), i?.api?.setGridOption("domLayout", void 0);
183
181
  })), a?.(c);
184
182
  };
185
- return /* @__PURE__ */ r(D, { variant: "toolbar", className: w("p-0.5 w-6 h-6", s), onClick: d, ...n, children: o ?? /* @__PURE__ */ r(I, { className: "w-5 h-5" }) });
186
- }, de = ({ className: o, onRefresh: s, children: a, loading: n, ...i }) => {
183
+ return /* @__PURE__ */ r(b, { variant: "toolbar", className: x("p-0.5 w-6 h-6", s), onClick: d, ...n, children: o ?? /* @__PURE__ */ r(H, { className: "w-5 h-5" }) });
184
+ }, le = ({ className: o, onRefresh: s, children: a, loading: n, ...i }) => {
187
185
  if (!t.useContext(p))
188
186
  throw new Error("RefreshAction should be used within <DataGrid>");
189
187
  const c = () => {
190
188
  s();
191
189
  };
192
190
  return /* @__PURE__ */ r(
193
- D,
191
+ b,
194
192
  {
195
- className: w("p-0.5 w-6 h-6", n && "disabled:bg-transparent", o),
193
+ className: x("p-0.5 w-6 h-6", n && "disabled:bg-transparent", o),
196
194
  variant: "toolbar",
197
195
  onClick: c,
198
196
  disabled: n,
199
197
  ...i,
200
- children: a ?? /* @__PURE__ */ r(H, { className: w("w-4.5 h-4.5", n && "animate-spin") })
198
+ children: a ?? /* @__PURE__ */ r(O, { className: x("w-4.5 h-4.5", n && "animate-spin") })
201
199
  }
202
200
  );
203
- }, le = ({ onDelete: o, children: s, ...a }) => /* @__PURE__ */ r(E, { variant: "danger", onClick: () => {
201
+ }, ue = ({ onDelete: o, children: s, ...a }) => /* @__PURE__ */ r(E, { variant: "danger", onClick: () => {
204
202
  o();
205
- }, startIcon: /* @__PURE__ */ r(O, { className: "w-4.5 h-4.5" }), ...a, children: s }), ue = ({ children: o, slotProps: s, className: a, ...n }) => /* @__PURE__ */ A(Q, { ...s?.popoverProps ?? {}, children: [
206
- /* @__PURE__ */ r(q, { ...s?.triggerProps ?? {}, children: /* @__PURE__ */ r(L, { className: "w-4.5 h-4.5 text-primary" }) }),
207
- /* @__PURE__ */ r($, { align: "end", className: w("w-40", a), ...n, children: o })
203
+ }, startIcon: /* @__PURE__ */ r(L, { className: "w-4.5 h-4.5" }), ...a, children: s }), he = ({ children: o, slotProps: s, className: a, ...n }) => /* @__PURE__ */ S(q, { ...s?.popoverProps ?? {}, children: [
204
+ /* @__PURE__ */ r($, { ...s?.triggerProps ?? {}, children: /* @__PURE__ */ r(M, { className: "w-4.5 h-4.5 text-primary" }) }),
205
+ /* @__PURE__ */ r(j, { align: "end", className: x("w-40", a), ...n, children: o })
208
206
  ] });
209
207
  export {
210
- re as DataGrid,
211
- ae as DataGridActionBar,
212
- oe as DataGridContent,
213
- le as DeleteAction,
214
- ue as ExtraActions,
215
- se as FreezeAction,
216
- ce as PrintAction,
217
- de as RefreshAction,
218
- ie as SearchAction,
219
- j as dataGridDefaultTheme,
220
- ne as useDataGrid
208
+ ae as DataGrid,
209
+ ie as DataGridActionBar,
210
+ U as DataGridContent,
211
+ ue as DeleteAction,
212
+ he as ExtraActions,
213
+ ce as FreezeAction,
214
+ de as PrintAction,
215
+ le as RefreshAction,
216
+ se as SearchAction,
217
+ _ as dataGridDefaultTheme,
218
+ oe as useDataGrid
221
219
  };
222
220
  //# sourceMappingURL=datagrid.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datagrid.es.js","sources":["../src/components/data-grid/DataGrid.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { HTMLAttributes, useMemo } from \"react\";\r\nimport { AgGridReact, AgGridReactProps } from \"ag-grid-react\";\r\nimport { GridApi, GridReadyEvent, themeQuartz, AllCommunityModule, ModuleRegistry, Theme } from \"ag-grid-community\";\r\nimport { CircleXmark, ElipsisVertical, Magnifier, Print, Refresh, Snowflake, Trashcan } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { printHtml } from \"../../lib/printHtml\";\r\nimport { TextField } from \"../text-field/TextField\";\r\nimport { Button, ButtonProps } from \"../button/Button\";\r\nimport { IconButton, IconButtonProps } from \"../icon-botton/IconButton\";\r\nimport { Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps } from \"../popover/Popover\";\r\n\r\n// Register all Community features\r\n// Todo: Register only the required features\r\nModuleRegistry.registerModules([AllCommunityModule]);\r\n\r\nconst dataGridDefaultTheme = themeQuartz.withParams({\r\n fontFamily: \"DMSans\",\r\n fontSize: \"12px\",\r\n headerFontSize: \"12px\",\r\n headerFontWeight: 700,\r\n headerBackgroundColor: \"hsl(var(--primary-50))\",\r\n backgroundColor: \"hsl(var(--gray-0))\",\r\n accentColor: \"hsl(var(--primary-300))\",\r\n foregroundColor: \"hsl(var(--text-500))\",\r\n cellTextColor: \"hsl(var(--text-500))\",\r\n});\r\n\r\ntype DataGridContext = {\r\n api: GridApi | null;\r\n setApi: (value: GridApi) => void;\r\n rowData: any[] | null | undefined;\r\n setRowData: (value: any[] | null | undefined) => void;\r\n gridId: string;\r\n quickFilterText: string;\r\n setQuickFilterText: (value: string) => void;\r\n actionbarExists: boolean;\r\n setActionbarExists: (value: boolean) => void;\r\n actionbarHeight: number;\r\n setActionbarHeight: (value: number) => void;\r\n};\r\n\r\nconst DataGridContext = React.createContext<DataGridContext | null>(null);\r\n\r\nconst useDataGrid = () => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useDataGrid should be used within <DataGrid>\");\r\n }\r\n\r\n return context;\r\n};\r\n\r\ntype DataGridProps = {\r\n children: React.ReactNode;\r\n};\r\n\r\nconst DataGrid: React.FC<DataGridProps> = ({ children }) => {\r\n const gridId = React.useId();\r\n const [api, setApi] = React.useState<GridApi | null>(null);\r\n const [rowData, setRowData] = React.useState<any[] | null | undefined>([]);\r\n const [actionbarHeight, setActionbarHeight] = React.useState(0);\r\n\r\n const [quickFilterText, setQuickFilterText] = React.useState(\"\");\r\n const [actionbarExists, setActionbarExists] = React.useState(false);\r\n return (\r\n <DataGridContext.Provider\r\n value={{\r\n api,\r\n setApi,\r\n rowData,\r\n setRowData,\r\n gridId,\r\n quickFilterText,\r\n setQuickFilterText,\r\n actionbarExists,\r\n setActionbarExists,\r\n actionbarHeight,\r\n setActionbarHeight,\r\n }}\r\n >\r\n {children}\r\n </DataGridContext.Provider>\r\n );\r\n};\r\n\r\ntype DataGridContentProps = Omit<AgGridReactProps, \"theme\"> & {\r\n theme?: Theme;\r\n};\r\n\r\nconst DataGridContent: React.FC<DataGridContentProps> = ({\r\n theme: propTheme,\r\n onGridReady,\r\n quickFilterText: quickFilterTextProps,\r\n rowData: rowDataProps,\r\n containerStyle,\r\n ...props\r\n}) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridContent should be used within <DataGrid>\");\r\n }\r\n const { rowData, setRowData, actionbarExists, setApi, setQuickFilterText, quickFilterText, gridId, actionbarHeight } = context;\r\n\r\n const theme = useMemo(() => {\r\n return dataGridDefaultTheme.withParams({\r\n headerHeight: 40,\r\n wrapperBorderRadius: actionbarExists ? \"0px 0px 8px 8px\" : \"8px\",\r\n });\r\n }, [actionbarExists]);\r\n\r\n const handleGridReady = (e: GridReadyEvent) => {\r\n setApi(e.api);\r\n onGridReady?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n setRowData(rowDataProps);\r\n }, [rowDataProps, setRowData]);\r\n\r\n React.useEffect(() => {\r\n if (quickFilterTextProps !== undefined) {\r\n setQuickFilterText(quickFilterTextProps ?? \"\");\r\n }\r\n }, [quickFilterTextProps, setQuickFilterText]);\r\n\r\n return (\r\n <AgGridReact\r\n gridId={gridId}\r\n theme={propTheme ?? theme}\r\n rowData={rowData}\r\n quickFilterText={quickFilterText}\r\n onGridReady={handleGridReady}\r\n containerStyle={{ height: `calc(100% - ${actionbarHeight}px)`, ...containerStyle }}\r\n {...props}\r\n />\r\n );\r\n};\r\n\r\ntype DatagridActionBarProps = HTMLAttributes<HTMLDivElement> & {};\r\n\r\nconst DataGridActionBar: React.FC<DatagridActionBarProps> = ({ className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridActionBar should be used within <DataGrid>\");\r\n }\r\n const ref = React.useRef<HTMLDivElement | null>(null);\r\n const { setActionbarExists, setActionbarHeight } = context;\r\n const { children } = props;\r\n\r\n React.useEffect(() => {\r\n setActionbarExists(true);\r\n return () => setActionbarExists(false);\r\n }, [setActionbarExists]);\r\n\r\n React.useEffect(() => {\r\n if (ref.current) {\r\n setActionbarHeight(ref.current.clientHeight);\r\n }\r\n }, [setActionbarHeight]);\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"relative flex items-center p-2 h-12 w-full bg-gray-0 border border-gray-200 border-b-0 -mb-[1px] z-10 rounded-t-[8px]\",\r\n className,\r\n )}\r\n ref={ref}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\ntype SearchActionProps = HTMLAttributes<HTMLDivElement> & {\r\n defaultOpen?: boolean;\r\n};\r\n\r\nconst SearchAction: React.FC<SearchActionProps> = ({ defaultOpen = false, className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"SearchAction should be used within <DataGrid>\");\r\n }\r\n\r\n const { quickFilterText, setQuickFilterText } = context;\r\n\r\n const [isSearchInputOpen, setIsSearchInputOpen] = React.useState(defaultOpen);\r\n const [isClosing, setIsClosing] = React.useState(false);\r\n const inputRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClear = () => {\r\n context.setQuickFilterText(\"\");\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n };\r\n\r\n const handleOpen = () => {\r\n setIsSearchInputOpen(true);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (isSearchInputOpen && inputRef?.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isSearchInputOpen]);\r\n\r\n const handleClose = () => {\r\n setIsClosing(true);\r\n context.setQuickFilterText(\"\");\r\n setTimeout(() => {\r\n setIsSearchInputOpen(false);\r\n setIsClosing(false);\r\n }, 200);\r\n };\r\n\r\n return (\r\n <div className={cn(\"max-w-60\", className)} {...props}>\r\n {isSearchInputOpen || isClosing ? (\r\n <TextField\r\n ref={inputRef}\r\n className={cn(\"relative h-7.5\", isSearchInputOpen && !isClosing ? \"animate-input-open\" : \"\", isClosing && \"animate-input-close\")}\r\n onChange={e => setQuickFilterText(e.target.value)}\r\n value={quickFilterText}\r\n startAdornment={\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 h-6 w-6 border-none mx-1\" onClick={handleClose}>\r\n <Magnifier className=\"w-5 h-5\" />\r\n </IconButton>\r\n }\r\n endAdornment={\r\n quickFilterText && (\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 w-6 h-6 border-none mx-1\" onClick={handleClear}>\r\n <CircleXmark className=\"w-5 h-5\" />\r\n </IconButton>\r\n )\r\n }\r\n />\r\n ) : (\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 w-6 h-6 m-1\" onClick={handleOpen}>\r\n <Magnifier className=\"w-5 h-5\" />\r\n </IconButton>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\ntype FreezeActionProps = ButtonProps & {\r\n freezeText?: string;\r\n unFreezeText?: string;\r\n};\r\n\r\nconst FreezeAction: React.FC<FreezeActionProps> = ({ freezeText, unFreezeText, onClick, disabled, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"FreezeAction should be used within <DataGrid>\");\r\n }\r\n\r\n const [pinnedRowCount, setPinnedRowCount] = React.useState(0);\r\n const [selectedRowsCount, setSelectedRowsCount] = React.useState(0);\r\n\r\n const { api, rowData } = context;\r\n\r\n const freezeRows = () => {\r\n if (!api) return;\r\n\r\n // Get currently selected rows\r\n const selectedRows = api.getSelectedNodes();\r\n\r\n if (selectedRows.length > 0) {\r\n // Pin the selected rows\r\n api.setGridOption(\r\n \"pinnedTopRowData\",\r\n selectedRows.map(row => row.data),\r\n );\r\n\r\n // Get current row data\r\n const allData = api.getRenderedNodes();\r\n // Filter out pinned rows from the main data\r\n const updatedNodes = allData.filter(row => !selectedRows.some(pinnedRow => pinnedRow.id === row.id));\r\n\r\n // Update the grid with the filtered data\r\n api.setGridOption(\r\n \"rowData\",\r\n updatedNodes.map(node => node.data),\r\n );\r\n }\r\n };\r\n\r\n const unfreezeRows = () => {\r\n if (!api) return;\r\n api.setGridOption(\"pinnedTopRowData\", []);\r\n api.setGridOption(\"rowData\", rowData);\r\n };\r\n\r\n const handleFreezing = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (api) {\r\n const pinnedRowsCount = api.getPinnedTopRowCount();\r\n if (pinnedRowsCount > 0) {\r\n unfreezeRows();\r\n } else {\r\n freezeRows();\r\n }\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n api?.addEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.addEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n\r\n return () => {\r\n api?.removeEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.removeEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n };\r\n }, [api]);\r\n\r\n return (\r\n <Button\r\n variant=\"text\"\r\n onClick={handleFreezing}\r\n startIcon={<Snowflake className=\"w-4.5 h-4.5\" />}\r\n disabled={(!pinnedRowCount && !selectedRowsCount) || disabled}\r\n {...props}\r\n >\r\n {pinnedRowCount ? (unFreezeText ?? \"Unfreeze\") : (freezeText ?? \"Freeze\")}\r\n </Button>\r\n );\r\n};\r\n\r\ntype PrintActionProps = IconButtonProps & {};\r\n\r\nconst PrintAction: React.FC<PrintActionProps> = ({ children, className, onClick, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"PrintAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handlePrint = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (context.api) {\r\n context.api.setGridOption(\"domLayout\", \"print\");\r\n\r\n setTimeout(() => {\r\n const element = document.querySelector(\"[grid-id='\" + context.gridId + \"']\") as HTMLElement;\r\n const header = document.head;\r\n const html = `<html>\r\n ${header.innerHTML}\r\n ${element.outerHTML}\r\n </html>`;\r\n printHtml(html);\r\n context?.api?.setGridOption(\"domLayout\", undefined);\r\n });\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n return (\r\n <IconButton variant=\"toolbar\" className={cn(\"p-0.5 w-6 h-6\", className)} onClick={handlePrint} {...props}>\r\n {children ?? <Print className=\"w-5 h-5\" />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype RefreshActionProps = Omit<IconButtonProps, \"onClick\"> & {\r\n onRefresh: () => void;\r\n};\r\n\r\nconst RefreshAction: React.FC<RefreshActionProps> = ({ className, onRefresh, children, loading, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"RefreshAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handleRefresh = () => {\r\n onRefresh();\r\n };\r\n\r\n return (\r\n <IconButton\r\n className={cn(\"p-0.5 w-6 h-6\", loading && \"disabled:bg-transparent\", className)}\r\n variant=\"toolbar\"\r\n onClick={handleRefresh}\r\n disabled={loading}\r\n {...props}\r\n >\r\n {children ?? <Refresh className={cn(\"w-4.5 h-4.5\", loading && \"animate-spin\")} />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype DeleteActionProps = Omit<ButtonProps, \"onClick\"> & {\r\n onDelete: () => void;\r\n};\r\n\r\nconst DeleteAction: React.FC<DeleteActionProps> = ({ onDelete, children, ...props }) => {\r\n const handleDelete = () => {\r\n onDelete();\r\n };\r\n\r\n return (\r\n <Button variant=\"danger\" onClick={handleDelete} startIcon={<Trashcan className=\"w-4.5 h-4.5\" />} {...props}>\r\n {children}\r\n </Button>\r\n );\r\n};\r\n\r\ntype ExtraActionsProps = PopoverContentProps & {\r\n children: React.ReactNode;\r\n slotProps?: {\r\n triggerProps?: PopoverTriggerProps;\r\n popoverProps?: PopoverProps;\r\n };\r\n};\r\n\r\nconst ExtraActions: React.FC<ExtraActionsProps> = ({ children, slotProps, className, ...props }) => {\r\n return (\r\n <Popover {...(slotProps?.popoverProps ?? {})}>\r\n <PopoverTrigger {...(slotProps?.triggerProps ?? {})}>\r\n <ElipsisVertical className=\"w-4.5 h-4.5 text-primary\" />\r\n </PopoverTrigger>\r\n <PopoverContent align=\"end\" className={cn(\"w-40\", className)} {...props}>\r\n {children}\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport {\r\n DataGrid,\r\n DataGridContent,\r\n DataGridActionBar,\r\n SearchAction,\r\n FreezeAction,\r\n PrintAction,\r\n RefreshAction,\r\n ExtraActions,\r\n DeleteAction,\r\n type DataGridProps,\r\n type DataGridContentProps,\r\n type DatagridActionBarProps,\r\n type SearchActionProps,\r\n type FreezeActionProps,\r\n type RefreshActionProps,\r\n type ExtraActionsProps,\r\n type DeleteActionProps,\r\n useDataGrid,\r\n dataGridDefaultTheme,\r\n};\r\n"],"names":["ModuleRegistry","AllCommunityModule","dataGridDefaultTheme","themeQuartz","DataGridContext","React","useDataGrid","context","DataGrid","children","gridId","api","setApi","rowData","setRowData","actionbarHeight","setActionbarHeight","quickFilterText","setQuickFilterText","actionbarExists","setActionbarExists","jsx","DataGridContent","propTheme","onGridReady","quickFilterTextProps","rowDataProps","containerStyle","props","theme","useMemo","handleGridReady","e","AgGridReact","DataGridActionBar","className","ref","cn","SearchAction","defaultOpen","isSearchInputOpen","setIsSearchInputOpen","isClosing","setIsClosing","inputRef","handleClear","handleOpen","handleClose","TextField","IconButton","Magnifier","CircleXmark","FreezeAction","freezeText","unFreezeText","onClick","disabled","pinnedRowCount","setPinnedRowCount","selectedRowsCount","setSelectedRowsCount","freezeRows","selectedRows","row","updatedNodes","pinnedRow","node","unfreezeRows","handleFreezing","Button","Snowflake","PrintAction","handlePrint","element","html","printHtml","Print","RefreshAction","onRefresh","loading","handleRefresh","Refresh","DeleteAction","onDelete","Trashcan","ExtraActions","slotProps","Popover","PopoverTrigger","ElipsisVertical","PopoverContent"],"mappings":"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"}
1
+ {"version":3,"file":"datagrid.es.js","sources":["../src/components/data-grid/DataGrid.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { forwardRef, HTMLAttributes, useMemo } from \"react\";\r\nimport { AgGridReact, AgGridReactProps } from \"ag-grid-react\";\r\nimport { GridApi, GridReadyEvent, themeQuartz, AllCommunityModule, ModuleRegistry, Theme } from \"ag-grid-community\";\r\nimport { CircleXmark, ElipsisVertical, Magnifier, Print, Refresh, Snowflake, Trashcan } from \"@trsys-tech/matrix-icons\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { printHtml } from \"../../lib/printHtml\";\r\nimport { TextField } from \"../text-field/TextField\";\r\nimport { Button, ButtonProps } from \"../button/Button\";\r\nimport { IconButton, IconButtonProps } from \"../icon-botton/IconButton\";\r\nimport { Popover, PopoverContent, PopoverContentProps, PopoverProps, PopoverTrigger, PopoverTriggerProps } from \"../popover/Popover\";\r\n\r\n// Register all Community features\r\n// Todo: Register only the required features\r\nModuleRegistry.registerModules([AllCommunityModule]);\r\n\r\nconst dataGridDefaultTheme = themeQuartz.withParams({\r\n fontFamily: \"DMSans\",\r\n fontSize: \"12px\",\r\n headerFontSize: \"12px\",\r\n headerFontWeight: 700,\r\n headerBackgroundColor: \"hsl(var(--primary-50))\",\r\n backgroundColor: \"hsl(var(--gray-0))\",\r\n accentColor: \"hsl(var(--primary-300))\",\r\n foregroundColor: \"hsl(var(--text-500))\",\r\n cellTextColor: \"hsl(var(--text-500))\",\r\n});\r\n\r\ntype DataGridContext = {\r\n api: GridApi | null;\r\n setApi: (value: GridApi) => void;\r\n rowData: any[] | null | undefined;\r\n setRowData: (value: any[] | null | undefined) => void;\r\n gridId: string;\r\n quickFilterText: string;\r\n setQuickFilterText: (value: string) => void;\r\n actionbarExists: boolean;\r\n setActionbarExists: (value: boolean) => void;\r\n actionbarHeight: number;\r\n setActionbarHeight: (value: number) => void;\r\n};\r\n\r\nconst DataGridContext = React.createContext<DataGridContext | null>(null);\r\n\r\nconst useDataGrid = () => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"useDataGrid should be used within <DataGrid>\");\r\n }\r\n\r\n return context;\r\n};\r\n\r\ntype DataGridProps = {\r\n children: React.ReactNode;\r\n};\r\n\r\nconst DataGrid: React.FC<DataGridProps> = ({ children }) => {\r\n const gridId = React.useId();\r\n const [api, setApi] = React.useState<GridApi | null>(null);\r\n const [rowData, setRowData] = React.useState<any[] | null | undefined>([]);\r\n const [actionbarHeight, setActionbarHeight] = React.useState(0);\r\n\r\n const [quickFilterText, setQuickFilterText] = React.useState(\"\");\r\n const [actionbarExists, setActionbarExists] = React.useState(false);\r\n return (\r\n <DataGridContext.Provider\r\n value={{\r\n api,\r\n setApi,\r\n rowData,\r\n setRowData,\r\n gridId,\r\n quickFilterText,\r\n setQuickFilterText,\r\n actionbarExists,\r\n setActionbarExists,\r\n actionbarHeight,\r\n setActionbarHeight,\r\n }}\r\n >\r\n {children}\r\n </DataGridContext.Provider>\r\n );\r\n};\r\n\r\ntype DataGridContentProps = Omit<AgGridReactProps, \"theme\"> & {\r\n theme?: Theme;\r\n};\r\n\r\nconst DataGridContent = forwardRef<AgGridReact, DataGridContentProps>(\r\n ({ theme: propTheme, onGridReady, quickFilterText: quickFilterTextProps, rowData: rowDataProps, containerStyle, ...props }, ref) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridContent should be used within <DataGrid>\");\r\n }\r\n const { rowData, setRowData, actionbarExists, setApi, setQuickFilterText, quickFilterText, gridId, actionbarHeight } = context;\r\n\r\n const theme = useMemo(() => {\r\n return dataGridDefaultTheme.withParams({\r\n headerHeight: 40,\r\n wrapperBorderRadius: actionbarExists ? \"0px 0px 8px 8px\" : \"8px\",\r\n });\r\n }, [actionbarExists]);\r\n\r\n const handleGridReady = (e: GridReadyEvent) => {\r\n setApi(e.api);\r\n onGridReady?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n setRowData(rowDataProps);\r\n }, [rowDataProps, setRowData]);\r\n\r\n React.useEffect(() => {\r\n if (quickFilterTextProps !== undefined) {\r\n setQuickFilterText(quickFilterTextProps ?? \"\");\r\n }\r\n }, [quickFilterTextProps, setQuickFilterText]);\r\n\r\n return (\r\n <AgGridReact\r\n gridId={gridId}\r\n theme={propTheme ?? theme}\r\n rowData={rowData}\r\n quickFilterText={quickFilterText}\r\n onGridReady={handleGridReady}\r\n containerStyle={{ height: `calc(100% - ${actionbarHeight}px)`, ...containerStyle }}\r\n {...props}\r\n ref={ref}\r\n />\r\n );\r\n },\r\n);\r\n\r\nDataGridContent.displayName = \"DataGridContent\";\r\n\r\ntype DatagridActionBarProps = HTMLAttributes<HTMLDivElement> & {};\r\n\r\nconst DataGridActionBar: React.FC<DatagridActionBarProps> = ({ className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"DataGridActionBar should be used within <DataGrid>\");\r\n }\r\n const ref = React.useRef<HTMLDivElement | null>(null);\r\n const { setActionbarExists, setActionbarHeight } = context;\r\n const { children } = props;\r\n\r\n React.useEffect(() => {\r\n setActionbarExists(true);\r\n return () => setActionbarExists(false);\r\n }, [setActionbarExists]);\r\n\r\n React.useEffect(() => {\r\n if (ref.current) {\r\n setActionbarHeight(ref.current.clientHeight);\r\n }\r\n }, [setActionbarHeight]);\r\n\r\n return (\r\n <div\r\n className={cn(\r\n \"relative flex items-center p-2 h-12 w-full bg-gray-0 border border-gray-200 border-b-0 -mb-[1px] z-10 rounded-t-[8px]\",\r\n className,\r\n )}\r\n ref={ref}\r\n >\r\n {children}\r\n </div>\r\n );\r\n};\r\n\r\ntype SearchActionProps = HTMLAttributes<HTMLDivElement> & {\r\n defaultOpen?: boolean;\r\n};\r\n\r\nconst SearchAction: React.FC<SearchActionProps> = ({ defaultOpen = false, className, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"SearchAction should be used within <DataGrid>\");\r\n }\r\n\r\n const { quickFilterText, setQuickFilterText } = context;\r\n\r\n const [isSearchInputOpen, setIsSearchInputOpen] = React.useState(defaultOpen);\r\n const [isClosing, setIsClosing] = React.useState(false);\r\n const inputRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClear = () => {\r\n context.setQuickFilterText(\"\");\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n };\r\n\r\n const handleOpen = () => {\r\n setIsSearchInputOpen(true);\r\n };\r\n\r\n React.useEffect(() => {\r\n if (isSearchInputOpen && inputRef?.current) {\r\n inputRef.current.focus();\r\n }\r\n }, [isSearchInputOpen]);\r\n\r\n const handleClose = () => {\r\n setIsClosing(true);\r\n context.setQuickFilterText(\"\");\r\n setTimeout(() => {\r\n setIsSearchInputOpen(false);\r\n setIsClosing(false);\r\n }, 200);\r\n };\r\n\r\n return (\r\n <div className={cn(\"max-w-60\", className)} {...props}>\r\n {isSearchInputOpen || isClosing ? (\r\n <TextField\r\n ref={inputRef}\r\n className={cn(\"relative h-7.5\", isSearchInputOpen && !isClosing ? \"animate-input-open\" : \"\", isClosing && \"animate-input-close\")}\r\n onChange={e => setQuickFilterText(e.target.value)}\r\n value={quickFilterText}\r\n startAdornment={\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 h-6 w-6 border-none mx-1\" onClick={handleClose}>\r\n <Magnifier className=\"w-5 h-5\" />\r\n </IconButton>\r\n }\r\n endAdornment={\r\n quickFilterText && (\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 w-6 h-6 border-none mx-1\" onClick={handleClear}>\r\n <CircleXmark className=\"w-5 h-5\" />\r\n </IconButton>\r\n )\r\n }\r\n />\r\n ) : (\r\n <IconButton variant=\"toolbar\" className=\"p-0.5 w-6 h-6 m-1\" onClick={handleOpen}>\r\n <Magnifier className=\"w-5 h-5\" />\r\n </IconButton>\r\n )}\r\n </div>\r\n );\r\n};\r\n\r\ntype FreezeActionProps = ButtonProps & {\r\n freezeText?: string;\r\n unFreezeText?: string;\r\n};\r\n\r\nconst FreezeAction: React.FC<FreezeActionProps> = ({ freezeText, unFreezeText, onClick, disabled, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"FreezeAction should be used within <DataGrid>\");\r\n }\r\n\r\n const [pinnedRowCount, setPinnedRowCount] = React.useState(0);\r\n const [selectedRowsCount, setSelectedRowsCount] = React.useState(0);\r\n\r\n const { api, rowData } = context;\r\n\r\n const freezeRows = () => {\r\n if (!api) return;\r\n\r\n // Get currently selected rows\r\n const selectedRows = api.getSelectedNodes();\r\n\r\n if (selectedRows.length > 0) {\r\n // Pin the selected rows\r\n api.setGridOption(\r\n \"pinnedTopRowData\",\r\n selectedRows.map(row => row.data),\r\n );\r\n\r\n // Get current row data\r\n const allData = api.getRenderedNodes();\r\n // Filter out pinned rows from the main data\r\n const updatedNodes = allData.filter(row => !selectedRows.some(pinnedRow => pinnedRow.id === row.id));\r\n\r\n // Update the grid with the filtered data\r\n api.setGridOption(\r\n \"rowData\",\r\n updatedNodes.map(node => node.data),\r\n );\r\n }\r\n };\r\n\r\n const unfreezeRows = () => {\r\n if (!api) return;\r\n api.setGridOption(\"pinnedTopRowData\", []);\r\n api.setGridOption(\"rowData\", rowData);\r\n };\r\n\r\n const handleFreezing = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (api) {\r\n const pinnedRowsCount = api.getPinnedTopRowCount();\r\n if (pinnedRowsCount > 0) {\r\n unfreezeRows();\r\n } else {\r\n freezeRows();\r\n }\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n React.useEffect(() => {\r\n api?.addEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.addEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n\r\n return () => {\r\n api?.removeEventListener(\"pinnedRowDataChanged\", () => {\r\n setPinnedRowCount(api.getPinnedTopRowCount());\r\n });\r\n\r\n api?.removeEventListener(\"selectionChanged\", () => {\r\n setSelectedRowsCount(api.getSelectedNodes().length);\r\n });\r\n };\r\n }, [api]);\r\n\r\n return (\r\n <Button\r\n variant=\"text\"\r\n onClick={handleFreezing}\r\n startIcon={<Snowflake className=\"w-4.5 h-4.5\" />}\r\n disabled={(!pinnedRowCount && !selectedRowsCount) || disabled}\r\n {...props}\r\n >\r\n {pinnedRowCount ? (unFreezeText ?? \"Unfreeze\") : (freezeText ?? \"Freeze\")}\r\n </Button>\r\n );\r\n};\r\n\r\ntype PrintActionProps = IconButtonProps & {};\r\n\r\nconst PrintAction: React.FC<PrintActionProps> = ({ children, className, onClick, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"PrintAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handlePrint = (e: React.MouseEvent<HTMLButtonElement>) => {\r\n if (context.api) {\r\n context.api.setGridOption(\"domLayout\", \"print\");\r\n\r\n setTimeout(() => {\r\n const element = document.querySelector(\"[grid-id='\" + context.gridId + \"']\") as HTMLElement;\r\n const header = document.head;\r\n const html = `<html>\r\n ${header.innerHTML}\r\n ${element.outerHTML}\r\n </html>`;\r\n printHtml(html);\r\n context?.api?.setGridOption(\"domLayout\", undefined);\r\n });\r\n }\r\n onClick?.(e);\r\n };\r\n\r\n return (\r\n <IconButton variant=\"toolbar\" className={cn(\"p-0.5 w-6 h-6\", className)} onClick={handlePrint} {...props}>\r\n {children ?? <Print className=\"w-5 h-5\" />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype RefreshActionProps = Omit<IconButtonProps, \"onClick\"> & {\r\n onRefresh: () => void;\r\n};\r\n\r\nconst RefreshAction: React.FC<RefreshActionProps> = ({ className, onRefresh, children, loading, ...props }) => {\r\n const context = React.useContext(DataGridContext);\r\n\r\n if (!context) {\r\n throw new Error(\"RefreshAction should be used within <DataGrid>\");\r\n }\r\n\r\n const handleRefresh = () => {\r\n onRefresh();\r\n };\r\n\r\n return (\r\n <IconButton\r\n className={cn(\"p-0.5 w-6 h-6\", loading && \"disabled:bg-transparent\", className)}\r\n variant=\"toolbar\"\r\n onClick={handleRefresh}\r\n disabled={loading}\r\n {...props}\r\n >\r\n {children ?? <Refresh className={cn(\"w-4.5 h-4.5\", loading && \"animate-spin\")} />}\r\n </IconButton>\r\n );\r\n};\r\n\r\ntype DeleteActionProps = Omit<ButtonProps, \"onClick\"> & {\r\n onDelete: () => void;\r\n};\r\n\r\nconst DeleteAction: React.FC<DeleteActionProps> = ({ onDelete, children, ...props }) => {\r\n const handleDelete = () => {\r\n onDelete();\r\n };\r\n\r\n return (\r\n <Button variant=\"danger\" onClick={handleDelete} startIcon={<Trashcan className=\"w-4.5 h-4.5\" />} {...props}>\r\n {children}\r\n </Button>\r\n );\r\n};\r\n\r\ntype ExtraActionsProps = PopoverContentProps & {\r\n children: React.ReactNode;\r\n slotProps?: {\r\n triggerProps?: PopoverTriggerProps;\r\n popoverProps?: PopoverProps;\r\n };\r\n};\r\n\r\nconst ExtraActions: React.FC<ExtraActionsProps> = ({ children, slotProps, className, ...props }) => {\r\n return (\r\n <Popover {...(slotProps?.popoverProps ?? {})}>\r\n <PopoverTrigger {...(slotProps?.triggerProps ?? {})}>\r\n <ElipsisVertical className=\"w-4.5 h-4.5 text-primary\" />\r\n </PopoverTrigger>\r\n <PopoverContent align=\"end\" className={cn(\"w-40\", className)} {...props}>\r\n {children}\r\n </PopoverContent>\r\n </Popover>\r\n );\r\n};\r\n\r\nexport {\r\n DataGrid,\r\n DataGridContent,\r\n DataGridActionBar,\r\n SearchAction,\r\n FreezeAction,\r\n PrintAction,\r\n RefreshAction,\r\n ExtraActions,\r\n DeleteAction,\r\n type DataGridProps,\r\n type DataGridContentProps,\r\n type DatagridActionBarProps,\r\n type SearchActionProps,\r\n type FreezeActionProps,\r\n type RefreshActionProps,\r\n type ExtraActionsProps,\r\n type DeleteActionProps,\r\n useDataGrid,\r\n dataGridDefaultTheme,\r\n};\r\n"],"names":["ModuleRegistry","AllCommunityModule","dataGridDefaultTheme","themeQuartz","DataGridContext","React","useDataGrid","context","DataGrid","children","gridId","api","setApi","rowData","setRowData","actionbarHeight","setActionbarHeight","quickFilterText","setQuickFilterText","actionbarExists","setActionbarExists","jsx","DataGridContent","forwardRef","propTheme","onGridReady","quickFilterTextProps","rowDataProps","containerStyle","props","ref","theme","useMemo","handleGridReady","e","AgGridReact","DataGridActionBar","className","cn","SearchAction","defaultOpen","isSearchInputOpen","setIsSearchInputOpen","isClosing","setIsClosing","inputRef","handleClear","handleOpen","handleClose","TextField","IconButton","Magnifier","CircleXmark","FreezeAction","freezeText","unFreezeText","onClick","disabled","pinnedRowCount","setPinnedRowCount","selectedRowsCount","setSelectedRowsCount","freezeRows","selectedRows","row","updatedNodes","pinnedRow","node","unfreezeRows","handleFreezing","Button","Snowflake","PrintAction","handlePrint","element","html","printHtml","Print","RefreshAction","onRefresh","loading","handleRefresh","Refresh","DeleteAction","onDelete","Trashcan","ExtraActions","slotProps","Popover","PopoverTrigger","ElipsisVertical","PopoverContent"],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@trsys-tech/matrix-library",
3
3
  "description": "MatrixUI Library",
4
4
  "private": false,
5
- "version": "0.5.0-beta.1",
5
+ "version": "0.5.0-beta.2",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.es.js",