@adaptabletools/adaptable 18.0.0-canary.33 → 18.0.0-canary.34

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 (49) hide show
  1. package/package.json +1 -1
  2. package/src/AdaptableOptions/MenuOptions.d.ts +36 -16
  3. package/src/AdaptableOptions/MenuOptions.js +5 -0
  4. package/src/PredefinedConfig/Common/Menu.d.ts +14 -6
  5. package/src/PredefinedConfig/Common/Menu.js +3 -0
  6. package/src/Strategy/AdaptableModuleBase.d.ts +8 -8
  7. package/src/Strategy/AlertModule.d.ts +3 -2
  8. package/src/Strategy/BulkUpdateModule.d.ts +3 -2
  9. package/src/Strategy/CalculatedColumnModule.d.ts +3 -4
  10. package/src/Strategy/CalculatedColumnModule.js +16 -12
  11. package/src/Strategy/CellSummaryModule.d.ts +3 -4
  12. package/src/Strategy/CellSummaryModule.js +17 -14
  13. package/src/Strategy/ColumnFilterModule.d.ts +3 -3
  14. package/src/Strategy/ColumnInfoModule.d.ts +3 -3
  15. package/src/Strategy/CommentModule.d.ts +3 -2
  16. package/src/Strategy/CustomSortModule.d.ts +1 -2
  17. package/src/Strategy/DashboardModule.d.ts +3 -3
  18. package/src/Strategy/DataImportModule.d.ts +2 -2
  19. package/src/Strategy/ExportModule.d.ts +1 -1
  20. package/src/Strategy/Fdc3Module.d.ts +1 -1
  21. package/src/Strategy/FlashingCellModule.d.ts +4 -3
  22. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  23. package/src/Strategy/FormatColumnModule.js +0 -1
  24. package/src/Strategy/FreeTextColumnModule.d.ts +1 -2
  25. package/src/Strategy/GridInfoModule.d.ts +3 -3
  26. package/src/Strategy/Interface/IModule.d.ts +3 -3
  27. package/src/Strategy/LayoutModule.d.ts +2 -2
  28. package/src/Strategy/NoteModule.d.ts +2 -2
  29. package/src/Strategy/PlusMinusModule.d.ts +1 -2
  30. package/src/Strategy/SettingsPanelModule.d.ts +2 -2
  31. package/src/Strategy/SmartEditModule.d.ts +3 -2
  32. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  33. package/src/Strategy/StyledColumnModule.js +0 -8
  34. package/src/Strategy/SystemStatusModule.d.ts +3 -3
  35. package/src/Strategy/SystemStatusModule.js +3 -1
  36. package/src/Utilities/MenuItem.d.ts +9 -9
  37. package/src/Utilities/Services/RowSummaryService.d.ts +7 -3
  38. package/src/Utilities/Services/RowSummaryService.js +29 -15
  39. package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -2
  40. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -1
  41. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +1 -0
  42. package/src/View/SmartEdit/SmartEditPopup.js +1 -1
  43. package/src/agGrid/AgGridMenuAdapter.d.ts +1 -0
  44. package/src/agGrid/AgGridMenuAdapter.js +70 -59
  45. package/src/env.js +2 -2
  46. package/src/metamodel/adaptable.metamodel.d.ts +10 -0
  47. package/src/metamodel/adaptable.metamodel.js +1 -1
  48. package/src/types.d.ts +1 -1
  49. package/tsconfig.esm.tsbuildinfo +1 -1
@@ -46,7 +46,6 @@ export class FormatColumnModule extends AdaptableModuleBase {
46
46
  action: 'New',
47
47
  source: 'ColumnMenu',
48
48
  };
49
- const createFormatColumnMenuItem = this.createMenuItemShowPopup('format-column-add', 'Create', this.moduleInfo.Popup, 'plus', createPopupParam);
50
49
  returnColumnMenuItems.push(this.createMenuItemShowPopup('format-column-add', 'Create Format Column', this.moduleInfo.Popup, this.moduleInfo.Glyph, createPopupParam));
51
50
  const formatColumnsForColumn = this.api.formatColumnApi.getFormatColumnsForColumnId(column.columnId);
