@adaptabletools/adaptable 14.0.2 → 14.0.3

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": "14.0.2",
3
+ "version": "14.0.3",
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: 1672934364457;
1
+ declare const _default: 1674210145653;
2
2
  export default _default;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = 1672934364457;
3
+ exports.default = 1674210145653;
@@ -9,7 +9,7 @@ import { PredicateOptions } from './PredicateOptions';
9
9
  */
10
10
  export interface AdaptableQLOptions {
11
11
  /**
12
- * Perform case-sensitive text comparisons in all search and filter operations: QuickSearch, Filters, Query, Predicates
12
+ * Perform case-sensitive text comparisons when evaluating Predicates and Expressions
13
13
  *
14
14
  * @defaultValue false
15
15
  * @gridInfoItem
@@ -17,7 +17,8 @@ export interface AdaptableQLOptions {
17
17
  */
18
18
  caseSensitiveTextComparisons?: boolean;
19
19
  /**
20
- * Whether a specific expression (or all expressions in a given module) must be evaluated on the server
20
+ * Whether a Module (or a specific expression) should be evaluated by AdapTableQL
21
+ * @defaultValue All Modules are evaluated by AdapTable
21
22
  */
22
23
  evaluateAdaptableQLExternally?: (context: EvaluateExpressionExternallyContext) => boolean;
23
24
  /**
@@ -45,15 +46,15 @@ export interface AdaptableQLOptions {
45
46
  */
46
47
  export interface EvaluateExpressionExternallyContext extends BaseContext {
47
48
  /**
48
- * Module where the Expression is being evaluated
49
+ * Module where Expression is being evaluated
49
50
  */
50
51
  module: AdaptableQLModule;
51
52
  /**
52
- * Expression to evlauate
53
+ * Expression to evaluate
53
54
  */
54
55
  expression?: string;
55
56
  /**
56
- * Columns contained in the Expression
57
+ * Columns contained in Expression
57
58
  */
58
59
  referencedColumns?: AdaptableColumn[];
59
60
  }
@@ -10,63 +10,63 @@ import { AdaptableModule, BaseContext, AdaptableColumnBase } from '../types';
10
10
  */
11
11
  export interface ExpressionOptions {
12
12
  /**
13
- * System (built-in) Boolean Expression Functions available in AdapTableQL
13
+ * System Boolean Expression Functions available in AdapTableQL
14
14
  *
15
15
  * @defaultValue null (sets all)
16
16
  * @gridInfoItem
17
17
  */
18
18
  systemBooleanFunctions?: BooleanFunctionName[] | ((context: GlobalExpressionFunctionsContext<BooleanFunctionName>) => BooleanFunctionName[]);
19
19
  /**
20
- * Custom (user defined) Boolean Expression Functions available in AdapTableQL
20
+ * Custom Boolean Expression Functions available in AdapTableQL
21
21
  *
22
22
  * @defaultValue null (none)
23
23
  * @gridInfoItem
24
24
  */
25
25
  customBooleanFunctions?: Record<string, ExpressionFunction> | ((context: GlobalExpressionFunctionsContext<BooleanFunctionName>) => Record<string, ExpressionFunction>);
26
26
  /**
27
- * System (built-in) Scalar Expression Functions available in AdapTableQL
27
+ * System Scalar Expression Functions available in AdapTableQL
28
28
  *
29
29
  * @defaultValue null (sets all)
30
30
  * @gridInfoItem
31
31
  */
32
32
  systemScalarFunctions?: ScalarFunctionName[] | ((context: GlobalExpressionFunctionsContext<ScalarFunctionName>) => ScalarFunctionName[]);
33
33
  /**
34
- * Custom (user defined) Scalar Expression Functions available in AdapTableQL
34
+ * Custom Scalar Expression Functions available in AdapTableQL
35
35
  *
36
36
  * @defaultValue null (none)
37
37
  * @gridInfoItem
38
38
  */
39
39
  customScalarFunctions?: Record<string, ExpressionFunction> | ((context: GlobalExpressionFunctionsContext<ScalarFunctionName>) => Record<string, ExpressionFunction>);
40
40
  /**
41
- * System (built-in) Observable Expression Functions available in AdapTableQL
41
+ * System Observable Expression Functions available in AdapTableQL
42
42
  *
43
43
  * @defaultValue null (sets all)
44
44
  * @gridInfoItem
45
45
  */
46
46
  systemObservableFunctions?: ObservableFunctionName[] | ((context: GlobalExpressionFunctionsContext<ObservableFunctionName>) => ObservableFunctionName[]);
47
47
  /**
48
- * System (built-in) AggregatedBoolean Expression Functions available in AdapTableQL
48
+ * System AggregatedBoolean Expression Functions available in AdapTableQL
49
49
  *
50
50
  * @defaultValue null (sets all)
51
51
  * @gridInfoItem
52
52
  */
53
53
  systemAggregatedBooleanFunctions?: AggregatedBooleanFunctionName[] | ((context: GlobalExpressionFunctionsContext<AggregatedBooleanFunctionName>) => AggregatedBooleanFunctionName[]);
54
54
  /**
55
- * System (built-in) AggregatedScalar Expression Functions available in AdapTableQL
55
+ * System AggregatedScalar Expression Functions available in AdapTableQL
56
56
  *
57
57
  * @defaultValue undefined (sets all)
58
58
  * @gridInfoItem
59
59
  */
60
60
  systemAggregatedScalarFunctions?: AggregatedScalarFunctionName[] | ((context: GlobalExpressionFunctionsContext<AggregatedScalarFunctionName>) => AggregatedScalarFunctionName[]);
61
61
  /**
62
- * Module specific ExpressionFunctions; if not defined, it falls back to the generally defined system and custom values
62
+ * Module-specific Expression Functions available
63
63
  *
64
- * @defaultValue undefined (defaults to available system & custom values)
64
+ * @defaultValue undefined (defaults to available System & Custom values)
65
65
  * @gridInfoItem
66
66
  */
67
67
  moduleExpressionFunctions?: ModuleExpressionFunctionsMap | ((context: ModuleExpressionFunctionsContext) => ModuleExpressionFunctions | undefined);
68
68
  /**
69
- * Specifies if a given column can be included in Queries
69
+ * Can a given column be included in Expressions
70
70
  */
71
71
  isColumnQueryable?: (queryableColumnContext: QueryableColumnContext) => boolean;
72
72
  /**
@@ -77,7 +77,7 @@ export interface ExpressionOptions {
77
77
  */
78
78
  performExpressionValidation?: boolean;
79
79
  /**
80
- * Maximum time (in milliseconds) to hold a Data Change event in a trailing timeframe (see observableExpressionFunctions); value is capped at 86400000 (~24 hours) for performance reasons
80
+ * Maximum time (in milliseconds) to hold a Data Change event in a trailing timeframe
81
81
  *
82
82
  * @defaultValue 28800000 (~8 hours)
83
83
  * @gridInfoItem
@@ -97,49 +97,49 @@ export declare type ModuleExpressionFunctionsMap = Partial<Record<AdaptableModul
97
97
  */
98
98
  export interface ModuleExpressionFunctions {
99
99
  /**
100
- * System (built-in) Boolean Expression Functions available in AdapTableQL
100
+ * System Boolean Expression Functions available in AdapTableQL
101
101
  *
102
102
  * @defaultValue null (sets all)
103
103
  * @gridInfoItem
104
104
  */
105
105
  systemBooleanFunctions?: BooleanFunctionName[] | ((context: GlobalExpressionFunctionsContext<BooleanFunctionName>) => BooleanFunctionName[]);
106
106
  /**
107
- * Custom (user defined) Boolean Expression Functions available in AdapTableQL
107
+ * Custom Boolean Expression Functions available in AdapTableQL
108
108
  *
109
109
  * @defaultValue null (none)
110
110
  * @gridInfoItem
111
111
  */
112
112
  customBooleanFunctions?: Record<string, ExpressionFunction> | ((context: GlobalExpressionFunctionsContext<BooleanFunctionName>) => Record<string, ExpressionFunction>);
113
113
  /**
114
- * System (built-in) Scalar Expression Functions available in AdapTableQL
114
+ * System Scalar Expression Functions available in AdapTableQL
115
115
  *
116
116
  * @defaultValue null (sets all)
117
117
  * @gridInfoItem
118
118
  */
119
119
  systemScalarFunctions?: ScalarFunctionName[] | ((context: GlobalExpressionFunctionsContext<ScalarFunctionName>) => ScalarFunctionName[]);
120
120
  /**
121
- * Custom (user defined) Scalar Expression Functions available in AdapTableQL
121
+ * Custom Scalar Expression Functions available in AdapTableQL
122
122
  *
123
123
  * @defaultValue null (none)
124
124
  * @gridInfoItem
125
125
  */
126
126
  customScalarFunctions?: Record<string, ExpressionFunction> | ((context: GlobalExpressionFunctionsContext<ScalarFunctionName>) => Record<string, ExpressionFunction>);
127
127
  /**
128
- * System (built-in) Observable Expression Functions available in AdapTableQL
128
+ * System Observable Expression Functions available in AdapTableQL
129
129
  *
130
130
  * @defaultValue null (sets all)
131
131
  * @gridInfoItem
132
132
  */
133
133
  systemObservableFunctions?: ObservableFunctionName[] | ((context: GlobalExpressionFunctionsContext<ObservableFunctionName>) => ObservableFunctionName[]);
134
134
  /**
135
- * System (built-in) AggregatedBoolean Expression Functions available in AdapTableQL
135
+ * System AggregatedBoolean Expression Functions available in AdapTableQL
136
136
  *
137
137
  * @defaultValue null (sets all)
138
138
  * @gridInfoItem
139
139
  */
140
140
  systemAggregatedBooleanFunctions?: AggregatedBooleanFunctionName[] | ((context: GlobalExpressionFunctionsContext<AggregatedBooleanFunctionName>) => AggregatedBooleanFunctionName[]);
141
141
  /**
142
- * System (built-in) AggregatedScalar Expression Functions available in AdapTableQL
142
+ * System AggregatedScalar Expression Functions available in AdapTableQL
143
143
  *
144
144
  * @defaultValue null (sets all)
145
145
  * @gridInfoItem
@@ -4,19 +4,19 @@ import { AdaptablePredicateDef, BaseContext, SystemAlertPredicateIds, SystemFilt
4
4
  */
5
5
  export interface PredicateOptions {
6
6
  /**
7
- * Set which System Filter Predicates are available - by List or Function
7
+ * Which System Filter Predicates are available - List or Function
8
8
  */
9
9
  systemFilterPredicates?: SystemFilterPredicateIds | ((context: SystemPredicatesContext) => SystemFilterPredicateIds);
10
10
  /**
11
- * Set which System Alert Predicates are available - by List or Function
11
+ * Which System Alert Predicates are available - List or Function
12
12
  */
13
13
  systemAlertPredicates?: SystemAlertPredicateIds | ((context: SystemPredicatesContext) => SystemAlertPredicateIds);
14
14
  /**
15
- * Set which System Format Column Predicates are available - by List or Function
15
+ * Which System Format Column Predicates are available - List or Function
16
16
  */
17
17
  systemFormatColumnPredicates?: SystemFormatColumnPredicateIds | ((context: SystemPredicatesContext) => SystemFormatColumnPredicateIds);
18
18
  /**
19
- * Set which System Flashing Cell Predicates are available - by List or Function
19
+ * Which System Flashing Cell Predicates are available - List or Function
20
20
  */
21
21
  systemFlashingCellPredicates?: SystemFlashingCellPredicateIds | ((context: SystemPredicatesContext) => SystemFlashingCellPredicateIds);
22
22
  }
@@ -78,8 +78,7 @@ export interface UserInterfaceOptions {
78
78
  showDocumentationLinks?: boolean;
79
79
  /**
80
80
  * Which sections to show in the Grid Info Screen
81
- *
82
- * @defaultValue ['GridSummary', 'AdaptableOptions', 'ColumnInfo', 'AdaptableObjectsSummary']
81
+ * @defaultValue ['GridSummary', 'AdaptableOptions', 'ColumnInfo', 'AdaptableObjects']
83
82
  */
84
83
  gridInfoSections?: GridInfoSections;
85
84
  /**
@@ -187,7 +186,10 @@ export interface BulkUpdatePermittedValuesContext extends PermittedValuesContext
187
186
  gridCells: GridCell[];
188
187
  }
189
188
  export declare type GridInfoSections = GridInfoSection[];
190
- export declare type GridInfoSection = 'GridSummary' | 'AdaptableOptions' | 'ColumnInfo' | 'AdaptableObjectsSummary';
189
+ /**
190
+ * Tabs available in the Grid Info Settings Panel
191
+ */
192
+ export declare type GridInfoSection = 'GridSummary' | 'AdaptableOptions' | 'ColumnInfo' | 'AdaptableObjects';
191
193
  export interface ObjectTagsContext extends BaseContext {
192
194
  }
193
195
  /**
@@ -22,9 +22,9 @@ export interface ActionApi {
22
22
  displayCreateActionRow(): void;
23
23
  /**
24
24
  * Open create dialog for cloning an existing row
25
- * @param clonedRowNodePrimaryKey - the primary key of the duplicated row
25
+ * @param primaryKey - Primary Key of the duplicated row
26
26
  */
27
- displayCloneActionRow(clonedRowNodePrimaryKey?: any): void;
27
+ displayCloneActionRow(primaryKey?: any): void;
28
28
  /**
29
29
  * TO BE REMOVED
30
30
  */
@@ -112,6 +112,16 @@ export interface FilterApi {
112
112
  * Unsuspend all Column Filters
113
113
  */
114
114
  unSuspendAllColumnFilters(): void;
115
+ /**
116
+ * Retrieves description of given Column Filter
117
+ * @param columnFilter Column Filter to use
118
+ */
119
+ columnFilterToString(columnFilter: ColumnFilter): string;
120
+ /**
121
+ * Retrieves descriptions of given Column Filters
122
+ * @param columnFilters Column Filters to use
123
+ */
124
+ columnFiltersToString(columnFilters: ColumnFilter[]): string;
115
125
  /**
116
126
  * TO BE REMOVED
117
127
  */
@@ -151,14 +161,6 @@ export interface FilterApi {
151
161
  * @deprecated internal method, will be removed in next major release
152
162
  */
153
163
  createEqualityColumnFilterForCell(gridCell: GridCell): ColumnFilter | null;
154
- /**
155
- * @deprecated internal method, will be removed in next major release
156
- */
157
- columnFilterToString(columnFilter: ColumnFilter): string;
158
- /**
159
- * @deprecated internal method, will be removed in next major release
160
- */
161
- columnFiltersToString(columnFilters: ColumnFilter[]): string;
162
164
  /**
163
165
  * @deprecated internal method, will be removed in next major release
164
166
  */
@@ -9,6 +9,6 @@ export declare class ActionApiImpl extends ApiBase implements ActionApi {
9
9
  getActionRowButtons(): ActionRowButtonType[];
10
10
  displayEditActionRow(primaryKey: any): void;
11
11
  displayCreateActionRow(): void;
12
- displayCloneActionRow(clonedRowNodePrimaryKey?: any): void;
12
+ displayCloneActionRow(primaryKey?: any): void;
13
13
  getAllActionColumn(): ActionColumn[];
14
14
  }
@@ -45,10 +45,10 @@ class ActionApiImpl extends ApiBase_1.ApiBase {
45
45
  Form: createForm,
46
46
  }));
47
47
  }
48
- displayCloneActionRow(clonedRowNodePrimaryKey) {
49
- const rowNode = this.adaptable.api.gridApi.getRowNodeForPrimaryKey(clonedRowNodePrimaryKey);
48
+ displayCloneActionRow(primaryKey) {
49
+ const rowNode = this.adaptable.api.gridApi.getRowNodeForPrimaryKey(primaryKey);
50
50
  if (!rowNode) {
51
- (0, LoggingHelper_1.LogAdaptableWarning)(`Can NOT clone row: rowNode not found for primaryKey ${clonedRowNodePrimaryKey}`);
51
+ (0, LoggingHelper_1.LogAdaptableWarning)(`Can NOT clone row: rowNode not found for primaryKey ${primaryKey}`);
52
52
  }
53
53
  const createForm = this.internalApi.buildRowCreateForm(rowNode);
54
54
  this.dispatchAction((0, PopupRedux_1.PopupShowForm)({
@@ -137,11 +137,9 @@ class FilterApiImpl extends ApiBase_1.ApiBase {
137
137
  return this.internalApi.createEqualityColumnFilterForCell(gridCell);
138
138
  }
139
139
  columnFilterToString(columnFilter) {
140
- (0, logDeprecation_1.logDeprecationInternal)('FilterApi', 'columnFilterToString');
141
140
  return this.internalApi.columnFilterToString(columnFilter);
142
141
  }
143
142
  columnFiltersToString(columnFilters) {
144
- (0, logDeprecation_1.logDeprecationInternal)('FilterApi', 'columnFiltersToString');
145
143
  return this.internalApi.columnFiltersToString(columnFilters);
146
144
  }
147
145
  evaluateColumnFilter(columnFilter, node) {
@@ -29,11 +29,11 @@ export interface Report extends AdaptableObject {
29
29
  */
30
30
  Name: SystemReportName | string;
31
31
  /**
32
- * Columns to display: options are 'AllColumns', 'VisibleColumns', 'SelectedColumns', 'ScopeColumns'
32
+ * Columns to display: 'AllColumns', 'VisibleColumns', 'SelectedColumns', 'ScopeColumns'
33
33
  */
34
34
  ReportColumnScope: ReportColumnScope;
35
35
  /**
36
- * Rows to export: options are 'AllRows', 'VisibleRows', 'SelectedCellRows', 'SelectedRows', 'ExpressionRows'
36
+ * Rows to export: 'AllRows', 'VisibleRows', 'SelectedCellRows', 'SelectedRows', 'ExpressionRows'
37
37
  */
38
38
  ReportRowScope: ReportRowScope;
39
39
  /**
@@ -68,7 +68,7 @@ export interface NumericStyledColumn {
68
68
  */
69
69
  ColumnComparison?: ColumnComparison;
70
70
  /**
71
- * Range can represent 'Number' (any number or Col-Min/Col-Max) or 'Percentage' (values 0-100)
71
+ * If using Ranges, they can provide 'Number' (any number or Col-Min/Col-Max) or 'Percentage' (values 0-100)
72
72
  * @defaultValue Number
73
73
  */
74
74
  RangeValueType?: RangeValueType;
@@ -252,7 +252,7 @@ exports.DefaultAdaptableOptions = {
252
252
  editLookUpItems: undefined,
253
253
  customDisplayFormatters: undefined,
254
254
  showDocumentationLinks: true,
255
- gridInfoSections: ['GridSummary', 'AdaptableOptions', 'ColumnInfo', 'AdaptableObjectsSummary'],
255
+ gridInfoSections: ['GridSummary', 'AdaptableOptions', 'ColumnInfo', 'AdaptableObjects'],
256
256
  showAdapTableVersion: true,
257
257
  },
258
258
  toolPanelOptions: {
@@ -75,13 +75,13 @@ const ConfigurationWizard = (props) => {
75
75
  render: () => (React.createElement(ConfigurationWizardColumnsStep_1.ConfigurationWizardColumnsStep, { adaptableOptions: adaptableOptions, setPrimaryKeyIsNotSelected: handlePrimaryKeyColumnIsNotSelected, onChange: setAdaptableOptions, selectedColumns: selectedColumns, onSelectionChange: handleColumnSelectionChange, onColumnChange: handleColumnsChange, columnsHandle: columnsHandle })),
76
76
  },
77
77
  {
78
- title: 'Adaptable Options',
78
+ title: 'AdapTable Options',
79
79
  details: 'Configure Adaptable Options',
80
80
  isValid: () => (adaptableOptions.adaptableId ? true : 'Adaptable ID is required'),
81
81
  render: () => (React.createElement(AdaptableOptionsForm_1.AdaptableOptionsForm, { adaptableOptions: adaptableOptions, onChangeadAptableOptions: setAdaptableOptions })),
82
82
  },
83
83
  {
84
- title: 'Grid Options',
84
+ title: 'AG Grid Options',
85
85
  details: 'Configure AG Grid Options',
86
86
  render: () => (React.createElement(GridOptionsForm_1.default, { adaptableOptions: adaptableOptions, onChangeadAptableOptions: setAdaptableOptions })),
87
87
  },
@@ -29,7 +29,7 @@ const UIOptionsActionColumnsForm = (props) => {
29
29
  props.onChange(Object.assign(Object.assign({}, props.abOptions), { actionOptions: Object.assign(Object.assign({}, (_a = props.abOptions) === null || _a === void 0 ? void 0 : _a.actionOptions), { actionRowButtons: newActionRowButtons }) }));
30
30
  };
31
31
  return (React.createElement(rebass_1.Box, null,
32
- React.createElement(HelpBlock_1.default, null, "Row Action Buttons"),
32
+ React.createElement(HelpBlock_1.default, null, "Action Row Buttons"),
33
33
  React.createElement(rebass_1.Flex, { width: "100%", m: 2 }, options.map((option) => (React.createElement(CheckBox_1.CheckBox, { mr: 3, key: option.value, checked: actionRowButtons.some((buttonName) => buttonName === option.value), onChange: (check) => handleCheckChange(option.value, check) }, option.label))))));
34
34
  };
35
35
  exports.UIOptionsActionColumnsForm = UIOptionsActionColumnsForm;
@@ -12,14 +12,15 @@ const UIElementsForm = (props) => {
12
12
  let abOptions = props.adaptableOptions;
13
13
  return (React.createElement(rebass_1.Box, { p: 2 },
14
14
  React.createElement(Tabs_1.Tabs, null,
15
+ React.createElement(Tabs_1.Tabs.Tab, null, "Tool Panel"),
16
+ React.createElement(Tabs_1.Tabs.Tab, null, "Status Bar"),
15
17
  React.createElement(Tabs_1.Tabs.Tab, null, "Action Rows"),
16
- React.createElement(Tabs_1.Tabs.Tab, null, "Sidebar"),
17
- React.createElement(Tabs_1.Tabs.Tab, null, "Statusbar"),
18
- React.createElement(Tabs_1.Tabs.Content, null,
19
- React.createElement(UIOptionsActionColumnsForm_1.UIOptionsActionColumnsForm, { abOptions: abOptions, onChange: props.onChangeadAptableOptions })),
20
18
  React.createElement(Tabs_1.Tabs.Content, null,
21
19
  React.createElement(UIOptionsSidebarForm_1.UIOptionsSidebarForm, { abOptions: abOptions, onChange: props.onChangeadAptableOptions })),
22
20
  React.createElement(Tabs_1.Tabs.Content, null,
23
- React.createElement(UIOptionsStatusbarForm_1.UIOptionsStatusbarForm, { abOptions: abOptions, onChange: props.onChangeadAptableOptions })))));
21
+ React.createElement(UIOptionsStatusbarForm_1.UIOptionsStatusbarForm, { abOptions: abOptions, onChange: props.onChangeadAptableOptions })),
22
+ ' ',
23
+ React.createElement(Tabs_1.Tabs.Content, null,
24
+ React.createElement(UIOptionsActionColumnsForm_1.UIOptionsActionColumnsForm, { abOptions: abOptions, onChange: props.onChangeadAptableOptions })))));
24
25
  };
25
26
  exports.UIElementsForm = UIElementsForm;
@@ -111,14 +111,13 @@ class FilterFormComponent extends React.Component {
111
111
  }
112
112
  async loadPermittedValues(filter = '') {
113
113
  const { values: distinctColumnValues, suppressClientSideFilter } = await (0, runIfNotResolvedIn_1.runIfNotResolvedIn)(this.props.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId, filter, this.props.api.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly), () => this._isMounted && this.setState({ isDistinctColumnValuesLoading: true }));
114
- if (!this._isMounted) {
115
- return;
114
+ if (this._isMounted) {
115
+ this.setState({
116
+ distinctColumnValues,
117
+ isDistinctColumnValuesLoading: false,
118
+ suppressClientSideFilter,
119
+ });
116
120
  }
117
- this.setState({
118
- distinctColumnValues,
119
- isDistinctColumnValuesLoading: false,
120
- suppressClientSideFilter,
121
- });
122
121
  }
123
122
  render() {
124
123
  var _a, _b;
@@ -33,14 +33,13 @@ class QuickFilterFormComponent extends React.Component {
33
33
  };
34
34
  this.loadPermittedValues = async (filter = '') => {
35
35
  const { values, suppressClientSideFilter } = await (0, runIfNotResolvedIn_1.runIfNotResolvedIn)(this.props.api.gridApi.internalApi.getDistinctFilterDisplayValuesForColumn(this.props.currentColumn.columnId, filter, this.props.api.optionsApi.getFilterOptions().showDistinctFilteredValuesOnly), () => this._isMounted && this.setState({ isDistinctColumnValuesLoading: true }));
36
- if (!this._isMounted) {
37
- return;
36
+ if (this._isMounted) {
37
+ this.setState({
38
+ distinctColumnValues: values,
39
+ suppressClientSideFilter,
40
+ isDistinctColumnValuesLoading: false,
41
+ });
38
42
  }
39
- this.setState({
40
- distinctColumnValues: values,
41
- suppressClientSideFilter,
42
- isDistinctColumnValuesLoading: false,
43
- });
44
43
  };
45
44
  this.debouncedAddFilter = (0, debounce_1.default)(() => this.props.onAddColumnFilter(this.state.filter), 250);
46
45
  this.debouncedEditFilter = (0, debounce_1.default)(() => this.props.onEditColumnFilter(this.state.filter), 250);
@@ -67,7 +66,9 @@ class QuickFilterFormComponent extends React.Component {
67
66
  this.handleGridValueChange();
68
67
  });
69
68
  if ((_c = this.props.api.optionsApi.getFilterOptions()) === null || _c === void 0 ? void 0 : _c.showDistinctFilteredValuesOnly) {
70
- this.props.api.internalApi.getAdaptableInstance()._on('GridFiltered', () => {
69
+ this.unsubscribeOnGridFiltered = this.props.api.internalApi
70
+ .getAdaptableInstance()
71
+ ._on('GridFiltered', () => {
71
72
  const filter = this.getFilterFromProps();
72
73
  if (this.hasValuesPredicate(filter === null || filter === void 0 ? void 0 : filter.Predicate)) {
73
74
  this.loadPermittedValues();
@@ -76,10 +77,13 @@ class QuickFilterFormComponent extends React.Component {
76
77
  }
77
78
  }
78
79
  componentWillUnmount() {
79
- var _a, _b;
80
+ var _a, _b, _c;
80
81
  this._isMounted = false;
81
82
  (_a = this.unsubscribeOnCellChanged) === null || _a === void 0 ? void 0 : _a.call(this);
82
83
  (_b = this.unsubscribeOnGridDataChanged) === null || _b === void 0 ? void 0 : _b.call(this);
84
+ if (this.unsubscribeOnGridFiltered) {
85
+ (_c = this.unsubscribeOnGridFiltered) === null || _c === void 0 ? void 0 : _c.call(this);
86
+ }
83
87
  }
84
88
  isFilterDisabled() {
85
89
  return Boolean(this.state.filter.IsSuspended);
@@ -25,7 +25,7 @@ const GridInfoPopup = (props) => {
25
25
  * Because it is not associated with a module yet, setting this flag to true.
26
26
  * Needed for the logic weather to show radio buttons (buttons.length >= 2)
27
27
  */
28
- const showAdaptableObjects = entitlementService.isGridInfoSectionVisible('AdaptableObjectsSummary');
28
+ const showAdaptableObjects = entitlementService.isGridInfoSectionVisible('AdaptableObjects');
29
29
  const [state, setState] = React.useState({
30
30
  ActiveTab: ((_a = props.popupParams) === null || _a === void 0 ? void 0 : _a.column)
31
31
  ? 'ColumnInfo'
@@ -109,10 +109,10 @@ const GridInfoPopup = (props) => {
109
109
  showGridSummary && (React.createElement(Radio_1.default, { className: `${baseClassName}__option-radio`, "data-name": "radioButton-GridSummary", marginRight: 3, value: "GridSummary", checked: state.ActiveTab == 'GridSummary', onChange: (_, e) => onShowGridSummaryChanged('GridSummary') }, "Summary")),
110
110
  showAdaptableOptions && (React.createElement(Radio_1.default, { "data-name": "radioButton-AdaptableOptions", marginRight: 3, value: "AdaptableOptions", checked: state.ActiveTab == 'AdaptableOptions', onChange: (_, e) => onShowGridSummaryChanged('AdaptableOptions') }, "Options")),
111
111
  showColumnInfo && (React.createElement(Radio_1.default, { "data-name": "radioButton-Column", marginRight: 3, value: "Column", checked: state.ActiveTab == 'ColumnInfo', onChange: (_, e) => onShowGridSummaryChanged('ColumnInfo') }, "Columns")),
112
- showAdaptableObjects && (React.createElement(Radio_1.default, { "data-name": "radioButton-Column", value: "Column", checked: state.ActiveTab == 'AdaptableObjectsSummary', onChange: (_, e) => onShowGridSummaryChanged('AdaptableObjectsSummary') }, "Objects"))))),
112
+ showAdaptableObjects && (React.createElement(Radio_1.default, { "data-name": "radioButton-Column", value: "Column", checked: state.ActiveTab == 'AdaptableObjects', onChange: (_, e) => onShowGridSummaryChanged('AdaptableObjects') }, "Objects"))))),
113
113
  state.ActiveTab == 'GridSummary' && (React.createElement(AdaptableObjectCollection_1.AdaptableObjectCollection, { margin: 2, colItems: propValueColItems, items: gridSummaries })),
114
114
  state.ActiveTab == 'AdaptableOptions' && React.createElement(AdaptableOptionsComponent_1.AdaptableOptionsComponent, { api: props.api }),
115
115
  state.ActiveTab == 'ColumnInfo' && (React.createElement(ColumnInfoComponent_1.ColumnInfoComponent, { api: props.api, teamSharingActivated: props.teamSharingActivated, column: state.CurrentColumn })),
116
- state.ActiveTab === 'AdaptableObjectsSummary' && React.createElement(AdaptableObjectsSummary_1.AdaptableObjectsSummary, null))));
116
+ state.ActiveTab === 'AdaptableObjects' && React.createElement(AdaptableObjectsSummary_1.AdaptableObjectsSummary, null))));
117
117
  };
118
118
  exports.GridInfoPopup = GridInfoPopup;
@@ -777,6 +777,16 @@ export declare const ADAPTABLE_METAMODEL: {
777
777
  defaultValue: string;
778
778
  gridInfo?: undefined;
779
779
  reference?: undefined;
780
+ } | {
781
+ name: string;
782
+ kind: string;
783
+ description: string;
784
+ uiLabel: string;
785
+ isOptional: boolean;
786
+ defaultValue: string;
787
+ gridInfo?: undefined;
788
+ noCode?: undefined;
789
+ reference?: undefined;
780
790
  } | {
781
791
  name: string;
782
792
  kind: string;
@@ -3607,6 +3617,11 @@ export declare const ADAPTABLE_METAMODEL: {
3607
3617
  uiLabel: string;
3608
3618
  }[];
3609
3619
  };
3620
+ GridInfoSection: {
3621
+ name: string;
3622
+ kind: string;
3623
+ description: string;
3624
+ };
3610
3625
  GridRow: {
3611
3626
  name: string;
3612
3627
  kind: string;