@adaptabletools/adaptable 24.0.0-canary.8 → 24.0.0-canary.9

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 (235) hide show
  1. package/agGrid.d.ts +2 -3
  2. package/agGrid.js +2 -3
  3. package/aql.d.ts +29 -1
  4. package/aql.js +49 -1
  5. package/devtools.d.ts +55 -1
  6. package/index.css +0 -19
  7. package/index.d.ts +2 -3
  8. package/index.js +2 -3
  9. package/package.json +1 -1
  10. package/src/AdaptableOptions/ActionColumnOptions.d.ts +24 -0
  11. package/src/AdaptableOptions/AdaptableOptions.d.ts +97 -69
  12. package/src/AdaptableOptions/AdaptablePlugin.d.ts +113 -1
  13. package/src/AdaptableOptions/AlertOptions.d.ts +0 -2
  14. package/src/AdaptableOptions/ChartingOptions.d.ts +11 -5
  15. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +30 -0
  16. package/src/AdaptableOptions/ColumnOptions.d.ts +0 -2
  17. package/src/AdaptableOptions/CommentOptions.d.ts +12 -4
  18. package/src/AdaptableOptions/ContextMenuOptions.d.ts +31 -1
  19. package/src/AdaptableOptions/DashboardOptions.d.ts +0 -3
  20. package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +3 -2
  21. package/src/AdaptableOptions/EditOptions.d.ts +18 -2
  22. package/src/AdaptableOptions/ExportOptions.d.ts +23 -0
  23. package/src/AdaptableOptions/ExpressionOptions.d.ts +0 -3
  24. package/src/AdaptableOptions/Fdc3Options.d.ts +77 -3
  25. package/src/AdaptableOptions/FilterOptions.d.ts +13 -8
  26. package/src/AdaptableOptions/LayoutOptions.d.ts +16 -3
  27. package/src/AdaptableOptions/NotificationsOptions.d.ts +0 -1
  28. package/src/AdaptableOptions/QuickSearchOptions.d.ts +0 -2
  29. package/src/AdaptableOptions/RowFormOptions.d.ts +9 -0
  30. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +10 -1
  31. package/src/AdaptableOptions/ToolPanelOptions.d.ts +0 -1
  32. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +6 -2
  33. package/src/AdaptableState/AdaptableState.d.ts +98 -4
  34. package/src/AdaptableState/AlertState.d.ts +20 -21
  35. package/src/AdaptableState/ApplicationState.d.ts +5 -3
  36. package/src/AdaptableState/BaseState.d.ts +9 -2
  37. package/src/AdaptableState/CalculatedColumnState.d.ts +10 -8
  38. package/src/AdaptableState/ChartingState.d.ts +10 -5
  39. package/src/AdaptableState/CommentState.d.ts +10 -4
  40. package/src/AdaptableState/Common/AdaptableAlert.d.ts +6 -2
  41. package/src/AdaptableState/Common/AdaptableButton.d.ts +3 -1
  42. package/src/AdaptableState/Common/AdaptableColumn.d.ts +38 -1
  43. package/src/AdaptableState/Common/AdaptableFilterState.d.ts +3 -1
  44. package/src/AdaptableState/Common/AdaptableFlashingCell.d.ts +3 -1
  45. package/src/AdaptableState/Common/AdaptableForm.d.ts +9 -0
  46. package/src/AdaptableState/Common/AdaptableFormat.d.ts +27 -1
  47. package/src/AdaptableState/Common/AdaptableIcon.d.ts +4 -2
  48. package/src/AdaptableState/Common/AdaptableObject.d.ts +9 -1
  49. package/src/AdaptableState/Common/AdaptableQuery.d.ts +9 -0
  50. package/src/AdaptableState/Common/AdaptableStyle.d.ts +6 -8
  51. package/src/AdaptableState/Common/AggregationColumns.d.ts +15 -6
  52. package/src/AdaptableState/Common/ButtonStyle.d.ts +3 -1
  53. package/src/AdaptableState/Common/CellDataChangedInfo.d.ts +6 -2
  54. package/src/AdaptableState/Common/CellHighlightInfo.d.ts +4 -2
  55. package/src/AdaptableState/Common/CellSummary.d.ts +33 -0
  56. package/src/AdaptableState/Common/ColumnFilter.d.ts +3 -1
  57. package/src/AdaptableState/Common/ColumnHighlightInfo.d.ts +4 -2
  58. package/src/AdaptableState/Common/ColumnScope.d.ts +32 -1
  59. package/src/AdaptableState/Common/ColumnSetupInfo.d.ts +17 -0
  60. package/src/AdaptableState/Common/ColumnSort.d.ts +3 -1
  61. package/src/AdaptableState/Common/CompactCalculatedColumnEditorInfo.d.ts +3 -0
  62. package/src/AdaptableState/Common/DataChangedScope.d.ts +3 -1
  63. package/src/AdaptableState/Common/DataUpdateConfig.d.ts +3 -1
  64. package/src/AdaptableState/Common/Entitlement.d.ts +4 -2
  65. package/src/AdaptableState/Common/Enums.d.ts +21 -0
  66. package/src/AdaptableState/Common/ExtendedLayout.d.ts +3 -1
  67. package/src/AdaptableState/Common/Fdc3Context.d.ts +9 -0
  68. package/src/AdaptableState/Common/Fdc3Intent.d.ts +6 -0
  69. package/src/AdaptableState/Common/GridFilter.d.ts +3 -1
  70. package/src/AdaptableState/Common/MenuItem.d.ts +9 -0
  71. package/src/AdaptableState/Common/RowHighlightInfo.d.ts +4 -2
  72. package/src/AdaptableState/Common/RowScope.d.ts +3 -1
  73. package/src/AdaptableState/Common/RowSummary.d.ts +14 -4
  74. package/src/AdaptableState/Common/RowsHighlightInfo.d.ts +5 -3
  75. package/src/AdaptableState/Common/Schedule.d.ts +10 -2
  76. package/src/AdaptableState/Common/SpecialColumnSettings.d.ts +3 -1
  77. package/src/AdaptableState/Common/SystemStatusMessageInfo.d.ts +4 -2
  78. package/src/AdaptableState/Common/TransposeConfig.d.ts +1 -1
  79. package/src/AdaptableState/Common/Types.d.ts +9 -0
  80. package/src/AdaptableState/CustomSortState.d.ts +8 -5
  81. package/src/AdaptableState/DashboardState.d.ts +14 -10
  82. package/src/AdaptableState/ExportState.d.ts +12 -4
  83. package/src/AdaptableState/FlashingCellState.d.ts +8 -5
  84. package/src/AdaptableState/FormatColumnState.d.ts +28 -8
  85. package/src/AdaptableState/FreeTextColumnState.d.ts +14 -8
  86. package/src/AdaptableState/IPushPullState.d.ts +39 -3
  87. package/src/AdaptableState/InitialState.d.ts +9 -9
  88. package/src/AdaptableState/InternalState.d.ts +183 -3
  89. package/src/AdaptableState/LayoutState.d.ts +64 -21
  90. package/src/AdaptableState/NamedQueryState.d.ts +16 -4
  91. package/src/AdaptableState/NoteState.d.ts +7 -3
  92. package/src/AdaptableState/OpenFinState.d.ts +12 -2
  93. package/src/AdaptableState/PlusMinusState.d.ts +8 -4
  94. package/src/AdaptableState/PopupState.d.ts +29 -1
  95. package/src/AdaptableState/QuickSearchState.d.ts +5 -3
  96. package/src/AdaptableState/Selection/GridCell.d.ts +5 -3
  97. package/src/AdaptableState/Selection/GridCellRange.d.ts +8 -7
  98. package/src/AdaptableState/Selection/SelectedCellInfo.d.ts +1 -1
  99. package/src/AdaptableState/ShortcutState.d.ts +7 -3
  100. package/src/AdaptableState/StatusBarState.d.ts +7 -6
  101. package/src/AdaptableState/StyledColumnState.d.ts +46 -14
  102. package/src/AdaptableState/TeamSharingState.d.ts +46 -2
  103. package/src/AdaptableState/ThemeState.d.ts +24 -2
  104. package/src/AdaptableState/ToolPanelState.d.ts +10 -5
  105. package/src/AdaptableState/UserInterfaceState.d.ts +2 -2
  106. package/src/AdaptableState/Uuid.d.ts +6 -0
  107. package/src/Api/ActionColumnApi.d.ts +3 -1
  108. package/src/Api/AdaptableApi.d.ts +54 -50
  109. package/src/Api/AlertApi.d.ts +20 -12
  110. package/src/Api/ApplicationApi.d.ts +6 -2
  111. package/src/Api/BulkUpdateApi.d.ts +2 -1
  112. package/src/Api/CalculatedColumnApi.d.ts +4 -1
  113. package/src/Api/CalendarApi.d.ts +10 -0
  114. package/src/Api/CellSummaryApi.d.ts +9 -3
  115. package/src/Api/ChartingApi.d.ts +22 -7
  116. package/src/Api/ColumnApi.d.ts +71 -4
  117. package/src/Api/ColumnFilterApi.d.ts +13 -3
  118. package/src/Api/ColumnMenuApi.d.ts +13 -2
  119. package/src/Api/ColumnScopeApi.d.ts +27 -1
  120. package/src/Api/CommentApi.d.ts +10 -7
  121. package/src/Api/ContextMenuApi.d.ts +11 -1
  122. package/src/Api/CustomSortApi.d.ts +6 -2
  123. package/src/Api/DashboardApi.d.ts +30 -9
  124. package/src/Api/DataChangeHistoryApi.d.ts +9 -3
  125. package/src/Api/DataImportApi.d.ts +1 -1
  126. package/src/Api/EntitlementApi.d.ts +6 -1
  127. package/src/Api/EventApi.d.ts +67 -19
  128. package/src/Api/Events/AdaptableReady.d.ts +6 -2
  129. package/src/Api/Events/AdaptableStateChanged.d.ts +9 -5
  130. package/src/Api/Events/AdaptableStateReloaded.d.ts +7 -3
  131. package/src/Api/Events/AlertFired.d.ts +8 -2
  132. package/src/Api/Events/BeforeAdaptableStateChange.d.ts +6 -2
  133. package/src/Api/Events/CalculatedColumnChanged.d.ts +7 -3
  134. package/src/Api/Events/CellChanged.d.ts +6 -2
  135. package/src/Api/Events/CellSelectionChanged.d.ts +6 -2
  136. package/src/Api/Events/ChartChanged.d.ts +16 -8
  137. package/src/Api/Events/CommentChanged.d.ts +8 -2
  138. package/src/Api/Events/CustomToolbarConfigured.d.ts +6 -2
  139. package/src/Api/Events/DashboardChanged.d.ts +27 -6
  140. package/src/Api/Events/DataImported.d.ts +8 -4
  141. package/src/Api/Events/DataSetSelected.d.ts +6 -2
  142. package/src/Api/Events/Fdc3MessageInfo.d.ts +14 -4
  143. package/src/Api/Events/FlashingCellDisplayed.d.ts +6 -2
  144. package/src/Api/Events/GridFilterApplied.d.ts +11 -3
  145. package/src/Api/Events/GridSorted.d.ts +6 -2
  146. package/src/Api/Events/LayoutChanged.d.ts +36 -5
  147. package/src/Api/Events/LiveDataChanged.d.ts +21 -5
  148. package/src/Api/Events/NoteChanged.d.ts +5 -1
  149. package/src/Api/Events/ReportScheduleRan.d.ts +7 -3
  150. package/src/Api/Events/RowChanged.d.ts +6 -2
  151. package/src/Api/Events/RowFormSubmitted.d.ts +28 -12
  152. package/src/Api/Events/RowSelectionChanged.d.ts +6 -2
  153. package/src/Api/Events/SystemStatusMessageDisplayed.d.ts +6 -2
  154. package/src/Api/Events/TeamSharingEntityChanged.d.ts +6 -2
  155. package/src/Api/Events/ThemeSelected.d.ts +6 -2
  156. package/src/Api/ExportApi.d.ts +59 -32
  157. package/src/Api/ExpressionApi.d.ts +24 -1
  158. package/src/Api/Fdc3Api.d.ts +16 -3
  159. package/src/Api/FlashingCellApi.d.ts +6 -1
  160. package/src/Api/FormatColumnApi.d.ts +18 -11
  161. package/src/Api/FreeTextColumnApi.d.ts +4 -2
  162. package/src/Api/GridApi.d.ts +92 -19
  163. package/src/Api/IPushPullApi.d.ts +19 -2
  164. package/src/Api/Internal/EventInternalApi.d.ts +2 -1
  165. package/src/Api/Internal/EventInternalApi.js +7 -0
  166. package/src/Api/InteropioPluginApi.d.ts +2 -1
  167. package/src/Api/LayoutApi.d.ts +29 -15
  168. package/src/Api/NamedQueryApi.d.ts +10 -6
  169. package/src/Api/NoteApi.d.ts +15 -11
  170. package/src/Api/OpenFinApi.d.ts +8 -2
  171. package/src/Api/OptionsApi.d.ts +43 -1
  172. package/src/Api/PluginsApi.d.ts +6 -1
  173. package/src/Api/PlusMinusApi.d.ts +2 -1
  174. package/src/Api/QuickSearchApi.d.ts +6 -1
  175. package/src/Api/RowFormApi.d.ts +8 -7
  176. package/src/Api/ShortcutApi.d.ts +3 -1
  177. package/src/Api/SmartEditApi.d.ts +4 -1
  178. package/src/Api/StateApi.d.ts +30 -2
  179. package/src/Api/StatusBarApi.d.ts +2 -0
  180. package/src/Api/StyledColumnApi.d.ts +23 -12
  181. package/src/Api/SystemStatusApi.d.ts +18 -6
  182. package/src/Api/TeamSharingApi.d.ts +8 -1
  183. package/src/Api/ThemeApi.d.ts +17 -8
  184. package/src/Api/ToolPanelApi.d.ts +12 -7
  185. package/src/Api/UserInterfaceApi.d.ts +10 -1
  186. package/src/Redux/Store/AdaptableStore.js +1 -1
  187. package/src/agGrid/Adaptable.d.ts +0 -12
  188. package/src/agGrid/Adaptable.js +0 -52
  189. package/src/agGrid/AdaptableFrameworkComponent.d.ts +12 -0
  190. package/src/agGrid/AdaptableLogger.d.ts +74 -1
  191. package/src/agGrid/editors/AdaptableDateEditor/index.d.ts +3 -0
  192. package/src/agGrid/editors/AdaptableNumberEditor/index.d.ts +3 -0
  193. package/src/agGrid/index.d.ts +1 -6
  194. package/src/agGrid/index.js +1 -3
  195. package/src/aql/ExpressionEvaluation.d.ts +27 -0
  196. package/src/aql/types.d.ts +22 -0
  197. package/src/env.js +2 -2
  198. package/src/migration/legacyAdaptableQuery.d.ts +29 -4
  199. package/src/setupDevTools.js +223 -0
  200. package/src/types.d.ts +0 -2
  201. package/tsconfig.esm.tsbuildinfo +1 -1
  202. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +0 -99
  203. package/src/AdaptableInterfaces/AdaptableNoCodeWizard.js +0 -1
  204. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableConfig.d.ts +0 -15
  205. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableConfig.js +0 -1
  206. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.d.ts +0 -19
  207. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +0 -337
  208. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +0 -5
  209. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +0 -4
  210. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.d.ts +0 -30
  211. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +0 -162
  212. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.d.ts +0 -18
  213. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +0 -12
  214. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.d.ts +0 -8
  215. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +0 -131
  216. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.d.ts +0 -8
  217. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +0 -30
  218. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.d.ts +0 -6
  219. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +0 -80
  220. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.d.ts +0 -6
  221. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +0 -100
  222. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.d.ts +0 -11
  223. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +0 -8
  224. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.d.ts +0 -2
  225. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +0 -2
  226. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.d.ts +0 -21
  227. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.js +0 -63
  228. package/src/View/AdaptableWizardView/Utilities/Utils.d.ts +0 -1
  229. package/src/View/AdaptableWizardView/Utilities/Utils.js +0 -21
  230. package/src/View/AdaptableWizardView/Utilities/helper.d.ts +0 -19
  231. package/src/View/AdaptableWizardView/Utilities/helper.js +0 -81
  232. package/src/View/AdaptableWizardView/Wizard.d.ts +0 -57
  233. package/src/View/AdaptableWizardView/Wizard.js +0 -98
  234. package/src/View/AdaptableWizardView/index.d.ts +0 -4
  235. package/src/View/AdaptableWizardView/index.js +0 -4
