@addev-be/ui 2.4.3 → 2.4.5

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 (27) hide show
  1. package/assets/icons/table.svg +1 -1
  2. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +14 -0
  3. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +76 -0
  4. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +22 -0
  5. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +156 -0
  6. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +2 -0
  7. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +18 -0
  8. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +2 -0
  9. package/dist/components/data/AdvancedRequestDataGrid/index.js +215 -0
  10. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +21 -0
  11. package/dist/components/data/AdvancedRequestDataGrid/types.js +2 -0
  12. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +2 -0
  13. package/dist/components/data/DataGrid/DataGridEditableCell.js +27 -0
  14. package/dist/components/data/DataGrid/helpers/columns.d.ts +3 -3
  15. package/dist/components/data/DataGrid/helpers/columns.js +6 -6
  16. package/dist/helpers/styled/index.d.ts +1 -0
  17. package/dist/helpers/styled/index.js +17 -0
  18. package/dist/services/requests/printing.d.ts +2 -0
  19. package/dist/services/requests/printing.js +8 -0
  20. package/dist/services/types/printing.d.ts +8 -0
  21. package/dist/services/types/printing.js +2 -0
  22. package/package.json +2 -2
  23. package/src/components/data/DataGrid/DataGridFilterMenu/helpers.ts +23 -23
  24. package/src/components/data/DataGrid/helpers/columns.tsx +9 -9
  25. package/src/components/ui/Avatar/styles.ts +61 -61
  26. package/src/components/ui/TabsView/index.ts +3 -3
  27. package/src/providers/TrackingProvider/hooks.ts +14 -14
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M48 264V160H232V264H48zm0 48H232V432H64c-8.8 0-16-7.2-16-16V312zM280 432V312H464V416c0 8.8-7.2 16-16 16H280zM464 264H280V160H464V264zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.5.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path d="M48 264V160H232V264H48zm0 48H232V432H64c-8.8 0-16-7.2-16-16V312zM280 432V312H464V416c0 8.8-7.2 16-16 16H280zM464 264H280V160H464V264zM64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></svg>
@@ -0,0 +1,14 @@
1
+ import { AdvancedRequestDTO, ConditionDTO, FieldDTO, OrderByDTO } from '../../../../services/advancedRequests';
2
+ import { AdvancedRequestDataGridColumns, AdvancedRequestDataGridFilters } from '../types';
3
+ export declare const getAdvancedRequestDto: <R>({ type, columns, conditions, orderBy, start, length, getTotal, idField, }: {
4
+ type: string;
5
+ columns: AdvancedRequestDataGridColumns<R>;
6
+ conditions?: ConditionDTO[];
7
+ orderBy?: OrderByDTO[];
8
+ start?: number;
9
+ length?: number;
10
+ getTotal?: boolean;
11
+ idField?: FieldDTO | null;
12
+ }) => AdvancedRequestDTO;
13
+ export declare const convertFiltersToConditions: <R>(filters: AdvancedRequestDataGridFilters, columns: AdvancedRequestDataGridColumns<R>) => Record<string, ConditionDTO>;
14
+ export declare const parseJsonObjectFields: <R>(rows: any[], columns: AdvancedRequestDataGridColumns<R>, parser?: (row: any) => R) => R[];
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ /* eslint-disable @typescript-eslint/no-explicit-any */
3
+ var __assign = (this && this.__assign) || function () {
4
+ __assign = Object.assign || function(t) {
5
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
6
+ s = arguments[i];
7
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
8
+ t[p] = s[p];
9
+ }
10
+ return t;
11
+ };
12
+ return __assign.apply(this, arguments);
13
+ };
14
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
15
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
16
+ if (ar || !(i in from)) {
17
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
18
+ ar[i] = from[i];
19
+ }
20
+ }
21
+ return to.concat(ar || Array.prototype.slice.call(from));
22
+ };
23
+ var __importDefault = (this && this.__importDefault) || function (mod) {
24
+ return (mod && mod.__esModule) ? mod : { "default": mod };
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.parseJsonObjectFields = exports.convertFiltersToConditions = exports.getAdvancedRequestDto = void 0;
28
+ var lodash_1 = __importDefault(require("lodash"));
29
+ var getAdvancedRequestDto = function (_a) {
30
+ var type = _a.type, columns = _a.columns, _b = _a.conditions, conditions = _b === void 0 ? [] : _b, _c = _a.orderBy, orderBy = _c === void 0 ? [] : _c, _d = _a.start, start = _d === void 0 ? 0 : _d, _e = _a.length, length = _e === void 0 ? 100 : _e, _f = _a.getTotal, getTotal = _f === void 0 ? false : _f, _g = _a.idField, idField = _g === void 0 ? { fieldName: 'Id' } : _g;
31
+ return ({
32
+ fields: __spreadArray(__spreadArray([], (idField === null ? [] : [idField]), true), Object.keys(columns).map(function (key) {
33
+ var _a, _b;
34
+ return columns[key].field
35
+ ? __assign(__assign({}, columns[key].field), { fieldName: (_b = (_a = columns[key].field) === null || _a === void 0 ? void 0 : _a.fieldName) !== null && _b !== void 0 ? _b : key, fieldAlias: key }) : {
36
+ fieldName: key,
37
+ fieldAlias: key,
38
+ };
39
+ }), true),
40
+ conditions: conditions,
41
+ orderBy: orderBy,
42
+ type: type,
43
+ start: start,
44
+ length: length,
45
+ getTotal: getTotal,
46
+ });
47
+ };
48
+ exports.getAdvancedRequestDto = getAdvancedRequestDto;
49
+ var convertFiltersToConditions = function (filters, columns) {
50
+ return lodash_1.default.mapValues(filters, function (filter, columnKey) {
51
+ var _a, _b, _c, _d, _e;
52
+ return ({
53
+ field: (_e = (_c = (_a = columns[columnKey].filterField) !== null && _a !== void 0 ? _a : (_b = columns[columnKey].field) === null || _b === void 0 ? void 0 : _b.fieldAlias) !== null && _c !== void 0 ? _c : (_d = columns[columnKey].field) === null || _d === void 0 ? void 0 : _d.fieldName) !== null && _e !== void 0 ? _e : columnKey,
54
+ operator: filter.operator,
55
+ value: ['inArray', 'inRange'].includes(filter.operator)
56
+ ? filter.values
57
+ : lodash_1.default.castArray(filter.values)[0],
58
+ });
59
+ });
60
+ };
61
+ exports.convertFiltersToConditions = convertFiltersToConditions;
62
+ var parseJsonObjectFields = function (rows, columns, parser) {
63
+ var jsonColumns = Object.keys(columns).filter(function (key) { var _a; return ((_a = columns[key].field) === null || _a === void 0 ? void 0 : _a.operator) === 'jsonObject'; });
64
+ var parsedRows = jsonColumns.length === 0
65
+ ? rows
66
+ : rows.map(function (row) {
67
+ var parsedRow = __assign({}, row);
68
+ jsonColumns.forEach(function (key) {
69
+ var _a;
70
+ parsedRow[key] = JSON.parse((_a = parsedRow[key]) !== null && _a !== void 0 ? _a : '{}');
71
+ });
72
+ return parsedRow;
73
+ });
74
+ return parser ? parsedRows.map(parser) : parsedRows;
75
+ };
76
+ exports.parseJsonObjectFields = parseJsonObjectFields;
@@ -0,0 +1,22 @@
1
+ import { AdvancedRequestDataGridColumn, AdvancedRequestDataGridColumns } from '../types';
2
+ import { FieldDTO } from '../../../../services/advancedRequests';
3
+ export declare const withGroupBy: <R extends Record<string, any>>(columns: AdvancedRequestDataGridColumns<R>) => AdvancedRequestDataGridColumns<R>;
4
+ export declare const advancedTextColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
5
+ /**
6
+ * Creates a column with a composed value from multiple fields,
7
+ * and filtered by a text filter on the first field
8
+ */
9
+ export declare const advancedComposedColumn: <R extends Record<string, any>>(key: string, title: string, fields: string[], options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
10
+ export declare const advancedMailColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
11
+ export declare const advancedPhoneColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
12
+ export declare const advancedDateColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
13
+ export declare const advancedMonthColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
14
+ export declare const advancedNumberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
15
+ export declare const advancedMoneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
16
+ export declare const advancedPercentageColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
17
+ export declare const advancedCheckboxColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
18
+ export declare const advancedColorColumn: <R extends Record<string, any>>(key: string, title: string, options?: Partial<AdvancedRequestDataGridColumn<R>>) => AdvancedRequestDataGridColumns<R>;
19
+ export declare const getColumnField: <R>(columns: AdvancedRequestDataGridColumns<R>, columnKey: string) => FieldDTO;
20
+ export declare const getColumnSortField: <R>(columns: AdvancedRequestDataGridColumns<R>, columnKey: string) => FieldDTO;
21
+ export declare const getFirstColumnField: <R>(columns: AdvancedRequestDataGridColumns<R>) => FieldDTO;
22
+ export declare const getFirstColumnSortField: <R>(columns: AdvancedRequestDataGridColumns<R>) => FieldDTO;
@@ -0,0 +1,156 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.getFirstColumnSortField = exports.getFirstColumnField = exports.getColumnSortField = exports.getColumnField = exports.advancedColorColumn = exports.advancedCheckboxColumn = exports.advancedPercentageColumn = exports.advancedMoneyColumn = exports.advancedNumberColumn = exports.advancedMonthColumn = exports.advancedDateColumn = exports.advancedPhoneColumn = exports.advancedMailColumn = exports.advancedComposedColumn = exports.advancedTextColumn = exports.withGroupBy = void 0;
18
+ var jsx_runtime_1 = require("react/jsx-runtime");
19
+ var numbers_1 = require("../../../../helpers/numbers");
20
+ var helpers_1 = require("../../DataGrid/helpers");
21
+ var lodash_1 = __importDefault(require("lodash"));
22
+ var moment_1 = __importDefault(require("moment"));
23
+ var withGroupBy = function (columns) {
24
+ return lodash_1.default.mapValues(columns, function (column, key) {
25
+ var _a;
26
+ return (__assign(__assign({}, column), { field: __assign(__assign({}, ((_a = column.field) !== null && _a !== void 0 ? _a : { fieldName: key })), { groupBy: true }) }));
27
+ });
28
+ };
29
+ exports.withGroupBy = withGroupBy;
30
+ var advancedTextColumn = function (key, title, options) {
31
+ var _a;
32
+ return (_a = {},
33
+ _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 : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
34
+ _a);
35
+ };
36
+ exports.advancedTextColumn = advancedTextColumn;
37
+ /**
38
+ * Creates a column with a composed value from multiple fields,
39
+ * and filtered by a text filter on the first field
40
+ */
41
+ var advancedComposedColumn = function (key, title, fields, options) {
42
+ var _a;
43
+ return (_a = {},
44
+ _a[key] = __assign({ field: {
45
+ fieldAlias: key,
46
+ operator: 'jsonObject',
47
+ operands: fields.flatMap(function (field) { return [
48
+ { constantValue: field },
49
+ { fieldName: field },
50
+ ]; }),
51
+ }, 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 : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(fields[0])), { getter: function (value) { var _a; return (_a = value[fields[0]]) !== null && _a !== void 0 ? _a : 0; } }), filterField: fields[0], sortField: fields[0] }, options),
52
+ _a);
53
+ };
54
+ exports.advancedComposedColumn = advancedComposedColumn;
55
+ var advancedMailColumn = function (key, title, options) {
56
+ var _a;
57
+ return (_a = {},
58
+ _a[key] = __assign({ 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 : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
59
+ _a);
60
+ };
61
+ exports.advancedMailColumn = advancedMailColumn;
62
+ var advancedPhoneColumn = function (key, title, options) {
63
+ var _a;
64
+ return (_a = {},
65
+ _a[key] = __assign({ 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 : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
66
+ _a);
67
+ };
68
+ exports.advancedPhoneColumn = advancedPhoneColumn;
69
+ var advancedDateColumn = function (key, title, options) {
70
+ var _a;
71
+ return (_a = {},
72
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, moment_1.default)(row[key]).format('DD/MM/YYYY')) !== 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 : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
73
+ _a);
74
+ };
75
+ exports.advancedDateColumn = advancedDateColumn;
76
+ var advancedMonthColumn = function (key, title, options) {
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 : ''; }, filter: __assign(__assign({}, (0, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
80
+ _a);
81
+ };
82
+ exports.advancedMonthColumn = advancedMonthColumn;
83
+ var advancedNumberColumn = function (key, title, decimals, options) {
84
+ var _a;
85
+ if (decimals === void 0) { decimals = 2; }
86
+ return (_a = {},
87
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatNumber)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#'; }, 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, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; } }) }, options),
88
+ _a);
89
+ };
90
+ exports.advancedNumberColumn = advancedNumberColumn;
91
+ var advancedMoneyColumn = function (key, title, decimals, options) {
92
+ var _a;
93
+ if (decimals === void 0) { decimals = 2; }
94
+ return (_a = {},
95
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatMoney)(row[key], decimals)) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#0.00'; }, 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, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; } }) }, options),
96
+ _a);
97
+ };
98
+ exports.advancedMoneyColumn = advancedMoneyColumn;
99
+ var advancedPercentageColumn = function (key, title, options) {
100
+ var _a;
101
+ return (_a = {},
102
+ _a[key] = __assign({ name: title, render: function (row) { var _a; return (_a = (0, numbers_1.formatPercentage)(row[key])) !== null && _a !== void 0 ? _a : ''; }, excelFormatter: function () { return '#0.00'; }, 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, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; } }) }, options),
103
+ _a);
104
+ };
105
+ exports.advancedPercentageColumn = advancedPercentageColumn;
106
+ var advancedCheckboxColumn = function (key, title, options) {
107
+ var _a;
108
+ return (_a = {},
109
+ _a[key] = __assign({ 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: __assign(__assign({}, (0, helpers_1.numberFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : 0; } }) }, options),
110
+ _a);
111
+ };
112
+ exports.advancedCheckboxColumn = advancedCheckboxColumn;
113
+ var advancedColorColumn = function (key, title, options) {
114
+ var _a;
115
+ return (_a = {},
116
+ _a[key] = __assign({ name: title, render: function (row) {
117
+ var _a;
118
+ return ((0, jsx_runtime_1.jsx)("div", { style: { backgroundColor: row[key] }, children: (_a = row[key]) !== null && _a !== void 0 ? _a : '' }));
119
+ }, 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, helpers_1.textFilter)(key)), { getter: function (value) { var _a; return (_a = value[key]) !== null && _a !== void 0 ? _a : ''; } }) }, options),
120
+ _a);
121
+ };
122
+ exports.advancedColorColumn = advancedColorColumn;
123
+ var getColumnField = function (columns, columnKey) {
124
+ var _a, _b;
125
+ return columns[columnKey].field
126
+ ? {
127
+ fieldName: (_b = (_a = columns[columnKey].field) === null || _a === void 0 ? void 0 : _a.fieldName) !== null && _b !== void 0 ? _b : columnKey,
128
+ fieldAlias: columnKey,
129
+ }
130
+ : {
131
+ fieldName: columnKey,
132
+ fieldAlias: columnKey,
133
+ };
134
+ };
135
+ exports.getColumnField = getColumnField;
136
+ var getColumnSortField = function (columns, columnKey) {
137
+ var _a;
138
+ return columns[columnKey].sortField
139
+ ? {
140
+ fieldName: (_a = columns[columnKey].sortField) !== null && _a !== void 0 ? _a : columnKey,
141
+ fieldAlias: columnKey,
142
+ }
143
+ : {
144
+ fieldName: columnKey,
145
+ fieldAlias: columnKey,
146
+ };
147
+ };
148
+ exports.getColumnSortField = getColumnSortField;
149
+ var getFirstColumnField = function (columns) {
150
+ return (0, exports.getColumnField)(columns, Object.keys(columns)[0]);
151
+ };
152
+ exports.getFirstColumnField = getFirstColumnField;
153
+ var getFirstColumnSortField = function (columns) {
154
+ return (0, exports.getColumnSortField)(columns, Object.keys(columns)[0]);
155
+ };
156
+ exports.getFirstColumnSortField = getFirstColumnSortField;
@@ -0,0 +1,2 @@
1
+ export * from './advancedRequests';
2
+ export * from './columns';
@@ -0,0 +1,18 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./advancedRequests"), exports);
18
+ __exportStar(require("./columns"), exports);
@@ -0,0 +1,2 @@
1
+ import { AdvancedRequestDataGridProps } from './types';
2
+ export declare const AdvancedRequestDataGrid: <R>({ onSelectionChange: onSelectionChangeFromProps, idField, ...props }: AdvancedRequestDataGridProps<R>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,215 @@
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.AdvancedRequestDataGrid = void 0;
58
+ var jsx_runtime_1 = require("react/jsx-runtime");
59
+ var advancedRequests_1 = require("../../../services/advancedRequests");
60
+ var lodash_1 = __importStar(require("lodash"));
61
+ var helpers_1 = require("./helpers");
62
+ var react_1 = require("react");
63
+ var DataGrid_1 = require("../DataGrid");
64
+ var AdvancedRequestDataGrid = function (_a) {
65
+ var onSelectionChangeFromProps = _a.onSelectionChange, idField = _a.idField, props = __rest(_a, ["onSelectionChange", "idField"]);
66
+ var currentRows = (0, react_1.useRef)([]);
67
+ var _b = (0, react_1.useState)([]), rows = _b[0], setRows = _b[1];
68
+ var _c = (0, react_1.useState)(0), start = _c[0], setStart = _c[1];
69
+ var _d = (0, react_1.useState)(50), length = _d[0], setLength = _d[1];
70
+ var _e = (0, react_1.useState)(-1), total = _e[0], setTotal = _e[1];
71
+ var advancedRequest = (0, advancedRequests_1.useAdvancedRequestHandler)();
72
+ var idAdvancedRequest = (0, advancedRequests_1.useAdvancedRequestHandler)();
73
+ var _f = (0, react_1.useState)({}), conditions = _f[0], setConditions = _f[1];
74
+ var _g = (0, react_1.useState)([]), orderBy = _g[0], setOrderBy = _g[1];
75
+ var refresh = (0, react_1.useCallback)(function () {
76
+ setRows([]);
77
+ setStart(0);
78
+ setLength(50);
79
+ setTotal(-1);
80
+ }, []);
81
+ var onFiltersChanged = (0, react_1.useCallback)(function (filters) {
82
+ var newConditions = (0, helpers_1.convertFiltersToConditions)(filters, props.columns);
83
+ setTotal(-1);
84
+ setConditions(newConditions);
85
+ }, [props.columns]);
86
+ var onSortsChanged = (0, react_1.useCallback)(function (sorts) {
87
+ refresh();
88
+ setOrderBy(Object.entries(sorts).map(function (_a) {
89
+ var columnKey = _a[0], direction = _a[1];
90
+ return ({
91
+ field: (0, helpers_1.getColumnSortField)(props.columns, columnKey),
92
+ direction: direction.toUpperCase(),
93
+ });
94
+ }));
95
+ }, [props.columns, refresh]);
96
+ var loadRows = (0, react_1.useRef)((0, lodash_1.debounce)(function (columns, conditions, orderBy, start, length, idField, getTotal) {
97
+ if (getTotal === void 0) { getTotal = false; }
98
+ advancedRequest((0, helpers_1.getAdvancedRequestDto)({
99
+ type: props.type,
100
+ columns: columns,
101
+ conditions: conditions,
102
+ orderBy: orderBy,
103
+ start: start,
104
+ length: length,
105
+ getTotal: getTotal,
106
+ idField: idField,
107
+ })).then(function (response) {
108
+ var _a;
109
+ var _b;
110
+ if (getTotal) {
111
+ currentRows.current = Array(response.count).fill(null);
112
+ if (getTotal)
113
+ setTotal((_b = response.count) !== null && _b !== void 0 ? _b : 0);
114
+ }
115
+ var parsedRows = (0, helpers_1.parseJsonObjectFields)(response.data, columns, props.parser);
116
+ (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], parsedRows, false));
117
+ setRows(__spreadArray([], currentRows.current, true));
118
+ });
119
+ }, 100));
120
+ var loadFilterValues = (0, react_1.useCallback)(function (columnKey) {
121
+ var _a, _b, _c, _d, _e, _f, _g;
122
+ return advancedRequest({
123
+ fields: [
124
+ (_a = props.columns[columnKey].field) !== null && _a !== void 0 ? _a : {
125
+ fieldName: columnKey,
126
+ },
127
+ ],
128
+ conditions: __spreadArray(__spreadArray([], ((_b = props.conditions) !== null && _b !== void 0 ? _b : []), true), Object.values(lodash_1.default.pickBy(conditions, function (_, key) { return key !== columnKey; })), true).filter(function (condition) { return condition.field !== columnKey; }),
129
+ orderBy: [
130
+ {
131
+ field: (_g = (_e = (_c = props.columns[columnKey].filterField) !== null && _c !== void 0 ? _c : (_d = props.columns[columnKey].field) === null || _d === void 0 ? void 0 : _d.fieldAlias) !== null && _e !== void 0 ? _e : (_f = props.columns[columnKey].field) === null || _f === void 0 ? void 0 : _f.fieldName) !== null && _g !== void 0 ? _g : columnKey,
132
+ direction: 'ASC',
133
+ },
134
+ ],
135
+ type: props.type,
136
+ getTotal: false,
137
+ unique: true,
138
+ }).then(function (response) {
139
+ return response.data.map(function (row) { var _a, _b, _c; return (_c = (_b = (_a = props.columns[columnKey].filter) === null || _a === void 0 ? void 0 : _a.getter) === null || _b === void 0 ? void 0 : _b.call(_a, row)) !== null && _c !== void 0 ? _c : null; });
140
+ });
141
+ }, [advancedRequest, conditions, props.columns, props.conditions, props.type]);
142
+ (0, react_1.useEffect)(function () {
143
+ var _a, _b;
144
+ return loadRows.current(props.columns, __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true), orderBy, start, length, idField, total < 0);
145
+ }, [
146
+ props.columns,
147
+ conditions,
148
+ orderBy,
149
+ start,
150
+ length,
151
+ total,
152
+ props.conditions,
153
+ idField,
154
+ ]);
155
+ var loadCopyRows = (0, react_1.useCallback)(function () {
156
+ var _a, _b;
157
+ return advancedRequest((0, helpers_1.getAdvancedRequestDto)({
158
+ type: props.type,
159
+ columns: props.columns,
160
+ conditions: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true),
161
+ orderBy: orderBy,
162
+ start: 0,
163
+ length: total,
164
+ idField: idField,
165
+ })).then(function (response) {
166
+ return (0, helpers_1.parseJsonObjectFields)(response.data, props.columns, props.parser);
167
+ });
168
+ }, [
169
+ advancedRequest,
170
+ conditions,
171
+ idField,
172
+ orderBy,
173
+ props.columns,
174
+ props.conditions,
175
+ props.parser,
176
+ props.type,
177
+ total,
178
+ ]);
179
+ var loadAllIds = (0, react_1.useCallback)(function () {
180
+ var _a, _b;
181
+ return idAdvancedRequest((0, helpers_1.getAdvancedRequestDto)({
182
+ type: props.type,
183
+ columns: {
184
+ Id: {
185
+ name: 'Id',
186
+ field: idField !== null && idField !== void 0 ? idField : { fieldName: 'Id' },
187
+ },
188
+ },
189
+ conditions: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), ((_b = Object.values(conditions)) !== null && _b !== void 0 ? _b : []), true),
190
+ orderBy: orderBy,
191
+ start: 0,
192
+ length: total,
193
+ idField: null,
194
+ })).then(function (response) { return response.data.map(function (row) { return row['Id']; }); });
195
+ }, [
196
+ conditions,
197
+ idAdvancedRequest,
198
+ idField,
199
+ orderBy,
200
+ props.conditions,
201
+ props.type,
202
+ total,
203
+ ]);
204
+ var onVisibleRowsChanged = (0, react_1.useCallback)(function (newStart, newLength) {
205
+ if (newStart !== start || newLength !== length) {
206
+ setStart(newStart);
207
+ setLength(newLength);
208
+ }
209
+ }, [length, start]);
210
+ var onSelectionChange = (0, react_1.useCallback)(function (selectedKeys) {
211
+ onSelectionChangeFromProps === null || onSelectionChangeFromProps === void 0 ? void 0 : onSelectionChangeFromProps(selectedKeys);
212
+ }, [onSelectionChangeFromProps]);
213
+ return ((0, jsx_runtime_1.jsx)(DataGrid_1.DataGrid, __assign({ onVisibleRowsChange: onVisibleRowsChanged, filter: false, sort: false, onFiltersChanged: onFiltersChanged, onSortsChanged: onSortsChanged, filterValuesLoader: loadFilterValues, rows: rows, loadCopyRows: loadCopyRows, refresh: refresh, onSelectionChange: onSelectionChange, getAllIds: loadAllIds }, props)));
214
+ };
215
+ exports.AdvancedRequestDataGrid = AdvancedRequestDataGrid;
@@ -0,0 +1,21 @@
1
+ import { AdvancedRequestRow, ConditionDTO, FieldDTO, OrderByDTO } from '../../../services/advancedRequests';
2
+ import { DataGridColumn, DataGridFilter, DataGridFilterType, DataGridProps } from '../DataGrid/types';
3
+ export type AdvancedRequestDataGridFilter<T extends DataGridFilterType = DataGridFilterType> = DataGridFilter<T> & {
4
+ field?: FieldDTO;
5
+ };
6
+ export type AdvancedRequestDataGridFilters = Record<string, AdvancedRequestDataGridFilter>;
7
+ export type AdvancedRequestDataGridColumn<R> = DataGridColumn<R> & {
8
+ filter?: AdvancedRequestDataGridFilter;
9
+ field?: FieldDTO;
10
+ filterField?: string;
11
+ sortField?: string;
12
+ };
13
+ export type AdvancedRequestDataGridColumns<R> = Record<string, AdvancedRequestDataGridColumn<R>>;
14
+ export type AdvancedRequestDataGridProps<R> = Omit<DataGridProps<R>, 'rows' | 'columns'> & {
15
+ columns: AdvancedRequestDataGridColumns<R>;
16
+ type: string;
17
+ orderBy?: OrderByDTO[];
18
+ conditions?: ConditionDTO[];
19
+ idField?: FieldDTO | null;
20
+ parser?: (row: AdvancedRequestRow<R>) => R;
21
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ import { DataGridCellProps } from './types';
2
+ export declare const DataGridEditableCell: <R>({ row, columnKey, column, context, }: DataGridCellProps<R>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataGridEditableCell = void 0;
4
+ var jsx_runtime_1 = require("react/jsx-runtime");
5
+ /* eslint-disable @typescript-eslint/no-explicit-any */
6
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
7
+ var react_1 = require("react");
8
+ var hooks_1 = require("./hooks");
9
+ var DataGridEditableCell = function (_a) {
10
+ var row = _a.row, columnKey = _a.columnKey, column = _a.column, context = _a.context;
11
+ var _b = (0, hooks_1.useDataGridContext)(context), onCellEdited = _b.onCellEdited, setEditingCell = _b.setEditingCell;
12
+ var _c = (0, react_1.useState)(column.getter
13
+ ? column.getter(row)
14
+ : column.propertyName
15
+ ? String(row[column.propertyName])
16
+ : ''), value = _c[0], setValue = _c[1];
17
+ var onClose = (0, react_1.useCallback)(function () {
18
+ onCellEdited === null || onCellEdited === void 0 ? void 0 : onCellEdited(row, columnKey, value);
19
+ setEditingCell([-1, -1]);
20
+ }, [columnKey, onCellEdited, row, setEditingCell, value]);
21
+ return ((0, jsx_runtime_1.jsxs)("td", { children: [(0, jsx_runtime_1.jsx)("input", { type: "text",
22
+ // className="relative z-10 block text-normal w-full border-0 py-1.5 text-gray-900 ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-sky-600 sm:text-sm sm:leading-6"
23
+ value: String(value), onChange: function (e) { return setValue(e.target.value); } }), (0, jsx_runtime_1.jsx)("div", {
24
+ // className="fixed inset-0 bg-black bg-opacity-10"
25
+ onClick: onClose })] }, columnKey));
26
+ };
27
+ exports.DataGridEditableCell = DataGridEditableCell;
@@ -9,9 +9,9 @@ export declare const phoneColumn: <R extends Record<string, any>>(key: string, t
9
9
  export declare const dateColumn: <R extends Record<string, any>>(key: string, title: string, options?: DeepPartial<SqlRequestDataGridTextColumn<R>>, otherOptions?: Partial<DataGridDateColumn<R>>) => DataGridDateColumn<R>;
10
10
  export declare const dateTimeColumn: <R extends Record<string, any>>(key: string, title: string, options?: DeepPartial<SqlRequestDataGridTextColumn<R>>, otherOptions?: Partial<DataGridDateColumn<R>>) => DataGridDateColumn<R>;
11
11
  export declare const monthColumn: <R extends Record<string, any>>(key: string, title: string, options?: DeepPartial<SqlRequestDataGridTextColumn<R>>, otherOptions?: Partial<DataGridTextColumn<R>>) => DataGridTextColumn<R>;
12
- export declare const numberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: DeepPartial<SqlRequestDataGridTextColumn<R>>, otherOptions?: Partial<DataGridNumberColumn<R>>) => DataGridNumberColumn<R>;
13
- export declare const moneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, currency?: string | ((row: R) => string), options?: DeepPartial<SqlRequestDataGridTextColumn<R>>, otherOptions?: Partial<DataGridNumberColumn<R>>) => DataGridNumberColumn<R>;
14
- export declare const percentageColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: DeepPartial<SqlRequestDataGridTextColumn<R>>, otherOptions?: Partial<DataGridNumberColumn<R>>) => DataGridNumberColumn<R>;
12
+ export declare const numberColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: DeepPartial<SqlRequestDataGridTextColumn<R>> & Partial<DataGridNumberColumn<R>>) => DataGridNumberColumn<R>;
13
+ export declare const moneyColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, currency?: string | ((row: R) => string), options?: DeepPartial<SqlRequestDataGridTextColumn<R>> & Partial<DataGridNumberColumn<R>>) => DataGridNumberColumn<R>;
14
+ export declare const percentageColumn: <R extends Record<string, any>>(key: string, title: string, decimals?: number, options?: DeepPartial<SqlRequestDataGridTextColumn<R>> & Partial<DataGridNumberColumn<R>>) => DataGridNumberColumn<R>;
15
15
  export declare const checkboxColumn: <R extends Record<string, any>>(key: string, title: string, options?: DeepPartial<DataGridCheckboxColumn<R>>) => SqlRequestDataGridCheckboxColumn<R>;
