@adaptabletools/adaptable 24.0.0-canary.8 → 24.0.0

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 +18 -9
  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
@@ -3,6 +3,9 @@ import { ADAPTABLE_VERSION } from './EnvVars';
3
3
  import { resolveVisibleSettingsPanelNavigationGroups } from './Utilities/Helpers/SettingsPanelHelper';
4
4
  import { isTransientReduxAction } from './Redux/Store/isTransientReduxAction';
5
5
  import { isPivotLayout } from './Utilities/Helpers/Layouts/LayoutHelper';
6
+ import { formatColumnInspectorPinning, formatColumnInspectorSizing, } from './View/Layout/Utilities/columnLayoutHelpers';
7
+ import { getVariableColor } from './Utilities/Helpers/StyleHelper';
8
+ import { isSummaryColorLabel, parseSummaryLabelValueString, } from './View/Wizard/SummaryColorTag';
6
9
  import { debug } from '@infinite-table/infinite-react';
7
10
  import { colorSchemeDark, colorSchemeLight, themeQuartz } from 'ag-grid-enterprise';
8
11
  import { warnOnce } from './agGrid/AdaptableLogger';
@@ -192,6 +195,25 @@ function ensureDevToolsReady() {
192
195
  postStateChangeMessage(adaptableId, { api: registration.api });
193
196
  }
194
197
  }
198
+ function handleGetColumnInfoMessage(payload) {
199
+ const adaptableId = payload?.adaptableId;
200
+ if (!adaptableId) {
201
+ console.warn('Adaptable DevTools: get-column-info message missing adaptableId');
202
+ return;
203
+ }
204
+ try {
205
+ const registration = resolveRegistration(adaptableId);
206
+ const columnInfo = buildColumnDetail(adaptableId, registration, payload.columnId);
207
+ window.postMessage(buildMessageForExtension({
208
+ type: 'column-info',
209
+ adaptableId,
210
+ columnInfo,
211
+ }));
212
+ }
213
+ catch (error) {
214
+ console.warn(error.message);
215
+ }
216
+ }
195
217
  function handleOpenSettingsPanelMessage(payload) {
196
218
  const { adaptableId, moduleName } = payload ?? {};
197
219
  if (!adaptableId) {
@@ -495,6 +517,189 @@ function buildColumns(api) {
495
517
  isActionColumn: action.has(column.columnId),
496
518
  }));
497
519
  }