52
51
  if (formatColumnsForColumn.length === 1) {
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { AdaptableModuleBase } from './AdaptableModuleBase';
3
3
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
- import { AdaptableMenuItem } from '../PredefinedConfig/Common/Menu';
5
4
  import * as FreeTextColumnRedux from '../Redux/ActionsReducers/FreeTextColumnRedux';
6
5
  import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
7
6
  import { FreeTextColumn } from '../PredefinedConfig/FreeTextColumnState';
@@ -12,7 +11,7 @@ export declare class FreeTextColumnModule extends AdaptableModuleBase implements
12
11
  isModuleAvailable(): boolean;
13
12
  getModuleAdaptableObjects(): FreeTextColumn[];
14
13
  hasNamedQueryReferences(): boolean;
15
- createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
14
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
16
15
  getTeamSharingAction(): TeamSharingImportInfo<FreeTextColumn>;
17
16
  toView(freeTextColumn: FreeTextColumn): AdaptableObjectView;
18
17
  toViewAll(): AdaptableObjectView[];
@@ -1,5 +1,5 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
2
+ import { ContextMenuContext } from '../PredefinedConfig/Common/Menu';
3
3
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
4
  import { IModule } from './Interface/IModule';
5
5
  import { AdaptableApi } from '../Api/AdaptableApi';
@@ -7,6 +7,6 @@ import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
7
7
  export declare class GridInfoModule extends AdaptableModuleBase implements IModule {
8
8
  constructor(api: AdaptableApi);
9
9
  getViewAccessLevel(): AccessLevel;
10
- createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
11
- createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
10
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
11
+ createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
12
12
  }
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties } from 'react';
2
2
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
3
- import { AdaptableMenuItem, ContextMenuContext } from '../../PredefinedConfig/Common/Menu';
3
+ import { AdaptableColumnMenuItemName, AdaptableContextMenuItemName, AdaptableMenuItem, ContextMenuContext } from '../../PredefinedConfig/Common/Menu';
4
4
  import { AdaptableModule } from '../../PredefinedConfig/Common/Types';
5
5
  import { TeamSharingImportInfo } from '../../PredefinedConfig/TeamSharingState';
6
6
  import { AdaptableObject } from '../../PredefinedConfig/Common/AdaptableObject';
