@bit.rhplus/ag-grid 0.0.11

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/AgGridAddNewItem.js +6 -0
  2. package/AgGridColumn.js +368 -0
  3. package/AgGridColumnFilter.js +22 -0
  4. package/AgGridOnGridReady.js +9 -0
  5. package/AgGridOnRowDataChanged.js +8 -0
  6. package/AgGridOnRowDataUpdated.js +32 -0
  7. package/AgGridPostSort.js +34 -0
  8. package/AggregationNotification.js +111 -0
  9. package/Aggregations.js +185 -0
  10. package/CheckBoxRenderer.jsx +29 -0
  11. package/Components/ExtendButton.css +6 -0
  12. package/Components/ExtendButton.jsx +17 -0
  13. package/CountryCellRenderer.jsx +18 -0
  14. package/Functions/index.js +21 -0
  15. package/HeaderTemplates/CommonHeaderTemplate.js +15 -0
  16. package/HyperModuleEditor.js +139 -0
  17. package/HyperModuleRenderer.js +152 -0
  18. package/NotificationOptions.jsx +53 -0
  19. package/OnCellDoubleClicked.js +10 -0
  20. package/OnCellEditingStarted.js +9 -0
  21. package/OnCellValueChanged.js +12 -0
  22. package/Renderers/BooleanRenderer.jsx +39 -0
  23. package/Renderers/ButtonRenderer.jsx +48 -0
  24. package/Renderers/CheckboxRenderer.jsx +35 -0
  25. package/Renderers/CountrySelectRenderer.jsx +37 -0
  26. package/Renderers/SelectRenderer.jsx +15 -0
  27. package/dist/AgGridAddNewItem.d.ts +0 -0
  28. package/dist/AgGridAddNewItem.js +6 -0
  29. package/dist/AgGridAddNewItem.js.map +1 -0
  30. package/dist/AgGridColumn.d.ts +3 -0
  31. package/dist/AgGridColumn.js +325 -0
  32. package/dist/AgGridColumn.js.map +1 -0
  33. package/dist/AgGridColumnFilter.d.ts +4 -0
  34. package/dist/AgGridColumnFilter.js +19 -0
  35. package/dist/AgGridColumnFilter.js.map +1 -0
  36. package/dist/AgGridOnGridReady.d.ts +1 -0
  37. package/dist/AgGridOnGridReady.js +6 -0
  38. package/dist/AgGridOnGridReady.js.map +1 -0
  39. package/dist/AgGridOnRowDataChanged.d.ts +0 -0
  40. package/dist/AgGridOnRowDataChanged.js +8 -0
  41. package/dist/AgGridOnRowDataChanged.js.map +1 -0
  42. package/dist/AgGridOnRowDataUpdated.d.ts +1 -0
  43. package/dist/AgGridOnRowDataUpdated.js +27 -0
  44. package/dist/AgGridOnRowDataUpdated.js.map +1 -0
  45. package/dist/AgGridPostSort.d.ts +1 -0
  46. package/dist/AgGridPostSort.js +32 -0
  47. package/dist/AgGridPostSort.js.map +1 -0
  48. package/dist/AggregationNotification.d.ts +0 -0
  49. package/dist/AggregationNotification.js +107 -0
  50. package/dist/AggregationNotification.js.map +1 -0
  51. package/dist/Aggregations.d.ts +25 -0
  52. package/dist/Aggregations.js +171 -0
  53. package/dist/Aggregations.js.map +1 -0
  54. package/dist/CheckBoxRenderer.d.ts +6 -0
  55. package/dist/CheckBoxRenderer.js +18 -0
  56. package/dist/CheckBoxRenderer.js.map +1 -0
  57. package/dist/Components/ExtendButton.css +6 -0
  58. package/dist/Components/ExtendButton.d.ts +2 -0
  59. package/dist/Components/ExtendButton.js +12 -0
  60. package/dist/Components/ExtendButton.js.map +1 -0
  61. package/dist/CountryCellRenderer.d.ts +1 -0
  62. package/dist/CountryCellRenderer.js +12 -0
  63. package/dist/CountryCellRenderer.js.map +1 -0
  64. package/dist/Functions/index.d.ts +2 -0
  65. package/dist/Functions/index.js +19 -0
  66. package/dist/Functions/index.js.map +1 -0
  67. package/dist/HeaderTemplates/CommonHeaderTemplate.d.ts +1 -0
  68. package/dist/HeaderTemplates/CommonHeaderTemplate.js +15 -0
  69. package/dist/HeaderTemplates/CommonHeaderTemplate.js.map +1 -0
  70. package/dist/HyperModuleEditor.d.ts +0 -0
  71. package/dist/HyperModuleEditor.js +119 -0
  72. package/dist/HyperModuleEditor.js.map +1 -0
  73. package/dist/HyperModuleRenderer.d.ts +0 -0
  74. package/dist/HyperModuleRenderer.js +138 -0
  75. package/dist/HyperModuleRenderer.js.map +1 -0
  76. package/dist/NotificationOptions.d.ts +9 -0
  77. package/dist/NotificationOptions.js +21 -0
  78. package/dist/NotificationOptions.js.map +1 -0
  79. package/dist/OnCellDoubleClicked.d.ts +1 -0
  80. package/dist/OnCellDoubleClicked.js +6 -0
  81. package/dist/OnCellDoubleClicked.js.map +1 -0
  82. package/dist/OnCellEditingStarted.d.ts +1 -0
  83. package/dist/OnCellEditingStarted.js +7 -0
  84. package/dist/OnCellEditingStarted.js.map +1 -0
  85. package/dist/OnCellValueChanged.d.ts +1 -0
  86. package/dist/OnCellValueChanged.js +10 -0
  87. package/dist/OnCellValueChanged.js.map +1 -0
  88. package/dist/Renderers/BooleanRenderer.d.ts +1 -0
  89. package/dist/Renderers/BooleanRenderer.js +27 -0
  90. package/dist/Renderers/BooleanRenderer.js.map +1 -0
  91. package/dist/Renderers/ButtonRenderer.d.ts +1 -0
  92. package/dist/Renderers/ButtonRenderer.js +25 -0
  93. package/dist/Renderers/ButtonRenderer.js.map +1 -0
  94. package/dist/Renderers/CheckboxRenderer.d.ts +1 -0
  95. package/dist/Renderers/CheckboxRenderer.js +23 -0
  96. package/dist/Renderers/CheckboxRenderer.js.map +1 -0
  97. package/dist/Renderers/CountrySelectRenderer.d.ts +1 -0
  98. package/dist/Renderers/CountrySelectRenderer.js +20 -0
  99. package/dist/Renderers/CountrySelectRenderer.js.map +1 -0
  100. package/dist/Renderers/SelectRenderer.d.ts +1 -0
  101. package/dist/Renderers/SelectRenderer.js +12 -0
  102. package/dist/Renderers/SelectRenderer.js.map +1 -0
  103. package/dist/index.d.ts +3 -0
  104. package/dist/index.js +103 -0
  105. package/dist/index.js.map +1 -0
  106. package/dist/preview-1727859392810.js +7 -0
  107. package/dist/util.d.ts +15 -0
  108. package/dist/util.js +95 -0
  109. package/dist/util.js.map +1 -0
  110. package/index.jsx +143 -0
  111. package/package.json +35 -0
  112. package/types/asset.d.ts +43 -0
  113. package/types/style.d.ts +42 -0
  114. package/util.js +116 -0