520
+ const COLUMN_INFO_MODULES = [
521
+ 'Alert',
522
+ 'CalculatedColumn',
523
+ 'CustomSort',
524
+ 'FormatColumn',
525
+ 'FlashingCell',
526
+ 'PlusMinus',
527
+ 'Shortcut',
528
+ 'StyledColumn',
529
+ ];
530
+ function isElement(value) {
531
+ return Boolean(value && typeof value === 'object' && 'props' in value);
532
+ }
533
+ function collectTagParts(node, into) {
534
+ if (node == null || typeof node === 'boolean') {
535
+ return;
536
+ }
537
+ if (typeof node === 'string' || typeof node === 'number') {
538
+ const text = String(node).trim();
539
+ if (text) {
540
+ into.texts.push(text);
541
+ }
542
+ return;
543
+ }
544
+ if (Array.isArray(node)) {
545
+ node.forEach((child) => collectTagParts(child, into));
546
+ return;
547
+ }
548
+ if (!isElement(node)) {
549
+ return;
550
+ }
551
+ const color = node.props?.color;
552
+ if (typeof color === 'string' && color && node.props?.children == null) {
553
+ into.color = getVariableColor(color);
554
+ return;
555
+ }
556
+ collectTagParts(node.props?.children, into);
557
+ }
558
+ function valueToTag(value, variant, italic) {
559
+ if (typeof value === 'string' || typeof value === 'number') {
560
+ const text = String(value).trim();
561
+ if (!text) {
562
+ return undefined;
563
+ }
564
+ const parsed = parseSummaryLabelValueString(text);
565
+ if (parsed && isSummaryColorLabel(parsed.label)) {
566
+ return { text: parsed.label, color: getVariableColor(parsed.value), variant, italic };
567
+ }
568
+ return { text, variant, italic };
569
+ }
570
+ const parts = { texts: [] };
571
+ collectTagParts(value, parts);
572
+ if (!parts.texts.length && !parts.color) {
573
+ return undefined;
574
+ }
575
+ return { text: parts.texts.join(' '), color: parts.color, variant, italic };
576
+ }
577
+ function viewItemLabel(item) {
578
+ if (typeof item.label === 'string' && item.label.trim()) {
579
+ return item.label.trim();
580
+ }
581
+ return item.name ?? '';
582
+ }
583
+ function serializeViewItems(items) {
584
+ const rows = [];
585
+ for (const item of items) {
586
+ const variant = item.tagVariant === 'default' ? undefined : item.tagVariant;
587
+ const italic = item.tagClassName?.includes('italic') ? true : undefined;
588
+ const tags = (item.values ?? [])
589
+ .map((value) => valueToTag(value, variant, italic))
590
+ .filter((tag) => tag != null);
591
+ if (!tags.length) {
592
+ continue;
593
+ }
594
+ rows.push({ label: viewItemLabel(item), tags });
595
+ }
596
+ return rows;
597
+ }
598
+ function summaryRow(key, value) {
599
+ if (value == null || value === '' || value === false) {
600
+ return undefined;
601
+ }
602
+ return { key, value: String(value) };
603
+ }
604
+ function yesNo(value) {
605
+ return value ? 'Yes' : 'No';
606
+ }
607
+ function buildColumnDetail(adaptableId, registration, columnId) {
608
+ const api = registration.api;
609
+ const columns = api.columnApi.getColumns();
610
+ const options = columns.map((column) => ({
611
+ id: column.columnId,
612
+ friendlyName: column.friendlyName,
613
+ }));
614
+ if (!columns.length) {
615
+ return { columnId: '', columns: [], summary: [], scopedObjects: [] };
616
+ }
617
+ const resolvedId = columnId || columns[0].columnId;
618
+ const column = api.columnApi.getColumnWithColumnId(resolvedId);
619
+ if (!column) {
620
+ throw new Error(`Adaptable DevTools: unknown column "${resolvedId}" on "${adaptableId}". Columns: ${options
621
+ .map((option) => `"${option.id}"`)
622
+ .join(', ')}.`);
623
+ }
624
+ const layout = api.layoutApi.getCurrentLayout();
625
+ const visible = new Set(api.columnApi.getVisibleColumns().map((entry) => entry.columnId));
626
+ const resolveDefaultWidth = (id) => registration.instance?.getDefaultColumnWidthForCol(id) ?? 0;
627
+ const columnFilter = api.filterApi.columnFilterApi.getColumnFilterForColumn(column.columnId);
628
+ const filterText = columnFilter
629
+ ? api.filterApi.columnFilterApi.columnFilterToString(columnFilter)
630
+ : '';
631
+ const summary = [
632
+ summaryRow('Column Id', column.columnId),
633
+ summaryRow('Header', column.friendlyName),
634
+ summaryRow('Data Type', column.dataType),
635
+ summaryRow('Column Types', column.columnTypes?.join(', ')),
636
+ summaryRow('Primary Key Column', column.isPrimaryKey ? 'Yes' : undefined),
637
+ summaryRow('Calculated Column', column.isCalculatedColumn ? 'Yes' : undefined),
638
+ summaryRow('Free Text Column', column.isFreeTextColumn ? 'Yes' : undefined),
639
+ summaryRow('Action Column', column.isActionColumn ? 'Yes' : undefined),
640
+ summaryRow('Sparkline Column', column.isSparkline ? 'Yes' : undefined),
641
+ summaryRow('Column Group', column.columnGroup?.friendlyName),
642
+ { key: 'Visible', value: yesNo(visible.has(column.columnId)) },
643
+ { key: 'Pinning', value: formatColumnInspectorPinning(layout, column.columnId) },
644
+ {
645
+ key: 'Width',
646
+ value: (() => {
647
+ const explicit = formatColumnInspectorSizing(column.columnId, layout.ColumnSizing?.[column.columnId], resolveDefaultWidth);
648
+ return explicit === 'Default' ? String(resolveDefaultWidth(column.columnId)) : explicit;
649
+ })(),
650
+ },
651
+ {
652
+ key: 'Sorting',
653
+ value: (layout.ColumnSorts ?? []).find((sort) => sort.ColumnId === column.columnId)?.SortOrder ??
654
+ 'None',
655
+ },
656
+ summaryRow('Row Grouped', column.groupable ? yesNo(column.isGrouped) : undefined),
657
+ { key: 'Groupable', value: yesNo(column.groupable) },
658
+ { key: 'Aggregatable', value: yesNo(column.aggregatable) },
659
+ summaryRow('Aggregation Function', column.aggregatable ? column.aggregationFunction : undefined),
660
+ { key: 'Filterable', value: yesNo(column.filterable) },
661
+ summaryRow('Column Filter', column.filterable ? filterText : undefined),
662
+ { key: 'Hideable', value: yesNo(column.hideable) },
663
+ { key: 'Editable', value: yesNo(!column.readOnly) },
664
+ { key: 'Moveable', value: yesNo(column.moveable) },
665
+ { key: 'Pivotable', value: yesNo(column.pivotable) },
666
+ { key: 'Queryable', value: yesNo(column.queryable) },
667
+ { key: 'Exportable', value: yesNo(column.exportable) },
668
+ { key: 'Sortable', value: yesNo(column.sortable) },
669
+ ].filter((row) => row != null);
670
+ const moduleService = api.internalApi.getModuleService();
671
+ const scopedObjects = [];
672
+ for (const moduleName of COLUMN_INFO_MODULES) {
673
+ const module = moduleService.getModuleById(moduleName);
674
+ if (!module?.isModuleVisible() || !module.toViewAll) {
675
+ continue;
676
+ }
677
+ if (module.moduleInfo.ModuleName === 'CalculatedColumn' && !column.isCalculatedColumn) {
678
+ continue;
679
+ }
680
+ const itemsInScope = module.toViewAll().filter((item) => {
681
+ if ('Scope' in item.abObject) {
682
+ return api.columnScopeApi.isColumnInScope(column, item.abObject.Scope);
683
+ }
684
+ if ('ColumnId' in item.abObject) {
685
+ return item.abObject.ColumnId === column.columnId;
686
+ }
687
+ return false;
688
+ });
689
+ for (const item of itemsInScope) {
690
+ const rows = serializeViewItems(item.items);
691
+ if (rows.length) {
692
+ scopedObjects.push({ module: module.moduleInfo.FriendlyName, rows });
693
+ }
694
+ }
695
+ }
696
+ return {
697
+ columnId: column.columnId,
698
+ columns: options,
699
+ summary,
700
+ scopedObjects,
701
+ };
702
+ }
498
703
  function buildGridInfo(adaptableId, api) {
499
704
  const { licenseKey, userName, primaryKey } = buildInstanceSummary(api);
500
705
  const currentLayout = api.layoutApi.getCurrentLayout();
@@ -557,6 +762,7 @@ Omit adaptableId when one instance is mounted.
557
762
  getState(id?, section?) -> full AdapTable State, or one section such as 'Layout' or 'FormatColumn'
558
763
  getPersistentState(id?) -> the user state AdapTable persists; pass it to the MCP check_state / migrate_state tools
559
764
  getColumns(id?) -> [{ id, friendlyName, dataType, visible, ... }]; { id, dataType } is the MCP "columns" input
765
+ getColumnInfo(id?, columnId?) -> read-only Column Info: summary and Settings Panel tags for objects scoped to that column
560
766
  getLogs(id?, { level?, channel?, limit? }) -> recent AdapTable log messages, buffered without localStorage.debug
561
767
  getRecentActions(id?, limit?) -> recent state-changing actions
562
768
  restoreState(id, state) -> Promise; restores a snapshot from getState()/getPersistentState()
@@ -600,6 +806,11 @@ function createDevToolsGlobal() {
600
806
  const { api } = resolveRegistration(adaptableId);
601
807
  return serializeForPostMessage(buildColumns(api));
602
808
  },
809
+ getColumnInfo(adaptableId, columnId) {
810
+ const registration = resolveRegistration(adaptableId);
811
+ const id = adaptableId ?? registration.api.optionsApi.getAdaptableId();
812
+ return serializeForPostMessage(buildColumnDetail(id, registration, columnId));
813
+ },
603
814
  getGridInfo(adaptableId) {
604
815
  const registration = resolveRegistration(adaptableId);
605
816
  const id = adaptableId ?? registration.api.optionsApi.getAdaptableId();
@@ -693,6 +904,7 @@ export function listenForDevTools(adaptableInstance) {
693
904
  const handlers = {
694
905
  'restore-state': handleRestoreStateMessage,
695
906
  'open-settings-panel': handleOpenSettingsPanelMessage,
907
+ 'get-column-info': handleGetColumnInfoMessage,
696
908
  'load-variant': handleLoadVariantMessage,
697
909
  'theme-var-change': handleThemeVarChangeMessage,
698
910
  'apply-theme': handleApplyThemeMessage,
@@ -812,6 +1024,17 @@ function buildMessageForExtension(params) {
812
1024
  },
813
1025
  };
814
1026
  }
1027
+ if (type === 'column-info') {
1028
+ return {
1029
+ ...messageBase,
1030
+ url,
1031
+ type,
1032
+ payload: {
1033
+ adaptableId,
1034
+ columnInfo: payload?.columnInfo,
1035
+ },
1036
+ };
1037
+ }
815
1038
  if (type === 'state-change') {
816
1039
  return {
817
1040
  ...messageBase,
package/src/types.d.ts CHANGED
@@ -3,8 +3,6 @@ export type { ExpressionCategory, OfficialExpressionCategory, ExpressionReturnTy
3
3
  export { isAST_Function, getExpressionArgColumnId, EXPRESSION_CATEGORIES, EXPRESSION_RETURN_TYPES, } from "../vendor/aql/index.js";
4
4
  export type { AdaptableLogger } from './../src/agGrid/AdaptableLogger';
5
5
  export type { AgGridConfig } from './AdaptableInterfaces/IAdaptable';
6
- export type { AdaptableConfig } from './View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableConfig';
7
- export type { AdaptableNoCodeWizardOptions, IAdaptableNoCodeWizard, } from './AdaptableInterfaces/AdaptableNoCodeWizard';
8
6
  export type { ScalarFunctionName, AggregationCallableName as AggregatedScalarFunctionName, } from "../vendor/aql/index.js";
9
7
  export type { AdaptableOptions } from './AdaptableOptions/AdaptableOptions';
10
8
  export { AdaptablePlugin } from './AdaptableOptions/AdaptablePlugin';