@@ -142,8 +142,8 @@ export interface IModule {
142
142
  moduleInfo: ModuleInfo;
143
143
  AccessLevel: AccessLevel;
144
144
  createModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined;
145
- createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
146
- createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
145
+ createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<AdaptableColumnMenuItemName>[] | undefined;
146
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<AdaptableContextMenuItemName>[] | undefined;
147
147
  setModuleEntitlement(): void;
148
148
  isModuleAvailable(): boolean;
149
149
  isModuleEditable(): boolean;
@@ -16,8 +16,8 @@ export declare class LayoutModule extends AdaptableModuleBase implements IModule
16
16
  getExplicitlyReferencedColumnIds(layout: Layout): string[];
17
17
  getTeamSharingReferences(adaptableObject: AdaptableObject): TeamSharingReferences;
18
18
  hasNamedQueryReferences(): boolean;
19
- createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
20
- createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
19
+ createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
20
+ createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
21
21
  private createViewPivotItemsMenuItem;
22
22
  getTeamSharingAction(): TeamSharingImportInfo<Layout>;
23
23
  toViewAll(): {
@@ -1,10 +1,10 @@
1
1
  import { AdaptableApi } from '../Api/AdaptableApi';
2
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
2
+ import { ContextMenuContext } from '../PredefinedConfig/Common/Menu';
3
3
  import { AdaptableModuleBase } from './AdaptableModuleBase';
4
4
  import { IModule } from './Interface/IModule';
5
5
  export declare class NoteModule extends AdaptableModuleBase implements IModule {
6
6
  private adaptable;
7
7
  constructor(api: AdaptableApi);
8
8
  isModuleAvailable(): boolean;
9
- createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
9
+ createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemDoClickFunction<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
10
10
  }
@@ -1,6 +1,5 @@
1
1
  import { AdaptableApi } from '../Api/AdaptableApi';
2
2
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
3
- import { AdaptableMenuItem } from '../PredefinedConfig/Common/Menu';
4
3
  import { PlusMinusNudge } from '../PredefinedConfig/PlusMinusState';
5
4
  import { GridCell } from '../PredefinedConfig/Selection/GridCell';
6
5
  import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
@@ -19,7 +18,7 @@ export declare class PlusMinusModule extends AdaptableModuleBase implements IPlu
19
18
  getReferencedNamedQueryNames(plusMinusNudge: PlusMinusNudge): string[];
20
19
  onAdaptableReady(): void;
21
20
  checkListenToKeyDown(): void;
22
- createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
21
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
23
22
  private handleKeyDown;
24
23
  applyPlusMinus(plusMinusNudges: PlusMinusNudge[], cellsToUpdate: GridCell[], direction: 'up' | 'down'): boolean;
25
24
  isPlusMinusNudgeApplied(plusMinusNudge: PlusMinusNudge, gridCell: GridCell): boolean;
@@ -5,7 +5,7 @@ import { AdaptableModuleBase } from './AdaptableModuleBase';
5
5
  import { IModule } from './Interface/IModule';
6
6
  export declare class SettingsPanelModule extends AdaptableModuleBase implements IModule {
7
7
  constructor(api: AdaptableApi);
8
- createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
9
- createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
8
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemDoReduxAction<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
9
+ createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemDoReduxAction<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
10
10
  createModuleMenuItem(source: 'ModuleMenu' | 'ModuleButton'): AdaptableMenuItem | undefined;
11
11
  }
@@ -3,14 +3,15 @@ import { IModuleActionReturn } from './Interface/IModuleActionReturn';
3
3
  import { ISmartEditModule } from './Interface/ISmartEditModule';
4
4
  import { PreviewInfo } from '../Utilities/Interface/Preview';
5
5
  import { CellUpdateRequest } from '../PredefinedConfig/Selection/GridCell';
6
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
6
+ import { MenuItemShowPopup } from '../Utilities/MenuItem';
7
+ import { ContextMenuContext } from '../PredefinedConfig/Common/Menu';
7
8
  import { AdaptableApi } from '../Api/AdaptableApi';
8
9
  import { AccessLevel } from '../PredefinedConfig/Common/Entitlement';
9
10
  import { SmartEditOperation } from '../AdaptableOptions/EditOptions';
10
11
  export declare class SmartEditModule extends AdaptableModuleBase implements ISmartEditModule {
11
12
  constructor(api: AdaptableApi);
12
13
  getViewAccessLevel(): AccessLevel;
13
- createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
14
+ createContextMenuItems(menuContext: ContextMenuContext): MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
14
15
  ApplySmartEdit(cellUpdateRequests: CellUpdateRequest[]): void;
15
16
  CheckCorrectCellSelection(): IModuleActionReturn<boolean>;
16
17
  BuildPreviewValues(smartEditValue: number, smartEditOperation: SmartEditOperation): PreviewInfo;
@@ -14,7 +14,7 @@ export declare class StyledColumnModule extends AdaptableModuleBase implements I
14
14
  }): AdaptableObject[];
15
15
  getExplicitlyReferencedColumnIds(formatColumn: FormatColumn): string[];
16
16
  hasNamedQueryReferences(): boolean;
17
- createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
17
+ createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
18
18
  private getGlyphForStyledColumn;
19
19
  getTeamSharingAction(): TeamSharingImportInfo<StyledColumn>;
20
20
  toView(styledColumn: StyledColumn): AdaptableObjectView;
@@ -117,14 +117,6 @@ export class StyledColumnModule extends AdaptableModuleBase {
117
117
  } }), config: {
118
118
  defaultCurrentSectionName: 'Style',
119
119
  } }));
120
- // returnColumnMenuItems.push({
121
- // name: 'styled-column-parent',
122
- // label: 'Create Styled Column',
123
- // module: this.moduleInfo.ModuleName,
124
- // isVisible: true,
125
- // icon: { name: this.moduleInfo.Glyph },
126
- // subItems: [newGrandientButton, newPercentBarButton, newBadgeButton],
127
- // });
128
120
  returnColumnMenuItems.push(...[newGrandientButton, newPercentBarButton, newBadgeButton]);
129
121
  break;
130
122
  case 'String':
@@ -1,11 +1,11 @@
1
1
  import { AdaptableModuleBase } from './AdaptableModuleBase';
