@addev-be/ui 0.2.13 → 0.2.15

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 (114) hide show
  1. package/dist/Icons.d.ts +3 -1
  2. package/dist/Icons.js +5 -1
  3. package/dist/components/data/DataGrid/{FilterValuesScroller.d.ts → DataGridFilterMenu/FilterValuesScroller.d.ts} +1 -1
  4. package/dist/components/data/DataGrid/{FilterValuesScroller.js → DataGridFilterMenu/FilterValuesScroller.js} +6 -9
  5. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +3 -3
  6. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.d.ts +9 -0
  7. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +12 -2
  8. package/dist/components/data/DataGrid/FilterModalContent/index.js +18 -9
  9. package/dist/components/data/DataGrid/helpers/columns.d.ts +1 -0
  10. package/dist/components/data/DataGrid/helpers/columns.js +7 -6
  11. package/dist/components/data/DataGrid/helpers/filters.d.ts +1 -0
  12. package/dist/components/data/DataGrid/helpers/filters.js +71 -2
  13. package/dist/components/data/DataGrid/hooks/useDataGrid.js +2 -1
  14. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +2 -0
  15. package/dist/components/data/DataGrid/styles.d.ts +0 -9
  16. package/dist/components/data/DataGrid/styles.js +2 -12
  17. package/dist/components/data/DataGrid/types.d.ts +2 -0
  18. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +6 -6
  19. package/dist/helpers/numbers.d.ts +1 -0
  20. package/dist/helpers/numbers.js +9 -1
  21. package/dist/services/globalSearch.d.ts +13 -0
  22. package/dist/services/globalSearch.js +8 -0
  23. package/package.json +18 -12
  24. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +0 -9
  25. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +0 -171
  26. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +0 -12
  27. package/dist/components/data/DataGrid/helpers/advancedRequests.js +0 -53
  28. package/eslint.config.js +0 -28
  29. package/src/Icons.tsx +0 -108
  30. package/src/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.ts +0 -93
  31. package/src/components/data/AdvancedRequestDataGrid/helpers/columns.tsx +0 -262
  32. package/src/components/data/AdvancedRequestDataGrid/helpers/index.ts +0 -2
  33. package/src/components/data/AdvancedRequestDataGrid/index.tsx +0 -267
  34. package/src/components/data/AdvancedRequestDataGrid/types.ts +0 -47
  35. package/src/components/data/DataGrid/DataGridCell.tsx +0 -73
  36. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +0 -14
  37. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +0 -59
  38. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +0 -181
  39. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +0 -104
  40. package/src/components/data/DataGrid/DataGridEditableCell.tsx +0 -43
  41. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +0 -120
  42. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +0 -75
  43. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +0 -360
  44. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +0 -96
  45. package/src/components/data/DataGrid/DataGridFooter.tsx +0 -42
  46. package/src/components/data/DataGrid/DataGridHeader.tsx +0 -126
  47. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +0 -132
  48. package/src/components/data/DataGrid/FilterModalContent/index.tsx +0 -136
  49. package/src/components/data/DataGrid/FilterModalContent/styles.ts +0 -22
  50. package/src/components/data/DataGrid/VirtualScroller.tsx +0 -46
  51. package/src/components/data/DataGrid/helpers/columns.tsx +0 -295
  52. package/src/components/data/DataGrid/helpers/filters.ts +0 -287
  53. package/src/components/data/DataGrid/helpers/index.ts +0 -2
  54. package/src/components/data/DataGrid/hooks/index.ts +0 -30
  55. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +0 -306
  56. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +0 -175
  57. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +0 -48
  58. package/src/components/data/DataGrid/index.tsx +0 -140
  59. package/src/components/data/DataGrid/styles.ts +0 -323
  60. package/src/components/data/DataGrid/types.ts +0 -267
  61. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +0 -277
  62. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +0 -2
  63. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +0 -16
  64. package/src/components/data/SqlRequestDataGrid/index.tsx +0 -347
  65. package/src/components/data/SqlRequestDataGrid/types.ts +0 -47
  66. package/src/components/data/index.ts +0 -8
  67. package/src/components/forms/Button.tsx +0 -99
  68. package/src/components/forms/IconButton.tsx +0 -56
  69. package/src/components/forms/IndeterminateCheckbox.tsx +0 -46
  70. package/src/components/forms/Select.tsx +0 -40
  71. package/src/components/forms/index.ts +0 -5
  72. package/src/components/forms/styles.ts +0 -20
  73. package/src/components/index.ts +0 -3
  74. package/src/components/layout/Dropdown/index.tsx +0 -79
  75. package/src/components/layout/Dropdown/styles.ts +0 -44
  76. package/src/components/layout/Loading/index.tsx +0 -29
  77. package/src/components/layout/Loading/styles.ts +0 -29
  78. package/src/components/layout/Modal/index.tsx +0 -51
  79. package/src/components/layout/Modal/styles.ts +0 -110
  80. package/src/components/layout/index.ts +0 -3
  81. package/src/components/ui/ContextMenu/index.tsx +0 -79
  82. package/src/components/ui/ContextMenu/styles.ts +0 -119
  83. package/src/config/index.ts +0 -14
  84. package/src/helpers/dates.ts +0 -9
  85. package/src/helpers/getScrollbarSize.ts +0 -14
  86. package/src/helpers/numbers.ts +0 -26
  87. package/src/hooks/index.ts +0 -2
  88. package/src/hooks/useElementSize.ts +0 -24
  89. package/src/hooks/useWindowSize.ts +0 -20
  90. package/src/index.ts +0 -7
  91. package/src/providers/PortalsProvider/index.tsx +0 -54
  92. package/src/providers/PortalsProvider/styles.ts +0 -27
  93. package/src/providers/SettingsProvider/index.tsx +0 -70
  94. package/src/providers/ThemeProvider/ThemeProvider.ts +0 -55
  95. package/src/providers/ThemeProvider/defaultTheme.ts +0 -444
  96. package/src/providers/ThemeProvider/index.ts +0 -3
  97. package/src/providers/ThemeProvider/types.ts +0 -123
  98. package/src/providers/UiProviders/index.tsx +0 -65
  99. package/src/providers/UiProviders/styles.ts +0 -10
  100. package/src/providers/hooks.ts +0 -8
  101. package/src/providers/index.ts +0 -5
  102. package/src/services/HttpService.ts +0 -80
  103. package/src/services/WebSocketService.ts +0 -147
  104. package/src/services/advancedRequests.ts +0 -101
  105. package/src/services/base.ts +0 -31
  106. package/src/services/globalSearch.ts +0 -27
  107. package/src/services/hooks.ts +0 -23
  108. package/src/services/index.ts +0 -2
  109. package/src/services/sqlRequests.ts +0 -110
  110. package/src/styles/animations.scss +0 -30
  111. package/src/styles/index.scss +0 -42
  112. package/src/typings.d.ts +0 -6
  113. package/tsconfig.json +0 -18
  114. package/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useGlobalSearchRequestHandler = void 0;
