@adaptabletools/adaptable-cjs 18.0.0-canary.7 → 18.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 (90) hide show
  1. package/base.css +7 -2
  2. package/base.css.map +1 -1
  3. package/index.css +9 -2
  4. package/index.css.map +1 -1
  5. package/package.json +2 -2
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +8 -1
  7. package/src/AdaptableOptions/AdaptableOptions.d.ts +1 -1
  8. package/src/Api/ConfigApi.d.ts +1 -1
  9. package/src/Api/GridApi.d.ts +4 -0
  10. package/src/Api/Implementation/CommentsApiImpl.d.ts +4 -0
  11. package/src/Api/Implementation/CommentsApiImpl.js +5 -0
  12. package/src/Api/Implementation/ConfigApiImpl.js +6 -3
  13. package/src/Api/Implementation/GridApiImpl.d.ts +1 -0
  14. package/src/Api/Implementation/GridApiImpl.js +13 -0
  15. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -4
  16. package/src/Api/Implementation/LayoutApiImpl.js +15 -14
  17. package/src/Api/Implementation/NotesApiImpl.d.ts +4 -0
  18. package/src/Api/Implementation/NotesApiImpl.js +5 -0
  19. package/src/Api/Implementation/ScopeApiImpl.d.ts +2 -0
  20. package/src/Api/Implementation/ScopeApiImpl.js +20 -7
  21. package/src/Api/Internal/CalculatedColumnInternalApi.js +1 -1
  22. package/src/Api/Internal/CommentsInternalApi.d.ts +4 -0
  23. package/src/Api/Internal/CommentsInternalApi.js +17 -0
  24. package/src/Api/Internal/FormatColumnInternalApi.js +3 -2
  25. package/src/Api/Internal/FreeTextColumnInternalApi.js +1 -1
  26. package/src/Api/Internal/NotesInternalApi.d.ts +4 -0
  27. package/src/Api/Internal/NotesInternalApi.js +17 -0
  28. package/src/Api/LayoutApi.d.ts +11 -8
  29. package/src/Api/ScopeApi.d.ts +10 -0
  30. package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +4 -0
  31. package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
  32. package/src/PredefinedConfig/Common/AdaptableScope.d.ts +4 -1
  33. package/src/PredefinedConfig/Common/RowSummary.d.ts +7 -0
  34. package/src/PredefinedConfig/Common/RowSummary.js +4 -0
  35. package/src/PredefinedConfig/LayoutState.d.ts +5 -0
  36. package/src/PredefinedConfig/SystemState.d.ts +7 -0
  37. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +9 -0
  38. package/src/Redux/ActionsReducers/LayoutRedux.js +22 -1
  39. package/src/Redux/ActionsReducers/SystemRedux.d.ts +5 -0
  40. package/src/Redux/ActionsReducers/SystemRedux.js +16 -3
  41. package/src/Redux/Store/AdaptableStore.js +11 -0
  42. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +2 -2
  43. package/src/Strategy/CellSummaryModule.d.ts +1 -0
  44. package/src/Strategy/CellSummaryModule.js +50 -21
  45. package/src/Strategy/CommentsModule.js +3 -0
  46. package/src/Strategy/LayoutModule.d.ts +7 -0
  47. package/src/Strategy/LayoutModule.js +102 -3
  48. package/src/Strategy/NotesModule.js +3 -4
  49. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.d.ts +2 -1
  50. package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +294 -0
  51. package/src/Utilities/ExpressionFunctions/scalarAggregationHelper.js +1 -1
  52. package/src/Utilities/Extensions/ArrayExtensions.d.ts +2 -0
  53. package/src/Utilities/Extensions/ArrayExtensions.js +6 -1
  54. package/src/Utilities/ObjectFactory.js +6 -6
  55. package/src/Utilities/Services/AggregatedScalarLiveValue.d.ts +3 -2
  56. package/src/Utilities/Services/AggregatedScalarLiveValue.js +11 -8
  57. package/src/Utilities/Services/Interface/IQueryLanguageService.d.ts +1 -1
  58. package/src/Utilities/Services/LicenseService/index.js +10 -5
  59. package/src/Utilities/Services/QueryLanguageService.d.ts +1 -1
  60. package/src/Utilities/Services/QueryLanguageService.js +2 -1
  61. package/src/Utilities/Services/SummaryService.d.ts +19 -0
  62. package/src/Utilities/Services/SummaryService.js +33 -0
  63. package/src/View/AdaptableView.js +1 -1
  64. package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
  65. package/src/View/Components/NewScopeComponent.js +32 -1
  66. package/src/View/Components/Popups/AdaptableToaster.js +1 -1
  67. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +7 -7
  68. package/src/View/Layout/TransposedPopup.js +7 -6
  69. package/src/agGrid/ActionColumnRenderer.js +3 -2
  70. package/src/agGrid/AdaptableAgGrid.d.ts +16 -2
  71. package/src/agGrid/AdaptableAgGrid.js +200 -90
  72. package/src/agGrid/AgGridAdapter.d.ts +1 -0
  73. package/src/agGrid/AgGridAdapter.js +8 -0
  74. package/src/agGrid/AgGridColumnAdapter.js +14 -3
  75. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  76. package/src/components/Datepicker/index.d.ts +1 -1
  77. package/src/components/Input/index.d.ts +1 -1
  78. package/src/components/List/ListGroupItem/index.d.ts +1 -1
  79. package/src/components/icons/index.js +2 -0
  80. package/src/components/icons/rows.d.ts +3 -0
  81. package/src/components/icons/rows.js +7 -0
  82. package/src/env.js +2 -2
  83. package/src/metamodel/adaptable.metamodel.d.ts +8 -0
  84. package/src/metamodel/adaptable.metamodel.js +18 -0
  85. package/src/parser/src/types.d.ts +5 -0
  86. package/tsconfig.cjs.tsbuildinfo +1 -1
  87. package/src/View/Components/ScopeComponent.d.ts +0 -24
  88. package/src/View/Components/ScopeComponent.js +0 -138
  89. package/src/View/Export/Wizard/ReportScopeWizard.d.ts +0 -17
  90. package/src/View/Export/Wizard/ReportScopeWizard.js +0 -52
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SummaryService = exports.summarySupportedExpressions = void 0;
4
+ const AggregatedScalarLiveValue_1 = require("./AggregatedScalarLiveValue");
5
+ exports.summarySupportedExpressions = [
6
+ 'SUM',
7
+ 'AVG',
8
+ 'MIN',
9
+ 'MAX',
10
+ 'COUNT',
11
+ 'MEDIAN',
12
+ 'MODE',
13
+ 'DISTINCT',
14
+ 'ONLY',
15
+ 'STD_DEVIATION',
16
+ ];
17
+ class SummaryService {
18
+ constructor(adaptableApi) {
19
+ this.adaptableApi = adaptableApi;
20
+ }
21
+ evaluateExpressionValue(config, moduleId) {
22
+ return this.evaluateScalarLiveValue(config, moduleId).getGlobalAggregatedValue();
23
+ }
24
+ evaluateScalarLiveValue(config, moduleId) {
25
+ return new AggregatedScalarLiveValue_1.AggregatedScalarLiveValue({
26
+ aggregatedScalarExpression: `${config.expression.function}([${config.columnId}])`,
27
+ }, moduleId, this.adaptableApi, config.getRowNodes);
28
+ }
29
+ destroy() {
30
+ this.adaptableApi = null;
31
+ }
32
+ }
33
+ exports.SummaryService = SummaryService;
@@ -35,7 +35,7 @@ class AdaptableView extends React.Component {
35
35
  , {
36
36
  // we NEEEEED!!!! this containerId, otherwise, toastify will have memory leaks when the adaptable
37
37
  // instance is destroyed and re-created many times
38
- containerId: adaptableOptions.adaptableId, limit: adaptableOptions.notificationsOptions.maxNotifications, closeButton: false, icon: false, theme: "colored" }),
38
+ containerId: `Toastify-${adaptableOptions.adaptableId}`, limit: adaptableOptions.notificationsOptions.maxNotifications, closeButton: false, icon: false, theme: "colored" }),
39
39
  (watermark === null || watermark === void 0 ? void 0 : watermark.show) && React.createElement(License_1.LicenseWatermark, null, watermark === null || watermark === void 0 ? void 0 : watermark.text),
