@adaptabletools/adaptable 11.0.0-canary.4 → 11.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/base.css +130 -67
- package/bundle.cjs.js +86 -86
- package/index.css +130 -67
- package/package.json +2 -2
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/AdaptableNoCodeWizard.d.ts +7 -5
- package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +1 -3
- package/src/AdaptableOptions/AdaptableOptions.d.ts +10 -1
- package/src/AdaptableOptions/AlertOptions.d.ts +82 -0
- package/src/AdaptableOptions/AlertOptions.js +2 -0
- package/src/AdaptableOptions/ContainerOptions.d.ts +1 -1
- package/src/AdaptableOptions/FilterOptions.d.ts +1 -1
- package/src/AdaptableOptions/NotificationsOptions.d.ts +1 -78
- package/src/AdaptableOptions/QueryLanguageOptions.d.ts +0 -4
- package/src/AdaptableOptions/StateOptions.d.ts +2 -1
- package/src/AdaptableOptions/TeamSharingOptions.d.ts +2 -2
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +0 -2
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
- package/src/Api/AdaptableApi.d.ts +1 -0
- package/src/Api/AlertApi.d.ts +2 -3
- package/src/Api/EventApi.d.ts +8 -3
- package/src/Api/Events/GridDataChanged.d.ts +4 -2
- package/src/Api/Events/SystemStatusMessageDisplayed.d.ts +1 -1
- package/src/Api/FreeTextColumnApi.d.ts +0 -12
- package/src/Api/IPushPullApi.d.ts +1 -1
- package/src/Api/Implementation/AlertApiImpl.d.ts +1 -2
- package/src/Api/Implementation/AlertApiImpl.js +15 -9
- package/src/Api/Implementation/ApiBase.d.ts +2 -0
- package/src/Api/Implementation/ApiBase.js +3 -0
- package/src/Api/Implementation/FreeTextColumnApiImpl.d.ts +0 -5
- package/src/Api/Implementation/FreeTextColumnApiImpl.js +0 -9
- package/src/Api/Implementation/InternalApiImpl.js +1 -1
- package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
- package/src/Api/Implementation/LayoutApiImpl.js +11 -0
- package/src/Api/Implementation/QueryApiImpl.js +4 -1
- package/src/Api/Implementation/QueryLanguageApiImpl.js +4 -5
- package/src/Api/LayoutApi.d.ts +7 -0
- package/src/Api/OpenFinApi.d.ts +5 -0
- package/src/Api/PluginsApi.d.ts +29 -0
- package/src/Api/UserInterfaceApi.d.ts +5 -2
- package/src/PredefinedConfig/AlertState.d.ts +2 -4
- package/src/PredefinedConfig/CalculatedColumnState.d.ts +0 -1
- package/src/PredefinedConfig/Common/FDC3Context.d.ts +4 -12
- package/src/PredefinedConfig/CustomSortState.d.ts +0 -1
- package/src/PredefinedConfig/FlashingCellState.d.ts +3 -1
- package/src/PredefinedConfig/FreeTextColumnState.d.ts +1 -1
- package/src/PredefinedConfig/LayoutState.d.ts +0 -2
- package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -2
- package/src/Redux/ActionsReducers/ApplicationRedux.js +9 -3
- package/src/Redux/ActionsReducers/FlashingCellRedux.js +4 -8
- package/src/Redux/ActionsReducers/GridRedux.js +3 -1
- package/src/Redux/ActionsReducers/PopupRedux.js +13 -3
- package/src/Redux/ActionsReducers/QuickSearchRedux.js +3 -1
- package/src/Redux/ActionsReducers/SystemRedux.js +3 -1
- package/src/Redux/ActionsReducers/ThemeRedux.js +3 -1
- package/src/Redux/Store/AdaptableStore.js +5 -4
- package/src/Strategy/AlertModule.js +4 -3
- package/src/Strategy/ConditionalStyleModule.js +4 -0
- package/src/Strategy/FlashingCellModule.js +2 -2
- package/src/Strategy/FreeTextColumnModule.d.ts +2 -2
- package/src/Strategy/FreeTextColumnModule.js +10 -0
- package/src/Strategy/LayoutModule.js +1 -6
- package/src/Strategy/ToolPanelModule.js +5 -3
- package/src/Strategy/Utilities/getFormatColumnSettingsViewItems.js +1 -1
- package/src/Strategy/Utilities/getRuleViewItems.d.ts +0 -1
- package/src/Strategy/Utilities/getRuleViewItems.js +0 -1
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +6 -4
- package/src/Utilities/ExpressionFunctions/dateUtils.d.ts +1 -0
- package/src/Utilities/ExpressionFunctions/dateUtils.js +13 -0
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +13 -4
- package/src/Utilities/Helpers/AdaptableHelper.js +1 -0
- package/src/Utilities/Helpers/CalendarHelper.js +220 -55
- package/src/Utilities/Interface/MessagePopups.d.ts +6 -2
- package/src/Utilities/ObjectFactory.js +1 -0
- package/src/Utilities/Services/DataService.js +6 -1
- package/src/Utilities/Services/QueryLanguageService.js +16 -11
- package/src/Utilities/Services/ReportService.js +6 -2
- package/src/Utilities/Services/TeamSharingService.js +5 -3
- package/src/View/AdaptablePopover/index.js +6 -1
- package/src/View/AdaptableView.js +1 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +5 -1
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationForm.js +5 -2
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/index.js +4 -1
- package/src/View/AdaptableWizardView/helper.js +3 -1
- package/src/View/Alert/Wizard/AlertButtonsEditor.d.ts +1 -1
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +5 -1
- package/src/View/CellSummary/CellSummaryViewPanel.js +1 -2
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -2
- package/src/View/Components/FilterForm/FilterForm.js +0 -2
- package/src/View/Components/FilterForm/QuickFilterForm.js +4 -1
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
- package/src/View/Components/Panels/PanelWithImage.d.ts +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +3 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.d.ts +1 -0
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +25 -1
- package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
- package/src/View/Components/Popups/AdaptablePopupConfirmation.js +3 -1
- package/src/View/Components/Popups/AdaptablePopupPrompt.d.ts +5 -12
- package/src/View/Components/Popups/AdaptablePopupPrompt.js +38 -37
- package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +4 -1
- package/src/View/Components/ScopeComponent.js +4 -1
- package/src/View/Components/ToolPanel/CustomToolPanelContent.js +5 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +3 -1
- package/src/View/Components/ToolPanel/ToolPanelWrapper.js +1 -1
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.d.ts +8 -0
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleSettingsWizardSettings.js +27 -0
- package/src/View/ConditionalStyle/Wizard/ConditionalStyleWizard.js +7 -0
- package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +3 -1
- package/src/View/Dashboard/CustomToolbarWrapper.js +5 -1
- package/src/View/Dashboard/Dashboard.js +1 -1
- package/src/View/Dashboard/DashboardPopup.js +3 -1
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +2 -1
- package/src/View/Export/Wizard/ReportColumnTypeWizard.js +3 -1
- package/src/View/Export/Wizard/ReportRowTypeWizard.js +3 -1
- package/src/View/Filter/FilterViewPanel.d.ts +1 -4
- package/src/View/Filter/FilterViewPanel.js +1 -3
- package/src/View/FreeTextColumn/FreeTextColumnSummary.js +1 -2
- package/src/View/GridInfo/AdaptableOptionsComponent.js +4 -1
- package/src/View/Layout/Wizard/LayoutEditor/index.js +5 -1
- package/src/View/Layout/Wizard/LayoutEditorWizard.js +7 -1
- package/src/View/Query/ExpandedQueryPopup.js +9 -2
- package/src/View/Query/QueryViewPanel.js +3 -1
- package/src/View/QuickSearch/QuickSearchPopup.js +3 -3
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +12 -2
- package/src/View/UIHelper.js +4 -1
- package/src/View/Wizard/AdaptableWizard.js +12 -3
- package/src/View/Wizard/OnePageAdaptableWizard.js +5 -1
- package/src/agGrid/Adaptable.d.ts +2 -3
- package/src/agGrid/Adaptable.js +96 -54
- package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
- package/src/agGrid/editors/AdaptableNumberEditor/index.js +1 -1
- package/src/components/ApplicationIcon.d.ts +1 -0
- package/src/components/ApplicationIcon.js +2 -2
- package/src/components/Dashboard/Dashboard.js +4 -1
- package/src/components/Dropdown/index.js +8 -1
- package/src/components/ExpressionEditor/EditorInputReactive.js +3 -1
- package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +4 -1
- package/src/components/ExpressionEditor/index.js +9 -2
- package/src/components/SizedContainer/index.js +7 -1
- package/src/components/WindowModal/WindowModal.js +4 -1
- package/src/metamodel/adaptable.metamodel.d.ts +55 -24
- package/src/metamodel/adaptable.metamodel.js +179 -98
- package/src/types.d.ts +2 -1
- package/themes/dark.css +4 -4
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/src/Api/PluginsApi.d.ts
CHANGED
|
@@ -7,12 +7,41 @@ import { FinanceApi } from './FinanceApi';
|
|
|
7
7
|
* API methods dealing with AdapTable plugins
|
|
8
8
|
*/
|
|
9
9
|
export interface PluginsApi {
|
|
10
|
+
/**
|
|
11
|
+
* Retrieves the Plugin State (internal only)
|
|
12
|
+
*/
|
|
10
13
|
getPluginsState(): PluginsState;
|
|
14
|
+
/**
|
|
15
|
+
* Gets the State for a given Plugin
|
|
16
|
+
* @param pluginId plugin state to retrieve
|
|
17
|
+
*/
|
|
11
18
|
getPluginState(pluginId: string): any;
|
|
19
|
+
/**
|
|
20
|
+
* Registers a Plugin (internal method)
|
|
21
|
+
* @param pluginId Plugin to register
|
|
22
|
+
* @param initialPluginState any state the Plugin requires
|
|
23
|
+
*/
|
|
12
24
|
registerPlugin(pluginId: string, initialPluginState: any): void;
|
|
25
|
+
/**
|
|
26
|
+
* Sets the initial state for a given plugin (internal method)
|
|
27
|
+
* @param pluginId Plugin to set state for
|
|
28
|
+
* @param pluginState State to set
|
|
29
|
+
*/
|
|
13
30
|
setPluginState(pluginId: string, pluginState: any): void;
|
|
31
|
+
/**
|
|
32
|
+
* Returns ipushpull API class in Adaptable API
|
|
33
|
+
*/
|
|
14
34
|
getipushpullPluginApi(): IPushPullApi;
|
|
35
|
+
/**
|
|
36
|
+
* Returns Glue42 API class in Adaptable API
|
|
37
|
+
*/
|
|
15
38
|
getGlue42PluginApi(): Glue42Api;
|
|
39
|
+
/**
|
|
40
|
+
* Returns OpenFin API class in Adaptable API
|
|
41
|
+
*/
|
|
16
42
|
getOpenFinPluginApi(): OpenFinApi;
|
|
43
|
+
/**
|
|
44
|
+
* Returns Finance API class in Adaptable API
|
|
45
|
+
*/
|
|
17
46
|
getFinancePluginApi(): FinanceApi;
|
|
18
47
|
}
|
|
@@ -25,13 +25,16 @@ export interface UserInterfaceApi {
|
|
|
25
25
|
*/
|
|
26
26
|
getPermittedValuesForColumn(column: AdaptableColumn): any[];
|
|
27
27
|
/**
|
|
28
|
-
* Retrieves Permitted values for filtering by column values in Floating Filter and
|
|
28
|
+
* Retrieves Permitted values for filtering by column values in Floating Filter and Quick Filter Bar
|
|
29
29
|
*/
|
|
30
30
|
getFilterPermittedValuesForColumn(column: AdaptableColumn): FilterPermittedValues | undefined;
|
|
31
31
|
/**
|
|
32
|
-
* Retrieves Permitted values for Custom
|
|
32
|
+
* Retrieves Permitted values for Custom Sort Module
|
|
33
33
|
*/
|
|
34
34
|
getCustomSortPermittedValuesForColumn(column: AdaptableColumn): CustomSortPermittedValues | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Retrieves Permitted values for Bulk Update Module
|
|
37
|
+
*/
|
|
35
38
|
getBulkUpdatePermittedValuesForColumn(column: AdaptableColumn): BulkUpdatePermittedValues | undefined;
|
|
36
39
|
/**
|
|
37
40
|
* Retrieves `editLookUpItems` property from User Interface Options
|
|
@@ -10,17 +10,15 @@ import { AdaptableStyle } from './Common/AdaptableStyle';
|
|
|
10
10
|
import { XOR } from '../Utilities/Extensions/TypeExtensions';
|
|
11
11
|
import { AdaptableAggregationQuery, AdaptableBooleanQuery, AdaptableObservableQuery } from './Common/AdaptableQuery';
|
|
12
12
|
import { ButtonStyle } from './Common/ButtonStyle';
|
|
13
|
-
import { AlertButtonContext } from '../
|
|
13
|
+
import { AlertButtonContext } from '../types';
|
|
14
14
|
/**
|
|
15
15
|
* Predefined Configuration for Alert Module
|
|
16
16
|
*/
|
|
17
17
|
export interface AlertState extends ConfigState {
|
|
18
18
|
/**
|
|
19
19
|
* Alert Definitions - will trigger Alerts when rule is met
|
|
20
|
-
* @defaultValue null
|
|
21
20
|
*/
|
|
22
21
|
AlertDefinitions?: AlertDefinition[];
|
|
23
|
-
FlashingAlertDefinitions?: any[];
|
|
24
22
|
}
|
|
25
23
|
/**
|
|
26
24
|
* The Alert Definition object used in the Alert function
|
|
@@ -116,7 +114,7 @@ export interface AlertProperties {
|
|
|
116
114
|
LogToConsole?: boolean;
|
|
117
115
|
/**
|
|
118
116
|
* Automatically prevent any cell edit which triggered the Alert (i.e. validation)
|
|
119
|
-
* @
|
|
117
|
+
* @defaultValue false
|
|
120
118
|
*/
|
|
121
119
|
PreventEdit?: boolean;
|
|
122
120
|
}
|
|
@@ -22,7 +22,7 @@ export interface FDC3Context {
|
|
|
22
22
|
[key: string]: string | undefined;
|
|
23
23
|
};
|
|
24
24
|
/**
|
|
25
|
-
* @
|
|
25
|
+
* @internal
|
|
26
26
|
* Custom properties and metadata. This can be extended in specific context object.
|
|
27
27
|
*/
|
|
28
28
|
[key: string]: unknown;
|
|
@@ -32,23 +32,15 @@ export interface FDC3Context {
|
|
|
32
32
|
*/
|
|
33
33
|
export interface InstrumentContext extends FDC3Context {
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Context type is always 'instrument'
|
|
36
36
|
*/
|
|
37
37
|
type: 'instrument';
|
|
38
38
|
/**
|
|
39
|
-
* Free text name of
|
|
39
|
+
* Free text name of instrument
|
|
40
40
|
*/
|
|
41
41
|
name: string;
|
|
42
42
|
/**
|
|
43
|
-
* The instrument data
|
|
44
|
-
* * `ticker`: a ticker
|
|
45
|
-
* * `ISIN`: [ISIN](https://www.isin.org/isin/)
|
|
46
|
-
* * `CUSIP`: [CUSIP](https://www.cusip.com/cusip/index.htm)
|
|
47
|
-
* * `SEDOL`: [SEDOL](https://www.londonstockexchange.com/products-and-services/reference-data/sedol-master-file/sedol-master-file.htm)
|
|
48
|
-
* * `RIC`: [Reuters Instrument Code (RIC)](https://en.wikipedia.org/wiki/Reuters_Instrument_Code)
|
|
49
|
-
* * `BBG`: [Bloomberg Ticker](https://www.bloomberg.com/professional/product/market-data/)
|
|
50
|
-
* * `PERMID`: [PERMID](https://permid.org/)
|
|
51
|
-
* * `FIGI`: [FIGI](https://www.openfigi.com/about/figi)
|
|
43
|
+
* The instrument data
|
|
52
44
|
*/
|
|
53
45
|
id: {
|
|
54
46
|
[key: string]: string;
|
|
@@ -20,10 +20,12 @@ export declare type FlashingCellRule = XOR<{
|
|
|
20
20
|
export interface FlashingCellState extends ConfigState {
|
|
21
21
|
/**
|
|
22
22
|
* Flashing Cell Definitions - will colour cells/rows when rule is met
|
|
23
|
-
* @defaultValue null
|
|
24
23
|
*/
|
|
25
24
|
FlashingCellDefinitions?: FlashingCellDefinition[];
|
|
26
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* What should flash? row, cell or aggregated cell
|
|
28
|
+
*/
|
|
27
29
|
export declare type FlashTargetTypes = 'row' | 'cell' | 'aggFuncCell';
|
|
28
30
|
/**
|
|
29
31
|
* The Flashing Cell Definition
|
|
@@ -39,7 +39,7 @@ export interface FreeTextColumn extends AdaptableObject {
|
|
|
39
39
|
* Whether Column is String, Number, Boolean or Date
|
|
40
40
|
* @defaultValue 'String'
|
|
41
41
|
*/
|
|
42
|
-
DataType
|
|
42
|
+
DataType: 'String' | 'Number' | 'Boolean' | 'Date';
|
|
43
43
|
/**
|
|
44
44
|
* Additional optional properties for Column (e.g. filterable, resizable)
|
|
45
45
|
*/
|
|
@@ -7,12 +7,10 @@ import { ColumnSort } from './Common/ColumnSort';
|
|
|
7
7
|
export interface LayoutState extends ConfigState {
|
|
8
8
|
/**
|
|
9
9
|
* Layout which will be loaded when AdapTable starts - must match `Name` property in Layout
|
|
10
|
-
* @defaultValue ''
|
|
11
10
|
*/
|
|
12
11
|
CurrentLayout?: string;
|
|
13
12
|
/**
|
|
14
13
|
* Collection of Layout objects - listed in Layout toolbar and Tool Panel
|
|
15
|
-
* @defaultValue null
|
|
16
14
|
*/
|
|
17
15
|
Layouts?: Layout[];
|
|
18
16
|
}
|
|
@@ -23,7 +23,7 @@ import { QueryState } from './QueryState';
|
|
|
23
23
|
*/
|
|
24
24
|
export interface PredefinedConfig {
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Collection of `AlertDefinitions` which will fire Alerts when the rule is met
|
|
27
27
|
*/
|
|
28
28
|
Alert?: AlertState;
|
|
29
29
|
/**
|
|
@@ -58,6 +58,10 @@ export interface PredefinedConfig {
|
|
|
58
58
|
* Stores Filters in AdapTable - both System and Column (predicate) Filters
|
|
59
59
|
*/
|
|
60
60
|
Filter?: FilterState;
|
|
61
|
+
/***
|
|
62
|
+
* Objects which define which cells flash in response to data changes
|
|
63
|
+
*/
|
|
64
|
+
FlashingCell?: FlashingCellState;
|
|
61
65
|
/**
|
|
62
66
|
* Supplies a collection of *FormatColumn* objects that will style an entire column in a single way (and not subject to a rule like with Conditional Style).
|
|
63
67
|
*/
|
|
@@ -98,5 +102,4 @@ export interface PredefinedConfig {
|
|
|
98
102
|
* Sets the order and visibility of the Tool Panel controls in the AdapTable ToolPanel (on right of grid)
|
|
99
103
|
*/
|
|
100
104
|
ToolPanel?: ToolPanelState;
|
|
101
|
-
FlashingCell?: FlashingCellState;
|
|
102
105
|
}
|
|
@@ -37,19 +37,25 @@ exports.ApplicationReducer = (state = initialState, action) => {
|
|
|
37
37
|
const actionTypedAdd = action;
|
|
38
38
|
applicationDataEntries = [].concat(state.ApplicationDataEntries);
|
|
39
39
|
applicationDataEntries.push(actionTypedAdd.applicationDataEntry);
|
|
40
|
-
return Object.assign({}, state, {
|
|
40
|
+
return Object.assign({}, state, {
|
|
41
|
+
ApplicationDataEntries: applicationDataEntries,
|
|
42
|
+
});
|
|
41
43
|
case exports.APPLICATION_DATA_ENTRY_EDIT:
|
|
42
44
|
const actionTypedUpdate = action;
|
|
43
45
|
applicationDataEntries = [].concat(state.ApplicationDataEntries);
|
|
44
46
|
index = applicationDataEntries.findIndex((fe) => fe.Key == actionTypedUpdate.applicationDataEntry.Key);
|
|
45
47
|
applicationDataEntries[index] = actionTypedUpdate.applicationDataEntry;
|
|
46
|
-
return Object.assign({}, state, {
|
|
48
|
+
return Object.assign({}, state, {
|
|
49
|
+
ApplicationDataEntries: applicationDataEntries,
|
|
50
|
+
});
|
|
47
51
|
case exports.APPLICATION_DATA_ENTRY_DELETE:
|
|
48
52
|
const actionTypedDelete = action;
|
|
49
53
|
applicationDataEntries = [].concat(state.ApplicationDataEntries);
|
|
50
54
|
index = applicationDataEntries.findIndex((a) => a.Key == actionTypedDelete.applicationDataEntry.Key);
|
|
51
55
|
applicationDataEntries.splice(index, 1);
|
|
52
|
-
return Object.assign({}, state, {
|
|
56
|
+
return Object.assign({}, state, {
|
|
57
|
+
ApplicationDataEntries: applicationDataEntries,
|
|
58
|
+
});
|
|
53
59
|
default:
|
|
54
60
|
return state;
|
|
55
61
|
}
|
|
@@ -64,28 +64,24 @@ exports.FlashingCellReducer = (state = initialState, action) => {
|
|
|
64
64
|
let flashingCellDefinitions;
|
|
65
65
|
switch (action.type) {
|
|
66
66
|
case exports.FLASHING_ALERT_DEFINITION_SET: {
|
|
67
|
-
const actionFlashingCellDefinition = action
|
|
68
|
-
.flashingCellDefinitions;
|
|
67
|
+
const actionFlashingCellDefinition = action.flashingCellDefinitions;
|
|
69
68
|
return Object.assign(Object.assign({}, state), { FlashingCellDefinitions: actionFlashingCellDefinition });
|
|
70
69
|
}
|
|
71
70
|
case exports.FLASHING_ALERT_DEFINITION_ADD: {
|
|
72
|
-
const actionFlashingCellDefinition = action
|
|
73
|
-
.flashingCellDefinition;
|
|
71
|
+
const actionFlashingCellDefinition = action.flashingCellDefinition;
|
|
74
72
|
AdaptableHelper_1.default.addUuidAndSource(actionFlashingCellDefinition);
|
|
75
73
|
flashingCellDefinitions = [].concat(state.FlashingCellDefinitions);
|
|
76
74
|
flashingCellDefinitions.push(actionFlashingCellDefinition);
|
|
77
75
|
return Object.assign(Object.assign({}, state), { FlashingCellDefinitions: flashingCellDefinitions });
|
|
78
76
|
}
|
|
79
77
|
case exports.FLASHING_ALERT_DEFINITION_EDIT: {
|
|
80
|
-
const actionFlashingCellDefinition = action
|
|
81
|
-
.flashingCellDefinition;
|
|
78
|
+
const actionFlashingCellDefinition = action.flashingCellDefinition;
|
|
82
79
|
return Object.assign(Object.assign({}, state), { FlashingCellDefinitions: state.FlashingCellDefinitions.map((abObject) => abObject.Uuid === actionFlashingCellDefinition.Uuid
|
|
83
80
|
? actionFlashingCellDefinition
|
|
84
81
|
: abObject) });
|
|
85
82
|
}
|
|
86
83
|
case exports.FLASHING_ALERT_DEFINITION_DELETE: {
|
|
87
|
-
const actionFlashingCellDefinition = action
|
|
88
|
-
.flashingCellDefinition;
|
|
84
|
+
const actionFlashingCellDefinition = action.flashingCellDefinition;
|
|
89
85
|
return Object.assign(Object.assign({}, state), { FlashingCellDefinitions: state.FlashingCellDefinitions.filter((abObject) => abObject.Uuid !== actionFlashingCellDefinition.Uuid) });
|
|
90
86
|
}
|
|
91
87
|
case exports.FLASHING_ALERT_DEFINITION_SUSPEND: {
|
|
@@ -177,7 +177,9 @@ exports.GridReducer = (state = initialState, action) => {
|
|
|
177
177
|
const removeColumn = action.column;
|
|
178
178
|
return Object.assign(Object.assign({}, state), { Columns: state.Columns.filter((abObject) => abObject.Uuid !== removeColumn.Uuid) });
|
|
179
179
|
case exports.GRID_SET_SORT:
|
|
180
|
-
return Object.assign({}, state, {
|
|
180
|
+
return Object.assign({}, state, {
|
|
181
|
+
ColumnSorts: action.columnSorts,
|
|
182
|
+
});
|
|
181
183
|
case exports.GRID_CLEAR_SORT:
|
|
182
184
|
return Object.assign({}, state, { ColumnSorts: undefined });
|
|
183
185
|
case exports.GRID_SET_SELECTED_CELLS:
|
|
@@ -131,6 +131,8 @@ exports.PopupReducer = (state = initialState, action) => {
|
|
|
131
131
|
Header: actionTyped.prompt.Header,
|
|
132
132
|
Message: actionTyped.prompt.Msg,
|
|
133
133
|
ConfirmAction: actionTyped.prompt.ConfirmAction,
|
|
134
|
+
ConfirmActionCreator: actionTyped.prompt.ConfirmActionCreator,
|
|
135
|
+
DefaultValue: actionTyped.prompt.DefaultValue,
|
|
134
136
|
};
|
|
135
137
|
return Object.assign({}, state, { PromptPopup: newPromptPopup });
|
|
136
138
|
}
|
|
@@ -140,6 +142,8 @@ exports.PopupReducer = (state = initialState, action) => {
|
|
|
140
142
|
Header: '',
|
|
141
143
|
Message: '',
|
|
142
144
|
ConfirmAction: null,
|
|
145
|
+
ConfirmActionCreator: null,
|
|
146
|
+
DefaultValue: '',
|
|
143
147
|
};
|
|
144
148
|
return Object.assign({}, state, { PromptPopup: newPromptPopup });
|
|
145
149
|
}
|
|
@@ -167,7 +171,9 @@ exports.PopupReducer = (state = initialState, action) => {
|
|
|
167
171
|
ConfirmationComment: null,
|
|
168
172
|
MessageType: actionTyped.confirmation.MessageType,
|
|
169
173
|
};
|
|
170
|
-
return Object.assign({}, state, {
|
|
174
|
+
return Object.assign({}, state, {
|
|
175
|
+
ConfirmationPopup: newConfirmationPopup,
|
|
176
|
+
});
|
|
171
177
|
}
|
|
172
178
|
case exports.POPUP_CONFIRM_CONFIRMATION: {
|
|
173
179
|
let actionTyped = action;
|
|
@@ -184,7 +190,9 @@ exports.PopupReducer = (state = initialState, action) => {
|
|
|
184
190
|
ConfirmationComment: actionTyped.comment,
|
|
185
191
|
MessageType: null,
|
|
186
192
|
};
|
|
187
|
-
return Object.assign({}, state, {
|
|
193
|
+
return Object.assign({}, state, {
|
|
194
|
+
ConfirmationPopup: newConfirmationPopup,
|
|
195
|
+
});
|
|
188
196
|
}
|
|
189
197
|
case exports.POPUP_CANCEL_CONFIRMATION: {
|
|
190
198
|
//we dispatch the Action of CancelAction in the middelware in order to keep the reducer pure
|
|
@@ -200,7 +208,9 @@ exports.PopupReducer = (state = initialState, action) => {
|
|
|
200
208
|
ConfirmationComment: null,
|
|
201
209
|
MessageType: null,
|
|
202
210
|
};
|
|
203
|
-
return Object.assign({}, state, {
|
|
211
|
+
return Object.assign({}, state, {
|
|
212
|
+
ConfirmationPopup: newConfirmationPopup,
|
|
213
|
+
});
|
|
204
214
|
}
|
|
205
215
|
case exports.POPUP_SHOW_ALERT: {
|
|
206
216
|
let showAlertAction = action;
|
|
@@ -40,7 +40,9 @@ exports.QuickSearchReducer = (state = initialState, action) => {
|
|
|
40
40
|
QuickSearchText: action.quickSearchText,
|
|
41
41
|
});
|
|
42
42
|
case exports.QUICK_SEARCH_SET_STYLE:
|
|
43
|
-
return Object.assign({}, state, {
|
|
43
|
+
return Object.assign({}, state, {
|
|
44
|
+
Style: action.style,
|
|
45
|
+
});
|
|
44
46
|
default:
|
|
45
47
|
return state;
|
|
46
48
|
}
|
|
@@ -400,7 +400,9 @@ exports.SystemReducer = (state = initialState, action) => {
|
|
|
400
400
|
systemStatusMessages.splice(0, 1);
|
|
401
401
|
}
|
|
402
402
|
systemStatusMessages.push(actionTypedAdd.systemStatusMessageInfo);
|
|
403
|
-
return Object.assign({}, state, {
|
|
403
|
+
return Object.assign({}, state, {
|
|
404
|
+
SystemStatusMessages: systemStatusMessages,
|
|
405
|
+
});
|
|
404
406
|
}
|
|
405
407
|
case exports.SYSTEM_STATUS_MESSAGE_INFO_DELETE_ALL: {
|
|
406
408
|
return Object.assign({}, state, { SystemStatusMessages: [] });
|
|
@@ -50,7 +50,9 @@ exports.ThemeReducer = (state = initialState, action) => {
|
|
|
50
50
|
UserThemes: action.UserThemes,
|
|
51
51
|
});
|
|
52
52
|
case exports.THEME_SELECT:
|
|
53
|
-
return Object.assign({}, state, {
|
|
53
|
+
return Object.assign({}, state, {
|
|
54
|
+
CurrentTheme: action.Theme,
|
|
55
|
+
});
|
|
54
56
|
default:
|
|
55
57
|
return state;
|
|
56
58
|
}
|
|
@@ -182,6 +182,7 @@ class AdaptableStore {
|
|
|
182
182
|
// If the user has remote storage set then we use Remote Engine, otherwise we use Local Enginge
|
|
183
183
|
// not sure we can do this as we need to be backwardly compatible with existing users so need to stick with adaptable id (which should be unique)
|
|
184
184
|
// const localStorageKey = 'adaptable-adaptable-state-' + adaptable.adaptableOptions.primaryKey;
|
|
185
|
+
const predefinedConfig = adaptable.adaptableOptions.predefinedConfig;
|
|
185
186
|
storageEngine = AdaptableReduxLocalStorageEngine_1.createEngine({
|
|
186
187
|
adaptableId: adaptable.adaptableOptions.adaptableId,
|
|
187
188
|
adaptableStateKey: adaptable.adaptableOptions.adaptableStateKey,
|
|
@@ -318,7 +319,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
318
319
|
*******************/
|
|
319
320
|
case SystemRedux.SYSTEM_FLASHING_CELL_ADD:
|
|
320
321
|
case SystemRedux.SYSTEM_FLASHING_CELL_DELETE: {
|
|
321
|
-
const { flashingCell: FlashingCell
|
|
322
|
+
const { flashingCell: FlashingCell } = action;
|
|
322
323
|
const { dataChangedInfo } = FlashingCell;
|
|
323
324
|
let ret = next(action);
|
|
324
325
|
if (dataChangedInfo) {
|
|
@@ -1086,7 +1087,7 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1086
1087
|
case TeamSharingRedux.TEAMSHARING_IMPORT_ITEM: {
|
|
1087
1088
|
let returnAction = next(action);
|
|
1088
1089
|
const actionTyped = action;
|
|
1089
|
-
const [importStepActions, needsOverwriteConfirmation
|
|
1090
|
+
const [importStepActions, needsOverwriteConfirmation] = adaptable.api.internalApi
|
|
1090
1091
|
.getTeamSharingService()
|
|
1091
1092
|
.buildSharedEntityImportActions(actionTyped.SharedEntity);
|
|
1092
1093
|
const processImportAction = TeamSharingRedux.TeamSharingProcessImport(importStepActions);
|
|
@@ -1159,14 +1160,14 @@ const adaptableMiddleware = (adaptable) => function (middlewareAPI) {
|
|
|
1159
1160
|
.getSharedEntities(adaptableId)
|
|
1160
1161
|
.then((sharedEntities) => {
|
|
1161
1162
|
// check if remote server has a newer revision
|
|
1162
|
-
const [localRevision, remoteRevision
|
|
1163
|
+
const [localRevision, remoteRevision] = adaptable.api.internalApi
|
|
1163
1164
|
.getTeamSharingService()
|
|
1164
1165
|
.getSharedEntityLocalAndRemoteRevisions(ChangedAdaptableObject.Uuid, sharedEntities);
|
|
1165
1166
|
if (remoteRevision > localRevision) {
|
|
1166
1167
|
// if remote has a newer version, we will NOT overwrite it
|
|
1167
1168
|
return;
|
|
1168
1169
|
}
|
|
1169
|
-
const [updatedSharedEntities, newActiveEntities
|
|
1170
|
+
const [updatedSharedEntities, newActiveEntities] = adaptable.api.internalApi
|
|
1170
1171
|
.getTeamSharingService()
|
|
1171
1172
|
.updateActiveSharedEntity(ChangedAdaptableObject, UserName, sharedEntities);
|
|
1172
1173
|
middlewareAPI.dispatch(TeamSharingRedux.TeamSharingLinkItem(...newActiveEntities));
|
|
@@ -23,8 +23,8 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
23
23
|
// do NOT handle reverted changes
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
-
if (this.api.internalApi.getAdaptableOptions().
|
|
27
|
-
|
|
26
|
+
if (this.api.internalApi.getAdaptableOptions().alertOptions.dataChangeDetectionPolicy ===
|
|
27
|
+
'formattedValue') {
|
|
28
28
|
const { oldValue, newValue } = dataChangedInfo;
|
|
29
29
|
const columnId = dataChangedInfo.column.columnId;
|
|
30
30
|
const oldFormattedValue = this.api.gridApi.getFormattedValueFromRawValue(columnId, oldValue);
|
|
@@ -64,7 +64,8 @@ class AlertModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
64
64
|
}
|
|
65
65
|
updateOldConfig() {
|
|
66
66
|
// 1. Make all (new) Flashing Alerts have a Predicate if none exists
|
|
67
|
-
const
|
|
67
|
+
const alertState = this.api.alertApi.getAlertState();
|
|
68
|
+
const flashingAlertDefinitions = alertState.FlashingAlertDefinitions;
|
|
68
69
|
const flashingCellDefinitions = this.api.flashingCellApi.getFlashingCellDefinitions();
|
|
69
70
|
if (ArrayExtensions_1.ArrayExtensions.IsEmpty(flashingCellDefinitions) &&
|
|
70
71
|
ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(flashingAlertDefinitions)) {
|
|
@@ -191,6 +191,10 @@ class ConditionalStyleModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
191
191
|
getScopeViewItems_1.getScopeViewItems(conditionalStyle.Scope),
|
|
192
192
|
getStyleViewItems_1.getStyleViewItems(),
|
|
193
193
|
getRuleViewItems_1.getRuleViewItems(conditionalStyle.Rule, this.api),
|
|
194
|
+
{
|
|
195
|
+
name: 'Settings',
|
|
196
|
+
values: [`Include grouped rows: ${conditionalStyle.IncludeGroupedRows ? 'Yes' : 'No'}`],
|
|
197
|
+
},
|
|
194
198
|
],
|
|
195
199
|
abObject: conditionalStyle,
|
|
196
200
|
};
|
|
@@ -24,8 +24,8 @@ class FlashingCellModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
24
24
|
}
|
|
25
25
|
// TODO: think about flashing row value only
|
|
26
26
|
// - flash for the underlying small data changes, but the visual does not
|
|
27
|
-
if (this.api.internalApi.getAdaptableOptions().
|
|
28
|
-
|
|
27
|
+
if (this.api.internalApi.getAdaptableOptions().alertOptions.dataChangeDetectionPolicy ===
|
|
28
|
+
'formattedValue') {
|
|
29
29
|
const { oldValue, newValue } = dataChangedInfo;
|
|
30
30
|
const columnId = dataChangedInfo.column.columnId;
|
|
31
31
|
const oldFormattedValue = this.api.gridApi.getFormattedValueFromRawValue(columnId, oldValue);
|
|
@@ -7,12 +7,12 @@ import { TeamSharingImportInfo } from '../PredefinedConfig/TeamSharingState';
|
|
|
7
7
|
import { FreeTextColumn } from '../PredefinedConfig/FreeTextColumnState';
|
|
8
8
|
import { AdaptableObjectView, IModule } from './Interface/IModule';
|
|
9
9
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
10
|
-
import { AdaptableObject } from '../PredefinedConfig/Common/AdaptableObject';
|
|
11
10
|
export declare class FreeTextColumnModule extends AdaptableModuleBase implements IModule {
|
|
12
11
|
constructor(api: AdaptableApi);
|
|
13
12
|
isModuleAvailable(): boolean;
|
|
14
|
-
getModuleAdaptableObjects():
|
|
13
|
+
getModuleAdaptableObjects(): FreeTextColumn[];
|
|
15
14
|
hasNamedQueryReferences(): boolean;
|
|
15
|
+
updateOldConfig(): void;
|
|
16
16
|
addColumnMenuItems(column: AdaptableColumn): AdaptableMenuItem[] | undefined;
|
|
17
17
|
getTeamSharingAction(): TeamSharingImportInfo<FreeTextColumn>;
|
|
18
18
|
toView(freeTextColumn: FreeTextColumn): AdaptableObjectView;
|
|
@@ -21,6 +21,16 @@ class FreeTextColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
21
21
|
hasNamedQueryReferences() {
|
|
22
22
|
return false;
|
|
23
23
|
}
|
|
24
|
+
updateOldConfig() {
|
|
25
|
+
// make sure all default to type string
|
|
26
|
+
const allFreeTextColumns = this.getModuleAdaptableObjects();
|
|
27
|
+
for (const freeTextColumn of allFreeTextColumns) {
|
|
28
|
+
if (!freeTextColumn.DataType) {
|
|
29
|
+
const updatedFreeTextColumn = Object.assign(Object.assign({}, freeTextColumn), { DataType: 'String' });
|
|
30
|
+
this.api.freeTextColumnApi.editFreeTextColumn(updatedFreeTextColumn);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
24
34
|
addColumnMenuItems(column) {
|
|
25
35
|
if (column && this.isModuleEditable()) {
|
|
26
36
|
if (this.api.freeTextColumnApi
|
|
@@ -48,12 +48,7 @@ class LayoutModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
48
48
|
}
|
|
49
49
|
if (column) {
|
|
50
50
|
if (!isReadOnlyLayout) {
|
|
51
|
-
returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Change Caption', 'edit', () =>
|
|
52
|
-
let newname = prompt('Enter a new Caption for the Column');
|
|
53
|
-
if (newname) {
|
|
54
|
-
this.api.layoutApi.setColumnCaption(column.columnId, newname);
|
|
55
|
-
}
|
|
56
|
-
}));
|
|
51
|
+
returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Change Caption', 'edit', () => this.api.layoutApi.showChangeColumnCaption(column)));
|
|
57
52
|
}
|
|
58
53
|
if (column.hideable) {
|
|
59
54
|
returnColumnMenuItems.push(this.createColumnMenuItemClickFunction('Hide Column', 'hide-column', () => {
|
|
@@ -15,8 +15,7 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
15
15
|
if (!super.isModuleAvailable()) {
|
|
16
16
|
return false;
|
|
17
17
|
}
|
|
18
|
-
const toolPanelOptions = this.api.internalApi.getAdaptableOptions()
|
|
19
|
-
.toolPanelOptions;
|
|
18
|
+
const toolPanelOptions = this.api.internalApi.getAdaptableOptions().toolPanelOptions;
|
|
20
19
|
return (toolPanelOptions &&
|
|
21
20
|
toolPanelOptions.showAdaptableToolPanel &&
|
|
22
21
|
toolPanelOptions.showAdaptableToolPanel == true);
|
|
@@ -25,7 +24,10 @@ class ToolPanelModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
25
24
|
const deprecatedToolPanelConfigs = this.api.toolPanelApi.getToolPanelState().VisibleToolPanels;
|
|
26
25
|
if (deprecatedToolPanelConfigs === null || deprecatedToolPanelConfigs === void 0 ? void 0 : deprecatedToolPanelConfigs.length) {
|
|
27
26
|
LoggingHelper_1.LogAdaptableWarning(`Updating Obsolete VisibleToolPanels Config for ToolPanelState: [${deprecatedToolPanelConfigs}]`);
|
|
28
|
-
const migratedToolPanelConfigs = deprecatedToolPanelConfigs.map((toolPanel) => ({
|
|
27
|
+
const migratedToolPanelConfigs = deprecatedToolPanelConfigs.map((toolPanel) => ({
|
|
28
|
+
Name: toolPanel,
|
|
29
|
+
State: 'collapsed',
|
|
30
|
+
}));
|
|
29
31
|
this.api.internalApi.dispatchReduxAction(ToolPanelRedux_1.ToolPanelSetToolPanels(migratedToolPanelConfigs));
|
|
30
32
|
}
|
|
31
33
|
else if (!this.api.toolPanelApi.getToolPanelState().ToolPanels) {
|
|
@@ -6,7 +6,7 @@ exports.getFormatColumnSettingsViewItems = (calculatedColumn) => {
|
|
|
6
6
|
const values = [
|
|
7
7
|
`Cell alignment: ${(_a = calculatedColumn.CellAlignment) !== null && _a !== void 0 ? _a : 'default'}`,
|
|
8
8
|
calculatedColumn.HeaderName && `Header name: ${calculatedColumn.HeaderName}`,
|
|
9
|
-
`Include grouped rows: ${calculatedColumn.IncludeGroupedRows ? '
|
|
9
|
+
`Include grouped rows: ${calculatedColumn.IncludeGroupedRows ? 'Yes' : 'No'}`,
|
|
10
10
|
].filter(Boolean);
|
|
11
11
|
return {
|
|
12
12
|
name: 'Settings',
|
|
@@ -19,20 +19,22 @@ exports.DefaultAdaptableOptions = {
|
|
|
19
19
|
autogeneratePrimaryKey: false,
|
|
20
20
|
userName: GeneralConstants.USER_NAME,
|
|
21
21
|
predefinedConfig: undefined,
|
|
22
|
-
|
|
22
|
+
alertOptions: {
|
|
23
23
|
alertForms: undefined,
|
|
24
24
|
maxAlertsInStore: 20,
|
|
25
|
+
cellHighlightDuration: 3000,
|
|
26
|
+
dataChangeDetectionPolicy: 'rawValue',
|
|
27
|
+
actionHandlers: undefined,
|
|
28
|
+
},
|
|
29
|
+
notificationsOptions: {
|
|
25
30
|
maxNotifications: 3,
|
|
26
31
|
position: 'BottomRight',
|
|
27
32
|
duration: 3000,
|
|
28
|
-
cellHighlightDuration: 3000,
|
|
29
|
-
dataChangeDetectionPolicy: 'rawValue',
|
|
30
33
|
showProgressBar: false,
|
|
31
34
|
closeWhenClicked: false,
|
|
32
35
|
pauseWhenHovering: false,
|
|
33
36
|
isDraggable: false,
|
|
34
37
|
transition: 'Slide',
|
|
35
|
-
actionHandlers: undefined,
|
|
36
38
|
showApplicationIcon: false,
|
|
37
39
|
showSystemStatusMessageNotifications: false,
|
|
38
40
|
maxSystemMessagesInStore: 100,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const normalizeDateParams: (args: [string | number | Date, string | number | Date]) => [number | Date, number | Date];
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeDateParams = void 0;
|
|
4
|
+
exports.normalizeDateParams = (args) => {
|
|
5
|
+
let [first, second] = args;
|
|
6
|
+
if (typeof first === 'string') {
|
|
7
|
+
first = new Date(first);
|
|
8
|
+
}
|
|
9
|
+
if (typeof second === 'string') {
|
|
10
|
+
second = new Date(second);
|
|
11
|
+
}
|
|
12
|
+
return [first, second];
|
|
13
|
+
};
|