4
+ var hooks_1 = require("./hooks");
5
+ var useGlobalSearchRequestHandler = function () {
6
+ return (0, hooks_1.useWebSocketRequestHandler)('GlobalSearch');
7
+ };
8
+ exports.useGlobalSearchRequestHandler = useGlobalSearchRequestHandler;
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@addev-be/ui",
3
- "version": "0.2.13",
3
+ "version": "0.2.15",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "watch": "tsc -b --watch",
7
7
  "build": "tsc -b",
8
+ "build:vite": "vite build",
8
9
  "lint": "eslint .",
9
10
  "publish": "yarn npm publish"
10
11
  },
@@ -14,6 +15,19 @@
14
15
  "import": "./src/index.ts"
15
16
  }
16
17
  },
18
+ "files": [
19
+ "dist",
20
+ "assets"
21
+ ],
22
+ "dependencies": {
23
+ "fp-ts": "^2.16.9",
24
+ "io-ts": "^2.2.21",
25
+ "lodash": "^4.17.21",
26
+ "moment": "^2.30.1",
27
+ "styled-components": "^6.1.13",
28
+ "uuid": "^10.0.0",
29
+ "vite-plugin-svgr": "^4.2.0"
30
+ },
17
31
  "devDependencies": {
18
32
  "@eslint/js": "^8.57.0",
19
33
  "@types/lodash": "^4",
@@ -32,19 +46,11 @@
32
46
  "eslint-plugin-react-refresh": "^0.4.9",
33
47
  "globals": "^15.9.0",
34
48
  "typescript": "^5.5.3",
35
- "typescript-eslint": "^8.6.0"
49
+ "typescript-eslint": "^8.6.0",
50
+ "vite": "^5.4.10"
36
51
  },