40
40
  React.createElement(WindowPopups_1.WindowPopups, null),
41
41
  React.createElement(FormPopups_1.FormPopups, null),
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { AdaptableInputProps } from '../AdaptableInput';
3
3
  export type AdaptableDateInputProps = AdaptableInputProps;
4
- declare const AdaptableDateInput: React.ForwardRefExoticComponent<Pick<import("../../../components/Input").InputProps, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "p" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "flex" | "wrap" | "open" | "padding" | "multiple" | "disabled" | "checked" | "download" | "list" | "order" | "target" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "opacity" | "value" | "key" | "sizes" | "variant" | "tx" | "as" | "css" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "bg" | "backgroundColor" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "sx" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "step" | "type" | "useMap" | "wmode" | "placehoder"> & React.RefAttributes<HTMLInputElement>>;
4
+ declare const AdaptableDateInput: React.ForwardRefExoticComponent<Pick<import("../../../components/Input").InputProps, "children" | "size" | "name" | "tabIndex" | "color" | "style" | "cite" | "data" | "form" | "label" | "p" | "slot" | "span" | "summary" | "title" | "pattern" | "start" | "hidden" | "content" | "default" | "flex" | "wrap" | "open" | "padding" | "multiple" | "disabled" | "checked" | "download" | "list" | "order" | "target" | "rows" | "src" | "className" | "onTransitionEnd" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEndCapture" | "opacity" | "value" | "key" | "sizes" | "variant" | "tx" | "as" | "css" | "m" | "margin" | "mt" | "marginTop" | "mr" | "marginRight" | "mb" | "marginBottom" | "ml" | "marginLeft" | "mx" | "marginX" | "my" | "marginY" | "pt" | "paddingTop" | "pr" | "paddingRight" | "pb" | "paddingBottom" | "pl" | "paddingLeft" | "px" | "paddingX" | "py" | "paddingY" | "width" | "height" | "minWidth" | "minHeight" | "maxWidth" | "maxHeight" | "display" | "verticalAlign" | "overflow" | "overflowX" | "overflowY" | "fontFamily" | "fontSize" | "fontWeight" | "lineHeight" | "letterSpacing" | "fontStyle" | "textAlign" | "bg" | "backgroundColor" | "alignItems" | "alignContent" | "justifyItems" | "justifyContent" | "flexWrap" | "flexDirection" | "flexGrow" | "flexShrink" | "flexBasis" | "justifySelf" | "alignSelf" | "sx" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoFocus" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "dateTime" | "defer" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "muted" | "nonce" | "noValidate" | "optimum" | "playsInline" | "poster" | "preload" | "readOnly" | "rel" | "required" | "reversed" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "srcDoc" | "srcLang" | "srcSet" | "step" | "type" | "useMap" | "wmode" | "placehoder"> & React.RefAttributes<HTMLInputElement>>;
5
5
  export default AdaptableDateInput;