2
- import { AdaptableMenuItem, ContextMenuContext } from '../PredefinedConfig/Common/Menu';
2
+ import { ContextMenuContext } from '../PredefinedConfig/Common/Menu';
3
3
  import { AdaptableColumn } from '../PredefinedConfig/Common/AdaptableColumn';
4
4
  import { AdaptableModuleView, IModule } from './Interface/IModule';
5
5
  import { AdaptableApi } from '../Api/AdaptableApi';
6
6
  export declare class SystemStatusModule extends AdaptableModuleBase implements IModule {
7
7
  constructor(api: AdaptableApi);
8
- createColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
9
- createContextMenuItems(menuContext: ContextMenuContext): AdaptableMenuItem[] | undefined;
8
+ createColumnMenuItems(column: AdaptableColumn): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-group" | "column-filter-bar-hide" | "column-filter-bar-show" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "custom-sort-add" | "custom-sort-edit" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "flashing-cell-add" | "flashing-cell-delete" | "format-column-add" | "format-column-edit" | "free-text-column-edit" | "grid-group" | "grid-info-show" | "layout-column-caption-change" | "layout-column-hide" | "layout-edit" | "layout-column-select" | "layout-column-select-preserve" | "layout-column-select-reset" | "layout-grid-select" | "plus-minus-add" | "settings-panel-open" | "styling-group" | "styled-column-badge-add" | "styled-column-badge-edit" | "styled-column-gradient-add" | "styled-column-gradient-edit" | "styled-column-percent-bar-add" | "styled-column-percent-bar-edit" | "styled-column-sparkline-add" | "styled-column-sparkline-edit" | "system-status-show" | "_navbar">[];
9
+ createContextMenuItems(menuContext: ContextMenuContext): import("../Utilities/MenuItem").MenuItemShowPopup<"calculated-column-edit" | "cell-summary-show" | "column-group" | "column-filter-clear" | "column-filter-suspend" | "column-filter-unsuspend" | "column-info-show" | "dashboard-group" | "dashboard-collapse" | "dashboard-configure" | "dashboard-dock" | "dashboard-expand" | "dashboard-float" | "dashboard-hide" | "dashboard-show" | "data-import" | "grid-group" | "grid-info-show" | "layout-edit" | "settings-panel-open" | "system-status-show" | "menu-group" | "alert-clear" | "bulk-update-apply" | "column-filter-on-cell-value" | "comment-add" | "comment-remove" | "edit-group" | "export-group" | "export-visual-data-excel" | "export-all-data-excel" | "export-all-data-csv" | "export-all-data-clipboard" | "export-all-data-json" | "export-all-data-table" | "export-current-data-excel" | "export-current-data-csv" | "export-current-data-clipboard" | "export-current-data-json" | "export-current-data-table" | "export-selected-cells-excel" | "export-selected-cells-csv" | "export-selected-cells-clipboard" | "export-selected-cells-json" | "export-selected-cells-table" | "export-selected-rows-excel" | "export-selected-rows-csv" | "export-selected-rows-clipboard" | "export-selected-rows-json" | "export-selected-rows-table" | "fdc3-broadcast" | "fdc3-raise-intent" | "flashing-cell-clear" | "flashing-row-clear" | "layout-aggregated-view" | "layout-auto-size" | "layout-clear-selection" | "layout-select-all" | "note-add" | "note-remove" | "smart-edit-apply">[];
10
10
  getViewProperties(): AdaptableModuleView;
11
11
  }
