@adaptabletools/adaptable-cjs 18.0.0-canary.31 → 18.0.0-canary.33

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 (90) hide show
  1. package/package.json +1 -1
  2. package/src/AdaptableOptions/QuickSearchOptions.d.ts +1 -1
  3. package/src/Api/AdaptableApi.d.ts +2 -2
  4. package/src/Api/{ScopeApi.d.ts → ColumnScopeApi.d.ts} +2 -2
  5. package/src/Api/GridApi.d.ts +6 -1
  6. package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -2
  7. package/src/Api/Implementation/AdaptableApiImpl.js +3 -3
  8. package/src/Api/Implementation/AlertApiImpl.js +3 -3
  9. package/src/Api/Implementation/ApiBase.d.ts +2 -2
  10. package/src/Api/Implementation/ApiBase.js +2 -2
  11. package/src/Api/Implementation/ColumnFilterApiImpl.js +1 -1
  12. package/src/Api/Implementation/{ScopeApiImpl.d.ts → ColumnScopeApiImpl.d.ts} +2 -2
  13. package/src/Api/Implementation/{ScopeApiImpl.js → ColumnScopeApiImpl.js} +4 -4
  14. package/src/Api/Implementation/FlashingCellApiImpl.js +1 -1
  15. package/src/Api/Implementation/FormatColumnApiImpl.js +3 -3
  16. package/src/Api/Implementation/GridApiImpl.d.ts +1 -0
  17. package/src/Api/Implementation/GridApiImpl.js +5 -0
  18. package/src/Api/Implementation/NoteApiImpl.d.ts +1 -1
  19. package/src/Api/Implementation/NoteApiImpl.js +2 -2
  20. package/src/Api/Implementation/UserInterfaceApiImpl.js +3 -3
  21. package/src/Api/Internal/AdaptableInternalApi.js +1 -1
  22. package/src/Api/Internal/AlertInternalApi.js +3 -3
  23. package/src/Api/Internal/CustomSortInternalApi.js +1 -1
  24. package/src/Api/Internal/ExportInternalApi.js +1 -1
  25. package/src/Api/Internal/ExpressionInternalApi.js +1 -1
  26. package/src/Api/Internal/FormatColumnInternalApi.js +12 -13
  27. package/src/Api/Internal/StyledColumnInternalApi.js +1 -1
  28. package/src/Api/NoteApi.d.ts +1 -1
  29. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  30. package/src/PredefinedConfig/Common/RowScope.d.ts +2 -2
  31. package/src/PredefinedConfig/FormatColumnState.d.ts +1 -1
  32. package/src/PredefinedConfig/LayoutState.d.ts +1 -1
  33. package/src/Redux/ActionsReducers/NoteRedux.d.ts +1 -1
  34. package/src/Redux/ActionsReducers/NoteRedux.js +5 -5
  35. package/src/Strategy/AlertModule.js +2 -2
  36. package/src/Strategy/ExportModule.js +21 -4
  37. package/src/Strategy/FlashingCellModule.js +4 -4
  38. package/src/Strategy/FormatColumnModule.js +2 -2
  39. package/src/Strategy/NoteModule.js +3 -3
  40. package/src/Strategy/PlusMinusModule.js +3 -3
  41. package/src/Strategy/ShortcutModule.js +1 -1
  42. package/src/Strategy/StyledColumnModule.js +4 -4
  43. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +1 -1
  44. package/src/Utilities/Services/CellPopupService.js +4 -4
  45. package/src/Utilities/Services/ReportService.js +2 -2
  46. package/src/Utilities/Services/ValidationService.js +2 -2
  47. package/src/View/Alert/AlertEntityRow.js +1 -1
  48. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  49. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +1 -1
  50. package/src/View/ColumnInfo/ColumnInfo.js +1 -1
  51. package/src/View/Components/NewScopeComponent.js +2 -2
  52. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +2 -5
  53. package/src/View/Components/RangesComponent.js +1 -1
  54. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +1 -1
  55. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
  56. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
  57. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  58. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
  59. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +5 -5
  60. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
  61. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +1 -1
  62. package/src/View/PlusMinus/PlusMinusSummary.js +2 -2
  63. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +5 -7
  64. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  65. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +5 -5
  66. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +1 -1
  67. package/src/agGrid/ActionColumnRenderer.js +10 -11
  68. package/src/agGrid/AdaptableAgGrid.js +2 -3
  69. package/src/agGrid/AgGridColumnAdapter.js +10 -10
  70. package/src/agGrid/AgGridMenuAdapter.js +5 -5
  71. package/src/agGrid/BadgeRenderer.js +6 -7
  72. package/src/agGrid/PercentBarRenderer.js +1 -1
  73. package/src/components/Accordion.d.ts +7 -0
  74. package/src/components/Accordion.js +41 -0
  75. package/src/components/icons/collapse-all.d.ts +3 -0
  76. package/src/components/icons/collapse-all.js +7 -0
  77. package/src/components/icons/csv.d.ts +3 -0
  78. package/src/components/icons/csv.js +7 -0
  79. package/src/components/icons/data-object.d.ts +3 -0
  80. package/src/components/icons/data-object.js +7 -0
  81. package/src/components/icons/excel.d.ts +3 -0
  82. package/src/components/icons/excel.js +8 -0
  83. package/src/components/icons/expand-all.d.ts +3 -0
  84. package/src/components/icons/expand-all.js +7 -0
  85. package/src/components/icons/index.js +10 -0
  86. package/src/env.js +2 -2
  87. package/src/metamodel/adaptable.metamodel.js +1 -1
  88. package/src/types.d.ts +1 -1
  89. package/tsconfig.cjs.tsbuildinfo +1 -1
  90. /package/src/Api/{ScopeApi.js → ColumnScopeApi.js} +0 -0
