@adaptabletools/adaptable 16.0.4 → 16.0.5-canary.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable",
3
- "version": "16.0.4",
3
+ "version": "16.0.5-canary.0",
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",
@@ -1,2 +1,2 @@
1
- declare const _default: 1692947568539;
1
+ declare const _default: 1693239636896;
2
2
  export default _default;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = 1692947568539;
3
+ exports.default = 1693239636896;
@@ -73,7 +73,7 @@ export interface AdaptableOptions<TData = any> {
73
73
  * @defaultValue n/a (Mandatory)
74
74
  * @gridInfoItem
75
75
  */
76
- primaryKey: Extract<keyof TData, string>;
76
+ primaryKey: string;
77
77
  /**
78
78
  * Name of current AdapTable user
79
79
  *
@@ -298,12 +298,28 @@ export interface BroadcastConfig {
298
298
  /**
299
299
  * Custom FDC3 Action Column definition to broadcast the Context
300
300
  */
301
- actionColumn?: {
302
- columnId: string;
303
- friendlyName?: string;
304
- button: Fdc3AdaptableButton;
305
- defaultWidth?: number;
306
- };
301
+ actionColumn?: FDC3ActionColumn;
302
+ }
303
+ /**
304
+ * Action Column used for FDC3 workflows
305
+ */
306
+ export interface FDC3ActionColumn {
307
+ /**
308
+ * Id of the Column
309
+ */
310
+ columnId: string;
311
+ /**
312
+ * Column's friendly name
313
+ */
314
+ friendlyName?: string;
315
+ /**
316
+ * FDC3 Button to display
317
+ */
318
+ button: Fdc3AdaptableButton;
319
+ /**
320
+ * Default Width of column
321
+ */
322
+ defaultWidth?: number;
307
323
  }
308
324
  /**
309
325
  * Context provided in `handleIntentResolution` callback
@@ -352,7 +368,7 @@ export interface Fdc3AdaptableButton {
352
368
  */
353
369
  icon?: '_defaultFdc3' | AdaptableIcon | ((button: Fdc3AdaptableButton, context: Fdc3ButtonContext) => AdaptableIcon);
354
370
  /**
355
- * Button' Label; can be string or function that provides string
371
+ * Button's Label; can be string or function that provides string
356
372
  */
357
373
  label?: '_defaultFdc3' | string | ((button: Fdc3AdaptableButton, context: Fdc3ButtonContext) => string);
358
374
  /**
@@ -205,6 +205,13 @@ export interface FilterOptions<TData = any> {
205
205
  * @defaultValue '180'
206
206
  */
207
207
  quickFilterValuesWidth?: 'auto' | number;
208
+ /**
209
+ * Includes a [BLANKS] entry in Values filter
210
+ * @defaultValue false
211
+ * @gridInfoItem
212
+ * @noCodeItem
213
+ */
214
+ includeBlankFilterValues?: boolean;
208
215
  }
209
216
  /**
210
217
  * Context provided when Filtering
@@ -65,13 +65,22 @@ export interface ExportApi {
65
65
  * @returns report schedule
66
66
  */
67
67
  getReportSchedules(): ReportSchedule[];
