@addev-be/ui 0.16.4 → 0.16.7
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.
- package/assets/icons/table.svg +1 -1
- package/dist/Icons.d.ts +9 -1
- package/dist/Icons.js +17 -1
- package/dist/components/auth/LoginForm.js +1 -1
- package/dist/components/auth/PasswordRecoveryForm.js +1 -1
- package/dist/components/auth/PasswordResetForm.js +1 -1
- package/dist/components/data/DataGrid/DataGridCell.js +5 -5
- package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +2 -2
- package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +1 -7
- package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +3 -3
- package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +16 -21
- package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.d.ts +2 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.js +23 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.d.ts +2 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.js +27 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.d.ts +5 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.js +32 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.d.ts +2 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.js +23 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/index.d.ts +2 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/index.js +91 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/styles.d.ts +3 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/styles.js +17 -0
- package/dist/components/data/DataGrid/DataGridEditableCell/types.d.ts +11 -0
- package/dist/components/data/{AdvancedRequestDataGrid → DataGrid/DataGridEditableCell}/types.js +1 -0
- package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +17 -1
- package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +4 -3
- package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +11 -12
- package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +5 -4
- package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +44 -40
- package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +1 -1
- package/dist/components/data/DataGrid/DataGridFooter.js +5 -5
- package/dist/components/data/DataGrid/DataGridHeader.js +40 -6
- package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +1 -1
- package/dist/components/data/DataGrid/DataGridHeaderCell.js +11 -23
- package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +1 -1
- package/dist/components/data/DataGrid/DataGridRowTemplate.js +8 -9
- package/dist/components/data/DataGrid/FilterModalContent/index.js +1 -1
- package/dist/components/data/DataGrid/constants.d.ts +6 -0
- package/dist/components/data/DataGrid/constants.js +9 -0
- package/dist/components/data/DataGrid/helpers/columns.d.ts +13 -12
- package/dist/components/data/DataGrid/helpers/columns.js +100 -130
- package/dist/components/data/DataGrid/hooks/index.d.ts +3 -3
- package/dist/components/data/DataGrid/hooks/index.js +8 -12
- package/dist/components/data/DataGrid/hooks/useDataGrid.js +71 -23
- package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.d.ts +9 -0
- package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.js +71 -0
- package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +25 -30
- package/dist/components/data/DataGrid/index.js +16 -3
- package/dist/components/data/DataGrid/styles.d.ts +13 -8
- package/dist/components/data/DataGrid/styles.js +58 -30
- package/dist/components/data/DataGrid/types.d.ts +81 -15
- package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +2 -0
- package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +19 -0
- package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +16 -17
- package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +236 -84
- package/dist/components/data/SqlRequestDataGrid/index.js +77 -63
- package/dist/components/data/SqlRequestDataGrid/styles.d.ts +2 -0
- package/dist/components/data/SqlRequestDataGrid/styles.js +14 -0
- package/dist/components/data/SqlRequestDataGrid/types.d.ts +13 -3
- package/dist/components/data/SqlRequestDataGrid/types.js +1 -0
- package/dist/components/data/SqlRequestForeignList/index.d.ts +4 -0
- package/dist/components/data/SqlRequestForeignList/index.js +131 -0
- package/dist/components/data/SqlRequestForeignList/styles.d.ts +9 -0
- package/dist/components/data/SqlRequestForeignList/styles.js +22 -0
- package/dist/components/data/SqlRequestForeignList/types.d.ts +22 -0
- package/dist/components/data/SqlRequestForeignList/types.js +3 -0
- package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.d.ts +10 -0
- package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.js +51 -0
- package/dist/components/data/SqlRequestGrid/filters/styles.d.ts +4 -0
- package/dist/components/data/SqlRequestGrid/filters/styles.js +17 -0
- package/dist/components/data/SqlRequestGrid/index.d.ts +1 -1
- package/dist/components/data/SqlRequestGrid/index.js +139 -49
- package/dist/components/data/SqlRequestGrid/styles.d.ts +0 -12
- package/dist/components/data/SqlRequestGrid/styles.js +4 -20
- package/dist/components/data/SqlRequestGrid/types.d.ts +14 -4
- package/dist/components/data/VirtualScroller/index.d.ts +4 -3
- package/dist/components/data/VirtualScroller/index.js +15 -5
- package/dist/components/data/VirtualScroller/styles.d.ts +4 -2
- package/dist/components/data/VirtualScroller/styles.js +9 -6
- package/dist/components/data/index.d.ts +1 -2
- package/dist/components/data/index.js +1 -2
- package/dist/components/forms/AutoTextArea.d.ts +10 -0
- package/dist/components/forms/AutoTextArea.js +40 -0
- package/dist/components/forms/Button.d.ts +9 -2
- package/dist/components/forms/Button.js +13 -7
- package/dist/components/forms/Form/Checkbox.d.ts +3 -0
- package/dist/components/forms/Form/Checkbox.js +33 -0
- package/dist/components/forms/Form/FormGroup.d.ts +9 -0
- package/dist/components/forms/Form/FormGroup.js +10 -0
- package/dist/components/forms/Form/Input.d.ts +3 -0
- package/dist/components/forms/Form/Input.js +33 -0
- package/dist/components/forms/Form/Row.d.ts +9 -0
- package/dist/components/forms/Form/Row.js +10 -0
- package/dist/components/forms/Form/Select.d.ts +18 -0
- package/dist/components/forms/Form/Select.js +47 -0
- package/dist/components/forms/Form/TextArea.d.ts +4 -0
- package/dist/components/forms/Form/TextArea.js +34 -0
- package/dist/components/forms/Form/index.d.ts +80 -0
- package/dist/components/forms/Form/index.js +29 -0
- package/dist/components/forms/Form/styles.d.ts +19 -0
- package/dist/components/forms/Form/styles.js +49 -0
- package/dist/components/forms/IconButton.d.ts +2 -1
- package/dist/components/forms/IconButton.js +12 -12
- package/dist/components/forms/NumberInput.d.ts +9 -0
- package/dist/components/forms/NumberInput.js +41 -0
- package/dist/components/forms/Select.d.ts +5 -6
- package/dist/components/forms/Select.js +2 -5
- package/dist/components/forms/index.d.ts +4 -0
- package/dist/components/forms/index.js +4 -0
- package/dist/components/layout/Columns.d.ts +5 -0
- package/dist/components/layout/Columns.js +19 -0
- package/dist/components/layout/Dropdown/index.d.ts +1 -0
- package/dist/components/layout/Dropdown/index.js +24 -3
- package/dist/components/layout/Grid/index.d.ts +6 -0
- package/dist/components/layout/Grid/index.js +6 -0
- package/dist/components/layout/Grid/styles.d.ts +14 -0
- package/dist/components/layout/Grid/styles.js +29 -0
- package/dist/components/layout/Masonry/index.d.ts +3 -0
- package/dist/components/layout/Masonry/index.js +20 -0
- package/dist/components/layout/Masonry/styles.d.ts +5 -0
- package/dist/components/layout/Masonry/styles.js +17 -0
- package/dist/components/layout/index.d.ts +4 -1
- package/dist/components/layout/index.js +4 -1
- package/dist/components/search/QuickSearchBar.js +6 -0
- package/dist/components/ui/Avatar/index.d.ts +10 -0
- package/dist/components/ui/Avatar/index.js +52 -0
- package/dist/components/ui/Avatar/styles.d.ts +4 -0
- package/dist/components/ui/Avatar/styles.js +43 -0
- package/dist/components/ui/Card/styles.js +1 -1
- package/dist/components/ui/Ellipsis.d.ts +13 -0
- package/dist/components/ui/Ellipsis.js +28 -0
- package/dist/components/ui/Label.d.ts +9 -0
- package/dist/components/ui/Label.js +74 -0
- package/dist/components/ui/ToastNotification.d.ts +14 -0
- package/dist/components/ui/ToastNotification.js +78 -0
- package/dist/components/ui/index.d.ts +3 -0
- package/dist/components/ui/index.js +3 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.js +1 -0
- package/dist/helpers/numbers.d.ts +3 -0
- package/dist/helpers/numbers.js +33 -1
- package/dist/helpers/responsive.d.ts +37 -0
- package/dist/helpers/responsive.js +57 -0
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/useContainerMediaQuery.d.ts +17 -0
- package/dist/hooks/useContainerMediaQuery.js +10 -0
- package/dist/hooks/useMediaQuery.d.ts +17 -0
- package/dist/hooks/useMediaQuery.js +11 -0
- package/dist/hooks/useMediaQueryForWidth.d.ts +17 -0
- package/dist/hooks/useMediaQueryForWidth.js +26 -0
- package/dist/hooks/useMutableState.d.ts +2 -0
- package/dist/hooks/useMutableState.js +16 -0
- package/dist/hooks/useShowArchived.d.ts +6 -0
- package/dist/hooks/useShowArchived.js +21 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/providers/AuthenticationProvider/index.js +4 -3
- package/dist/providers/PortalsProvider/styles.js +1 -1
- package/dist/providers/ThemeProvider/defaultTheme.js +13 -0
- package/dist/providers/ThemeProvider/helpers.d.ts +3 -0
- package/dist/providers/ThemeProvider/helpers.js +13 -0
- package/dist/providers/ThemeProvider/types.d.ts +2 -1
- package/dist/providers/TrackingProvider/hooks.d.ts +1 -0
- package/dist/providers/TrackingProvider/hooks.js +15 -0
- package/dist/providers/TrackingProvider/index.d.ts +8 -0
- package/dist/providers/TrackingProvider/index.js +41 -0
- package/dist/providers/UiProviders/index.js +2 -1
- package/dist/providers/index.d.ts +2 -0
- package/dist/providers/index.js +2 -0
- package/dist/services/globalSearch.d.ts +2 -1
- package/dist/services/index.d.ts +7 -0
- package/dist/services/index.js +20 -0
- package/dist/services/requests/generic.d.ts +29 -0
- package/dist/services/requests/generic.js +29 -0
- package/dist/services/requests/tracking.d.ts +18 -0
- package/dist/services/requests/tracking.js +8 -0
- package/dist/services/smartQueries.d.ts +51 -0
- package/dist/services/smartQueries.js +10 -0
- package/dist/services/smartRequests.d.ts +0 -0
- package/dist/services/smartRequests.js +1 -0
- package/dist/services/types/generic.d.ts +44 -0
- package/dist/services/types/generic.js +79 -0
- package/dist/services/types/tracking.d.ts +24 -0
- package/dist/services/types/tracking.js +47 -0
- package/dist/services/updateSqlRequests.d.ts +24 -0
- package/dist/services/updateSqlRequests.js +7 -0
- package/package.json +1 -1
- package/src/components/data/DataGrid/styles.ts +9 -2
- package/src/components/forms/NumberInput.tsx +53 -53
- package/src/components/ui/Avatar/styles.ts +61 -61
- package/src/components/ui/Label.tsx +90 -90
- package/src/providers/TrackingProvider/hooks.ts +14 -14
- package/tsconfig.tsbuildinfo +1 -1
- package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +0 -14
- package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +0 -76
- package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +0 -22
- package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +0 -156
- package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +0 -2
- package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +0 -18
- package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +0 -2
- package/dist/components/data/AdvancedRequestDataGrid/index.js +0 -215
- package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +0 -21
- package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +0 -2
- package/dist/components/data/DataGrid/DataGridEditableCell.js +0 -27
|
@@ -14,10 +14,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
14
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.colorColumn = exports.checkboxColumn = exports.percentageColumn = exports.moneyColumn = exports.numberColumn = exports.monthColumn = exports.dateTimeColumn = exports.dateColumn = exports.phoneColumn = exports.mailColumn = exports.textColumn = exports.buildExcelFormat = exports.isColumnVisible = void 0;
|
|
17
|
+
exports.colorColumn = exports.selectColumn = exports.checkboxColumn = exports.percentageColumn = exports.moneyColumn = exports.numberColumn = exports.monthColumn = exports.dateTimeColumn = exports.dateColumn = exports.phoneColumn = exports.mailColumn = exports.textColumn = exports.buildExcelFormat = exports.isColumnVisible = void 0;
|
|
18
18
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
|
+
var react_1 = require("react");
|
|
19
20
|
var filters_1 = require("./filters");
|
|
20
21
|
var numbers_1 = require("../../../../helpers/numbers");
|
|
22
|
+
var CheckboxEditableCell_1 = require("../DataGridEditableCell/CheckboxEditableCell");
|
|
23
|
+
var DateEditableCell_1 = require("../DataGridEditableCell/DateEditableCell");
|
|
24
|
+
var NumberEditableCell_1 = require("../DataGridEditableCell/NumberEditableCell");
|
|
25
|
+
var Select_1 = require("../../../forms/Form/Select");
|
|
26
|
+
var TextEditableCell_1 = require("../DataGridEditableCell/TextEditableCell");
|
|
21
27
|
var moment_1 = __importDefault(require("moment"));
|
|
22
28
|
var lodash_1 = require("lodash");
|
|
23
29
|
var isColumnVisible = function (obj) { return (obj === null || obj === void 0 ? void 0 : obj.order) !== -1; };
|
|
@@ -28,149 +34,113 @@ var buildExcelFormat = function (decimals, suffix) {
|
|
|
28
34
|
return "#0".concat(decimals > 0 ? ".".concat((0, lodash_1.repeat)('0', decimals)) : '').concat(suffix);
|
|
29
35
|
};
|
|
30
36
|
exports.buildExcelFormat = buildExcelFormat;
|
|
31
|
-
var textColumn = function (key, title,
|
|
32
|
-
var _a;
|
|
33
|
-
return (_a = {},
|
|
34
|
-
_a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
|
|
35
|
-
_a);
|
|
36
|
-
};
|
|
37
|
+
var textColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'text', name: title, render: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key), editComponent: TextEditableCell_1.TextEditableCell }, otherOptions)); };
|
|
37
38
|
exports.textColumn = textColumn;
|
|
38
|
-
var mailColumn = function (key, title,
|
|
39
|
-
var _a;
|
|
40
|
-
return (_a = {},
|
|
41
|
-
_a[key] = __assign({ name: title, render: function (row) {
|
|
42
|
-
var _a;
|
|
43
|
-
return ((0, jsx_runtime_1.jsx)("a", {
|
|
44
|
-
// className="text-blue-500 hover:text-blue-700"
|
|
45
|
-
href: "mailto:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
|
|
46
|
-
}, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
|
|
47
|
-
_a);
|
|
48
|
-
};
|
|
39
|
+
var mailColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'text', name: title, render: function (row) { var _a; return (0, jsx_runtime_1.jsx)("a", { href: "mailto:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key), editComponent: TextEditableCell_1.TextEditableCell }, otherOptions)); };
|
|
49
40
|
exports.mailColumn = mailColumn;
|
|
50
|
-
var phoneColumn = function (key, title,
|
|
51
|
-
var _a;
|
|
52
|
-
return (_a = {},
|
|
53
|
-
_a[key] = __assign({ name: title, render: function (row) {
|
|
54
|
-
var _a;
|
|
55
|
-
return ((0, jsx_runtime_1.jsx)("a", {
|
|
56
|
-
// className="text-blue-500 hover:text-blue-700"
|
|
57
|
-
href: "tel:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
|
|
58
|
-
}, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
|
|
59
|
-
_a);
|
|
60
|
-
};
|
|
41
|
+
var phoneColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'text', name: title, render: function (row) { var _a; return (0, jsx_runtime_1.jsx)("a", { href: "tel:".concat(row[key]), children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key), editComponent: TextEditableCell_1.TextEditableCell }, otherOptions)); };
|
|
61
42
|
exports.phoneColumn = phoneColumn;
|
|
62
|
-
var dateColumn = function (key, title,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
_a);
|
|
67
|
-
};
|
|
43
|
+
var dateColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'date', name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
|
|
44
|
+
formatter: function () { return 'dd/mm/yyyy'; },
|
|
45
|
+
valueGetter: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; },
|
|
46
|
+
}, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: __assign(__assign({}, (0, filters_1.dateFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY')) !== null && _a !== void 0 ? _a : ''; } }), editComponent: DateEditableCell_1.DateEditableCell }, otherOptions)); };
|
|
68
47
|
exports.dateColumn = dateColumn;
|
|
69
|
-
var dateTimeColumn = function (key, title,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
_a);
|
|
74
|
-
};
|
|
48
|
+
var dateTimeColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'date', name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY HH:mm:ss')) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
|
|
49
|
+
formatter: function () { return 'dd/mm/yyyy hh:mm:ss'; },
|
|
50
|
+
valueGetter: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY HH:mm:ss')) !== null && _a !== void 0 ? _a : ''; },
|
|
51
|
+
}, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: __assign(__assign({}, (0, filters_1.dateFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, moment_1.default)(value).format('DD/MM/YYYY HH:mm:ss')) !== null && _a !== void 0 ? _a : ''; } }), editComponent: DateEditableCell_1.DateEditableCell }, otherOptions)); };
|
|
75
52
|
exports.dateTimeColumn = dateTimeColumn;
|
|
76
|
-
var monthColumn = function (key, title,
|
|
77
|
-
var _a;
|
|
78
|
-
return (_a = {},
|
|
79
|
-
_a[key] = __assign({ name: title, render: function (row) { return (row[key] ? "".concat(row[key], " mois ") : ''); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, options),
|
|
80
|
-
_a);
|
|
81
|
-
};
|
|
53
|
+
var monthColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'text', name: title, render: function (row) { return (row[key] ? "".concat(row[key], " mois ") : ''); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key) }, otherOptions)); };
|
|
82
54
|
exports.monthColumn = monthColumn;
|
|
83
|
-
var numberColumn = function (key, title, decimals,
|
|
84
|
-
var _a;
|
|
55
|
+
var numberColumn = function (key, title, decimals, otherOptions) {
|
|
85
56
|
if (decimals === void 0) { decimals = 2; }
|
|
86
|
-
return (_a =
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
57
|
+
var column = __assign({ key: key, type: 'number', name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
|
|
58
|
+
formatter: function () { return (0, exports.buildExcelFormat)(decimals); },
|
|
59
|
+
valueGetter: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); },
|
|
60
|
+
}, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, footer: {
|
|
61
|
+
sum: function (_, filteredRows) {
|
|
62
|
+
return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0), decimals);
|
|
63
|
+
},
|
|
64
|
+
average: function (_, filteredRows) {
|
|
65
|
+
return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
|
|
66
|
+
(filteredRows.length || 1), decimals);
|
|
67
|
+
},
|
|
68
|
+
count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
|
|
69
|
+
max: function (_, filteredRows) {
|
|
70
|
+
return (0, numbers_1.formatNumber)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
|
|
71
|
+
},
|
|
72
|
+
min: function (_, filteredRows) {
|
|
73
|
+
return (0, numbers_1.formatNumber)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
|
|
74
|
+
},
|
|
75
|
+
}, filter: __assign(__assign({}, (0, filters_1.numberFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, numbers_1.formatNumber)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), editComponent: (0, react_1.forwardRef)(function (props, ref) { return ((0, jsx_runtime_1.jsx)(NumberEditableCell_1.NumberEditableCell, __assign({ ref: ref, decimals: column.decimals, currency: column.currency }, props))); }) }, otherOptions);
|
|
76
|
+
return column;
|
|
104
77
|
};
|
|
105
78
|
exports.numberColumn = numberColumn;
|
|
106
|
-
var moneyColumn = function (key, title, decimals,
|
|
107
|
-
var _a;
|
|
79
|
+
var moneyColumn = function (key, title, decimals, otherOptions) {
|
|
108
80
|
if (decimals === void 0) { decimals = 2; }
|
|
109
|
-
return (_a =
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
},
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
81
|
+
var column = __assign({ key: key, type: 'number', name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatMoney)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
|
|
82
|
+
formatter: function () { return (0, exports.buildExcelFormat)(decimals, ' €'); },
|
|
83
|
+
valueGetter: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); },
|
|
84
|
+
}, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: __assign(__assign({}, (0, filters_1.numberFilter)(key)), { renderer: function (value) { var _a; return (_a = (0, numbers_1.formatMoney)(value, decimals)) !== null && _a !== void 0 ? _a : ''; } }), footer: {
|
|
85
|
+
sum: function (_, filteredRows) {
|
|
86
|
+
return (0, numbers_1.formatMoney)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0), decimals);
|
|
87
|
+
},
|
|
88
|
+
average: function (_, filteredRows) {
|
|
89
|
+
return (0, numbers_1.formatMoney)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
|
|
90
|
+
(filteredRows.length || 1), decimals);
|
|
91
|
+
},
|
|
92
|
+
count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
|
|
93
|
+
max: function (_, filteredRows) {
|
|
94
|
+
return (0, numbers_1.formatMoney)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
|
|
95
|
+
},
|
|
96
|
+
min: function (_, filteredRows) {
|
|
97
|
+
return (0, numbers_1.formatMoney)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
|
|
98
|
+
},
|
|
99
|
+
} }, otherOptions);
|
|
100
|
+
return column;
|
|
127
101
|
};
|
|
128
102
|
exports.moneyColumn = moneyColumn;
|
|
129
|
-
var percentageColumn = function (key, title, decimals,
|
|
130
|
-
var _a;
|
|
103
|
+
var percentageColumn = function (key, title, decimals, otherOptions) {
|
|
131
104
|
if (decimals === void 0) { decimals = 2; }
|
|
132
|
-
return (_a =
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
105
|
+
var column = __assign({ key: key, type: 'number', name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatPercentage)(row[key])) !== null && _a !== void 0 ? _a : ''; }, excelOptions: {
|
|
106
|
+
formatter: function () { return (0, exports.buildExcelFormat)(decimals, '%'); },
|
|
107
|
+
valueGetter: function (value) { return (0, numbers_1.formatNumberInvariant)(value, decimals); },
|
|
108
|
+
}, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key), footer: {
|
|
109
|
+
average: function (_, filteredRows) {
|
|
110
|
+
return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0) /
|
|
111
|
+
(filteredRows.length || 1), decimals);
|
|
112
|
+
},
|
|
113
|
+
count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
|
|
114
|
+
max: function (_, filteredRows) {
|
|
115
|
+
return (0, numbers_1.formatNumber)(Math.max.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
|
|
116
|
+
},
|
|
117
|
+
min: function (_, filteredRows) {
|
|
118
|
+
return (0, numbers_1.formatNumber)(Math.min.apply(Math, filteredRows.map(function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : 0; })), decimals);
|
|
119
|
+
},
|
|
120
|
+
sum: function (_, filteredRows) {
|
|
121
|
+
return (0, numbers_1.formatNumber)(filteredRows.reduce(function (acc, row) { var _a; return acc + ((_a = row[key]) !== null && _a !== void 0 ? _a : 0); }, 0), decimals);
|
|
122
|
+
},
|
|
123
|
+
} }, otherOptions);
|
|
124
|
+
return column;
|
|
150
125
|
};
|
|
151
126
|
exports.percentageColumn = percentageColumn;
|
|
152
|
-
var checkboxColumn = function (key, title,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
return "".concat(filteredRows.filter(function (row) { return !row[key]; }).length, " d\u00E9coch\u00E9s");
|
|
162
|
-
},
|
|
163
|
-
} }, options),
|
|
164
|
-
_a);
|
|
165
|
-
};
|
|
127
|
+
var checkboxColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'checkbox', name: title, render: function (row) { return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: row[key], readOnly: true }), (0, jsx_runtime_1.jsx)("span", { children: row[key] ? ' Oui' : ' Non' })] })); }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.numberFilter)(key), footer: {
|
|
128
|
+
count: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); },
|
|
129
|
+
checked: function (_, filteredRows) {
|
|
130
|
+
return "".concat(filteredRows.filter(function (row) { return !!row[key]; }).length, " coch\u00E9s");
|
|
131
|
+
},
|
|
132
|
+
unchecked: function (_, filteredRows) {
|
|
133
|
+
return "".concat(filteredRows.filter(function (row) { return !row[key]; }).length, " d\u00E9coch\u00E9s");
|
|
134
|
+
},
|
|
135
|
+
}, editComponent: CheckboxEditableCell_1.CheckboxEditableCell }, otherOptions)); };
|
|
166
136
|
exports.checkboxColumn = checkboxColumn;
|
|
167
|
-
var
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
_a);
|
|
175
|
-
};
|
|
137
|
+
var selectColumn = function (key, title, items, itemKey, itemLabel, otherOptions) { return (__assign({ key: key, type: 'select', name: title, render: function (row) { var _a; return (_a = itemLabel(row[key])) !== null && _a !== void 0 ? _a : ''; }, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : null; }, sortGetter: function (row) { var _a; return (_a = itemLabel(row[key])) !== null && _a !== void 0 ? _a : ''; }, footer: function (_, filteredRows) { return "".concat(filteredRows.length, " \u00E9l\u00E9ments"); }, filter: (0, filters_1.textFilter)(key), items: items, itemKey: itemKey, itemLabel: itemLabel, editComponent: (0, react_1.forwardRef)(function (_a, ref) {
|
|
138
|
+
var value = _a.value, onChange = _a.onChange, onClose = _a.onClose;
|
|
139
|
+
return ((0, jsx_runtime_1.jsx)(Select_1.Select, { ref: ref, items: items, itemKey: itemKey, itemLabel: itemLabel, value: value, onChange: onChange, onBlur: function () { return onClose(true); } }));
|
|
140
|
+
}) }, otherOptions)); };
|
|
141
|
+
exports.selectColumn = selectColumn;
|
|
142
|
+
var colorColumn = function (key, title, otherOptions) { return (__assign({ key: key, type: 'color', name: title, render: function (row) {
|
|
143
|
+
var _a;
|
|
144
|
+
return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor: row[key] }, children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
|
|
145
|
+
}, getter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, sortGetter: function (row) { var _a; return (_a = row[key]) !== null && _a !== void 0 ? _a : ''; }, filter: (0, filters_1.textFilter)(key), footer: function (rows) { return "".concat(rows.length, " \u00E9l\u00E9ments"); } }, otherOptions)); };
|
|
176
146
|
exports.colorColumn = colorColumn;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DataGridColumns, DataGridContext } from '../types';
|
|
2
|
+
export { useDataGrid } from './useDataGrid';
|
|
2
3
|
export { useDataGridCopy } from './useDataGridCopy';
|
|
3
4
|
export { useDataGridSettings } from './useDataGridSettings';
|
|
4
|
-
export { useDataGrid } from './useDataGrid';
|
|
5
5
|
export declare const useDataGridContext: <R>(context: DataGridContext<R>) => import("../types").DataGridContextProps<R>;
|
|
6
|
-
export declare const useVisibleAndHiddenColumns: <R>(columns: DataGridColumns<R>) => import("
|
|
7
|
-
export declare const useSortedColumns: <R>(columns: DataGridColumns<R>) =>
|
|
6
|
+
export declare const useVisibleAndHiddenColumns: <R>(columns: DataGridColumns<R>) => import("../types").DataGridColumn<R>[][];
|
|
7
|
+
export declare const useSortedColumns: <R>(columns: DataGridColumns<R>) => import("../types").DataGridColumn<R>[];
|
|
@@ -1,34 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useSortedColumns = exports.useVisibleAndHiddenColumns = exports.useDataGridContext = exports.
|
|
3
|
+
exports.useSortedColumns = exports.useVisibleAndHiddenColumns = exports.useDataGridContext = exports.useDataGridSettings = exports.useDataGridCopy = exports.useDataGrid = void 0;
|
|
4
4
|
var react_1 = require("react");
|
|
5
5
|
var columns_1 = require("../helpers/columns");
|
|
6
|
-
var
|
|
6
|
+
var useDataGrid_1 = require("./useDataGrid");
|
|
7
|
+
Object.defineProperty(exports, "useDataGrid", { enumerable: true, get: function () { return useDataGrid_1.useDataGrid; } });
|
|
7
8
|
var useDataGridCopy_1 = require("./useDataGridCopy");
|
|
8
9
|
Object.defineProperty(exports, "useDataGridCopy", { enumerable: true, get: function () { return useDataGridCopy_1.useDataGridCopy; } });
|
|
9
10
|
var useDataGridSettings_1 = require("./useDataGridSettings");
|
|
10
11
|
Object.defineProperty(exports, "useDataGridSettings", { enumerable: true, get: function () { return useDataGridSettings_1.useDataGridSettings; } });
|
|
11
|
-
var useDataGrid_1 = require("./useDataGrid");
|
|
12
|
-
Object.defineProperty(exports, "useDataGrid", { enumerable: true, get: function () { return useDataGrid_1.useDataGrid; } });
|
|
13
12
|
var useDataGridContext = function (context) {
|
|
14
13
|
return (0, react_1.useContext)(context);
|
|
15
14
|
};
|
|
16
15
|
exports.useDataGridContext = useDataGridContext;
|
|
17
16
|
var useVisibleAndHiddenColumns = function (columns) {
|
|
18
17
|
return (0, react_1.useMemo)(function () { return [
|
|
19
|
-
|
|
20
|
-
|
|
18
|
+
columns.filter(columns_1.isColumnVisible),
|
|
19
|
+
columns.filter(function (col) { return !(0, columns_1.isColumnVisible)(col); }),
|
|
21
20
|
]; }, [columns]);
|
|
22
21
|
};
|
|
23
22
|
exports.useVisibleAndHiddenColumns = useVisibleAndHiddenColumns;
|
|
24
23
|
var useSortedColumns = function (columns) {
|
|
25
24
|
return (0, react_1.useMemo)(function () {
|
|
26
|
-
return
|
|
27
|
-
.filter(
|
|
28
|
-
var
|
|
29
|
-
return (0, columns_1.isColumnVisible)(col);
|
|
30
|
-
})
|
|
31
|
-
.sort(function (a, b) { var _a, _b; return ((_a = a[1].order) !== null && _a !== void 0 ? _a : 0) - ((_b = b[1].order) !== null && _b !== void 0 ? _b : 0); });
|
|
25
|
+
return columns
|
|
26
|
+
.filter(columns_1.isColumnVisible)
|
|
27
|
+
.sort(function (a, b) { var _a, _b; return ((_a = a.order) !== null && _a !== void 0 ? _a : 0) - ((_b = b.order) !== null && _b !== void 0 ? _b : 0); });
|
|
32
28
|
}, [columns]);
|
|
33
29
|
};
|
|
34
30
|
exports.useSortedColumns = useSortedColumns;
|
|
@@ -59,18 +59,24 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
59
59
|
};
|
|
60
60
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
61
|
exports.useDataGrid = void 0;
|
|
62
|
+
var constants_1 = require("../constants");
|
|
62
63
|
var react_1 = require("react");
|
|
63
64
|
var _1 = require(".");
|
|
64
65
|
var helpers_1 = require("../helpers");
|
|
65
|
-
var
|
|
66
|
+
var useDataGridChangedRows_1 = require("./useDataGridChangedRows");
|
|
66
67
|
var useDataGridSettings_1 = require("./useDataGridSettings");
|
|
67
68
|
var useDataGrid = function (props, override) {
|
|
68
|
-
var _a;
|
|
69
|
-
var
|
|
70
|
-
var
|
|
69
|
+
var _a, _b, _c, _d;
|
|
70
|
+
var onFiltersChanged = props.onFiltersChanged, onSortsChanged = props.onSortsChanged, loadCopyRows = props.loadCopyRows, onSelectionChange = props.onSelectionChange, onSelectedRowsChanged = props.onSelectedRowsChanged, selectable = props.selectable, initialSorts = props.initialSorts;
|
|
71
|
+
var _e = (0, react_1.useState)(props.columns), columns = _e[0], setColumns = _e[1];
|
|
71
72
|
var visibleColumns = (0, _1.useSortedColumns)(columns);
|
|
73
|
+
var _f = (0, react_1.useState)((_a = override === null || override === void 0 ? void 0 : override.rows) !== null && _a !== void 0 ? _a : props.rows), innerRows = _f[0], setInnerRows = _f[1];
|
|
74
|
+
var _g = [
|
|
75
|
+
(_b = override === null || override === void 0 ? void 0 : override.rows) !== null && _b !== void 0 ? _b : innerRows,
|
|
76
|
+
(_c = override === null || override === void 0 ? void 0 : override.setRows) !== null && _c !== void 0 ? _c : setInnerRows,
|
|
77
|
+
], rows = _g[0], setRows = _g[1];
|
|
72
78
|
/** SETTINGS */
|
|
73
|
-
var
|
|
79
|
+
var _h = (0, useDataGridSettings_1.useDataGridSettings)(props.name), settings = _h.settings, setSettings = _h.setSettings, saveSettings = _h.saveSettings;
|
|
74
80
|
var setColumnWidth = (0, react_1.useCallback)(function (key, width) {
|
|
75
81
|
setSettings(function (prev) {
|
|
76
82
|
var _a;
|
|
@@ -78,15 +84,11 @@ var useDataGrid = function (props, override) {
|
|
|
78
84
|
});
|
|
79
85
|
}, [setSettings]);
|
|
80
86
|
var gridTemplateColumns = (0, react_1.useMemo)(function () {
|
|
81
|
-
return __spreadArray(__spreadArray([], (selectable ? [
|
|
82
|
-
var _b;
|
|
83
|
-
var col = _a[1];
|
|
84
|
-
return "".concat((_b = col.width) !== null && _b !== void 0 ? _b : 150, "px");
|
|
85
|
-
}), true).join(' ');
|
|
87
|
+
return __spreadArray(__spreadArray([], (selectable ? [constants_1.SELECTION_CELL_WIDTH] : []), true), visibleColumns.map(function (col) { var _a; return "".concat((_a = col.width) !== null && _a !== void 0 ? _a : constants_1.DEFAULT_COLUMN_WIDTH, "px"); }), true).join(' ');
|
|
86
88
|
}, [selectable, visibleColumns]);
|
|
87
89
|
// Update columns when settings change
|
|
88
90
|
(0, react_1.useEffect)(function () {
|
|
89
|
-
setColumns(function (prev) { return (
|
|
91
|
+
setColumns(function (prev) { return prev.map(function (col) { return (__assign(__assign({}, col), settings[col.key])); }); });
|
|
90
92
|
}, [settings]);
|
|
91
93
|
/** ROWS SELECTION **/
|
|
92
94
|
var rowKeyGetter = (0, react_1.useMemo)(function () {
|
|
@@ -94,7 +96,7 @@ var useDataGrid = function (props, override) {
|
|
|
94
96
|
? props.rowKey
|
|
95
97
|
: function (row) { return String(row === null || row === void 0 ? void 0 : row[props.rowKey]); };
|
|
96
98
|
}, [props.rowKey]);
|
|
97
|
-
var
|
|
99
|
+
var _j = (0, react_1.useState)([]), selectedKeys = _j[0], setSelectedKeys = _j[1];
|
|
98
100
|
var selectedRows = (0, react_1.useMemo)(function () { return props.rows.filter(function (row) { return selectedKeys.includes(rowKeyGetter(row)); }); }, [props.rows, rowKeyGetter, selectedKeys]);
|
|
99
101
|
(0, react_1.useEffect)(function () {
|
|
100
102
|
onSelectionChange === null || onSelectionChange === void 0 ? void 0 : onSelectionChange(selectedKeys);
|
|
@@ -111,8 +113,8 @@ var useDataGrid = function (props, override) {
|
|
|
111
113
|
}
|
|
112
114
|
}, [selectedKeys, setSelectedKeys]);
|
|
113
115
|
/** ROWS FILTERING **/
|
|
114
|
-
var
|
|
115
|
-
var
|
|
116
|
+
var _k = (0, react_1.useState)({}), filters = _k[0], setFilters = _k[1];
|
|
117
|
+
var _l = (0, react_1.useState)(rows !== null && rows !== void 0 ? rows : []), filteredRows = _l[0], setFilteredRows = _l[1];
|
|
116
118
|
(0, react_1.useEffect)(function () {
|
|
117
119
|
onFiltersChanged === null || onFiltersChanged === void 0 ? void 0 : onFiltersChanged(filters);
|
|
118
120
|
}, [filters, onFiltersChanged]);
|
|
@@ -126,17 +128,21 @@ var useDataGrid = function (props, override) {
|
|
|
126
128
|
setFilteredRows(filteredRows !== null && filteredRows !== void 0 ? filteredRows : []);
|
|
127
129
|
}, [filters, props.filter, rows]);
|
|
128
130
|
/** CELL EDITING */
|
|
129
|
-
var
|
|
131
|
+
var _m = (0, react_1.useState)([-1, -1]), editingCell = _m[0], setEditingCell = _m[1];
|
|
132
|
+
var onRowAdded = (0, react_1.useCallback)(function (row) {
|
|
133
|
+
setRows(function (prev) { return __spreadArray([row], prev, true); });
|
|
134
|
+
}, [setRows]);
|
|
135
|
+
var _o = (0, useDataGridChangedRows_1.useDataGridChangedRows)(onRowAdded), addedRows = _o.addedRows, updatedRows = _o.updatedRows, editRow = _o.editRow, addRow = _o.addRow, updateRow = _o.updateRow, clearChangedRows = _o.clearChangedRows;
|
|
130
136
|
/** ROWS SORTING **/
|
|
131
|
-
var
|
|
132
|
-
var
|
|
137
|
+
var _p = (0, react_1.useState)(initialSorts !== null && initialSorts !== void 0 ? initialSorts : {}), sorts = _p[0], setSorts = _p[1];
|
|
138
|
+
var _q = (0, react_1.useState)(rows), sortedRows = _q[0], setSortedRows = _q[1];
|
|
133
139
|
(0, react_1.useEffect)(function () {
|
|
134
140
|
var sortedRows = __spreadArray([], filteredRows, true);
|
|
135
141
|
if (props.sort !== false) {
|
|
136
142
|
Object.entries(sorts).forEach(function (_a) {
|
|
137
143
|
var sortKey = _a[0], sort = _a[1];
|
|
138
144
|
// Get the sort column and make sure it exists and is sortable
|
|
139
|
-
var sortColumn = columns
|
|
145
|
+
var sortColumn = columns.find(function (col) { return col.key === sortKey; });
|
|
140
146
|
if (!sortColumn || typeof sortColumn.sortGetter !== 'function')
|
|
141
147
|
return;
|
|
142
148
|
// Sort the rows using the sortGetter function of the column
|
|
@@ -157,12 +163,33 @@ var useDataGrid = function (props, override) {
|
|
|
157
163
|
}, [sorts, onSortsChanged]);
|
|
158
164
|
/** VIRTUAL SCROLLING */
|
|
159
165
|
var scrollableRef = (0, react_1.useRef)(null);
|
|
166
|
+
/** RESIZING */
|
|
167
|
+
var _r = (0, react_1.useState)(null), resizingColumnKey = _r[0], setResizingColumnKey = _r[1];
|
|
168
|
+
var resizingOffset = (0, react_1.useRef)(0);
|
|
169
|
+
var startResizing = (0, react_1.useCallback)(function (e, columnKey) {
|
|
170
|
+
var resizingColumn = columns.find(function (col) { return col.key === columnKey; });
|
|
171
|
+
if (resizingColumn) {
|
|
172
|
+
resizingOffset.current =
|
|
173
|
+
e.screenX - ((resizingColumn === null || resizingColumn === void 0 ? void 0 : resizingColumn.width) || constants_1.DEFAULT_COLUMN_WIDTH);
|
|
174
|
+
setResizingColumnKey(columnKey);
|
|
175
|
+
}
|
|
176
|
+
}, [columns]);
|
|
177
|
+
var moveResizing = (0, react_1.useCallback)(function (e) {
|
|
178
|
+
if (resizingColumnKey) {
|
|
179
|
+
var newWidth = Math.max(86, e.screenX - resizingOffset.current);
|
|
180
|
+
setColumnWidth(resizingColumnKey, newWidth);
|
|
181
|
+
}
|
|
182
|
+
}, [resizingColumnKey, setColumnWidth]);
|
|
183
|
+
var endResizing = (0, react_1.useCallback)(function () {
|
|
184
|
+
setResizingColumnKey(null);
|
|
185
|
+
saveSettings();
|
|
186
|
+
}, [saveSettings]);
|
|
160
187
|
/** FOOTERS */
|
|
161
|
-
var
|
|
188
|
+
var _s = (0, react_1.useState)((_d = props.initialFooters) !== null && _d !== void 0 ? _d : {}), footers = _s[0], setFooters = _s[1];
|
|
162
189
|
var footerFunctions = (0, react_1.useMemo)(function () {
|
|
163
190
|
return Object.entries(footers).reduce(function (acc, _a) {
|
|
164
191
|
var columnKey = _a[0], footerKey = _a[1];
|
|
165
|
-
var column = columns
|
|
192
|
+
var column = columns.find(function (col) { return col.key === columnKey; });
|
|
166
193
|
if (!column) {
|
|
167
194
|
return acc;
|
|
168
195
|
}
|
|
@@ -184,7 +211,7 @@ var useDataGrid = function (props, override) {
|
|
|
184
211
|
footerFunctions: footerFunctions,
|
|
185
212
|
loadCopyRows: loadCopyRows,
|
|
186
213
|
}).copyTable;
|
|
187
|
-
var contextValue = (0, react_1.useMemo)(function () { return (__assign(__assign(__assign({}, props), { columns: columns, visibleColumns: visibleColumns, sortedRows: sortedRows, selectedRows: selectedRows, selectedKeys: selectedKeys, setSelectedKeys: setSelectedKeys, sorts: sorts, setSorts: setSorts, filters: filters, setFilters: setFilters, editingCell: editingCell, setEditingCell: setEditingCell, copyTable: copyTable, setColumnWidth: setColumnWidth, settings: settings, setSettings: setSettings, saveSettings: saveSettings, scrollableRef: scrollableRef, length: length, rowKeyGetter: rowKeyGetter, gridTemplateColumns: gridTemplateColumns, footers: footers, setFooters: setFooters, footerFunctions: footerFunctions, toggleSelection: toggleSelection }), override)); }, [
|
|
214
|
+
var contextValue = (0, react_1.useMemo)(function () { return (__assign(__assign(__assign({}, props), { columns: columns, visibleColumns: visibleColumns, sortedRows: sortedRows, selectedRows: selectedRows, selectedKeys: selectedKeys, setSelectedKeys: setSelectedKeys, sorts: sorts, setSorts: setSorts, filters: filters, setFilters: setFilters, editingCell: editingCell, setEditingCell: setEditingCell, copyTable: copyTable, setColumnWidth: setColumnWidth, settings: settings, setSettings: setSettings, saveSettings: saveSettings, scrollableRef: scrollableRef, length: length, rowKeyGetter: rowKeyGetter, gridTemplateColumns: gridTemplateColumns, footers: footers, setFooters: setFooters, footerFunctions: footerFunctions, toggleSelection: toggleSelection, resizingColumnKey: resizingColumnKey, startResizing: startResizing, moveResizing: moveResizing, endResizing: endResizing, addedRows: addedRows, updatedRows: updatedRows, editRow: editRow, addRow: addRow, updateRow: updateRow, clearChangedRows: clearChangedRows, setRows: setRows }), override)); }, [
|
|
188
215
|
props,
|
|
189
216
|
columns,
|
|
190
217
|
visibleColumns,
|
|
@@ -199,18 +226,28 @@ var useDataGrid = function (props, override) {
|
|
|
199
226
|
settings,
|
|
200
227
|
setSettings,
|
|
201
228
|
saveSettings,
|
|
202
|
-
scrollableRef,
|
|
203
229
|
rowKeyGetter,
|
|
204
230
|
gridTemplateColumns,
|
|
205
231
|
footers,
|
|
206
232
|
footerFunctions,
|
|
207
233
|
toggleSelection,
|
|
234
|
+
resizingColumnKey,
|
|
235
|
+
startResizing,
|
|
236
|
+
moveResizing,
|
|
237
|
+
endResizing,
|
|
238
|
+
addedRows,
|
|
239
|
+
updatedRows,
|
|
240
|
+
editRow,
|
|
241
|
+
addRow,
|
|
242
|
+
updateRow,
|
|
243
|
+
clearChangedRows,
|
|
244
|
+
setRows,
|
|
208
245
|
override,
|
|
209
246
|
]);
|
|
210
247
|
var context = (0, react_1.useMemo)(function () {
|
|
211
248
|
return (0, react_1.createContext)({
|
|
212
249
|
rows: [],
|
|
213
|
-
columns:
|
|
250
|
+
columns: [],
|
|
214
251
|
visibleColumns: [],
|
|
215
252
|
rowKey: '',
|
|
216
253
|
rowKeyGetter: function () { return ''; },
|
|
@@ -234,6 +271,17 @@ var useDataGrid = function (props, override) {
|
|
|
234
271
|
footers: {},
|
|
235
272
|
setFooters: function () { },
|
|
236
273
|
toggleSelection: function () { },
|
|
274
|
+
resizingColumnKey: null,
|
|
275
|
+
startResizing: function () { },
|
|
276
|
+
moveResizing: function () { },
|
|
277
|
+
endResizing: function () { },
|
|
278
|
+
addedRows: {},
|
|
279
|
+
updatedRows: {},
|
|
280
|
+
setRows: function () { },
|
|
281
|
+
editRow: function () { },
|
|
282
|
+
addRow: function () { },
|
|
283
|
+
updateRow: function () { },
|
|
284
|
+
clearChangedRows: function () { },
|
|
237
285
|
});
|
|
238
286
|
}, []);
|
|
239
287
|
return (0, react_1.useMemo)(function () { return [contextValue, context]; }, [context, contextValue]);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataGridEditedRows } from '../types';
|
|
2
|
+
export declare const useDataGridChangedRows: <R>(onRowAdded: (row: R) => void) => {
|
|
3
|
+
addedRows: DataGridEditedRows<R>;
|
|
4
|
+
updatedRows: DataGridEditedRows<R>;
|
|
5
|
+
editRow: (key: string, row: Partial<R>) => void;
|
|
6
|
+
addRow: (key: string, row: R) => void;
|
|
7
|
+
updateRow: (key: string, row: Partial<R>) => void;
|
|
8
|
+
clearChangedRows: (keys?: string[]) => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.useDataGridChangedRows = void 0;
|
|
15
|
+
var react_1 = require("react");
|
|
16
|
+
var lodash_1 = require("lodash");
|
|
17
|
+
var useDataGridChangedRows = function (onRowAdded) {
|
|
18
|
+
var _a = (0, react_1.useState)({}), addedRows = _a[0], setAddedRows = _a[1];
|
|
19
|
+
var _b = (0, react_1.useState)({}), updatedRows = _b[0], setUpdatedRows = _b[1];
|
|
20
|
+
var addRow = (0, react_1.useCallback)(function (key, row) {
|
|
21
|
+
setAddedRows(function (prev) {
|
|
22
|
+
var _a;
|
|
23
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[key] = row, _a)));
|
|
24
|
+
});
|
|
25
|
+
onRowAdded(row);
|
|
26
|
+
}, [onRowAdded]);
|
|
27
|
+
var updateRow = (0, react_1.useCallback)(function (key, row) {
|
|
28
|
+
setUpdatedRows(function (prev) {
|
|
29
|
+
var _a;
|
|
30
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[key] = row, _a)));
|
|
31
|
+
});
|
|
32
|
+
}, []);
|
|
33
|
+
var editRow = (0, react_1.useCallback)(function (key, row) {
|
|
34
|
+
if (addedRows[key]) {
|
|
35
|
+
setAddedRows(function (prev) {
|
|
36
|
+
var _a;
|
|
37
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), row), _a)));
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else if (updatedRows[key]) {
|
|
41
|
+
setUpdatedRows(function (prev) {
|
|
42
|
+
var _a;
|
|
43
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), row), _a)));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
setUpdatedRows(function (prev) {
|
|
48
|
+
var _a;
|
|
49
|
+
return (__assign(__assign({}, prev), (_a = {}, _a[key] = row, _a)));
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}, [addedRows, updatedRows]);
|
|
53
|
+
var clearChangedRows = (0, react_1.useCallback)(function (keys) {
|
|
54
|
+
if (!keys) {
|
|
55
|
+
setAddedRows({});
|
|
56
|
+
setUpdatedRows({});
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
setAddedRows(function (prev) { return (0, lodash_1.pickBy)(prev, function (_, key) { return !keys.includes(key); }); });
|
|
60
|
+
setUpdatedRows(function (prev) { return (0, lodash_1.pickBy)(prev, function (_, key) { return !keys.includes(key); }); });
|
|
61
|
+
}, []);
|
|
62
|
+
return {
|
|
63
|
+
addedRows: addedRows,
|
|
64
|
+
updatedRows: updatedRows,
|
|
65
|
+
editRow: editRow,
|
|
66
|
+
addRow: addRow,
|
|
67
|
+
updateRow: updateRow,
|
|
68
|
+
clearChangedRows: clearChangedRows,
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
exports.useDataGridChangedRows = useDataGridChangedRows;
|