@adaptabletools/adaptable 13.0.10 → 13.1.0-canary.1
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 +92 -0
- package/base.css.map +1 -1
- package/bundle.cjs.js +179 -177
- package/index.css +107 -0
- package/index.css.map +1 -1
- package/package.json +2 -2
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableInterfaces/IAdaptable.d.ts +5 -2
- package/src/AdaptableOptions/ActionOptions.d.ts +52 -34
- package/src/AdaptableOptions/AdaptableOptions.d.ts +5 -0
- package/src/AdaptableOptions/ChartingOptions.d.ts +27 -0
- package/src/AdaptableOptions/ChartingOptions.js +2 -0
- package/src/AdaptableOptions/FinancePluginOptions.d.ts +2 -2
- package/src/AdaptableOptions/LayoutOptions.d.ts +1 -2
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -1
- package/src/Api/ChartingApi.d.ts +38 -1
- package/src/Api/ColumnApi.d.ts +1 -2
- package/src/Api/Implementation/AlertApiImpl.js +4 -0
- package/src/Api/Implementation/ChartingApiImpl.d.ts +9 -1
- package/src/Api/Implementation/ChartingApiImpl.js +35 -6
- package/src/Api/Implementation/GridApiImpl.js +3 -2
- package/src/PredefinedConfig/AlertState.d.ts +7 -3
- package/src/PredefinedConfig/ChartingState.d.ts +13 -4
- package/src/PredefinedConfig/Common/AdaptableIcon.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableStyle.d.ts +6 -6
- package/src/PredefinedConfig/Common/Types.d.ts +4 -4
- package/src/PredefinedConfig/Common/Types.js +3 -0
- package/src/PredefinedConfig/PredefinedConfig.d.ts +1 -2
- package/src/PredefinedConfig/SystemState.d.ts +9 -0
- package/src/Redux/ActionsReducers/ChartingRedux.d.ts +28 -5
- package/src/Redux/ActionsReducers/ChartingRedux.js +45 -5
- package/src/Redux/ActionsReducers/SystemRedux.d.ts +7 -0
- package/src/Redux/ActionsReducers/SystemRedux.js +22 -4
- package/src/Strategy/ChartingModule.d.ts +7 -1
- package/src/Strategy/ChartingModule.js +97 -0
- package/src/Strategy/FlashingCellModule.js +6 -2
- package/src/Strategy/Interface/IModule.d.ts +1 -0
- package/src/Strategy/LayoutModule.js +1 -1
- package/src/Strategy/StyledColumnModule.js +0 -3
- package/src/Utilities/Defaults/DefaultAdaptableOptions.js +15 -10
- package/src/Utilities/Defaults/DefaultSettingsPanel.js +1 -0
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +1 -1
- package/src/Utilities/Helpers/AdaptableHelper.js +4 -1
- package/src/Utilities/ObjectFactory.d.ts +5 -4
- package/src/Utilities/ObjectFactory.js +9 -14
- package/src/Utilities/Services/ChartingService.d.ts +10 -0
- package/src/Utilities/Services/ChartingService.js +100 -0
- package/src/Utilities/Services/Interface/IChartingService.d.ts +5 -0
- package/src/Utilities/Services/Interface/IChartingService.js +2 -0
- package/src/Utilities/Services/Interface/IRowEditService.d.ts +3 -3
- package/src/Utilities/Services/ModuleService.js +2 -0
- package/src/Utilities/Services/RowEditService.d.ts +3 -3
- package/src/Utilities/Services/RowEditService.js +4 -4
- package/src/View/AdaptableViewFactory.js +2 -0
- package/src/View/Alert/Wizard/AlertButtonsEditor.js +1 -1
- package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +5 -5
- package/src/View/Components/Charting/ChartingStatusBarPopover.d.ts +2 -0
- package/src/View/Components/Charting/ChartingStatusBarPopover.js +23 -0
- package/src/View/Components/Charting/ChartingViewPanel.d.ts +3 -0
- package/src/View/Components/Charting/ChartingViewPanel.js +79 -0
- package/src/View/Components/Charting/ChartingWizard/ChartingWizard.d.ts +6 -0
- package/src/View/Components/Charting/ChartingWizard/ChartingWizard.js +37 -0
- package/src/View/Components/Charting/ChartingWizard/PreviewChartSection.d.ts +6 -0
- package/src/View/Components/Charting/ChartingWizard/PreviewChartSection.js +34 -0
- package/src/View/Components/Charting/ChartingWizard/SettingsSection.d.ts +8 -0
- package/src/View/Components/Charting/ChartingWizard/SettingsSection.js +53 -0
- package/src/View/Components/Charting/ShowChartButton.d.ts +5 -0
- package/src/View/Components/Charting/ShowChartButton.js +38 -0
- package/src/View/Components/Charting/useChartState.d.ts +9 -0
- package/src/View/Components/Charting/useChartState.js +71 -0
- package/src/View/Components/ExpressionWizard.js +1 -1
- package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +8 -7
- package/src/View/Components/Popups/AdaptableToaster.js +2 -0
- package/src/View/Components/RangesComponent.js +1 -1
- package/src/View/Components/StyleComponent.d.ts +1 -0
- package/src/View/Components/StyleComponent.js +6 -6
- package/src/View/Components/ToolPanel/ToolPanelPopup.js +0 -1
- package/src/View/Layout/Wizard/LayoutWizard.js +1 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection.js +1 -1
- package/src/agGrid/Adaptable.d.ts +8 -4
- package/src/agGrid/Adaptable.js +47 -12
- package/src/agGrid/agGridHelper.js +0 -1
- package/src/{View → components/ColorPicker}/ColorPicker.d.ts +3 -2
- package/src/{View → components/ColorPicker}/ColorPicker.js +19 -6
- package/src/components/ColorPicker/index.d.ts +1 -0
- package/src/components/ColorPicker/index.js +4 -0
- package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
- package/src/components/icons/index.js +0 -2
- package/src/metamodel/adaptable.metamodel.d.ts +70 -16
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/types.d.ts +3 -2
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/src/Strategy/ConditionalStyleModule.d.ts +0 -6
- package/src/Strategy/ConditionalStyleModule.js +0 -12
- package/src/components/icons/conditional-style.d.ts +0 -3
- package/src/components/icons/conditional-style.js +0 -7
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChartingStatusBarPopover = 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 AdaptableContext_1 = require("../../AdaptableContext");
|
|
8
|
+
const ChartingRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/ChartingRedux"));
|
|
9
|
+
const SelectList_1 = require("../../../components/SelectList");
|
|
10
|
+
const ChartingStatusBarPopover = () => {
|
|
11
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
12
|
+
const chartDefinitions = (0, react_redux_1.useSelector)(ChartingRedux.ChartingGetChartModels);
|
|
13
|
+
const options = chartDefinitions.map((chartDefinition) => ({
|
|
14
|
+
label: chartDefinition.Name,
|
|
15
|
+
value: chartDefinition.Uuid,
|
|
16
|
+
}));
|
|
17
|
+
const handleChange = React.useCallback((option) => {
|
|
18
|
+
const definition = chartDefinitions.find((cd) => cd.Uuid === option.value);
|
|
19
|
+
adaptable.api.chartingApi.showChartDefinitionOnce(definition);
|
|
20
|
+
}, [chartDefinitions]);
|
|
21
|
+
return React.createElement(SelectList_1.SelectList, { options: options, onChange: handleChange });
|
|
22
|
+
};
|
|
23
|
+
exports.ChartingStatusBarPopover = ChartingStatusBarPopover;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChartingViewPanel = 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 rebass_1 = require("rebass");
|
|
8
|
+
const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/DropdownButton"));
|
|
9
|
+
const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
|
|
10
|
+
const ChartingRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/ChartingRedux"));
|
|
11
|
+
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
12
|
+
const useChartState_1 = require("./useChartState");
|
|
13
|
+
const ChartingViewPanel = (props) => {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
16
|
+
const chartDefinitions = (0, react_redux_1.useSelector)(ChartingRedux.ChartingGetChartModels);
|
|
17
|
+
const chartContainers = (_b = (_a = adaptable.adaptableOptions) === null || _a === void 0 ? void 0 : _a.chartingOptions) === null || _b === void 0 ? void 0 : _b.chartContainers;
|
|
18
|
+
const [selectedChartId, setSelectedChartId] = React.useState(() => {
|
|
19
|
+
// ID is kept in state becaus that does not change, the definition might change
|
|
20
|
+
return chartDefinitions.length > 0 ? chartDefinitions[0].Uuid : null;
|
|
21
|
+
});
|
|
22
|
+
const selectedChart = chartDefinitions.find((chart) => chart.Uuid === selectedChartId);
|
|
23
|
+
const [selectedContainer, setSelectedContainer] = React.useState(null);
|
|
24
|
+
const { isOpen, showChart, closeChart } = (0, useChartState_1.useChartState)(selectedChart);
|
|
25
|
+
const options = chartDefinitions.map((chartDefinition) => ({
|
|
26
|
+
label: chartDefinition.Name,
|
|
27
|
+
value: chartDefinition.Uuid,
|
|
28
|
+
onClick: () => {
|
|
29
|
+
setSelectedChartId(chartDefinition.Uuid);
|
|
30
|
+
},
|
|
31
|
+
}));
|
|
32
|
+
const hasCharts = options.length > 0;
|
|
33
|
+
const isSelectedChart = hasCharts && selectedChart != null;
|
|
34
|
+
let content = '';
|
|
35
|
+
if (hasCharts && selectedChart) {
|
|
36
|
+
content = (_c = chartDefinitions.find((chart) => chart.Uuid === selectedChart.Uuid)) === null || _c === void 0 ? void 0 : _c.Name;
|
|
37
|
+
}
|
|
38
|
+
else if (hasCharts) {
|
|
39
|
+
content = 'Select Chart';
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
content = 'No Charts';
|
|
43
|
+
}
|
|
44
|
+
const elementType = props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
|
|
45
|
+
React.useEffect(() => {
|
|
46
|
+
// select first
|
|
47
|
+
if (!selectedChart && chartDefinitions.length > 0) {
|
|
48
|
+
setSelectedChartId(chartDefinitions[0].Uuid);
|
|
49
|
+
}
|
|
50
|
+
}, [chartDefinitions]);
|
|
51
|
+
const containerOptions = [
|
|
52
|
+
{
|
|
53
|
+
label: 'Ag Grid Window',
|
|
54
|
+
onClick: () => {
|
|
55
|
+
setSelectedContainer(null);
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
...chartContainers.map((contianerDef) => ({
|
|
59
|
+
label: contianerDef.name,
|
|
60
|
+
onClick: () => {
|
|
61
|
+
setSelectedContainer(contianerDef);
|
|
62
|
+
},
|
|
63
|
+
})),
|
|
64
|
+
];
|
|
65
|
+
const chartSelector = (React.createElement(DropdownButton_1.default, { width: "100%", columns: ['label'], className: `ab-${elementType}__Chart__select`, items: options, disabled: !hasCharts }, content));
|
|
66
|
+
const containerSelector = Boolean(chartContainers.length) && (React.createElement(DropdownButton_1.default, { width: "100%", columns: ['label'], items: containerOptions, disabled: !isSelectedChart }, (selectedContainer === null || selectedContainer === void 0 ? void 0 : selectedContainer.name) || 'Ag Grid Window'));
|
|
67
|
+
const chartButton = (React.createElement(SimpleButton_1.default, { onClick: () => (isOpen ? closeChart() : showChart(selectedContainer)), disabled: !Boolean(selectedChart), variant: 'outlined', tone: 'neutral' }, isOpen ? 'Close' : 'Open'));
|
|
68
|
+
if (elementType === 'DashboardToolbar') {
|
|
69
|
+
return (React.createElement(rebass_1.Flex, { width: "100%", alignItems: "center" },
|
|
70
|
+
React.createElement(rebass_1.Box, null, chartSelector),
|
|
71
|
+
containerSelector && React.createElement(rebass_1.Box, { ml: 1 }, containerSelector),
|
|
72
|
+
React.createElement(rebass_1.Box, { ml: 1 }, chartButton)));
|
|
73
|
+
}
|
|
74
|
+
return (React.createElement(rebass_1.Flex, { flexDirection: "column", width: "100%" },
|
|
75
|
+
React.createElement(rebass_1.Box, { mb: 1 }, chartSelector),
|
|
76
|
+
containerSelector && React.createElement(rebass_1.Box, { mb: 1 }, containerSelector),
|
|
77
|
+
React.createElement(rebass_1.Box, null, chartButton)));
|
|
78
|
+
};
|
|
79
|
+
exports.ChartingViewPanel = ChartingViewPanel;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ChartDefinition } from '../../../../types';
|
|
3
|
+
import { AdaptableOnePageWizardProps } from '../../../Wizard/Interface/IAdaptableWizard';
|
|
4
|
+
export interface ChartingWizardProps extends AdaptableOnePageWizardProps<ChartDefinition> {
|
|
5
|
+
}
|
|
6
|
+
export declare const ChartingWizard: React.FunctionComponent<ChartingWizardProps>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ChartingWizard = 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 OnePageAdaptableWizard_1 = require("../../../Wizard/OnePageAdaptableWizard");
|
|
9
|
+
const PreviewChartSection_1 = require("./PreviewChartSection");
|
|
10
|
+
const SettingsSection_1 = require("./SettingsSection");
|
|
11
|
+
const ChartingWizard = (props) => {
|
|
12
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
13
|
+
const [chartDefinition, setChartDefinition] = React.useState(() => {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
return (_a = props.data) !== null && _a !== void 0 ? _a : (_b = props.popupParams) === null || _b === void 0 ? void 0 : _b.value;
|
|
16
|
+
});
|
|
17
|
+
const handleFinish = React.useCallback(() => {
|
|
18
|
+
adaptable.api.chartingApi.editChartDefinition(chartDefinition);
|
|
19
|
+
props.onFinishWizard(chartDefinition);
|
|
20
|
+
}, [chartDefinition]);
|
|
21
|
+
return (React.createElement(OnePageAdaptableWizard_1.OnePageAdaptableWizard, { defaultCurrentSectionName: props.defaultCurrentSectionName, moduleInfo: props.moduleInfo, data: chartDefinition, onHide: props.onCloseWizard, onFinish: handleFinish, sections: [
|
|
22
|
+
{
|
|
23
|
+
title: 'Settings',
|
|
24
|
+
details: 'Chart settings',
|
|
25
|
+
isValid: SettingsSection_1.isSettingsValid,
|
|
26
|
+
render: () => (React.createElement(rebass_1.Box, { padding: 2 },
|
|
27
|
+
React.createElement(SettingsSection_1.SettingsSection, { chartDefinition: chartDefinition, onChange: setChartDefinition }))),
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
title: 'Preview Chart',
|
|
31
|
+
details: 'Preview of the chart',
|
|
32
|
+
render: () => (React.createElement(rebass_1.Box, { p: 2 },
|
|
33
|
+
React.createElement(PreviewChartSection_1.PreviewChartSection, { chartDefinition: chartDefinition, onChange: setChartDefinition }))),
|
|
34
|
+
},
|
|
35
|
+
] }));
|
|
36
|
+
};
|
|
37
|
+
exports.ChartingWizard = ChartingWizard;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PreviewChartSection = 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 isEqual_1 = tslib_1.__importDefault(require("lodash/isEqual"));
|
|
8
|
+
const SystemRedux = tslib_1.__importStar(require("../../../../Redux/ActionsReducers/SystemRedux"));
|
|
9
|
+
const AdaptableContext_1 = require("../../../AdaptableContext");
|
|
10
|
+
const PreviewChartSection = (props) => {
|
|
11
|
+
const currentChartModels = (0, react_redux_1.useSelector)((state) => SystemRedux.SystemChartingCurrentChartModelsSelector(state.System));
|
|
12
|
+
const [localChartId, setLocalChartId] = React.useState(null);
|
|
13
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
14
|
+
const divRef = React.useRef(null);
|
|
15
|
+
React.useEffect(() => {
|
|
16
|
+
if (!divRef.current) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const chartRef = adaptable.api.chartingApi.showChartDefinition(props.chartDefinition, divRef.current);
|
|
20
|
+
setLocalChartId(chartRef.chartId);
|
|
21
|
+
chartRef.chart;
|
|
22
|
+
return () => {
|
|
23
|
+
chartRef.destroyChart();
|
|
24
|
+
};
|
|
25
|
+
}, [divRef]);
|
|
26
|
+
React.useEffect(() => {
|
|
27
|
+
const model = currentChartModels.find((model) => model.chartId == localChartId);
|
|
28
|
+
if (model && !(0, isEqual_1.default)(model, props.chartDefinition.Model)) {
|
|
29
|
+
props.onChange(Object.assign(Object.assign({}, props.chartDefinition), { Model: model }));
|
|
30
|
+
}
|
|
31
|
+
}, [currentChartModels]);
|
|
32
|
+
return React.createElement("div", { ref: divRef });
|
|
33
|
+
};
|
|
34
|
+
exports.PreviewChartSection = PreviewChartSection;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { AdaptableApi, ChartDefinition } from '../../../../types';
|
|
3
|
+
export declare const isSettingsValid: (chartDefinition: ChartDefinition, api: AdaptableApi) => true | string;
|
|
4
|
+
export interface SettingsSectionProps {
|
|
5
|
+
chartDefinition: ChartDefinition;
|
|
6
|
+
onChange: (chartDefinition: ChartDefinition) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const SettingsSection: React.FunctionComponent<SettingsSectionProps>;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SettingsSection = exports.isSettingsValid = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const React = tslib_1.__importStar(require("react"));
|
|
6
|
+
const CheckBox_1 = require("../../../../components/CheckBox");
|
|
7
|
+
const DropdownButton_1 = tslib_1.__importDefault(require("../../../../components/DropdownButton"));
|
|
8
|
+
const FormLayout_1 = tslib_1.__importStar(require("../../../../components/FormLayout"));
|
|
9
|
+
const AdaptableInput_1 = tslib_1.__importDefault(require("../../AdaptableInput"));
|
|
10
|
+
const isSettingsValid = (chartDefinition, api) => {
|
|
11
|
+
if (!chartDefinition.Name) {
|
|
12
|
+
return 'Name is mandatory';
|
|
13
|
+
}
|
|
14
|
+
const allChartDefinitions = api.chartingApi.getAllChartDefinitions();
|
|
15
|
+
if (allChartDefinitions.some((chartDefinitionLoopItem) => chartDefinitionLoopItem.Uuid !== chartDefinition.Uuid &&
|
|
16
|
+
chartDefinitionLoopItem.Name === chartDefinition.Name)) {
|
|
17
|
+
return 'There is already a chart with this name';
|
|
18
|
+
}
|
|
19
|
+
return true;
|
|
20
|
+
};
|
|
21
|
+
exports.isSettingsValid = isSettingsValid;
|
|
22
|
+
const SettingsSection = (props) => {
|
|
23
|
+
const handleNameChange = React.useCallback((event) => {
|
|
24
|
+
props.onChange(Object.assign(Object.assign({}, props.chartDefinition), { Name: event.target.value, Model: props.chartDefinition.Model }));
|
|
25
|
+
}, [props.chartDefinition]);
|
|
26
|
+
const handleUnLinkChange = React.useCallback(() => {
|
|
27
|
+
props.onChange(Object.assign(Object.assign({}, props.chartDefinition), { Model: Object.assign(Object.assign({}, props.chartDefinition.Model), { unlinkChart: !props.chartDefinition.Model.unlinkChart }) }));
|
|
28
|
+
}, [props.chartDefinition]);
|
|
29
|
+
const handleSuppressChartRanges = React.useCallback(() => {
|
|
30
|
+
props.onChange(Object.assign(Object.assign({}, props.chartDefinition), { Model: Object.assign(Object.assign({}, props.chartDefinition.Model), { suppressChartRanges: !props.chartDefinition.Model.suppressChartRanges }) }));
|
|
31
|
+
}, [props.chartDefinition]);
|
|
32
|
+
const aggFuncs = ['sum', 'min', 'max', 'count', 'avg', 'first', 'last'];
|
|
33
|
+
const aggFuncsOptions = aggFuncs.map((aggFunc) => ({
|
|
34
|
+
label: aggFunc,
|
|
35
|
+
onClick: () => {
|
|
36
|
+
props.onChange(Object.assign(Object.assign({}, props.chartDefinition), { Model: Object.assign(Object.assign({}, props.chartDefinition.Model), { aggFunc }) }));
|
|
37
|
+
},
|
|
38
|
+
}));
|
|
39
|
+
const aggFunc = props.chartDefinition.Model.aggFunc;
|
|
40
|
+
const handleAggFuncClear = React.useCallback(() => {
|
|
41
|
+
props.onChange(Object.assign(Object.assign({}, props.chartDefinition), { Model: Object.assign(Object.assign({}, props.chartDefinition.Model), { aggFunc: '' }) }));
|
|
42
|
+
}, [props.chartDefinition]);
|
|
43
|
+
return (React.createElement(FormLayout_1.default, null,
|
|
44
|
+
React.createElement(FormLayout_1.FormRow, { label: "Name" },
|
|
45
|
+
React.createElement(AdaptableInput_1.default, { onChange: handleNameChange, value: props.chartDefinition.Name })),
|
|
46
|
+
React.createElement(FormLayout_1.FormRow, { label: "Unlink Chart" },
|
|
47
|
+
React.createElement(CheckBox_1.CheckBox, { onClick: handleUnLinkChange, checked: props.chartDefinition.Model.unlinkChart })),
|
|
48
|
+
React.createElement(FormLayout_1.FormRow, { label: "Suppress Chart Ranges" },
|
|
49
|
+
React.createElement(CheckBox_1.CheckBox, { onClick: handleSuppressChartRanges, checked: props.chartDefinition.Model.suppressChartRanges })),
|
|
50
|
+
props.chartDefinition.Model.modelType === 'range' && typeof aggFunc !== 'function' && (React.createElement(FormLayout_1.FormRow, { label: "Agg Func" },
|
|
51
|
+
React.createElement(DropdownButton_1.default, { columns: ['label'], items: aggFuncsOptions, onClear: handleAggFuncClear }, aggFunc ? aggFunc : 'Select ')))));
|
|
52
|
+
};
|
|
53
|
+
exports.SettingsSection = SettingsSection;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShowChartButton = 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
|
+
const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/DropdownButton"));
|
|
9
|
+
const useChartState_1 = require("./useChartState");
|
|
10
|
+
const ShowChartButton = (props) => {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
13
|
+
const chartContainers = (_b = (_a = adaptable.adaptableOptions) === null || _a === void 0 ? void 0 : _a.chartingOptions) === null || _b === void 0 ? void 0 : _b.chartContainers;
|
|
14
|
+
const { isOpen, showChart, closeChart } = (0, useChartState_1.useChartState)(props.data);
|
|
15
|
+
if (isOpen) {
|
|
16
|
+
return (React.createElement(SimpleButton_1.default, { "data-name": "close-chart-button", onClick: closeChart, variant: "raised", tone: "error" }, "Close"));
|
|
17
|
+
}
|
|
18
|
+
if (!(chartContainers === null || chartContainers === void 0 ? void 0 : chartContainers.length)) {
|
|
19
|
+
return (React.createElement(SimpleButton_1.default, { "data-name": "show-chart-button", onClick: () => showChart(), variant: "text", tone: "success" }, "Open"));
|
|
20
|
+
}
|
|
21
|
+
const containerOptions = [
|
|
22
|
+
{
|
|
23
|
+
label: 'Ag Grid Window',
|
|
24
|
+
onClick: () => {
|
|
25
|
+
showChart(null);
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
...chartContainers.map((contianerDef) => ({
|
|
29
|
+
label: contianerDef.name,
|
|
30
|
+
onClick: () => {
|
|
31
|
+
showChart(contianerDef);
|
|
32
|
+
},
|
|
33
|
+
})),
|
|
34
|
+
];
|
|
35
|
+
return (React.createElement(DropdownButton_1.default, { "data-name": "show-chart-dropdown", variant: "text", columns: ['label'], items: containerOptions },
|
|
36
|
+
React.createElement(SimpleButton_1.default, { variant: "raised", tone: "success" }, "Open")));
|
|
37
|
+
};
|
|
38
|
+
exports.ShowChartButton = ShowChartButton;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ChartDefinition } from '../../../types';
|
|
2
|
+
export declare const useChartState: (chartDefinition?: ChartDefinition) => {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
showChart: (chartContainer?: {
|
|
5
|
+
element: HTMLElement | string;
|
|
6
|
+
name: string;
|
|
7
|
+
}) => void;
|
|
8
|
+
closeChart: () => void;
|
|
9
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useChartState = 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 AdaptableContext_1 = require("../../AdaptableContext");
|
|
8
|
+
const SystemRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/SystemRedux"));
|
|
9
|
+
const LoggingHelper_1 = require("../../../Utilities/Helpers/LoggingHelper");
|
|
10
|
+
const useChartState = (chartDefinition) => {
|
|
11
|
+
const [chartRef, setChartRef] = React.useState(null);
|
|
12
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
13
|
+
const currentChartModels = (0, react_redux_1.useSelector)((state) => SystemRedux.SystemChartingCurrentChartModelsSelector(state.System));
|
|
14
|
+
React.useEffect(() => {
|
|
15
|
+
var _a;
|
|
16
|
+
if (!chartDefinition) {
|
|
17
|
+
setChartRef(null);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const currentChartRef = (_a = adaptable.api.chartingApi.getChartRef(chartDefinition.Model.chartId)) !== null && _a !== void 0 ? _a : null;
|
|
21
|
+
setChartRef(currentChartRef);
|
|
22
|
+
}, [currentChartModels, chartDefinition]);
|
|
23
|
+
const handleShowChart = React.useCallback((chartContainer) => {
|
|
24
|
+
if (!adaptable || !chartDefinition) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const element = typeof (chartContainer === null || chartContainer === void 0 ? void 0 : chartContainer.element) === 'string'
|
|
28
|
+
? document.querySelector(chartContainer.element)
|
|
29
|
+
: chartContainer === null || chartContainer === void 0 ? void 0 : chartContainer.element;
|
|
30
|
+
if (!element && typeof (chartContainer === null || chartContainer === void 0 ? void 0 : chartContainer.element) === 'string') {
|
|
31
|
+
(0, LoggingHelper_1.ConsoleLogByMessageType)(`Chart container element not found: ${chartContainer.element}`, 'Error');
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const chartRef = adaptable.api.chartingApi.getChartRef(chartDefinition.Model.chartId);
|
|
35
|
+
if (chartRef) {
|
|
36
|
+
// chart alredy opened
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* When using a custom container, make sure multiple charts are not opnoed in the same container.
|
|
41
|
+
* If multple charts are opened in the same contianer, it infinitly adds the charts to the container.
|
|
42
|
+
*/
|
|
43
|
+
if (chartContainer && element) {
|
|
44
|
+
const chartModelAlreadyInChartContainer = currentChartModels.find((chartModel) => {
|
|
45
|
+
const chartRef = adaptable.api.chartingApi.getChartRef(chartModel.chartId);
|
|
46
|
+
return chartRef && element.contains(chartRef.chartElement);
|
|
47
|
+
});
|
|
48
|
+
if (chartModelAlreadyInChartContainer) {
|
|
49
|
+
const chartRef = adaptable.api.chartingApi.getChartRef(chartModelAlreadyInChartContainer.chartId);
|
|
50
|
+
if (chartRef) {
|
|
51
|
+
chartRef.destroyChart();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
adaptable.api.chartingApi.showChartDefinitionOnce(chartDefinition, element);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
adaptable.api.chartingApi.showChartDefinitionOnce(chartDefinition);
|
|
58
|
+
}
|
|
59
|
+
}, [chartDefinition, currentChartModels]);
|
|
60
|
+
const handleCloseChart = React.useCallback(() => {
|
|
61
|
+
if (chartRef) {
|
|
62
|
+
chartRef.destroyChart();
|
|
63
|
+
}
|
|
64
|
+
}, [chartRef]);
|
|
65
|
+
return {
|
|
66
|
+
isOpen: Boolean(chartRef),
|
|
67
|
+
showChart: handleShowChart,
|
|
68
|
+
closeChart: handleCloseChart,
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
exports.useChartState = useChartState;
|
|
@@ -20,7 +20,7 @@ class ExpressionWizard extends React.Component {
|
|
|
20
20
|
}, () => this.props.updateGoBackState());
|
|
21
21
|
};
|
|
22
22
|
this.state = {
|
|
23
|
-
// this is realy horrible but its only way to use the Expression Wizard for both Report (that has Query) and
|
|
23
|
+
// this is realy horrible but its only way to use the Expression Wizard for both Report (that has Query) and Format Column (that has Rule)
|
|
24
24
|
// once we move to the new Wizard we can remove this monstrosity
|
|
25
25
|
expression: this.props.callingModule && this.props.callingModule == 'Export'
|
|
26
26
|
? (_a = this.props.data.Query) === null || _a === void 0 ? void 0 : _a.BooleanExpression
|
|
@@ -14,7 +14,7 @@ const rebass_1 = require("rebass");
|
|
|
14
14
|
const CheckBox_1 = require("../../../../components/CheckBox");
|
|
15
15
|
const SystemRedux_1 = require("../../../../Redux/ActionsReducers/SystemRedux");
|
|
16
16
|
const AdaptablePopupModuleView = (props) => {
|
|
17
|
-
var _a, _b, _c, _d, _e;
|
|
17
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
18
18
|
/**
|
|
19
19
|
* This triggers an render for each redux change.
|
|
20
20
|
* Not sure yet how to trigger this component to render when an item is edited.
|
|
@@ -23,8 +23,8 @@ const AdaptablePopupModuleView = (props) => {
|
|
|
23
23
|
const [abObjectType, setAbObjectType] = React.useState(null);
|
|
24
24
|
const moduleInfo = props.module.moduleInfo;
|
|
25
25
|
const items = (_a = props.module) === null || _a === void 0 ? void 0 : _a.toViewAll();
|
|
26
|
-
const moduleViewProperties = props.module.getViewProperties();
|
|
27
|
-
const EditWizard = (
|
|
26
|
+
const moduleViewProperties = (_d = (_c = (_b = props.module) === null || _b === void 0 ? void 0 : _b.getViewProperties) === null || _c === void 0 ? void 0 : _c.call(_b)) !== null && _d !== void 0 ? _d : {};
|
|
27
|
+
const EditWizard = (_e = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.getEditWizard) === null || _e === void 0 ? void 0 : _e.call(moduleViewProperties);
|
|
28
28
|
const [isWizardOpen, setIsWizardOpen] = React.useState(() => {
|
|
29
29
|
var _a, _b, _c;
|
|
30
30
|
return (((_a = props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'New' ||
|
|
@@ -48,7 +48,7 @@ const AdaptablePopupModuleView = (props) => {
|
|
|
48
48
|
if (((_a = props.popupParams) === null || _a === void 0 ? void 0 : _a.action) === 'New' || ((_b = props.popupParams) === null || _b === void 0 ? void 0 : _b.action) === 'Edit') {
|
|
49
49
|
handleOpenEditPopup();
|
|
50
50
|
}
|
|
51
|
-
}, [(
|
|
51
|
+
}, [(_f = props.popupParams) === null || _f === void 0 ? void 0 : _f.action]);
|
|
52
52
|
const emptyView = moduleViewProperties.emptyView;
|
|
53
53
|
let emptyContent = null;
|
|
54
54
|
if (typeof emptyView === 'function') {
|
|
@@ -57,11 +57,11 @@ const AdaptablePopupModuleView = (props) => {
|
|
|
57
57
|
else if (typeof emptyView === 'string') {
|
|
58
58
|
emptyContent = emptyView;
|
|
59
59
|
}
|
|
60
|
-
const toolTipText = (
|
|
60
|
+
const toolTipText = (_g = moduleViewProperties.newTooltipText) !== null && _g !== void 0 ? _g : `Create ${moduleInfo.FriendlyName}`;
|
|
61
61
|
// Some modules do not have new button
|
|
62
62
|
// e.g. filter
|
|
63
63
|
let newButton = null;
|
|
64
|
-
if ((
|
|
64
|
+
if ((_h = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.abObjectTypes) === null || _h === void 0 ? void 0 : _h.length) {
|
|
65
65
|
const items = moduleViewProperties === null || moduleViewProperties === void 0 ? void 0 : moduleViewProperties.abObjectTypes.map((abObjectType) => {
|
|
66
66
|
var _a;
|
|
67
67
|
return {
|
|
@@ -77,7 +77,8 @@ const AdaptablePopupModuleView = (props) => {
|
|
|
77
77
|
React.createElement(icons_1.Icon, { name: "plus" }),
|
|
78
78
|
" New"));
|
|
79
79
|
}
|
|
80
|
-
else if (
|
|
80
|
+
else if (!moduleViewProperties.hideNewButton &&
|
|
81
|
+
(EditWizard || moduleViewProperties.onOpenEditPopup)) {
|
|
81
82
|
newButton = (React.createElement(ButtonNew_1.ButtonNew, { onClick: () => handleOpenEditPopup(), tooltip: toolTipText, accessLevel: props.accessLevel }));
|
|
82
83
|
}
|
|
83
84
|
const handleWizardClose = () => {
|
|
@@ -20,6 +20,8 @@ const showToast = (props) => {
|
|
|
20
20
|
onClose: () => {
|
|
21
21
|
off();
|
|
22
22
|
},
|
|
23
|
+
}, {
|
|
24
|
+
duration: props.adaptableAlert.alertDefinition.AlertProperties.NotificationDuration,
|
|
23
25
|
});
|
|
24
26
|
const content = (React.createElement(AdaptablePopupAlert_1.AdaptablePopupAlert, { headless: true, adaptableAlert: props.adaptableAlert, onClose: () => {
|
|
25
27
|
Toastify_1.toast.dismiss(toastId);
|
|
@@ -4,7 +4,7 @@ exports.RangesComponent = 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 ColorPicker_1 = require("
|
|
7
|
+
const ColorPicker_1 = require("../../components/ColorPicker");
|
|
8
8
|
const clamp_1 = tslib_1.__importDefault(require("lodash/clamp"));
|
|
9
9
|
const StringExtensions_1 = require("../../Utilities/Extensions/StringExtensions");
|
|
10
10
|
const CheckBox_1 = require("../../components/CheckBox");
|
|
@@ -5,8 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
6
|
const Enums_1 = require("../../PredefinedConfig/Common/Enums");
|
|
7
7
|
const EnumExtensions_1 = require("../../Utilities/Extensions/EnumExtensions");
|
|
8
|
-
const ColorPicker_1 = require("
|
|
9
|
-
const AdaptablePopover_1 = require("../AdaptablePopover");
|
|
8
|
+
const ColorPicker_1 = require("../../components/ColorPicker");
|
|
10
9
|
const rebass_1 = require("rebass");
|
|
11
10
|
const StringExtensions_1 = require("../../Utilities/Extensions/StringExtensions");
|
|
12
11
|
const CheckBox_1 = require("../../components/CheckBox");
|
|
@@ -16,6 +15,7 @@ const FormLayout_1 = tslib_1.__importStar(require("../../components/FormLayout")
|
|
|
16
15
|
const DropdownButton_1 = tslib_1.__importDefault(require("../../components/DropdownButton"));
|
|
17
16
|
const ArrayExtensions_1 = tslib_1.__importDefault(require("../../Utilities/Extensions/ArrayExtensions"));
|
|
18
17
|
const Radio_1 = tslib_1.__importDefault(require("../../components/Radio"));
|
|
18
|
+
const StylePreview_1 = require("../../components/StylePreview");
|
|
19
19
|
class StyleComponent extends React.Component {
|
|
20
20
|
constructor(props) {
|
|
21
21
|
super(props);
|
|
@@ -91,10 +91,10 @@ class StyleComponent extends React.Component {
|
|
|
91
91
|
value: enumName,
|
|
92
92
|
label: enumName,
|
|
93
93
|
onClick: () => this.onFontSizeChange(enumName),
|
|
94
|
-
})), columns: ['label'] }, this.state.componentStyle.FontSize.toString()),
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
94
|
+
})), columns: ['label'] }, this.state.componentStyle.FontSize.toString()))))))))),
|
|
95
|
+
!this.props.hidePreview && (React.createElement(rebass_1.Box, null,
|
|
96
|
+
React.createElement(HelpBlock_1.default, { fontSize: 2, marginTop: 2, marginBottom: 2 }, "Preview"),
|
|
97
|
+
React.createElement(StylePreview_1.StylePreview, { styleObject: this.state.componentStyle })))));
|
|
98
98
|
}
|
|
99
99
|
onShowClassNameChanged(checked) {
|
|
100
100
|
// clear everything
|
|
@@ -26,7 +26,6 @@ class ToolPanelPopupComponent extends React.Component {
|
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
render() {
|
|
29
|
-
const moduleService = this.props.api.internalApi.getModuleService();
|
|
30
29
|
const entitlementService = this.props.api.internalApi.getEntitlementService();
|
|
31
30
|
// 1. process module buttons
|
|
32
31
|
const selectedModuleButtons = [];
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LayoutWizard = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
|
-
const react_1 = require("react");
|
|
7
6
|
const LayoutRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/LayoutRedux"));
|
|
8
7
|
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
|
|
9
8
|
const ObjectFactory_1 = tslib_1.__importDefault(require("../../../Utilities/ObjectFactory"));
|
|
@@ -24,7 +23,7 @@ const LayoutWizard = (props) => {
|
|
|
24
23
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
25
24
|
const allLayouts = adaptable.api.layoutApi.getAllLayout();
|
|
26
25
|
const initialLayout = (_a = props.data) !== null && _a !== void 0 ? _a : (_b = props.popupParams) === null || _b === void 0 ? void 0 : _b.value;
|
|
27
|
-
const [layout, setLayout] =
|
|
26
|
+
const [layout, setLayout] = React.useState(() => {
|
|
28
27
|
var _a;
|
|
29
28
|
let preparedLayout = null;
|
|
30
29
|
if (initialLayout) {
|
|
@@ -9,7 +9,7 @@ const ErrorBox_1 = tslib_1.__importDefault(require("../../../components/ErrorBox
|
|
|
9
9
|
const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
|
|
10
10
|
const Tabs_1 = require("../../../components/Tabs");
|
|
11
11
|
const Tag_1 = require("../../../components/Tag");
|
|
12
|
-
const ColorPicker_1 = require("
|
|
12
|
+
const ColorPicker_1 = require("../../../components/ColorPicker");
|
|
13
13
|
const RangesComponent_1 = require("../../Components/RangesComponent");
|
|
14
14
|
const StyleVisualItem_1 = require("../../Components/StyleVisualItem");
|
|
15
15
|
const UIHelper_1 = require("../../UIHelper");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChartRef, ColDef, ColGroupDef, Column, ExcelStyle, GridOptions, Module, ModuleNames, RowNode } from '@ag-grid-community/core';
|
|
2
2
|
import { AdaptableNoCodeWizardOptions, IAdaptableNoCodeWizard } from '../AdaptableInterfaces/AdaptableNoCodeWizard';
|
|
3
3
|
import { AdaptableVariant, IAdaptable } from '../AdaptableInterfaces/IAdaptable';
|
|
4
4
|
import { AdaptableOptions } from '../AdaptableOptions/AdaptableOptions';
|
|
@@ -18,6 +18,7 @@ import { SelectedRowInfo } from '../PredefinedConfig/Selection/SelectedRowInfo';
|
|
|
18
18
|
import { AdaptableTheme } from '../PredefinedConfig/ThemeState';
|
|
19
19
|
import { IAdaptableStore } from '../Redux/Store/Interface/IAdaptableStore';
|
|
20
20
|
import { IModuleCollection } from '../Strategy/Interface/IModule';
|
|
21
|
+
import { ChartDefinition } from '../types';
|
|
21
22
|
import { EmitterCallback } from '../Utilities/Emitter';
|
|
22
23
|
import { IPPStyle } from '../Utilities/Interface/IPPStyle';
|
|
23
24
|
import { LicenseService } from '../Utilities/Services/LicenseService';
|
|
@@ -59,6 +60,7 @@ export declare class Adaptable implements IAdaptable {
|
|
|
59
60
|
MetamodelService: IMetamodelService;
|
|
60
61
|
RowEditService: IRowEditService;
|
|
61
62
|
private LicenseService;
|
|
63
|
+
private ChartingService;
|
|
62
64
|
embedColumnMenu: boolean;
|
|
63
65
|
gridOptions: GridOptions;
|
|
64
66
|
isInitialised: boolean;
|
|
@@ -208,7 +210,7 @@ export declare class Adaptable implements IAdaptable {
|
|
|
208
210
|
getDisplayValueFromRowNode(rowNode: RowNode, columnId: string): string | undefined;
|
|
209
211
|
getDisplayValueFromRawValue(rowNode: RowNode, columnId: string, rawValue: any): string | undefined;
|
|
210
212
|
private getFormattedValue;
|
|
211
|
-
|
|
213
|
+
getNormalisedValueFromRawValue(rawValue: any, column: AdaptableColumn): string | number | boolean | Date | unknown;
|
|
212
214
|
getRawValueFromRowNode(rowNode: RowNode, columnId: string): any;
|
|
213
215
|
getDataRowFromRowNode(rowNode: RowNode): any;
|
|
214
216
|
getRowNodeForPrimaryKey(primaryKeyValue: any): any;
|
|
@@ -380,8 +382,10 @@ export declare class Adaptable implements IAdaptable {
|
|
|
380
382
|
private addSyntheticPrimaryKey;
|
|
381
383
|
private addSyntheticPrimaryKeyIfMissing;
|
|
382
384
|
initLicenseService(): LicenseService;
|
|
383
|
-
showCharts(
|
|
384
|
-
|
|
385
|
+
showCharts(chartsDefinitions: ChartDefinition[], chartContainer?: HTMLElement): ChartRef[];
|
|
386
|
+
showChart(chartDefinition: ChartDefinition, container?: HTMLElement): ChartRef;
|
|
387
|
+
getChartRef(chartId: string): ChartRef;
|
|
388
|
+
getChartModels(): import("@ag-grid-community/core").ChartModel[];
|
|
385
389
|
getRowModel(): import("@ag-grid-community/core").RowModelType;
|
|
386
390
|
private getActiveAdaptableAggFuncForCol;
|
|
387
391
|
private registerAdaptableAggFuncs;
|