@adaptabletools/adaptable-cjs 18.0.0-canary.4 → 18.0.0-canary.5

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 (169) hide show
  1. package/agGrid.d.ts +4 -21
  2. package/agGrid.js +5 -21
  3. package/base.css +1 -1
  4. package/base.css.map +1 -1
  5. package/index.css +74 -68
  6. package/index.css.map +1 -1
  7. package/package.json +3 -4
  8. package/src/AdaptableInterfaces/IAdaptable.d.ts +55 -109
  9. package/src/AdaptableOptions/AdaptableOptions.d.ts +6 -0
  10. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +17 -0
  11. package/src/Api/AdaptableApi.d.ts +5 -0
  12. package/src/Api/ColumnFilterApi.d.ts +0 -5
  13. package/src/Api/Events/AdaptableReady.d.ts +3 -3
  14. package/src/Api/Events/GridDataChanged.d.ts +4 -4
  15. package/src/Api/GridApi.d.ts +14 -13
  16. package/src/Api/Implementation/ActionColumnApiImpl.d.ts +2 -0
  17. package/src/Api/Implementation/ActionColumnApiImpl.js +33 -0
  18. package/src/Api/Implementation/AdaptableApiImpl.d.ts +1 -0
  19. package/src/Api/Implementation/AdaptableApiImpl.js +3 -0
  20. package/src/Api/Implementation/ApiBase.d.ts +2 -1
  21. package/src/Api/Implementation/ApiBase.js +3 -0
  22. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +0 -1
  23. package/src/Api/Implementation/ColumnFilterApiImpl.js +0 -10
  24. package/src/Api/Implementation/CommentsApiImpl.js +2 -1
  25. package/src/Api/Implementation/ConfigApiImpl.js +8 -3
  26. package/src/Api/Implementation/GridApiImpl.d.ts +3 -3
  27. package/src/Api/Implementation/GridApiImpl.js +20 -14
  28. package/src/Api/Implementation/StatusBarApiImpl.d.ts +0 -1
  29. package/src/Api/Implementation/StatusBarApiImpl.js +0 -3
  30. package/src/Api/Implementation/ToolPanelApiImpl.js +6 -6
  31. package/src/Api/Internal/ActionRowInternalApi.d.ts +5 -1
  32. package/src/Api/Internal/ActionRowInternalApi.js +107 -0
  33. package/src/Api/Internal/AdaptableInternalApi.d.ts +3 -4
  34. package/src/Api/Internal/AdaptableInternalApi.js +10 -8
  35. package/src/Api/Internal/CalculatedColumnInternalApi.d.ts +2 -0
  36. package/src/Api/Internal/CalculatedColumnInternalApi.js +71 -0
  37. package/src/Api/Internal/ColumnFilterInternalApi.d.ts +1 -0
  38. package/src/Api/Internal/ColumnFilterInternalApi.js +11 -1
  39. package/src/Api/Internal/ColumnInternalApi.d.ts +4 -1
  40. package/src/Api/Internal/ColumnInternalApi.js +12 -0
  41. package/src/Api/Internal/CustomSortInternalApi.d.ts +3 -2
  42. package/src/Api/Internal/CustomSortInternalApi.js +32 -1
  43. package/src/Api/Internal/DataSetInternalApi.js +1 -1
  44. package/src/Api/Internal/FreeTextColumnInternalApi.d.ts +2 -0
  45. package/src/Api/Internal/FreeTextColumnInternalApi.js +60 -0
  46. package/src/Api/Internal/GridFilterInternalApi.js +1 -1
  47. package/src/Api/Internal/GridInternalApi.d.ts +21 -3
  48. package/src/Api/Internal/GridInternalApi.js +126 -7
  49. package/src/Api/Internal/TeamSharingInternalApi.js +1 -1
  50. package/src/EnvVars.d.ts +3 -0
  51. package/src/EnvVars.js +8 -0
  52. package/src/PredefinedConfig/Common/AggregationColumns.d.ts +1 -0
  53. package/src/PredefinedConfig/Common/AggregationColumns.js +5 -1
  54. package/src/Redux/Store/AdaptableStore.d.ts +4 -6
  55. package/src/Redux/Store/AdaptableStore.js +22 -50
  56. package/src/Redux/Store/Interface/IAdaptableStore.d.ts +7 -1
  57. package/src/Strategy/AdaptableModuleBase.d.ts +2 -3
  58. package/src/Strategy/AdaptableModuleBase.js +4 -7
  59. package/src/Strategy/AlertModule.d.ts +1 -2
  60. package/src/Strategy/AlertModule.js +2 -55
  61. package/src/Strategy/CalculatedColumnModule.d.ts +2 -3
  62. package/src/Strategy/CalculatedColumnModule.js +5 -25
  63. package/src/Strategy/ChartingModule.d.ts +0 -1
  64. package/src/Strategy/ChartingModule.js +0 -21
  65. package/src/Strategy/ColumnFilterModule.d.ts +1 -2
  66. package/src/Strategy/ColumnFilterModule.js +1 -64
  67. package/src/Strategy/CommentsModule.d.ts +1 -0
  68. package/src/Strategy/CommentsModule.js +2 -1
  69. package/src/Strategy/CustomSortModule.js +1 -1
  70. package/src/Strategy/DashboardModule.d.ts +1 -2
  71. package/src/Strategy/DashboardModule.js +1 -8
  72. package/src/Strategy/DataChangeHistoryModule.d.ts +1 -0
  73. package/src/Strategy/DataChangeHistoryModule.js +3 -1
  74. package/src/Strategy/DataSetModule.d.ts +1 -1
  75. package/src/Strategy/DataSetModule.js +1 -1
  76. package/src/Strategy/FlashingCellModule.d.ts +1 -2
  77. package/src/Strategy/FlashingCellModule.js +2 -15
  78. package/src/Strategy/FormatColumnModule.d.ts +0 -2
  79. package/src/Strategy/FormatColumnModule.js +0 -47
  80. package/src/Strategy/FreeTextColumnModule.d.ts +0 -1
  81. package/src/Strategy/FreeTextColumnModule.js +0 -30
  82. package/src/Strategy/GridFilterModule.d.ts +0 -1
  83. package/src/Strategy/GridFilterModule.js +0 -37
  84. package/src/Strategy/Interface/IModule.d.ts +0 -1
  85. package/src/Strategy/LayoutModule.d.ts +1 -3
  86. package/src/Strategy/LayoutModule.js +6 -50
  87. package/src/Strategy/NamedQueryModule.d.ts +0 -1
  88. package/src/Strategy/NamedQueryModule.js +0 -19
  89. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  90. package/src/Strategy/PlusMinusModule.js +1 -1
  91. package/src/Strategy/ScheduleModule.d.ts +1 -1
  92. package/src/Strategy/ScheduleModule.js +1 -1
  93. package/src/Strategy/ShortcutModule.d.ts +1 -1
  94. package/src/Strategy/ShortcutModule.js +1 -1
  95. package/src/Strategy/StyledColumnModule.d.ts +0 -1
  96. package/src/Strategy/StyledColumnModule.js +0 -21
  97. package/src/Strategy/TeamSharingModule.d.ts +1 -0
  98. package/src/Strategy/TeamSharingModule.js +5 -5
  99. package/src/Strategy/ToolPanelModule.d.ts +0 -1
  100. package/src/Strategy/ToolPanelModule.js +0 -23
  101. package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
  102. package/src/Utilities/Constants/GeneralConstants.js +3 -2
  103. package/src/Utilities/Helpers/AdaptableHelper.d.ts +0 -3
  104. package/src/Utilities/Helpers/AdaptableHelper.js +1 -60
  105. package/src/Utilities/Services/CellPopupService.js +0 -1
  106. package/src/Utilities/Services/LicenseService/index.d.ts +3 -0
  107. package/src/Utilities/Services/LicenseService/index.js +10 -3
  108. package/src/Utilities/Services/MetamodelService.d.ts +1 -1
  109. package/src/Utilities/Services/MetamodelService.js +6 -3
  110. package/src/Utilities/Services/RowEditService.d.ts +3 -2
  111. package/src/Utilities/Services/RowEditService.js +3 -1
  112. package/src/View/AdaptableView.js +0 -2
  113. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +2 -2
  114. package/src/View/CalculatedColumn/utils.d.ts +1 -1
  115. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  116. package/src/View/Components/Popups/AdaptableLoadingScreen.d.ts +6 -5
  117. package/src/View/Components/Popups/AdaptableLoadingScreen.js +19 -9
  118. package/src/View/CustomSort/CustomSortSummary.js +1 -1
  119. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
  120. package/src/View/GridFilter/GridFilterViewPanel.js +6 -2
  121. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -3
  122. package/src/View/Layout/Wizard/LayoutWizard.js +1 -1
  123. package/src/agGrid/ActionColumnRenderer.js +4 -4
  124. package/src/agGrid/Adaptable.d.ts +3 -455
  125. package/src/agGrid/Adaptable.js +7 -5291
  126. package/src/agGrid/AdaptableAgGrid.d.ts +336 -0
  127. package/src/agGrid/AdaptableAgGrid.js +3785 -0
  128. package/src/agGrid/AdaptableLogger.js +78 -13
  129. package/src/agGrid/AgGridAdapter.d.ts +54 -0
  130. package/src/agGrid/AgGridAdapter.js +554 -0
  131. package/src/agGrid/AgGridColumnAdapter.d.ts +56 -0
  132. package/src/agGrid/AgGridColumnAdapter.js +818 -0
  133. package/src/agGrid/AgGridMenuAdapter.d.ts +28 -0
  134. package/src/agGrid/AgGridMenuAdapter.js +276 -0
  135. package/src/agGrid/AgGridOptionsService.d.ts +11 -0
  136. package/src/agGrid/AgGridOptionsService.js +54 -0
  137. package/src/agGrid/BadgeRenderer.js +1 -1
  138. package/src/agGrid/CheckboxRenderer.js +1 -1
  139. package/src/agGrid/FilterWrapper.d.ts +2 -2
  140. package/src/agGrid/FilterWrapper.js +1 -1
  141. package/src/agGrid/attachAddaptableColumnTypes.d.ts +12 -12
  142. package/src/agGrid/defaultAdaptableOptions.d.ts +3 -0
  143. package/src/{Utilities/Defaults/DefaultAdaptableOptions.js → agGrid/defaultAdaptableOptions.js} +72 -9
  144. package/src/agGrid/editors/AdaptableDateEditor/index.js +2 -2
  145. package/src/agGrid/editors/AdaptableNumberEditor/index.js +2 -2
  146. package/src/components/Datepicker/index.d.ts +1 -1
  147. package/src/components/InfiniteTable/index.js +2 -2
  148. package/src/components/Modal/index.d.ts +1 -0
  149. package/src/components/Modal/index.js +6 -4
  150. package/src/env.js +2 -2
  151. package/src/metamodel/adaptable.metamodel.d.ts +9 -9
  152. package/src/metamodel/adaptable.metamodel.js +7 -0
  153. package/src/migration/AdaptableUpgradeHelper.d.ts +38 -0
  154. package/src/migration/AdaptableUpgradeHelper.js +52 -0
  155. package/src/migration/VersionUpgrade.d.ts +8 -0
  156. package/src/migration/VersionUpgrade.js +15 -0
  157. package/src/migration/VersionUpgrade17.d.ts +18 -0
  158. package/src/migration/VersionUpgrade17.js +347 -0
  159. package/src/migration/VersionUpgrade18.d.ts +5 -0
  160. package/src/migration/VersionUpgrade18.js +10 -0
  161. package/src/types.d.ts +5 -4
  162. package/tsconfig.cjs.tsbuildinfo +1 -1
  163. package/src/Utilities/Defaults/DefaultAdaptableOptions.d.ts +0 -2
  164. package/src/Utilities/Services/Interface/IRowEditService.d.ts +0 -3
  165. package/src/Utilities/Services/Interface/IRowEditService.js +0 -2
  166. package/src/agGrid/agGridHelper.d.ts +0 -57
  167. package/src/agGrid/agGridHelper.js +0 -691
  168. package/src/agGrid/agGridMenuHelper.d.ts +0 -46
  169. package/src/agGrid/agGridMenuHelper.js +0 -673