@@ -85,6 +85,9 @@ const NewScopeComponent = (props) => {
85
85
  if (scopeApi.scopeHasDataType(props.scope)) {
86
86
  return 'DataType';
87
87
  }
88
+ if (scopeApi.scopeHasColumnType(props.scope)) {
89
+ return 'ColumnType';
90
+ }
88
91
  return undefined;
89
92
  };
90
93
  const onScopeSelectChanged = (value) => {
@@ -99,6 +102,11 @@ const NewScopeComponent = (props) => {
99
102
  DataTypes: [],
100
103
  };
101
104
  }
105
+ else if (value == 'ColumnType') {
106
+ newScope = {
107
+ ColumnTypes: [],
108
+ };
109
+ }
102
110
  else {
103
111
  newScope = {
104
112
  All: true,
@@ -134,6 +142,9 @@ const NewScopeComponent = (props) => {
134
142
  if (Array.isArray(props.availableDataTypes)) {
135
143
  dataTypeOptions = props.availableDataTypes.map((dataType) => DATA_TYPES_MAP[dataType]);
136
144
  }
145
+ const hasColumnTypes = React.useMemo(() => {
146
+ return api.optionsApi.getColumnOptions().columnTypes.length > 0;
147
+ }, []);
137
148
  return (React.createElement(Tabs_1.Tabs, { "data-name": 'scope-component', className: "ab-ScopeComponent", value: scopeChoice, style: Object.assign({ height: '100%' }, props.style), onValueChange: onScopeSelectChanged },
138
149
  props.hideWholeRow ? null : (React.createElement(Tabs_1.Tabs.Tab, { value: "Row" },
139
150
  React.createElement(Radio_1.default, { margin: 0, checked: scopeChoice == 'All', tabIndex: -1 }, "All Columns"))),
@@ -141,6 +152,8 @@ const NewScopeComponent = (props) => {
141
152
  React.createElement(Radio_1.default, { margin: 0, value: "Column", checked: scopeChoice == 'Column', tabIndex: -1 }, "Selected Columns"))),
142
153
  !props.disableDataTypes && (React.createElement(Tabs_1.Tabs.Tab, { value: "DataType" },
143
154
  React.createElement(Radio_1.default, { margin: 0, value: "DataType", checked: scopeChoice == 'DataType', tabIndex: -1 }, "Data Types"))),
155
+ hasColumnTypes && (React.createElement(Tabs_1.Tabs.Tab, { value: "ColumnType" },
156
+ React.createElement(Radio_1.default, { margin: 0, value: "ColumnType", checked: scopeChoice == 'ColumnType', tabIndex: -1 }, "Column Types"))),
144
157
  props.hideWholeRow ? null : (React.createElement(Tabs_1.Tabs.Content, { value: "Row", style: { flex: 'none' }, "data-name": "row-scope" },
145
158
  React.createElement(rebass_1.Text, { padding: 2, pl: 0, fontSize: 2 }, props.descriptions.rowScope))),
146
159
  !props.disableColumns && (React.createElement(Tabs_1.Tabs.Content, { value: "Column", style: { flex: 1, overflow: 'auto' }, "data-name": "column-scope", padding: 0 },
@@ -153,6 +166,24 @@ const NewScopeComponent = (props) => {
153
166
  !props.disableDataTypes && (React.createElement(Tabs_1.Tabs.Content, { value: "DataType", style: { flex: 'none' }, "data-name": "datatype-scope" },
154
167
  React.createElement(rebass_1.Box, null,
155
168
  props.descriptions.dataTypeScope && (React.createElement(rebass_1.Text, { p: 2, pl: 0, mb: 2, fontSize: 2 }, props.descriptions.dataTypeScope)),
156
- React.createElement(rebass_1.Flex, { flexDirection: "column" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": dataTypeOption.value, key: dataTypeOption.value, checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label)))))))));
169
+ React.createElement(rebass_1.Flex, { flexDirection: "column" }, dataTypeOptions.map((dataTypeOption) => (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": dataTypeOption.value, key: dataTypeOption.value, checked: dataTypesInScope && dataTypesInScope.includes(dataTypeOption.value), onChange: (checked) => onCheckBoxDataTypeChecked(checked, dataTypeOption.value) }, dataTypeOption.label))))))),
170
+ hasColumnTypes && (React.createElement(Tabs_1.Tabs.Content, { value: "ColumnType", style: { flex: 'none' }, "data-name": "column-type-scope" },
171
+ React.createElement(rebass_1.Box, null,
172
+ React.createElement(rebass_1.Flex, { flexDirection: "column" }, api.optionsApi.getColumnOptions().columnTypes.map((columnType) => {
173
+ var _a;
174
+ return (React.createElement(CheckBox_1.CheckBox, { "data-name": "scope", "data-value": columnType, key: columnType, checked: 'ColumnTypes' in props.scope && ((_a = props.scope.ColumnTypes) === null || _a === void 0 ? void 0 : _a.includes(columnType)), onChange: (checked) => {
175
+ let columnTypes = [].concat(props.scope.ColumnTypes);
176
+ if (checked) {
177
+ columnTypes.push(columnType);
178
+ }
179
+ else {
180
+ columnTypes = columnTypes.filter((ct) => ct !== columnType);
181
+ }
182
+ let newScope = {
183
+ ColumnTypes: columnTypes,
184
+ };
185
+ props.updateScope(newScope);
186
+ } }, columnType));
187
+ })))))));
157
188
  };
158
189
  exports.NewScopeComponent = NewScopeComponent;
@@ -16,7 +16,7 @@ const showToast = (props) => {
16
16
  });
17
17
  const adaptableOptions = props.api.optionsApi.getAdaptableOptions();
18
18
  const toastProps = ObjectFactory_1.default.CreateToastOptions(adaptableOptions.notificationsOptions, {
19
- containerId: adaptableOptions.adaptableId,
19
+ containerId: `Toastify-${adaptableOptions.adaptableId}`,
20
20
  onClose: () => {
21
21
  off();
22
22
  },
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DataChangeHistoryGrid = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- const AdaptableContext_1 = require("../AdaptableContext");
7
6
  const react_1 = require("react");
7
+ const AdaptableContext_1 = require("../AdaptableContext");
8
8
  const usePrevious_1 = tslib_1.__importDefault(require("../../components/utils/usePrevious"));
9
9
  const ModuleConstants_1 = require("../../Utilities/Constants/ModuleConstants");
10
10
  const buildActionColumnButton_1 = require("./buildActionColumnButton");
11
+ const AdaptableAgGrid_1 = require("../../agGrid/AdaptableAgGrid");
11
12
  const DataChangeHistoryGrid = (props) => {
12
13
  const { changeHistoryLog, adaptableContainerId, agGridContainerId, onUndoChange, onClearRow } = props;
13
14
  const mainAdaptableInstance = (0, AdaptableContext_1.useAdaptable)();
@@ -24,13 +25,12 @@ const DataChangeHistoryGrid = (props) => {
24
25
  const gridOptions = buildGridOptions(mainAdaptableInstance, changeHistoryLog);
25
26
  const adaptableOptions = buildAdaptableOptions(mainAdaptableInstance, gridOptions, adaptableContainerId, agGridContainerId, undoChangeEnabled, onUndoChange, onClearRow);
26
27
  const modules = mainAdaptableInstance.getAgGridRegisteredModules();
27
- const agGridConfig = {
28
+ const dataChangeHistoryAdaptableApi = await AdaptableAgGrid_1.AdaptableAgGrid._initInternal({
29
+ variant: 'vanilla',
30
+ adaptableOptions,
28
31
  gridOptions,
29
- modules: modules,
30
- };
31
- // to avoid direct dependency to Adaptable.ts and thus creating a circular dependency;
32
- const adaptableInitFn = Object.getPrototypeOf(mainAdaptableInstance).constructor.init;
33
- const dataChangeHistoryAdaptableApi = await adaptableInitFn(adaptableOptions, agGridConfig);
32
+ modules,
33
+ });
34
34
  setAdaptableApi(dataChangeHistoryAdaptableApi);
35
35
  };
36
36
  initializeAdaptableGrid();
@@ -8,6 +8,7 @@ const FormLayout_1 = tslib_1.__importStar(require("../../components/FormLayout")
8
8
  const Panel_1 = tslib_1.__importDefault(require("../../components/Panel"));
9
9
  const AdaptableContext_1 = require("../AdaptableContext");
10
10
  const ColumnSelector_1 = require("../Components/Selectors/ColumnSelector");
11
+ const AdaptableAgGrid_1 = require("../../agGrid/AdaptableAgGrid");
11
12
  const TransposedPopup = (props) => {
12
13
  const adaptable = (0, AdaptableContext_1.useAdaptable)();
13
14
  const rowNodes = React.useMemo(() => {
@@ -159,14 +160,14 @@ const TransposedPopup = (props) => {
159
160
  sideBar: false,
160
161
  };
161
162
  const modules = adaptable.getAgGridRegisteredModules();
162
- const adaptableInitFn = Object.getPrototypeOf(adaptable).constructor.init;
163
- const agGridConfig = {
164
- gridOptions: agGridOptions,
165
- modules: modules,
166
- };
167
163
  let transposedAdaptableApi;
168
164
  (async () => {
169
- transposedAdaptableApi = await adaptableInitFn(adaptableOptions, agGridConfig);
165
+ transposedAdaptableApi = await AdaptableAgGrid_1.AdaptableAgGrid._initInternal({
166
+ variant: 'vanilla',
167
+ adaptableOptions,
168
+ gridOptions: agGridOptions,
169
+ modules,
170
+ });
170
171
  adaptable.api.eventApi.on('ThemeChanged', (event) => {
171
172
  transposedAdaptableApi.themeApi.loadTheme(typeof event.theme === 'object' ? event.theme.Name : event.theme);
172
173
  });
@@ -9,7 +9,7 @@ const renderWithAdaptableContext_1 = require("../View/renderWithAdaptableContext
9
9
  const ActionButtons = (props) => {
10
10
  const { buttons, adaptableApi, context, rerender } = props;
11
11
  return (React.createElement(React.Fragment, null, buttons.map((button, index) => {
12
- var _a, _b;
12
+ var _a, _b, _c, _d, _e, _f;
13
13
  if (button.hidden && button.hidden(button, context)) {
14
14
  return;
15
15
  }
@@ -31,7 +31,8 @@ const ActionButtons = (props) => {
31
31
  }, 16);
32
32
  };
33
33
  const disabled = button.disabled && button.disabled(button, context);
34
- return (React.createElement(SimpleButton_1.default, { key: button.Uuid, "data-name": `action-button-${index + 1}`, variant: (_a = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.variant) !== null && _a !== void 0 ? _a : 'text', disabled: disabled, tooltip: buttonTooltip, icon: buttonIcon, tone: (_b = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.tone) !== null && _b !== void 0 ? _b : 'none', onClick: handleClick, className: buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.className, accessLevel: 'Full' }, buttonLabel));
34
+ const identifier = (_d = (_c = (_a = button.label) !== null && _a !== void 0 ? _a : (_b = button.icon) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : button.tooltip) !== null && _d !== void 0 ? _d : `${index + 1}`;
35
+ return (React.createElement(SimpleButton_1.default, { key: button.Uuid, "data-name": `action-button-${identifier}`, variant: (_e = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.variant) !== null && _e !== void 0 ? _e : 'text', disabled: disabled, tooltip: buttonTooltip, icon: buttonIcon, tone: (_f = buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.tone) !== null && _f !== void 0 ? _f : 'none', onClick: handleClick, className: buttonStyle === null || buttonStyle === void 0 ? void 0 : buttonStyle.className, accessLevel: 'Full' }, buttonLabel));
35
36
  })));
36
37
  };
37
38
  const ReactActionColumnRenderer = (props) => {
@@ -26,6 +26,7 @@ import { RenderReactRootFn } from '../renderReactRoot';
26
26
  import { AgGridOptionsService } from './AgGridOptionsService';
27
27
  import { AgGridColumnAdapter } from './AgGridColumnAdapter';
28
28
  import { RowEditService } from '../Utilities/Services/RowEditService';
29
+ import { SummaryService } from '../Utilities/Services/SummaryService';
29
30
  export type AdaptableVariant = 'vanilla' | 'react' | 'angular';
30
31
  export type AdaptableLifecycleState = 'initial' | 'preprocessOptions' | 'initAdaptableState' | 'setupAgGrid' | 'initAgGrid' | 'available' | 'ready' | 'preDestroyed';
31
32
  type RenderAgGridFrameworkComponentResult = false | GridApi;
@@ -52,6 +53,11 @@ export declare class AdaptableAgGrid implements IAdaptable {
52
53
  hasAutogeneratedPrimaryKey: boolean;
53
54
  hasAdaptableToolPanel: boolean;
54
55
  private initWithLazyData;
56
+ /**
57
+ * once layouts are properly handled with the new aggrid methods & events
58
+ * we can remove this hack
59
+ */
60
+ private previousAgGridColumnState;
55
61
  _rawAdaptableOptions: AdaptableOptions;
56
62
  adaptableOptions: AdaptableOptions;
57
63
  agGridOptionsService: AgGridOptionsService;
@@ -76,6 +82,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
76
82
  RowEditService: RowEditService;
77
83
  Fdc3Service: Fdc3Service;
78
84
  CellPopupService: CellPopupService;
85
+ SummaryService: SummaryService;
79
86
  private LicenseService;
80
87
  private ChartingService;
81
88
  private ThemeService;
@@ -126,9 +133,10 @@ export declare class AdaptableAgGrid implements IAdaptable {
126
133
  * @private
127
134
  */
128
135
  static _initInternal(config: AdaptableInitInternalConfig): Promise<AdaptableApi>;
136
+ private _initAdaptableAgGrid;
129
137
  private normaliseLayoutState;
130
138
  private normaliseToolPanelState;
131
- private _initAdaptableAgGrid;
139
+ refreshQuickFilter(): void;
132
140
  applyColumnFiltering(): void;
133
141
  applyGridFiltering(): void;
134
142
  private refreshColDefs;
@@ -152,6 +160,8 @@ export declare class AdaptableAgGrid implements IAdaptable {
152
160
  private initAdaptableStore;
153
161
  private mapAdaptableStateToAgGridState;
154
162
  private addGridEventListeners;
163
+ private shouldAutoSizeLayout;
164
+ private autoSizeLayoutIfNeeded;
155
165
  private performAudit;
156
166
  forPlugins(callback: (plugin: AdaptablePlugin) => any): void;
157
167
  getPluginProperty(pluginId: string, propertyName: string, ...args: any): any;
@@ -175,7 +185,9 @@ export declare class AdaptableAgGrid implements IAdaptable {
175
185
  getDisplayValueFromRawValue(rowNode: IRowNode, columnId: string, rawValue: any): string | undefined;
176
186
  private getCleanValue;
177
187
  getNormalisedValueFromRawValue(rawValue: any, column: AdaptableColumn): string | number | boolean | Date | unknown;
178
- updateColumnModelAndRefreshGrid(): void;
188
+ updateColumnModelAndRefreshGrid(config?: {
189
+ skipColDefsRefresh?: boolean;
190
+ }): void;
179
191
  redrawBody(): void;
180
192
  refreshHeader(): void;
181
193
  redrawRows(rowNodes?: IRowNode[]): void;
@@ -333,5 +345,7 @@ export declare class AdaptableAgGrid implements IAdaptable {
333
345
  private restoreUnGroupColumnOrder;
334
346
  private onSortChanged;
335
347
  private getColumnSorts;
348
+ setPinnedRows(pinnedRows: any, location: 'top' | 'bottom'): void;
349
+ setupRowSummaries(): void;
336
350
  }
337
351
  export {};