68
+ /**
69
+ * @deprecated use runReport instead
70
+ */
71
+ sendReport(reportName: string, destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
68
72
  /**
69
73
  * Sends a Report to a given destination
70
74
  * @param reportName name of Report to send
71
75
  * @param destination destination to which Report will be sent
72
- * @param destinationData any custom destination data
73
76
  */
74
- sendReport(reportName: string, destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
77
+ runReport(reportName: string, destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
78
+ /**
79
+ * Sends a Report to a given destination
80
+ * @param systemReportName name of System Report to send
81
+ * @param destination destination to which Report will be sent
82
+ */
83
+ runSystemReport(systemReportName: 'Visual Data' | 'All Data' | 'Current Data' | 'Selected Cells' | 'Selected Rows', destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
75
84
  /**
76
85
  * Selects the report in the dashboard and statusbar UI
77
86
  *
@@ -138,7 +147,7 @@ export interface ExportApi {
138
147
  isExternalReport(report: Report): boolean;
139
148
  /**
140
149
  * Runs the report function of the ExternalReport with the given reportName
141
- * @param reportName custom report name
150
+ * @param reportName external report name
142
151
  */
143
152
  runExternalReport(reportName: string): ReportData | undefined;
144
153
  /**
@@ -1,4 +1,4 @@
1
- import { AdaptableColumn, ColumnFilter } from '../types';
1
+ import { AdaptableColumn, ColumnFilter, ColumnFilterConfig } from '../types';
2
2
  import { AdaptablePredicateDef, ColumnFilterDef } from '../PredefinedConfig/Common/AdaptablePredicate';
3
3
  /**
4
4
  * Provides run-time access to Filter section of Adaptable State.
@@ -119,4 +119,10 @@ export interface FilterApi {
119
119
  * @param columnFilters Column Filters to use
120
120
  */
121
121
  columnFiltersToString(columnFilters: ColumnFilter[]): string;
122
+ /**
123
+ * Sets the Column Filter for a given Column
124
+ * @param columnId - Column ID to set Column Filter for
125
+ * @param columnFilterConfig - Column Filter to set
126
+ */
127
+ setColumnFilterForColumn(columnId: string, columnFilterConfig: ColumnFilterConfig): void;
122
128
  }
@@ -21,6 +21,8 @@ export declare class ExportApiImpl extends ApiBase implements ExportApi {
21
21
  getReports(): Report[];
22
22
  getReportSchedules(): ReportSchedule[];
23
23
  sendReport(reportName: string, destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
24
+ runReport(reportName: string, destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
25
+ runSystemReport(systemReportName: 'Visual Data' | 'All Data' | 'Current Data' | 'Selected Cells' | 'Selected Rows', destination: 'Excel' | 'CSV' | 'Clipboard' | 'JSON' | string): void;
24
26
  selectReport(reportName: string): void;
25
27
  selectDestination(destinationName: string): void;
26
28
  getCustomDestinations(): CustomDestination[];
@@ -77,11 +77,17 @@ class ExportApiImpl extends ApiBase_1.ApiBase {
77
77
  return this.getAdaptableState().Schedule.ReportSchedules;
78
78
  }
79
79
  sendReport(reportName, destination) {
80
+ this.runReport(reportName, destination);
81
+ }
82
+ runReport(reportName, destination) {
80
83
  let report = this.getReportByName(reportName);
81
84
  if (this.checkItemExists(report, reportName, 'Report')) {
82
85
  this.dispatchAction(ExportRedux.ExportApply(report, destination));
83
86
  }
84
87
  }
88
+ runSystemReport(systemReportName, destination) {
89
+ this.runReport(systemReportName, destination);
90
+ }
85
91
  selectReport(reportName) {
86
92
  this.dispatchAction(ExportRedux.ReportSelect(reportName));
87
93
  }
@@ -2,7 +2,7 @@ import { ApiBase } from './ApiBase';
2
2
  import { FilterApi } from '../FilterApi';
3
3
  import { AdaptablePredicateDef, ColumnFilterDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
4
4
  import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
5
- import { ColumnFilter } from '../../types';
5
+ import { ColumnFilter, ColumnFilterConfig } from '../../types';
6
6
  import { IAdaptable } from '../../AdaptableInterfaces/IAdaptable';
7
7
  import { FilterInternalApi } from '../Internal/FilterInternalApi';
8
8
  export declare class FilterApiImpl extends ApiBase implements FilterApi {
@@ -34,6 +34,7 @@ export declare class FilterApiImpl extends ApiBase implements FilterApi {
34
34
  * @param filter
35
35
  */
36
36
  isFilterActive(filter: ColumnFilter): boolean;
37
+ setColumnFilterForColumn(columnId: string, columnFilterConfig: ColumnFilterConfig): void;
37
38
  suspendColumnFilter(columnFilter: ColumnFilter): void;
38
39
  unSuspendColumnFilter(columnFilter: ColumnFilter): void;
39
40
  suspendAllColumnFilters(): void;
@@ -14,7 +14,7 @@ class FilterApiImpl extends ApiBase_1.ApiBase {
14
14
  }
15
15
  getFilterPredicateDefsForColumn(column) {
16
16
  const scope = {
17
- ColumnIds: [column.columnId]
17
+ ColumnIds: [column.columnId],
18
18
  };
19
19
  return this.getAdaptableApi()
20
20
  .predicateApi.internalApi.getFilterPredicateDefs(scope)
@@ -138,6 +138,19 @@ class FilterApiImpl extends ApiBase_1.ApiBase {
138
138
  });
139
139
  return allInputsHaveValues;
140
140
  }
141
+ setColumnFilterForColumn(columnId, columnFilterConfig) {
142
+ const columnFilterPredicate = {
143
+ PredicateId: columnFilterConfig.PredicateId,
144
+ };
145
+ if (columnFilterConfig.PredicateInputs) {
146
+ columnFilterPredicate.Inputs = columnFilterConfig.PredicateInputs;
147
+ }
148
+ const columnFilter = {
149
+ ColumnId: columnId,
150
+ Predicate: columnFilterPredicate,
151
+ };
152
+ this.setColumnFilters([columnFilter]);
153
+ }
141
154
  suspendColumnFilter(columnFilter) {
142
155
  this.dispatchAction(LayoutRedux.LayoutColumnFilterSuspend(columnFilter));
143
156
  }
@@ -198,7 +198,7 @@ class ScheduleApiImpl extends ApiBase_1.ApiBase {
198
198
  }
199
199
  else if (scheduleType == 'Report') {
200
200
  const reportSchedule = schedule;
201
- this.adaptable.api.exportApi.sendReport(reportSchedule.ReportName, reportSchedule.ExportDestination);
201
+ this.adaptable.api.exportApi.runReport(reportSchedule.ReportName, reportSchedule.ExportDestination);
202
202
  }
203
203
  else if (scheduleType == 'ipushpull') {
204
204
  const ippApi = this.adaptable.api.pluginsApi.getipushpullPluginApi();
@@ -18,6 +18,7 @@ const isYesterday_1 = tslib_1.__importDefault(require("date-fns/isYesterday"));
18
18
  const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
19
19
  const DateHelper_1 = require("../../Utilities/Helpers/DateHelper");
20
20
  const Helper_1 = tslib_1.__importDefault(require("../../Utilities/Helpers/Helper"));
21
+ const GeneralConstants_1 = require("../../Utilities/Constants/GeneralConstants");
21
22
  /**
22
23
  * Array of Predicate Defs which are shipped by AdapTable
23
24
  */
@@ -32,6 +33,9 @@ exports.SystemPredicateDefs = [
32
33
  if (inputs.length === 0) {
33
34
  return true;
34
35
  }
36
+ if (inputs.includes(GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE) && Helper_1.default.IsInputNullOrEmpty(value)) {
37
+ return true;
38
+ }
35
39
  if (column.dataType === 'Date') {
36
40
  return inputs.some((input) => {
37
41
  if (adaptableApi.optionsApi.getFilterOptions().filterUsingTime) {
@@ -70,6 +74,9 @@ exports.SystemPredicateDefs = [
70
74
  if (inputs.length === 0) {
71
75
  return true;
72
76
  }
77
+ if (inputs.includes(GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE) && Helper_1.default.IsInputNullOrEmpty(value)) {
78
+ return false;
79
+ }
73
80
  if (column.dataType === 'Date') {
74
81
  if (adaptableApi.optionsApi.getFilterOptions().filterUsingTime) {
75
82
  return inputs.every((input) => {
@@ -1,5 +1,18 @@
1
1
  import { SuspendableObject, AdaptablePredicate } from '../../types';
2
2
  import { TypeHint } from './Types';
3
+ /**
4
+ * Configuration for a Column Filter
5
+ */
6
+ export interface ColumnFilterConfig {
7
+ /**
8
+ * The Predicate ID to use when filtering the column
9
+ */
10
+ PredicateId: TypeHint<string, SystemFilterPredicateId>;
11
+ /**
12
+ * Optional Inputs that might be needed for evaluation
13
+ */
14
+ PredicateInputs?: any[];
15
+ }
3
16
  /**
4
17
  * Defines a Filter applied on a Column using a Predicate
5
18
  */
@@ -96,7 +96,7 @@ export declare const ContextConfiguration: {
96
96
  };
97
97
  readonly "fdc3.instrument": {
98
98
  readonly label: "Instrument";
99
- readonly icon: "moneh";
99
+ readonly icon: "money";
100
100
  };
101
101
  readonly "fdc3.instrumentList": {
102
102
  readonly label: "InstrumentList";
@@ -47,7 +47,7 @@ exports.ContextConfiguration = {
47
47
  },
48
48
  [exports.InstrumentContextKey]: {
49
49
  label: 'Instrument',
50
- icon: 'moneh',
50
+ icon: 'money',
51
51
  },
52
52
  [exports.InstrumentListContextKey]: {
53
53
  label: 'InstrumentList',
@@ -52,7 +52,7 @@ class Fdc3Module extends AdaptableModuleBase_1.AdaptableModuleBase {
52
52
  };
53
53
  if ((_a = intentConfig.contextMenu) === null || _a === void 0 ? void 0 : _a.icon) {
54
54
  const menuItemIcon = ((_b = intentConfig.contextMenu) === null || _b === void 0 ? void 0 : _b.icon) === '_defaultFdc3'
55
- ? this.getFdc3Api().internalApi.getDefaultIconForContext(contextType)
55
+ ? this.getFdc3Api().internalApi.getDefaultIconForIntent(intentType)
56
56
  : (_c = intentConfig.contextMenu) === null || _c === void 0 ? void 0 : _c.icon;
57
57
  menuItem.icon = menuItemIcon;
58
58
  }
@@ -33,6 +33,7 @@ export declare const ADAPTABLE_ROW_ACTION_BUTTONS = "adaptableRowActionButtons";
33
33
  export declare const ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = "(ActionRowButtons)";
34
34
  export declare const ADAPTABLE_FDC3_ACTION_COLUMN_FRIENDLY_NAME = "(FDC3ActionColumn)";
35
35
  export declare const DEFAULT_DATE_FORMAT_PATTERN = "dd-MM-yyyy";
36
+ export declare const BLANK_DISTINCT_COLUMN_VALUE = "[BLANKS]";
36
37
  export declare const SYSTEM_STATUS_DEFAULT_MAX_MESSAGES_IN_STORE: number;
37
38
  export declare const QUICK_SEARCH_DEFAULT_BACK_COLOR: string;
38
39
  export declare const QUICK_SEARCH_DEFAULT_FORE_COLOR: string;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FLASHING_CELL_DEFAULT_DURATION_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_DOWN_COLOR_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_UP_COLOR_STATE_PROPERTY = exports.CURRENT_REPORT_STATE_PROPERTY = exports.CURRENT_LAYOUT_STATE_PROPERTY = exports.SUMMARY_OPERATION_STATE_PROPERTY = exports.ALERT_DEFAULT_SHOW_POPUP = exports.ALERT_DEFAULT_MESSAGE_TYPE = exports.PLUS_MINUS_DEFAULT_NUDGE_VALUE = exports.SERVER_VALIDATION_MESSAGE_TYPE = exports.SERVER_VALIDATION_HEADER = exports.DEFAULT_LIVE_REPORT_THROTTLE_TIME = exports.THEME_DEFAULT_CURRENT_THEME = exports.SYSTEM_DEFAULT_SYSTEM_STATUS_TYPE = exports.CELL_SUMMARY_DEFAULT_OPERATION = exports.QUICK_SEARCH_DEBOUNCE_TIME = exports.QUICK_SEARCH_DEFAULT_FORE_COLOR = exports.QUICK_SEARCH_DEFAULT_BACK_COLOR = exports.SYSTEM_STATUS_DEFAULT_MAX_MESSAGES_IN_STORE = exports.DEFAULT_DATE_FORMAT_PATTERN = exports.ADAPTABLE_FDC3_ACTION_COLUMN_FRIENDLY_NAME = exports.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = exports.ADAPTABLE_ROW_ACTION_BUTTONS = exports.AG_GRID_CHART_WINDOW = exports.AG_GRID_PIVOT_COLUMN = exports.AG_GRID_GROUPED_COLUMN = exports.HALF_SECOND = exports.AB_FDC3_COLUMN = exports.AB_ROW_ACTIONS_COLUMN = exports.AB_SPECIAL_COLUMN = exports.EMPTY_ARRAY = exports.EMPTY_STRING = exports.FILTER_THROTTLE = exports.FILTER_NEVER = exports.FILTER_ALWAYS = exports.ALL_COLUMN_VALUES = exports.READ_ONLY_STYLE = exports.MENU_PREFIX = exports.AGGRID_TOOLPANEL_COLUMNS = exports.AGGRID_TOOLPANEL_FILTERS = exports.ADAPTABLE_TOOLPANEL_COMPONENT = exports.ADAPTABLE_TOOLPANEL_ID = exports.ADAPTABLE = exports.ADAPTABLE_ID = exports.USER_NAME = exports.DARK_THEME = exports.LIGHT_THEME = exports.DEFAULT_LAYOUT = exports.MISSING_COLUMN = exports.AUTOGENERATED_PK_COLUMN = void 0;
4
- exports.THEME_STYLE = exports.SELECTED_ROWS_REPORT = exports.SELECTED_CELLS_REPORT = exports.CURRENT_DATA_REPORT = exports.ALL_DATA_REPORT = exports.VISUAL_DATA_REPORT = exports.SYSTEM_THEMES = exports.SMART_EDIT_MATH_OPERATION_STATE_PROPERTY = exports.SMART_EDIT_VALUE_STATE_PROPERTY = exports.QUICK_SEARCH_STYLE_STATE_PROPERTY = exports.QUICK_SEARCH_TEXT_STATE_PROPERTY = exports.CURRENT_THEME_STATE_PROPERTY = void 0;
3
+ exports.FLASHING_CELL_DEFAULT_DOWN_COLOR_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_UP_COLOR_STATE_PROPERTY = exports.CURRENT_REPORT_STATE_PROPERTY = exports.CURRENT_LAYOUT_STATE_PROPERTY = exports.SUMMARY_OPERATION_STATE_PROPERTY = exports.ALERT_DEFAULT_SHOW_POPUP = exports.ALERT_DEFAULT_MESSAGE_TYPE = exports.PLUS_MINUS_DEFAULT_NUDGE_VALUE = exports.SERVER_VALIDATION_MESSAGE_TYPE = exports.SERVER_VALIDATION_HEADER = exports.DEFAULT_LIVE_REPORT_THROTTLE_TIME = exports.THEME_DEFAULT_CURRENT_THEME = exports.SYSTEM_DEFAULT_SYSTEM_STATUS_TYPE = exports.CELL_SUMMARY_DEFAULT_OPERATION = exports.QUICK_SEARCH_DEBOUNCE_TIME = exports.QUICK_SEARCH_DEFAULT_FORE_COLOR = exports.QUICK_SEARCH_DEFAULT_BACK_COLOR = exports.SYSTEM_STATUS_DEFAULT_MAX_MESSAGES_IN_STORE = exports.BLANK_DISTINCT_COLUMN_VALUE = exports.DEFAULT_DATE_FORMAT_PATTERN = exports.ADAPTABLE_FDC3_ACTION_COLUMN_FRIENDLY_NAME = exports.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = exports.ADAPTABLE_ROW_ACTION_BUTTONS = exports.AG_GRID_CHART_WINDOW = exports.AG_GRID_PIVOT_COLUMN = exports.AG_GRID_GROUPED_COLUMN = exports.HALF_SECOND = exports.AB_FDC3_COLUMN = exports.AB_ROW_ACTIONS_COLUMN = exports.AB_SPECIAL_COLUMN = exports.EMPTY_ARRAY = exports.EMPTY_STRING = exports.FILTER_THROTTLE = exports.FILTER_NEVER = exports.FILTER_ALWAYS = exports.ALL_COLUMN_VALUES = exports.READ_ONLY_STYLE = exports.MENU_PREFIX = exports.AGGRID_TOOLPANEL_COLUMNS = exports.AGGRID_TOOLPANEL_FILTERS = exports.ADAPTABLE_TOOLPANEL_COMPONENT = exports.ADAPTABLE_TOOLPANEL_ID = exports.ADAPTABLE = exports.ADAPTABLE_ID = exports.USER_NAME = exports.DARK_THEME = exports.LIGHT_THEME = exports.DEFAULT_LAYOUT = exports.MISSING_COLUMN = exports.AUTOGENERATED_PK_COLUMN = void 0;
4
+ exports.THEME_STYLE = exports.SELECTED_ROWS_REPORT = exports.SELECTED_CELLS_REPORT = exports.CURRENT_DATA_REPORT = exports.ALL_DATA_REPORT = exports.VISUAL_DATA_REPORT = exports.SYSTEM_THEMES = exports.SMART_EDIT_MATH_OPERATION_STATE_PROPERTY = exports.SMART_EDIT_VALUE_STATE_PROPERTY = exports.QUICK_SEARCH_STYLE_STATE_PROPERTY = exports.QUICK_SEARCH_TEXT_STATE_PROPERTY = exports.CURRENT_THEME_STATE_PROPERTY = exports.FLASHING_CELL_DEFAULT_DURATION_STATE_PROPERTY = void 0;
5
5
  const Enums_1 = require("../../PredefinedConfig/Common/Enums");
6
6
  const UIHelper_1 = require("../../View/UIHelper");
7
7
  exports.AUTOGENERATED_PK_COLUMN = '__ADAPTABLE_PK__';
@@ -36,6 +36,7 @@ exports.ADAPTABLE_ROW_ACTION_BUTTONS = 'adaptableRowActionButtons';
36
36
  exports.ADAPTABLE_ROW_ACTION_BUTTONS_FRIENDLY_NAME = '(ActionRowButtons)';
37
37
  exports.ADAPTABLE_FDC3_ACTION_COLUMN_FRIENDLY_NAME = '(FDC3ActionColumn)';
38
38
  exports.DEFAULT_DATE_FORMAT_PATTERN = 'dd-MM-yyyy';
39
+ exports.BLANK_DISTINCT_COLUMN_VALUE = '[BLANKS]';
39
40
  /*
40
41
  Redux / State Defaults
41
42
  Try to put all our Redux / State defaults here and ONLY reference from here - avoid magic numbers / strings.
@@ -221,6 +221,7 @@ exports.DefaultAdaptableOptions = {
221
221
  quickFilterWildcards: {},
222
222
  showValuesCount: undefined,
223
223
  quickFilterValuesWidth: 180,
224
+ includeBlankFilterValues: false,
224
225
  },
225
226
  quickSearchOptions: {
226
227
  excludeColumnFromQuickSearch: undefined,
@@ -63,10 +63,10 @@ const ExportSelector = () => {
63
63
  // export
64
64
  const handleExport = () => {
65
65
  if (isCustomDestination(currentDestination)) {
66
- adaptable.api.exportApi.sendReport(currentReport.Name, currentDestination.name);
66
+ adaptable.api.exportApi.runReport(currentReport.Name, currentDestination.name);
67
67
  }
68
68
  else {
69
- adaptable.api.exportApi.sendReport(currentReport.Name, currentDestination);
69
+ adaptable.api.exportApi.runReport(currentReport.Name, currentDestination);
70
70
  }
71
71
  };
72
72
  return (React.createElement(React.Fragment, null,
@@ -1907,7 +1907,13 @@ class Adaptable {
1907
1907
  else {
1908
1908
  this.gridOptions.api.forEachNode((rowNode) => {
1909
1909
  const gridCell = this.addDistinctColumnValue(rowNode, column.columnId);
1910
- if (gridCell && gridCell.rawValue != undefined && gridCell.rowNode !== skipRowNode) {
1910
+ if (gridCell && gridCell.rowNode !== skipRowNode) {
1911
+ if (gridCell.rawValue == undefined &&
1912
+ this.adaptableOptions.filterOptions.includeBlankFilterValues) {
1913
+ gridCell.rawValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
1914
+ gridCell.displayValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
1915
+ gridCell.normalisedValue = GeneralConstants_1.BLANK_DISTINCT_COLUMN_VALUE;
1916
+ }
1911
1917
  returnValues.push(gridCell);
1912
1918
  }
1913
1919
  });
@@ -1629,6 +1629,22 @@ export declare const ADAPTABLE_METAMODEL: {
1629
1629
  ref: string;
1630
1630
  })[];
1631
1631
  };
1632
+ ColumnFilterConfig: {
1633
+ name: string;
1634
+ kind: string;
1635
+ desc: string;
1636
+ props: ({
1637
+ name: string;
1638
+ kind: string;
1639
+ desc: string;
1640
+ isOpt?: undefined;
1641
+ } | {
1642
+ name: string;
1643
+ kind: string;
1644
+ desc: string;
1645
+ isOpt: boolean;
1646
+ })[];
1647
+ };
1632
1648
  ColumnFilterDef: {
1633
1649
  name: string;
1634
1650
  kind: string;
@@ -2632,6 +2648,30 @@ export declare const ADAPTABLE_METAMODEL: {
2632
2648
  desc: string;
2633
2649
  }[];
2634
2650
  };
2651
+ FDC3ActionColumn: {
2652
+ name: string;
2653
+ kind: string;
2654
+ desc: string;
2655
+ props: ({
2656
+ name: string;
2657
+ kind: string;
2658
+ desc: string;
2659
+ ref: string;
2660
+ isOpt?: undefined;
2661
+ } | {
2662
+ name: string;
2663
+ kind: string;
2664
+ desc: string;
2665
+ ref?: undefined;
2666
+ isOpt?: undefined;
2667
+ } | {
2668
+ name: string;
2669
+ kind: string;
2670
+ desc: string;
2671
+ isOpt: boolean;
2672
+ ref?: undefined;
2673
+ })[];
2674
+ };
2635
2675
  Fdc3AdaptableButton: {
2636
2676
  name: string;
2637
2677
  kind: string;