@@ -15,4 +15,4 @@ export type DatepickerProps = Omit<BoxProps, 'value' | 'onChange' | 'defaultValu
15
15
  showWeekNumber?: boolean;
16
16
  showOutsideDays?: boolean;
17
17
  };
18
- export declare const Datepicker: React.ForwardRefExoticComponent<Pick<DatepickerProps, "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" | "onHide" | "showClearButton" | "datepickerButtons" | "dateProps" | "showWeekNumber" | "showOutsideDays"> & React.RefAttributes<HTMLInputElement>>;
18
+ export declare const Datepicker: React.ForwardRefExoticComponent<Pick<DatepickerProps, "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" | "showClearButton" | "onHide" | "datepickerButtons" | "dateProps" | "showWeekNumber" | "showOutsideDays"> & React.RefAttributes<HTMLInputElement>>;
@@ -5,9 +5,9 @@ const tslib_1 = require("tslib");
5
5
  const infinite_react_1 = require("@infinite-table/infinite-react");
6
6
  Object.defineProperty(exports, "InfiniteTable", { enumerable: true, get: function () { return infinite_react_1.InfiniteTable; } });
7
7
  tslib_1.__exportStar(require("@infinite-table/infinite-react"), exports);
8
- const env_1 = tslib_1.__importDefault(require("../../env"));
8
+ const EnvVars_1 = require("../../EnvVars");
9
9
  const defaultProps = infinite_react_1.InfiniteTable.defaultProps;