@@ -1,63 +0,0 @@
1
- import { useState } from 'react';
2
- const useSelection = (columns, defaultValue, fieldName, changeListeners) => {
3
- changeListeners = changeListeners || {};
4
- const onChange = changeListeners.onChange || ((column, flag) => { });
5
- const onBatchChange = changeListeners.onBatchChange || ((flag) => { });
6
- const [selected, setSelected] = useState(typeof defaultValue === 'object'
7
- ? defaultValue
8
- : columns.reduce((acc, col) => {
9
- const flag = fieldName ? col[fieldName] : defaultValue;
10
- if (flag) {
11
- acc[col.field] = flag;
12
- }
13
- return acc;
14
- }, {}));
15
- const getColumn = (field) => columns.filter((c) => c.field === field)[0];
16
- const result = {
17
- selected,
18
- isSelected: (field) => !!selected[field],
19
- isAllSelected: () => Object.keys(selected).length === columns.length,
20
- isNoneSelected: () => Object.keys(selected).length === 0,
21
- selectColumn: (field) => {
22
- if (!selected[field]) {
23
- setSelected({
24
- ...selected,
25
- [field]: true,
26
- });
27
- onChange(getColumn(field), true);
28
- }
29
- },
30
- deselectColumn: (field) => {
31
- if (selected[field]) {
32
- const newSelected = { ...selected };
33
- delete newSelected[field];
34
- setSelected(newSelected);
35
- onChange(getColumn(field), false);
36
- }
37
- },
38
- toggleColumn: (field) => {
39
- if (result.isSelected(field)) {
40
- result.deselectColumn(field);
41
- }
42
- else {
43
- result.selectColumn(field);
44
- }
45
- },
46
- deselectAll: () => {
47
- setSelected({});
48
- columns.forEach((col) => {
49
- onChange(col, false);
50
- });
51
- onBatchChange(false);
52
- },
53
- selectAll: () => {
54
- setSelected(columns.reduce((acc, col) => {
55
- acc[col.field] = true;
56
- return acc;
57
- }, {}));
58
- onBatchChange(true);
59
- },
60
- };
61
- return result;
62
- };
63
- export default useSelection;
@@ -1 +0,0 @@
1
- export declare const validDataSource: (dataSourceInfo: any) => boolean;
@@ -1,21 +0,0 @@
1
- export const validDataSource = (dataSourceInfo) => {
2
- if (!dataSourceInfo || !Array.isArray(dataSourceInfo.columns)) {
3
- throw `We can't find any columns in your configuration`;
4
- }
5
- if (!dataSourceInfo.columns.length) {
6
- throw 'You should have at least one column';
7
- }
8
- const allStringColumns = dataSourceInfo.columns.reduce((acc, col) => {
9
- if (!col || typeof col !== 'string') {
10
- return false;
11
- }
12
- return acc;
13
- }, true);
14
- if (!allStringColumns) {
15
- throw `Some of your columns are not strings`;
16
- }
17
- if (!Array.isArray(dataSourceInfo.data)) {
18
- throw `We can't find the data array in your configuration`;
19
- }
20
- return true;
21
- };
@@ -1,19 +0,0 @@
1
- import { GridOptions } from 'ag-grid-enterprise';
2
- export interface WizardDataSourceInfo {
3
- columns: string[];
4
- data: any[];
5
- primaryKey?: string;
6
- }
7
- /**
8
- * There are two ways in which the datasource can be dropped in the wizard:
9
- *
10
- * 1. array of objects - eg: [{"lastName":"John","firstName":"Bobson"},{"lastName":"Mike","firstName":"Richardson"},...]
11
- * 2. array of arrays - eg: [["lastName","firstName"],["John","Bobson"],["Mike","Richardson"],...]
12
- *
13
- * Although the second one is more compact, the first one is what we need for the datasource of the grid,
14
- * so if we receive v2, we transform it to 1
15
- * @param json
16
- */
17
- export declare const prepareDataSource: (json: any, _file?: File) => WizardDataSourceInfo;
18
- export declare const getColTypeFromValue: (value: any) => string;
19
- export declare const prepareGridOptions: (dataSourceInfo: WizardDataSourceInfo, defaultGridOptions: Partial<GridOptions>) => GridOptions;
@@ -1,81 +0,0 @@
1
- export const prepareDataSource = (json, _file) => {
2
- if (!Array.isArray(json) || !json.length) {
3
- return {
4
- primaryKey: undefined,
5
- columns: [],
6
- data: [],
7
- };
8
- }
9
- let columns = [];
10
- let data = [];
11
- let primaryKey;
12
- if (Array.isArray(json[0])) {
13
- columns = json[0];
14
- for (let i = 1, len = json.length; i < len; i++) {
15
- const it = json[i];
16
- const obj = {};
17
- for (let j = 0; j < columns.length; j++) {
18
- obj[columns[j]] = it[j];
19
- }
20
- data.push(obj);
21
- }
22
- }
23
- else {
24
- columns = Object.keys(json[0]);
25
- data = json;
26
- }
27
- primaryKey = columns[0];
28
- return {
29
- primaryKey,
30
- columns,
31
- data,
32
- };
33
- };
34
- const typeToColType = {
35
- string: 'text',
36
- number: 'number',
37
- boolean: 'boolean',
38
- date: 'date',
39
- };
40
- export const getColTypeFromValue = (value) => {
41
- const dataType = typeof value;
42
- let columnDataType = typeToColType[dataType] || typeToColType.string;
43
- if (value instanceof Date) {
44
- columnDataType = typeToColType.date;
45
- }
46
- if (Array.isArray(value) && value.length && typeof value[0] === 'number') {
47
- columnDataType = 'numberArray';
48
- }
49
- return columnDataType;
50
- };
51
- export const prepareGridOptions = (dataSourceInfo, defaultGridOptions) => {
52
- const firstItem = dataSourceInfo.data[0];
53
- const columnDefs = dataSourceInfo.columns.map((columnName) => {
54
- const firstItemValue = firstItem[columnName];
55
- const columnType = getColTypeFromValue(firstItemValue);
56
- return {
57
- headerName: columnName,
58
- field: columnName,
59
- type: columnType,
60
- filter: true,
61
- sortable: true,
62
- enableRowGroup: true,
63
- resizable: true,
64
- editable: true,
65
- };
66
- });
67
- const gridOptions = {
68
- ...defaultGridOptions,
69
- defaultColDef: {
70
- floatingFilter: true,
71
- },
72
- rowData: dataSourceInfo.data,
73
- columnDefs,
74
- cellSelection: true,
75
- rowSelection: {
76
- mode: 'multiRow',
77
- },
78
- rowHeight: 30,
79
- };
80
- return gridOptions;
81
- };
@@ -1,57 +0,0 @@
1
- import * as React from 'react';
2
- import { Reducer, ReactNode } from 'react';
3
- import { GridOptions } from 'ag-grid-enterprise';
4
- import { AdaptableOptions } from '../../types';
5
- import { ConfigurationWizardProps } from './AdaptableConfigurationDialog/ConfigurationWizard';
6
- export interface AdaptableWizardViewProps {
7
- adaptableOptions?: Omit<AdaptableOptions, 'primaryKey'> & {
8
- primaryKey?: string;
9
- };
10
- gridOptions?: GridOptions;
11
- /**
12
- * Default true.
13
- */
14
- ddEnabled?: boolean;
15
- /**
16
- * When true the the configuration wizard will be shown.
17
- * It will use the available information in adaptableOptions & gridOptions.
18
- * This mode skips over interpreting data to figure-out columns.
19
- */
20
- skipToWizard?: boolean;
21
- onInit: (adaptableOptions: AdaptableOptions, gridOptions: GridOptions) => any;
22
- fileContentsToJSON?: (str: string) => Promise<any> | any;
23
- readFile?: (file: File) => Promise<any>;
24
- fileAccept?: string;
25
- helpText?: React.ReactNode;
26
- loadingMessage?: ReactNode;
27
- defaultActionMessage?: ReactNode;
28
- dragOverActionMessage?: ReactNode;
29
- fetchData?: () => Promise<Record<string, any>[]>;
30
- showFetchDataWizard?: boolean;
31
- startSections?: ConfigurationWizardProps['startSections'];
32
- prepareData?: (data: any, file?: File) => {
33
- columns: string[];
34
- data: any[];
35
- primaryKey?: string;
36
- };
37
- }
38
- export declare const initialState: Partial<WizardState>;
39
- export declare const reducer: Reducer<WizardState, any>;
40
- interface WizardState {
41
- dropped: boolean;
42
- error: any;
43
- adaptableOptions: AdaptableOptions;
44
- gridOptions: GridOptions;
45
- }
46
- /**
47
- * The wizard in a few modes:
48
- *
49
- * 1. Based on data:
50
- * 1.1 Drag and drop a file
51
- * 1.2 Fetch data from a url
52
- *
53
- * 2. Based on configuration:
54
- * Provide a schema, on how the data looks like.
55
- */
56
- export declare const Wizard: (props: AdaptableWizardViewProps) => React.JSX.Element;
57
- export {};
@@ -1,98 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useReducer, useState, useEffect } from 'react';
3
- import { prepareDataSource, prepareGridOptions } from './Utilities/helper';
4
- import ConfigurationDialog from './AdaptableConfigurationDialog';
5
- import FileDroppable from '../../components/FileDroppable';
6
- import { validDataSource } from './Utilities/Utils';
7
- import { Flex } from '../../components/Flex';
8
- export const initialState = {
9
- dropped: false,
10
- };
11
- export const reducer = (state, action) => {
12
- if (action.type === 'DROPPED') {
13
- return {
14
- ...state,
15
- adaptableOptions: action.payload.adaptableOptions,
16
- gridOptions: action.payload.gridOptions,
17
- dropped: true,
18
- error: null,
19
- };
20
- }
21
- if (action.type === 'ERROR') {
22
- return {
23
- ...state,
24
- dropped: false,
25
- error: action.payload,
26
- };
27
- }
28
- if (action.type === 'CANCEL') {
29
- return {
30
- ...state,
31
- error: null,
32
- dropped: false,
33
- };
34
- }
35
- return state;
36
- };
37
- export const Wizard = (props) => {
38
- const [state, dispatch] = useReducer(reducer, {
39
- ...initialState,
40
- adaptableOptions: props.adaptableOptions,
41
- gridOptions: props.gridOptions,
42
- });
43
- const [droppableKey, setDroppableKey] = useState(Date.now());
44
- const [isDataLoading, setIsDataLoading] = useState(false);
45
- const handleDataSource = (array, file) => {
46
- const dataSourceInfo = (props.prepareData || prepareDataSource)(array, file);
47
- try {
48
- validDataSource(dataSourceInfo);
49
- }
50
- catch (err) {
51
- return dispatch({
52
- type: 'ERROR',
53
- payload: `Invalid adaptable configuration - ${err}`,
54
- });
55
- }
56
- const gridOptions = prepareGridOptions(dataSourceInfo, props.gridOptions);
57
- const adaptableOptions = { ...props.adaptableOptions };
58
- adaptableOptions.adaptableId = adaptableOptions.adaptableId || (file ? file.name : '');
59
- if (dataSourceInfo.primaryKey) {
60
- adaptableOptions.primaryKey = dataSourceInfo.primaryKey;
61
- }
62
- const shouldShowWizard = props.fetchData ? Boolean(props.showFetchDataWizard) : true;
63
- if (shouldShowWizard) {
64
- dispatch({
65
- type: 'DROPPED',
66
- payload: { adaptableOptions, gridOptions },
67
- });
68
- }
69
- else {
70
- props.onInit(adaptableOptions, gridOptions);
71
- }
72
- };
73
- let wizard;
74
- if (props.skipToWizard || state.dropped) {
75
- wizard = (_jsx(ConfigurationDialog, { startSections: props.startSections, adaptableConfig: {
76
- adaptableOptions: state.adaptableOptions,
77
- gridOptions: state.gridOptions,
78
- }, onCancel: () => {
79
- setDroppableKey(Date.now());
80
- dispatch({
81
- type: 'CANCEL',
82
- });
83
- }, onFinish: (adaptableConfig) => {
84
- props.onInit(adaptableConfig.adaptableOptions, adaptableConfig.gridOptions);
85
- } }));
86
- }
87
- useEffect(() => {
88
- if (props.fetchData) {
89
- setIsDataLoading(true);
90
- props.fetchData().then((data) => {
91
- handleDataSource(data);
92
- setIsDataLoading(false);
93
- });
94
- }
95
- }, []);
96
- const ddEnabled = props.ddEnabled ?? !props.fetchData;
97
- return (_jsxs(_Fragment, { children: [ddEnabled && (_jsx(FileDroppable, { className: 'ab-NocodeWizard', toJSON: props.fileContentsToJSON, readFile: props.readFile, fileAccept: props.fileAccept, helpText: props.helpText, message: state.error, defaultText: props.defaultActionMessage, dragOverText: props.dragOverActionMessage, loadingText: props.loadingMessage, onDropSuccess: handleDataSource }, droppableKey)), isDataLoading && (_jsx(Flex, { className: 'ab-NocodeWizard', alignItems: "center", justifyContent: "center", flexDirection: "column", children: props.loadingMessage || 'Loading ...' })), wizard] }));
98
- };
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import { AdaptableWizardViewProps } from './Wizard';
3
- declare const AdaptableWizardView: React.FunctionComponent<React.PropsWithChildren<AdaptableWizardViewProps>>;
4
- export default AdaptableWizardView;
@@ -1,4 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Wizard } from './Wizard';
3
- const AdaptableWizardView = (props) => _jsx(Wizard, { ...props });
4
- export default AdaptableWizardView;