@adaptabletools/adaptable-cjs 20.0.0-canary.3 → 20.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 (56) hide show
  1. package/package.json +1 -1
  2. package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -1
  3. package/src/AdaptableOptions/CellSummaryOptions.d.ts +1 -1
  4. package/src/AdaptableOptions/ContainerOptions.d.ts +0 -7
  5. package/src/AdaptableOptions/DefaultAdaptableOptions.js +1 -1
  6. package/src/AdaptableOptions/EditOptions.d.ts +14 -3
  7. package/src/AdaptableOptions/ExportOptions.d.ts +4 -18
  8. package/src/AdaptableOptions/PredicateOptions.d.ts +4 -4
  9. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +7 -0
  10. package/src/Api/Implementation/AdaptableApiImpl.js +1 -0
  11. package/src/Api/Implementation/ExportApiImpl.js +3 -2
  12. package/src/Api/Implementation/ScheduleApiImpl.js +1 -1
  13. package/src/Api/Implementation/StyledColumnApiImpl.js +1 -1
  14. package/src/Api/Implementation/ThemeApiImpl.js +3 -1
  15. package/src/Api/Internal/EventInternalApi.js +6 -1
  16. package/src/Api/Internal/ExportInternalApi.js +1 -1
  17. package/src/Api/Internal/RowFormInternalApi.js +1 -1
  18. package/src/Api/ThemeApi.d.ts +2 -0
  19. package/src/PredefinedConfig/AlertState.d.ts +1 -1
  20. package/src/PredefinedConfig/Common/AdaptableColumnContext.d.ts +1 -1
  21. package/src/PredefinedConfig/Common/AdaptablePredicate.js +0 -16
  22. package/src/PredefinedConfig/ExportState.d.ts +3 -3
  23. package/src/PredefinedConfig/FlashingCellState.d.ts +1 -1
  24. package/src/PredefinedConfig/LayoutState.d.ts +16 -16
  25. package/src/PredefinedConfig/StyledColumnState.d.ts +1 -1
  26. package/src/Strategy/StyledColumnModule.js +6 -6
  27. package/src/Utilities/ObjectFactory.js +1 -0
  28. package/src/Utilities/Services/ThemeService.d.ts +1 -1
  29. package/src/Utilities/Services/ThemeService.js +5 -5
  30. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +4 -1
  31. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -2
  32. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.d.ts +2 -0
  33. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +18 -2
  34. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +4 -0
  35. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +2 -1
  36. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +3 -4
  37. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +348 -191
  38. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +2 -2
  39. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
  40. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
  41. package/src/agGrid/AdaptableAgGrid.d.ts +3 -8
  42. package/src/agGrid/AdaptableAgGrid.js +34 -115
  43. package/src/agGrid/AgGridAdapter.d.ts +1 -1
  44. package/src/agGrid/AgGridAdapter.js +4 -5
  45. package/src/agGrid/AgGridColumnAdapter.js +5 -7
  46. package/src/agGrid/AgGridThemeAdapter.d.ts +19 -0
  47. package/src/agGrid/AgGridThemeAdapter.js +126 -0
  48. package/src/components/ColorPicker/ColorPicker.js +2 -2
  49. package/src/components/OverlayTrigger/useAgGridClassName.js +1 -1
  50. package/src/env.js +2 -2
  51. package/src/metamodel/adaptable.metamodel.d.ts +16 -15
  52. package/src/metamodel/adaptable.metamodel.js +1 -1
  53. package/src/migration/VersionUpgrade20.d.ts +1 -0
  54. package/src/migration/VersionUpgrade20.js +69 -0
  55. package/src/types.d.ts +1 -1
  56. package/tsconfig.cjs.tsbuildinfo +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable-cjs",
3
- "version": "20.0.0-canary.3",
3
+ "version": "20.0.0-canary.5",
4
4
  "description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
