@adaptabletools/adaptable 12.0.0-canary.0 → 12.0.0-canary.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/base.css +561 -283
- package/bundle.cjs.js +162 -148
- package/index.css +631 -280
- package/package.json +3 -3
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +1 -0
- package/src/AdaptableOptions/AlertOptions.d.ts +5 -9
- package/src/AdaptableOptions/DashboardOptions.d.ts +1 -5
- package/src/AdaptableOptions/DataChangeHistoryOptions.d.ts +2 -2
- package/src/AdaptableOptions/EditOptions.d.ts +26 -8
- package/src/AdaptableOptions/ExportOptions.d.ts +4 -7
- package/src/AdaptableOptions/GeneralOptions.d.ts +12 -2
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -5
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +21 -3
- package/src/Api/AlertApi.d.ts +3 -3
- package/src/Api/ColumnApi.d.ts +7 -2
- package/src/Api/EventApi.d.ts +11 -0
- package/src/Api/Events/RowFormSubmitted.d.ts +15 -0
- package/src/Api/Events/SearchChanged.d.ts +1 -1
- package/src/Api/ExportApi.d.ts +2 -2
- package/src/Api/FilterApi.d.ts +69 -1
- package/src/Api/Implementation/AlertApiImpl.d.ts +3 -3
- package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ColumnApiImpl.js +15 -14
- package/src/Api/Implementation/ConfigApiImpl.js +1 -1
- package/src/Api/Implementation/ExportApiImpl.d.ts +2 -2
- package/src/Api/Implementation/FilterApiImpl.d.ts +16 -1
- package/src/Api/Implementation/FilterApiImpl.js +141 -0
- package/src/Api/Implementation/FormatColumnApiImpl.js +2 -2
- package/src/Api/Implementation/GridApiImpl.js +7 -3
- package/src/Api/Implementation/InternalApiImpl.d.ts +3 -3
- package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -15
- package/src/Api/Implementation/LayoutApiImpl.js +0 -152
- package/src/Api/Implementation/PredicateApiImpl.d.ts +2 -0
- package/src/Api/Implementation/PredicateApiImpl.js +18 -0
- package/src/Api/LayoutApi.d.ts +1 -72
- package/src/Api/PredicateApi.d.ts +7 -0
- package/src/PredefinedConfig/AlertState.d.ts +4 -4
- package/src/PredefinedConfig/Common/AdaptableColumn.d.ts +1 -1
- package/src/PredefinedConfig/Common/FormContext.d.ts +11 -0
- package/src/PredefinedConfig/Common/FormContext.js +2 -0
- package/src/Redux/ActionsReducers/LayoutRedux.js +0 -1
- package/src/Redux/ActionsReducers/PopupRedux.d.ts +3 -2
- package/src/Redux/Store/AdaptableStore.js +6 -0
- package/src/Strategy/AdaptableModuleBase.js +1 -2
- package/src/Strategy/BulkUpdateModule.js +3 -4
- package/src/Strategy/CellSummaryModule.js +1 -2
- package/src/Strategy/FilterModule.js +15 -18
- package/src/Strategy/LayoutModule.js +1 -0
- package/src/Strategy/PlusMinusModule.js +1 -4
- package/src/Strategy/SmartEditModule.js +2 -2
- package/src/Utilities/Constants/GeneralConstants.d.ts +2 -0
- package/src/Utilities/Constants/GeneralConstants.js +3 -1
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +2 -0
- package/src/Utilities/Services/CalculatedColumnExpressionService.js +6 -7
- package/src/Utilities/Services/RowEditService.d.ts +1 -0
- package/src/Utilities/Services/RowEditService.js +34 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.d.ts +8 -3
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +3 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +9 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.d.ts +30 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +87 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.d.ts +18 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +16 -0
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.d.ts +2 -9
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +2 -75
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.d.ts +3 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/useSelection.js +9 -4
- package/src/View/AdaptableWizardView/Utils.d.ts +1 -0
- package/src/View/AdaptableWizardView/Utils.js +24 -0
- package/src/View/AdaptableWizardView/Wizard.d.ts +54 -0
- package/src/View/AdaptableWizardView/Wizard.js +98 -0
- package/src/View/AdaptableWizardView/index.d.ts +1 -22
- package/src/View/AdaptableWizardView/index.js +2 -103
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -1
- package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +3 -3
- package/src/View/Alert/Wizard/AlertDisplayWizardSection.js +2 -2
- package/src/View/Alert/Wizard/BaseAlertRulesWizardSection.js +1 -1
- package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +2 -2
- package/src/View/BulkUpdate/BulkUpdatePopup.js +2 -3
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +3 -4
- package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +5 -6
- package/src/View/CellSummary/CellSummaryDetails.js +2 -2
- package/src/View/Components/FilterForm/FilterForm.js +1 -1
- package/src/View/Components/FilterForm/QuickFilterForm.js +1 -1
- package/src/View/Components/PreviewResultsPanel.js +3 -3
- package/src/View/Components/WizardSummaryPage.js +2 -2
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleRuleWizardSection.js +1 -1
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleScopeWizardSection.js +1 -1
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +1 -1
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleStyleWizardSection.js +1 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +1 -1
- package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +2 -2
- package/src/View/Export/Wizard/ReportColumnsWizardSection.js +1 -1
- package/src/View/Export/Wizard/ReportNameWizardSection.js +1 -1
- package/src/View/Export/Wizard/ReportRowsWizardSection.js +1 -1
- package/src/View/Filter/ActiveFiltersPanel.js +1 -1
- package/src/View/Filter/FilterSummary.js +1 -1
- package/src/View/Filter/FilterViewPanel.js +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +2 -2
- package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +1 -1
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +1 -1
- package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
- package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +5 -6
- package/src/View/GridInfo/ColumnInfoComponent.js +1 -1
- package/src/View/GridInfo/GridInfoPopup.js +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +2 -2
- package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +1 -1
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +2 -2
- package/src/View/Query/Wizard/NamedQueryExpressionWizardSection.js +1 -1
- package/src/View/Query/Wizard/NamedQuerySettingsWizardSection.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +1 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +1 -1
- package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +1 -1
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +2 -2
- package/src/View/UIHelper.js +6 -6
- package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +2 -2
- package/src/View/Wizard/ObjectTagsWizardSection.js +1 -1
- package/src/View/Wizard/OnePageAdaptableWizard.d.ts +5 -6
- package/src/View/Wizard/OnePageAdaptableWizard.js +35 -169
- package/src/View/Wizard/OnePageWizards.d.ts +37 -0
- package/src/View/Wizard/OnePageWizards.js +187 -0
- package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
- package/src/agGrid/Adaptable.js +25 -11
- package/src/agGrid/FilterWrapper.js +2 -2
- package/src/agGrid/agGridHelper.d.ts +2 -3
- package/src/agGrid/agGridHelper.js +37 -33
- package/src/agGrid/rowEditIcons.d.ts +1 -0
- package/src/agGrid/rowEditIcons.js +2 -1
- package/src/components/Datepicker/Caption.js +1 -1
- package/src/components/InfiniteTable/index.js +1 -0
- package/src/components/List/GridList/index.js +1 -1
- package/src/components/WindowModal/WindowModal.js +13 -7
- package/src/components/icons/add-row.d.ts +3 -0
- package/src/components/icons/add-row.js +7 -0
- package/src/components/icons/index.js +2 -0
- package/src/metamodel/adaptable.metamodel.d.ts +106 -22
- package/src/metamodel/adaptable.metamodel.js +238 -121
- package/src/types.d.ts +5 -4
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -3,7 +3,7 @@ import { ExportState, Report, ReportData, ReportSchedule, SystemReportNames } fr
|
|
|
3
3
|
import { ApiBase } from './ApiBase';
|
|
4
4
|
import { AdaptableForm } from '../../PredefinedConfig/Common/AdaptableForm';
|
|
5
5
|
import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
|
|
6
|
-
import { CustomDestination,
|
|
6
|
+
import { CustomDestination, ExportFormContext } from '../../AdaptableOptions/ExportOptions';
|
|
7
7
|
import { ExportDestination } from '../../PredefinedConfig/Common/Enums';
|
|
8
8
|
export declare class ExportApiImpl extends ApiBase implements ExportApi {
|
|
9
9
|
getExportState(): ExportState;
|
|
@@ -22,7 +22,7 @@ export declare class ExportApiImpl extends ApiBase implements ExportApi {
|
|
|
22
22
|
selectDestination(destinationName: string): void;
|
|
23
23
|
getAllCustomDestination(): CustomDestination[];
|
|
24
24
|
isExportDestinationCustom(destinationName: string): boolean;
|
|
25
|
-
getExportDestinationForm(destinationName: string): AdaptableForm<
|
|
25
|
+
getExportDestinationForm(destinationName: string): AdaptableForm<ExportFormContext> | undefined;
|
|
26
26
|
canExportToExcel(): boolean;
|
|
27
27
|
exportDataToExcel(reportData: ReportData, fileName: string): void;
|
|
28
28
|
showExportPopup(): void;
|
|
@@ -2,7 +2,8 @@ import { ApiBase } from './ApiBase';
|
|
|
2
2
|
import { FilterApi } from '../FilterApi';
|
|
3
3
|
import { AdaptablePredicateDef } from '../../PredefinedConfig/Common/AdaptablePredicate';
|
|
4
4
|
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
|
|
5
|
-
import { SystemFilterPredicateIds } from '../../types';
|
|
5
|
+
import { ColumnFilter, GridCell, SystemFilterPredicateIds } from '../../types';
|
|
6
|
+
import { RowNode } from '@ag-grid-community/all-modules';
|
|
6
7
|
export declare class FilterApiImpl extends ApiBase implements FilterApi {
|
|
7
8
|
getAllSystemFilterIds(): SystemFilterPredicateIds;
|
|
8
9
|
findPredicateDefByShortcut(shortcut: string, column: AdaptableColumn): AdaptablePredicateDef;
|
|
@@ -13,4 +14,18 @@ export declare class FilterApiImpl extends ApiBase implements FilterApi {
|
|
|
13
14
|
hideQuickFilterBar(): void;
|
|
14
15
|
isQuickFilterAvailable(): boolean;
|
|
15
16
|
isQuickFilterVisible(): boolean;
|
|
17
|
+
getColumnFilters(): ColumnFilter[];
|
|
18
|
+
setColumnFilter(columnFilters: ColumnFilter[]): ColumnFilter[] | null;
|
|
19
|
+
clearColumnFilter(columnFilter: ColumnFilter): void;
|
|
20
|
+
clearColumnFilterByColumns(columns: string[]): void;
|
|
21
|
+
clearColumnFilterByColumn(column: string): void;
|
|
22
|
+
clearColumnFilters(): void;
|
|
23
|
+
clearAndSetColumnFilter(columnFilters: ColumnFilter[]): void;
|
|
24
|
+
getAllColumnFilterForColumn(column: string): ColumnFilter[];
|
|
25
|
+
createValuesColumnFilterForCells(gridCells: GridCell[]): ColumnFilter | null;
|
|
26
|
+
createEqualityColumnFilterForCell(gridCell: GridCell): ColumnFilter | null;
|
|
27
|
+
columnFilterToString(columnFilter: ColumnFilter): string;
|
|
28
|
+
columnFiltersToString(columnFilters: ColumnFilter[]): string;
|
|
29
|
+
evaluateColumnFilter(columnFilter: ColumnFilter, node: RowNode): boolean;
|
|
30
|
+
private getColumnFilterById;
|
|
16
31
|
}
|
|
@@ -3,7 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FilterApiImpl = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const SystemRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/SystemRedux"));
|
|
6
|
+
const LayoutRedux = tslib_1.__importStar(require("../../Redux/ActionsReducers/LayoutRedux"));
|
|
6
7
|
const ApiBase_1 = require("./ApiBase");
|
|
8
|
+
const StringExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/StringExtensions"));
|
|
9
|
+
const LoggingHelper_1 = require("../../Utilities/Helpers/LoggingHelper");
|
|
7
10
|
class FilterApiImpl extends ApiBase_1.ApiBase {
|
|
8
11
|
getAllSystemFilterIds() {
|
|
9
12
|
return this.getFilterOptions().systemFilters;
|
|
@@ -38,5 +41,143 @@ class FilterApiImpl extends ApiBase_1.ApiBase {
|
|
|
38
41
|
return (this.isQuickFilterAvailable() &&
|
|
39
42
|
this.adaptable.api.internalApi.getSystemState().IsQuickFilterVisible);
|
|
40
43
|
}
|
|
44
|
+
getColumnFilters() {
|
|
45
|
+
var _a;
|
|
46
|
+
const currentLayout = this.adaptable.api.layoutApi.getCurrentLayout();
|
|
47
|
+
return (_a = currentLayout.ColumnFilters) !== null && _a !== void 0 ? _a : [];
|
|
48
|
+
}
|
|
49
|
+
setColumnFilter(columnFilters) {
|
|
50
|
+
columnFilters.forEach((columnFilter) => {
|
|
51
|
+
if (!columnFilter.Predicate) {
|
|
52
|
+
LoggingHelper_1.LogAdaptableWarning('Column Filter has no Predicate', columnFilter);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
const isValidPredicate = this.adaptable.api.predicateApi.isValidPredicate(columnFilter.Predicate);
|
|
56
|
+
if (!isValidPredicate) {
|
|
57
|
+
LoggingHelper_1.LogAdaptableWarning('Column Filter Predicate is not valid', columnFilter);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.addUidToAdaptableObject(columnFilter);
|
|
61
|
+
if (this.getColumnFilters().find((cf) => cf.ColumnId == columnFilter.ColumnId)) {
|
|
62
|
+
this.dispatchAction(LayoutRedux.LayoutColumnFilterSet(columnFilter));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.dispatchAction(LayoutRedux.LayoutColumnFilterAdd(columnFilter));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((columnFilter) => this.getColumnFilterById(columnFilter.Uuid));
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
clearColumnFilter(columnFilter) {
|
|
74
|
+
this.dispatchAction(LayoutRedux.LayoutColumnFilterClear(columnFilter));
|
|
75
|
+
}
|
|
76
|
+
clearColumnFilterByColumns(columns) {
|
|
77
|
+
columns.forEach((c) => {
|
|
78
|
+
this.clearColumnFilterByColumn(c);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
clearColumnFilterByColumn(column) {
|
|
82
|
+
let columnFiltersForColumn = this.getAllColumnFilterForColumn(column);
|
|
83
|
+
if (columnFiltersForColumn) {
|
|
84
|
+
columnFiltersForColumn.forEach((cf) => {
|
|
85
|
+
this.dispatchAction(LayoutRedux.LayoutColumnFilterClear(cf));
|
|
86
|
+
});
|
|
87
|
+
this.adaptable.clearColumnFiltering([column]);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
clearColumnFilters() {
|
|
91
|
+
this.dispatchAction(LayoutRedux.LayoutColumnFilterClearAll());
|
|
92
|
+
this.adaptable.clearGridFiltering();
|
|
93
|
+
}
|
|
94
|
+
clearAndSetColumnFilter(columnFilters) {
|
|
95
|
+
this.clearColumnFilters();
|
|
96
|
+
columnFilters.forEach((columnFilter) => {
|
|
97
|
+
if (this.getColumnFilters().find((cf) => cf.ColumnId == columnFilter.ColumnId)) {
|
|
98
|
+
this.dispatchAction(LayoutRedux.LayoutColumnFilterSet(columnFilter));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.dispatchAction(LayoutRedux.LayoutColumnFilterAdd(columnFilter));
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
getAllColumnFilterForColumn(column) {
|
|
106
|
+
let columnFilters = this.getColumnFilters();
|
|
107
|
+
if (columnFilters) {
|
|
108
|
+
return columnFilters.filter((cf) => cf.ColumnId == column);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
createValuesColumnFilterForCells(gridCells) {
|
|
115
|
+
if (!gridCells) {
|
|
116
|
+
return null;
|
|
117
|
+
}
|
|
118
|
+
const filter = {
|
|
119
|
+
ColumnId: gridCells[0].column.columnId,
|
|
120
|
+
Predicate: {
|
|
121
|
+
PredicateId: 'Values',
|
|
122
|
+
Inputs: [...new Set(gridCells.map((gc) => gc.displayValue))],
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
const [savedFilter] = this.setColumnFilter([filter]) || [null];
|
|
126
|
+
return savedFilter;
|
|
127
|
+
}
|
|
128
|
+
createEqualityColumnFilterForCell(gridCell) {
|
|
129
|
+
if (!gridCell) {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
const column = gridCell.column;
|
|
133
|
+
const filter = {
|
|
134
|
+
ColumnId: column.columnId,
|
|
135
|
+
Predicate: {
|
|
136
|
+
PredicateId: this.adaptable.api.predicateApi.getEqualityPredicateForDataType(column.dataType),
|
|
137
|
+
Inputs: [...new Set([gridCell.rawValue])],
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
const [savedFilter] = this.setColumnFilter([filter]) || [null];
|
|
141
|
+
return savedFilter;
|
|
142
|
+
}
|
|
143
|
+
columnFilterToString(columnFilter) {
|
|
144
|
+
const friendlyName = this.adaptable.api.columnApi.getFriendlyNameFromColumnId(columnFilter.ColumnId);
|
|
145
|
+
return ('[' +
|
|
146
|
+
friendlyName +
|
|
147
|
+
'] ' +
|
|
148
|
+
this.adaptable.api.predicateApi.predicateToString(columnFilter.Predicate));
|
|
149
|
+
}
|
|
150
|
+
columnFiltersToString(columnFilters) {
|
|
151
|
+
return columnFilters.map((cf) => this.columnFilterToString(cf)).join(', ');
|
|
152
|
+
}
|
|
153
|
+
evaluateColumnFilter(columnFilter, node) {
|
|
154
|
+
var _a;
|
|
155
|
+
if (!columnFilter.Predicate) {
|
|
156
|
+
return true;
|
|
157
|
+
}
|
|
158
|
+
if ((_a = columnFilter.Predicate.Inputs) === null || _a === void 0 ? void 0 : _a.some((input) => StringExtensions_1.default.IsNullOrEmpty(input))) {
|
|
159
|
+
return true;
|
|
160
|
+
}
|
|
161
|
+
const column = this.adaptable.api.columnApi.getColumnFromId(columnFilter.ColumnId);
|
|
162
|
+
if (!column) {
|
|
163
|
+
return true;
|
|
164
|
+
}
|
|
165
|
+
const gridCell = this.adaptable.api.gridApi.getGridCellFromRowNode(node, columnFilter.ColumnId);
|
|
166
|
+
if (!gridCell) {
|
|
167
|
+
return true;
|
|
168
|
+
}
|
|
169
|
+
let value = gridCell.normalisedValue;
|
|
170
|
+
return this.adaptable.api.predicateApi.handlePredicate(columnFilter.Predicate, {
|
|
171
|
+
value: value,
|
|
172
|
+
oldValue: null,
|
|
173
|
+
displayValue: gridCell.displayValue,
|
|
174
|
+
node,
|
|
175
|
+
column,
|
|
176
|
+
}, true);
|
|
177
|
+
}
|
|
178
|
+
getColumnFilterById(id) {
|
|
179
|
+
var _a;
|
|
180
|
+
return (_a = this.getColumnFilters()) === null || _a === void 0 ? void 0 : _a.find((columnFilter) => columnFilter.Uuid === id);
|
|
181
|
+
}
|
|
41
182
|
}
|
|
42
183
|
exports.FilterApiImpl = FilterApiImpl;
|
|
@@ -275,13 +275,13 @@ class FormatColumnApiImpl extends ApiBase_1.ApiBase {
|
|
|
275
275
|
this.adaptable.api.eventApi.emit('CheckboxColumnClicked', checkboxColumnClickedInfo);
|
|
276
276
|
}
|
|
277
277
|
applyCustomFormatters(value, options) {
|
|
278
|
-
var _a, _b;
|
|
278
|
+
var _a, _b, _c;
|
|
279
279
|
const columnCustomFormatters = (_a = options === null || options === void 0 ? void 0 : options.CustomDisplayFormats) !== null && _a !== void 0 ? _a : [];
|
|
280
280
|
if (!(columnCustomFormatters === null || columnCustomFormatters === void 0 ? void 0 : columnCustomFormatters.length)) {
|
|
281
281
|
return value;
|
|
282
282
|
}
|
|
283
283
|
const adaptableOptions = this.adaptable.adaptableOptions;
|
|
284
|
-
const customFormattersFromOptions = (_b = adaptableOptions === null || adaptableOptions === void 0 ? void 0 : adaptableOptions.userInterfaceOptions) === null || _b === void 0 ? void 0 : _b.customDisplayFormatters;
|
|
284
|
+
const customFormattersFromOptions = (_c = (_b = adaptableOptions === null || adaptableOptions === void 0 ? void 0 : adaptableOptions.userInterfaceOptions) === null || _b === void 0 ? void 0 : _b.customDisplayFormatters) !== null && _c !== void 0 ? _c : [];
|
|
285
285
|
// formatters are applied in the order they are defined in the options
|
|
286
286
|
const customFormatters = customFormattersFromOptions.filter((customFormatterOption) => columnCustomFormatters.includes(customFormatterOption.id));
|
|
287
287
|
return customFormatters.reduce((acc, formatter) => {
|
|
@@ -90,7 +90,7 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
90
90
|
}
|
|
91
91
|
clearGridFiltering() {
|
|
92
92
|
// slightly round the houses but we have to call FilterAPI as it does it properly
|
|
93
|
-
this.adaptable.api.
|
|
93
|
+
this.adaptable.api.filterApi.clearColumnFilters();
|
|
94
94
|
}
|
|
95
95
|
getAgGridInstance() {
|
|
96
96
|
return this.adaptable.adaptableOptions.gridOptions;
|
|
@@ -378,7 +378,9 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
378
378
|
if (!rowNode) {
|
|
379
379
|
LoggingHelper_1.LogAdaptableWarning(`Can NOT edit row: rowNode not found for primaryKey ${primaryKey}`);
|
|
380
380
|
}
|
|
381
|
-
const editForm = this.adaptable.api.internalApi
|
|
381
|
+
const editForm = this.adaptable.api.internalApi
|
|
382
|
+
.getRowEditService()
|
|
383
|
+
.buildRowEditForm(rowNode);
|
|
382
384
|
this.dispatchAction(PopupRedux_1.PopupShowForm({
|
|
383
385
|
Id: 'edit_row_form',
|
|
384
386
|
Form: editForm,
|
|
@@ -389,7 +391,9 @@ class GridApiImpl extends ApiBase_1.ApiBase {
|
|
|
389
391
|
}));
|
|
390
392
|
}
|
|
391
393
|
openCreateRowForm(duplicatedRowNodePrimaryKey) {
|
|
392
|
-
const createForm = this.adaptable.api.internalApi
|
|
394
|
+
const createForm = this.adaptable.api.internalApi
|
|
395
|
+
.getRowEditService()
|
|
396
|
+
.buildRowCreateForm();
|
|
393
397
|
this.dispatchAction(PopupRedux_1.PopupShowForm({
|
|
394
398
|
Id: 'create_row_form',
|
|
395
399
|
Form: createForm,
|
|
@@ -11,7 +11,7 @@ import { SelectedRowInfo } from '../../PredefinedConfig/Selection/SelectedRowInf
|
|
|
11
11
|
import { AdaptableModule, AdaptableQLModule } from '../../PredefinedConfig/Common/Types';
|
|
12
12
|
import { GridCell } from '../../PredefinedConfig/Selection/GridCell';
|
|
13
13
|
import { CellDataChangedInfo } from '../../PredefinedConfig/Common/CellDataChangedInfo';
|
|
14
|
-
import { AdaptableCellChangedAlert, AdaptableOptions, AdaptableRowChangedAlert, AdaptableState,
|
|
14
|
+
import { AdaptableCellChangedAlert, AdaptableOptions, AdaptableRowChangedAlert, AdaptableState, AlertFormContext, BaseContext, Layout, LayoutAssociatedObject, SystemStatusMessageInfo, SharedEntity, AdaptableIcon } from '../../types';
|
|
15
15
|
import { IValidationService } from '../../Utilities/Services/Interface/IValidationService';
|
|
16
16
|
import { IModuleService } from '../../Utilities/Services/Interface/IModuleService';
|
|
17
17
|
import { IReportService } from '../../Utilities/Services/Interface/IReportService';
|
|
@@ -39,8 +39,8 @@ import { EditLookUpPermittedValues } from '../../../types';
|
|
|
39
39
|
import { IRowEditService } from '../../Utilities/Services/Interface/IRowEditService';
|
|
40
40
|
export declare class InternalApiImpl extends ApiBase implements InternalApi {
|
|
41
41
|
getSystemState(): SystemState;
|
|
42
|
-
getAdaptableFormFromAlertForm(alertForm: string | AlertButtonForm, context: any, defaultMessageType?: AdaptableMessageType): (Omit<AdaptableForm<
|
|
43
|
-
buttons?: (Omit<AdaptableButton<
|
|
42
|
+
getAdaptableFormFromAlertForm(alertForm: string | AlertButtonForm, context: any, defaultMessageType?: AdaptableMessageType): (Omit<AdaptableForm<AlertFormContext>, 'buttons'> & {
|
|
43
|
+
buttons?: (Omit<AdaptableButton<AlertFormContext>, 'buttonStyle'> & {
|
|
44
44
|
buttonStyle?: ButtonStyle;
|
|
45
45
|
})[];
|
|
46
46
|
}) | undefined;
|
|
@@ -3,8 +3,7 @@ import { LayoutApi } from '../LayoutApi';
|
|
|
3
3
|
import { LayoutState, Layout } from '../../PredefinedConfig/LayoutState';
|
|
4
4
|
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
|
|
5
5
|
import { ColumnSort } from '../../PredefinedConfig/Common/ColumnSort';
|
|
6
|
-
import {
|
|
7
|
-
import { RowNode } from '@ag-grid-community/all-modules';
|
|
6
|
+
import { LayoutAssociatedObject } from '../../types';
|
|
8
7
|
export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
|
|
9
8
|
getLayoutState(): LayoutState;
|
|
10
9
|
shouldAutoSaveLayout: (layout?: Layout) => boolean;
|
|
@@ -43,19 +42,6 @@ export declare class LayoutApiImpl extends ApiBase implements LayoutApi {
|
|
|
43
42
|
isCurrentLayoutDefault(): boolean;
|
|
44
43
|
areExpandedRowGroupsSavedInLayouts(): boolean;
|
|
45
44
|
isObjectAvailableInCurrentLayout(adaptableObject: LayoutAssociatedObject): boolean;
|
|
46
|
-
getAllColumnFilter(): ColumnFilter[];
|
|
47
|
-
getColumnFilterById(id: ColumnFilter['Uuid']): ColumnFilter;
|
|
48
|
-
setColumnFilter(columnFilters: ColumnFilter[]): ColumnFilter[] | null;
|
|
49
|
-
clearColumnFilter(columnFilter: ColumnFilter): void;
|
|
50
|
-
clearColumnFilterByColumns(columns: string[]): void;
|
|
51
|
-
clearColumnFilterByColumn(column: string): void;
|
|
52
|
-
clearAllColumnFilter(): void;
|
|
53
|
-
clearAndSetColumnFilter(columnFilters: ColumnFilter[]): void;
|
|
54
|
-
getAllColumnFilterForColumn(column: string): ColumnFilter[];
|
|
55
|
-
createColumnFilterForCell(columnId: string, primarykeyValues: any[]): ColumnFilter | null;
|
|
56
|
-
columnFilterToString(columnFilter: ColumnFilter): string;
|
|
57
|
-
columnFiltersToString(columnFilters: ColumnFilter[]): string;
|
|
58
|
-
evaluateColumnFilter(columnFilter: ColumnFilter, node: RowNode): boolean;
|
|
59
45
|
removeColumnFromCurrentLayout(columnId: string): void;
|
|
60
46
|
removeColumnFromAllLayouts(columnId: string): void;
|
|
61
47
|
removeColumnFromLayout(columnId: string, layoutName: string): void;
|
|
@@ -321,158 +321,6 @@ class LayoutApiImpl extends ApiBase_1.ApiBase {
|
|
|
321
321
|
? true
|
|
322
322
|
: (_a = adaptableObject.Tags) === null || _a === void 0 ? void 0 : _a.map((tag) => tag).includes(this.getCurrentLayoutName());
|
|
323
323
|
}
|
|
324
|
-
getAllColumnFilter() {
|
|
325
|
-
var _a;
|
|
326
|
-
const currentLayout = this.getCurrentLayout();
|
|
327
|
-
return (_a = currentLayout.ColumnFilters) !== null && _a !== void 0 ? _a : [];
|
|
328
|
-
}
|
|
329
|
-
getColumnFilterById(id) {
|
|
330
|
-
var _a;
|
|
331
|
-
return (_a = this.getAllColumnFilter()) === null || _a === void 0 ? void 0 : _a.find((columnFilter) => columnFilter.Uuid === id);
|
|
332
|
-
}
|
|
333
|
-
setColumnFilter(columnFilters) {
|
|
334
|
-
columnFilters.forEach((columnFilter) => {
|
|
335
|
-
if (!columnFilter.Predicate) {
|
|
336
|
-
LoggingHelper_1.LogAdaptableWarning('Column Filter has no Predicate', columnFilter);
|
|
337
|
-
}
|
|
338
|
-
else {
|
|
339
|
-
const isValidPredicate = this.adaptable.api.predicateApi.isValidPredicate(columnFilter.Predicate);
|
|
340
|
-
if (!isValidPredicate) {
|
|
341
|
-
LoggingHelper_1.LogAdaptableWarning('Column Filter Predicate is not valid', columnFilter);
|
|
342
|
-
}
|
|
343
|
-
else {
|
|
344
|
-
this.addUidToAdaptableObject(columnFilter);
|
|
345
|
-
if (this.getAllColumnFilter().find((cf) => cf.ColumnId == columnFilter.ColumnId)) {
|
|
346
|
-
this.dispatchAction(LayoutRedux.LayoutColumnFilterSet(columnFilter));
|
|
347
|
-
}
|
|
348
|
-
else {
|
|
349
|
-
this.dispatchAction(LayoutRedux.LayoutColumnFilterAdd(columnFilter));
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
return columnFilters === null || columnFilters === void 0 ? void 0 : columnFilters.map((columnFilter) => this.getColumnFilterById(columnFilter.Uuid));
|
|
353
|
-
}
|
|
354
|
-
});
|
|
355
|
-
return null;
|
|
356
|
-
}
|
|
357
|
-
clearColumnFilter(columnFilter) {
|
|
358
|
-
this.dispatchAction(LayoutRedux.LayoutColumnFilterClear(columnFilter));
|
|
359
|
-
}
|
|
360
|
-
clearColumnFilterByColumns(columns) {
|
|
361
|
-
columns.forEach((c) => {
|
|
362
|
-
this.clearColumnFilterByColumn(c);
|
|
363
|
-
});
|
|
364
|
-
}
|
|
365
|
-
clearColumnFilterByColumn(column) {
|
|
366
|
-
let columnFiltersForColumn = this.getAllColumnFilterForColumn(column);
|
|
367
|
-
if (columnFiltersForColumn) {
|
|
368
|
-
columnFiltersForColumn.forEach((cf) => {
|
|
369
|
-
this.dispatchAction(LayoutRedux.LayoutColumnFilterClear(cf));
|
|
370
|
-
});
|
|
371
|
-
this.adaptable.clearColumnFiltering([column]);
|
|
372
|
-
}
|
|
373
|
-
}
|
|
374
|
-
clearAllColumnFilter() {
|
|
375
|
-
this.dispatchAction(LayoutRedux.LayoutColumnFilterClearAll());
|
|
376
|
-
this.adaptable.clearGridFiltering();
|
|
377
|
-
}
|
|
378
|
-
clearAndSetColumnFilter(columnFilters) {
|
|
379
|
-
this.clearAllColumnFilter();
|
|
380
|
-
columnFilters.forEach((columnFilter) => {
|
|
381
|
-
if (this.getAllColumnFilter().find((cf) => cf.ColumnId == columnFilter.ColumnId)) {
|
|
382
|
-
this.dispatchAction(LayoutRedux.LayoutColumnFilterSet(columnFilter));
|
|
383
|
-
}
|
|
384
|
-
else {
|
|
385
|
-
this.dispatchAction(LayoutRedux.LayoutColumnFilterAdd(columnFilter));
|
|
386
|
-
}
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
getAllColumnFilterForColumn(column) {
|
|
390
|
-
let columnFilters = this.getAllColumnFilter();
|
|
391
|
-
if (columnFilters) {
|
|
392
|
-
return columnFilters.filter((cf) => cf.ColumnId == column);
|
|
393
|
-
}
|
|
394
|
-
else {
|
|
395
|
-
return [];
|
|
396
|
-
}
|
|
397
|
-
}
|
|
398
|
-
createColumnFilterForCell(columnId, primarykeyValues) {
|
|
399
|
-
let cellValues = [];
|
|
400
|
-
let predicateId;
|
|
401
|
-
if (primarykeyValues.length == 1) {
|
|
402
|
-
const normalisedValue = this.adaptable.api.gridApi.getCellNormalisedValue(primarykeyValues[0], columnId);
|
|
403
|
-
if (normalisedValue) {
|
|
404
|
-
cellValues.push(normalisedValue);
|
|
405
|
-
const dataType = this.adaptable.api.columnApi.getColumnDataTypeFromColumnId(columnId);
|
|
406
|
-
if (dataType) {
|
|
407
|
-
if (dataType == 'Number') {
|
|
408
|
-
predicateId = 'Equals';
|
|
409
|
-
}
|
|
410
|
-
else if (dataType == 'Date') {
|
|
411
|
-
predicateId = 'On';
|
|
412
|
-
}
|
|
413
|
-
else if (dataType == 'String') {
|
|
414
|
-
predicateId = 'Is';
|
|
415
|
-
}
|
|
416
|
-
else {
|
|
417
|
-
predicateId = 'Equals';
|
|
418
|
-
}
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
}
|
|
422
|
-
else {
|
|
423
|
-
primarykeyValues.forEach((pk) => {
|
|
424
|
-
const displayValue = this.adaptable.api.gridApi.getCellDisplayValue(pk, columnId);
|
|
425
|
-
if (displayValue && !cellValues.includes(displayValue)) {
|
|
426
|
-
cellValues.push(displayValue);
|
|
427
|
-
}
|
|
428
|
-
});
|
|
429
|
-
predicateId = 'Values';
|
|
430
|
-
}
|
|
431
|
-
const filter = {
|
|
432
|
-
ColumnId: columnId,
|
|
433
|
-
Predicate: {
|
|
434
|
-
PredicateId: predicateId,
|
|
435
|
-
Inputs: [...new Set(cellValues)],
|
|
436
|
-
},
|
|
437
|
-
};
|
|
438
|
-
const [savedFilter] = this.setColumnFilter([filter]) || [null];
|
|
439
|
-
return savedFilter;
|
|
440
|
-
}
|
|
441
|
-
columnFilterToString(columnFilter) {
|
|
442
|
-
const friendlyName = this.adaptable.api.columnApi.getFriendlyNameFromColumnId(columnFilter.ColumnId);
|
|
443
|
-
return ('[' +
|
|
444
|
-
friendlyName +
|
|
445
|
-
'] ' +
|
|
446
|
-
this.adaptable.api.predicateApi.predicateToString(columnFilter.Predicate));
|
|
447
|
-
}
|
|
448
|
-
columnFiltersToString(columnFilters) {
|
|
449
|
-
return columnFilters.map((cf) => this.columnFilterToString(cf)).join(', ');
|
|
450
|
-
}
|
|
451
|
-
evaluateColumnFilter(columnFilter, node) {
|
|
452
|
-
var _a;
|
|
453
|
-
if (!columnFilter.Predicate) {
|
|
454
|
-
return true;
|
|
455
|
-
}
|
|
456
|
-
if ((_a = columnFilter.Predicate.Inputs) === null || _a === void 0 ? void 0 : _a.some((input) => StringExtensions_1.default.IsNullOrEmpty(input))) {
|
|
457
|
-
return true;
|
|
458
|
-
}
|
|
459
|
-
const column = this.adaptable.api.columnApi.getColumnFromId(columnFilter.ColumnId);
|
|
460
|
-
if (!column) {
|
|
461
|
-
return true;
|
|
462
|
-
}
|
|
463
|
-
const gridCell = this.adaptable.api.gridApi.getGridCellFromRowNode(node, columnFilter.ColumnId);
|
|
464
|
-
if (!gridCell) {
|
|
465
|
-
return true;
|
|
466
|
-
}
|
|
467
|
-
let value = gridCell.normalisedValue;
|
|
468
|
-
return this.adaptable.api.predicateApi.handlePredicate(columnFilter.Predicate, {
|
|
469
|
-
value: value,
|
|
470
|
-
oldValue: null,
|
|
471
|
-
displayValue: gridCell.displayValue,
|
|
472
|
-
node,
|
|
473
|
-
column,
|
|
474
|
-
}, true);
|
|
475
|
-
}
|
|
476
324
|
removeColumnFromCurrentLayout(columnId) {
|
|
477
325
|
this.removeColumnFromLayout(columnId, this.getCurrentLayoutName());
|
|
478
326
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ApiBase } from './ApiBase';
|
|
2
2
|
import { PredicateApi } from '../PredicateApi';
|
|
3
3
|
import { AdaptablePredicateDef, AdaptablePredicate, PredicateDefHandlerParams, ModuleScope } from '../../PredefinedConfig/Common/AdaptablePredicate';
|
|
4
|
+
import { AdaptableColumnDataType, SystemFilterPredicateId } from '../../types';
|
|
4
5
|
export declare class PredicateApiImpl extends ApiBase implements PredicateApi {
|
|
5
6
|
getPredicateDefs(): AdaptablePredicateDef[];
|
|
6
7
|
getSystemPredicateDefs(): AdaptablePredicateDef[];
|
|
@@ -12,4 +13,5 @@ export declare class PredicateApiImpl extends ApiBase implements PredicateApi {
|
|
|
12
13
|
predicateToString(predicate: AdaptablePredicate): string | undefined;
|
|
13
14
|
isValidPredicate(predicate: AdaptablePredicate | undefined): boolean;
|
|
14
15
|
handlePredicate(predicate: AdaptablePredicate | undefined, params: Omit<PredicateDefHandlerParams, 'api' | 'inputs'>, defaultReturn: boolean): boolean;
|
|
16
|
+
getEqualityPredicateForDataType(dataType: AdaptableColumnDataType): SystemFilterPredicateId;
|
|
15
17
|
}
|
|
@@ -78,5 +78,23 @@ class PredicateApiImpl extends ApiBase_1.ApiBase {
|
|
|
78
78
|
return false;
|
|
79
79
|
}
|
|
80
80
|
}
|
|
81
|
+
getEqualityPredicateForDataType(dataType) {
|
|
82
|
+
let predicateId;
|
|
83
|
+
switch (dataType) {
|
|
84
|
+
case 'Number':
|
|
85
|
+
predicateId = 'Equals';
|
|
86
|
+
break;
|
|
87
|
+
case 'Date':
|
|
88
|
+
predicateId = 'On';
|
|
89
|
+
break;
|
|
90
|
+
case 'String':
|
|
91
|
+
predicateId = 'Is';
|
|
92
|
+
break;
|
|
93
|
+
default:
|
|
94
|
+
predicateId = 'Equals';
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
return predicateId;
|
|
98
|
+
}
|
|
81
99
|
}
|
|
82
100
|
exports.PredicateApiImpl = PredicateApiImpl;
|
package/src/Api/LayoutApi.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AdaptableColumn, ColumnFilter, ColumnSort, LayoutAssociatedObject } from '../../types';
|
|
1
|
+
import { AdaptableColumn, ColumnSort, LayoutAssociatedObject } from '../../types';
|
|
3
2
|
import { LayoutState, Layout } from '../PredefinedConfig/LayoutState';
|
|
4
3
|
/**
|
|
5
4
|
* Provides run-time access to the Layout Module and associated state
|
|
@@ -188,76 +187,6 @@ export interface LayoutApi {
|
|
|
188
187
|
* @param adaptableObject object to check
|
|
189
188
|
*/
|
|
190
189
|
isObjectAvailableInCurrentLayout(adaptableObject: LayoutAssociatedObject): boolean;
|
|
191
|
-
/**
|
|
192
|
-
* Retrieves all the Column Filters in the Column Filter State (of Predefined Config)
|
|
193
|
-
* @returns column filters
|
|
194
|
-
*/
|
|
195
|
-
getAllColumnFilter(): ColumnFilter[];
|
|
196
|
-
/**
|
|
197
|
-
* Retrieves ColumnFilter by Id
|
|
198
|
-
* @param id column filter id
|
|
199
|
-
* @returns column filter
|
|
200
|
-
*/
|
|
201
|
-
getColumnFilterById(id: ColumnFilter['Uuid']): ColumnFilter;
|
|
202
|
-
/**
|
|
203
|
-
* Sets Column Filters - will replace filters for existing column and leave other column filters in place
|
|
204
|
-
* @param columnFilters Column Filters to set
|
|
205
|
-
* @returns column filters
|
|
206
|
-
*/
|
|
207
|
-
setColumnFilter(columnFilters: ColumnFilter[]): ColumnFilter[] | null;
|
|
208
|
-
/**
|
|
209
|
-
* Clears given Column Filter
|
|
210
|
-
* @param columnFilter Column Filter to clear
|
|
211
|
-
*/
|
|
212
|
-
clearColumnFilter(columnFilter: ColumnFilter): void;
|
|
213
|
-
/**
|
|
214
|
-
* Clears Column Filter for given Column
|
|
215
|
-
* @param columnId Column for which Column Filter should be cleared
|
|
216
|
-
*/
|
|
217
|
-
clearColumnFilterByColumn(columnId: string): void;
|
|
218
|
-
/**
|
|
219
|
-
* Clears Column Filters for given set of Columns
|
|
220
|
-
* @param columns Columns for which Column Filte should be cleared
|
|
221
|
-
*/
|
|
222
|
-
clearColumnFilterByColumns(columns: string[]): void;
|
|
223
|
-
/**
|
|
224
|
-
* Clears all Column Filters in State
|
|
225
|
-
*/
|
|
226
|
-
clearAllColumnFilter(): void;
|
|
227
|
-
/**
|
|
228
|
-
* Clears existing Column Filters and then sets the new ones
|
|
229
|
-
* @param columnFilters Column Filters to set
|
|
230
|
-
*/
|
|
231
|
-
clearAndSetColumnFilter(columnFilters: ColumnFilter[]): void;
|
|
232
|
-
/**
|
|
233
|
-
* Retrieves all Column Filters for given Column
|
|
234
|
-
* @param columnId column to retrieve Column Filters for
|
|
235
|
-
* @returns column filters
|
|
236
|
-
*/
|
|
237
|
-
getAllColumnFilterForColumn(columnId: string): ColumnFilter[];
|
|
238
|
-
/**
|
|
239
|
-
* Creates new Column Filter on given Column using Primary Key values
|
|
240
|
-
* @param columnId ColumnId to use
|
|
241
|
-
* @param primarykeyValues Primary Key Values to use
|
|
242
|
-
* @returns column filter
|
|
243
|
-
*/
|
|
244
|
-
createColumnFilterForCell(columnId: string, primarykeyValues: any[]): ColumnFilter | null;
|
|
245
|
-
/**
|
|
246
|
-
* Retrieves description of given Column Filter
|
|
247
|
-
* @param columnFilter Column Filter to use
|
|
248
|
-
*/
|
|
249
|
-
columnFilterToString(columnFilter: ColumnFilter): string;
|
|
250
|
-
/**
|
|
251
|
-
* Retrieves descriptions of given Column Filters
|
|
252
|
-
* @param columnFilters Column Filters to use
|
|
253
|
-
*/
|
|
254
|
-
columnFiltersToString(columnFilters: ColumnFilter[]): string;
|
|
255
|
-
/**
|
|
256
|
-
* Calls AdapTableQL to evaluate Filter for given Row
|
|
257
|
-
* @param columnFilter Column Filter to use
|
|
258
|
-
* @param node Row Node to evaluate
|
|
259
|
-
*/
|
|
260
|
-
evaluateColumnFilter(columnFilter: ColumnFilter, node: RowNode): boolean;
|
|
261
190
|
/**
|
|
262
191
|
* Removes a Column from the Current Layout
|
|
263
192
|
* @param columnId Column to remove
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { AdaptableColumnDataType } from '../../types';
|
|
1
2
|
import { AdaptablePredicateDef, AdaptablePredicate, PredicateDefHandlerParams, ModuleScope } from '../PredefinedConfig/Common/AdaptablePredicate';
|
|
3
|
+
import { SystemFilterPredicateId } from '../types';
|
|
2
4
|
/**
|
|
3
5
|
* Functions which manage the Predicate object in AdapTable
|
|
4
6
|
*/
|
|
@@ -52,4 +54,9 @@ export interface PredicateApi {
|
|
|
52
54
|
* @param defaultReturn Whether to return the default
|
|
53
55
|
*/
|
|
54
56
|
handlePredicate(predicate: AdaptablePredicate | undefined, params: Omit<PredicateDefHandlerParams, 'api' | 'inputs'>, defaultReturn: boolean): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Gets the correct Equality-type System Predicate for a particular DataType
|
|
59
|
+
* @param dataType DataType of Column
|
|
60
|
+
*/
|
|
61
|
+
getEqualityPredicateForDataType(dataType: AdaptableColumnDataType): SystemFilterPredicateId;
|
|
55
62
|
}
|
|
@@ -10,7 +10,7 @@ import { AdaptableStyle } from './Common/AdaptableStyle';
|
|
|
10
10
|
import { XOR } from '../Utilities/Extensions/TypeExtensions';
|
|
11
11
|
import { AdaptableAggregatedBooleanQuery, AdaptableBooleanQuery, AdaptableObservableQuery } from './Common/AdaptableQuery';
|
|
12
12
|
import { ButtonStyle } from './Common/ButtonStyle';
|
|
13
|
-
import {
|
|
13
|
+
import { AlertFormContext, BaseContext } from '../types';
|
|
14
14
|
/**
|
|
15
15
|
* Predefined Configuration for Alert Module
|
|
16
16
|
*/
|
|
@@ -49,8 +49,8 @@ export interface AlertDefinition extends SuspendableObject {
|
|
|
49
49
|
*/
|
|
50
50
|
AlertForm?: string | AlertButtonForm;
|
|
51
51
|
}
|
|
52
|
-
export declare type AlertButtonForm = Omit<AdaptableForm<
|
|
53
|
-
Buttons?: AlertButton<
|
|
52
|
+
export declare type AlertButtonForm = Omit<AdaptableForm<AlertFormContext>, 'title' | 'buttons' | 'fields' | 'description'> & {
|
|
53
|
+
Buttons?: AlertButton<AlertFormContext>[];
|
|
54
54
|
};
|
|
55
55
|
export interface AlertDefinitionPredicate extends AdaptablePredicate {
|
|
56
56
|
PredicateId: TypeHint<string, SystemAlertPredicateId>;
|
|
@@ -69,7 +69,7 @@ export declare type AdaptableAlertAction = 'highlight-cell' | 'highlight-row' |
|
|
|
69
69
|
/**
|
|
70
70
|
* Defines a button that appears in an Alert Form
|
|
71
71
|
*/
|
|
72
|
-
export interface AlertButton<
|
|
72
|
+
export interface AlertButton<AlertFormContext> extends Omit<AdaptableButton<BaseContext>, 'onClick' | 'label' | 'buttonStyle' | 'hidden' | 'disabled' | 'tooltip'> {
|
|
73
73
|
/**
|
|
74
74
|
* Predefined Action(s) to trigger when button is clicked; but the implementation in `actionHandlers` property of Alert Options
|
|
75
75
|
*/
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AdaptableFormData } from '../../types';
|
|
2
|
+
import { BaseContext } from './BaseContext';
|
|
3
|
+
/**
|
|
4
|
+
* Context supplied to Buttons that appear in an Adaptable Form
|
|
5
|
+
*/
|
|
6
|
+
export interface FormContext extends BaseContext {
|
|
7
|
+
/**
|
|
8
|
+
* Adaptable Form Data
|
|
9
|
+
*/
|
|
10
|
+
formData: AdaptableFormData;
|
|
11
|
+
}
|