@addev-be/ui 0.2.18 → 0.3.0

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.
Files changed (177) hide show
  1. package/package.json +2 -1
  2. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +1 -1
  3. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +1 -1
  4. package/src/providers/AuthenticationProvider/index.tsx +143 -0
  5. package/src/providers/LoadingProvider/index.tsx +47 -0
  6. package/src/providers/hooks.ts +3 -1
  7. package/src/providers/index.ts +2 -1
  8. package/src/services/WebSocketService.ts +6 -17
  9. package/src/services/hooks.ts +17 -0
  10. package/src/services/index.ts +6 -0
  11. package/src/services/requests/auth.ts +44 -0
  12. package/src/services/types/auth.ts +131 -0
  13. package/src/services/types/base.ts +10 -0
  14. package/src/services/types/users.ts +20 -0
  15. package/dist/Icons.d.ts +0 -45
  16. package/dist/Icons.js +0 -120
  17. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
  18. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -76
  19. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
  20. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -156
  21. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
  22. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +0 -18
  23. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
  24. package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
  25. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
  26. package/dist/components/data/AdvancedRequestDataGrid/types.js +0 -2
  27. package/dist/components/data/DataGrid/DataGridCell.d.ts +0 -2
  28. package/dist/components/data/DataGrid/DataGridCell.js +0 -59
  29. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +0 -2
  30. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +0 -24
  31. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.d.ts +0 -6
  32. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +0 -38
  33. package/dist/components/data/DataGrid/DataGridColumnsModal/index.d.ts +0 -15
  34. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +0 -111
  35. package/dist/components/data/DataGrid/DataGridColumnsModal/styles.d.ts +0 -22
  36. package/dist/components/data/DataGrid/DataGridColumnsModal/styles.js +0 -54
  37. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
  38. package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
  39. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.d.ts +0 -13
  40. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +0 -71
  41. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +0 -9
  42. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +0 -52
  43. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +0 -9
  44. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +0 -221
  45. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +0 -18
  46. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +0 -31
  47. package/dist/components/data/DataGrid/DataGridFooter.d.ts +0 -4
  48. package/dist/components/data/DataGrid/DataGridFooter.js +0 -44
  49. package/dist/components/data/DataGrid/DataGridHeader.d.ts +0 -4
  50. package/dist/components/data/DataGrid/DataGridHeader.js +0 -119
  51. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +0 -2
  52. package/dist/components/data/DataGrid/DataGridHeaderCell.js +0 -84
  53. package/dist/components/data/DataGrid/FilterModalContent/index.d.ts +0 -7
  54. package/dist/components/data/DataGrid/FilterModalContent/index.js +0 -117
  55. package/dist/components/data/DataGrid/FilterModalContent/styles.d.ts +0 -3
  56. package/dist/components/data/DataGrid/FilterModalContent/styles.js +0 -15
  57. package/dist/components/data/DataGrid/VirtualScroller.d.ts +0 -11
  58. package/dist/components/data/DataGrid/VirtualScroller.js +0 -41
  59. package/dist/components/data/DataGrid/helpers/columns.d.ts +0 -13
  60. package/dist/components/data/DataGrid/helpers/columns.js +0 -169
  61. package/dist/components/data/DataGrid/helpers/filters.d.ts +0 -18
  62. package/dist/components/data/DataGrid/helpers/filters.js +0 -334
  63. package/dist/components/data/DataGrid/helpers/index.d.ts +0 -2
  64. package/dist/components/data/DataGrid/helpers/index.js +0 -18
  65. package/dist/components/data/DataGrid/hooks/index.d.ts +0 -7
  66. package/dist/components/data/DataGrid/hooks/index.js +0 -34
  67. package/dist/components/data/DataGrid/hooks/useDataGrid.d.ts +0 -2
  68. package/dist/components/data/DataGrid/hooks/useDataGrid.js +0 -252
  69. package/dist/components/data/DataGrid/hooks/useDataGridCopy.d.ts +0 -4
  70. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +0 -163
  71. package/dist/components/data/DataGrid/hooks/useDataGridSettings.d.ts +0 -16
  72. package/dist/components/data/DataGrid/hooks/useDataGridSettings.js +0 -43
  73. package/dist/components/data/DataGrid/index.d.ts +0 -4
  74. package/dist/components/data/DataGrid/index.js +0 -108
  75. package/dist/components/data/DataGrid/styles.d.ts +0 -60
  76. package/dist/components/data/DataGrid/styles.js +0 -128
  77. package/dist/components/data/DataGrid/types.d.ts +0 -165
  78. package/dist/components/data/DataGrid/types.js +0 -34
  79. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +0 -16
  80. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +0 -125
  81. package/dist/components/data/SqlRequestDataGrid/helpers/index.d.ts +0 -2
  82. package/dist/components/data/SqlRequestDataGrid/helpers/index.js +0 -18
  83. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.d.ts +0 -3
  84. package/dist/components/data/SqlRequestDataGrid/helpers/sqlRequests.js +0 -18
  85. package/dist/components/data/SqlRequestDataGrid/index.d.ts +0 -2
  86. package/dist/components/data/SqlRequestDataGrid/index.js +0 -296
  87. package/dist/components/data/SqlRequestDataGrid/types.d.ts +0 -21
  88. package/dist/components/data/SqlRequestDataGrid/types.js +0 -2
  89. package/dist/components/data/index.d.ts +0 -8
  90. package/dist/components/data/index.js +0 -24
  91. package/dist/components/forms/Button.d.ts +0 -10
  92. package/dist/components/forms/Button.js +0 -70
  93. package/dist/components/forms/IconButton.d.ts +0 -7
  94. package/dist/components/forms/IconButton.js +0 -64
  95. package/dist/components/forms/IndeterminateCheckbox.d.ts +0 -8
  96. package/dist/components/forms/IndeterminateCheckbox.js +0 -41
  97. package/dist/components/forms/Select.d.ts +0 -10
  98. package/dist/components/forms/Select.js +0 -49
  99. package/dist/components/forms/index.d.ts +0 -5
  100. package/dist/components/forms/index.js +0 -23
  101. package/dist/components/forms/styles.d.ts +0 -2
  102. package/dist/components/forms/styles.js +0 -34
  103. package/dist/components/index.d.ts +0 -3
  104. package/dist/components/index.js +0 -19
  105. package/dist/components/layout/Dropdown/index.d.ts +0 -11
  106. package/dist/components/layout/Dropdown/index.js +0 -85
  107. package/dist/components/layout/Dropdown/styles.d.ts +0 -11
  108. package/dist/components/layout/Dropdown/styles.js +0 -45
  109. package/dist/components/layout/Loading/index.d.ts +0 -6
  110. package/dist/components/layout/Loading/index.js +0 -42
  111. package/dist/components/layout/Loading/styles.d.ts +0 -6
  112. package/dist/components/layout/Loading/styles.js +0 -18
  113. package/dist/components/layout/Modal/index.d.ts +0 -16
  114. package/dist/components/layout/Modal/index.js +0 -67
  115. package/dist/components/layout/Modal/styles.d.ts +0 -32
  116. package/dist/components/layout/Modal/styles.js +0 -52
  117. package/dist/components/layout/index.d.ts +0 -3
  118. package/dist/components/layout/index.js +0 -19
  119. package/dist/components/ui/ContextMenu/index.d.ts +0 -11
  120. package/dist/components/ui/ContextMenu/index.js +0 -63
  121. package/dist/components/ui/ContextMenu/styles.d.ts +0 -18
  122. package/dist/components/ui/ContextMenu/styles.js +0 -56
  123. package/dist/config/index.d.ts +0 -10
  124. package/dist/config/index.js +0 -2
  125. package/dist/helpers/dates.d.ts +0 -2
  126. package/dist/helpers/dates.js +0 -13
  127. package/dist/helpers/getScrollbarSize.d.ts +0 -1
  128. package/dist/helpers/getScrollbarSize.js +0 -17
  129. package/dist/helpers/numbers.d.ts +0 -4
  130. package/dist/helpers/numbers.js +0 -39
  131. package/dist/hooks/index.d.ts +0 -2
  132. package/dist/hooks/index.js +0 -18
  133. package/dist/hooks/useElementSize.d.ts +0 -4
  134. package/dist/hooks/useElementSize.js +0 -23
  135. package/dist/hooks/useWindowSize.d.ts +0 -4
  136. package/dist/hooks/useWindowSize.js +0 -19
  137. package/dist/index.d.ts +0 -5
  138. package/dist/index.js +0 -21
  139. package/dist/providers/PortalsProvider/index.d.ts +0 -10
  140. package/dist/providers/PortalsProvider/index.js +0 -46
  141. package/dist/providers/PortalsProvider/styles.d.ts +0 -9
  142. package/dist/providers/PortalsProvider/styles.js +0 -21
  143. package/dist/providers/SettingsProvider/index.d.ts +0 -8
  144. package/dist/providers/SettingsProvider/index.js +0 -54
  145. package/dist/providers/ThemeProvider/ThemeProvider.d.ts +0 -7
  146. package/dist/providers/ThemeProvider/ThemeProvider.js +0 -51
  147. package/dist/providers/ThemeProvider/defaultTheme.d.ts +0 -2
  148. package/dist/providers/ThemeProvider/defaultTheme.js +0 -417
  149. package/dist/providers/ThemeProvider/index.d.ts +0 -2
  150. package/dist/providers/ThemeProvider/index.js +0 -5
  151. package/dist/providers/ThemeProvider/types.d.ts +0 -24
  152. package/dist/providers/ThemeProvider/types.js +0 -2
  153. package/dist/providers/UiProviders/index.d.ts +0 -12
  154. package/dist/providers/UiProviders/index.js +0 -62
  155. package/dist/providers/UiProviders/styles.d.ts +0 -3
  156. package/dist/providers/UiProviders/styles.js +0 -13
  157. package/dist/providers/hooks.d.ts +0 -3
  158. package/dist/providers/hooks.js +0 -13
  159. package/dist/providers/index.d.ts +0 -4
  160. package/dist/providers/index.js +0 -20
  161. package/dist/services/HttpService.d.ts +0 -10
  162. package/dist/services/HttpService.js +0 -117
  163. package/dist/services/WebSocketService.d.ts +0 -24
  164. package/dist/services/WebSocketService.js +0 -136
  165. package/dist/services/advancedRequests.d.ts +0 -41
  166. package/dist/services/advancedRequests.js +0 -13
  167. package/dist/services/base.d.ts +0 -19
  168. package/dist/services/base.js +0 -10
  169. package/dist/services/globalSearch.d.ts +0 -13
  170. package/dist/services/globalSearch.js +0 -8
  171. package/dist/services/hooks.d.ts +0 -2
  172. package/dist/services/hooks.js +0 -18
  173. package/dist/services/index.d.ts +0 -2
  174. package/dist/services/index.js +0 -18
  175. package/dist/services/sqlRequests.d.ts +0 -45
  176. package/dist/services/sqlRequests.js +0 -11
  177. package/tsconfig.tsbuildinfo +0 -1