@@ -8,7 +8,9 @@ export class SystemStatusModule extends AdaptableModuleBase {
8
8
  createColumnMenuItems(column) {
9
9
  if (this.isModuleAvailable()) {
10
10
  return [
11
- this.createMenuItemShowPopup('system-status-show', 'Show System Status', this.moduleInfo.Popup, this.moduleInfo.Glyph),
11
+ this.createMenuItemShowPopup('system-status-show', 'Show System Status', this.moduleInfo.Popup, this.moduleInfo.Glyph, {
12
+ source: 'ColumnMenu',
13
+ }),
12
14
  ];
13
15
  }
14
16
  }
@@ -3,27 +3,27 @@ import { ModuleParams } from '../View/Components/SharedProps/ModuleViewPopupProp
3
3
  import { AdaptableMenuItem, AdaptableContextMenuItemName, AdaptableColumnMenuItemName } from '../PredefinedConfig/Common/Menu';
4
4
  import { AdaptableModule } from '../PredefinedConfig/Common/Types';
5
5
  import { AdaptableIcon, AdaptableSystemIconName } from '../PredefinedConfig/Common/AdaptableIcon';
6
- export declare class MenuItemDoReduxAction implements AdaptableMenuItem {
7
- constructor(name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName, label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: AdaptableSystemIconName, isVisible: boolean);
8
- name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName;
6
+ export declare class MenuItemDoReduxAction<MENU_TYPE_NAME = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
7
+ constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, reduxAction: Redux.Action, icon: AdaptableSystemIconName, isVisible: boolean);
8
+ name: MENU_TYPE_NAME;
9
9
  reduxAction: Redux.Action;
10
10
  label: string;
11
11
  module: AdaptableModule;
12
12
  isVisible: boolean;
13
13
  icon: AdaptableIcon;
14
14
  }
15
- export declare class MenuItemDoClickFunction implements AdaptableMenuItem {
16
- constructor(name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName, label: string, module: AdaptableModule, clickFunction: () => void, icon: AdaptableSystemIconName, isVisible: boolean);
17
- name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName;
15
+ export declare class MenuItemDoClickFunction<MENU_TYPE_NAME = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
16
+ constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, clickFunction: () => void, icon: AdaptableSystemIconName, isVisible: boolean);
17
+ name: MENU_TYPE_NAME;
18
18
  onClick: () => void;
19
19
  label: string;
20
20
  module: AdaptableModule;
21
21
  isVisible: boolean;
22
22
  icon: AdaptableIcon;
23
23
  }