10
- defaultProps.licenseKey = env_1.default.INFINITE_TABLE_LICENSE_KEY;
10
+ defaultProps.licenseKey = EnvVars_1.INFINITE_TABLE_LICENSE_KEY;
11
11
  defaultProps.sortable = false;
12
12
  defaultProps.rowHeight = '--ab-grid-row-height';
13
13
  defaultProps.draggableColumns = false;
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { FlexProps } from 'rebass';
3
+ export declare const ensurePortalElement: () => HTMLElement;
3
4
  export interface ModalProps extends FlexProps {
4
5
  isOpen?: boolean;
5
6
  baseZIndex?: number;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Modal = void 0;
3
+ exports.Modal = exports.ensurePortalElement = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
6
  const react_dom_1 = require("react-dom");
@@ -14,17 +14,19 @@ const UIHelper_1 = require("../../View/UIHelper");
14
14
  let portalElement;
15
15
  const ensurePortalElement = () => {
16
16
  if (!(0, UIHelper_1.isBrowserDocumentAvailable)()) {
17
- return;
17
+ return null;
18
18
  }
19
19
  if (portalElement) {
20
- return;
20
+ return portalElement;
21
21
  }
22
22
  portalElement = document.createElement('div');
23
23
  document.body.appendChild(portalElement);
24
+ return portalElement;
24
25
  };
26
+ exports.ensurePortalElement = ensurePortalElement;
25
27
  let globalCounter = 0;
26
28
  const Modal = (props) => {
27
- ensurePortalElement();
29
+ (0, exports.ensurePortalElement)();
28
30
  const { className, style, children, isOpen, onBringToFront } = props, boxProps = tslib_1.__rest(props, ["className", "style", "children", "isOpen", "onBringToFront"]);
29
31
  const uuid = (0, react_1.useMemo)(() => (0, uuid_1.createUuid)(), []);
30
32
  const counter = (0, react_1.useMemo)(() => globalCounter++, [isOpen]);
package/src/env.js CHANGED
@@ -2,6 +2,6 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.default = {
4
4
  INFINITE_TABLE_LICENSE_KEY: "StartDate=2021-06-29|EndDate=2030-01-01|Owner=Adaptable|Type=distribution|TS=1624971462479|C=137829811,1004007071,2756196225,1839832928,3994409405,636616862" || '',
5
- PUBLISH_TIMESTAMP: 1710512556255 || Date.now(),
6
- VERSION: "18.0.0-canary.4" || '--current-version--',
5
+ PUBLISH_TIMESTAMP: 1710513543012 || Date.now(),
6
+ VERSION: "18.0.0-canary.5" || '--current-version--',
7
7
  };
@@ -681,6 +681,15 @@ export declare const ADAPTABLE_METAMODEL: {
681
681
  noCode: string;
682
682
  defVal?: undefined;
683
683
  ref?: undefined;
684
+ } | {
685
+ name: string;
686
+ kind: string;
687
+ desc: string;
688
+ isOpt: boolean;
689
+ defVal: string;
690
+ gridInfo?: undefined;
691
+ noCode?: undefined;
692
+ ref?: undefined;
684
693
  } | {
685
694
  name: string;
686
695
  kind: string;
@@ -735,15 +744,6 @@ export declare const ADAPTABLE_METAMODEL: {
735
744
  gridInfo?: undefined;
736
745
  defVal?: undefined;
737
746
  ref?: undefined;
738
- } | {
739
- name: string;
740
- kind: string;
741
- desc: string;
742
- isOpt: boolean;
743
- defVal: string;
744
- gridInfo?: undefined;
745
- noCode?: undefined;
746
- ref?: undefined;
747
747
  } | {
748
748
  name: string;
749
749
  kind: string;
@@ -1191,6 +1191,13 @@ exports.ADAPTABLE_METAMODEL = {
1191
1191
  "gridInfo": "item",
1192
1192
  "defVal": "false"
1193
1193
  },
1194
+ {
1195
+ "name": "autoMigrateState",
1196
+ "kind": "b",
1197
+ "desc": "Automatically migrate the state from the previous version of Adaptable to the current version.",
1198
+ "isOpt": true,
1199
+ "defVal": "true"
1200
+ },
1194
1201
  {
1195
1202
  "name": "calendarOptions",
1196
1203
  "kind": "R",
@@ -0,0 +1,38 @@
1
+ import { VersionUpgrade } from './VersionUpgrade';
2
+ import { AdaptableState } from '../PredefinedConfig/AdaptableState';
3
+ /**
4
+ * The upgrade config object
5
+ */
6
+ export interface UpgradeConfig {
7
+ /**
8
+ * The version to upgrade from
9
+ */
10
+ fromVersion: number;
11
+ /**
12
+ * The version to upgrade to
13
+ *
14
+ * @defaultValue The current version
15
+ */
16
+ toVersion?: number;
17
+ /**
18
+ * The logger object
19
+ *
20
+ * @defaultValue The console object
21
+ */
22
+ logger?: MigrationLogger;
23
+ }
24
+ export interface MigrationLogger {
25
+ success: (message: string, ...optionalParams: any[]) => void;
26
+ info: (message: string, ...optionalParams: any[]) => void;
27
+ warn: (message: string, ...optionalParams: any[]) => void;
28
+ error: (message: string, ...optionalParams: any[]) => void;
29
+ }
30
+ export declare class AdaptableUpgradeHelper {
31
+ protected currentMajorVersion: number;
32
+ protected versionUpgrades: Map<number, VersionUpgrade>;
33
+ protected logger: MigrationLogger;
34
+ private constructor();
35
+ static migrateAdaptableState(state: AdaptableState, config: UpgradeConfig): AdaptableState;
36
+ private getCurrentMajorVersion;
37
+ private getConsoleLogger;
38
+ }
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdaptableUpgradeHelper = void 0;
4
+ const VersionUpgrade17_1 = require("./VersionUpgrade17");
5
+ const VersionUpgrade18_1 = require("./VersionUpgrade18");
6
+ const EnvVars_1 = require("../EnvVars");
7
+ class AdaptableUpgradeHelper {
8
+ constructor(logger) {
9
+ this.currentMajorVersion = this.getCurrentMajorVersion(EnvVars_1.ADAPTABLE_VERSION);
10
+ this.logger = logger || this.getConsoleLogger();
11
+ this.versionUpgrades = new Map();
12
+ this.versionUpgrades.set(17, new VersionUpgrade17_1.VersionUpgrade17(this.logger));
13
+ this.versionUpgrades.set(18, new VersionUpgrade18_1.VersionUpgrade18(this.logger));
14
+ }
15
+ static migrateAdaptableState(state, config) {
16
+ const upgradeHelper = new AdaptableUpgradeHelper(config.logger);
17
+ let fromVersion = (config === null || config === void 0 ? void 0 : config.fromVersion) || 16;
18
+ const toVersion = (config === null || config === void 0 ? void 0 : config.toVersion) || upgradeHelper.currentMajorVersion;
19
+ if (fromVersion >= toVersion) {
20
+ console.warn(`The fromVersion (${fromVersion}) should be less than toVersion (${toVersion})!`);
21
+ return state;
22
+ }
23
+ if (fromVersion < 16) {
24
+ // until version 16 we didn't have versioning
25
+ fromVersion = 16;
26
+ }
27
+ const versionUpgrades = Array.from(upgradeHelper.versionUpgrades.keys());
28
+ let updatedState = structuredClone(state);
29
+ for (const version of versionUpgrades) {
30
+ if (version > fromVersion && version <= toVersion) {
31
+ upgradeHelper.logger.info(`Migration to ${version} started...`);
32
+ updatedState = upgradeHelper.versionUpgrades.get(version).migrateState(updatedState);
33
+ upgradeHelper.logger.info(`Migration to ${version} finished!`);
34
+ }
35
+ }
36
+ return updatedState;
37
+ }
38
+ getCurrentMajorVersion(version) {
39
+ // is good enough for now, we just need to make sure we don't forget to update it
40
+ // TODO AFL is there a better way to do this for local development?
41
+ return parseInt(version.split('.')[0]) || 18;
42
+ }
43
+ getConsoleLogger() {
44
+ return {
45
+ success: console.log,
46
+ info: console.info,
47
+ warn: console.warn,
48
+ error: console.error,
49
+ };
50
+ }
51
+ }
52
+ exports.AdaptableUpgradeHelper = AdaptableUpgradeHelper;
@@ -0,0 +1,8 @@
1
+ import { AdaptableState } from '../PredefinedConfig/AdaptableState';
2
+ import { MigrationLogger } from './AdaptableUpgradeHelper';
3
+ export declare abstract class VersionUpgrade {
4
+ protected logger: MigrationLogger;
5
+ constructor(logger: MigrationLogger);
6
+ abstract migrateState(state: AdaptableState): AdaptableState;
7
+ protected migrateStateWithMethods(state: AdaptableState, methods: ((state: AdaptableState) => AdaptableState)[]): AdaptableState;
8
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VersionUpgrade = void 0;
4
+ class VersionUpgrade {
5
+ constructor(logger) {
6
+ this.logger = logger;
7
+ }
8
+ migrateStateWithMethods(state, methods) {
9
+ for (let method of methods) {
10
+ state = method.call(this, state);
11
+ }
12
+ return state;
13
+ }
14
+ }
15
+ exports.VersionUpgrade = VersionUpgrade;
@@ -0,0 +1,18 @@
1
+ import { VersionUpgrade } from './VersionUpgrade';
2
+ import { AdaptableState } from '../PredefinedConfig/AdaptableState';
3
+ export declare class VersionUpgrade17 extends VersionUpgrade {
4
+ migrateState(state: AdaptableState): AdaptableState;
5
+ private migrateChartingState;
6
+ private migrateColumnFilterState;
7
+ private migrateDashboardState;
8
+ private migrateFlashinCellState;
9
+ private migrateFormatColumnState;
10
+ private migrateFreeTextColumnState;
11
+ private migrateGridFilterState;
12
+ private migrateNamedQueryState;
13
+ private migrateStyledColumnState;
14
+ private migrateToolPanelState;
15
+ private migrateAlertState;
16
+ private migrateCalculatedColumnState;
17
+ private migrateUserState;
18
+ }
@@ -0,0 +1,347 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VersionUpgrade17 = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const VersionUpgrade_1 = require("./VersionUpgrade");
6
+ const updateSingleToMultiplePredicates_1 = require("../Strategy/Utilities/updateSingleToMultiplePredicates");
7
+ const ArrayExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/ArrayExtensions"));
8
+ const ObjectFactory_1 = tslib_1.__importDefault(require("../Utilities/ObjectFactory"));
9
+ const StringExtensions_1 = tslib_1.__importDefault(require("../Utilities/Extensions/StringExtensions"));
10
+ class VersionUpgrade17 extends VersionUpgrade_1.VersionUpgrade {
11
+ migrateState(state) {
12
+ return this.migrateStateWithMethods(state, [
13
+ this.migrateCalculatedColumnState,
14
+ this.migrateAlertState,
15
+ this.migrateToolPanelState,
16
+ this.migrateStyledColumnState,
17
+ this.migrateNamedQueryState,
18
+ this.migrateGridFilterState,
19
+ this.migrateFreeTextColumnState,
20
+ this.migrateFormatColumnState,
21
+ this.migrateFlashinCellState,
22
+ this.migrateDashboardState,
23
+ this.migrateColumnFilterState,
24
+ this.migrateChartingState,
25
+ ]);
26
+ }
27
+ migrateChartingState(state) {
28
+ var _a;
29
+ // const allChartDefinitions = this.api.chartingApi.getChartDefinitions();
30
+ const allChartDefinitions = (_a = state.Charting) === null || _a === void 0 ? void 0 : _a.ChartDefinitions;
31
+ if (Array.isArray(allChartDefinitions)) {
32
+ allChartDefinitions
33
+ .filter((chartDefinition) => 'model' in chartDefinition || !('Name' in chartDefinition))
34
+ .forEach((charDefinition) => {
35
+ if ('model' in charDefinition) {
36
+ charDefinition.Model = charDefinition.model;
37
+ delete charDefinition.model;
38
+ }
39
+ if (!('Name' in charDefinition)) {
40
+ // default to chartId
41
+ // @ts-ignore possible because First iteration had no 'Name' and model was under 'model' key (lowercase)
42
+ charDefinition.Name = charDefinition.Model.chartId;
43
+ }
44
+ });
45
+ }
46
+ return state;
47
+ }
48
+ migrateColumnFilterState(state) {
49
+ var _a, _b, _c, _d, _e;
50
+ // Update Module Buttons
51
+ const moduleButtons = (_a = state.Dashboard) === null || _a === void 0 ? void 0 : _a.ModuleButtons;
52
+ if ((moduleButtons === null || moduleButtons === void 0 ? void 0 : moduleButtons.length) && !moduleButtons.includes('ColumnFilter')) {
53
+ const dashboardState = (_b = state.Dashboard) !== null && _b !== void 0 ? _b : {};
54
+ dashboardState.ModuleButtons = moduleButtons.map((moduleButton) => {
55
+ if (moduleButton == 'Filter') {
56
+ return 'ColumnFilter';
57
+ }
58
+ return moduleButton;
59
+ });
60
+ }
61
+ // Update Toolbars
62
+ const tabs = (_c = state.Dashboard) === null || _c === void 0 ? void 0 : _c.Tabs;
63
+ if (Array.isArray(tabs)) {
64
+ state.Dashboard.Tabs = tabs.map((tab) => {
65
+ if (tab.Toolbars.includes('Filter') &&
66
+ !tab.Toolbars.includes('ColumnFilter')) {
67
+ return Object.assign(Object.assign({}, tab), {
68
+ // replace with 'GridFilter'
69
+ Toolbars: tab.Toolbars.map((t) => (t == 'Filter' ? 'ColumnFilter' : t)) });
70
+ }
71
+ return tab;
72
+ });
73
+ }
74
+ // - move pinned toolbars
75
+ const pinnedToolbars = (_d = state.Dashboard) === null || _d === void 0 ? void 0 : _d.PinnedToolbars;
76
+ if (pinnedToolbars && !(pinnedToolbars === null || pinnedToolbars === void 0 ? void 0 : pinnedToolbars.includes('ColumnFilter'))) {
77
+ state.Dashboard.PinnedToolbars = pinnedToolbars.map((pinnedToolbar) => {
78
+ if (pinnedToolbar == 'Filter') {
79
+ return 'ColumnFilter';
80
+ }
81
+ return pinnedToolbar;
82
+ });
83
+ }
84
+ // Update Status Bar
85
+ const statusBars = (_e = state.StatusBar) === null || _e === void 0 ? void 0 : _e.StatusBars;
86
+ if (statusBars) {
87
+ state.StatusBar.StatusBars = statusBars.map((panel) => {
88
+ return Object.assign(Object.assign({}, panel), { StatusBarPanels: panel.StatusBarPanels.map((panel) => {
89
+ if (panel === 'Filter') {
90
+ return 'ColumnFilter';
91
+ }
92
+ return panel;
93
+ }) });
94
+ });
95
+ }
96
+ return state;
97
+ }
98
+ migrateDashboardState(state) {
99
+ // let dashboardState: any = this.api.dashboardApi.getDashboardState();
100
+ let dashboardState = state.Dashboard;
101
+ if (dashboardState === null || dashboardState === void 0 ? void 0 : dashboardState.VisibleButtons) {
102
+ this.logger.warn(`Updating Obsolete VisibleButtons Config for DashboardState: [${dashboardState.VisibleButtons}]`);
103
+ state.Dashboard.ModuleButtons = [
104
+ ...state.Dashboard.ModuleButtons,
105
+ ...dashboardState.VisibleButtons,
106
+ ];
107
+ //@ts-ignore delete as no longer needed
108
+ delete state.Dashboard.VisibleButtons;
109
+ }
110
+ return state;
111
+ }
112
+ migrateFlashinCellState(state) {
113
+ const flashingCellState = state.FlashingCell;
114
+ if (Array.isArray(flashingCellState === null || flashingCellState === void 0 ? void 0 : flashingCellState.FlashingCellDefinitions)) {
115
+ flashingCellState.FlashingCellDefinitions.forEach((flashingCellDefinition) => {
116
+ if (flashingCellDefinition.Rule && 'Predicate' in flashingCellDefinition.Rule) {
117
+ (0, updateSingleToMultiplePredicates_1.updateSingleToMultiplePredicates)(flashingCellDefinition.Rule);
118
+ }
119
+ });
120
+ }
121
+ return state;
122
+ }
123
+ migrateFormatColumnState(state) {
124
+ var _a, _b, _c, _d;
125
+ // const formatColumns = this.api.formatColumnApi.getFormatColumns();
126
+ const formatColumns = ((_a = state.FormatColumn) === null || _a === void 0 ? void 0 : _a.FormatColumns) || [];
127
+ formatColumns.forEach((formatColumn) => {
128
+ if (formatColumn.Rule && 'Predicate' in formatColumn.Rule) {
129
+ //@ts-ignore ignore
130
+ (0, updateSingleToMultiplePredicates_1.updateSingleToMultiplePredicates)(formatColumn.Rule);
131
+ }
132
+ });
133
+ // update ConditionalStyle StatusBarPanel
134
+ // const oldStatusBars = this.api.internalApi.getState().StatusBar.StatusBars;
135
+ const statusBars = ((_b = state.StatusBar) === null || _b === void 0 ? void 0 : _b.StatusBars) || [];
136
+ let replaceConditionalStyleStatusBar = false;
137
+ statusBars.forEach((statusBar) => (Object.assign(Object.assign({}, statusBar), { StatusBarPanels: [
138
+ ...new Set(statusBar.StatusBarPanels.map((statusBarPanel) => {
139
+ if (statusBarPanel === 'ConditionalStyle') {
140
+ replaceConditionalStyleStatusBar = true;
141
+ return 'FormatColumn';
142
+ }
143
+ return statusBarPanel;
144
+ })),
145
+ ] })));
146
+ // update ConditionalStyle dashboard buttons
147
+ // const dashboardModuleButtons = this.api.internalApi.getState().Dashboard.ModuleButtons as any;
148
+ const dashboardModuleButtons = (_c = state.Dashboard) === null || _c === void 0 ? void 0 : _c.ModuleButtons;
149
+ if (dashboardModuleButtons && dashboardModuleButtons.includes('ConditionalStyle')) {
150
+ dashboardModuleButtons[dashboardModuleButtons.indexOf('ConditionalStyle')] = 'FormatColumn';
151
+ }
152
+ // update ConditionalStyle toolPanel buttons
153
+ // const toolPanelModuleButtons = this.api.internalApi.getState().ToolPanel.ModuleButtons as any;
154
+ const toolPanelModuleButtons = (_d = state.ToolPanel) === null || _d === void 0 ? void 0 : _d.ModuleButtons;
155
+ if (toolPanelModuleButtons && toolPanelModuleButtons.includes('ConditionalStyle')) {
156
+ toolPanelModuleButtons[toolPanelModuleButtons.indexOf('ConditionalStyle')] = 'FormatColumn';
157
+ }
158
+ return state;
159
+ }
160
+ migrateFreeTextColumnState(state) {
161
+ var _a;
162
+ // make sure all default to type string
163
+ const allFreeTextColumns = ((_a = state.FreeTextColumn) === null || _a === void 0 ? void 0 : _a.FreeTextColumns) || [];
164
+ for (const freeTextColumn of allFreeTextColumns) {
165
+ const unTypedCol = freeTextColumn;
166
+ if (unTypedCol.DataType) {
167
+ const dataType = unTypedCol.DataType;
168
+ delete unTypedCol['DataType'];
169
+ if (!freeTextColumn.FreeTextColumnSettings) {
170
+ freeTextColumn.FreeTextColumnSettings = {
171
+ DataType: dataType,
172
+ };
173
+ }
174
+ else {
175
+ freeTextColumn.FreeTextColumnSettings.DataType = dataType;
176
+ }
177
+ }
178
+ if (!freeTextColumn.FreeTextColumnSettings) {
179
+ freeTextColumn.FreeTextColumnSettings = {
180
+ DataType: 'String',
181
+ };
182
+ }
183
+ if (!freeTextColumn.FreeTextColumnSettings.DataType) {
184
+ freeTextColumn.FreeTextColumnSettings.DataType = 'String';
185
+ }
186
+ }
187
+ return state;
188
+ }
189
+ migrateGridFilterState(state) {
190
+ var _a, _b;
191
+ const oldQueryState = state.Query;
192
+ if (!oldQueryState) {
193
+ return state;
194
+ }
195
+ // - move query to current layout
196
+ const expression = oldQueryState.CurrentQuery;
197
+ const currentLayout = (_a = state.Layout.Layouts) === null || _a === void 0 ? void 0 : _a.find((l) => l.Name === state.Layout.CurrentLayout);
198
+ const currentGridFilter = currentLayout === null || currentLayout === void 0 ? void 0 : currentLayout.GridFilter;
199
+ const currentGridFilterExpression = currentGridFilter && !currentGridFilter.IsSuspended ? currentGridFilter.Expression || '' : '';
200
+ if (expression && StringExtensions_1.default.IsNullOrEmpty(currentGridFilterExpression)) {
201
+ currentLayout.GridFilter = Object.assign(Object.assign({}, currentGridFilter), { Expression: expression });
202
+ }
203
+ // - move dashboard/toolbar
204
+ (_b = state.Dashboard.Tabs) === null || _b === void 0 ? void 0 : _b.forEach((tab) => {
205
+ if (tab.Toolbars.includes('Query')) {
206
+ tab.Toolbars = tab.Toolbars.map((t) => (t == 'Query' ? 'GridFilter' : t));
207
+ }
208
+ });
209
+ // - move pinned toolbars
210
+ let updatePinnedToolbars = false;
211
+ if (state.Dashboard.PinnedToolbars) {
212
+ state.Dashboard.PinnedToolbars = state.Dashboard.PinnedToolbars.map((pinnedToolbar) => {
213
+ if (pinnedToolbar == 'Query') {
214
+ return 'GridFilter';
215
+ }
216
+ return pinnedToolbar;
217
+ });
218
+ }
219
+ return state;
220
+ }
221
+ migrateNamedQueryState(state) {
222
+ // - move named queries from old Query State to this Module
223
+ // Note: GridFilter Module moves the "old" CurrentQuery into Layout
224
+ // const oldQueryState: QueryState = this.api.internalApi.getAdaptableState().Query;
225
+ const oldQueryState = state.Query;
226
+ const oldNamedQueries = oldQueryState === null || oldQueryState === void 0 ? void 0 : oldQueryState.NamedQueries;
227
+ if (ArrayExtensions_1.default.IsNotNullOrEmpty(oldNamedQueries)) {
228
+ const currentNamedQueries = state.NamedQuery.NamedQueries;
229
+ oldNamedQueries.forEach((oldNamedQuery) => {
230
+ var _a, _b;
231
+ const currentQuery = currentNamedQueries.find((q) => q.Name === oldNamedQuery.Name);
232
+ if (!currentQuery) {
233
+ (_b = (_a = state.NamedQuery) === null || _a === void 0 ? void 0 : _a.NamedQueries) === null || _b === void 0 ? void 0 : _b.push(oldNamedQuery);
234
+ }
235
+ });
236
+ }
237
+ if (oldQueryState) {
238
+ delete state.Query;
239
+ }
240
+ return state;
241
+ }
242
+ migrateStyledColumnState(state) {
243
+ var _a, _b, _c, _d;
244
+ var _e;
245
+ const formatColumnsWithColumnStyles = ((_b = (_a = state.FormatColumn) === null || _a === void 0 ? void 0 : _a.FormatColumns) === null || _b === void 0 ? void 0 : _b.filter((fc) => fc.ColumnStyle)) || [];
246
+ if (!formatColumnsWithColumnStyles.length) {
247
+ return state;
248
+ }
249
+ this.logger.info(`Converting ${formatColumnsWithColumnStyles.length} FormatColumns Styles to Styled Columns`, formatColumnsWithColumnStyles);
250
+ // delete the format columns with column styles
251
+ state.FormatColumn.FormatColumns = (_c = state.FormatColumn.FormatColumns) === null || _c === void 0 ? void 0 : _c.filter((fc) => !fc.ColumnStyle);
252
+ const styledColumns = formatColumnsWithColumnStyles
253
+ .map((formatColumn) => {
254
+ if (!('ColumnIds' in formatColumn.Scope)) {
255
+ return null;
256
+ }
257
+ return Object.assign(Object.assign(Object.assign({}, ObjectFactory_1.default.CreateEmptyStyledColumn()), { ColumnId: formatColumn.Scope.ColumnIds[0] }), formatColumn.ColumnStyle);
258
+ })
259
+ .filter(Boolean);
260
+ (_d = (_e = state.StyledColumn).StyledColumns) !== null && _d !== void 0 ? _d : (_e.StyledColumns = []);
261
+ styledColumns.forEach((styledColumn) => {
262
+ state.StyledColumn.StyledColumns.push(styledColumn);
263
+ });
264
+ return state;
265
+ }
266
+ migrateToolPanelState(state) {
267
+ var _a;
268
+ // const deprecatedToolPanelConfigs: AdaptableToolPanels | undefined = (
269
+ // this.api.toolPanelApi.getToolPanelState() as any
270
+ // ).VisibleToolPanels;
271
+ const deprecatedToolPanelConfigs = (_a = state.ToolPanel) === null || _a === void 0 ? void 0 : _a.VisibleToolPanels;
272
+ if (deprecatedToolPanelConfigs === null || deprecatedToolPanelConfigs === void 0 ? void 0 : deprecatedToolPanelConfigs.length) {
273
+ this.logger.warn(`Updating Obsolete VisibleToolPanels Config for ToolPanelState: [${deprecatedToolPanelConfigs}]`);
274
+ const migratedToolPanelConfigs = deprecatedToolPanelConfigs.map((toolPanel) => ({
275
+ Name: toolPanel,
276
+ State: 'collapsed',
277
+ }));
278
+ state.ToolPanel.ToolPanels = migratedToolPanelConfigs;
279
+ }
280
+ return state;
281
+ }
282
+ migrateAlertState(state) {
283
+ var _a, _b, _c, _d, _e;
284
+ (_b = (_a = state.Alert) === null || _a === void 0 ? void 0 : _a.AlertDefinitions) === null || _b === void 0 ? void 0 : _b.forEach((alertDefinition) => {
285
+ if (alertDefinition.Rule && 'Predicate' in alertDefinition.Rule) {
286
+ (0, updateSingleToMultiplePredicates_1.updateSingleToMultiplePredicates)(alertDefinition.Rule);
287
+ }
288
+ });
289
+ const alertState = state.Alert;
290
+ if (ArrayExtensions_1.default.IsEmpty((_c = state.FlashingCell) === null || _c === void 0 ? void 0 : _c.FlashingCellDefinitions) &&
291
+ ArrayExtensions_1.default.IsNotNullOrEmpty(alertState === null || alertState === void 0 ? void 0 : alertState.FlashingAlertDefinitions)) {
292
+ state.FlashingCell.FlashingCellDefinitions = alertState.FlashingAlertDefinitions;
293
+ //@ts-ignore delete as no longer needed
294
+ delete state.Alert.FlashingAlertDefinitions;
295
+ }
296
+ (_e = (_d = state.Alert) === null || _d === void 0 ? void 0 : _d.AlertDefinitions) === null || _e === void 0 ? void 0 : _e.forEach((alertDefinition) => {
297
+ // if ShowPopup then change to DisplayNotificate
298
+ if (alertDefinition.AlertProperties &&
299
+ alertDefinition.AlertProperties.ShowPopup &&
300
+ alertDefinition.AlertProperties.ShowPopup == true &&
301
+ !alertDefinition.AlertProperties.DisplayNotification) {
302
+ alertDefinition.AlertProperties.DisplayNotification = true;
303
+ alertDefinition.AlertProperties.ShowPopup = undefined;
304
+ }
305
+ // if no rule but a predicate then use that
306
+ if (!alertDefinition.Rule) {
307
+ if (alertDefinition.Predicate && alertDefinition.Predicate != undefined) {
308
+ const predicate = alertDefinition.Predicate;
309
+ alertDefinition.Rule = {
310
+ Predicate: predicate,
311
+ };
312
+ alertDefinition.Predicate = undefined;
313
+ }
314
+ }
315
+ else {
316
+ //migrate alert definitions with `AggregationExpression` (now `AggregatedBooleanExpression`)
317
+ const obsoleteAggregationExpression = alertDefinition.Rule['AggregationExpression'];
318
+ if (obsoleteAggregationExpression) {
319
+ alertDefinition.Rule.AggregatedBooleanExpression = obsoleteAggregationExpression;
320
+ }
321
+ }
322
+ });
323
+ return state;
324
+ }
325
+ migrateCalculatedColumnState(state) {
326
+ var _a, _b;
327
+ (_b = (_a = state.CalculatedColumn) === null || _a === void 0 ? void 0 : _a.CalculatedColumns) === null || _b === void 0 ? void 0 : _b.forEach((cc) => {
328
+ if (cc.ColumnExpression && !cc.Query) {
329
+ cc.Query = {
330
+ ScalarExpression: cc.ColumnExpression,
331
+ };
332
+ cc.ColumnExpression = undefined;
333
+ }
334
+ if (!cc.CalculatedColumnSettings) {
335
+ cc.CalculatedColumnSettings = {
336
+ DataType: 'Number',
337
+ };
338
+ this.logger.warn(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
339
+ }
340
+ });
341
+ return state;
342
+ }
343
+ migrateUserState(state) {
344
+ return state;
345
+ }
346
+ }
347
+ exports.VersionUpgrade17 = VersionUpgrade17;
@@ -0,0 +1,5 @@
1
+ import { VersionUpgrade } from './VersionUpgrade';
2
+ import { AdaptableState } from '../PredefinedConfig/AdaptableState';
3
+ export declare class VersionUpgrade18 extends VersionUpgrade {
4
+ migrateState(state: AdaptableState): AdaptableState;
5
+ }