@@ -1,221 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
18
- }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
- };
36
- var __rest = (this && this.__rest) || function (s, e) {
37
- var t = {};
38
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
39
- t[p] = s[p];
40
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
41
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
42
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
43
- t[p[i]] = s[p[i]];
44
- }
45
- return t;
46
- };
47
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
48
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
49
- if (ar || !(i in from)) {
50
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
51
- ar[i] = from[i];
52
- }
53
- }
54
- return to.concat(ar || Array.prototype.slice.call(from));
55
- };
56
- Object.defineProperty(exports, "__esModule", { value: true });
57
- exports.DataGridFilterMenu = void 0;
58
- var jsx_runtime_1 = require("react/jsx-runtime");
59
- /* eslint-disable @typescript-eslint/no-explicit-any */
60
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
61
- var styles = __importStar(require("./styles"));
62
- var Icons_1 = require("../../../../Icons");
63
- var helpers_1 = require("../helpers");
64
- var lodash_1 = require("lodash");
65
- var react_1 = require("react");
66
- var ContextMenu_1 = require("../../../ui/ContextMenu");
67
- var FilterValuesScroller_1 = require("./FilterValuesScroller");
68
- var forms_1 = require("../../../forms");
69
- var hooks_1 = require("./hooks");
70
- var sortAsc = {
71
- number: ['Trier du plus petit au plus grand', Icons_1.ArrowDown19Icon],
72
- text: ['Trier de A à Z', Icons_1.ArrowDownAZIcon],
73
- date: ['Trier du plus ancien au plus récent', Icons_1.SortCalendarAscendingIcon],
74
- };
75
- var sortDesc = {
76
- number: ['Trier du plus grand au plus petit', Icons_1.ArrowUp91Icon],
77
- text: ['Trier de Z à A', Icons_1.ArrowUpZAIcon],
78
- date: ['Trier du plus récent au plus ancien', Icons_1.SortCalendarDescendingIcon],
79
- };
80
- var footerFunctionsTexts = {
81
- average: 'Moyenne',
82
- avg: 'Moyenne',
83
- count: 'Nombre',
84
- max: 'Maximum',
85
- min: 'Minimum',
86
- sum: 'Somme',
87
- };
88
- var footerFunctionsIcons = {
89
- average: Icons_1.XBarIcon,
90
- avg: Icons_1.XBarIcon,
91
- count: Icons_1.TallyIcon,
92
- max: Icons_1.ArrowUpBigSmallIcon,
93
- min: Icons_1.ArrowDownBigSmallIcon,
94
- sum: Icons_1.SigmaIcon,
95
- };
96
- var DataGridFilterMenu = function (_a) {
97
- var _b, _c, _d, _e, _f, _g, _h, _j;
98
- var columnKey = _a.columnKey, context = _a.context, onClose = _a.onClose;
99
- var _k = (0, hooks_1.useFilterModal)({ columnKey: columnKey, context: context }), openModal = _k.openModal, modal = _k.modal;
100
- var _l = (0, react_1.useContext)(context), _m = _l.filters, filters = _m === void 0 ? {} : _m, _o = _l.footers, footers = _o === void 0 ? {} : _o, rows = _l.rows, columns = _l.columns, setFilters = _l.setFilters, filterValuesLoader = _l.filterValuesLoader, setSorts = _l.setSorts, setFooters = _l.setFooters;
101
- var column = (_b = columns[columnKey]) !== null && _b !== void 0 ? _b : {};
102
- var textFilterInputRef = (0, react_1.useRef)(null);
103
- var _p = (0, react_1.useState)(''), textFilter = _p[0], setTextFilter = _p[1];
104
- var _q = (0, react_1.useState)([]), availableValues = _q[0], setAvailableValues = _q[1];
105
- (0, react_1.useEffect)(function () {
106
- if (filterValuesLoader) {
107
- filterValuesLoader(columnKey).then(function (values) {
108
- setAvailableValues(function () { return values; });
109
- });
110
- }
111
- else {
112
- var otherFilters = Object.entries(filters)
113
- .filter(function (_a) {
114
- var key = _a[0];
115
- return key !== columnKey;
116
- })
117
- .map(function (_a) {
118
- var filter = _a[1];
119
- return filter;
120
- });
121
- var availableRows = (0, helpers_1.applyFilters)(rows, otherFilters);
122
- var values_1 = availableRows.map(function (row) { return column.filter.getter(row); });
123
- setAvailableValues(function () {
124
- var _a;
125
- return (0, lodash_1.uniq)(values_1).sort(((_a = column.filter) === null || _a === void 0 ? void 0 : _a.type) === 'number'
126
- ? function (a, b) { return a - b; }
127
- : function (a, b) { return a.localeCompare(b); });
128
- });
129
- }
130
- }, [column.filter, columnKey, filterValuesLoader, filters, rows]);
131
- var selectedValues = (0, react_1.useMemo)(function () { var _a, _b; return (_b = (_a = filters === null || filters === void 0 ? void 0 : filters[columnKey]) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : []; }, [columnKey, filters]);
132
- var clearFilter = (0, react_1.useCallback)(function () {
133
- var newFilters = __assign({}, filters);
134
- delete newFilters[columnKey];
135
- setFilters(newFilters);
136
- onClose === null || onClose === void 0 ? void 0 : onClose();
137
- }, [filters, columnKey, setFilters, onClose]);
138
- var setValuesChecked = (0, react_1.useCallback)(function (values, checked) {
139
- setFilters(function (prevFilters) {
140
- var _a, _b, _c, _d, _e;
141
- var newValues = checked
142
- ? __spreadArray(__spreadArray([], ((_b = (_a = prevFilters[columnKey]) === null || _a === void 0 ? void 0 : _a.values) !== null && _b !== void 0 ? _b : []), true), values, true) : lodash_1.without.apply(void 0, __spreadArray([(_d = (_c = prevFilters[columnKey]) === null || _c === void 0 ? void 0 : _c.values) !== null && _d !== void 0 ? _d : []], values, false));
143
- var newFilters = __assign({}, prevFilters);
144
- if (newValues.length === 0) {
145
- delete newFilters[columnKey];
146
- }
147
- else {
148
- newFilters[columnKey] = __assign(__assign({}, ((_e = prevFilters[columnKey]) !== null && _e !== void 0 ? _e : column.filter)), { operator: 'inArray', values: newValues });
149
- }
150
- return newFilters;
151
- });
152
- }, [setFilters, columnKey, column.filter]);
153
- var toggleValues = (0, react_1.useCallback)(function (values) {
154
- var checked = (0, lodash_1.intersection)(selectedValues, values).length === values.length;
155
- setValuesChecked(values, !checked);
156
- }, [setValuesChecked, selectedValues]);
157
- var formatter = (0, react_1.useMemo)(function () { var _a, _b; return (_b = (_a = column.filter) === null || _a === void 0 ? void 0 : _a.formatter) !== null && _b !== void 0 ? _b : helpers_1.defaultRendererAndFormatter; }, [(_c = column.filter) === null || _c === void 0 ? void 0 : _c.formatter]);
158
- var renderer = (0, react_1.useMemo)(function () { var _a, _b; return (_b = (_a = column.filter) === null || _a === void 0 ? void 0 : _a.renderer) !== null && _b !== void 0 ? _b : helpers_1.defaultRendererAndFormatter; }, [(_d = column.filter) === null || _d === void 0 ? void 0 : _d.renderer]);
159
- var filteredAvailableValues = (0, react_1.useMemo)(function () {
160
- return !textFilter
161
- ? availableValues
162
- : availableValues.filter(function (value) { var _a; return (_a = formatter(value)) === null || _a === void 0 ? void 0 : _a.toLowerCase().includes(textFilter.toLowerCase()); });
163
- }, [availableValues, formatter, textFilter]);
164
- (0, react_1.useEffect)(function () {
165
- if (textFilterInputRef.current) {
166
- textFilterInputRef.current.focus();
167
- }
168
- }, []);
169
- var checkboxesComponent = (0, react_1.useMemo)(function () {
170
- var groups = column.type === 'date'
171
- ? (0, helpers_1.getDateGroups)(filteredAvailableValues)
172
- : undefined;
173
- return ((0, jsx_runtime_1.jsx)(FilterValuesScroller_1.FilterValuesScroller, { values: filteredAvailableValues, selectedValues: selectedValues, onToggle: toggleValues, formatter: formatter, renderer: renderer, groups: groups }));
174
- }, [
175
- column.type,
176
- filteredAvailableValues,
177
- formatter,
178
- renderer,
179
- selectedValues,
180
- toggleValues,
181
- ]);
182
- var onSortAscClicked = (0, react_1.useCallback)(function () {
183
- var _a;
184
- setSorts((_a = {}, _a[columnKey] = 'asc', _a));
185
- onClose === null || onClose === void 0 ? void 0 : onClose();
186
- }, [columnKey, onClose, setSorts]);
187
- var onSortDescClicked = (0, react_1.useCallback)(function () {
188
- var _a;
189
- setSorts((_a = {}, _a[columnKey] = 'desc', _a));
190
- onClose === null || onClose === void 0 ? void 0 : onClose();
191
- }, [columnKey, onClose, setSorts]);
192
- var hasFilters = ((_e = filters[columnKey]) === null || _e === void 0 ? void 0 : _e.values.length) > 0;
193
- var _r = [
194
- sortAsc[(_g = (_f = column.filter) === null || _f === void 0 ? void 0 : _f.type) !== null && _g !== void 0 ? _g : 'text'],
195
- sortDesc[(_j = (_h = column.filter) === null || _h === void 0 ? void 0 : _h.type) !== null && _j !== void 0 ? _j : 'text'],
196
- ], _s = _r[0], sortAscText = _s[0], SortAscIcon = _s[1], _t = _r[1], sortDescText = _t[0], SortDescIcon = _t[1];
197
- var isFooterVisible = columnKey in footers && footers[columnKey] !== undefined;
198
- var showFooter = (0, react_1.useCallback)(function (key) {
199
- setFooters(function (prevFooters) {
200
- var _a;
201
- return (__assign(__assign({}, prevFooters), (_a = {}, _a[columnKey] = key, _a)));
202
- });
203
- onClose === null || onClose === void 0 ? void 0 : onClose();
204
- }, [columnKey, onClose, setFooters]);
205
- var hideFooter = (0, react_1.useCallback)(function () {
206
- setFooters(function (prevFooters) {
207
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
208
- var _a = prevFooters, _b = columnKey, _ = _a[_b], newFooters = __rest(_a, [typeof _b === "symbol" ? _b : _b + ""]);
209
- return newFooters;
210
- });
211
- onClose === null || onClose === void 0 ? void 0 : onClose();
212
- }, [columnKey, onClose, setFooters]);
213
- return ((0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu, { children: [modal, column.sortGetter && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.Item, { onClick: onSortAscClicked, children: [(0, jsx_runtime_1.jsx)(SortAscIcon, {}), sortAscText] }), (0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.Item, { onClick: onSortDescClicked, children: [(0, jsx_runtime_1.jsx)(SortDescIcon, {}), sortDescText] }), (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu.Divider, {})] })), isFooterVisible && typeof column.footer === 'function' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.Item, { onClick: hideFooter, children: [(0, jsx_runtime_1.jsx)(Icons_1.TableFooterSlashIcon, {}), "Masquer le total"] }), (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu.Divider, {})] })), !isFooterVisible && typeof column.footer === 'function' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.Item, { onClick: function () { return showFooter('count'); }, children: [(0, jsx_runtime_1.jsx)(Icons_1.TableFooterIcon, {}), "Afficher le total"] }), (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu.Divider, {})] })), typeof column.footer === 'object' && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.ParentItem, { children: [(0, jsx_runtime_1.jsx)(Icons_1.TableFooterIcon, {}), "Afficher le total", (0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.SubMenu, { children: [Object.keys(column.footer).map(function (key) {
214
- var _a;
215
- var TotalIcon = (_a = footerFunctionsIcons[key]) !== null && _a !== void 0 ? _a : Icons_1.TableFooterIcon;
216
- return ((0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.Item, { onClick: function () { return showFooter(key); }, children: [(0, jsx_runtime_1.jsx)(TotalIcon, {}), key in footerFunctionsTexts
217
- ? footerFunctionsTexts[key]
218
- : key] }, key));
219
- }), (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu.Divider, {}), (0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.Item, { onClick: hideFooter, disabled: !isFooterVisible, children: [(0, jsx_runtime_1.jsx)(Icons_1.TableFooterSlashIcon, {}), "Masquer le total"] })] })] }), (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu.Divider, {})] })), (0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.Item, { onClick: openModal, children: [(0, jsx_runtime_1.jsx)(Icons_1.FilterIcon, {}), "Filtrer ..."] }), (0, jsx_runtime_1.jsxs)(ContextMenu_1.ContextMenu.Item, { "$color": "danger", onClick: clearFilter, disabled: !hasFilters, children: [(0, jsx_runtime_1.jsx)(Icons_1.FilterSlashIcon, {}), "Supprimer le filtre"] }), (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu.Divider, {}), (0, jsx_runtime_1.jsxs)(styles.InputContainer, { children: [(0, jsx_runtime_1.jsx)(Icons_1.MagnifierIcon, {}), (0, jsx_runtime_1.jsx)(forms_1.Input, { ref: textFilterInputRef, type: "text", name: "search", id: "search", placeholder: "Rechercher ...", value: textFilter, onChange: function (e) { return setTextFilter(e.target.value); } })] }), (0, jsx_runtime_1.jsx)(styles.CheckboxesContainer, { children: checkboxesComponent })] }));
220
- };
221
- exports.DataGridFilterMenu = DataGridFilterMenu;
@@ -1,18 +0,0 @@
1
- export declare const DEFAULT_FILTER_ROW_HEIGHT = 24;
2
- export declare const InputContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
3
- ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
4
- }>, never>, never>> & string;
5
- export declare const CheckboxesContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
6
- ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
7
- }>, never>, never>> & string;
8
- export declare const Separator: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
9
- ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
10
- }>, never>, never>> & string;
11
- export declare const FilterValueContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
12
- ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
13
- }>, never>, never>> & string;
14
- export declare const FilterValuesScrollerContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("styled-components").FastOmit<import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
15
- ref?: ((instance: HTMLDivElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLDivElement> | null | undefined;
16
- }>, never>, {
17
- $rowHeight?: number;
18
- }>> & string;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.FilterValuesScrollerContainer = exports.FilterValueContainer = exports.Separator = exports.CheckboxesContainer = exports.InputContainer = exports.DEFAULT_FILTER_ROW_HEIGHT = void 0;
11
- var styled_components_1 = __importDefault(require("styled-components"));
12
- exports.DEFAULT_FILTER_ROW_HEIGHT = 24;
13
- exports.InputContainer = styled_components_1.default.div.attrs({
14
- className: 'InputContainer',
15
- })(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: relative;\n border-radius: var(--rounded-md);\n padding: 0 var(--space-1);\n\n svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: var(--space-4);\n display: flex;\n align-items: center;\n fill: var(--color-neutral-400);\n width: var(--space-4);\n height: var(--space-4);\n }\n\n input {\n padding-left: var(--space-8);\n }\n"], ["\n position: relative;\n border-radius: var(--rounded-md);\n padding: 0 var(--space-1);\n\n svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: var(--space-4);\n display: flex;\n align-items: center;\n fill: var(--color-neutral-400);\n width: var(--space-4);\n height: var(--space-4);\n }\n\n input {\n padding-left: var(--space-8);\n }\n"])));
16
- exports.CheckboxesContainer = styled_components_1.default.div.attrs({
17
- className: 'CheckboxesContainer',
18
- })(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n font-weight: normal;\n user-select: none;\n padding: var(--space-2);\n margin: var(--space-1);\n margin-bottom: 0;\n border: 1px solid var(--color-neutral-300);\n border-radius: var(--rounded-md);\n box-shadow: var(--shadow-inner);\n background-color: var(--color-neutral-0);\n height: 20em;\n overflow-y: hidden;\n white-space: nowrap;\n"], ["\n font-weight: normal;\n user-select: none;\n padding: var(--space-2);\n margin: var(--space-1);\n margin-bottom: 0;\n border: 1px solid var(--color-neutral-300);\n border-radius: var(--rounded-md);\n box-shadow: var(--shadow-inner);\n background-color: var(--color-neutral-0);\n height: 20em;\n overflow-y: hidden;\n white-space: nowrap;\n"])));
19
- exports.Separator = styled_components_1.default.div.attrs({
20
- className: 'Separator',
21
- })(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n border-top: 1px solid var(--color-neutral-200);\n margin: var(--space-1) 0;\n"], ["\n border-top: 1px solid var(--color-neutral-200);\n margin: var(--space-1) 0;\n"])));
22
- exports.FilterValueContainer = styled_components_1.default.div.attrs({
23
- className: 'FilterValueContainer',
24
- })(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n position: absolute;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: var(--color-neutral-50);\n }\n"], ["\n position: absolute;\n left: 0;\n right: 0;\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: var(--color-neutral-50);\n }\n"])));
25
- exports.FilterValuesScrollerContainer = styled_components_1.default.div.attrs({
26
- className: 'FilterValuesScrollerContainer',
27
- })(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: block;\n font-size: var(--text-base);\n background-color: var(--color-neutral-0);\n overflow-y: scroll;\n overflow-x: hidden;\n height: 100%;\n\n & > div {\n position: relative;\n }\n\n & ", " {\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ", ";\n\n input[type='checkbox'] {\n margin-right: var(--space-1);\n }\n }\n"], ["\n display: block;\n font-size: var(--text-base);\n background-color: var(--color-neutral-0);\n overflow-y: scroll;\n overflow-x: hidden;\n height: 100%;\n\n & > div {\n position: relative;\n }\n\n & ", " {\n position: absolute;\n display: flex;\n flex-direction: row;\n align-items: center;\n height: ", ";\n\n input[type='checkbox'] {\n margin-right: var(--space-1);\n }\n }\n"])), exports.FilterValueContainer, function (_a) {
28
- var _b = _a.$rowHeight, $rowHeight = _b === void 0 ? exports.DEFAULT_FILTER_ROW_HEIGHT : _b;
29
- return "".concat($rowHeight, "px");
30
- });
31
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -1,4 +0,0 @@
1
- import { DataGridContext } from './types';
2
- export declare const DataGridFooter: <R>({ context, }: {
3
- context: DataGridContext<R>;
4
- }) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.DataGridFooter = void 0;
27
- var jsx_runtime_1 = require("react/jsx-runtime");
28
- /* eslint-disable @typescript-eslint/no-explicit-any */
29
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
30
- var styles = __importStar(require("./styles"));
31
- var hooks_1 = require("./hooks");
32
- var DataGridFooter = function (_a) {
33
- var context = _a.context;
34
- var _b = (0, hooks_1.useDataGridContext)(context), visibleColumns = _b.visibleColumns, rows = _b.rows, selectedRows = _b.selectedRows, sortedRows = _b.sortedRows, selectable = _b.selectable, _c = _b.footers, footers = _c === void 0 ? {} : _c, gridTemplateColumns = _b.gridTemplateColumns, footerFunctions = _b.footerFunctions;
35
- if (!Object.keys(footers).length) {
36
- return null;
37
- }
38
- return ((0, jsx_runtime_1.jsxs)(styles.DataGridFooterRow, { "$gridTemplateColumns": gridTemplateColumns, children: [!!selectable && (0, jsx_runtime_1.jsx)(styles.HeaderSelectionCell, {}), visibleColumns.map(function (_a) {
39
- var _b, _c;
40
- var key = _a[0], col = _a[1];
41
- return ((0, jsx_runtime_1.jsx)(styles.DataGridHeaderCellContainer, { style: { width: ((_b = col.width) !== null && _b !== void 0 ? _b : 150) + 'px' }, children: (_c = footerFunctions === null || footerFunctions === void 0 ? void 0 : footerFunctions[key]) === null || _c === void 0 ? void 0 : _c.call(footerFunctions, rows, sortedRows, selectedRows) }, key));
42
- })] }));
43
- };
44
- exports.DataGridFooter = DataGridFooter;
@@ -1,4 +0,0 @@
1
- import { DataGridContext } from './types';
2
- export declare const DataGridHeader: <R>({ context, }: {
3
- context: DataGridContext<R>;
4
- }) => import("react/jsx-runtime").JSX.Element;
@@ -1,119 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __generator = (this && this.__generator) || function (thisArg, body) {
35
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
36
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
- function verb(n) { return function (v) { return step([n, v]); }; }
38
- function step(op) {
39
- if (f) throw new TypeError("Generator is already executing.");
40
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
- if (y = 0, t) op = [op[0] & 2, t.value];
43
- switch (op[0]) {
44
- case 0: case 1: t = op; break;
45
- case 4: _.label++; return { value: op[1], done: false };
46
- case 5: _.label++; y = op[1]; op = [0]; continue;
47
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
- default:
49
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
- if (t[2]) _.ops.pop();
54
- _.trys.pop(); continue;
55
- }
56
- op = body.call(thisArg, _);
57
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
- }
60
- };
61
- Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.DataGridHeader = void 0;
63
- var jsx_runtime_1 = require("react/jsx-runtime");
64
- /* eslint-disable @typescript-eslint/no-explicit-any */
65
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
66
- var styles = __importStar(require("./styles"));
67
- var Icons_1 = require("../../../Icons");
68
- var react_1 = require("react");
69
- var forms_1 = require("../../forms");
70
- var DataGridHeaderCell_1 = require("./DataGridHeaderCell");
71
- var IndeterminateCheckbox_1 = require("../../forms/IndeterminateCheckbox");
72
- var layout_1 = require("../../layout");
73
- var hooks_1 = require("./DataGridColumnsModal/hooks");
74
- var hooks_2 = require("./hooks");
75
- var DataGridHeader = function (_a) {
76
- var context = _a.context;
77
- var _b = (0, hooks_2.useDataGridContext)(context), name = _b.name, visibleColumns = _b.visibleColumns, selectable = _b.selectable, rows = _b.rows, selectedKeys = _b.selectedKeys, setSelectedKeys = _b.setSelectedKeys, copyTable = _b.copyTable, setFilters = _b.setFilters, refresh = _b.refresh, headerColor = _b.headerColor, rowKeyGetter = _b.rowKeyGetter, gridTemplateColumns = _b.gridTemplateColumns, getAllIds = _b.getAllIds;
78
- var _c = (0, react_1.useState)(), visibleFilter = _c[0], setVisibleFilter = _c[1];
79
- var _d = (0, hooks_1.useDataGridColumnsModal)(context), openModal = _d.openModal, modal = _d.modal;
80
- var checkboxStatus = selectedKeys.length === 0
81
- ? false
82
- : selectedKeys.length === rows.length
83
- ? true
84
- : undefined;
85
- var toggleAll = (0, react_1.useCallback)(function (newStatus) { return __awaiter(void 0, void 0, void 0, function () {
86
- var allIds, _a;
87
- return __generator(this, function (_b) {
88
- switch (_b.label) {
89
- case 0:
90
- if (!getAllIds) return [3 /*break*/, 2];
91
- return [4 /*yield*/, getAllIds()];
92
- case 1:
93
- _a = _b.sent();
94
- return [3 /*break*/, 3];
95
- case 2:
96
- _a = rows.map(rowKeyGetter);
97
- _b.label = 3;
98
- case 3:
99
- allIds = _a;
100
- setSelectedKeys(newStatus ? allIds : []);
101
- return [2 /*return*/];
102
- }
103
- });
104
- }); }, [getAllIds, rowKeyGetter, rows, setSelectedKeys]);
105
- var onFilterButtonClicked = (0, react_1.useCallback)(function (columnKey) {
106
- setVisibleFilter(function (prev) { return (prev === columnKey ? undefined : columnKey); });
107
- }, []);
108
- var _e = (0, react_1.useState)(false), isLoadingVisible = _e[0], setIsLoadingVisible = _e[1];
109
- var runCopyTable = (0, react_1.useCallback)(function () {
110
- setIsLoadingVisible(true);
111
- copyTable().then(function () { return setIsLoadingVisible(false); });
112
- }, [copyTable]);
113
- var toolsRow = ((0, jsx_runtime_1.jsxs)(styles.DataGridToolsRow, { children: [(0, jsx_runtime_1.jsx)(layout_1.Loading, { visible: isLoadingVisible }), refresh && ((0, jsx_runtime_1.jsxs)(forms_1.Button, { size: "small", onClick: refresh, children: [(0, jsx_runtime_1.jsx)(Icons_1.ArrowsRotateIcon, {}), "Rafra\u00EEchir"] })), (0, jsx_runtime_1.jsxs)(forms_1.Button, { color: "emerald", size: "small", onClick: runCopyTable, children: [(0, jsx_runtime_1.jsx)(Icons_1.CopyIcon, {}), "Copier la table"] }), (0, jsx_runtime_1.jsxs)(forms_1.Button, { size: "small", color: "danger", onClick: function () { return setFilters({}); }, children: [(0, jsx_runtime_1.jsx)(Icons_1.FilterSlashIcon, {}), "Supprimer les filtres"] }), name && ((0, jsx_runtime_1.jsxs)(forms_1.Button, { color: "info", size: "small", onClick: openModal, children: [(0, jsx_runtime_1.jsx)(Icons_1.TableColumnsIcon, {}), "Param\u00E8tres des colonnes"] }))] }));
114
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [modal, toolsRow, (0, jsx_runtime_1.jsxs)(styles.DataGridHeaderRow, { "$gridTemplateColumns": gridTemplateColumns, "$headerColor": headerColor, children: [!!selectable && ((0, jsx_runtime_1.jsx)(styles.HeaderSelectionCell, { "$headerColor": headerColor, onClick: function () { return toggleAll(!(checkboxStatus !== null && checkboxStatus !== void 0 ? checkboxStatus : true)); }, children: (0, jsx_runtime_1.jsx)(IndeterminateCheckbox_1.IndeterminateCheckbox, { checked: checkboxStatus, readOnly: true }) })), visibleColumns.map(function (_a, index) {
115
- var key = _a[0], col = _a[1];
116
- return ((0, jsx_runtime_1.jsx)(DataGridHeaderCell_1.DataGridHeaderCell, { columnKey: key, column: col, context: context, columnIndex: index, isFilterOpen: visibleFilter === key, onFilterButtonClicked: onFilterButtonClicked }, key));
117
- })] })] }));
118
- };
119
- exports.DataGridHeader = DataGridHeader;
@@ -1,2 +0,0 @@
1
- import { DataGridHeaderCellProps } from './types';
2
- export declare const DataGridHeaderCell: <R>({ columnKey, columnIndex, column, context, }: DataGridHeaderCellProps<R>) => import("react/jsx-runtime").JSX.Element;
@@ -1,84 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.DataGridHeaderCell = void 0;
27
- var jsx_runtime_1 = require("react/jsx-runtime");
28
- /* eslint-disable @typescript-eslint/no-explicit-any */
29
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
30
- var styles = __importStar(require("./styles"));
31
- var react_1 = require("react");
32
- var Icons_1 = require("../../../Icons");
33
- var DataGridFilterMenu_1 = require("./DataGridFilterMenu");
34
- var layout_1 = require("../../layout");
35
- var IconButton_1 = require("../../forms/IconButton");
36
- var hooks_1 = require("./hooks");
37
- var providers_1 = require("../../../providers");
38
- var DataGridHeaderCell = function (_a) {
39
- var _b;
40
- var columnKey = _a.columnKey, columnIndex = _a.columnIndex, column = _a.column, context = _a.context;
41
- var getElementScreenRect = (0, providers_1.useUi)().getElementScreenRect;
42
- var contextValue = (0, hooks_1.useDataGridContext)(context);
43
- var _c = contextValue.filters, filters = _c === void 0 ? {} : _c, setColumnWidth = contextValue.setColumnWidth, saveSettings = contextValue.saveSettings, headerColor = contextValue.headerColor;
44
- var filterButtonRef = (0, react_1.useRef)(null);
45
- /** RESIZING */
46
- var _d = (0, react_1.useState)(false), isResizing = _d[0], setIsResizing = _d[1];
47
- var resizingOffset = (0, react_1.useRef)(0);
48
- var onResizeStart = (0, react_1.useCallback)(function (e) {
49
- resizingOffset.current = e.screenX - (column.width || 150);
50
- setIsResizing(true);
51
- }, [column.width]);
52
- var onResizeMove = (0, react_1.useCallback)(function (e) {
53
- if (isResizing) {
54
- var newWidth = Math.max(86, e.screenX - resizingOffset.current);
55
- setColumnWidth(columnKey, newWidth);
56
- }
57
- }, [columnKey, isResizing, setColumnWidth]);
58
- var onResizeEnd = (0, react_1.useCallback)(function () {
59
- setIsResizing(false);
60
- saveSettings();
61
- }, [saveSettings]);
62
- var _e = (0, react_1.useState)(false), isFilterDropdownVisible = _e[0], setIsFilterDropdownVisible = _e[1];
63
- var filterDropdown = (0, react_1.useMemo)(function () {
64
- if (!isFilterDropdownVisible || !filterButtonRef.current || !columnKey) {
65
- return null;
66
- }
67
- var filterButtonRect = getElementScreenRect(filterButtonRef.current);
68
- filterButtonRect.x += window.scrollX;
69
- filterButtonRect.y += window.scrollY;
70
- return ((0, jsx_runtime_1.jsx)(layout_1.Dropdown, { "$sourceRect": filterButtonRect, onClose: function () { return setIsFilterDropdownVisible(false); }, "$width": 320, "$height": [250, 400], "$autoPositionX": true, children: (0, jsx_runtime_1.jsx)(DataGridFilterMenu_1.DataGridFilterMenu, { columnKey: columnKey, columnIndex: columnIndex, context: context, onClose: function () { return setIsFilterDropdownVisible(false); } }) }));
71
- }, [
72
- columnIndex,
73
- columnKey,
74
- context,
75
- getElementScreenRect,
76
- isFilterDropdownVisible,
77
- ]);
78
- var onFilterButtonClicked = (0, react_1.useCallback)(function () {
79
- setIsFilterDropdownVisible(true);
80
- }, []);
81
- var hasFilters = ((_b = filters[columnKey]) === null || _b === void 0 ? void 0 : _b.values.length) > 0;
82
- return ((0, jsx_runtime_1.jsxs)(styles.DataGridHeaderCellContainer, { "$headerColor": headerColor, "$isResizing": isResizing, children: [filterDropdown, (0, jsx_runtime_1.jsx)("span", { children: column.name }), !!column.filter && ((0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { size: "small", className: hasFilters ? 'danger' : '', ref: filterButtonRef, icon: Icons_1.ChevronDownIcon, color: hasFilters ? 'danger' : headerColor, onClick: onFilterButtonClicked })), column.resizable !== false && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(styles.DataGridResizeGrip, { className: isResizing ? 'active' : '', "$headerColor": headerColor, onMouseDown: onResizeStart }), isResizing && ((0, jsx_runtime_1.jsx)(styles.ResizeBackdrop, { onMouseMove: onResizeMove, onMouseUp: onResizeEnd }))] }))] }));
83
- };
84
- exports.DataGridHeaderCell = DataGridHeaderCell;
@@ -1,7 +0,0 @@
1
- import { DataGridFilter } from '../types';
2
- type FilterModalContentProps = {
3
- filter: DataGridFilter;
4
- onFilterChanged: (filter: DataGridFilter) => void;
5
- };
6
- export declare const FilterModalContent: ({ filter, onFilterChanged, }: FilterModalContentProps) => import("react/jsx-runtime").JSX.Element | null;
7
- export {};