@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.
- package/package.json +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -1
- package/src/AdaptableOptions/CellSummaryOptions.d.ts +1 -1
- package/src/AdaptableOptions/ContainerOptions.d.ts +0 -7
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +1 -1
- package/src/AdaptableOptions/EditOptions.d.ts +14 -3
- package/src/AdaptableOptions/ExportOptions.d.ts +4 -18
- package/src/AdaptableOptions/PredicateOptions.d.ts +4 -4
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +7 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +1 -0
- package/src/Api/Implementation/ExportApiImpl.js +3 -2
- package/src/Api/Implementation/ScheduleApiImpl.js +1 -1
- package/src/Api/Implementation/StyledColumnApiImpl.js +1 -1
- package/src/Api/Implementation/ThemeApiImpl.js +3 -1
- package/src/Api/Internal/EventInternalApi.js +6 -1
- package/src/Api/Internal/ExportInternalApi.js +1 -1
- package/src/Api/Internal/RowFormInternalApi.js +1 -1
- package/src/Api/ThemeApi.d.ts +2 -0
- package/src/PredefinedConfig/AlertState.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableColumnContext.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +0 -16
- package/src/PredefinedConfig/ExportState.d.ts +3 -3
- package/src/PredefinedConfig/FlashingCellState.d.ts +1 -1
- package/src/PredefinedConfig/LayoutState.d.ts +16 -16
- package/src/PredefinedConfig/StyledColumnState.d.ts +1 -1
- package/src/Strategy/StyledColumnModule.js +6 -6
- package/src/Utilities/ObjectFactory.js +1 -0
- package/src/Utilities/Services/ThemeService.d.ts +1 -1
- package/src/Utilities/Services/ThemeService.js +5 -5
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +4 -1
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.d.ts +2 -0
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +18 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +4 -0
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +2 -1
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +3 -4
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +348 -191
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
- package/src/agGrid/AdaptableAgGrid.d.ts +3 -8
- package/src/agGrid/AdaptableAgGrid.js +34 -115
- package/src/agGrid/AgGridAdapter.d.ts +1 -1
- package/src/agGrid/AgGridAdapter.js +4 -5
- package/src/agGrid/AgGridColumnAdapter.js +5 -7
- package/src/agGrid/AgGridThemeAdapter.d.ts +19 -0
- package/src/agGrid/AgGridThemeAdapter.js +126 -0
- package/src/components/ColorPicker/ColorPicker.js +2 -2
- package/src/components/OverlayTrigger/useAgGridClassName.js +1 -1
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +16 -15
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/VersionUpgrade20.d.ts +1 -0
- package/src/migration/VersionUpgrade20.js +69 -0
- package/src/types.d.ts +1 -1
- 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
|
+
"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;
|
|
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
|
-
*
|
|
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
|
|
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
|
-
|
|
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 | ((
|
|
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?: (
|
|
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
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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
|
*
|
|
@@ -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
|
-
|
|
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.
|
|
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
|
-
|
|
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(() =>
|
|
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.
|
|
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 &
|
|
193
|
+
// it involves refactoring the AdaptableForm & adaptableFormComponent
|
|
194
194
|
// await this.getSelectCellEditorValuesForColumn(
|
|
195
195
|
// column,
|
|
196
196
|
// gridCell
|
package/src/Api/ThemeApi.d.ts
CHANGED
|
@@ -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' | '
|
|
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';
|
|
@@ -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
|
-
*
|
|
64
|
+
* Destination of Report to run on Schedule
|
|
65
65
|
*/
|
|
66
|
-
|
|
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' | '
|
|
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
|
|
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
|
|
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 -
|
|
103
|
+
* Pivot Columns - must NOT be provided
|
|
104
104
|
*/
|
|
105
105
|
PivotColumns?: never;
|
|
106
106
|
/**
|
|
107
|
-
* Pivot Group Columns -
|
|
107
|
+
* Pivot Group Columns - must NOT be provided
|
|
108
108
|
*/
|
|
109
109
|
PivotGroupedColumns?: never;
|
|
110
110
|
/**
|
|
111
|
-
* Pivot Expansions -
|
|
111
|
+
* Pivot Expansions - must NOT be provided
|
|
112
112
|
*/
|
|
113
113
|
PivotExpandLevel?: never;
|
|
114
114
|
/**
|
|
115
|
-
* Pivot Aggregation Columns -
|
|
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 -
|
|
140
|
+
* Table Columns - must NOT be provided
|
|
141
141
|
*/
|
|
142
142
|
TableColumns?: never;
|
|
143
143
|
/**
|
|
144
|
-
* Table Aggregation Columns -
|
|
144
|
+
* Table Aggregation Columns - must NOT be provided
|
|
145
145
|
*/
|
|
146
146
|
TableAggregationColumns?: never;
|
|
147
147
|
/**
|
|
148
|
-
* Row Grouped Columns Columns -
|
|
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
|
*/
|
|
@@ -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.
|
|
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
|
-
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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',
|
|
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 {};
|