@@ -0,0 +1,6 @@
1
+
2
+ // export const AgGridAddNewItem = (
3
+ // options) =>
4
+ // {
5
+
6
+ // }
@@ -0,0 +1,368 @@
1
+ import moment from "moment";
2
+ import get from "lodash/get";
3
+ import set from "lodash/set";
4
+ import { CommonHeaderTemplate } from "./HeaderTemplates/CommonHeaderTemplate";
5
+ import {
6
+ AG_TEXT_COLUMN_FILTER,
7
+ AG_TEXT_DATE_COLUMN_FILTER,
8
+ textDateCutomComparator,
9
+ } from "./AgGridColumnFilter";
10
+
11
+ export const emptyZero = (value) => {
12
+ return value === 0 ? null : value;
13
+ };
14
+
15
+ /* eslint-disable no-param-reassign */
16
+ export const AgGridColumn = (column, options) => {
17
+
18
+ if (column.dateRenderer) {
19
+ column.cellRenderer = (data) =>
20
+ (data.value && moment(data.value).format(column.dateRenderer)) || "";
21
+ }
22
+
23
+ if (column.booleanRenderer) {
24
+ column.cellRenderer = "booleanRenderer";
25
+
26
+ if (column.booleanRendererParams) {
27
+ column.cellRendererParams = {
28
+ booleanRendererParams: column.booleanRendererParams,
29
+ };
30
+ }
31
+ }
32
+
33
+ if (column.headerHtmlText) {
34
+ column.headerComponentParams = {
35
+ template: CommonHeaderTemplate(column.headerHtmlText),
36
+ };
37
+ }
38
+
39
+ // empty zero
40
+ if (column.emptyZero !== undefined) {
41
+ if (!column.valueGetter) {
42
+ // nastavim valueGetter, proto musi byt prazdny, jinak bych prepsal existujici hodnoty
43
+ column.valueGetter = (params) => {
44
+ if (column.emptyZero)
45
+ return emptyZero(get(params.data, column.field));
46
+ return get(params.data, column.field);
47
+ };
48
+ }
49
+ }
50
+
51
+ // override column filter
52
+ if (column.overrideFilter) {
53
+ switch (column.overrideFilter) {
54
+ case AG_TEXT_DATE_COLUMN_FILTER:
55
+ column.filter = AG_TEXT_COLUMN_FILTER;
56
+ column.filterParams = {
57
+ filterOptions: ["contains", "notContains"],
58
+ textCustomComparator: (filter, value, filterText) =>
59
+ textDateCutomComparator(
60
+ filter,
61
+ value,
62
+ filterText,
63
+ column.dateRenderer
64
+ ),
65
+ };
66
+ break;
67
+
68
+ default:
69
+ column.filter = column.overrideFilter;
70
+ }
71
+ }
72
+
73
+ // // simple editor
74
+ // if (!!column.cellType && column.cellType === 'rhSelectCellEditor'
75
+ // && !!column.cellTypeParams) {
76
+ // if (!column.cellRenderer) {
77
+ // column.cellRenderer = 'selectCellRenderer';
78
+ // }
79
+ // column.cellEditor = 'agRichSelectCellEditor';
80
+ // if (!column.cellEditorParams) {
81
+ // let emptyRow;
82
+ // if (!!column.emptyRow) {
83
+ // if (typeof column.emptyRow === 'function') {
84
+ // emptyRow = column.emptyRow();
85
+ // } else {
86
+ // emptyRow = column.emptyRow;
87
+ // }
88
+ // }
89
+
90
+ // column.cellEditorParams = params => {
91
+ // let values;
92
+ // if (typeof column.cellTypeParams.values === 'function') {
93
+ // values = column.cellTypeParams.values(params);
94
+ // } else {
95
+
96
+ // values = column.cellTypeParams.values;
97
+ // }
98
+ // if (!!emptyRow) {
99
+ // values = [emptyRow, ...values];
100
+ // }
101
+ // return {
102
+ // cellRenderer: 'selectCellRenderer',
103
+ // values
104
+ // }
105
+ // };
106
+ // }
107
+
108
+ // column.valueGetter = params => {
109
+
110
+ // if (!params.data || !get(params.data, column.field))
111
+ // return;
112
+
113
+ // let values;
114
+ // if (typeof column.cellTypeParams.values === 'function') {
115
+ // values = column.cellTypeParams.values(params);
116
+ // } else {
117
+ // values = column.cellTypeParams.values;
118
+ // }
119
+ // return values.find(f => f.id === get(params.data, column.fieldId)).name;
120
+ // }
121
+
122
+ // column.valueSetter = params => {
123
+ // set(params.data, column.field, params.newValue.id);
124
+ // return true;
125
+ // };
126
+ // }
127
+
128
+ // country select
129
+ if (
130
+ !!column.cellType &&
131
+ column.cellType === "countrySelect" &&
132
+ !!column.cellTypeParams
133
+ ) {
134
+ if (!column.cellRenderer) {
135
+ column.cellRenderer = "countrySelectRenderer";
136
+ }
137
+ column.cellEditorPopup = true;
138
+ column.cellEditor = "agRichSelectCellEditor";
139
+
140
+ if (!column.cellEditorParams) {
141
+ let emptyRow;
142
+ if (column.emptyRow) {
143
+ if (typeof column.emptyRow === "function") {
144
+ emptyRow = column.emptyRow();
145
+ } else {
146
+ emptyRow = column.emptyRow;
147
+ }
148
+ }
149
+
150
+ column.cellEditorParams = (params) => {
151
+ let values;
152
+ if (typeof column.cellTypeParams.values === "function") {
153
+ values = column.cellTypeParams.values(params);
154
+ } else {
155
+ values = column.cellTypeParams.values;
156
+ }
157
+ if (emptyRow) {
158
+ values = [emptyRow, ...values];
159
+ }
160
+ return {
161
+ cellRenderer: "countrySelectRenderer",
162
+ values,
163
+ };
164
+ };
165
+ }
166
+
167
+ column.valueGetter = (params) => {
168
+ if (!params) return;
169
+
170
+ let value;
171
+ if (column.overrideValueGetter) {
172
+ if (typeof column.overrideValueGetter === "function")
173
+ value = column.overrideValueGetter(params);
174
+ else value = column.overrideValueGetter;
175
+ } else {
176
+ value = get(params.data, column.field);
177
+ }
178
+ if (value === undefined || value === null) return;
179
+
180
+ let values;
181
+ if (typeof column.cellTypeParams.values === "function") {
182
+ values = column.cellTypeParams.values(params);
183
+ } else {
184
+ values = column.cellTypeParams.values;
185
+ }
186
+ const result = values.find((f) => f.id === value);
187
+ // eslint-disable-next-line consistent-return
188
+ return result;
189
+ };
190
+
191
+ column.valueSetter = (params) => {
192
+ set(params.data, column.field, params.newValue.id);
193
+ return true;
194
+ };
195
+ }
196
+
197
+ // boolean renderer
198
+ if (!!column.cellType && column.cellType === "boolean") {
199
+ if (!column.cellRenderer) {
200
+ column.cellRenderer = "booleanRenderer";
201
+ }
202
+ }
203
+
204
+ // checkbox renderer
205
+ if (!!column.cellType && column.cellType === "checkbox") {
206
+ if (!column.cellRenderer) {
207
+ column.cellRenderer = "checkboxRenderer";
208
+ }
209
+ }
210
+
211
+ // button renderer
212
+ if (!!column.cellType && column.cellType === "button") {
213
+ if (!column.cellRenderer) {
214
+ column.cellRenderer = "buttonRenderer";
215
+ }
216
+ }
217
+
218
+ // select
219
+ if (
220
+ !!column.cellType &&
221
+ column.cellType === "select" &&
222
+ !!column.cellTypeParams
223
+ ) {
224
+ if (!column.cellRenderer) {
225
+ column.cellRenderer = "selectRenderer";
226
+ }
227
+ column.cellEditorPopup = true;
228
+ column.cellEditor = "agRichSelectCellEditor";
229
+
230
+ if (!column.cellEditorParams) {
231
+ let emptyRow;
232
+ if (column.emptyRow) {
233
+ if (typeof column.emptyRow === "function") {
234
+ emptyRow = column.emptyRow();
235
+ } else {
236
+ emptyRow = column.emptyRow;
237
+ }
238
+ }
239
+
240
+ column.cellEditorParams = (params) => {
241
+ let values;
242
+ if (typeof column.cellTypeParams.values === "function") {
243
+ values = column.cellTypeParams.values(params);
244
+ } else {
245
+ values = column.cellTypeParams.values;
246
+ }
247
+ if (emptyRow) {
248
+ values = [emptyRow, ...values];
249
+ }
250
+ return {
251
+ cellRenderer: "selectRenderer",
252
+ values,
253
+ };
254
+ };
255
+ }
256
+
257
+ column.valueGetter = (params) => {
258
+ if (!params) return;
259
+
260
+ let value;
261
+ if (column.overrideValueGetter) {
262
+ if (typeof column.overrideValueGetter === "function")
263
+ value = column.overrideValueGetter(params);
264
+ else value = column.overrideValueGetter;
265
+ } else {
266
+ value = get(params.data, column.field);
267
+ }
268
+ if (value === undefined || value === null) return;
269
+
270
+ let values;
271
+ if (typeof column.cellTypeParams.values === "function") {
272
+ values = column.cellTypeParams.values(params);
273
+ } else {
274
+ values = column.cellTypeParams.values;
275
+ }
276
+ const result = values.find((f) => f.id === value);
277
+ // eslint-disable-next-line consistent-return
278
+ return result;
279
+ };
280
+
281
+ column.valueSetter = (params) => {
282
+ set(params.data, column.field, params.newValue.id);
283
+ return true;
284
+ };
285
+ }
286
+
287
+ const baseCellStyle = (params) => {
288
+ return () => {
289
+ let retVal = {};
290
+ if (params.data !== undefined) {
291
+ if (params.data._rh_plus_ag_grid_row_changed) {
292
+ if (params.colDef.editable) {
293
+ retVal = options.defaultColDef.changedCellStyle || {};
294
+ // } else {
295
+ // style = options.defaultColDef.changedCellEditableStyle || undefined;
296
+ }
297
+ } else if (params.colDef.editable) {
298
+ retVal = options.defaultColDef.editableStyle || {};
299
+ }
300
+ }
301
+
302
+ if (params.colDef.cellRenderer === "hyperModuleRenderer") {
303
+ return {
304
+ ...retVal,
305
+ padding: 0,
306
+ margin: 0,
307
+ };
308
+ }
309
+ return retVal;
310
+ };
311
+ };
312
+
313
+ // styling
314
+ column.cellStyle = function cellStyle(params) {
315
+ let style = {};
316
+
317
+ if (column.overrideCellStyle) {
318
+ style =
319
+ column.overrideCellStyle &&
320
+ column.overrideCellStyle(params, baseCellStyle(params));
321
+ } else {
322
+ style = baseCellStyle(params)();
323
+ }
324
+
325
+ return style;
326
+ };
327
+
328
+ // const defaultCellStyle:({} | undefined) = column.cellStyle;
329
+ // // styling
330
+ // column.cellStyle = function cellStyle(params: any) {
331
+ // var style:({} | CSSProperties | undefined) = defaultCellStyle;
332
+
333
+ // if (params.data !== undefined) {
334
+ // if (!!params.data._rh_plus_ag_grid_row_changed) {
335
+ // if (params.colDef.editable) {
336
+ // style = options.defaultColDef.changedCellStyle || undefined;
337
+ // // } else {
338
+ // // style = options.defaultColDef.changedCellEditableStyle || undefined;
339
+ // }
340
+ // } else {
341
+ // if (params.colDef.editable) {
342
+ // style = options.defaultColDef.editableStyle || undefined
343
+ // }
344
+ // }
345
+ // }
346
+
347
+ // if (params.colDef.cellRenderer === "hyperModuleRenderer") {
348
+ // return {
349
+ // ...style,
350
+ // 'padding': 0,
351
+ // 'margin': 0
352
+ // }
353
+ // }
354
+ // return style;
355
+ // }
356
+ if (column.children) {
357
+ column.children = column.children && column.children.map(col => AgGridColumn(col, options));
358
+ }
359
+
360
+ return column;
361
+ };
362
+
363
+ export const AgGridColumns = (columnDefs, options) => {
364
+ const cols = columnDefs && columnDefs.map(column => AgGridColumn(column, options));
365
+ return cols;
366
+ }
367
+
368
+
@@ -0,0 +1,22 @@
1
+ import moment from 'moment';
2
+
3
+ export const AG_TEXT_COLUMN_FILTER = "agTextColumnFilter";
4
+ export const AG_TEXT_DATE_COLUMN_FILTER = "agTextDateColumnFilter";
5
+ export const AG_TEXT_DATE_FILTER_FORMAT = "DD.MM.YYYY HH:mm";
6
+
7
+ export const textDateCutomComparator = (filter, value, filterText, format) => {
8
+ if (value == null)
9
+ return false;
10
+
11
+ const innerValue = moment(value).format(format || AG_TEXT_DATE_FILTER_FORMAT);
12
+
13
+ switch (filter) {
14
+ case 'contains':
15
+ return innerValue.includes(filterText);
16
+ case 'notContains':
17
+ return !innerValue.includes(filterText);
18
+ default:
19
+ // should never happen
20
+ return false;
21
+ }
22
+ }
@@ -0,0 +1,9 @@
1
+
2
+ export const AgGridOnGridReady = (
3
+ event,
4
+ options) =>
5
+ {
6
+ // call overrided function
7
+ if (options.onGridReady)
8
+ options.onGridReady(event);
9
+ }
@@ -0,0 +1,8 @@
1
+
2
+ // export const AgGridOnRowDataChanged = (
3
+ // event,
4
+ // options
5
+ // ) =>
6
+ // {
7
+
8
+ // }
@@ -0,0 +1,32 @@
1
+
2
+ export const AgGridOnRowDataUpdated = (
3
+ event,
4
+ options
5
+ ) => {
6
+ if (options.addNewItem) {
7
+ const rowData = [];
8
+ if (event.api)
9
+ event.api.forEachNode(node => {
10
+ rowData.push(node.data);
11
+ });
12
+
13
+ let node = rowData.find(f =>
14
+ f._rh_plus_ag_grid_new_item && f._rh_plus_ag_grid_new_item === true);
15
+ if (node === undefined) {
16
+ node = {
17
+ ...options.initialItem,
18
+ _rh_plus_ag_grid_new_item: true
19
+ };
20
+
21
+ if (options.newItemPosition && options.newItemPosition === "bottom") {
22
+ rowData.push(node);
23
+ } else {
24
+ rowData.unshift(node);
25
+ }
26
+ if (options.onAddNewItem)
27
+ options.onAddNewItem(node);
28
+ }
29
+ event.api.refreshCells({ force: true });
30
+ }
31
+ return event;
32
+ }
@@ -0,0 +1,34 @@
1
+
2
+ const isNewItem = (node) => {
3
+ if (node.data === undefined)
4
+ return false;
5
+
6
+ return node.data._rh_plus_ag_grid_new_item && node.data._rh_plus_ag_grid_new_item === true;
7
+ }
8
+
9
+ const move = (nodes, toIndex, fromIndex) => {
10
+ nodes.splice(toIndex, 0, nodes.splice(fromIndex, 1)[0]);
11
+ }
12
+
13
+ /* eslint-disable no-param-reassign */
14
+ export const AgGridPostSort = (nodes, options) => {
15
+ let row = 1;
16
+ const {length} = nodes;
17
+ // TODO: Pridat moznost razeni noveho radku na konec, podle vlastnosti newItemPosition
18
+ for(let i = 0; i < length; i+=1) {
19
+ if (nodes[i].data !== undefined) {
20
+ if (isNewItem(nodes[i])) {
21
+ nodes[i].data._rh_plus_ag_grid_row_index = "*";
22
+ if (options.newItemPosition !== "bottom") move(nodes, 0, i);
23
+ } else {
24
+ nodes[i].data._rh_plus_ag_grid_row_index = row;
25
+ nodes[i].data._rh_plus_ag_grid_row_index_desc = length + 1 - row;
26
+ row+=1;
27
+ }
28
+ // nodes[i].setData(nodes[i].data);
29
+ }
30
+ }
31
+
32
+ if (options.postSort)
33
+ options.postSort(nodes);
34
+ }
@@ -0,0 +1,111 @@
1
+ // import React, { useState } from 'react';
2
+ // import PropTypes from 'prop-types';
3
+ // import classnames from 'classnames';
4
+ // import { makeStyles } from '@material-ui/core/styles';
5
+ // import { useSnackbar } from 'notistack';
6
+ // import Collapse from '@material-ui/core/Collapse';
7
+ // import Paper from '@material-ui/core/Paper';
8
+ // import Typography from '@material-ui/core/Typography';
9
+ // import Card from '@material-ui/core/Card';
10
+ // import CardActions from '@material-ui/core/CardActions';
11
+ // import Button from '@material-ui/core/Button';
12
+ // import IconButton from '@material-ui/core/IconButton';
13
+ // import CloseIcon from '@material-ui/icons/Close';
14
+ // import ExpandMoreIcon from '@material-ui/icons/ExpandMore';
15
+ // import CheckCircleIcon from '@material-ui/icons/CheckCircle';
16
+ // import moment from 'moment';
17
+
18
+ // const useStyles = makeStyles(theme => ({
19
+ // card: {
20
+ // display: 'flex',
21
+ // flexDirection: 'column',
22
+ // flexWrap: 'wrap',
23
+ // flexGrow: 1,
24
+ // backgroundColor: '#fddc6c',
25
+ // [theme.breakpoints.up('sm')]: {
26
+ // flexGrow: 'initial',
27
+ // minWidth: 344,
28
+ // },
29
+ // },
30
+ // // typography: {
31
+ // // fontWeight: 'bold',
32
+ // // },
33
+ // actionRoot: {
34
+ // padding: '8px 8px 8px 16px',
35
+ // },
36
+ // icons: {
37
+ // marginLeft: 'auto',
38
+ // },
39
+ // expand: {
40
+ // padding: '8px 8px',
41
+ // transform: 'rotate(0deg)',
42
+ // transition: theme.transitions.create('transform', {
43
+ // duration: theme.transitions.duration.shortest,
44
+ // }),
45
+ // },
46
+ // expandOpen: {
47
+ // transform: 'rotate(180deg)',
48
+ // },
49
+ // collapse: {
50
+ // padding: 16,
51
+ // },
52
+ // checkIcon: {
53
+ // fontSize: 20,
54
+ // color: '#b3b3b3',
55
+ // paddingRight: 4,
56
+ // },
57
+ // button: {
58
+ // padding: 0,
59
+ // textTransform: 'none',
60
+ // },
61
+ // }));
62
+
63
+ // const AggregationNotification = React.forwardRef((props, ref) => {
64
+ // const classes = useStyles();
65
+ // const { closeSnackbar } = useSnackbar();
66
+ // const expanded = true;
67
+ // const {length, count, sum, max, min, avg, volume2d, volume3d, earliest, latest, isDate, dateCount} = props.messageInfo;
68
+
69
+ // const handleDismiss = () => {
70
+ // closeSnackbar(props.id);
71
+ // };
72
+ // return (
73
+ // <Card className={classes.card} ref={ref}>
74
+ // <CardActions classes={{ root: classes.actionRoot }}>
75
+ // <Typography variant="subtitle2">Selected {length} items</Typography>
76
+ // <div className={classes.icons}>
77
+ // <IconButton className={classes.expand} onClick={handleDismiss}>
78
+ // <CloseIcon />
79
+ // </IconButton>
80
+ // </div>
81
+ // </CardActions>
82
+ // <Collapse in={expanded} timeout="auto" unmountOnExit>
83
+ // {props.showNumber && count > 0 ? (
84
+ // <Paper className={classes.collapse}>
85
+ // { !isNaN(parseFloat(count)) ? (<span><b>Count:</b> {parseFloat(count)}</span>) : (<span />) }
86
+ // { !isNaN(parseFloat(sum)) ? (<span className="ml-2"><b>Sum:</b> {parseFloat(sum).toFixed(2)}</span>) : (<span />) }
87
+ // { !isNaN(parseFloat(min)) ? (<span className="ml-2"><b> Min:</b> {parseFloat(min).toFixed(2)}</span>) : (<span />) }
88
+ // { !isNaN(parseFloat(max)) ? (<span className="ml-2"><b> Max:</b> {parseFloat(max).toFixed(2)}</span>) : (<span />) }
89
+ // { !isNaN(parseFloat(avg)) ? (<span className="ml-2"><b> Avg:</b> {parseFloat(avg).toFixed(2)}</span>) : (<span />) }
90
+ // { !isNaN(parseFloat(volume2d)) ? (<span className="ml-2"><b> 2d:</b> {parseFloat(volume2d).toFixed(2)}</span>) : (<span />) }
91
+ // { !isNaN(parseFloat(volume3d)) ? (<span className="ml-2"><b> 3d:</b> {parseFloat(volume3d).toFixed(2)}</span>) : (<span />) }
92
+ // </Paper>
93
+ // ) : (<div />)}
94
+
95
+ // {props.showDate && isDate ? (
96
+ // <Paper className={classes.collapse}>
97
+ // <span><b>Count:</b> {parseFloat(dateCount)}</span>
98
+ // <span className="ml-2"><b>Earliest:</b> {moment(Date.parse(earliest)).format("DD.MM.YY HH:mm:SS")}</span>
99
+ // <span className="ml-2"><b>Latest:</b> {moment(Date.parse(latest)).format("DD.MM.YY HH:mm:SS")}</span>
100
+ // </Paper>
101
+ // ) : (<div />)}
102
+ // </Collapse>
103
+ // </Card>
104
+ // );
105
+ // });
106
+
107
+ // AggregationNotification.propTypes = {
108
+ // id: PropTypes.number.isRequired,
109
+ // };
110
+
111
+ // export default AggregationNotification;