5
5
  "keywords": [
6
6
  "web-components",
@@ -31,6 +31,7 @@ import { AgGridMenuAdapter } from '../agGrid/AgGridMenuAdapter';
31
31
  import { RowFormService } from '../Utilities/Services/RowFormService';
32
32
  import { FlashingCellService } from '../Utilities/Services/FlashingCellService';
33
33
  import { AgGridExportAdapter } from '../agGrid/AgGridExportAdapter';
34
+ import { AgGridThemeAdapter } from '../agGrid/AgGridThemeAdapter';
34
35
  /**
35
36
  * Contains AG Grid Options and Modules - used when instantiating AdapTable vanilla
36
37
  */
@@ -66,6 +67,7 @@ export interface IAdaptable {
66
67
  agGridMenuAdapter: AgGridMenuAdapter;
67
68
  agGridColumnAdapter: AgGridColumnAdapter;
68
69
  agGridExportAdapter: AgGridExportAdapter;
70
+ agGridThemeAdapter: AgGridThemeAdapter;
69
71
  hasAdaptableToolPanel: boolean;
70
72
  renderReactRoot: RenderReactRootFn;
71
73
  /**
@@ -244,7 +246,6 @@ export interface IAdaptable {
244
246
  isGridRangeSelectable(): boolean;
245
247
  isGridRowSelectable(): boolean;
246
248
  isGridGroupingActive(): boolean;
247
- getAgGridCurrentThemeName(): string;
248
249
  applyAdaptableTheme(theme: AdaptableTheme | string): void;
249
250
  setRowGroupColumns(columnIds: string[]): void;
250
251
  getAllGridColumns(): Column<any>[];
@@ -9,7 +9,7 @@ export interface CellSummaryOptions<TData = any> {
9
9
  */
10
10
  customCellSummaryOperations?: CustomCellSummaryOperation<TData>[];
11
11
  /**
12
- * Numeric format to use for summary value; note relevant Format Columns with a DisplayFormat take precedence over this
12
+ * Numeric format to use for summary value; a Format Column DisplayFormat will take precedence
13
13
  */
14
14
  numericDisplayFormat?: NumberFormatterOptions | ((columnContext: AdaptableColumnContext) => NumberFormatterOptions);
15
15
  }
@@ -16,13 +16,6 @@ export interface ContainerOptions {
16
16
  * @gridInfoItem
17
17
  */
18
18
  agGridContainer?: string | HTMLElement;
19
- /**
20
- * How long to wait for AG Grid before giving up trying to connect
21
- *
22
- * @defaultValue 60s
23
- * @gridInfoItem
24
- */
25
- agGridContainerWaitTimeout?: number;
26
19
  /**
27
20
  * Name of div where popups appear
28
21
  *
@@ -58,7 +58,6 @@ const DefaultAdaptableOptions = {
58
58
  containerOptions: {
59
59
  adaptableContainer: 'adaptable',
60
60
  agGridContainer: 'grid',
61
- agGridContainerWaitTimeout: 60000,
62
61
  modalContainer: undefined,
63
62
  systemStatusContainer: undefined,
64
63
  alertContainer: undefined,
@@ -299,6 +298,7 @@ const DefaultAdaptableOptions = {
299
298
  styleClassNames: GeneralConstants_1.EMPTY_ARRAY,
300
299
  showDocumentationLinks: true,
301
300
  showAdapTableVersion: true,
301
+ showAgGridVersion: true,
302
302
  },
303
303
  };
304
304
  function applyDefaultAdaptableOptions(adaptableOptions) {
@@ -26,7 +26,7 @@ export interface EditOptions<TData = any> {
26
26
  */
27
27
  smartEditCustomOperations?: SmartEditCustomOperation<TData>[];
28
28
  /**
29
- * Dropdown values displayed when column is being edited
29
+ * Columns that will display a Select dropdown when editing
30
30
  */
31
31
  showSelectCellEditor?: (currentColumContext: AdaptableColumnContext<TData>) => boolean;
32
32
  /**
@@ -39,17 +39,28 @@ export interface EditOptions<TData = any> {
39
39
  */
40
40
  export interface CustomEditColumnValuesContext<TData = any> extends AdaptableColumnContext<TData> {
41
41
  /**
42
- * Current distinct values in Cell
42
+ * Current distinct values in Column
43
43
  */
44
44
  defaultValues: Required<CustomEditColumnValueInfo>[];
45
+ /**
46
+ * Search text in Edit - used when fetching values from server
47
+ */
45
48
  currentSearchValue: string;
46
49
  /**
47
50
  * Currently edited Grid Cell
48
51
  */
49
52
  gridCell: GridCell;
50
53
  }
54
+ /**
55
+ * Information about items in the Edit Controls
56
+ */
51
57
  export interface CustomEditColumnValueInfo {
52
- label?: string;
58
+ /**
59
+ * Item's label
60
+ */ label?: string;
61
+ /**
62
+ * Value of Item being shown
63
+ */
53
64
  value: any;
54
65
  }
55
66
  /**
@@ -13,7 +13,7 @@ export interface ExportOptions<TData = any> {
13
13
  *
14
14
  * @defaultValue rawValue
15
15
  */
16
- exportDataFormat?: DataFormatType | DataFormatDataType | ((dataFormatTypeContext: DataFormatTypeContext<TData>) => DataFormatType);
16
+ exportDataFormat?: DataFormatType | DataFormatDataType | ((context: AdaptableColumnContext<TData>) => DataFormatType);
17
17
  /**
18
18
  * Optional custom format for Date columns when exporting
19
19
  *
@@ -66,7 +66,7 @@ export interface ExportOptions<TData = any> {
66
66
  * Whether a Column is included in System Reports and available in UI for selection
67
67
  * @defaultValue true
68
68
  */
69
- isColumnExportable?: (exportableColumnContext: ExportableColumnContext) => boolean;
69
+ isColumnExportable?: (context: AdaptableColumnContext) => boolean;
70
70
  /**
71
71
  * Function invoked before a Report is run, enabling users to preload the data before it is exported
72
72
  */
@@ -257,11 +257,6 @@ export interface ReportContext extends BaseExportContext {
257
257
  */
258
258
  reportData: ExportResultData;
259
259
  }
260
- /**
261
- * Context used for setting whether a Column is exportable
262
- */
263
- export interface ExportableColumnContext extends AdaptableColumnContext {
264
- }
265
260
  /**
266
261
  * Context used for providing a custom filename for a Report
267
262
  */
@@ -271,23 +266,14 @@ export interface ReportFileNameContext extends BaseExportContext {
271
266
  */
272
267
  fileName: string;
273
268
  }
274
- /**
275
- * Context provided when setting a Data Format Type for Export
276
- */
277
- export interface DataFormatTypeContext<TData = any> extends BaseContext {
278
- /**
279
- * Column being exported
280
- */
281
- column: AdaptableColumn<TData>;
282
- }
283
269
  /**
284
270
  * Defines the Format Data Types for all Data Types
285
271
  */
286
272
  export interface DataFormatDataType {
287
273
  /**
288
- * Data Format type for String columns
274
+ * Data Format type for String / Text columns
289
275
  */
290
- string?: DataFormatType;
276
+ text?: DataFormatType;
291
277
  /**
292
278
  * Data Format type for Number columns
293
279
  */
@@ -36,10 +36,10 @@ export interface PredicateOptions {
36
36
  */
37
37
  caseSensitivePredicates?: boolean;
38
38
  /**
39
- * Should Values (IN) Predicate evaluate using datetime (rather than date)
40
- * @defaultValue true
41
- * @noCodeItem
42
- */
39
+ * Should Values (IN) Predicate evaluate using datetime (rather than date)
40
+ * @defaultValue true
41
+ * @noCodeItem
42
+ */
43
43
  evaluateValuesPredicateUsingTime?: boolean;
44
44
  }
45
45
  /**
@@ -68,6 +68,13 @@ export interface UserInterfaceOptions<TData = any> {
68
68
  * @gridInfoItem
69
69
  */
70
70
  showAdapTableVersion?: boolean;
71
+ /**
72
+ * Displays the AG Grid version in Grid Info section of Settings Panel
73
+ *
74
+ * @defaultValue true
75
+ * @gridInfoItem
76
+ */
77
+ showAgGridVersion?: boolean;
71
78
  /**
72
79
  * English variant to use in AdapTable UI
73
80
  *
@@ -144,6 +144,7 @@ class AdaptableApiImpl {
144
144
  this.formatColumnApi = null;
145
145
  this.freeTextColumnApi = null;
146
146
  this.gridApi = null;
147
+ this.rowFormApi = null;
147
148
  this.internalApi = null;
148
149
  this.layoutApi = null;
149
150
  this.pluginsApi = null;
@@ -147,10 +147,11 @@ class ExportApiImpl extends ApiBase_1.ApiBase {
147
147
  isColumnExportable(adaptableColumn) {
148
148
  const isExportableFn = this.getExportOptions().isColumnExportable;
149
149
  if (typeof isExportableFn === 'function') {
150
- return isExportableFn({
150
+ const adaptableColumnContext = {
151
151
  ...this.getAdaptableInternalApi().buildBaseContext(),
152
152
  column: adaptableColumn,
153
- });
153
+ };
154
+ return isExportableFn(adaptableColumnContext);
154
155
  }
155
156
  return true;
156
157
  }
@@ -163,7 +163,7 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
163
163
  }
164
164
  else if (scheduleType == 'Report') {
165
165
  const reportSchedule = schedule;
166
- this.getExportApi().exportReport(reportSchedule.ReportName, reportSchedule.ReportFormat, 'Download');
166
+ this.getExportApi().exportReport(reportSchedule.ReportName, reportSchedule.ReportFormat, reportSchedule.ExportDestination ?? 'Download');
167
167
  }
168
168
  else if (scheduleType == 'ipushpull') {
169
169
  const ippApi = this.getAdaptableApi().pluginsApi.getipushpullPluginApi();
@@ -39,7 +39,7 @@ class StyledColumnApiImpl extends ApiBase_1.ApiBase {
39
39
  if (!column) {
40
40
  return false;
41
41
  }
42
- return !!this.getStyledColumns().find((styledColumn) => !!styledColumn.SparkLineStyle && styledColumn.ColumnId === column.columnId);
42
+ return !!this.getStyledColumns().find((styledColumn) => !!styledColumn.SparklineStyle && styledColumn.ColumnId === column.columnId);
43
43
  }
44
44
  getActiveStyledColumnForColumn(column) {
45
45
  const styledColumns = this.getActiveStyledColumns();
@@ -8,6 +8,7 @@ const ApiBase_1 = require("./ApiBase");
8
8
  const themes_1 = require("../../themes");
9
9
  const ThemeInternalApi_1 = require("../Internal/ThemeInternalApi");
10
10
  const AdaptableHelper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/AdaptableHelper"));
11
+ const logDeprecation_1 = require("../../Utilities/logDeprecation");
11
12
  class ThemeApiImpl extends ApiBase_1.ApiBase {
12
13
  constructor(_adaptable) {
13
14
  super(_adaptable);
@@ -74,7 +75,8 @@ class ThemeApiImpl extends ApiBase_1.ApiBase {
74
75
  this.showModulePopup(ModuleConstants.ThemeModuleId);
75
76
  }
76
77
  getAgGridCurrentThemeName() {
77
- return this._adaptable.getAgGridCurrentThemeName();
78
+ (0, logDeprecation_1.logDeprecation)(this._adaptable.logger, 'ThemeApi', 'getAgGridCurrentThemeName', null, `This is required only for AG Grid's legacy themes. See https://www.ag-grid.com/javascript-data-grid/theming-v32/`);
79
+ return this._adaptable.agGridThemeAdapter.getAgGridCurrentThemeClassNames();
78
80
  }
79
81
  editTheme(theme) {
80
82
  this.dispatchAction(ThemeRedux.ThemeEdit(theme));
@@ -63,7 +63,12 @@ class EventInternalApi extends ApiBase_1.ApiBase {
63
63
  isToolbarStateChangedToHidden,
64
64
  };
65
65
  if (!(0, isEqual_1.default)(oldDashboardState, newDashboardState)) {
66
- setTimeout(() => this.getEventApi().emit('DashboardChanged', dashboardChangedInfo));
66
+ setTimeout(() => {
67
+ const eventApi = this.getEventApi();
68
+ if (eventApi) {
69
+ eventApi.emit('DashboardChanged', dashboardChangedInfo);
70
+ }
71
+ });
67
72
  }
68
73
  }
69
74
  fireAlertFiredEvent(alertToFire) {
@@ -117,7 +117,7 @@ class ExportInternalApi extends ApiBase_1.ApiBase {
117
117
  // format is customized based on column data type
118
118
  switch (columnDataType) {
119
119
  case 'text':
120
- return dataFormatDataType.string;
120
+ return dataFormatDataType.text;
121
121
  case 'number':
122
122
  return dataFormatDataType.number;
123
123
  case 'date':
@@ -190,7 +190,7 @@ class RowFormInternalApi extends ApiBase_1.ApiBase {
190
190
  }
191
191
  const returnValues = this.getGridApi().internalApi.getDistinctDisplayValuesForColumnOld(column.columnId);
192
192
  // FIXME add support for asynchronous custom select cell editor values
193
- // it involves refactoring the AdaptableForm & AdapatableFormComponent
193
+ // it involves refactoring the AdaptableForm & adaptableFormComponent
194
194
  // await this.getSelectCellEditorValuesForColumn(
195
195
  // column,
196
196
  // gridCell
@@ -81,6 +81,8 @@ export interface ThemeApi {
81
81
  openThemeSettingsPanel(): void;
82
82
  /**
83
83
  * Get the name of the current AG Grid theme
84
+ *
85
+ * @deprecated required only for legacy AG Grid themes, see https://www.ag-grid.com/javascript-data-grid/theming-v32/
84
86
  */
85
87
  getAgGridCurrentThemeName(): string;
86
88
  }
@@ -150,4 +150,4 @@ export type SystemAlertPredicateIds = SystemAlertPredicateId[];
150
150
  /**
151
151
  * List of System Predicates available for Alerts
152
152
  */
153
- export type SystemAlertPredicateId = 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'WorkDay' | 'Holiday' | 'True' | 'False' | 'PercentChange' | 'IsNumeric' | 'IsNotNumeric' | 'In' | 'NotIn' | 'AnyChange';
153
+ export type SystemAlertPredicateId = 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'WorkDay' | 'Holiday' | 'True' | 'False' | 'PercentChange' | 'In' | 'NotIn' | 'AnyChange';
@@ -5,7 +5,7 @@ import { BaseContext } from './BaseContext';
5
5
  */
6
6
  export interface AdaptableColumnContext<TData = any> extends BaseContext {
7
7
  /**
8
- * Column being filtered
8
+ * The current Column
9
9
  */
10
10
  column: AdaptableColumn<TData>;
11
11
  }
@@ -270,22 +270,6 @@ exports.SystemPredicateDefs = [
270
270
  toString: ({ inputs }) => `Not Between ${inputs[0] ?? ''}:${inputs[1]}`,
271
271
  shortcuts: ['!:'],
272
272
  },
273
- {
274
- id: 'IsNumeric',
275
- label: 'Is Numeric',
276
- icon: { text: '1' },
277
- columnScope: { DataTypes: ['number'] },
278
- moduleScope: ['alert', 'flashingcell'],
279
- handler: ({ value }) => !isNaN(Number(value)),
280
- },
281
- {
282
- id: 'IsNotNumeric',
283
- label: 'Is Not Numeric',
284
- icon: { text: '1' },
285
- columnScope: { DataTypes: ['number'] },
286
- moduleScope: ['alert', 'flashingcell'],
287
- handler: ({ value }) => isNaN(Number(value)),
288
- },
289
273
  // String System Filters
290
274
  {
291
275
  id: 'Is',
@@ -3,9 +3,9 @@ import { BaseSchedule } from './Common/Schedule';
3
3
  import { ColumnScope } from './Common/ColumnScope';
4
4
  import { AdaptableColumnBase } from './Common/AdaptableColumn';
5
5
  import { AdaptableObject } from './Common/AdaptableObject';
6
- import { AdaptableFormData } from './Common/AdaptableForm';
7
6
  import { AdaptableBooleanQuery } from './Common/AdaptableQuery';
8
7
  import { TypeHint } from './Common/Types';
8
+ import { ExportDestinationType } from '../AdaptableOptions/ExportOptions';
9
9
  /**
10
10
  * Predefined Configuration for Export Module
11
11
  */
@@ -61,9 +61,9 @@ export interface ReportSchedule extends BaseSchedule {
61
61
  */
62
62
  ReportFormat: ReportFormatType;
63
63
  /**
64
- * Additional data for a Custom Destination produced by a Dynamic Form
64
+ * Destination of Report to run on Schedule
65
65
  */
66
- ExportDestinationData?: AdaptableFormData;
66
+ ExportDestination?: ExportDestinationType;
67
67
  }
68
68
  /**
69
69
  * Defines the data in a Report run by AdapTable
@@ -72,4 +72,4 @@ export type SystemFlashingCellPredicateIds = SystemFlashingCellPredicateId[];
72
72
  /**
73
73
  * List of System Predicates available for Flashing Cells
74
74
  */
75
- export type SystemFlashingCellPredicateId = 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'WorkDay' | 'Holiday' | 'True' | 'False' | 'PercentChange' | 'IsNumeric' | 'IsNotNumeric' | 'In' | 'NotIn' | 'AnyChange';
75
+ export type SystemFlashingCellPredicateId = 'Blanks' | 'NonBlanks' | 'Equals' | 'NotEquals' | 'GreaterThan' | 'LessThan' | 'Positive' | 'Negative' | 'Zero' | 'Between' | 'NotBetween' | 'Is' | 'IsNot' | 'Contains' | 'NotContains' | 'StartsWith' | 'EndsWith' | 'Regex' | 'Today' | 'Yesterday' | 'Tomorrow' | 'ThisWeek' | 'ThisMonth' | 'ThisQuarter' | 'ThisYear' | 'InPast' | 'InFuture' | 'Before' | 'After' | 'On' | 'NotOn' | 'NextWorkDay' | 'LastWorkDay' | 'WorkDay' | 'Holiday' | 'True' | 'False' | 'PercentChange' | 'In' | 'NotIn' | 'AnyChange';
@@ -51,7 +51,7 @@ export interface LayoutBase extends AdaptableObject {
51
51
  */
52
52
  ColumnHeaders?: ColumnStringMap;
53
53
  /**
54
- * Whether to include aggFunc name in the Column header: e.g. 'sum(Price)' will just be 'Price'
54
+ * Whether to include aggFunc name in Column header: e.g. 'sum(Price)' becomes 'Price'
55
55
  */
56
56
  SuppressAggFuncInHeader?: boolean;
57
57
  /**
@@ -88,7 +88,7 @@ export interface TableLayout extends LayoutBase {
88
88
  */
89
89
  RowSummaries?: RowSummary[];
90
90
  /**
91
- * Columns showing aggregated values in Group Rows; 1st value in record is Column name, 2nd is either aggfunc (e.g. sum, avg etc.) or 'true' (to use default aggfunc)
91
+ * Columns showing aggregated values in Grouped Rows; a record of ColumnId and aggfunc (e.g. sum) or 'true' (to use default aggfunc)
92
92
  */
93
93
  TableAggregationColumns?: TableAggregationColumns;
94
94
  /**
@@ -100,19 +100,19 @@ export interface TableLayout extends LayoutBase {
100
100
  */
101
101
  RowGroupDisplayType?: 'single' | 'multi';
102
102
  /**
103
- * Pivot Columns - can NOT be provided
103
+ * Pivot Columns - must NOT be provided
104
104
  */
105
105
  PivotColumns?: never;
106
106
  /**
107
- * Pivot Group Columns - can NOT be provided
107
+ * Pivot Group Columns - must NOT be provided
108
108
  */
109
109
  PivotGroupedColumns?: never;
110
110
  /**
111
- * Pivot Expansions - can NOT be provided
111
+ * Pivot Expansions - must NOT be provided
112
112
  */
113
113
  PivotExpandLevel?: never;
114
114
  /**
115
- * Pivot Aggregation Columns - can NOT be provided
115
+ * Pivot Aggregation Columns - must NOT be provided
116
116
  */
117
117
  PivotAggregationColumns?: never;
118
118
  }
@@ -137,31 +137,31 @@ export interface PivotLayout extends LayoutBase {
137
137
  */
138
138
  PivotGroupedColumns?: string[];
139
139
  /**
140
- * Table Columns - can NOT be provided
140
+ * Table Columns - must NOT be provided
141
141
  */
142
142
  TableColumns?: never;
143
143
  /**
144
- * Table Aggregation Columns - can NOT be provided
144
+ * Table Aggregation Columns - must NOT be provided
145
145
  */
146
146
  TableAggregationColumns?: never;
147
147
  /**
148
- * Row Grouped Columns Columns - can NOT be provided
148
+ * Row Grouped Columns Columns - must NOT be provided
149
149
  */
150
150
  RowGroupedColumns?: never;
151
151
  }
152
- /**
153
- * Object used for defining which Row Group Values are Expanded or Collapsed
154
- */
155
- export type RowGroupValuesWithExceptionKeys = {
156
- RowGroupDefaultBehavior: 'expanded' | 'collapsed';
157
- ExceptionGroupKeys?: any[][];
158
- };
159
152
  /**
160
153
  * Manages how (and which) Row Group values are stored
161
154
  */
162
155
  export type RowGroupValues = {
163
156
  RowGroupDefaultBehavior: 'always-expanded' | 'always-collapsed';
164
157
  } | RowGroupValuesWithExceptionKeys;
158
+ /**
159
+ * Defines which Row Group Values are expanded or collapsed
160
+ */
161
+ export type RowGroupValuesWithExceptionKeys = {
162
+ RowGroupDefaultBehavior: 'expanded' | 'collapsed';
163
+ ExceptionGroupKeys?: any[][];
164
+ };
165
165
  /**
166
166
  * Defines a map of Columns with a String value
167
167
  */
@@ -32,7 +32,7 @@ export interface StyledColumn extends SuspendableObject {
32
32
  /**
33
33
  * Displays a Sparkline Chart in an array column
34
34
  */
35
- SparkLineStyle?: SparklineStyle;
35
+ SparklineStyle?: SparklineStyle;
36
36
  /**
37
37
  * Displays cell values in Column as a Badge
38
38
  */
@@ -39,12 +39,12 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
39
39
  // because if just one then it was created in AG Grid and we dont want to edit it
40
40
  }
41
41
  else {
42
- const hasSparklineStyle = styledColumn != null && styledColumn.SparkLineStyle != null;
42
+ const hasSparklineStyle = styledColumn != null && styledColumn.SparklineStyle != null;
43
43
  if (!hasSparklineStyle) {
44
44
  styledColumn = {
45
45
  ...ObjectFactory_1.default.CreateEmptyStyledColumn(),
46
46
  ColumnId: column.columnId,
47
- SparkLineStyle: {},
47
+ SparklineStyle: {},
48
48
  };
49
49
  }
50
50
  let label = hasSparklineStyle ? 'Edit ' : 'Create ';
@@ -52,7 +52,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
52
52
  ? 'styled-column-sparkline-edit'
53
53
  : 'styled-column-sparkline-add';
54
54
  let popupParam = {
55
- action: sparklineColumnExists ? 'Edit' : 'New',
55
+ action: hasSparklineStyle ? 'Edit' : 'New',
56
56
  source: 'ColumnMenu',
57
57
  value: styledColumn,
58
58
  config: {
@@ -165,7 +165,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
165
165
  else if (styledColumn.PercentBarStyle) {
166
166
  return 'percent';
167
167
  }
168
- else if (styledColumn.SparkLineStyle) {
168
+ else if (styledColumn.SparklineStyle) {
169
169
  return 'spark-line';
170
170
  }
171
171
  else if (styledColumn.BadgeStyle) {
@@ -252,7 +252,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
252
252
  else if (styledColumn.PercentBarStyle) {
253
253
  type = 'Percent Bar';
254
254
  }
255
- else if (styledColumn.SparkLineStyle) {
255
+ else if (styledColumn.SparklineStyle) {
256
256
  type = 'Spark Line';
257
257
  }
258
258
  else if (styledColumn.BadgeStyle) {
@@ -268,7 +268,7 @@ class StyledColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
268
268
  else if (styledColumn.PercentBarStyle) {
269
269
  type = 'styled-column-percent-bar-edit';
270
270
  }
271
- else if (styledColumn.SparkLineStyle) {
271
+ else if (styledColumn.SparklineStyle) {
272
272
  type = 'styled-column-sparkline-edit';
273
273
  }
274
274
  else if (styledColumn.BadgeStyle) {
@@ -180,6 +180,7 @@ function CreateEmptyReportSchedule() {
180
180
  Schedule: CreateEmptySchedule(),
181
181
  ReportName: GeneralConstants_1.EMPTY_STRING,
182
182
  ReportFormat: GeneralConstants_1.EMPTY_STRING,
183
+ ExportDestination: 'Download',
183
184
  };
184
185
  }
185
186
  exports.CreateEmptyReportSchedule = CreateEmptyReportSchedule;
@@ -5,10 +5,10 @@ export declare class ThemeService implements IThemeService {
5
5
  private unsubscribe;
6
6
  private styleSheetObject;
7
7
  constructor(api: AdaptableApi);
8
+ destroy(): void;
8
9
  subscribe(): void;
9
10
  onThemeChanged: () => void;
10
11
  applyNewThemeVariables(theme: AdaptableTheme): void;
11
- destroy(): void;
12
12
  showMissingThemeFiles(theme: AdaptableTheme): void;
13
13
  getDOMPrefferedColorScheme(): 'dark' | 'light';
14
14
  mapOsTheme(theme: AdaptableTheme | string): AdaptableTheme;
@@ -23,6 +23,11 @@ class ThemeService {
23
23
  ];
24
24
  }
25
25
  }
26
+ destroy() {
27
+ this.api = null;
28
+ this.unsubscribe();
29
+ document.adoptedStyleSheets = [...document.adoptedStyleSheets].filter((sheet) => sheet !== this.styleSheetObject);
30
+ }
26
31
  subscribe() {
27
32
  const themeChangedUnsubscribe = this.api.eventApi.on('ThemeChanged', this.onThemeChanged);
28
33
  const prefferedColorSchemeUnsubscribe = this.attachPrefferedColorSchemeListener();
@@ -47,11 +52,6 @@ class ThemeService {
47
52
  str += '}';
48
53
  this.styleSheetObject.replaceSync(str);
49
54
  }
50
- destroy() {
51
- this.api = null;
52
- this.unsubscribe();
53
- document.adoptedStyleSheets = [...document.adoptedStyleSheets].filter((sheet) => sheet !== this.styleSheetObject);
54
- }
55
55
  showMissingThemeFiles(theme) {
56
56
  // run time defined theme
57
57
  // because it may be an empty theme
@@ -58,7 +58,10 @@ class DataChangeHistoryPopupComponent extends React.Component {
58
58
  this.props.api.dataChangeHistoryApi.clearDataChangeHistoryEntry(changeToBeUndone);
59
59
  }
60
60
  };
61
- const currentAgGridTheme = this.props.api.themeApi.getAgGridCurrentThemeName();
61
+ const agGridThemeMode = this.props.api.internalApi
62
+ .getAdaptableInstance()
63
+ .agGridThemeAdapter.getAgGridThemeMode();
64
+ const currentAgGridTheme = agGridThemeMode === 'legacy' ? this.props.api.themeApi.getAgGridCurrentThemeName() : '';
62
65
  return (React.createElement(PopupPanel_1.PopupPanel, { headerText: this.props.moduleInfo.FriendlyName, glyphicon: this.props.moduleInfo.Glyph, infoLink: this.props.moduleInfo.HelpPage, infoLinkDisabled: !this.props.api.internalApi.isDocumentationLinksDisplayed() },
63
66
  React.createElement(rebass_1.Flex, { className: "ab-DataChangeHistoryPopup", flexDirection: "column", style: { height: '100%' } },
64
67
  React.createElement(rebass_1.Flex, { style: {
@@ -14,7 +14,9 @@ const AdaptableObjectRow_1 = require("../../Components/AdaptableObjectRow");
14
14
  const PopupPanel_1 = require("../../Components/Popups/AdaptablePopup/PopupPanel");
15
15
  const AdaptableObjectsSummary_1 = require("./AdaptableObjectsSummary");
16
16
  const EnvVars_1 = require("../../../EnvVars");
17
- const version = EnvVars_1.ADAPTABLE_VERSION;
17
+ const agGridModules_1 = require("../../../agGrid/agGridModules");
18
+ const adaptableVersion = EnvVars_1.ADAPTABLE_VERSION;
19
+ const agGridVersion = agGridModules_1.AG_GRID_VERSION;
18
20
  const GridInfoPopup = (props) => {
19
21
  const api = props.api;
20
22
  const CreateGridSummaries = (colItems) => {
@@ -37,7 +39,10 @@ const GridInfoPopup = (props) => {
37
39
  : null;
38
40
  const selectedRowInfo = api.gridApi.getSelectedRowInfo();
39
41
  if (api.optionsApi.getUserInterfaceOptions()?.showAdapTableVersion) {
40
- returnRows.push(createReadOnlyColItem(colItems, 'AdapTable Version', version));
42
+ returnRows.push(createReadOnlyColItem(colItems, 'AdapTable Version', adaptableVersion));
43
+ }
44
+ if (api.optionsApi.getUserInterfaceOptions()?.showAgGridVersion) {
45
+ returnRows.push(createReadOnlyColItem(colItems, 'AG Grid Version', agGridVersion));
41
46
  }
42
47
  returnRows.push(createReadOnlyColItem(colItems, 'Sorted Columns', ArrayExtensions_1.default.IsNotNullOrEmpty(sorts) ? sorts.join('; ') : 'None'));
43
48
  returnRows.push(createReadOnlyColItem(colItems, 'Column Filters', columnFilterDescription));
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
+ import { ExportDestinationType } from '../../../../AdaptableOptions/ExportOptions';
2
3
  import { Report, ReportFormatType, ReportSchedule } from '../../../../PredefinedConfig/ExportState';
3
4
  interface ReportScheduleProps {
4
5
  report: ReportSchedule;
5
6
  onChange: (reminder: ReportSchedule) => void;
6
7
  allReports: Report[];
7
8
  allFormats: ReportFormatType[];
9
+ allDestinations: ExportDestinationType[];
8
10
  }
9
11
  export declare const ScheduleSettingsReport: React.FunctionComponent<ReportScheduleProps>;
10
12
  export {};