16
16
  export declare const selectColumn: <R extends Record<string, any>, T>(key: string, title: string, items: T[], itemKey: (item: T | null) => string, itemLabel: (item: T | null) => string, otherOptions?: Partial<DataGridSelectColumn<R, T>>) => DataGridSelectColumn<R, T>;
17
17
  export declare const colorColumn: <R extends Record<string, any>>(key: string, title: string, otherOptions?: Partial<DataGridColorColumn<R>>) => DataGridColorColumn<R>;
@@ -65,7 +65,7 @@ var dateTimeColumn = function (key, title, options, otherOptions) { return (__as
65
65
  exports.dateTimeColumn = dateTimeColumn;
66
66
  var monthColumn = function (key, title, options, otherOptions) { return (__assign({ key: key, type: 'text', name: title, render: function (value) { return ((0, jsx_runtime_1.jsx)(typography_1.StyledTypography, __assign({}, options === null || options === void 0 ? void 0 : options.typography, { children: value + '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)); };
67
67
  exports.monthColumn = monthColumn;
68
- var numberColumn = function (key, title, decimals, options, otherOptions) {
68
+ var numberColumn = function (key, title, decimals, options) {
69
69
  if (decimals === void 0) { decimals = 2; }
70
70
  var column = __assign({ key: key, type: 'number', name: title, render: function (value) { return ((0, jsx_runtime_1.jsx)(typography_1.StyledTypography, __assign({}, options === null || options === void 0 ? void 0 : options.typography, { children: (0, numbers_1.formatNumber)(value, decimals) }))); }, excelOptions: {
71
71
  formatter: function () { return (0, exports.buildExcelFormat)(decimals); },
@@ -88,11 +88,11 @@ var numberColumn = function (key, title, decimals, options, otherOptions) {
88
88
  }, 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, components_1.withDisplayName)(function (_a) {
89
89
  var ref = _a.ref, otherProps = __rest(_a, ["ref"]);
90
90
  return ((0, jsx_runtime_1.jsx)(NumberEditableCell_1.NumberEditableCell, __assign({ ref: ref, decimals: column.decimals, currency: column.currency }, otherProps)));
91
- }, 'NumberColumnEditComponent') }, otherOptions);
91
+ }, 'NumberColumnEditComponent') }, options);
92
92
  return column;
93
93
  };
94
94
  exports.numberColumn = numberColumn;
95
- var moneyColumn = function (key, title, decimals, currency, options, otherOptions) {
95
+ var moneyColumn = function (key, title, decimals, currency, options) {
96
96
  if (decimals === void 0) { decimals = 2; }
97
97
  if (currency === void 0) { currency = '€'; }
98
98
  var column = __assign({ key: key, type: 'number', name: title, render: typeof currency === 'function'
@@ -115,11 +115,11 @@ var moneyColumn = function (key, title, decimals, currency, options, otherOption
115
115
  min: function (_, filteredRows) {
116
116
  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);
117
117
  },
118
- } }, otherOptions);
118
+ } }, options);
119
119
  return column;
120
120
  };
121
121
  exports.moneyColumn = moneyColumn;
122
- var percentageColumn = function (key, title, decimals, options, otherOptions) {
122
+ var percentageColumn = function (key, title, decimals, options) {
123
123
  if (decimals === void 0) { decimals = 2; }
124
124
  var column = __assign({ key: key, type: 'number', name: title, render: function (value) { return ((0, jsx_runtime_1.jsx)(typography_1.StyledTypography, __assign({}, options === null || options === void 0 ? void 0 : options.typography, { children: (0, numbers_1.formatPercentage)(value) }))); }, excelOptions: {
125
125
  formatter: function () { return (0, exports.buildExcelFormat)(decimals, '%'); },
@@ -139,7 +139,7 @@ var percentageColumn = function (key, title, decimals, options, otherOptions) {
139
139
  sum: function (_, filteredRows) {
140
140
  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);
141
141
  },
142
- } }, otherOptions);
142
+ } }, options);
143
143
  return column;
144
144
  };
145
145
  exports.percentageColumn = percentageColumn;
@@ -0,0 +1 @@
1
+ export * from './space';
@@ -0,0 +1,17 @@
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./space"), exports);
@@ -0,0 +1,2 @@
1
+ import { PrintQuestModelRequestDTO, PrintQuestModelResponseDTO } from '../types/printing';
2
+ export declare const usePrintModelRequestHandler: () => (data: PrintQuestModelRequestDTO) => Promise<PrintQuestModelResponseDTO>;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.usePrintModelRequestHandler = void 0;
4
+ var hooks_1 = require("../hooks");
5
+ var usePrintModelRequestHandler = function () {
6
+ return (0, hooks_1.useWebSocketRequestHandler)('PrintQuestModel');
7
+ };
8
+ exports.usePrintModelRequestHandler = usePrintModelRequestHandler;
@@ -0,0 +1,8 @@
1
+ import { QuestPageElement } from '@addev-be/logiprint-common';
2
+ export type PrintQuestModelRequestDTO = {
3
+ pages: QuestPageElement[];
4
+ };
5
+ export type PrintQuestModelResponseDTO = {
6
+ status: number;
7
+ pdfBase64Url: string;
8
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@addev-be/ui",
3
- "version": "2.4.3",
3
+ "version": "2.4.5",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "watch": "tsc -b --watch",
@@ -20,7 +20,7 @@
20
20
  "update-version": "../../node/update-version.mjs"
21
21
  },
22
22
  "devDependencies": {
23
- "@addev-be/framework-utils": "^2.4.3",
23
+ "@addev-be/framework-utils": "^2.4.5",
24
24
  "@types/lodash": "^4.17.20",
25
25
  "@types/react": "^19.1.13",
26
26
  "@types/react-dom": "^19.1.9",
@@ -1,23 +1,23 @@
1
- import { DataGridColumn, DataGridFilterValue } from '../types';
2
-
3
- import { uniq } from 'lodash';
4
-
5
- export const sortAvailableValues = <R>(
6
- values: unknown[],
7
- column: DataGridColumn<R>
8
- ): DataGridFilterValue[] => {
9
- switch (column?.type) {
10
- case 'number':
11
- return uniq(values).sort(
12
- (a, b) => (a as number) - (b as number)
13
- ) as number[];
14
- case 'select':
15
- return uniq(values).sort((a, b) =>
16
- column.itemLabel(a).localeCompare(column.itemLabel(b))
17
- ) as string[];
18
- default:
19
- return uniq(values).sort((a, b) =>
20
- (a as string).localeCompare(b as string)
21
- ) as string[];
22
- }
23
- };
1
+ import { DataGridColumn, DataGridFilterValue } from '../types';
2
+
3
+ import { uniq } from 'lodash';
4
+
5
+ export const sortAvailableValues = <R>(
6
+ values: unknown[],
7
+ column: DataGridColumn<R>
8
+ ): DataGridFilterValue[] => {
9
+ switch (column?.type) {
10
+ case 'number':
11
+ return uniq(values).sort(
12
+ (a, b) => (a as number) - (b as number)
13
+ ) as number[];
14
+ case 'select':
15
+ return uniq(values).sort((a, b) =>
16
+ column.itemLabel(a).localeCompare(column.itemLabel(b))
17
+ ) as string[];
18
+ default:
19
+ return uniq(values).sort((a, b) =>
20
+ (a as string).localeCompare(b as string)
21
+ ) as string[];
22
+ }
23
+ };
@@ -193,8 +193,8 @@ export const numberColumn = <R extends Record<string, any>>(
193
193
  key: string,
194
194
  title: string,
195
195
  decimals = 2,
196
- options?: DeepPartial<SqlRequestDataGridTextColumn<R>>,
197
- otherOptions?: Partial<DataGridNumberColumn<R>>
196
+ options?: DeepPartial<SqlRequestDataGridTextColumn<R>> &
197
+ Partial<DataGridNumberColumn<R>>
198
198
  ): DataGridNumberColumn<R> => {
199
199
  const column: DataGridNumberColumn<R> = {
200
200
  key,
@@ -250,7 +250,7 @@ export const numberColumn = <R extends Record<string, any>>(
250
250
  ),
251
251
  'NumberColumnEditComponent'
252
252
  ),
253
- ...otherOptions,
253
+ ...options,
254
254
  };
255
255
  return column;
256
256
  };
@@ -260,8 +260,8 @@ export const moneyColumn = <R extends Record<string, any>>(
260
260
  title: string,
261
261
  decimals = 2,
262
262
  currency: string | ((row: R) => string) = '€',
263
- options?: DeepPartial<SqlRequestDataGridTextColumn<R>>,
264
- otherOptions?: Partial<DataGridNumberColumn<R>>
263
+ options?: DeepPartial<SqlRequestDataGridTextColumn<R>> &
264
+ Partial<DataGridNumberColumn<R>>
265
265
  ): DataGridNumberColumn<R> => {
266
266
  const column: DataGridNumberColumn<R> = {
267
267
  key,
@@ -313,7 +313,7 @@ export const moneyColumn = <R extends Record<string, any>>(
313
313
  decimals
314
314
  ),
315
315
  },
316
- ...otherOptions,
316
+ ...options,
317
317
  };
318
318
  return column;
319
319
  };
@@ -322,8 +322,8 @@ export const percentageColumn = <R extends Record<string, any>>(
322
322
  key: string,
323
323
  title: string,
324
324
  decimals = 2,
325
- options?: DeepPartial<SqlRequestDataGridTextColumn<R>>,
326
- otherOptions?: Partial<DataGridNumberColumn<R>>
325
+ options?: DeepPartial<SqlRequestDataGridTextColumn<R>> &
326
+ Partial<DataGridNumberColumn<R>>
327
327
  ): DataGridNumberColumn<R> => {
328
328
  const column: DataGridNumberColumn<R> = {
329
329
  key,
@@ -365,7 +365,7 @@ export const percentageColumn = <R extends Record<string, any>>(
365
365
  decimals
366
366
  ),
367
367
  },
368
- ...otherOptions,
368
+ ...options,
369
369
  };
370
370
  return column;
371
371
  };
@@ -1,61 +1,61 @@
1
- import styled, { css } from 'styled-components';
2
-
3
- export type AvatarContainerProps = {
4
- size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
- };
6
-
7
- const stylesMap: Record<
8
- AvatarContainerProps['size'],
9
- ReturnType<typeof css>
10
- > = {
11
- xs: css`
12
- width: var(--size-6);
13
- height: var(--size-6);
14
- min-width: var(--size-6);
15
- min-height: var(--size-6);
16
- font-size: var(--text-xs);
17
- line-height: var(--text-xs);
18
- `,
19
- sm: css`
20
- width: var(--size-8);
21
- height: var(--size-8);
22
- min-width: var(--size-8);
23
- min-height: var(--size-8);
24
- font-size: var(--text-sm);
25
- line-height: var(--text-sm);
26
- `,
27
- md: css`
28
- width: var(--size-10);
29
- height: var(--size-10);
30
- min-width: var(--size-10);
31
- min-height: var(--size-10);
32
- font-size: var(--text-md);
33
- line-height: var(--text-md);
34
- `,
35
- lg: css`
36
- width: var(--size-12);
37
- height: var(--size-12);
38
- min-width: var(--size-12);
39
- min-height: var(--size-12);
40
- font-size: var(--text-lg);
41
- line-height: var(--text-lg);
42
- `,
43
- xl: css`
44
- width: var(--size-14);
45
- height: var(--size-14);
46
- min-width: var(--size-14);
47
- min-height: var(--size-14);
48
- font-size: var(--text-2xl);
49
- line-height: var(--text-2xl);
50
- `,
51
- };
52
-
53
- export const AvatarContainer = styled.div<AvatarContainerProps>`
54
- display: inline-flex;
55
- align-items: center;
56
- justify-content: center;
57
- border-radius: var(--rounded-full);
58
- user-select: none;
59
-
60
- ${({ size }) => stylesMap[size]}
61
- `;
1
+ import styled, { css } from 'styled-components';
2
+
3
+ export type AvatarContainerProps = {
4
+ size: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
5
+ };
6
+
7
+ const stylesMap: Record<
8
+ AvatarContainerProps['size'],
9
+ ReturnType<typeof css>
10
+ > = {
11
+ xs: css`
12
+ width: var(--size-6);
13
+ height: var(--size-6);
14
+ min-width: var(--size-6);
15
+ min-height: var(--size-6);
16
+ font-size: var(--text-xs);
17
+ line-height: var(--text-xs);
18
+ `,
19
+ sm: css`
20
+ width: var(--size-8);
21
+ height: var(--size-8);
22
+ min-width: var(--size-8);
23
+ min-height: var(--size-8);
24
+ font-size: var(--text-sm);
25
+ line-height: var(--text-sm);
26
+ `,
27
+ md: css`
28
+ width: var(--size-10);
29
+ height: var(--size-10);
30
+ min-width: var(--size-10);
31
+ min-height: var(--size-10);
32
+ font-size: var(--text-md);
33
+ line-height: var(--text-md);
34
+ `,
35
+ lg: css`
36
+ width: var(--size-12);
37
+ height: var(--size-12);
38
+ min-width: var(--size-12);
39
+ min-height: var(--size-12);
40
+ font-size: var(--text-lg);
41
+ line-height: var(--text-lg);
42
+ `,
43
+ xl: css`
44
+ width: var(--size-14);
45
+ height: var(--size-14);
46
+ min-width: var(--size-14);
47
+ min-height: var(--size-14);
48
+ font-size: var(--text-2xl);
49
+ line-height: var(--text-2xl);
50
+ `,
51
+ };
52
+
53
+ export const AvatarContainer = styled.div<AvatarContainerProps>`
54
+ display: inline-flex;
55
+ align-items: center;
56
+ justify-content: center;
57
+ border-radius: var(--rounded-full);
58
+ user-select: none;
59
+
60
+ ${({ size }) => stylesMap[size]}
61
+ `;
@@ -1,3 +1,3 @@
1
- export * from './types';
2
- export * from './TabsView';
3
- export * from './TabsList';
1
+ export * from './types';
2
+ export * from './TabsView';
3
+ export * from './TabsList';
@@ -1,14 +1,14 @@
1
- import { useContext, useEffect } from 'react';
2
-
3
- import { TrackingContext } from '.';
4
- import { useLocation } from 'react-router-dom';
5
-
6
- export const useLocationTracking = () => {
7
- const { sendEvent } = useContext(TrackingContext);
8
- const { pathname, search } = useLocation();
9
- const pathWithSearch = `${pathname}${search}`;
10
-
11
- useEffect(() => {
12
- sendEvent('PageView', { path: pathWithSearch });
13
- }, [pathWithSearch, sendEvent]);
14
- };
1
+ import { useContext, useEffect } from 'react';
2
+
3
+ import { TrackingContext } from '.';
4
+ import { useLocation } from 'react-router-dom';
5
+
6
+ export const useLocationTracking = () => {
7
+ const { sendEvent } = useContext(TrackingContext);
8
+ const { pathname, search } = useLocation();
9
+ const pathWithSearch = `${pathname}${search}`;
10
+
11
+ useEffect(() => {
12
+ sendEvent('PageView', { path: pathWithSearch });
13
+ }, [pathWithSearch, sendEvent]);
14
+ };