@adaptabletools/adaptable 22.0.0-canary.3 → 22.0.0-canary.4
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/index.css +12 -3
- package/index.css.map +1 -1
- package/package.json +1 -1
- package/src/AdaptableOptions/ActionColumnOptions.d.ts +2 -2
- package/src/AdaptableOptions/CustomSortOptions.d.ts +5 -0
- package/src/AdaptableOptions/DashboardOptions.d.ts +1 -2
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -2
- package/src/AdaptableState/AlertState.d.ts +2 -2
- package/src/AdaptableState/ChartingState.d.ts +3 -3
- package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableButton.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableFlashingCell.d.ts +2 -2
- package/src/AdaptableState/Common/AdaptableObject.d.ts +25 -2
- package/src/AdaptableState/Common/RowSummary.d.ts +1 -1
- package/src/AdaptableState/Common/Schedule.d.ts +3 -4
- package/src/AdaptableState/Common/SystemStatusMessageInfo.d.ts +2 -2
- package/src/AdaptableState/CustomSortState.d.ts +2 -2
- package/src/AdaptableState/DashboardState.d.ts +2 -2
- package/src/AdaptableState/ExportState.d.ts +2 -2
- package/src/AdaptableState/FlashingCellState.d.ts +2 -2
- package/src/AdaptableState/FormatColumnState.d.ts +2 -2
- package/src/AdaptableState/LayoutState.d.ts +8 -3
- package/src/AdaptableState/NamedQueryState.d.ts +2 -2
- package/src/AdaptableState/PlusMinusState.d.ts +2 -2
- package/src/AdaptableState/ShortcutState.d.ts +2 -2
- package/src/AdaptableState/StyledColumnState.d.ts +1 -1
- package/src/AdaptableState/ThemeState.d.ts +2 -2
- package/src/Api/CustomSortApi.d.ts +6 -3
- package/src/Api/Implementation/CustomSortApiImpl.d.ts +5 -1
- package/src/Api/Implementation/CustomSortApiImpl.js +2 -2
- package/src/Api/Implementation/LayoutHelpers.js +7 -0
- package/src/Api/Implementation/ScheduleApiImpl.js +1 -0
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +1 -1
- package/src/Strategy/AlertModule.js +4 -0
- package/src/Strategy/CustomSortModule.js +4 -0
- package/src/Strategy/FlashingCellModule.js +5 -0
- package/src/Strategy/FormatColumnModule.js +4 -0
- package/src/Strategy/LayoutModule.js +4 -4
- package/src/Strategy/PlusMinusModule.js +4 -0
- package/src/Strategy/ScheduleModule.js +4 -0
- package/src/Strategy/ShortcutModule.js +4 -0
- package/src/Utilities/Extensions/StringExtensions.d.ts +2 -0
- package/src/Utilities/Extensions/StringExtensions.js +16 -0
- package/src/Utilities/Helpers/FormatHelper.js +9 -2
- package/src/Utilities/ObjectFactory.js +15 -2
- package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +2 -1
- package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +5 -2
- package/src/View/Alert/Wizard/AlertTypeWizardSection.js +47 -12
- package/src/View/Alert/Wizard/AlertWizard.js +14 -10
- package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -2
- package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -2
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
- package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +40 -14
- package/src/View/CustomSort/Wizard/CustomSortWizard.js +4 -4
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -0
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.d.ts +2 -1
- package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +34 -14
- package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +14 -10
- package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +47 -29
- package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +20 -9
- package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +8 -0
- package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +32 -9
- package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +20 -15
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +12 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +12 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.d.ts +2 -1
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +10 -1
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.d.ts +2 -1
- package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +25 -4
- package/src/View/Shortcut/Wizard/ShortcutWizard.js +18 -14
- package/src/env.js +2 -2
- package/src/layout-manager/src/LayoutManagerModel.d.ts +1 -0
- package/src/layout-manager/src/index.js +25 -7
- package/src/layout-manager/src/normalizeLayoutModel.js +3 -0
- package/src/metamodel/adaptable.metamodel.d.ts +30 -0
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/AdaptableUpgradeHelper.js +1 -1
- package/src/migration/VersionUpgrade22.d.ts +15 -0
- package/src/migration/VersionUpgrade22.js +160 -0
- package/src/types.d.ts +1 -2
- package/tsconfig.esm.tsbuildinfo +1 -1
- package/src/AdaptableState/Common/SuspendableObject.d.ts +0 -10
- package/src/AdaptableState/Common/SuspendableObject.js +0 -1
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { SuspendableObject } from './SuspendableObject';
|
|
1
|
+
import { NamedObject, SuspendableObject } from './AdaptableObject';
|
|
3
2
|
/**
|
|
4
3
|
* Defines when an action will be run - either one-off or recurring
|
|
5
4
|
*/
|
|
6
|
-
export interface Schedule
|
|
5
|
+
export interface Schedule {
|
|
7
6
|
/**
|
|
8
7
|
* Hour the Schedule will run
|
|
9
8
|
*/
|
|
@@ -24,7 +23,7 @@ export interface Schedule extends AdaptableObject {
|
|
|
24
23
|
/**
|
|
25
24
|
* Base Schedule object - typically overriden by Functions
|
|
26
25
|
*/
|
|
27
|
-
export interface BaseSchedule extends SuspendableObject {
|
|
26
|
+
export interface BaseSchedule extends NamedObject, SuspendableObject {
|
|
28
27
|
/**
|
|
29
28
|
* The Schedule to run
|
|
30
29
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { AdaptableMessageType } from './AdaptableMessageType';
|
|
2
|
-
import {
|
|
2
|
+
import { Identifiable } from '../../types';
|
|
3
3
|
/**
|
|
4
4
|
* Wraps a System Status Message
|
|
5
5
|
*/
|
|
6
|
-
export interface SystemStatusMessageInfo extends
|
|
6
|
+
export interface SystemStatusMessageInfo extends Identifiable {
|
|
7
7
|
/**
|
|
8
8
|
* The Message to be displayed
|
|
9
9
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseState } from './BaseState';
|
|
2
|
-
import { SuspendableObject } from './Common/
|
|
2
|
+
import { NamedObject, SuspendableObject } from './Common/AdaptableObject';
|
|
3
3
|
/**
|
|
4
4
|
* Adaptable State Section for Custom Sort Module
|
|
5
5
|
*/
|
|
@@ -12,7 +12,7 @@ export interface CustomSortState extends BaseState {
|
|
|
12
12
|
/**
|
|
13
13
|
* Custom Sort object used in Custom Sort function.
|
|
14
14
|
*/
|
|
15
|
-
export interface CustomSort extends SuspendableObject {
|
|
15
|
+
export interface CustomSort extends SuspendableObject, NamedObject {
|
|
16
16
|
/**
|
|
17
17
|
* Id of Column on which Custom Sort will be applied
|
|
18
18
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseState } from './BaseState';
|
|
2
2
|
import { AdaptableDashboardToolbars, AdaptableModuleButtons } from './Common/Types';
|
|
3
|
-
import { AdaptableObject } from './Common/AdaptableObject';
|
|
3
|
+
import { AdaptableObject, NamedObject } from './Common/AdaptableObject';
|
|
4
4
|
/**
|
|
5
5
|
* Adaptable State Section for the AdapTable Dashboard
|
|
6
6
|
*/
|
|
@@ -56,7 +56,7 @@ export interface DashboardState extends BaseState {
|
|
|
56
56
|
/**
|
|
57
57
|
* Defines a named set of Toolbars in the AdapTable Dashboard
|
|
58
58
|
*/
|
|
59
|
-
export interface DashboardTab extends
|
|
59
|
+
export interface DashboardTab extends NamedObject {
|
|
60
60
|
/**
|
|
61
61
|
* Name of the tab - as appears in the Dashboard
|
|
62
62
|
*/
|
|
@@ -2,7 +2,7 @@ import { BaseState } from './BaseState';
|
|
|
2
2
|
import { BaseSchedule } from './Common/Schedule';
|
|
3
3
|
import { ColumnScope } from './Common/ColumnScope';
|
|
4
4
|
import { AdaptableColumnBase } from './Common/AdaptableColumn';
|
|
5
|
-
import {
|
|
5
|
+
import { NamedObject } from './Common/AdaptableObject';
|
|
6
6
|
import { AdaptableBooleanQuery } from './Common/AdaptableQuery';
|
|
7
7
|
import { TypeHint } from './Common/Types';
|
|
8
8
|
import { ExportDestinationType } from '../AdaptableOptions/ExportOptions';
|
|
@@ -26,7 +26,7 @@ export interface ExportState extends BaseState {
|
|
|
26
26
|
/**
|
|
27
27
|
* A Report which can export data from AdapTable
|
|
28
28
|
*/
|
|
29
|
-
export interface Report extends
|
|
29
|
+
export interface Report extends NamedObject {
|
|
30
30
|
/**
|
|
31
31
|
* Name of Report
|
|
32
32
|
*/
|
|
@@ -4,7 +4,7 @@ import { AdaptableColumnPredicate, ColumnScope } from '../types';
|
|
|
4
4
|
import { XOR } from '../Utilities/Extensions/TypeExtensions';
|
|
5
5
|
import { AdaptableBooleanQuery } from './Common/AdaptableQuery';
|
|
6
6
|
import { TypeHint } from './Common/Types';
|
|
7
|
-
import { SuspendableObject } from '../../types';
|
|
7
|
+
import { NamedObject, SuspendableObject } from '../../types';
|
|
8
8
|
/**
|
|
9
9
|
* Adaptable State Section for Flashing Cell module
|
|
10
10
|
*/
|
|
@@ -33,7 +33,7 @@ export type FlashTargetTypes = 'row' | 'cell' | 'aggFuncCell';
|
|
|
33
33
|
/**
|
|
34
34
|
* The Flashing Cell Definition
|
|
35
35
|
*/
|
|
36
|
-
export interface FlashingCellDefinition extends SuspendableObject {
|
|
36
|
+
export interface FlashingCellDefinition extends NamedObject, SuspendableObject {
|
|
37
37
|
/**
|
|
38
38
|
* Which Columns, DataTypes or Column Types can Flash
|
|
39
39
|
*/
|
|
@@ -3,11 +3,11 @@ import { AdaptableStyle } from './Common/AdaptableStyle';
|
|
|
3
3
|
import { AdaptableFormat } from './Common/AdaptableFormat';
|
|
4
4
|
import { ColumnScope } from './Common/ColumnScope';
|
|
5
5
|
import { RowScope } from './Common/RowScope';
|
|
6
|
-
import { SuspendableObject } from './Common/SuspendableObject';
|
|
7
6
|
import { XOR } from '../Utilities/Extensions/TypeExtensions';
|
|
8
7
|
import { TypeHint } from './Common/Types';
|
|
9
8
|
import { AdaptableBooleanQuery, LayoutExtendedConfig } from '../types';
|
|
10
9
|
import { AdaptableColumnPredicate } from './Common/AdaptablePredicate';
|
|
10
|
+
import { NamedObject, SuspendableObject } from './Common/AdaptableObject';
|
|
11
11
|
/**
|
|
12
12
|
* Adaptable State Section for Format Column Module
|
|
13
13
|
*/
|
|
@@ -20,7 +20,7 @@ export interface FormatColumnState extends BaseState {
|
|
|
20
20
|
/**
|
|
21
21
|
* Object used in Format Column function
|
|
22
22
|
*/
|
|
23
|
-
export interface FormatColumn extends SuspendableObject {
|
|
23
|
+
export interface FormatColumn extends SuspendableObject, NamedObject {
|
|
24
24
|
/**
|
|
25
25
|
* Where Format will be applied: whole Row, some Columns, or Columns of DataType
|
|
26
26
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseState } from './BaseState';
|
|
2
|
-
import { AdaptableObject } from './Common/AdaptableObject';
|
|
2
|
+
import { AdaptableObject, NamedObject } from './Common/AdaptableObject';
|
|
3
3
|
import { ColumnSort } from './Common/ColumnSort';
|
|
4
4
|
import { ColumnFilter, GridFilter } from '../types';
|
|
5
|
-
import {
|
|
5
|
+
import { PivotAggregationColumns, TableAggregationColumns } from './Common/AggregationColumns';
|
|
6
6
|
import { RowSummary } from './Common/RowSummary';
|
|
7
7
|
import { NonEmptyArray } from '../Utilities/Extensions/ArrayExtensions';
|
|
8
8
|
import { XOR } from '../Utilities/Extensions/TypeExtensions';
|
|
@@ -30,7 +30,7 @@ export interface LayoutState extends BaseState {
|
|
|
30
30
|
/**
|
|
31
31
|
* Base object for both Table and Pivot Layouts
|
|
32
32
|
*/
|
|
33
|
-
export interface LayoutBase extends
|
|
33
|
+
export interface LayoutBase extends NamedObject {
|
|
34
34
|
/**
|
|
35
35
|
* Name of Layout as will appear in Layout toolbar and tool panel
|
|
36
36
|
*/
|
|
@@ -165,6 +165,11 @@ export interface PivotLayout extends LayoutBase {
|
|
|
165
165
|
* Display automatically calculated Totals within EACH Pivot Column Group, in the position specified
|
|
166
166
|
*/
|
|
167
167
|
PivotColumnTotal?: PivotTotalPosition;
|
|
168
|
+
/**
|
|
169
|
+
* Ordered list of Pivot Result Column Ids to control their display order.
|
|
170
|
+
* Set to `true` to enable tracking the current display order (will be populated automatically).
|
|
171
|
+
*/
|
|
172
|
+
PivotResultColumns?: string[] | boolean;
|
|
168
173
|
}
|
|
169
174
|
/**
|
|
170
175
|
* Defines the position of Pivot Total position - 'before' or 'after' the Value Column(s)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseState } from './BaseState';
|
|
2
2
|
import { AdaptableBooleanQuery } from './Common/AdaptableQuery';
|
|
3
|
-
import {
|
|
3
|
+
import { NamedObject } from './Common/AdaptableObject';
|
|
4
4
|
/**
|
|
5
5
|
* Adaptable State Section for Named Query Module
|
|
6
6
|
*/
|
|
@@ -13,7 +13,7 @@ export interface NamedQueryState extends BaseState {
|
|
|
13
13
|
/**
|
|
14
14
|
* Defines a Query which can be referenced in AdaptableQL Expressions
|
|
15
15
|
*/
|
|
16
|
-
export interface NamedQuery extends AdaptableBooleanQuery,
|
|
16
|
+
export interface NamedQuery extends AdaptableBooleanQuery, NamedObject {
|
|
17
17
|
/**
|
|
18
18
|
* Name of the Query - how it will appear in the Expression
|
|
19
19
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BaseState } from './BaseState';
|
|
2
2
|
import { ColumnScope } from './Common/ColumnScope';
|
|
3
3
|
import { AdaptableBooleanQuery } from './Common/AdaptableQuery';
|
|
4
|
-
import { SuspendableObject } from './Common/
|
|
4
|
+
import { NamedObject, SuspendableObject } from './Common/AdaptableObject';
|
|
5
5
|
/**
|
|
6
6
|
* Adaptable State Section for Plus Minus Module
|
|
7
7
|
*/
|
|
@@ -14,7 +14,7 @@ export interface PlusMinusState extends BaseState {
|
|
|
14
14
|
/**
|
|
15
15
|
* Defines a Plus Minus Rule - used in the Plus Minus Module
|
|
16
16
|
*/
|
|
17
|
-
export interface PlusMinusNudge extends SuspendableObject {
|
|
17
|
+
export interface PlusMinusNudge extends NamedObject, SuspendableObject {
|
|
18
18
|
/**
|
|
19
19
|
* Where Rule is applied
|
|
20
20
|
*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseState } from './BaseState';
|
|
2
2
|
import { ColumnScope } from './Common/ColumnScope';
|
|
3
|
-
import { SuspendableObject } from './Common/
|
|
3
|
+
import { NamedObject, SuspendableObject } from './Common/AdaptableObject';
|
|
4
4
|
/**
|
|
5
5
|
* Adaptable State Section for Shortcut Module
|
|
6
6
|
*/
|
|
@@ -17,7 +17,7 @@ export type ShortcutScopeDataType = 'number';
|
|
|
17
17
|
/**
|
|
18
18
|
* Used to define a Shortcut as used in Shortcut State
|
|
19
19
|
*/
|
|
20
|
-
export interface Shortcut extends SuspendableObject {
|
|
20
|
+
export interface Shortcut extends NamedObject, SuspendableObject {
|
|
21
21
|
/**
|
|
22
22
|
* Numeric Columns where Shortcut is applied
|
|
23
23
|
*/
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BaseState } from './BaseState';
|
|
2
|
-
import { SuspendableObject } from './Common/SuspendableObject';
|
|
3
2
|
import { AdaptablePredicate, AdaptableStyle, AdaptableBooleanQuery, AdaptableIcon } from '../types';
|
|
4
3
|
import { TypeHint } from './Common/Types';
|
|
5
4
|
import { RowScope } from './Common/RowScope';
|
|
6
5
|
import { AgSparklineOptions } from 'ag-charts-types';
|
|
6
|
+
import { SuspendableObject } from './Common/AdaptableObject';
|
|
7
7
|
/**
|
|
8
8
|
* Adaptable State Section for Styled Column Module
|
|
9
9
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseState } from './BaseState';
|
|
2
|
-
import {
|
|
2
|
+
import { NamedObject } from './Common/AdaptableObject';
|
|
3
3
|
import { TypeHint } from './Common/Types';
|
|
4
4
|
/**
|
|
5
5
|
* Theme section of Adaptable State
|
|
@@ -21,7 +21,7 @@ export interface ThemeState extends BaseState {
|
|
|
21
21
|
/**
|
|
22
22
|
* Used for creating User (i.e. Custom) Themes
|
|
23
23
|
*/
|
|
24
|
-
export interface AdaptableTheme extends
|
|
24
|
+
export interface AdaptableTheme extends NamedObject {
|
|
25
25
|
/**
|
|
26
26
|
* Name of the Theme
|
|
27
27
|
*/
|
|
@@ -52,11 +52,14 @@ export interface CustomSortApi {
|
|
|
52
52
|
addCustomSort(customSort: CustomSort): CustomSort;
|
|
53
53
|
/**
|
|
54
54
|
* Creates new Custom Sort based on given values
|
|
55
|
-
* @param
|
|
56
|
-
* @param values Custom Sort values to apply
|
|
55
|
+
* @param params Parameters for creating a Custom Sort
|
|
57
56
|
* @returns Custom Sort
|
|
58
57
|
*/
|
|
59
|
-
createCustomSort(
|
|
58
|
+
createCustomSort(params: {
|
|
59
|
+
name: string;
|
|
60
|
+
columnId: string;
|
|
61
|
+
values: string[];
|
|
62
|
+
}): CustomSort;
|
|
60
63
|
/**
|
|
61
64
|
* Updates existing Custom Sort with new set of Sorted Values
|
|
62
65
|
* @param columnId Id of Column on which to edit the Custom Sort
|
|
@@ -18,7 +18,11 @@ export declare class CustomSortApiImpl extends ApiBase implements CustomSortApi
|
|
|
18
18
|
getCustomSortByColumn(column: string): CustomSort;
|
|
19
19
|
getCustomSortForColumn(columnId: string): CustomSort | undefined;
|
|
20
20
|
addCustomSort(customSort: CustomSort): CustomSort;
|
|
21
|
-
createCustomSort(
|
|
21
|
+
createCustomSort(params: {
|
|
22
|
+
name: string;
|
|
23
|
+
columnId: string;
|
|
24
|
+
values: string[];
|
|
25
|
+
}): CustomSort;
|
|
22
26
|
editCustomSortValues(columnId: string, values: string[]): CustomSort;
|
|
23
27
|
editCustomSort(customSort: CustomSort): CustomSort;
|
|
24
28
|
deleteCustomSort(column: string): void;
|
|
@@ -70,8 +70,8 @@ export class CustomSortApiImpl extends ApiBase {
|
|
|
70
70
|
this.dispatchAction(CustomSortRedux.CustomSortAdd(customSort));
|
|
71
71
|
return this.getCustomSortById(customSort.Uuid);
|
|
72
72
|
}
|
|
73
|
-
createCustomSort(
|
|
74
|
-
let customSort = { ColumnId: columnId, SortedValues: values };
|
|
73
|
+
createCustomSort(params) {
|
|
74
|
+
let customSort = { Name: params.name, ColumnId: params.columnId, SortedValues: params.values };
|
|
75
75
|
return this.addCustomSort(customSort);
|
|
76
76
|
}
|
|
77
77
|
editCustomSortValues(columnId, values) {
|
|
@@ -274,6 +274,7 @@ export const pivotLayoutToPivotLayoutModel = (pivotLayout) => {
|
|
|
274
274
|
GrandTotalRow: pivotLayout.GrandTotalRow,
|
|
275
275
|
PivotGrandTotal: pivotLayout.PivotGrandTotal,
|
|
276
276
|
PivotColumnTotal: pivotLayout.PivotColumnTotal,
|
|
277
|
+
PivotResultColumns: pivotLayout.PivotResultColumns,
|
|
277
278
|
RowGroupValues: toRowGroupValuesForLayoutModel(pivotLayout.RowGroupValues),
|
|
278
279
|
ColumnGroupValues: pivotLayout.ColumnGroupValues
|
|
279
280
|
? pivotLayout.ColumnGroupValues.ColumnGroupDefaultBehavior === 'always-expanded' ||
|
|
@@ -507,6 +508,12 @@ export const pivotLayoutModelToPivotLayout = (layoutModel) => {
|
|
|
507
508
|
else {
|
|
508
509
|
delete pivotLayout.PivotColumnTotal;
|
|
509
510
|
}
|
|
511
|
+
if (layoutModel.PivotResultColumns != null) {
|
|
512
|
+
pivotLayout.PivotResultColumns = layoutModel.PivotResultColumns;
|
|
513
|
+
}
|
|
514
|
+
else {
|
|
515
|
+
delete pivotLayout.PivotResultColumns;
|
|
516
|
+
}
|
|
510
517
|
if (layoutModel.PivotAggregationColumns) {
|
|
511
518
|
pivotLayout.PivotAggregationColumns = (layoutModel.PivotAggregationColumns || []).map(({ ColumnId, AggFunc, Total }) => ({
|
|
512
519
|
ColumnId,
|
|
@@ -154,6 +154,7 @@ export class ScheduleApiImpl extends ApiBase {
|
|
|
154
154
|
header: reminderSchedule.Header,
|
|
155
155
|
message: reminderSchedule.Message,
|
|
156
156
|
alertDefinition: {
|
|
157
|
+
Name: reminderSchedule.Header,
|
|
157
158
|
MessageType: reminderSchedule.MessageType,
|
|
158
159
|
AlertProperties: {
|
|
159
160
|
DisplayNotification: reminderSchedule.DisplayNotification,
|
|
@@ -168,11 +168,11 @@ export declare const getColumnFilterSelector: (state: AdaptableState, columnId:
|
|
|
168
168
|
Predicates: import("../../types").ColumnFilterPredicate[];
|
|
169
169
|
PredicatesOperator?: import("../../types").PredicatesOperator;
|
|
170
170
|
IsSuspended?: boolean;
|
|
171
|
-
Uuid?: import("../../AdaptableState/Uuid").TypeUuid;
|
|
172
171
|
Source?: "InitialState" | "User";
|
|
173
172
|
AdaptableVersion?: import("../../types").AdaptableVersion;
|
|
174
173
|
IsReadOnly?: boolean;
|
|
175
174
|
Tags?: import("../../types").AdaptableObjectTag[];
|
|
176
175
|
Metadata?: any;
|
|
176
|
+
Uuid?: import("../../AdaptableState/Uuid").TypeUuid;
|
|
177
177
|
};
|
|
178
178
|
export declare const LayoutReducer: Redux.Reducer<LayoutState>;
|
|
@@ -183,6 +183,10 @@ export class AlertModule extends AdaptableModuleBase {
|
|
|
183
183
|
const alertType = getAlertType(alert);
|
|
184
184
|
return {
|
|
185
185
|
items: [
|
|
186
|
+
{
|
|
187
|
+
name: 'Name',
|
|
188
|
+
values: [alert.Name],
|
|
189
|
+
},
|
|
186
190
|
getAlertTypeViewItems(alert),
|
|
187
191
|
alertType === 'DataChange' && {
|
|
188
192
|
...getScopeViewItems(alert.Scope, this.api),
|
|
@@ -47,6 +47,10 @@ export class CustomSortModule extends AdaptableModuleBase {
|
|
|
47
47
|
toView(customSort) {
|
|
48
48
|
return {
|
|
49
49
|
items: [
|
|
50
|
+
{
|
|
51
|
+
name: 'Name',
|
|
52
|
+
values: [customSort.Name],
|
|
53
|
+
},
|
|
50
54
|
getCustomSortColumnViewItems(customSort, this.api),
|
|
51
55
|
getCustomSortSortOrderViewItems(customSort),
|
|
52
56
|
getObjectTagsViewItems(customSort, this.api),
|
|
@@ -182,6 +182,7 @@ export class FlashingCellModule extends AdaptableModuleBase {
|
|
|
182
182
|
}
|
|
183
183
|
return [
|
|
184
184
|
this.createMenuItemReduxAction('flashing-cell-add', 'Add Flashing Cell', this.moduleInfo.Glyph, FlashingCellRedux.FlashingCellDefinitionAdd({
|
|
185
|
+
Name: `Any Change [${column.columnId}]`,
|
|
185
186
|
Scope: {
|
|
186
187
|
ColumnIds: [column.columnId],
|
|
187
188
|
},
|
|
@@ -247,6 +248,10 @@ export class FlashingCellModule extends AdaptableModuleBase {
|
|
|
247
248
|
toView(flashingCell) {
|
|
248
249
|
return {
|
|
249
250
|
items: [
|
|
251
|
+
{
|
|
252
|
+
name: 'Name',
|
|
253
|
+
values: [flashingCell.Name],
|
|
254
|
+
},
|
|
250
255
|
{ ...getScopeViewItems(flashingCell.Scope, this.api), label: 'Trigger' },
|
|
251
256
|
{
|
|
252
257
|
...getRuleViewItems(flashingCell.Rule, this.api),
|
|
@@ -82,6 +82,10 @@ export class FormatColumnModule extends AdaptableModuleBase {
|
|
|
82
82
|
return {
|
|
83
83
|
abObject: formatColumn,
|
|
84
84
|
items: [
|
|
85
|
+
{
|
|
86
|
+
name: 'Name',
|
|
87
|
+
values: [formatColumn.Name],
|
|
88
|
+
},
|
|
85
89
|
getScopeViewItems(formatColumn.Scope, this.api),
|
|
86
90
|
getFormatColumnSettingsTargetItems(formatColumn),
|
|
87
91
|
formatColumn.Rule && getRuleViewItems(formatColumn.Rule, this.api),
|
|
@@ -299,14 +299,14 @@ export class LayoutModule extends AdaptableModuleBase {
|
|
|
299
299
|
}
|
|
300
300
|
return {
|
|
301
301
|
items: [
|
|
302
|
-
{
|
|
303
|
-
name: 'Grid Type',
|
|
304
|
-
values: [isPivotLayout(layout) ? 'Pivot' : 'Table'],
|
|
305
|
-
},
|
|
306
302
|
{
|
|
307
303
|
name: 'Name',
|
|
308
304
|
values: [layout.Name],
|
|
309
305
|
},
|
|
306
|
+
{
|
|
307
|
+
name: 'Grid Type',
|
|
308
|
+
values: [isPivotLayout(layout) ? 'Pivot' : 'Table'],
|
|
309
|
+
},
|
|
310
310
|
/**
|
|
311
311
|
* Hide pivot columns.
|
|
312
312
|
*
|
|
@@ -200,6 +200,10 @@ export class PlusMinusModule extends AdaptableModuleBase {
|
|
|
200
200
|
return {
|
|
201
201
|
abObject: plusMinus,
|
|
202
202
|
items: [
|
|
203
|
+
{
|
|
204
|
+
name: 'Name',
|
|
205
|
+
values: [plusMinus.Name],
|
|
206
|
+
},
|
|
203
207
|
{
|
|
204
208
|
name: 'Target',
|
|
205
209
|
...getScopeViewItems(plusMinus.Scope, this.api),
|
|
@@ -132,6 +132,10 @@ export class ScheduleModule extends AdaptableModuleBase {
|
|
|
132
132
|
return {
|
|
133
133
|
abObject: schedule,
|
|
134
134
|
items: [
|
|
135
|
+
{
|
|
136
|
+
name: 'Name',
|
|
137
|
+
values: [schedule.Name],
|
|
138
|
+
},
|
|
135
139
|
{
|
|
136
140
|
name: 'Settings',
|
|
137
141
|
values: getScheduleSettingsValues(schedule).map((description) => `${description.label}: ${description.value}`),
|
|
@@ -82,6 +82,10 @@ export class ShortcutModule extends AdaptableModuleBase {
|
|
|
82
82
|
return {
|
|
83
83
|
abObject: shortcut,
|
|
84
84
|
items: [
|
|
85
|
+
{
|
|
86
|
+
name: 'Name',
|
|
87
|
+
values: [shortcut.Name],
|
|
88
|
+
},
|
|
85
89
|
getScopeViewItems(shortcut.Scope, this.api),
|
|
86
90
|
getShortcutSettingsViewItems(shortcut),
|
|
87
91
|
getObjectTagsViewItems(shortcut, this.api),
|
|
@@ -17,6 +17,7 @@ export declare function Humanize(str: string): string;
|
|
|
17
17
|
export declare function ReplaceEmptySpacesWithUnderscore(str?: string): string;
|
|
18
18
|
export declare function IsNumeric(str: string): boolean;
|
|
19
19
|
export declare function UnescapeHtmlEntities(str: string): string;
|
|
20
|
+
export declare function ReplaceAllOccurencesExceptLastOne(str: string, searchTerm: string, replacement: string): string;
|
|
20
21
|
export declare const StringExtensions: {
|
|
21
22
|
IsNull: typeof IsNull;
|
|
22
23
|
IsNotNull: typeof IsNotNull;
|
|
@@ -37,5 +38,6 @@ export declare const StringExtensions: {
|
|
|
37
38
|
ReplaceEmptySpacesWithUnderscore: typeof ReplaceEmptySpacesWithUnderscore;
|
|
38
39
|
IsNumeric: typeof IsNumeric;
|
|
39
40
|
UnescapeHtmlEntities: typeof UnescapeHtmlEntities;
|
|
41
|
+
ReplaceAllOccurencesExceptLastOne: typeof ReplaceAllOccurencesExceptLastOne;
|
|
40
42
|
};
|
|
41
43
|
export default StringExtensions;
|
|
@@ -92,6 +92,21 @@ export function UnescapeHtmlEntities(str) {
|
|
|
92
92
|
}
|
|
93
93
|
return preparedStr;
|
|
94
94
|
}
|
|
95
|
+
export function ReplaceAllOccurencesExceptLastOne(str, searchTerm, replacement) {
|
|
96
|
+
// Find the index of the last occurrence of the search string
|
|
97
|
+
const lastIndex = str.lastIndexOf(searchTerm);
|
|
98
|
+
// If the string is not found, return the original string
|
|
99
|
+
if (lastIndex === -1) {
|
|
100
|
+
return str;
|
|
101
|
+
}
|
|
102
|
+
// Slice the string into two parts: before and after the last occurrence
|
|
103
|
+
const partBeforeLast = str.slice(0, lastIndex);
|
|
104
|
+
const partAfterLast = str.slice(lastIndex);
|
|
105
|
+
// Replace all occurrences in the first part
|
|
106
|
+
const replacedPart = partBeforeLast.replaceAll(searchTerm, replacement);
|
|
107
|
+
// Recombine the modified first part with the untouched second part
|
|
108
|
+
return replacedPart + partAfterLast;
|
|
109
|
+
}
|
|
95
110
|
export const StringExtensions = {
|
|
96
111
|
IsNull,
|
|
97
112
|
IsNotNull,
|
|
@@ -112,5 +127,6 @@ export const StringExtensions = {
|
|
|
112
127
|
ReplaceEmptySpacesWithUnderscore,
|
|
113
128
|
IsNumeric,
|
|
114
129
|
UnescapeHtmlEntities,
|
|
130
|
+
ReplaceAllOccurencesExceptLastOne,
|
|
115
131
|
};
|
|
116
132
|
export default StringExtensions;
|
|
@@ -28,7 +28,6 @@ export function NumberFormatter(input, options = {}, rowNode, column, api) {
|
|
|
28
28
|
if (isNaN(n)) {
|
|
29
29
|
return preparedInput.toString();
|
|
30
30
|
}
|
|
31
|
-
const fractionsSepatator = options.FractionSeparator ? options.FractionSeparator : '.';
|
|
32
31
|
let multiplier = options.Multiplier ? options.Multiplier : 1;
|
|
33
32
|
if (options.Multiplier !== undefined) {
|
|
34
33
|
n *= multiplier;
|
|
@@ -65,6 +64,7 @@ export function NumberFormatter(input, options = {}, rowNode, column, api) {
|
|
|
65
64
|
}
|
|
66
65
|
let s;
|
|
67
66
|
let digitsToUse;
|
|
67
|
+
const fractionsSepatator = options.FractionSeparator ?? '.';
|
|
68
68
|
if (options.Truncate || options.Ceiling || options.Round || options.Floor) {
|
|
69
69
|
digitsToUse = 0;
|
|
70
70
|
}
|
|
@@ -84,7 +84,14 @@ export function NumberFormatter(input, options = {}, rowNode, column, api) {
|
|
|
84
84
|
s = s.replace(/\./g, options.FractionSeparator);
|
|
85
85
|
}
|
|
86
86
|
if (options.IntegerSeparator !== undefined) {
|
|
87
|
-
|
|
87
|
+
// if fraction separator is not a comma then simply replace all instances
|
|
88
|
+
if (options.FractionSeparator !== ',') {
|
|
89
|
+
s = s.replace(/\,/g, options.IntegerSeparator);
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
// otherwise don't replace the last instance
|
|
93
|
+
s = StringExtensions.ReplaceAllOccurencesExceptLastOne(s, ',', options.IntegerSeparator);
|
|
94
|
+
}
|
|
88
95
|
}
|
|
89
96
|
s = (options.Prefix || '') + s + (options.Suffix || '');
|
|
90
97
|
if (options.Parentheses === true && preparedInput < 0) {
|
|
@@ -6,7 +6,7 @@ import { Bounce, Flip, Slide, Zoom } from '../components/Toastify';
|
|
|
6
6
|
import { BLACK, getHexForName, LIGHT_GRAY } from '../View/UIHelper';
|
|
7
7
|
import { isPivotLayout } from '../Api/Implementation/LayoutHelpers';
|
|
8
8
|
export function CreateEmptyCustomSort() {
|
|
9
|
-
return { Uuid: createUuid(), ColumnId: EMPTY_STRING, SortedValues: [] };
|
|
9
|
+
return { Uuid: createUuid(), Name: EMPTY_STRING, ColumnId: EMPTY_STRING, SortedValues: [] };
|
|
10
10
|
}
|
|
11
11
|
export function CreateAdaptableComment(text, api) {
|
|
12
12
|
const comment = {
|
|
@@ -44,6 +44,7 @@ export function CreateEmptyNamedQuery(expression) {
|
|
|
44
44
|
export function CreateEmptyPlusMinusNudge() {
|
|
45
45
|
return {
|
|
46
46
|
Uuid: createUuid(),
|
|
47
|
+
Name: EMPTY_STRING,
|
|
47
48
|
Scope: undefined,
|
|
48
49
|
Rule: undefined,
|
|
49
50
|
NudgeValue: PLUS_MINUS_DEFAULT_NUDGE_VALUE,
|
|
@@ -81,6 +82,7 @@ export function CreateRowChangedAlert(alertHeader, alertMessage, alertDefinition
|
|
|
81
82
|
export function CreateEmptyAlertDefinition() {
|
|
82
83
|
return {
|
|
83
84
|
Uuid: createUuid(),
|
|
85
|
+
Name: EMPTY_STRING,
|
|
84
86
|
Scope: { All: true },
|
|
85
87
|
Rule: {
|
|
86
88
|
Predicates: [],
|
|
@@ -92,6 +94,7 @@ export function CreateEmptyAlertDefinition() {
|
|
|
92
94
|
export function CreateEmptyFlashingCellDefinition() {
|
|
93
95
|
return {
|
|
94
96
|
Uuid: createUuid(),
|
|
97
|
+
Name: EMPTY_STRING,
|
|
95
98
|
Scope: { ColumnIds: [] },
|
|
96
99
|
Rule: {
|
|
97
100
|
Predicates: [
|
|
@@ -108,6 +111,7 @@ export function CreateInternalAlertDefinitionForMessages(messageType, alertPrope
|
|
|
108
111
|
};
|
|
109
112
|
return {
|
|
110
113
|
Uuid: createUuid(),
|
|
114
|
+
Name: EMPTY_STRING,
|
|
111
115
|
Scope: undefined,
|
|
112
116
|
Rule: {
|
|
113
117
|
Predicates: [],
|
|
@@ -129,6 +133,7 @@ export function CreateEmptyReport() {
|
|
|
129
133
|
export function CreateEmptyBaseSchedule(scheduleType) {
|
|
130
134
|
return {
|
|
131
135
|
Uuid: createUuid(),
|
|
136
|
+
Name: EMPTY_STRING,
|
|
132
137
|
ScheduleType: scheduleType,
|
|
133
138
|
Schedule: CreateEmptySchedule(),
|
|
134
139
|
};
|
|
@@ -136,6 +141,7 @@ export function CreateEmptyBaseSchedule(scheduleType) {
|
|
|
136
141
|
export function CreateEmptyReminderSchedule() {
|
|
137
142
|
return {
|
|
138
143
|
Uuid: createUuid(),
|
|
144
|
+
Name: EMPTY_STRING,
|
|
139
145
|
ScheduleType: ScheduleType.Reminder,
|
|
140
146
|
Schedule: CreateEmptySchedule(),
|
|
141
147
|
Header: EMPTY_STRING,
|
|
@@ -148,6 +154,7 @@ export function CreateEmptyReminderSchedule() {
|
|
|
148
154
|
export function CreateEmptyReportSchedule() {
|
|
149
155
|
return {
|
|
150
156
|
Uuid: createUuid(),
|
|
157
|
+
Name: EMPTY_STRING,
|
|
151
158
|
ScheduleType: ScheduleType.Report,
|
|
152
159
|
Schedule: CreateEmptySchedule(),
|
|
153
160
|
ReportName: EMPTY_STRING,
|
|
@@ -172,6 +179,7 @@ export function CreateEmptyOpenFinReport() {
|
|
|
172
179
|
export function CreateEmptyIPushPullSchedule() {
|
|
173
180
|
return {
|
|
174
181
|
Uuid: createUuid(),
|
|
182
|
+
Name: EMPTY_STRING,
|
|
175
183
|
ScheduleType: ScheduleType.ipushpull,
|
|
176
184
|
Schedule: CreateEmptySchedule(),
|
|
177
185
|
IPushPullReport: CreateEmptyIPushPullReport(),
|
|
@@ -181,6 +189,7 @@ export function CreateEmptyIPushPullSchedule() {
|
|
|
181
189
|
export function CreateEmptyOpenFinSchedule() {
|
|
182
190
|
return {
|
|
183
191
|
Uuid: createUuid(),
|
|
192
|
+
Name: EMPTY_STRING,
|
|
184
193
|
ScheduleType: ScheduleType.OpenFin,
|
|
185
194
|
Schedule: CreateEmptySchedule(),
|
|
186
195
|
OpenFinReport: CreateEmptyOpenFinReport(),
|
|
@@ -190,6 +199,7 @@ export function CreateEmptyOpenFinSchedule() {
|
|
|
190
199
|
export function CreateIPushPullSchedule(iPushPullReport) {
|
|
191
200
|
return {
|
|
192
201
|
Uuid: createUuid(),
|
|
202
|
+
Name: EMPTY_STRING,
|
|
193
203
|
ScheduleType: ScheduleType.ipushpull,
|
|
194
204
|
Schedule: CreateEmptySchedule(),
|
|
195
205
|
IPushPullReport: iPushPullReport,
|
|
@@ -199,6 +209,7 @@ export function CreateIPushPullSchedule(iPushPullReport) {
|
|
|
199
209
|
export function CreateReportSchedule(reportName, reportFormat) {
|
|
200
210
|
return {
|
|
201
211
|
Uuid: createUuid(),
|
|
212
|
+
Name: EMPTY_STRING,
|
|
202
213
|
ScheduleType: ScheduleType.Report,
|
|
203
214
|
Schedule: CreateEmptySchedule(),
|
|
204
215
|
ReportName: reportName,
|
|
@@ -207,7 +218,6 @@ export function CreateReportSchedule(reportName, reportFormat) {
|
|
|
207
218
|
}
|
|
208
219
|
export function CreateEmptySchedule() {
|
|
209
220
|
return {
|
|
210
|
-
Uuid: createUuid(),
|
|
211
221
|
OneOffDate: undefined,
|
|
212
222
|
DaysOfWeek: [],
|
|
213
223
|
Hour: 0,
|
|
@@ -217,6 +227,7 @@ export function CreateEmptySchedule() {
|
|
|
217
227
|
export function CreateEmptyShortcut() {
|
|
218
228
|
return {
|
|
219
229
|
Uuid: createUuid(),
|
|
230
|
+
Name: EMPTY_STRING,
|
|
220
231
|
Scope: undefined,
|
|
221
232
|
ShortcutKey: EMPTY_STRING,
|
|
222
233
|
ShortcutValue: undefined,
|
|
@@ -225,6 +236,8 @@ export function CreateEmptyShortcut() {
|
|
|
225
236
|
}
|
|
226
237
|
export function CreateEmptyFormatColumn() {
|
|
227
238
|
return {
|
|
239
|
+
Uuid: createUuid(),
|
|
240
|
+
Name: EMPTY_STRING,
|
|
228
241
|
Scope: undefined,
|
|
229
242
|
Style: CreateEmptyStyle(),
|
|
230
243
|
DisplayFormat: undefined,
|
|
@@ -13,10 +13,11 @@ export declare const getDefaultAlertDefinition: (alertDefinition: AlertDefinitio
|
|
|
13
13
|
MessageText?: string;
|
|
14
14
|
AlertProperties?: import("../../../types").AlertProperties;
|
|
15
15
|
AlertForm?: string | import("../../../types").AlertButtonForm;
|
|
16
|
-
|
|
16
|
+
Name: string;
|
|
17
17
|
Source?: "InitialState" | "User";
|
|
18
18
|
AdaptableVersion?: import("../../../types").AdaptableVersion;
|
|
19
19
|
IsReadOnly?: boolean;
|
|
20
20
|
Tags?: import("../../../types").AdaptableObjectTag[];
|
|
21
21
|
Metadata?: any;
|
|
22
|
+
IsSuspended?: boolean;
|
|
22
23
|
};
|