@adaptabletools/adaptable 11.1.8 → 11.1.11
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 +16 -0
- package/bundle.cjs.js +106 -106
- package/index.css +20 -0
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -1
- package/src/AdaptableOptions/AdaptableOptions.d.ts +1 -1
- package/src/AdaptableOptions/AlertOptions.d.ts +9 -2
- package/src/AdaptableOptions/FinancePluginOptions.d.ts +57 -16
- package/src/AdaptableOptions/GeneralOptions.d.ts +7 -0
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +7 -0
- package/src/Api/AdaptableApi.d.ts +5 -0
- package/src/Api/CellSummaryApi.d.ts +8 -0
- package/src/Api/ColumnApi.d.ts +6 -1
- package/src/Api/ConfigApi.d.ts +9 -3
- package/src/Api/Implementation/AdaptableApiImpl.d.ts +2 -0
- package/src/Api/Implementation/AdaptableApiImpl.js +2 -0
- package/src/Api/Implementation/AlertApiImpl.js +32 -15
- package/src/Api/Implementation/CellSummaryApiImpl.d.ts +2 -0
- package/src/Api/Implementation/CellSummaryApiImpl.js +34 -0
- package/src/Api/Implementation/ColumnApiImpl.d.ts +2 -1
- package/src/Api/Implementation/ColumnApiImpl.js +7 -3
- package/src/Api/Implementation/ConfigApiImpl.d.ts +2 -2
- package/src/Api/Implementation/ConfigApiImpl.js +8 -29
- package/src/Api/Implementation/InternalApiImpl.d.ts +2 -1
- package/src/Api/Implementation/InternalApiImpl.js +29 -7
- package/src/Api/Implementation/LayoutApiImpl.d.ts +5 -4
- package/src/Api/Implementation/LayoutApiImpl.js +13 -7
- package/src/Api/Implementation/QueryApiImpl.d.ts +1 -0
- package/src/Api/Implementation/QueryApiImpl.js +12 -0
- package/src/Api/Implementation/StatusBarApiImpl.d.ts +8 -0
- package/src/Api/Implementation/StatusBarApiImpl.js +17 -0
- package/src/Api/InternalApi.d.ts +2 -1
- package/src/Api/LayoutApi.d.ts +16 -9
- package/src/Api/QueryApi.d.ts +6 -0
- package/src/Api/StatusBarApi.d.ts +10 -0
- package/src/Api/StatusBarApi.js +2 -0
- package/src/PredefinedConfig/AdaptableState.d.ts +20 -8
- package/src/PredefinedConfig/Common/FDC3Context.d.ts +61 -29
- package/src/PredefinedConfig/Common/Types.d.ts +6 -3
- package/src/PredefinedConfig/Common/Types.js +32 -1
- package/src/PredefinedConfig/FlashingCellState.d.ts +1 -1
- package/src/PredefinedConfig/FormatColumnState.d.ts +1 -1
- package/src/PredefinedConfig/GridState.d.ts +1 -1
- package/src/PredefinedConfig/PredefinedConfig.d.ts +5 -0
- package/src/PredefinedConfig/StatusBarState.d.ts +27 -0
- package/src/PredefinedConfig/StatusBarState.js +7 -0
- package/src/PredefinedConfig/ToolPanelState.d.ts +1 -1
- package/src/Redux/ActionsReducers/GridRedux.d.ts +2 -2
- package/src/Redux/ActionsReducers/GridRedux.js +4 -4
- package/src/Redux/ActionsReducers/StatusBarRedux.d.ts +22 -0
- package/src/Redux/ActionsReducers/StatusBarRedux.js +31 -0
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +8 -3
- package/src/Redux/ActionsReducers/SystemRedux.js +22 -5
- package/src/Redux/Store/AdaptableReduxMerger.js +2 -2
- package/src/Redux/Store/AdaptableStore.js +24 -10
- package/src/Strategy/AlertModule.d.ts +3 -0
- package/src/Strategy/AlertModule.js +6 -0
- package/src/Strategy/CellSummaryModule.d.ts +6 -0
- package/src/Strategy/CellSummaryModule.js +14 -0
- package/src/Strategy/DataChangeHistoryModule.d.ts +7 -0
- package/src/Strategy/DataChangeHistoryModule.js +11 -0
- package/src/Strategy/ExportModule.d.ts +1 -0
- package/src/Strategy/ExportModule.js +1 -0
- package/src/Strategy/FilterModule.d.ts +6 -0
- package/src/Strategy/FilterModule.js +21 -0
- package/src/Strategy/Interface/IModule.d.ts +21 -10
- package/src/Strategy/LayoutModule.d.ts +7 -0
- package/src/Strategy/LayoutModule.js +14 -1
- package/src/Strategy/QueryModule.d.ts +8 -0
- package/src/Strategy/QueryModule.js +18 -0
- package/src/Strategy/QuickSearchModule.d.ts +6 -0
- package/src/Strategy/QuickSearchModule.js +10 -0
- package/src/Strategy/StatusBarModule.d.ts +8 -0
- package/src/Strategy/StatusBarModule.js +39 -0
- package/src/Strategy/SystemStatusModule.d.ts +6 -0
- package/src/Strategy/SystemStatusModule.js +10 -0
- package/src/Strategy/ThemeModule.d.ts +7 -0
- package/src/Strategy/ThemeModule.js +12 -0
- package/src/Strategy/Utilities/getAlertBehaviourViewItems.js +1 -1
- package/src/Utilities/Constants/GeneralConstants.d.ts +1 -0
- package/src/Utilities/Constants/GeneralConstants.js +2 -1
- package/src/Utilities/Constants/ModuleConstants.d.ts +1 -0
- package/src/Utilities/Constants/ModuleConstants.js +2 -1
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +4 -1
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -0
- package/src/Utilities/Services/ModuleService.js +6 -6
- package/src/View/AdaptablePopover/index.d.ts +1 -0
- package/src/View/AdaptablePopover/index.js +5 -2
- package/src/View/AdaptableViewFactory.js +2 -2
- package/src/View/Alert/AlertStatusSubPanel.d.ts +2 -0
- package/src/View/Alert/AlertStatusSubPanel.js +56 -0
- package/src/View/Alert/AlertViewPanel.js +6 -7
- package/src/View/Alert/AlertsPanel.d.ts +1 -1
- package/src/View/Alert/AlertsPanel.js +2 -1
- package/src/View/Alert/Utilities/getAlertButtonStyle.d.ts +5 -0
- package/src/View/Alert/Utilities/getAlertButtonStyle.js +15 -0
- package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +18 -7
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +1 -8
- package/src/View/Alert/Wizard/AlertWizard.js +3 -2
- package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.d.ts +2 -0
- package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +15 -0
- package/src/View/CellSummary/CellSummaryStatusPanel.d.ts +2 -0
- package/src/View/CellSummary/CellSummaryStatusPanel.js +36 -0
- package/src/View/CellSummary/CellSummaryViewPanel.js +2 -20
- package/src/View/ColorPicker.d.ts +1 -1
- package/src/View/Components/AdaptableDateInput/index.d.ts +1 -1
- package/src/View/Components/AdaptableInput/index.d.ts +1 -1
- package/src/View/Components/Buttons/ButtonDelete.d.ts +1 -1
- package/src/View/Components/FilterForm/getDefaultColumnFilterPredicate.d.ts +1 -1
- package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -1
- package/src/View/Components/Forms/AdaptableFormControlTextClear.js +1 -1
- package/src/View/Components/Panels/PanelWithImage.d.ts +6 -6
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +5 -4
- package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +1 -1
- package/src/View/Components/RangesComponent.js +6 -2
- package/src/View/Components/StyleComponent.js +18 -6
- package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +3 -3
- package/src/View/Dashboard/DashboardPopup.js +2 -2
- package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +5 -13
- package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.d.ts +2 -0
- package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.js +9 -0
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.d.ts +4 -16
- package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +32 -40
- package/src/View/Filter/ActiveFiltersPanel.d.ts +0 -2
- package/src/View/Filter/FilterStatusBarSubPanelPopover.d.ts +2 -0
- package/src/View/Filter/FilterStatusBarSubPanelPopover.js +18 -0
- package/src/View/Filter/FilterViewPanel.js +1 -1
- package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +1 -1
- package/src/View/GridInfo/GridInfoPopup.js +4 -1
- package/src/View/Layout/EditCurrentLayoutButton.d.ts +2 -0
- package/src/View/Layout/EditCurrentLayoutButton.js +14 -0
- package/src/View/Layout/LayoutPopup.d.ts +1 -1
- package/src/View/Layout/LayoutPopup.js +3 -3
- package/src/View/Layout/LayoutRadioSelector.d.ts +1 -0
- package/src/View/Layout/LayoutRadioSelector.js +2 -2
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.d.ts +2 -0
- package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +29 -0
- package/src/View/Layout/Wizard/LayoutEditor/ColumnLabels.js +2 -1
- package/src/View/Layout/Wizard/LayoutEditor/index.js +1 -1
- package/src/View/Layout/Wizard/LayoutEditorWizard.js +2 -1
- package/src/View/Query/EditCurrentQueryButton.d.ts +2 -0
- package/src/View/Query/EditCurrentQueryButton.js +15 -0
- package/src/View/Query/QueryViewPanel.d.ts +0 -1
- package/src/View/Query/QueryViewPanel.js +2 -11
- package/src/View/QuickSearch/QuickSearchPopup.js +1 -1
- package/src/View/QuickSearch/QuickSearchStatusBarContent.d.ts +2 -0
- package/src/View/QuickSearch/QuickSearchStatusBarContent.js +16 -0
- package/src/View/StateManagement/StateManagementPopup.js +9 -7
- package/src/View/StateManagement/StateManagementViewPanel.js +1 -2
- package/src/View/StateManagement/components/ExportDropdown.d.ts +1 -1
- package/src/View/StateManagement/components/ExportDropdown.js +3 -7
- package/src/View/StateManagement/handleExportState.d.ts +1 -1
- package/src/View/StatusBar/AdaptableStatusBar.d.ts +3 -0
- package/src/View/StatusBar/AdaptableStatusBar.js +44 -0
- package/src/View/StatusBar/StatusBarPanel.d.ts +42 -0
- package/src/View/StatusBar/StatusBarPanel.js +45 -0
- package/src/View/StatusBar/StatusBarPopup.d.ts +3 -0
- package/src/View/StatusBar/StatusBarPopup.js +43 -0
- package/src/View/SystemStatus/SystemStatusStatusBarContent.d.ts +2 -0
- package/src/View/SystemStatus/SystemStatusStatusBarContent.js +15 -0
- package/src/View/SystemStatus/SystemStatusViewPanel.js +3 -7
- package/src/View/SystemStatus/Utilities/getStatusItemStyle.d.ts +5 -0
- package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +16 -0
- package/src/View/Theme/ThemeStatusPanelPopover.d.ts +2 -0
- package/src/View/Theme/ThemeStatusPanelPopover.js +36 -0
- package/src/agGrid/Adaptable.d.ts +2 -0
- package/src/agGrid/Adaptable.js +30 -3
- package/src/agGrid/agGridHelper.js +2 -0
- package/src/agGrid/agGridMenuHelper.js +2 -2
- package/src/agGrid/createAgStatusPanelComponent.d.ts +21 -0
- package/src/agGrid/createAgStatusPanelComponent.js +31 -0
- package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
- package/src/components/Dashboard/DashboardManager.js +9 -162
- package/src/components/Datepicker/index.d.ts +1 -1
- package/src/components/DragAndDropContext/DragAndDropContext.d.ts +7 -0
- package/src/components/DragAndDropContext/DragAndDropContext.js +14 -0
- package/src/components/DragAndDropContext/ModuleManager.d.ts +17 -0
- package/src/components/DragAndDropContext/ModuleManager.js +81 -0
- package/src/components/DragAndDropContext/TabList.d.ts +29 -0
- package/src/components/DragAndDropContext/TabList.js +72 -0
- package/src/components/DragAndDropContext/UnusedPanel.d.ts +6 -0
- package/src/components/DragAndDropContext/UnusedPanel.js +46 -0
- package/src/components/DragAndDropContext/types.d.ts +8 -0
- package/src/components/DragAndDropContext/types.js +2 -0
- package/src/components/FormLayout/index.d.ts +1 -0
- package/src/components/Input/index.d.ts +1 -1
- package/src/components/List/ListGroupItem/index.d.ts +1 -1
- package/src/components/PopupWithFooter.d.ts +1 -1
- package/src/components/SimpleButton/index.js +3 -0
- package/src/components/Textarea/index.d.ts +1 -1
- package/src/components/icons/DefaultIcon.d.ts +2 -1
- package/src/components/icons/DefaultIcon.js +2 -2
- package/src/components/icons/index.js +2 -0
- package/src/components/icons/statusbar.d.ts +3 -0
- package/src/components/icons/statusbar.js +8 -0
- package/src/metamodel/adaptable.metamodel.d.ts +236 -0
- package/src/metamodel/adaptable.metamodel.js +467 -48
- package/src/types.d.ts +5 -4
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -74,7 +74,11 @@ class RangesComponent extends React.Component {
|
|
|
74
74
|
React.createElement(Tabs_1.Tabs.Tab, null, "Column Comparison"),
|
|
75
75
|
React.createElement(Tabs_1.Tabs.Content, null,
|
|
76
76
|
React.createElement(rebass_1.Flex, { flexDirection: "column", key: 'cc', "data-name": "percent-bar-column-comparison" },
|
|
77
|
-
React.createElement(rebass_1.Text, { padding: 2, fontSize: 2 },
|
|
77
|
+
React.createElement(rebass_1.Text, { padding: 2, fontSize: 2 },
|
|
78
|
+
"Create Minimum and Maximum Values by providing a value or selecting another Column, and choose a",
|
|
79
|
+
' ',
|
|
80
|
+
this.props.api.internalApi.getCorrectEnglishVariant('Colour'),
|
|
81
|
+
" for the Bar."),
|
|
78
82
|
React.createElement(FormLayout_1.default, { columns: ['label', 'first', 'or', 'second'], sizes: ['auto', 'auto', 'auto', '1fr'] },
|
|
79
83
|
React.createElement(FormLayout_1.FormRow, { label: "Min Value:", first: React.createElement(Input_1.default, { type: "number", value: comparisonMinValueNumber, onChange: (e) => {
|
|
80
84
|
this.changeColumnComparisonMinValue(e);
|
|
@@ -83,7 +87,7 @@ class RangesComponent extends React.Component {
|
|
|
83
87
|
React.createElement(FormLayout_1.FormRow, { label: "Max Value:", first: React.createElement(Input_1.default, { type: "number", value: comparisonMaxValueNumber, onChange: (e) => {
|
|
84
88
|
this.changeColumnComparisonMaxValue(e);
|
|
85
89
|
} }), or: "OR", second: React.createElement(ColumnSelector_1.ColumnSelector, { style: { maxWidth: '15rem' }, SelectedColumnIds: [comparisonMaxValueColumnId], ColumnList: this.props.api.columnApi.getNumericColumns(), onColumnChange: (columns) => this.onMaxColumnSelectedChanged(columns), SelectionMode: Enums_1.SelectionMode.Single }) }),
|
|
86
|
-
React.createElement(FormLayout_1.FormRow, { label:
|
|
90
|
+
React.createElement(FormLayout_1.FormRow, { label: `Bar ${this.props.api.internalApi.getCorrectEnglishVariant('Colour')}`, first: React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: comparisonColor, onChange: (color) => {
|
|
87
91
|
this.changeColumnComparisonColor(color);
|
|
88
92
|
} }) }))))))));
|
|
89
93
|
}
|
|
@@ -34,6 +34,8 @@ class StyleComponent extends React.Component {
|
|
|
34
34
|
'data-name': 'style-component',
|
|
35
35
|
};
|
|
36
36
|
const styleClassNames = this.props.api.userInterfaceApi.getStyleClassNames();
|
|
37
|
+
const colourSpellingVariant = this.props.api.internalApi.getCorrectEnglishVariant('Colour');
|
|
38
|
+
const coloursSpellingVariant = this.props.api.internalApi.getCorrectEnglishVariant('colours');
|
|
37
39
|
return (React.createElement(Cmp, Object.assign({}, cmpProps),
|
|
38
40
|
ArrayExtensions_1.default.IsNotNullOrEmpty(styleClassNames) && (React.createElement(rebass_1.Flex, { flexDirection: "row", padding: 2 },
|
|
39
41
|
React.createElement(Radio_1.default, { value: "Predicate", checked: this.state.ShowClassName, onChange: (checked) => this.onShowClassNameChanged(checked) }, "Use Style Class Name"),
|
|
@@ -41,8 +43,8 @@ class StyleComponent extends React.Component {
|
|
|
41
43
|
React.createElement(Radio_1.default, { marginLeft: 3, value: "Expression", checked: !this.state.ShowClassName, onChange: (checked) => this.onShowClassNameChanged(!checked) }, "Create Style"),
|
|
42
44
|
' ')),
|
|
43
45
|
this.state.ShowClassName ? (React.createElement("div", null,
|
|
44
|
-
React.createElement(HelpBlock_1.default, { fontSize: 2 }, '
|
|
45
|
-
React.createElement(DropdownButton_1.default, { margin: 3, placeholder: "Select", variant: "outlined", tone: "none", disabled: ArrayExtensions_1.default.IsNullOrEmpty(styleClassNames), style: {
|
|
46
|
+
React.createElement(HelpBlock_1.default, { fontSize: 2 }, 'Select a CSS Class Name'),
|
|
47
|
+
React.createElement(DropdownButton_1.default, { margin: 3, placeholder: "Select", variant: "outlined", columns: ['label'], tone: "none", disabled: ArrayExtensions_1.default.IsNullOrEmpty(styleClassNames), style: {
|
|
46
48
|
minWidth: '15rem',
|
|
47
49
|
whiteSpace: 'nowrap',
|
|
48
50
|
overflow: 'hidden',
|
|
@@ -55,16 +57,26 @@ class StyleComponent extends React.Component {
|
|
|
55
57
|
React.createElement(rebass_1.Text, { color: 'var(--ab-color-warn)', style: { flex: 2 }, margin: 2 }, 'Please ensure that the styles listed are in the current stylesheet'))) : (React.createElement(rebass_1.Flex, { flexDirection: "column" },
|
|
56
58
|
React.createElement(rebass_1.Flex, { flex: 1 },
|
|
57
59
|
React.createElement("div", null,
|
|
58
|
-
React.createElement(HelpBlock_1.default, { fontSize: 2, marginTop: 2, marginBottom: 2 },
|
|
60
|
+
React.createElement(HelpBlock_1.default, { fontSize: 2, marginTop: 2, marginBottom: 2 },
|
|
61
|
+
"Set ",
|
|
62
|
+
coloursSpellingVariant,
|
|
63
|
+
" by ticking a checkbox and selecting from the dropdown; leave unchecked to use cell's existing ",
|
|
64
|
+
coloursSpellingVariant),
|
|
59
65
|
React.createElement(FormLayout_1.default, { columns: [1, 2] },
|
|
60
66
|
React.createElement(FormLayout_1.FormRow, null,
|
|
61
|
-
React.createElement(CheckBox_1.CheckBox, { value: "existing", margin: 1, checked: !!this.state.componentStyle.BackColor, onChange: (checked) => this.onUseBackColorCheckChange(checked) },
|
|
67
|
+
React.createElement(CheckBox_1.CheckBox, { value: "existing", margin: 1, checked: !!this.state.componentStyle.BackColor, onChange: (checked) => this.onUseBackColorCheckChange(checked) },
|
|
68
|
+
"Set Back ",
|
|
69
|
+
colourSpellingVariant),
|
|
62
70
|
this.state.componentStyle.BackColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.BackColor, onChange: (x) => this.onBackColorSelectChange(x) })) : (React.createElement("span", null))),
|
|
63
71
|
React.createElement(FormLayout_1.FormRow, null,
|
|
64
|
-
React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.ForeColor ? true : false, onChange: (checked) => this.onUseForeColorCheckChange(checked) },
|
|
72
|
+
React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.ForeColor ? true : false, onChange: (checked) => this.onUseForeColorCheckChange(checked) },
|
|
73
|
+
"Set Fore ",
|
|
74
|
+
colourSpellingVariant),
|
|
65
75
|
this.state.componentStyle.ForeColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.ForeColor, onChange: (x) => this.onForeColorSelectChange(x) })) : (React.createElement("span", null))),
|
|
66
76
|
React.createElement(FormLayout_1.FormRow, null,
|
|
67
|
-
React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.BorderColor ? true : false, onChange: (checked) => this.onUseBorderColorCheckChange(checked) },
|
|
77
|
+
React.createElement(CheckBox_1.CheckBox, { margin: 1, value: "existing", checked: this.state.componentStyle.BorderColor ? true : false, onChange: (checked) => this.onUseBorderColorCheckChange(checked) },
|
|
78
|
+
"Set Border ",
|
|
79
|
+
colourSpellingVariant),
|
|
68
80
|
this.state.componentStyle.BorderColor != null ? (React.createElement(ColorPicker_1.ColorPicker, { api: this.props.api, value: this.state.componentStyle.BorderColor, onChange: (x) => this.onBorderColorSelectChange(x) })) : (React.createElement("span", null)))),
|
|
69
81
|
React.createElement(HelpBlock_1.default, { fontSize: 2, marginTop: 2, marginBottom: 2 }, "Set the font properties of the Style"),
|
|
70
82
|
React.createElement(FormLayout_1.default, { columns: [1] },
|
|
@@ -216,7 +216,7 @@ function mapStateToProps(state) {
|
|
|
216
216
|
return {
|
|
217
217
|
ToolPanels: state.ToolPanel.ToolPanels,
|
|
218
218
|
ModuleButtons: state.ToolPanel.ModuleButtons,
|
|
219
|
-
MainMenuItems: state.Grid.
|
|
219
|
+
MainMenuItems: state.Grid.SettingPanelModuleMenuItems,
|
|
220
220
|
Columns: state.Grid.Columns,
|
|
221
221
|
};
|
|
222
222
|
}
|
|
@@ -32,15 +32,15 @@ class ToolPanelPopupComponent extends React.Component {
|
|
|
32
32
|
const selectedModuleButtons = [];
|
|
33
33
|
if (ArrayExtensions_1.default.IsNotNullOrEmpty(this.props.ToolPanelState.ModuleButtons)) {
|
|
34
34
|
this.props.ToolPanelState.ModuleButtons.forEach((module) => {
|
|
35
|
-
let menuItem = this.props.GridState.
|
|
35
|
+
let menuItem = this.props.GridState.SettingPanelModuleMenuItems.find((m) => m.module == module);
|
|
36
36
|
if (menuItem === null || menuItem === void 0 ? void 0 : menuItem.isVisible) {
|
|
37
37
|
selectedModuleButtons.push(module);
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
|
-
const allModuleButtons = this.props.GridState.
|
|
41
|
+
const allModuleButtons = this.props.GridState.SettingPanelModuleMenuItems.map((x) => x.module);
|
|
42
42
|
// 2. process tool panels
|
|
43
|
-
const availableModules = this.props.GridState.
|
|
43
|
+
const availableModules = this.props.GridState.SettingPanelModuleMenuItems.filter((menuItem) => menuItem.isVisible).map((menuItem) => menuItem.module);
|
|
44
44
|
// 'Dashboard' is a special case because it's not available in the dashboard menu items, s we have to add it manually
|
|
45
45
|
if (!entitlementService.isModuleHiddenEntitlement('Dashboard')) {
|
|
46
46
|
availableModules.push('Dashboard');
|
|
@@ -51,12 +51,12 @@ class DashboardPopupComponent extends React.Component {
|
|
|
51
51
|
});
|
|
52
52
|
let selectedModuleButtons = [];
|
|
53
53
|
this.props.DashboardState.ModuleButtons.forEach((x) => {
|
|
54
|
-
let menuItem = this.props.GridState.
|
|
54
|
+
let menuItem = this.props.GridState.SettingPanelModuleMenuItems.find((m) => m.module == x);
|
|
55
55
|
if (menuItem === null || menuItem === void 0 ? void 0 : menuItem.isVisible) {
|
|
56
56
|
selectedModuleButtons.push(x);
|
|
57
57
|
}
|
|
58
58
|
});
|
|
59
|
-
const allModuleButtons = this.props.GridState.
|
|
59
|
+
const allModuleButtons = this.props.GridState.SettingPanelModuleMenuItems.map((x) => x.module);
|
|
60
60
|
const baseClassName = 'ab-Dashboard-Popup';
|
|
61
61
|
const dashboardAccessLevel = this.props.api.internalApi
|
|
62
62
|
.getEntitlementService()
|
|
@@ -103,6 +103,7 @@ const buildAdaptableOptions = (mainAdaptableInstance, gridOptions, adaptableCont
|
|
|
103
103
|
columnId: 'undoActionColumn',
|
|
104
104
|
friendlyName: ' ',
|
|
105
105
|
includeGroupedRows: true,
|
|
106
|
+
actionColumnSettings: { suppressMenu: true, suppressMovable: true },
|
|
106
107
|
actionColumnButton: {
|
|
107
108
|
label: (button, context) => {
|
|
108
109
|
if (context.adaptableApi.gridApi.isGroupRowNode(context.rowNode)) {
|
|
@@ -213,12 +214,10 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
|
|
|
213
214
|
lockPinned: true,
|
|
214
215
|
// default set to true to pass this to the action column
|
|
215
216
|
suppressAutoSize: true,
|
|
216
|
-
suppressMenu: true,
|
|
217
217
|
menuTabs: ['generalMenuTab', 'filterMenuTab'],
|
|
218
218
|
},
|
|
219
219
|
autoGroupColumnDef: {
|
|
220
220
|
sortable: true,
|
|
221
|
-
suppressMenu: false,
|
|
222
221
|
},
|
|
223
222
|
columnDefs: [
|
|
224
223
|
{
|
|
@@ -231,43 +230,38 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
|
|
|
231
230
|
field: 'changeInfo.primaryKeyValue',
|
|
232
231
|
type: ['abColDefString'],
|
|
233
232
|
suppressAutoSize: false,
|
|
234
|
-
suppressMenu: false,
|
|
235
233
|
flex: 3,
|
|
236
234
|
initialFlex: 3,
|
|
237
235
|
},
|
|
238
236
|
{
|
|
239
|
-
headerName: '
|
|
237
|
+
headerName: 'Column',
|
|
240
238
|
field: 'changedColumnLabel',
|
|
241
239
|
type: ['abColDefString'],
|
|
242
240
|
suppressAutoSize: false,
|
|
243
|
-
suppressMenu: false,
|
|
244
241
|
flex: 3,
|
|
245
242
|
initialFlex: 3,
|
|
246
243
|
},
|
|
247
244
|
{
|
|
248
|
-
headerName: 'Previous
|
|
245
|
+
headerName: 'Previous',
|
|
249
246
|
field: 'changeInfo.oldValue',
|
|
250
247
|
type: ['abColDefString'],
|
|
251
248
|
suppressAutoSize: false,
|
|
252
|
-
suppressMenu: false,
|
|
253
249
|
flex: 3,
|
|
254
250
|
initialFlex: 3,
|
|
255
251
|
},
|
|
256
252
|
{
|
|
257
|
-
headerName: 'New
|
|
253
|
+
headerName: 'New',
|
|
258
254
|
field: 'changeInfo.newValue',
|
|
259
255
|
type: ['abColDefString'],
|
|
260
256
|
suppressAutoSize: false,
|
|
261
|
-
suppressMenu: false,
|
|
262
257
|
flex: 3,
|
|
263
258
|
initialFlex: 3,
|
|
264
259
|
},
|
|
265
260
|
{
|
|
266
|
-
headerName: 'Changed
|
|
261
|
+
headerName: 'Changed',
|
|
267
262
|
field: 'changeInfo.changedAt',
|
|
268
263
|
type: ['abColDefDate'],
|
|
269
264
|
suppressAutoSize: false,
|
|
270
|
-
suppressMenu: false,
|
|
271
265
|
flex: 3,
|
|
272
266
|
initialFlex: 3,
|
|
273
267
|
},
|
|
@@ -276,7 +270,6 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
|
|
|
276
270
|
field: 'changeTriggerLabel',
|
|
277
271
|
type: ['abColDefString'],
|
|
278
272
|
suppressAutoSize: false,
|
|
279
|
-
suppressMenu: false,
|
|
280
273
|
flex: 2,
|
|
281
274
|
initialFlex: 2,
|
|
282
275
|
},
|
|
@@ -285,7 +278,6 @@ const buildGridOptions = (mainAdaptableInstance, changeHistoryLog) => {
|
|
|
285
278
|
enableRangeSelection: true,
|
|
286
279
|
suppressColumnVirtualisation: false,
|
|
287
280
|
sideBar: false,
|
|
288
|
-
suppressMenuHide: true,
|
|
289
281
|
rowSelection: 'multiple',
|
|
290
282
|
skipHeaderOnAutoSize: true,
|
|
291
283
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataChangeHistoryStatusBarContent = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const DataChangeHistoryViewPanel_1 = require("./DataChangeHistoryViewPanel");
|
|
7
|
+
exports.DataChangeHistoryStatusBarContent = () => {
|
|
8
|
+
return React.createElement(DataChangeHistoryViewPanel_1.DataChangeHistoryViewPanelControl, { gap: 0, buttonsPaddingY: 0 });
|
|
9
|
+
};
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export interface DataChangeHistoryViewPanelProps extends ViewPanelProps {
|
|
6
|
-
changeHistoryMode: DataChangeHistoryMode;
|
|
7
|
-
activationTime: Date;
|
|
8
|
-
suspensionTime: Date;
|
|
9
|
-
onChangeHistoryEnable: () => SystemDataChangeHistoryEnableAction;
|
|
10
|
-
onChangeHistoryDisable: () => SystemDataChangeHistoryDisableAction;
|
|
11
|
-
onChangeHistorySuspend: () => SystemDataChangeHistorySuspendAction;
|
|
12
|
-
onChangeHistoryResume: () => SystemDataChangeHistoryResumeAction;
|
|
2
|
+
interface DataChangeHistoryViewPanelControlProps {
|
|
3
|
+
gap?: number;
|
|
4
|
+
buttonsPaddingY?: number;
|
|
13
5
|
}
|
|
14
|
-
declare
|
|
15
|
-
constructor(props: DataChangeHistoryViewPanelProps);
|
|
16
|
-
render(): JSX.Element;
|
|
17
|
-
}
|
|
18
|
-
export declare let DataChangeHistoryViewPanelControl: import("react-redux").ConnectedComponent<typeof DataChangeHistoryViewPanelComponent, Pick<React.ClassAttributes<DataChangeHistoryViewPanelComponent> & DataChangeHistoryViewPanelProps, "ref" | "key">>;
|
|
6
|
+
export declare const DataChangeHistoryViewPanelControl: React.FunctionComponent<DataChangeHistoryViewPanelControlProps>;
|
|
19
7
|
export {};
|
|
@@ -11,46 +11,38 @@ const ButtonPause_1 = require("../Components/Buttons/ButtonPause");
|
|
|
11
11
|
const ButtonStop_1 = require("../Components/Buttons/ButtonStop");
|
|
12
12
|
const FormatHelper_1 = require("../../Utilities/Helpers/FormatHelper");
|
|
13
13
|
const Tooltip_1 = tslib_1.__importDefault(require("../../components/Tooltip"));
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
disabled && (React.createElement(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPanel--button-activate", "data-name": 'data-change-history--button-activate', tooltip: '', onClick: () => onChangeHistoryEnable() })),
|
|
25
|
-
suspended && (React.createElement(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPanel--button-resume", "data-name": 'data-change-history--button-resume', tooltip: 'Resume tracking data changes', onClick: () => onChangeHistoryResume() })),
|
|
26
|
-
enabled && (React.createElement(ButtonPause_1.ButtonPause, { className: "ab-DataChangeHistoryPanel--button-suspend", "data-name": 'data-change-history--button-suspend', tooltip: 'Suspend tracking data changes', onClick: () => onChangeHistorySuspend() })),
|
|
27
|
-
(enabled || suspended) && (React.createElement(ButtonStop_1.ButtonStop, { className: "ab-DataChangeHistoryPanel--button-deactivate", "data-name": 'data-change-history--button-deactivate', tooltip: 'Deactivate data change tracking', onClick: () => onChangeHistoryDisable() }))));
|
|
28
|
-
const dateFormat = `${this.props.api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions
|
|
29
|
-
.dateFormat} HH:mm:ss`;
|
|
30
|
-
const statusPanel = (React.createElement(rebass_1.Flex, { className: "ab-DataChangeHistoryPanel--status-panel", alignItems: 'center', style: { gap: 'var(--ab-space-1)' } },
|
|
31
|
-
enabled && (React.createElement(Tooltip_1.default, { label: !!activationTime && `since ${FormatHelper_1.DateFormatter(activationTime, { Pattern: dateFormat })}` },
|
|
32
|
-
React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-active", fontSize: 2, style: { color: 'var(--ab-color-success)' } }, "Active"))),
|
|
33
|
-
suspended && (React.createElement(Tooltip_1.default, { label: !!suspensionTime && `since ${FormatHelper_1.DateFormatter(suspensionTime, { Pattern: dateFormat })}` },
|
|
34
|
-
React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-suspended", fontSize: 2, style: { color: 'var(--ab-color-warn)' } }, "Suspended"))),
|
|
35
|
-
disabled && (React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-disabled", fontSize: 2 }, "Activate data tracking"))));
|
|
36
|
-
return (React.createElement(rebass_1.Flex, { flexDirection: 'row' },
|
|
37
|
-
buttonPanel,
|
|
38
|
-
statusPanel));
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
function mapStateToProps(state) {
|
|
42
|
-
return {
|
|
14
|
+
const AdaptableContext_1 = require("../AdaptableContext");
|
|
15
|
+
exports.DataChangeHistoryViewPanelControl = (props) => {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
const adaptable = AdaptableContext_1.useAdaptable();
|
|
18
|
+
const dispatch = react_redux_1.useDispatch();
|
|
19
|
+
const onChangeHistoryEnable = React.useCallback(() => dispatch(SystemRedux_1.SystemDataChangeHistoryEnable()), []);
|
|
20
|
+
const onChangeHistoryDisable = React.useCallback(() => dispatch(SystemRedux_1.SystemDataChangeHistoryDisable()), []);
|
|
21
|
+
const onChangeHistorySuspend = React.useCallback(() => dispatch(SystemRedux_1.SystemDataChangeHistorySuspend()), []);
|
|
22
|
+
const onChangeHistoryResume = React.useCallback(() => dispatch(SystemRedux_1.SystemDataChangeHistoryResume()), []);
|
|
23
|
+
const { changeHistoryMode, activationTime, suspensionTime } = react_redux_1.useSelector((state) => ({
|
|
43
24
|
changeHistoryMode: state.System.DataChangeHistory.currentMode,
|
|
44
25
|
activationTime: state.System.DataChangeHistory.enableTime,
|
|
45
26
|
suspensionTime: state.System.DataChangeHistory.suspendTime,
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
|
|
27
|
+
}));
|
|
28
|
+
const enabled = changeHistoryMode === 'ACTIVE';
|
|
29
|
+
const disabled = changeHistoryMode === 'INACTIVE';
|
|
30
|
+
const suspended = changeHistoryMode === 'SUSPENDED';
|
|
31
|
+
const gap = (_a = props.gap) !== null && _a !== void 0 ? _a : 'var(--ab-space-1)';
|
|
32
|
+
const buttonsPaddingY = (_b = props.buttonsPaddingY) !== null && _b !== void 0 ? _b : 2;
|
|
33
|
+
const buttonPanel = (React.createElement(rebass_1.Flex, { className: "ab-DataChangeHistoryPanel--button-panel", paddingY: buttonsPaddingY, style: { gap: gap } },
|
|
34
|
+
disabled && (React.createElement(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPanel--button-activate", "data-name": 'data-change-history--button-activate', tooltip: '', onClick: () => onChangeHistoryEnable() })),
|
|
35
|
+
suspended && (React.createElement(ButtonPlay_1.ButtonPlay, { className: "ab-DataChangeHistoryPanel--button-resume", "data-name": 'data-change-history--button-resume', tooltip: 'Resume tracking data changes', onClick: () => onChangeHistoryResume() })),
|
|
36
|
+
enabled && (React.createElement(ButtonPause_1.ButtonPause, { className: "ab-DataChangeHistoryPanel--button-suspend", "data-name": 'data-change-history--button-suspend', tooltip: 'Suspend tracking data changes', onClick: () => onChangeHistorySuspend() })),
|
|
37
|
+
(enabled || suspended) && (React.createElement(ButtonStop_1.ButtonStop, { className: "ab-DataChangeHistoryPanel--button-deactivate", "data-name": 'data-change-history--button-deactivate', tooltip: 'Deactivate data change tracking', onClick: () => onChangeHistoryDisable() }))));
|
|
38
|
+
const dateFormat = `${adaptable.api.internalApi.getAdaptableOptions().userInterfaceOptions.dateInputOptions.dateFormat} HH:mm:ss`;
|
|
39
|
+
const statusPanel = (React.createElement(rebass_1.Flex, { className: "ab-DataChangeHistoryPanel--status-panel", alignItems: 'center', style: { gap: gap } },
|
|
40
|
+
enabled && (React.createElement(Tooltip_1.default, { label: !!activationTime && `since ${FormatHelper_1.DateFormatter(activationTime, { Pattern: dateFormat })}` },
|
|
41
|
+
React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-active", fontSize: 2, style: { color: 'var(--ab-color-success)' } }, "Active"))),
|
|
42
|
+
suspended && (React.createElement(Tooltip_1.default, { label: !!suspensionTime && `since ${FormatHelper_1.DateFormatter(suspensionTime, { Pattern: dateFormat })}` },
|
|
43
|
+
React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-suspended", fontSize: 2, style: { color: 'var(--ab-color-warn)' } }, "Suspended"))),
|
|
44
|
+
disabled && (React.createElement(rebass_1.Text, { className: "ab-DataChangeHistoryPanel--status-disabled", fontSize: 2 }, "Activate data tracking"))));
|
|
45
|
+
return (React.createElement(rebass_1.Flex, { flexDirection: 'row' },
|
|
46
|
+
buttonPanel,
|
|
47
|
+
statusPanel));
|
|
48
|
+
};
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { AdaptableColumn } from '../../PredefinedConfig/Common/AdaptableColumn';
|
|
3
2
|
import { AdaptableApi } from '../../Api/AdaptableApi';
|
|
4
3
|
import { ColumnFilter } from '../../PredefinedConfig/FilterState';
|
|
5
4
|
import { AccessLevel } from '../../PredefinedConfig/Common/Entitlement';
|
|
6
5
|
export interface ActiveFiltersPanelProps extends React.ClassAttributes<ActiveFiltersPanel> {
|
|
7
6
|
columnFilters: ColumnFilter[];
|
|
8
|
-
columns: AdaptableColumn[];
|
|
9
7
|
api: AdaptableApi;
|
|
10
8
|
accessLevel: AccessLevel;
|
|
11
9
|
onClear: (columnFilter: ColumnFilter) => void;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FilterStatusBarSubPanelPopover = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const react_redux_1 = require("react-redux");
|
|
7
|
+
const ModuleConstants = tslib_1.__importStar(require("../../Utilities/Constants/ModuleConstants"));
|
|
8
|
+
const AdaptableContext_1 = require("../AdaptableContext");
|
|
9
|
+
const ActiveFiltersPanel_1 = require("./ActiveFiltersPanel");
|
|
10
|
+
exports.FilterStatusBarSubPanelPopover = () => {
|
|
11
|
+
const adaptable = AdaptableContext_1.useAdaptable();
|
|
12
|
+
const columnFilters = react_redux_1.useSelector((state) => state.Filter.ColumnFilters);
|
|
13
|
+
const accessLevel = adaptable.api.internalApi
|
|
14
|
+
.getEntitlementService()
|
|
15
|
+
.getEntitlementAccessLevelForModule(ModuleConstants.FilterModuleId);
|
|
16
|
+
const handleClear = React.useCallback((columnFilter) => adaptable.api.filterApi.clearColumnFilterByColumn(columnFilter.ColumnId), []);
|
|
17
|
+
return (React.createElement(ActiveFiltersPanel_1.ActiveFiltersPanel, { columnFilters: columnFilters, api: adaptable.api, accessLevel: accessLevel, onClear: handleClear }));
|
|
18
|
+
};
|
|
@@ -16,7 +16,7 @@ class FilterViewPanelComponent extends React.Component {
|
|
|
16
16
|
super(props);
|
|
17
17
|
}
|
|
18
18
|
render() {
|
|
19
|
-
const activeFiltersPanel = (React.createElement(ActiveFiltersPanel_1.ActiveFiltersPanel, {
|
|
19
|
+
const activeFiltersPanel = (React.createElement(ActiveFiltersPanel_1.ActiveFiltersPanel, { columnFilters: this.props.ColumnFilters, api: this.props.api, accessLevel: this.props.accessLevel, onClear: (columnFilter) => this.onClearColumnFilter(columnFilter) }));
|
|
20
20
|
const elementType = this.props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
|
|
21
21
|
return (React.createElement(rebass_1.Flex, { flexDirection: "row", className: `ab-${elementType}__Filter__wrap`, flexWrap: this.props.viewType === 'ToolPanel' ? 'wrap' : 'nowrap' },
|
|
22
22
|
React.createElement(rebass_1.Flex, null, ArrayExtensions_1.ArrayExtensions.IsNotNullOrEmpty(this.props.ColumnFilters) && (React.createElement(React.Fragment, null,
|
|
@@ -317,7 +317,7 @@ function FormatColumnStyleWizardSection(props) {
|
|
|
317
317
|
"Percent Value",
|
|
318
318
|
' '),
|
|
319
319
|
' '),
|
|
320
|
-
React.createElement(FormLayout_1.FormRow, { label:
|
|
320
|
+
React.createElement(FormLayout_1.FormRow, { label: `Back ${api.internalApi.getCorrectEnglishVariant('Colour')}` },
|
|
321
321
|
React.createElement(rebass_1.Flex, { alignItems: "center", marginLeft: 2 },
|
|
322
322
|
React.createElement(CheckBox_1.CheckBox, { checked: !!((_2 = (_1 = data.ColumnStyle) === null || _1 === void 0 ? void 0 : _1.PercentBarStyle) === null || _2 === void 0 ? void 0 : _2.BackColor), onChange: (checked) => onUsePercentStyleColorCheckChanged(checked), mr: 2 }),
|
|
323
323
|
((_4 = (_3 = data.ColumnStyle) === null || _3 === void 0 ? void 0 : _3.PercentBarStyle) === null || _4 === void 0 ? void 0 : _4.BackColor) !== undefined && (React.createElement(ColorPicker_1.ColorPicker, { api: api, value: (_6 = (_5 = data.ColumnStyle) === null || _5 === void 0 ? void 0 : _5.PercentBarStyle) === null || _6 === void 0 ? void 0 : _6.BackColor, onChange: (x) => onForeColorSelectChange(x) }))))),
|
|
@@ -46,6 +46,7 @@ exports.GridInfoPopup = (props) => {
|
|
|
46
46
|
});
|
|
47
47
|
};
|
|
48
48
|
const CreateGridSummaries = (colItems) => {
|
|
49
|
+
var _a;
|
|
49
50
|
const returnRows = [];
|
|
50
51
|
const calcColumns = props.api.calculatedColumnApi
|
|
51
52
|
.getAllCalculatedColumn()
|
|
@@ -63,7 +64,9 @@ exports.GridInfoPopup = (props) => {
|
|
|
63
64
|
})
|
|
64
65
|
: null;
|
|
65
66
|
const selectedRowInfo = props.api.gridApi.getSelectedRowInfo();
|
|
66
|
-
|
|
67
|
+
if ((_a = props.api.internalApi.getAdaptableOptions().userInterfaceOptions) === null || _a === void 0 ? void 0 : _a.showAdapTableVersion) {
|
|
68
|
+
returnRows.push(createReadOnlyColItem(colItems, 'AdapTable Version', version_1.default));
|
|
69
|
+
}
|
|
67
70
|
returnRows.push(createReadOnlyColItem(colItems, 'Sorted Columns', ArrayExtensions_1.default.IsNotNullOrEmpty(sorts) ? sorts.join('; ') : 'None'));
|
|
68
71
|
returnRows.push(createReadOnlyColItem(colItems, 'Column Filters', columnFilterDescription));
|
|
69
72
|
returnRows.push(createReadOnlyColItem(colItems, 'All Rows', props.api.gridApi.getRowCount()));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EditCurrentLayoutButton = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const SimpleButton_1 = tslib_1.__importDefault(require("../../components/SimpleButton"));
|
|
7
|
+
const AdaptableContext_1 = require("../AdaptableContext");
|
|
8
|
+
exports.EditCurrentLayoutButton = () => {
|
|
9
|
+
const adaptable = AdaptableContext_1.useAdaptable();
|
|
10
|
+
const handleClick = React.useCallback(() => {
|
|
11
|
+
adaptable.api.layoutApi.showLayoutEditor();
|
|
12
|
+
}, []);
|
|
13
|
+
return React.createElement(SimpleButton_1.default, { ml: 1, variant: "text", iconSize: 15, icon: "edit", onClick: handleClick });
|
|
14
|
+
};
|
|
@@ -28,5 +28,5 @@ declare class LayoutPopupComponent extends React.Component<LayoutPopupProps, Edi
|
|
|
28
28
|
canFinishWizard(): boolean;
|
|
29
29
|
private getCurrentLayout;
|
|
30
30
|
}
|
|
31
|
-
export declare let LayoutPopup: import("react-redux").ConnectedComponent<typeof LayoutPopupComponent, Pick<React.ClassAttributes<LayoutPopupComponent> & LayoutPopupProps, never
|
|
31
|
+
export declare let LayoutPopup: import("react-redux").ConnectedComponent<typeof LayoutPopupComponent, Pick<React.ClassAttributes<LayoutPopupComponent> & LayoutPopupProps, never>>;
|
|
32
32
|
export {};
|
|
@@ -66,7 +66,7 @@ class LayoutPopupComponent extends React.Component {
|
|
|
66
66
|
{ Content: 'Details', Size: 7 },
|
|
67
67
|
{ Content: '', Size: 2 },
|
|
68
68
|
];
|
|
69
|
-
let layoutRows = this.props.Layouts.map((layout
|
|
69
|
+
let layoutRows = this.props.Layouts.map((layout) => {
|
|
70
70
|
let accessLevel = AdaptableHelper_1.default.getAppropriateAccessLevel(layout, this.props.accessLevel);
|
|
71
71
|
return (React.createElement(LayoutEntityRow_1.LayoutEntityRow, { key: layout.Uuid, colItems: colItems, api: this.props.api, IsCurrentLayout: layout.Name == this.props.CurrentLayoutName, moduleInfo: this.props.moduleInfo, adaptableObject: layout, onEdit: () => this.onEdit(layout), onClone: () => this.onClone(layout), onShare: (config) => this.props.onShare(layout, config), teamSharingActivated: this.props.teamSharingActivated, onDeleteConfirm: LayoutRedux.LayoutDelete(layout), canDelete: this.props.Layouts.length > 1, onSelect: () => this.props.onSelectLayout(layout.Name), accessLevel: accessLevel, cloneAccessLevel: this.props.accessLevel }));
|
|
72
72
|
});
|
|
@@ -128,14 +128,14 @@ class LayoutPopupComponent extends React.Component {
|
|
|
128
128
|
return this.props.Layouts.find((layout) => layout.Name == this.props.CurrentLayoutName);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
function mapStateToProps(state
|
|
131
|
+
function mapStateToProps(state) {
|
|
132
132
|
return {
|
|
133
133
|
Layouts: state.Layout.Layouts,
|
|
134
134
|
CurrentLayoutName: state.Layout.CurrentLayout,
|
|
135
135
|
CurrentLayoutDraft: state.Grid.CurrentLayout,
|
|
136
136
|
};
|
|
137
137
|
}
|
|
138
|
-
function mapDispatchToProps(dispatch
|
|
138
|
+
function mapDispatchToProps(dispatch) {
|
|
139
139
|
return {
|
|
140
140
|
onSaveLayout: (layout) => {
|
|
141
141
|
// SAVE it when user clicks FINISH, even if autoSave: false
|
|
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const Radio_1 = tslib_1.__importDefault(require("../../components/Radio"));
|
|
7
7
|
const AdaptableContext_1 = require("../AdaptableContext");
|
|
8
|
-
exports.LayoutRadioSelector = ({ data }) => {
|
|
8
|
+
exports.LayoutRadioSelector = ({ data, }) => {
|
|
9
9
|
const adaptable = AdaptableContext_1.useAdaptable();
|
|
10
10
|
const currentLayout = adaptable.api.layoutApi.getCurrentLayout();
|
|
11
11
|
const layouts = adaptable.api.layoutApi.getAllLayout();
|
|
@@ -14,5 +14,5 @@ exports.LayoutRadioSelector = ({ data }) => {
|
|
|
14
14
|
const handleToggle = React.useCallback(() => {
|
|
15
15
|
adaptable.api.layoutApi.setLayout(data.Name);
|
|
16
16
|
}, [isSelected]);
|
|
17
|
-
return React.createElement(Radio_1.default, { disabled: isDisabled, checked: isSelected, onClick: handleToggle });
|
|
17
|
+
return React.createElement(Radio_1.default, { id: data.Name, disabled: isDisabled, checked: isSelected, onClick: handleToggle });
|
|
18
18
|
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LayoutStatusBarSubPanelPopover = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const rebass_1 = require("rebass");
|
|
7
|
+
const AdaptableContext_1 = require("../AdaptableContext");
|
|
8
|
+
const AdaptableObjectRow_1 = require("../Components/AdaptableObjectRow");
|
|
9
|
+
const PanelWithRow_1 = require("../Components/Panels/PanelWithRow");
|
|
10
|
+
const LayoutRadioSelector_1 = require("./LayoutRadioSelector");
|
|
11
|
+
const colItems = [
|
|
12
|
+
{ Content: 'Current', Size: 2 },
|
|
13
|
+
{ Content: 'Layout Name', Size: 4 },
|
|
14
|
+
];
|
|
15
|
+
exports.LayoutStatusBarSubPanelPopover = () => {
|
|
16
|
+
const adaptable = AdaptableContext_1.useAdaptable();
|
|
17
|
+
const layouts = adaptable.api.layoutApi.getAllLayout();
|
|
18
|
+
return (React.createElement(rebass_1.Flex, { flexDirection: "column" },
|
|
19
|
+
React.createElement(PanelWithRow_1.PanelWithRow, { colItems: colItems }),
|
|
20
|
+
layouts.map((layout) => {
|
|
21
|
+
return (React.createElement(AdaptableObjectRow_1.AdaptableObjectRow, { key: layout.Name, colItems: [
|
|
22
|
+
{ Content: React.createElement(LayoutRadioSelector_1.LayoutRadioSelector, { id: layout.Name, data: layout }), Size: 1 },
|
|
23
|
+
{
|
|
24
|
+
Content: (React.createElement("label", { style: { cursor: 'pointer' }, htmlFor: layout.Name }, layout.Name)),
|
|
25
|
+
Size: 4,
|
|
26
|
+
},
|
|
27
|
+
] }));
|
|
28
|
+
})));
|
|
29
|
+
};
|
|
@@ -4,6 +4,7 @@ exports.ColumnLabels = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const rebass_1 = require("rebass");
|
|
7
|
+
const AdaptableContext_1 = require("../../../AdaptableContext");
|
|
7
8
|
exports.ColumnLabels = (props) => {
|
|
8
9
|
const { children, showBoth, showTitle, flexDirection = 'row', labels: labelsProp } = props, columnProperties = tslib_1.__rest(props, ["children", "showBoth", "showTitle", "flexDirection", "labels"]);
|
|
9
10
|
const labelNames = [
|
|
@@ -19,7 +20,7 @@ exports.ColumnLabels = (props) => {
|
|
|
19
20
|
[flexDirection === 'row' ? 'alignItems' : 'justifyContent']: 'center',
|
|
20
21
|
};
|
|
21
22
|
return (React.createElement(rebass_1.Flex, Object.assign({ flexDirection: flexDirection }, flexProps, { width: "100%" }),
|
|
22
|
-
showTitle ? React.createElement(rebass_1.Text, { mr: 2 },
|
|
23
|
+
showTitle ? (React.createElement(rebass_1.Text, { mr: 2 }, AdaptableContext_1.useAdaptable().api.internalApi.getCorrectEnglishVariant('Behaviours:'))) : null,
|
|
23
24
|
labels.map((l, index) => {
|
|
24
25
|
const enabled = !!l;
|
|
25
26
|
const labelName = labelNames[index];
|
|
@@ -113,7 +113,7 @@ exports.LayoutEditor = React.memo((props) => {
|
|
|
113
113
|
}
|
|
114
114
|
setLayout(newLayout);
|
|
115
115
|
};
|
|
116
|
-
const getAgGridGroupAutoColumn = react_1.useCallback((layout) => layout.Columns.filter((columnId) => api.columnApi.
|
|
116
|
+
const getAgGridGroupAutoColumn = react_1.useCallback((layout) => layout.Columns.filter((columnId) => api.columnApi.isAutoRowGroupColumn(columnId)), []);
|
|
117
117
|
const onDragEndRef = react_1.useRef({
|
|
118
118
|
columnList: () => { },
|
|
119
119
|
columnSortList: () => { },
|
|
@@ -71,6 +71,7 @@ class LayoutEditorWizard extends React.Component {
|
|
|
71
71
|
};
|
|
72
72
|
}
|
|
73
73
|
render() {
|
|
74
|
+
const behaviourHeader = 'Column ' + this.props.api.internalApi.getCorrectEnglishVariant('Behaviours');
|
|
74
75
|
return (React.createElement("div", { "data-name": 'layout-editor', style: { height: '100%' } },
|
|
75
76
|
React.createElement(WizardPanel_1.default, { bodyProps: { padding: 0 } },
|
|
76
77
|
React.createElement(rebass_1.Flex, null,
|
|
@@ -88,7 +89,7 @@ class LayoutEditorWizard extends React.Component {
|
|
|
88
89
|
React.createElement(rebass_1.Flex, { width: 120, pr: 2, alignItems: "center", justifyContent: "end" },
|
|
89
90
|
React.createElement(rebass_1.Text, { mr: 2 }, "Legend"),
|
|
90
91
|
React.createElement(AdaptablePopover_1.AdaptablePopover, { popoverMinWidth: 200, bodyText: [
|
|
91
|
-
React.createElement(Panel_1.default, { variant: "modern", header:
|
|
92
|
+
React.createElement(Panel_1.default, { variant: "modern", header: behaviourHeader, className: "ab-LayoutEditor__LegendPanel", style: {
|
|
92
93
|
gridRow: '1 /1',
|
|
93
94
|
gridColumn: '3/3',
|
|
94
95
|
}, bodyProps: {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EditCurrentQueryButton = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const SimpleButton_1 = tslib_1.__importDefault(require("../../components/SimpleButton"));
|
|
7
|
+
const AdaptableContext_1 = require("../AdaptableContext");
|
|
8
|
+
exports.EditCurrentQueryButton = () => {
|
|
9
|
+
const adaptable = AdaptableContext_1.useAdaptable();
|
|
10
|
+
const handleClick = React.useCallback((event) => {
|
|
11
|
+
event.stopPropagation();
|
|
12
|
+
adaptable.api.queryApi.expandCurrentQuery();
|
|
13
|
+
}, []);
|
|
14
|
+
return React.createElement(SimpleButton_1.default, { variant: "text", iconSize: 15, onClick: handleClick, icon: "edit" });
|
|
15
|
+
};
|
|
@@ -11,7 +11,6 @@ export interface QueryViewPanelComponentProps extends ViewPanelProps {
|
|
|
11
11
|
onAddCachedQuery: (cachedQuery: CachedQuery) => SystemRedux.SystemCachedQueryAddAction;
|
|
12
12
|
onRunQuery: (expression: string) => QueryRedux.QueryRunAction;
|
|
13
13
|
onShowNamedQueries: (value: string, popup: string) => PopupRedux.PopupShowScreenAction;
|
|
14
|
-
onExpand: (value: string) => void;
|
|
15
14
|
}
|
|
16
15
|
interface QueryViewPanelComponentState {
|
|
17
16
|
isAdaptableReady: boolean;
|