@@ -6,7 +6,6 @@ const SimpleButton_1 = tslib_1.__importDefault(require("../components/SimpleButt
6
6
  const React = tslib_1.__importStar(require("react"));
7
7
  const useRerender_1 = require("../components/utils/useRerender");
8
8
  const renderWithAdaptableContext_1 = require("../View/renderWithAdaptableContext");
9
- const RowSummary_1 = require("../PredefinedConfig/Common/RowSummary");
10
9
  const ActionButtons = (props) => {
11
10
  const { buttons, adaptableApi, context, rerender } = props;
12
11
  return (React.createElement(React.Fragment, null, buttons.map((button, index) => {
@@ -37,7 +36,7 @@ const ActionButtons = (props) => {
37
36
  })));
38
37
  };
39
38
  const ReactActionColumnRenderer = (props) => {
40
- var _a, _b, _c, _d;
39
+ var _a, _b, _c;
41
40
  const rerender = (0, useRerender_1.useRerender)();
42
41
  const adaptable = props.context.__adaptable;
43
42
  const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(props.colDef);
@@ -45,20 +44,20 @@ const ReactActionColumnRenderer = (props) => {
45
44
  return null;
46
45
  }
47
46
  const isGroupedRow = adaptable.api.gridApi.isGroupRowNode(props.node);
48
- const isSummaryRow = (_a = props === null || props === void 0 ? void 0 : props.data) === null || _a === void 0 ? void 0 : _a[RowSummary_1.ROW_SUMMARY_ROW_ID];
47
+ const isSummaryRow = adaptable.api.gridApi.isSummaryNode(props.node);
49
48
  let shouldRender = true;
50
49
  if (isGroupedRow) {
51
- if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows) {
50
+ if ((_a = actionColumn.rowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupRows) {
52
51
  shouldRender = false;
53
52
  }
54
53
  }
55
54
  else if (isSummaryRow) {
56
- if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows) {
55
+ if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
57
56
  shouldRender = false;
58
57
  }
59
58
  }
60
59
  else {
61
- if ((_d = actionColumn.rowScope) === null || _d === void 0 ? void 0 : _d.ExcludeDataRows) {
60
+ if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
62
61
  shouldRender = false;
63
62
  }
64
63
  }
@@ -82,7 +81,7 @@ exports.ReactActionColumnRenderer = ReactActionColumnRenderer;
82
81
  class ActionColumnRenderer {
83
82
  // gets called once before the renderer is used
84
83
  init(params) {
85
- var _a, _b, _c, _d;
84
+ var _a, _b, _c;
86
85
  const adaptable = params.context.__adaptable;
87
86
  const { actionButtons, actionColumn } = adaptable.api.internalApi.getActionButtonsAndActionColumn(params.colDef);
88
87
  if (!actionColumn || !actionButtons.length) {
@@ -92,20 +91,20 @@ class ActionColumnRenderer {
92
91
  this.eGui = document.createElement('div');
93
92
  this.eGui.className = 'ab-ActionColumn';
94
93
  const isGroupedRow = adaptable.api.gridApi.isGroupRowNode(params.node);
95
- const isSummaryRow = (_a = params === null || params === void 0 ? void 0 : params.data) === null || _a === void 0 ? void 0 : _a[RowSummary_1.ROW_SUMMARY_ROW_ID];
94
+ const isSummaryRow = adaptable.api.gridApi.isSummaryNode(params.node);
96
95
  let shouldRender = true;
97
96
  if (isGroupedRow) {
98
- if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows) {
97
+ if ((_a = actionColumn.rowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupRows) {
99
98
  shouldRender = false;
100
99
  }
101
100
  }
102
101
  else if (isSummaryRow) {
103
- if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows) {
102
+ if ((_b = actionColumn.rowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
104
103
  shouldRender = false;
105
104
  }
106
105
  }
107
106
  else {
108
- if ((_d = actionColumn.rowScope) === null || _d === void 0 ? void 0 : _d.ExcludeDataRows) {
107
+ if ((_c = actionColumn.rowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
109
108
  shouldRender = false;
110
109
  }
111
110
  }
@@ -398,7 +398,6 @@ class AdaptableAgGrid {
398
398
  adaptableApi: this.api,
399
399
  agGridApi: this.agGridAdapter.getAgGridApi(),
400
400
  });
401
- this.api.userInterfaceApi.hideLoadingScreen();
402
401
  perfInitAdaptableAgGrid.end();
403
402
  return Promise.resolve(this.api);
404
403
  }
@@ -3574,12 +3573,12 @@ class AdaptableAgGrid {
3574
3573
  if (!dataChangedScope.wholeRow) {
3575
3574
  const columnIds = this.api.expressionApi.getColumnsFromExpression(styleModule.Rule.BooleanExpression);
3576
3575
  if (columnIds.includes(cellDataChangedInfo.column.columnId)) {
3577
- if (this.api.scopeApi.scopeIsAll(styleModule.Scope)) {
3576
+ if (this.api.columnScopeApi.scopeIsAll(styleModule.Scope)) {
3578
3577
  dataChangedScope.wholeRow = true;
3579
3578
  return;
3580
3579
  }
3581
3580
  else {
3582
- this.api.scopeApi
3581
+ this.api.columnScopeApi
3583
3582
  .getColumnsForScope(styleModule.Scope)
3584
3583
  .map((c) => c.columnId)
3585
3584
  .forEach((colId) => {
@@ -14,7 +14,6 @@ const UIHelper_1 = tslib_1.__importDefault(require("../View/UIHelper"));
14
14
  const PercentBarRenderer_1 = require("./PercentBarRenderer");
15
15
  const BadgeRenderer_1 = require("./BadgeRenderer");
16
16
  const Helper_1 = tslib_1.__importDefault(require("../Utilities/Helpers/Helper"));
17
- const RowSummary_1 = require("../PredefinedConfig/Common/RowSummary");
18
17
  class AgGridColumnAdapter {
19
18
  constructor(adaptableInstance) {
20
19
  this.adaptableInstance = adaptableInstance;
@@ -353,19 +352,19 @@ class AgGridColumnAdapter {
353
352
  const options = mostRelevantFormatColumn.DisplayFormat.Options;
354
353
  if (mostRelevantFormatColumn.DisplayFormat.Formatter === 'NumberFormatter') {
355
354
  // change the Number format - if the scope allows it
356
- if (this.adaptableApi.scopeApi.isColumnInNumericScope(abColumn, mostRelevantFormatColumn.Scope)) {
355
+ if (this.adaptableApi.columnScopeApi.isColumnInNumericScope(abColumn, mostRelevantFormatColumn.Scope)) {
357
356
  return this.adaptableApi.formatColumnApi.internalApi.getNumberFormattedValue(params.value, params.node, abColumn, options);
358
357
  }
359
358
  }
360
359
  if (mostRelevantFormatColumn.DisplayFormat.Formatter === 'DateFormatter') {
361
360
  // change the Date format - if the scope allows it
362
- if (this.adaptableApi.scopeApi.isColumnInDateScope(abColumn, mostRelevantFormatColumn.Scope)) {
361
+ if (this.adaptableApi.columnScopeApi.isColumnInDateScope(abColumn, mostRelevantFormatColumn.Scope)) {
363
362
  return this.adaptableApi.formatColumnApi.internalApi.getDateFormattedValue(params.value, params.node, abColumn, options);
364
363
  }
365
364
  }
366
365
  if (mostRelevantFormatColumn.DisplayFormat.Formatter === 'StringFormatter') {
367
366
  // change the String format - if the scope allows it
368
- if (this.adaptableApi.scopeApi.isColumnInStringsScope(abColumn, mostRelevantFormatColumn.Scope)) {
367
+ if (this.adaptableApi.columnScopeApi.isColumnInStringsScope(abColumn, mostRelevantFormatColumn.Scope)) {
369
368
  return this.adaptableApi.formatColumnApi.internalApi.getStringFormattedValue(params.value, params.node, abColumn, options);
370
369
  }
371
370
  }
@@ -383,7 +382,8 @@ class AgGridColumnAdapter {
383
382
  const cellEditableFn = this.adaptableOptions.editOptions.isCellEditable;
384
383
  const editableCallback = (params) => {
385
384
  // Adaptable Row Summarie rows are not editable
386
- if (params.node.data[RowSummary_1.ROW_SUMMARY_ROW_ID]) {
385
+ // if (params.node.data[ROW_SUMMARY_ROW_ID]) {
386
+ if (this.adaptableApi.gridApi.isSummaryNode(params.node)) {
387
387
  return false;
388
388
  }
389
389
  if (!cellEditableFn) {
@@ -407,7 +407,7 @@ class AgGridColumnAdapter {
407
407
  const preventEditAlertsForColumn = this.adaptableApi.alertApi.internalApi
408
408
  .getAlertDefinitionsWithPreventEdit()
409
409
  .filter((alertDefinition) => {
410
- return this.adaptableApi.scopeApi.isColumnInScope(abColumn, alertDefinition.Scope);
410
+ return this.adaptableApi.columnScopeApi.isColumnInScope(abColumn, alertDefinition.Scope);
411
411
  });
412
412
  const noValidations = !preventEditAlertsForColumn.length && !((_a = this.adaptableOptions.editOptions) === null || _a === void 0 ? void 0 : _a.validateOnServer);
413
413
  if (noValidations) {
@@ -580,8 +580,8 @@ class AgGridColumnAdapter {
580
580
  PrimaryKeyValue: gridCell.primaryKeyValue,
581
581
  ColumnId: gridCell.column.columnId,
582
582
  };
583
- const cellNotes = this.adaptableApi.noteApi.getNotesForCell(cellPosition);
584
- if (!(cellNotes === null || cellNotes === void 0 ? void 0 : cellNotes.length)) {
583
+ const cellNote = this.adaptableApi.noteApi.getNoteForCell(cellPosition);
584
+ if (!cellNote) {
585
585
  return undefined;
586
586
  }
587
587
  return 'ab-Cell-Note';
@@ -668,7 +668,7 @@ class AgGridColumnAdapter {
668
668
  return Object.assign(Object.assign({}, this.getFormatColumnCellStyle(gridCell.column, activeFormatColumnsWithStyle, params)), styledColumnStyle);
669
669
  }
670
670
  getStyledColumnStyle(styledColumn, abColumn, params) {
671
- var _a, _b, _c;
671
+ var _a;
672
672
  let style = {};
673
673
  const gradientStyle = styledColumn === null || styledColumn === void 0 ? void 0 : styledColumn.GradientStyle;
674
674
  if (params.value === undefined) {
@@ -693,7 +693,7 @@ class AgGridColumnAdapter {
693
693
  }
694
694
  if (styledColumn.BadgeStyle &&
695
695
  !((_a = styledColumn.BadgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeSummaryRows) &&
696
- ((_c = (_b = params === null || params === void 0 ? void 0 : params.node) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c[RowSummary_1.ROW_SUMMARY_ROW_ID])) {
696
+ this.adaptableApi.gridApi.isSummaryNode(params === null || params === void 0 ? void 0 : params.node)) {
697
697
  return style;
698
698
  }
699
699
  if (gradientStyle) {
@@ -356,25 +356,25 @@ class AgGridMenuAdapter {
356
356
  ? [
357
357
  this.buildMenuGroupParent('Export', exportMenuItems.filter((item) => item.name.startsWith('export-visual-data-excel')), {
358
358
  label: 'Visual Data',
359
- icon: false,
359
+ icon: 'export-data',
360
360
  }),
361
361
  ]
362
362
  : [];
363
363
  const allDataExportItems = this.normalizeMenuGroup(this.buildMenuGroupParent('Export', exportMenuItems.filter((item) => item.name.startsWith('export-all-data')), {
364
364
  label: 'All Data',
365
- icon: false,
365
+ icon: 'export-data',
366
366
  }));
367
367
  const currentDataExportItems = this.normalizeMenuGroup(this.buildMenuGroupParent('Export', exportMenuItems.filter((item) => item.name.startsWith('export-current-data')), {
368
368
  label: 'Current Data',
369
- icon: false,
369
+ icon: 'export-data',
370
370
  }));
371
371
  const selectedCellsExportItems = this.normalizeMenuGroup(this.buildMenuGroupParent('Export', exportMenuItems.filter((item) => item.name.startsWith('export-selected-cells')), {
372
372
  label: 'Selected Cells',
373
- icon: false,
373
+ icon: 'export-data',
374
374
  }));
375
375
  const selectedRowsExportItems = this.normalizeMenuGroup(this.buildMenuGroupParent('Export', exportMenuItems.filter((item) => item.name.startsWith('export-selected-rows')), {
376
376
  label: 'Selected Rows',
377
- icon: false,
377
+ icon: 'export-data',
378
378
  }));
379
379
  return this.normalizeMenuGroup(this.buildMenuGroupParent('Export', [
380
380
  ...visualDataExportItems,
@@ -5,7 +5,6 @@ const tslib_1 = require("tslib");
5
5
  const Badge_1 = require("../View/Components/Badge");
6
6
  const renderWithAdaptableContext_1 = require("../View/renderWithAdaptableContext");
7
7
  const React = tslib_1.__importStar(require("react"));
8
- const RowSummary_1 = require("../PredefinedConfig/Common/RowSummary");
9
8
  const getBadgeRendererForColumn = (badgeStyle, abColumn, api) => {
10
9
  return class BadgetRenderer {
11
10
  getAdaptableInstance(params) {
@@ -13,31 +12,31 @@ const getBadgeRendererForColumn = (badgeStyle, abColumn, api) => {
13
12
  return adaptable;
14
13
  }
15
14
  init(params) {
16
- var _a, _b, _c, _d, _e, _f, _g;
15
+ var _a, _b, _c, _d, _e, _f;
17
16
  const adaptable = this.getAdaptableInstance(params);
18
17
  const adapatableApi = adaptable.api;
19
18
  this.eGui = document.createElement('div');
20
19
  this.eGui.className = 'ab-Badge__wrapper';
21
20
  const isGroupedRow = params.node.group;
22
- const isSummaryRow = (_a = params === null || params === void 0 ? void 0 : params.data) === null || _a === void 0 ? void 0 : _a[RowSummary_1.ROW_SUMMARY_ROW_ID];
21
+ const isSummaryRow = adapatableApi.gridApi.isSummaryNode(params.node);
23
22
  let shouldRender = true;
24
23
  if (isGroupedRow) {
25
- if ((_b = badgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeGroupedRows) {
24
+ if ((_a = badgeStyle.RowScope) === null || _a === void 0 ? void 0 : _a.ExcludeGroupRows) {
26
25
  shouldRender = false;
27
26
  }
28
27
  }
29
28
  else if (isSummaryRow) {
30
- if ((_c = badgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeSummaryRows) {
29
+ if ((_b = badgeStyle.RowScope) === null || _b === void 0 ? void 0 : _b.ExcludeSummaryRows) {
31
30
  shouldRender = false;
32
31
  }
33
32
  }
34
33
  else {
35
- if ((_d = badgeStyle.RowScope) === null || _d === void 0 ? void 0 : _d.ExcludeDataRows) {
34
+ if ((_c = badgeStyle.RowScope) === null || _c === void 0 ? void 0 : _c.ExcludeDataRows) {
36
35
  shouldRender = false;
37
36
  }
38
37
  }
39
38
  if (!shouldRender) {
40
- const formattedValue = (_g = (_f = (_e = params.formatValue) === null || _e === void 0 ? void 0 : _e.call(params, params.value)) !== null && _f !== void 0 ? _f : params.value) !== null && _g !== void 0 ? _g : '';
39
+ const formattedValue = (_f = (_e = (_d = params.formatValue) === null || _d === void 0 ? void 0 : _d.call(params, params.value)) !== null && _e !== void 0 ? _e : params.value) !== null && _f !== void 0 ? _f : '';
41
40
  this.eGui.innerHTML = formattedValue;
42
41
  return;
43
42
  }
@@ -17,7 +17,7 @@ const getPercentBarRendererForColumn = (styledColumn, abColumn, api) => {
17
17
  if (Helper_1.default.objectNotExists(value)) {
18
18
  value = 0;
19
19
  }
20
- // No longer support showing Percent Bar in Grouped Rows
20
+ // We no longer support showing Percent Bar in Group Rows as it only made sense for Min / Max
21
21
  if (api.gridApi.isGroupRowNode(params.node)) {
22
22
  if (params.value) {
23
23
  this.eGui = document.createElement('div');
@@ -0,0 +1,7 @@
1
+ import React, { ReactElement } from 'react';
2
+ interface AccordionProps {
3
+ title: string | ReactElement;
4
+ children: ReactElement;
5
+ }
6
+ export declare const Accordion: React.FC<AccordionProps>;
7
+ export default Accordion;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Accordion = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importStar(require("react"));
6
+ const SimpleButton_1 = tslib_1.__importDefault(require("./SimpleButton"));
7
+ const Panel_1 = tslib_1.__importDefault(require("./Panel"));
8
+ const Accordion = ({ title, children }) => {
9
+ const [isOpen, setIsOpen] = (0, react_1.useState)(false);
10
+ const [height, setHeight] = (0, react_1.useState)('0px');
11
+ const content = (0, react_1.useRef)(null);
12
+ const observer = (0, react_1.useRef)(null);
13
+ (0, react_1.useEffect)(() => {
14
+ setHeight(isOpen && content.current ? `${content.current.scrollHeight}px` : '0px');
15
+ }, [isOpen, content]);
16
+ (0, react_1.useEffect)(() => {
17
+ if (content.current) {
18
+ observer.current = new MutationObserver(() => {
19
+ var _a;
20
+ setHeight(`${(_a = content.current) === null || _a === void 0 ? void 0 : _a.scrollHeight}px`);
21
+ });
22
+ observer.current.observe(content.current, { childList: true, subtree: true });
23
+ }
24
+ return () => {
25
+ var _a;
26
+ (_a = observer.current) === null || _a === void 0 ? void 0 : _a.disconnect();
27
+ };
28
+ }, []);
29
+ const toggleAccordion = () => {
30
+ setIsOpen(!isOpen);
31
+ };
32
+ return (react_1.default.createElement(Panel_1.default, { className: "ab-Accordion" },
33
+ react_1.default.createElement(SimpleButton_1.default, { iconPosition: 'end', icon: isOpen ? 'expand-all' : 'collapse-all', variant: "text", onClick: toggleAccordion, style: { width: '100%', textAlign: 'left' } }, title),
34
+ react_1.default.createElement("div", { ref: content, style: {
35
+ maxHeight: `${height}`,
36
+ overflow: 'hidden',
37
+ transition: 'max-height 0.6s ease',
38
+ } }, children)));
39
+ };
40
+ exports.Accordion = Accordion;
41
+ exports.default = exports.Accordion;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
6
+ exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
7
+ React.createElement("path", { d: "m296-80-56-56 240-240 240 240-56 56-184-184L296-80Zm184-504L240-824l56-56 184 184 184-184 56 56-240 240Z" })));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
6
+ exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
7
+ React.createElement("path", { d: "M230-360h120v-60H250v-120h100v-60H230q-17 0-28.5 11.5T190-560v160q0 17 11.5 28.5T230-360Zm156 0h120q17 0 28.5-11.5T546-400v-60q0-17-11.5-31.5T506-506h-60v-34h100v-60H426q-17 0-28.5 11.5T386-560v60q0 17 11.5 30.5T426-456h60v36H386v60Zm264 0h60l70-240h-60l-40 138-40-138h-60l70 240ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z" })));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
6
+ exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
7
+ React.createElement("path", { d: "M560-160v-80h120q17 0 28.5-11.5T720-280v-80q0-38 22-69t58-44v-14q-36-13-58-44t-22-69v-80q0-17-11.5-28.5T680-720H560v-80h120q50 0 85 35t35 85v80q0 17 11.5 28.5T840-560h40v160h-40q-17 0-28.5 11.5T800-360v80q0 50-35 85t-85 35H560Zm-280 0q-50 0-85-35t-35-85v-80q0-17-11.5-28.5T120-400H80v-160h40q17 0 28.5-11.5T160-600v-80q0-50 35-85t85-35h120v80H280q-17 0-28.5 11.5T240-680v80q0 38-22 69t-58 44v14q36 13 58 44t22 69v80q0 17 11.5 28.5T280-240h120v80H280Z" })));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
6
+ exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
7
+ React.createElement("path", { d: "M200-200h80v-80h-80v80Zm160 0h80v-80h-80v80Zm160 0h80v-80h-80v80Zm160 0h80v-80h-80v80ZM200-680h80v-80h-80v80Zm0 160h80v-80h-80v80Zm0 160h80v-80h-80v80Zm160-320h80v-80h-80v80Zm0 160h80v-80h-80v80Zm0 160h80v-80h-80v80Zm160-320h80v-80h-80v80Zm0 160h80v-80h-80v80Zm0 160h80v-80h-80v80Zm160-320h80v-80h-80v80Zm0 160h80v-80h-80v80Zm0 160h80v-80h-80v80ZM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Z" }),
8
+ ' '));
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: (props: any) => JSX.Element;
3
+ export default _default;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ const React = tslib_1.__importStar(require("react"));
5
+ const DefaultIcon_1 = tslib_1.__importDefault(require("./DefaultIcon"));
6
+ exports.default = (props) => (React.createElement(DefaultIcon_1.default, Object.assign({}, props, { viewBox: "0 -960 960 960" }),
7
+ React.createElement("path", { d: "M480-80 240-320l57-57 183 183 183-183 57 57L480-80ZM298-584l-58-56 240-240 240 240-58 56-182-182-182 182Z" })));
@@ -39,6 +39,8 @@ const sort_asc_1 = tslib_1.__importDefault(require("./sort-asc"));
39
39
  const sort_desc_1 = tslib_1.__importDefault(require("./sort-desc"));
40
40
  const calendar_1 = tslib_1.__importDefault(require("./calendar"));
41
41
  const delete_1 = tslib_1.__importDefault(require("./delete"));
42
+ const csv_1 = tslib_1.__importDefault(require("./csv"));
43
+ const excel_1 = tslib_1.__importDefault(require("./excel"));
42
44
  const check_circle_1 = tslib_1.__importDefault(require("./check-circle"));
43
45
  const refresh_1 = tslib_1.__importDefault(require("./refresh"));
44
46
  const save_1 = tslib_1.__importDefault(require("./save"));
@@ -55,6 +57,7 @@ const cell_validation_1 = tslib_1.__importDefault(require("./cell-validation"));
55
57
  const column_filter_1 = tslib_1.__importDefault(require("./column-filter"));
56
58
  const system_status_1 = tslib_1.__importDefault(require("./system-status"));
57
59
  const data_set_1 = tslib_1.__importDefault(require("./data-set"));
60
+ const data_object_1 = tslib_1.__importDefault(require("./data-object"));
58
61
  const flashing_cell_1 = tslib_1.__importDefault(require("./flashing-cell"));
59
62
  const edit_1 = tslib_1.__importDefault(require("./edit"));
60
63
  const equation_1 = tslib_1.__importDefault(require("./equation"));
@@ -165,6 +168,8 @@ const select_all_1 = tslib_1.__importDefault(require("./select-all"));
165
168
  const select_off_1 = tslib_1.__importDefault(require("./select-off"));
166
169
  const select_fwd_1 = tslib_1.__importDefault(require("./select-fwd"));
167
170
  const copy_1 = tslib_1.__importDefault(require("./copy"));
171
+ const expand_all_1 = tslib_1.__importDefault(require("./expand-all"));
172
+ const collapse_all_1 = tslib_1.__importDefault(require("./collapse-all"));
168
173
  const Icon_1 = require("../Icon");
169
174
  const AdaptableLogger_1 = require("../../agGrid/AdaptableLogger");
170
175
  exports.allIcons = {
@@ -186,6 +191,8 @@ exports.allIcons = {
186
191
  news: news_1.default,
187
192
  brush: brush_1.default,
188
193
  'data-set': data_set_1.default,
194
+ 'excel': excel_1.default,
195
+ json: data_object_1.default,
189
196
  export: export_1.default,
190
197
  broadcast: campaign_1.default,
191
198
  theme: theme_1.default,
@@ -205,6 +212,7 @@ exports.allIcons = {
205
212
  'percent-tag': percent_bar_1.default,
206
213
  'spark-line': spark_line_1.default,
207
214
  resume: resume_1.default,
215
+ csv: csv_1.default,
208
216
  'pie-chart': pie_chart_1.default,
209
217
  'add-circle': plus_minus_1.default,
210
218
  reminder: reminder_1.default,
@@ -330,6 +338,8 @@ exports.allIcons = {
330
338
  note: note_1.default,
331
339
  comments: comments_1.default,
332
340
  rows: rows_1.default,
341
+ 'expand-all': expand_all_1.default,
342
+ 'collapse-all': collapse_all_1.default,
333
343
  };
334
344
  Object.keys(exports.allIcons).forEach((name) => {
335
345
  const ReactCmp = exports.allIcons[name];
package/src/env.js CHANGED
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = {
4
4
  INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
5
- PUBLISH_TIMESTAMP: 1712779338466 || Date.now(),
6
- VERSION: "18.0.0-canary.31" || '--current-version--',
5
+ PUBLISH_TIMESTAMP: 1712842436737 || Date.now(),
6
+ VERSION: "18.0.0-canary.33" || '--current-version--',
7
7
  };