37
52
  "peerDependencies": {
38
53
  "react": "^18.3.1",
39
- "react-dom": "^18.3.1",
40
- "styled-components": "^6.1.13",
41
- "vite-plugin-svgr": "^4.2.0"
42
- },
43
- "dependencies": {
44
- "fp-ts": "^2.16.9",
45
- "io-ts": "^2.2.21",
46
- "lodash": "^4.17.21",
47
- "moment": "^2.30.1",
48
- "uuid": "^10.0.0"
54
+ "react-dom": "^18.3.1"
49
55
  }
50
56
  }
@@ -1,9 +0,0 @@
1
- import { ConditionDTO, OrderByDTO } from '../../../services/advancedRequests';
2
- import { DataGridProps } from './types';
3
- export type AdvancedRequestDataGridProps<R> = Omit<DataGridProps<R>, 'rows'> & {
4
- type: string;
5
- orderBy?: OrderByDTO[];
6
- conditions?: ConditionDTO[];
7
- addIdColumn?: boolean;
8
- };
9
- export declare const AdvancedRequestDataGrid: <R>(props: AdvancedRequestDataGridProps<R>) => import("react/jsx-runtime").JSX.Element;
@@ -1,171 +0,0 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
- if (ar || !(i in from)) {
16
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
- ar[i] = from[i];
18
- }
19
- }
20
- return to.concat(ar || Array.prototype.slice.call(from));
21
- };
22
- Object.defineProperty(exports, "__esModule", { value: true });
23
- exports.AdvancedRequestDataGrid = void 0;
24
- var jsx_runtime_1 = require("react/jsx-runtime");
25
- var advancedRequests_1 = require("../../../services/advancedRequests");
26
- var helpers_1 = require("./helpers");
27
- var react_1 = require("react");
28
- var _1 = require(".");
29
- var lodash_1 = require("lodash");
30
- var getColumnField = function (columns, columnKey) {
31
- var _a, _b;
32
- return columns[columnKey].field
33
- ? {
34
- fieldName: (_b = (_a = columns[columnKey].field) === null || _a === void 0 ? void 0 : _a.fieldName) !== null && _b !== void 0 ? _b : columnKey,
35
- fieldAlias: columnKey,
36
- }
37
- : {
38
- fieldName: columnKey,
39
- fieldAlias: columnKey,
40
- };
41
- };
42
- var getFirstColumnField = function (columns) {
43
- return getColumnField(columns, Object.keys(columns)[0]);
44
- };
45
- var AdvancedRequestDataGrid = function (props) {
46
- var _a;
47
- var currentRows = (0, react_1.useRef)([]);
48
- var _b = (0, react_1.useState)([]), rows = _b[0], setRows = _b[1];
49
- var _c = (0, react_1.useState)(0), start = _c[0], setStart = _c[1];
50
- var _d = (0, react_1.useState)(50), length = _d[0], setLength = _d[1];
51
- var _e = (0, react_1.useState)(-1), total = _e[0], setTotal = _e[1];
52
- var advancedRequest = (0, advancedRequests_1.useAdvancedRequestHandler)();
53
- var _f = (0, react_1.useState)([]), conditions = _f[0], setConditions = _f[1];
54
- var _g = (0, react_1.useState)((_a = props.orderBy) !== null && _a !== void 0 ? _a : [
55
- {
56
- field: getFirstColumnField(props.columns),
57
- direction: 'ASC',
58
- },
59
- ]), orderBy = _g[0], setOrderBy = _g[1];
60
- var refresh = (0, react_1.useCallback)(function () {
61
- setRows([]);
62
- setStart(0);
63
- setLength(50);
64
- setTotal(-1);
65
- }, []);
66
- var onFiltersChanged = (0, react_1.useCallback)(function (filters) {
67
- console.log('filters changed', filters);
68
- var newConditions = (0, helpers_1.convertFiltersToConditions)(filters);
69
- console.log('new conditions:', newConditions);
70
- setTotal(-1);
71
- setConditions(newConditions);
72
- }, []);
73
- var onSortsChanged = (0, react_1.useCallback)(function (sorts) {
74
- console.log('sorts changed', sorts);
75
- refresh();
76
- setOrderBy(Object.entries(sorts).map(function (_a) {
77
- var columnKey = _a[0], direction = _a[1];
78
- return ({
79
- field: getColumnField(props.columns, columnKey),
80
- direction: direction.toUpperCase(),
81
- });
82
- }));
83
- }, [props.columns, refresh]);
84
- var loadRows = (0, react_1.useRef)((0, lodash_1.debounce)(function (columns, conditions, orderBy, start, length, getTotal) {
85
- if (getTotal === void 0) { getTotal = false; }
86
- advancedRequest((0, helpers_1.getAdvancedRequestDto)({
87
- type: props.type,
88
- columns: columns,
89
- conditions: conditions,
90
- orderBy: orderBy,
91
- start: start,
92
- length: length,
93
- getTotal: getTotal,
94
- })).then(function (response) {
95
- var _a;
96
- var _b;
97
- if (getTotal) {
98
- currentRows.current = Array(response.total).fill(null);
99
- if (getTotal)
100
- setTotal((_b = response.total) !== null && _b !== void 0 ? _b : 0);
101
- }
102
- (_a = currentRows.current).splice.apply(_a, __spreadArray([start, length], response.data, false));
103
- setRows(__spreadArray([], currentRows.current, true));
104
- });
105
- }, 100));
106
- var loadFilterValues = (0, react_1.useCallback)(function (columnKey) {
107
- var _a;
108
- return advancedRequest({
109
- fields: [
110
- {
111
- fieldName: columnKey,
112
- },
113
- ],
114
- conditions: __spreadArray(__spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), conditions, true), [
115
- {
116
- field: {
117
- fieldName: 'DeletedAt',
118
- },
119
- operator: 'isNull',
120
- },
121
- ], false).filter(function (condition) {
122
- var _a;
123
- return ((_a = condition.field.fieldAlias) !== null && _a !== void 0 ? _a : condition.field.fieldName) !==
124
- columnKey;
125
- }),
126
- orderBy: [
127
- {
128
- field: { fieldName: columnKey },
129
- direction: 'ASC',
130
- },
131
- ],
132
- type: props.type,
133
- getTotal: false,
134
- unique: true,
135
- }).then(function (response) {
136
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
137
- return response.data.map(function (row) { return row[columnKey]; });
138
- });
139
- }, [advancedRequest, conditions, props.conditions, props.type]);
140
- (0, react_1.useEffect)(function () {
141
- var _a;
142
- return loadRows.current(props.columns, __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), (conditions !== null && conditions !== void 0 ? conditions : []), true), orderBy, start, length, total < 0);
143
- }, [props.columns, conditions, orderBy, start, length, total, props.conditions]);
144
- var loadCopyRows = (0, react_1.useCallback)(function () {
145
- var _a;
146
- return advancedRequest((0, helpers_1.getAdvancedRequestDto)({
147
- type: props.type,
148
- columns: props.columns,
149
- conditions: __spreadArray(__spreadArray([], ((_a = props.conditions) !== null && _a !== void 0 ? _a : []), true), (conditions !== null && conditions !== void 0 ? conditions : []), true),
150
- orderBy: orderBy,
151
- start: 0,
152
- length: total,
153
- })).then(function (response) { return response.data; });
154
- }, [
155
- advancedRequest,
156
- conditions,
157
- orderBy,
158
- props.columns,
159
- props.conditions,
160
- props.type,
161
- total,
162
- ]);
163
- var onVisibleRowsChanged = (0, react_1.useCallback)(function (newStart, newLength) {
164
- if (newStart !== start || newLength !== length) {
165
- setStart(newStart);
166
- setLength(newLength);
167
- }
168
- }, [length, start]);
169
- return ((0, jsx_runtime_1.jsx)(_1.DataGrid, __assign({ onVisibleRowsChange: onVisibleRowsChanged, filter: false, sort: false, onFiltersChanged: onFiltersChanged, onSortsChanged: onSortsChanged, filterValuesLoader: loadFilterValues, rows: rows, loadCopyRows: loadCopyRows, refresh: refresh }, props)));
170
- };
171
- exports.AdvancedRequestDataGrid = AdvancedRequestDataGrid;
@@ -1,12 +0,0 @@
1
- import { AdvancedRequestDTO, ConditionDTO, OrderByDTO } from '../../../../services/advancedRequests';
2
- import { DataGridColumns } from '../types';
3
- export declare const getAdvancedRequestDto: <R>({ type, columns, conditions, orderBy, start, length, getTotal, addIdColumn, }: {
4
- type: string;
5
- columns: DataGridColumns<R>;
6
- conditions?: ConditionDTO[];
7
- orderBy?: OrderByDTO[];
8
- start?: number;
9
- length?: number;
10
- getTotal?: boolean;
11
- addIdColumn?: boolean;
12
- }) => AdvancedRequestDTO;
@@ -1,53 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
24
- exports.getAdvancedRequestDto = void 0;
25
- var getAdvancedRequestDto = function (_a) {
26
- 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.addIdColumn, addIdColumn = _g === void 0 ? true : _g;
27
- return ({
28
- fields: __spreadArray(__spreadArray([], (Object.keys(columns).includes('Id') || addIdColumn === false
29
- ? []
30
- : [{ fieldName: 'Id' }]), true), Object.keys(columns).map(function (key) {
31
- var _a, _b;
32
- return columns[key].field
33
- ? __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 }) : {
34
- fieldName: key,
35
- fieldAlias: key,
36
- };
37
- }), true),
38
- conditions: __spreadArray(__spreadArray([], conditions, true), [
39
- {
40
- field: {
41
- fieldName: 'DeletedAt',
42
- },
43
- operator: 'isNull',
44
- },
45
- ], false),
46
- orderBy: orderBy,
47
- type: type,
48
- start: start,
49
- length: length,
50
- getTotal: getTotal,
51
- });
52
- };
53
- exports.getAdvancedRequestDto = getAdvancedRequestDto;
package/eslint.config.js DELETED
@@ -1,28 +0,0 @@
1
- import js from '@eslint/js'
2
- import globals from 'globals'
3
- import reactHooks from 'eslint-plugin-react-hooks'
4
- import reactRefresh from 'eslint-plugin-react-refresh'
5
- import tseslint from 'typescript-eslint'
6
-
7
- export default tseslint.config(
8
- { ignores: ['dist'] },
9
- {
10
- extends: [js.configs.recommended, ...tseslint.configs.recommended],
11
- files: ['**/*.{ts,tsx}'],
12
- languageOptions: {
13
- ecmaVersion: 2020,
14
- globals: globals.browser,
15
- },
16
- plugins: {
17
- 'react-hooks': reactHooks,
18
- 'react-refresh': reactRefresh,
19
- },
20
- rules: {
21
- ...reactHooks.configs.recommended.rules,
22
- 'react-refresh/only-export-components': [
23
- 'warn',
24
- { allowConstantExport: true },
25
- ],
26
- },
27
- },
28
- )
package/src/Icons.tsx DELETED
@@ -1,108 +0,0 @@
1
- import { FC, SVGProps, useEffect, useState } from 'react';
2
-
3
- import ArrowDown19Icon from '../assets/icons/arrow-down-1-9.svg?react';
4
- import ArrowDownAZIcon from '../assets/icons/arrow-down-a-z.svg?react';
5
- import ArrowDownBigSmallIcon from '../assets/icons/arrow-down-big-small.svg?react';
6
- import ArrowUp91Icon from '../assets/icons/arrow-up-9-1.svg?react';
7
- import ArrowUpBigSmallIcon from '../assets/icons/arrow-up-big-small.svg?react';
8
- import ArrowUpZAIcon from '../assets/icons/arrow-up-z-a.svg?react';
9
- import ArrowsRotateIcon from '../assets/icons/arrows-rotate.svg?react';
10
- import ArrowsUpDownIcon from '../assets/icons/arrows-up-down.svg?react';
11
- import CheckIcon from '../assets/icons/check.svg?react';
12
- import ChevronDownIcon from '../assets/icons/chevron-down.svg?react';
13
- import CopyIcon from '../assets/icons/copy.svg?react';
14
- import DownIcon from '../assets/icons/down.svg?react';
15
- import EllipsisIcon from '../assets/icons/ellipsis.svg?react';
16
- import FilterFullIcon from '../assets/icons/filter-full.svg?react';
17
- import FilterIcon from '../assets/icons/filter.svg?react';
18
- import FilterSlashIcon from '../assets/icons/filter-slash.svg?react';
19
- import HashtagIcon from '../assets/icons/hashtag.svg?react';
20
- import ImageSlashIcon from '../assets/icons/image-slash.svg?react';
21
- import LeftIcon from '../assets/icons/left.svg?react';
22
- import MagnifierIcon from '../assets/icons/magnifier.svg?react';
23
- import PhoneIcon from '../assets/icons/phone.svg?react';
24
- import PlusIcon from '../assets/icons/plus.svg?react';
25
- import RightIcon from '../assets/icons/right.svg?react';
26
- import SigmaIcon from '../assets/icons/sigma.svg?react';
27
- import SortCalendarAscendingIcon from '../assets/icons/sort-calendar-ascending.svg?react';
28
- import SortCalendarDescendingIcon from '../assets/icons/sort-calendar-descending.svg?react';
29
- import SpinnerIcon from '../assets/icons/spinner-third.svg?react';
30
- import TableColumnsIcon from '../assets/icons/table-columns.svg?react';
31
- import TableFooterIcon from '../assets/icons/table-footer.svg?react';
32
- import TableFooterSlashIcon from '../assets/icons/table-footer-slash.svg?react';
33
- import TableIcon from '../assets/icons/table.svg?react';
34
- import TallyIcon from '../assets/icons/tally.svg?react';
35
- import UpIcon from '../assets/icons/up.svg?react';
36
- import UserTieIcon from '../assets/icons/user-tie.svg?react';
37
- import XBarIcon from '../assets/icons/x-bar.svg?react';
38
-
39
- type IconFCProps = SVGProps<SVGSVGElement>;
40
- export type IconFC = FC<IconFCProps>;
41
-
42
- type AnimatedIconProps = {
43
- icons: FC[];
44
- speed?: number;
45
- };
46
-
47
- export const AnimatedIcon: FC<AnimatedIconProps & IconFCProps> = ({
48
- icons,
49
- speed = 150,
50
- ...props
51
- }) => {
52
- const [currentIcon, setCurrentIcon] = useState(0);
53
-
54
- useEffect(() => {
55
- const interval = setInterval(() => {
56
- setCurrentIcon((currentIcon) => (currentIcon + 1) % icons.length);
57
- }, speed);
58
-
59
- return () => {
60
- clearInterval(interval);
61
- };
62
- }, [icons.length, speed]);
63
-
64
- const Icon = icons[currentIcon];
65
- return <Icon {...props} />;
66
- };
67
-
68
- export const LoadingIcon: FC<IconFCProps> = ({ className, ...props }) => (
69
- <SpinnerIcon className={`animate-spin ${className}`} {...props} />
70
- );
71
-
72
- export {
73
- ArrowDownAZIcon,
74
- ArrowDown19Icon,
75
- ArrowDownBigSmallIcon,
76
- ArrowUpZAIcon,
77
- ArrowUpBigSmallIcon,
78
- ArrowUp91Icon,
79
- ArrowsRotateIcon,
80
- ArrowsUpDownIcon,
81
- CheckIcon,
82
- ChevronDownIcon,
83
- CopyIcon,
84
- DownIcon,
85
- EllipsisIcon,
86
- FilterFullIcon,
87
- FilterIcon,
88
- FilterSlashIcon,
89
- HashtagIcon,
90
- ImageSlashIcon,
91
- LeftIcon,
92
- MagnifierIcon,
93
- PhoneIcon,
94
- PlusIcon,
95
- RightIcon,
96
- SigmaIcon,
97
- SortCalendarAscendingIcon,
98
- SortCalendarDescendingIcon,
99
- SpinnerIcon,
100
- TableColumnsIcon,
101
- TableFooterIcon,
102
- TableFooterSlashIcon,
103
- TableIcon,
104
- TallyIcon,
105
- UpIcon,
106
- UserTieIcon,
107
- XBarIcon,
108
- };
@@ -1,93 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- import {
4
- AdvancedRequestDTO,
5
- ConditionDTO,
6
- FieldDTO,
7
- OrderByDTO,
8
- } from '../../../../services/advancedRequests';
9
- import {
10
- AdvancedRequestDataGridColumns,
11
- AdvancedRequestDataGridFilters,
12
- } from '../types';
13
-
14
- import _ from 'lodash';
15
-
16
- export const getAdvancedRequestDto = <R>({
17
- type,
18
- columns,
19
- conditions = [],
20
- orderBy = [],
21
- start = 0,
22
- length = 100,
23
- getTotal = false,
24
- idField = { fieldName: 'Id' },
25
- }: {
26
- type: string;
27
- columns: AdvancedRequestDataGridColumns<R>;
28
- conditions?: ConditionDTO[];
29
- orderBy?: OrderByDTO[];
30
- start?: number;
31
- length?: number;
32
- getTotal?: boolean;
33
- idField?: FieldDTO | null;
34
- }): AdvancedRequestDTO => ({
35
- fields: [
36
- ...(idField === null ? [] : [idField]),
37
- ...Object.keys(columns).map((key) =>
38
- columns[key].field
39
- ? {
40
- ...columns[key].field,
41
- fieldName: columns[key].field?.fieldName ?? key,
42
- fieldAlias: key,
43
- }
44
- : {
45
- fieldName: key,
46
- fieldAlias: key,
47
- }
48
- ),
49
- ],
50
- conditions,
51
- orderBy,
52
- type,
53
- start,
54
- length,
55
- getTotal,
56
- });
57
-
58
- export const convertFiltersToConditions = <R>(
59
- filters: AdvancedRequestDataGridFilters,
60
- columns: AdvancedRequestDataGridColumns<R>
61
- ): Record<string, ConditionDTO> =>
62
- _.mapValues(filters, (filter, columnKey) => ({
63
- field:
64
- columns[columnKey].filterField ??
65
- columns[columnKey].field?.fieldAlias ??
66
- columns[columnKey].field?.fieldName ??
67
- columnKey,
68
- operator: filter.operator,
69
- value: ['inArray', 'inRange'].includes(filter.operator)
70
- ? filter.values
71
- : _.castArray<string | number | null>(filter.values)[0],
72
- }));
73
-
74
- export const parseJsonObjectFields = <R>(
75
- rows: any[],
76
- columns: AdvancedRequestDataGridColumns<R>,
77
- parser?: (row: any) => R
78
- ): R[] => {
79
- const jsonColumns = Object.keys(columns).filter(
80
- (key) => columns[key].field?.operator === 'jsonObject'
81
- );
82
- const parsedRows =
83
- jsonColumns.length === 0
84
- ? rows
85
- : rows.map((row) => {
86
- const parsedRow = { ...row };
87
- jsonColumns.forEach((key) => {
88
- parsedRow[key] = JSON.parse(parsedRow[key] ?? '{}');
89
- });
90
- return parsedRow;
91
- });
92
- return parser ? parsedRows.map(parser) : parsedRows;
93
- };