24
- export declare class MenuItemShowPopup implements AdaptableMenuItem {
25
- constructor(name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName, label: string, module: AdaptableModule, componentName: string, icon: AdaptableSystemIconName, isVisible: boolean, popupParams?: ModuleParams);
26
- name: AdaptableColumnMenuItemName | AdaptableContextMenuItemName;
24
+ export declare class MenuItemShowPopup<MENU_TYPE_NAME = AdaptableColumnMenuItemName | AdaptableContextMenuItemName> implements AdaptableMenuItem<MENU_TYPE_NAME> {
25
+ constructor(name: MENU_TYPE_NAME, label: string, module: AdaptableModule, componentName: string, icon: AdaptableSystemIconName, isVisible: boolean, popupParams?: ModuleParams);
26
+ name: MENU_TYPE_NAME;
27
27
  reduxAction: Redux.Action;
28
28
  label: string;
29
29
  module: AdaptableModule;
@@ -8,15 +8,19 @@ export declare class RowSummaryService {
8
8
  cachedCellSummary: Map<string, AggregatedScalarLiveValue>;
9
9
  previousRowSummaries: any;
10
10
  previousLayout: Layout | null;
11
- debouncedEvaluateRowSummary: import("lodash").DebouncedFunc<(reason?: {
12
- columnId: string;
13
- }) => void>;
14
11
  constructor(api: AdaptableApi);
15
12
  onAdapterReady(): void;
16
13
  rowSummariesSubscriptions(): void;
14
+ _throttleAcumulatedColumnsThatChanged: Set<string>;
15
+ throttledEvaluateRowSummary(reason?: {
16
+ columnIds: string[];
17
+ }): void;
17
18
  /**
18
19
  *
19
20
  * @param colId optional to evaluate only one column
20
21
  */
22
+ _throttledEvaluateRowSummary: import("lodash").DebouncedFunc<(reason?: {
23
+ columnIds: string[];
24
+ }) => void>;
21
25
  private evaluateRowSummary;
22
26
  }
@@ -5,7 +5,7 @@ import * as ModuleConstants from '../../Utilities/Constants/ModuleConstants';
5
5
  import Helper from '../Helpers/Helper';
6
6
  import { AggregatedScalarLiveValue } from './AggregatedScalarLiveValue';
7
7
  import { isObjectEmpty } from '../Extensions/ObjectExtensions';
8
- import debounce from 'lodash/debounce';
8
+ import throttle from 'lodash/throttle';
9
9
  /**
10
10
  * The logic is extracted here to make it easier to follow
11
11
  */
@@ -13,7 +13,12 @@ export class RowSummaryService {
13
13
  constructor(api) {
14
14
  this.api = api;
15
15
  this.cachedCellSummary = new Map();
16
- this.debouncedEvaluateRowSummary = debounce(this.evaluateRowSummary, 300);
16
+ this._throttleAcumulatedColumnsThatChanged = new Set();
17
+ /**
18
+ *
19
+ * @param colId optional to evaluate only one column
20
+ */
21
+ this._throttledEvaluateRowSummary = throttle(this.evaluateRowSummary, 300);
17
22
  }
18
23
  onAdapterReady() {
19
24
  this.rowSummariesSubscriptions();
@@ -27,17 +32,17 @@ export class RowSummaryService {
27
32
  if (!this.api.layoutApi.internalApi.getLayoutSupportedFeatures().RowSummaries) {
28
33
  return;
29
34
  }
30
- this.debouncedEvaluateRowSummary();
35
+ this.throttledEvaluateRowSummary();
31
36
  this.api.eventApi.on('AdaptableStateReloaded', () => {
32
- this.debouncedEvaluateRowSummary();
37
+ this.throttledEvaluateRowSummary();
33
38
  });
34
39
  this.api.eventApi.on('GridDataChanged', (event) => {
35
- this.debouncedEvaluateRowSummary();
40
+ this.throttledEvaluateRowSummary();
36
41
  });
37
42
  this.api.eventApi.on('CellChanged', (event) => {
38
43
  const columnId = event.cellChange.column.columnId;
39
- this.debouncedEvaluateRowSummary({
40
- columnId,
44
+ this.throttledEvaluateRowSummary({
45
+ columnIds: [columnId],
41
46
  });
42
47
  });
43
48
  this.api.eventApi.on('LayoutChanged', (event) => {
@@ -47,25 +52,34 @@ export class RowSummaryService {
47
52
  }
48
53
  setTimeout(() => {
49
54
  // the timeout is added so the grid has time to repond to the layout changed
50
- this.debouncedEvaluateRowSummary();
55
+ this.throttledEvaluateRowSummary();
51
56
  }, 16);
52
57
  });
53
58
  const adaptable = this.api.internalApi.getAdaptableInstance();
54
59
  adaptable._on('AdapTableFiltersApplied', () => {
55
60
  // we need to use this instead of layout changed
56
61
  // so the rows have time to update
57
- this.debouncedEvaluateRowSummary();
62
+ this.throttledEvaluateRowSummary();
58
63
  });
59
64
  adaptable._on('FirstDataRendered', () => {
60
- this.debouncedEvaluateRowSummary();
65
+ this.throttledEvaluateRowSummary();
61
66
  });
62
67
  }
63
- /**
64
- *
65
- * @param colId optional to evaluate only one column
66
- */
68
+ throttledEvaluateRowSummary(reason) {
69
+ if (reason) {
70
+ reason.columnIds.forEach((col) => this._throttleAcumulatedColumnsThatChanged.add(col));
71
+ }
72
+ this._throttledEvaluateRowSummary(reason);
73
+ }
67
74
  evaluateRowSummary(reason) {
68
75
  var _a;
76
+ if (this._throttleAcumulatedColumnsThatChanged.size > 0) {
77
+ const columnIds = Array.from(this._throttleAcumulatedColumnsThatChanged.values());
78
+ reason = {
79
+ columnIds,
80
+ };
81
+ this._throttleAcumulatedColumnsThatChanged.clear();
82
+ }
69
83
  if (this.api.isDestroyed()) {
70
84
  return;
71
85
  }
@@ -91,7 +105,7 @@ export class RowSummaryService {
91
105
  // refresh all of them
92
106
  expressionLiveValue.refresh();
93
107
  }
94
- else if ('columnId' in reason && reason.columnId === columnId) {
108
+ else if ('columnIds' in reason && reason.columnIds.includes(columnId)) {
95
109
  expressionLiveValue.refresh();
96
110
  }
97
111
  }
@@ -50,7 +50,7 @@ class BulkUpdatePopupComponent extends React.Component {
50
50
  React.createElement(SimpleButton, { disabled: StringExtensions.IsNullOrEmpty(this.props.BulkUpdateValue) ||
51
51
  this.props.PreviewInfo.previewValidationSummary.validationResult == 'All', onClick: () => {
52
52
  this.onApplyClick();
53
- }, variant: "raised", tone: "accent" }, "Apply to Grid")))) : (React.createElement(React.Fragment, null,
53
+ }, variant: "raised", tone: "accent" }, "Apply Bulk Update")))) : (React.createElement(React.Fragment, null,
54
54
  React.createElement(HelpBlock, { marginTop: 2, marginBottom: 2 }, "Select an existing Column value from the dropdown, or enter a new value"),
55
55
  React.createElement(Flex, { marginTop: 2, flexDirection: "row", alignItems: "center" },
56
56
  React.createElement(Flex, { alignItems: "center", flexDirection: "row", flex: 1, marginRight: 2 },
@@ -59,7 +59,7 @@ class BulkUpdatePopupComponent extends React.Component {
59
59
  this.props.PreviewInfo.previewValidationSummary.validationResult == 'All' ||
60
60
  hasDataTypeError, variant: "raised", tone: "accent", marginRight: 2, onClick: () => {
61
61
  this.onApplyClick();
62
- } }, "Apply to Grid"),
62
+ } }, "Apply Bulk Update"),
63
63
  ' ',
64
64
  hasDataTypeError && (React.createElement(AdaptablePopover, { headerText: 'Update Error', bodyText: [dataTypeErrorMessage], MessageType: 'Error' })),
65
65
  StringExtensions.IsNotNullOrEmpty(this.props.BulkUpdateValue) &&
@@ -35,7 +35,10 @@ export const AdaptablePopup = (props) => {
35
35
  let componentName = props.componentName;
36
36
  // ts forces to check for General, there is no menu item General
37
37
  const useFirstItem = !props.componentName;
38
- if (useFirstItem && firstMenuModule !== 'General' && firstMenuModule !== 'CustomSettingsPanel') {
38
+ if (useFirstItem &&
39
+ firstMenuModule !== 'General' &&
40
+ firstMenuModule !== 'CustomSettingsPanel' &&
41
+ firstMenuModule !== 'Group') {
39
42
  componentModule = firstMenuModule;
40
43
  }
41
44
  const customSettingsPanel = (_c = settingsPanelOptions === null || settingsPanelOptions === void 0 ? void 0 : settingsPanelOptions.customSettingsPanels) === null || _c === void 0 ? void 0 : _c.find((customPanel) => useFirstItem ? customPanel.name === firstMenuItem.label : customPanel.name === componentName);
@@ -18,6 +18,7 @@ export const useMenuItems = () => {
18
18
  }
19
19
  const visibleItems = allMenuItems.filter((item) => item.module !== 'General' &&
20
20
  item.module !== 'CustomSettingsPanel' &&
21
+ item.module !== 'Group' &&
21
22
  !STANDALONE_MODULE_POPUPS.includes(item.module) &&
22
23
  item.isVisible);
23
24
  let navItems = navigationItems
@@ -63,7 +63,7 @@ class SmartEditPopupComponent extends React.Component {
63
63
  (this.props.PreviewInfo &&
64
64
  this.props.PreviewInfo.previewValidationSummary.validationResult == 'All'), onClick: () => {
65
65
  this.submit();
66
- }, marginRight: 2 }, "Apply to Grid"),
66
+ }, marginRight: 2 }, "Apply Smart Edit"),
67
67
  ' ',
68
68
  this.props.PreviewInfo &&
69
69
  this.props.PreviewInfo.previewValidationSummary.validationResult != 'None' && (React.createElement(AdaptablePopover, { headerText: 'Validation Error', bodyText: [globalValidationMessage], MessageType: 'Error' }))),
@@ -10,6 +10,7 @@ export declare class AgGridMenuAdapter {
10
10
  destroy(): void;
11
11
  buildColumnMenu(params: GetMainMenuItemsParams, originalGetMainMenuItems: GetMainMenuItems): (string | MenuItemDef)[];
12
12
  buildContextMenu(params: GetContextMenuItemsParams, originalGetContextMenuItems: GetContextMenuItems): (string | MenuItemDef)[];
13
+ private mapAgGridItemTypeToAgGridMenuItem;
13
14
  private removeConsecutiveSeparators;
14
15
  private createColumnMenuContextObject;
15
16
  private createAdaptableContextMenuItems;