@adaptabletools/adaptable 14.0.1-canary.0 → 14.0.1-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/bundle.cjs.js +182 -182
- package/package.json +1 -1
- package/publishTimestamp.d.ts +1 -1
- package/publishTimestamp.js +1 -1
- package/src/AdaptableOptions/AdaptableFrameworkComponent.d.ts +14 -7
- package/src/AdaptableOptions/ToolPanelOptions.d.ts +1 -1
- package/src/PredefinedConfig/Common/SpecialColumnSettings.d.ts +1 -1
- package/src/Strategy/CalculatedColumnModule.js +7 -0
- package/src/Strategy/ChartingModule.js +2 -4
- package/src/View/Components/Charting/ChartingStatusBarPopover.js +19 -14
- package/src/View/Components/Charting/ChartingViewPanel.js +2 -67
- package/src/View/Components/Charting/DeleteChartButton.d.ts +1 -0
- package/src/View/Components/Charting/DeleteChartButton.js +1 -1
- package/src/View/Components/Charting/EditChartButton.d.ts +1 -0
- package/src/View/Components/Charting/EditChartButton.js +1 -1
- package/src/View/Components/Charting/useChartingElements.d.ts +14 -0
- package/src/View/Components/Charting/useChartingElements.js +90 -0
- package/src/View/TeamSharing/SharedEntityObjectView.js +5 -4
- package/src/agGrid/Adaptable.js +9 -4
- package/src/metamodel/adaptable.metamodel.d.ts +18 -0
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adaptabletools/adaptable",
|
|
3
|
-
"version": "14.0.1-canary.
|
|
3
|
+
"version": "14.0.1-canary.1",
|
|
4
4
|
"description": "Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web-components",
|
package/publishTimestamp.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default:
|
|
1
|
+
declare const _default: 1672761030413;
|
|
2
2
|
export default _default;
|
package/publishTimestamp.js
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import { AdaptableApi } from '../Api/AdaptableApi';
|
|
2
2
|
import { ReactElement } from 'react';
|
|
3
|
+
import { BaseContext } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* Base Component for Bespoke Components - Can be Angular or React
|
|
6
|
+
*/
|
|
3
7
|
export declare type AdaptableFrameworkComponent = AngularFrameworkComponent | ReactFrameworkComponent;
|
|
4
8
|
/**
|
|
5
|
-
*
|
|
9
|
+
* Angular component defined by its type and (optional) initialisation callback
|
|
6
10
|
*/
|
|
7
11
|
export declare type AngularFrameworkComponent<T = unknown> = {
|
|
8
12
|
/**
|
|
9
|
-
*
|
|
10
|
-
* It will be automatically instantiated at runtime and the `adaptableApi` is provided through an Injection token
|
|
13
|
+
* Angular component class (instance of https://angular.io/api/core/Type); will be automatically instantiated at runtime - `adaptableApi` is provided via Injection token
|
|
11
14
|
*/
|
|
12
15
|
type: T;
|
|
13
16
|
/**
|
|
14
|
-
* Optional initialisation callback
|
|
15
|
-
* If provided, it will be invoked after each component instantiation and the returned object properties will be assigned to the component instance
|
|
17
|
+
* Optional initialisation callback; will be invoked after each component instantiation and returned object properties assigned to component instance
|
|
16
18
|
*/
|
|
17
19
|
onSetup?: ({ adaptableApi }: {
|
|
18
20
|
adaptableApi: AdaptableApi;
|
|
@@ -32,8 +34,13 @@ export declare type ReactFrameworkComponent = ({ adaptableApi, }: {
|
|
|
32
34
|
/**
|
|
33
35
|
* Context provided for any custom rendering
|
|
34
36
|
*/
|
|
35
|
-
export interface CustomRenderContext {
|
|
37
|
+
export interface CustomRenderContext extends BaseContext {
|
|
38
|
+
/**
|
|
39
|
+
* Whether Tool Panel is currently visible
|
|
40
|
+
*/
|
|
36
41
|
visible: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Current Div Element
|
|
44
|
+
*/
|
|
37
45
|
element: HTMLDivElement;
|
|
38
|
-
adaptableApi: AdaptableApi;
|
|
39
46
|
}
|
|
@@ -41,7 +41,7 @@ export interface CustomToolPanel extends AdaptableObject {
|
|
|
41
41
|
*/
|
|
42
42
|
buttons?: AdaptableButton<CustomToolPanelButtonContext>[];
|
|
43
43
|
/**
|
|
44
|
-
* Function to provide bespoke content when
|
|
44
|
+
* Function to provide bespoke content when using AdapTable Vanilla
|
|
45
45
|
*/
|
|
46
46
|
render?: (customRenderContext: CustomRenderContext) => string | null;
|
|
47
47
|
/**
|
|
@@ -34,6 +34,13 @@ class CalculatedColumnModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
34
34
|
oldCalculatedColumns.push(cc);
|
|
35
35
|
(0, LoggingHelper_1.LogAdaptableWarning)(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
|
|
36
36
|
}
|
|
37
|
+
if (!cc.CalculatedColumnSettings) {
|
|
38
|
+
cc.CalculatedColumnSettings = {
|
|
39
|
+
DataType: 'Number',
|
|
40
|
+
};
|
|
41
|
+
oldCalculatedColumns.push(cc);
|
|
42
|
+
(0, LoggingHelper_1.LogAdaptableWarning)(`Updating incorrect Predefined Config for Calculated Column: ${cc.ColumnId}`);
|
|
43
|
+
}
|
|
37
44
|
});
|
|
38
45
|
oldCalculatedColumns.forEach((oldCalcCol) => this.api.calculatedColumnApi.editCalculatedColumn(oldCalcCol));
|
|
39
46
|
}
|
|
@@ -98,12 +98,10 @@ class ChartingModule extends AdaptableModuleBase_1.AdaptableModuleBase {
|
|
|
98
98
|
},
|
|
99
99
|
emptyView: 'To create a chart select a few cells and right click. Then select "Chart Range" from the context menu.',
|
|
100
100
|
getStatusBarPanelProps: () => {
|
|
101
|
-
const
|
|
102
|
-
const popover = chartDefinitions.length > 0 ? ChartingStatusBarPopover_1.ChartingStatusBarPopover : null;
|
|
103
|
-
const content = popover ? 'See Charts' : 'No Charts';
|
|
101
|
+
const content = ChartingStatusBarPopover_1.ChartingStatusBarPopover;
|
|
104
102
|
return {
|
|
105
103
|
content,
|
|
106
|
-
|
|
104
|
+
triggerActionOnWrapperClick: false,
|
|
107
105
|
};
|
|
108
106
|
},
|
|
109
107
|
};
|
|
@@ -3,21 +3,26 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ChartingStatusBarPopover = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
|
-
const react_redux_1 = require("react-redux");
|
|
7
6
|
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
7
|
+
const ModuleConstants = tslib_1.__importStar(require("../../../Utilities/Constants/ModuleConstants"));
|
|
8
|
+
const useChartingElements_1 = require("./useChartingElements");
|
|
9
|
+
const rebass_1 = require("rebass");
|
|
10
|
+
const ChartingStatusBarPopover = (props) => {
|
|
11
11
|
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
},
|
|
21
|
-
|
|
12
|
+
const accessLevel = adaptable.api.internalApi
|
|
13
|
+
.getEntitlementService()
|
|
14
|
+
.getEntitlementAccessLevelForModule(ModuleConstants.ChartingModuleId);
|
|
15
|
+
const { chartSelector, containerSelector, chartButton, deleteButton, editButton } = (0, useChartingElements_1.useChartingElements)({
|
|
16
|
+
elementType: 'Statusbar',
|
|
17
|
+
accessLevel: accessLevel,
|
|
18
|
+
size: 'small',
|
|
19
|
+
});
|
|
20
|
+
return (React.createElement(rebass_1.Flex, { width: "100%", alignItems: "center" },
|
|
21
|
+
React.createElement(rebass_1.Box, null, chartSelector),
|
|
22
|
+
containerSelector && React.createElement(rebass_1.Box, { ml: 1 }, containerSelector),
|
|
23
|
+
React.createElement(rebass_1.Box, { ml: 1 },
|
|
24
|
+
chartButton,
|
|
25
|
+
deleteButton,
|
|
26
|
+
editButton)));
|
|
22
27
|
};
|
|
23
28
|
exports.ChartingStatusBarPopover = ChartingStatusBarPopover;
|
|
@@ -3,76 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ChartingViewPanel = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const React = tslib_1.__importStar(require("react"));
|
|
6
|
-
const react_redux_1 = require("react-redux");
|
|
7
6
|
const rebass_1 = require("rebass");
|
|
8
|
-
const
|
|
9
|
-
const SimpleButton_1 = tslib_1.__importDefault(require("../../../components/SimpleButton"));
|
|
10
|
-
const ChartingRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/ChartingRedux"));
|
|
11
|
-
const AdaptableHelper_1 = tslib_1.__importDefault(require("../../../Utilities/Helpers/AdaptableHelper"));
|
|
12
|
-
const AdaptableContext_1 = require("../../AdaptableContext");
|
|
13
|
-
const useChartState_1 = require("./useChartState");
|
|
14
|
-
const DeleteChartButton_1 = require("./DeleteChartButton");
|
|
15
|
-
const EditChartButton_1 = require("./EditChartButton");
|
|
7
|
+
const useChartingElements_1 = require("./useChartingElements");
|
|
16
8
|
const ChartingViewPanel = (props) => {
|
|
17
|
-
var _a, _b, _c;
|
|
18
|
-
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
19
|
-
const chartDefinitions = (0, react_redux_1.useSelector)(ChartingRedux.ChartingGetChartModels);
|
|
20
|
-
const chartContainers = (_b = (_a = adaptable.adaptableOptions) === null || _a === void 0 ? void 0 : _a.chartingOptions) === null || _b === void 0 ? void 0 : _b.chartContainers;
|
|
21
|
-
const [selectedChartId, setSelectedChartId] = React.useState(() => {
|
|
22
|
-
// ID is kept in state becaus that does not change, the definition might change
|
|
23
|
-
return chartDefinitions.length > 0 ? chartDefinitions[0].Uuid : null;
|
|
24
|
-
});
|
|
25
|
-
const selectedChart = chartDefinitions.find((chart) => chart.Uuid === selectedChartId);
|
|
26
|
-
const accessLevel = AdaptableHelper_1.default.getAppropriateAccessLevel(selectedChart, props.accessLevel);
|
|
27
|
-
const [selectedContainer, setSelectedContainer] = React.useState(null);
|
|
28
|
-
const { isOpen, showChart, closeChart } = (0, useChartState_1.useChartState)(selectedChart);
|
|
29
|
-
const options = chartDefinitions.map((chartDefinition) => ({
|
|
30
|
-
label: chartDefinition.Name,
|
|
31
|
-
value: chartDefinition.Uuid,
|
|
32
|
-
onClick: () => {
|
|
33
|
-
setSelectedChartId(chartDefinition.Uuid);
|
|
34
|
-
},
|
|
35
|
-
}));
|
|
36
|
-
const hasCharts = options.length > 0;
|
|
37
|
-
const isSelectedChart = hasCharts && selectedChart != null;
|
|
38
|
-
let content = '';
|
|
39
|
-
if (hasCharts && selectedChart) {
|
|
40
|
-
content = (_c = chartDefinitions.find((chart) => chart.Uuid === selectedChart.Uuid)) === null || _c === void 0 ? void 0 : _c.Name;
|
|
41
|
-
}
|
|
42
|
-
else if (hasCharts) {
|
|
43
|
-
content = 'Select Chart';
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
content = 'No Charts';
|
|
47
|
-
}
|
|
48
9
|
const elementType = props.viewType === 'Toolbar' ? 'DashboardToolbar' : 'ToolPanel';
|
|
49
|
-
|
|
50
|
-
// select first
|
|
51
|
-
if (!selectedChart && chartDefinitions.length > 0) {
|
|
52
|
-
setSelectedChartId(chartDefinitions[0].Uuid);
|
|
53
|
-
}
|
|
54
|
-
}, [chartDefinitions]);
|
|
55
|
-
const containerOptions = [
|
|
56
|
-
{
|
|
57
|
-
label: 'Ag Grid Window',
|
|
58
|
-
onClick: () => {
|
|
59
|
-
setSelectedContainer(null);
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
...(chartContainers
|
|
63
|
-
? chartContainers === null || chartContainers === void 0 ? void 0 : chartContainers.map((contianerDef) => ({
|
|
64
|
-
label: contianerDef.name,
|
|
65
|
-
onClick: () => {
|
|
66
|
-
setSelectedContainer(contianerDef);
|
|
67
|
-
},
|
|
68
|
-
}))
|
|
69
|
-
: []),
|
|
70
|
-
];
|
|
71
|
-
const chartSelector = (React.createElement(DropdownButton_1.default, { width: "100%", columns: ['label'], className: `ab-${elementType}__Chart__select`, items: options, disabled: !hasCharts }, content));
|
|
72
|
-
const containerSelector = Boolean(chartContainers === null || chartContainers === void 0 ? void 0 : 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'));
|
|
73
|
-
const chartButton = (React.createElement(SimpleButton_1.default, { mr: 1, onClick: () => (isOpen ? closeChart() : showChart(selectedContainer)), disabled: !Boolean(selectedChart), variant: 'outlined', tone: 'neutral' }, isOpen ? 'Close' : 'Open'));
|
|
74
|
-
const deleteButton = React.createElement(DeleteChartButton_1.DeleteChartButton, { chart: selectedChart, accessLevel: accessLevel });
|
|
75
|
-
const editButton = (React.createElement(EditChartButton_1.EditChartButton, { chart: selectedChart, accessLevel: accessLevel, isOpen: isOpen }));
|
|
10
|
+
const { chartSelector, containerSelector, chartButton, deleteButton, editButton } = (0, useChartingElements_1.useChartingElements)({ elementType, accessLevel: props.accessLevel });
|
|
76
11
|
if (elementType === 'DashboardToolbar') {
|
|
77
12
|
return (React.createElement(rebass_1.Flex, { width: "100%", alignItems: "center" },
|
|
78
13
|
React.createElement(rebass_1.Box, null, chartSelector),
|
|
@@ -7,6 +7,6 @@ const ButtonDelete_1 = require("../Buttons/ButtonDelete");
|
|
|
7
7
|
const ChartingRedux = tslib_1.__importStar(require("../../../Redux/ActionsReducers/ChartingRedux"));
|
|
8
8
|
const DeleteChartButton = (props) => {
|
|
9
9
|
var _a;
|
|
10
|
-
return (React.createElement(ButtonDelete_1.ButtonDelete, { disabled: !props.chart, ConfirmAction: ChartingRedux.ChartingDeleteChart((_a = props.chart) === null || _a === void 0 ? void 0 : _a.Name), ConfirmationMsg: `Are you sure you want to delete this Charts?`, ConfirmationTitle: 'Delete Charts', accessLevel: props.accessLevel }));
|
|
10
|
+
return (React.createElement(ButtonDelete_1.ButtonDelete, { iconSize: props.iconSize, disabled: !props.chart, ConfirmAction: ChartingRedux.ChartingDeleteChart((_a = props.chart) === null || _a === void 0 ? void 0 : _a.Name), ConfirmationMsg: `Are you sure you want to delete this Charts?`, ConfirmationTitle: 'Delete Charts', accessLevel: props.accessLevel }));
|
|
11
11
|
};
|
|
12
12
|
exports.DeleteChartButton = DeleteChartButton;
|
|
@@ -9,7 +9,7 @@ const ModuleConstants = tslib_1.__importStar(require("../../../Utilities/Constan
|
|
|
9
9
|
const react_redux_1 = require("react-redux");
|
|
10
10
|
const EditChartButton = (props) => {
|
|
11
11
|
const dispatch = (0, react_redux_1.useDispatch)();
|
|
12
|
-
return (React.createElement(ButtonEdit_1.ButtonEdit, { tooltip: "Edit Chart",
|
|
12
|
+
return (React.createElement(ButtonEdit_1.ButtonEdit, { iconSize: props.iconSize, tooltip: "Edit Chart",
|
|
13
13
|
// It gets complicated when a chart is both open and opened in edit wizard
|
|
14
14
|
// There an be conflicts between the two open charts (preview and main) and the changes to the active chart may not be syncronized correctly.
|
|
15
15
|
disabled: !props.chart || props.isOpen, accessLevel: props.accessLevel, onClick: () => dispatch(PopupRedux.PopupShowScreen(ModuleConstants.ChartingModuleId, 'Chart', {
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { AccessLevel, ChartDefinition } from '../../../types';
|
|
3
|
+
export declare const useChartingElements: ({ elementType, accessLevel, size, }: {
|
|
4
|
+
elementType: string;
|
|
5
|
+
accessLevel: AccessLevel;
|
|
6
|
+
size?: 'small' | 'normal';
|
|
7
|
+
}) => {
|
|
8
|
+
chartSelector: JSX.Element;
|
|
9
|
+
containerSelector: JSX.Element;
|
|
10
|
+
chartButton: JSX.Element;
|
|
11
|
+
deleteButton: JSX.Element;
|
|
12
|
+
editButton: JSX.Element;
|
|
13
|
+
selectedChart: ChartDefinition;
|
|
14
|
+
};
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useChartingElements = 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 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 AdaptableHelper_1 = tslib_1.__importDefault(require("../../../Utilities/Helpers/AdaptableHelper"));
|
|
12
|
+
const useChartState_1 = require("./useChartState");
|
|
13
|
+
const DeleteChartButton_1 = require("./DeleteChartButton");
|
|
14
|
+
const EditChartButton_1 = require("./EditChartButton");
|
|
15
|
+
const useChartingElements = ({ elementType, accessLevel, size = 'normal', }) => {
|
|
16
|
+
var _a, _b, _c;
|
|
17
|
+
const adaptable = (0, AdaptableContext_1.useAdaptable)();
|
|
18
|
+
const chartDefinitions = (0, react_redux_1.useSelector)(ChartingRedux.ChartingGetChartModels);
|
|
19
|
+
const chartContainers = (_b = (_a = adaptable.adaptableOptions) === null || _a === void 0 ? void 0 : _a.chartingOptions) === null || _b === void 0 ? void 0 : _b.chartContainers;
|
|
20
|
+
const [selectedChartId, setSelectedChartId] = React.useState(() => {
|
|
21
|
+
// ID is kept in state becaus that does not change, the definition might change
|
|
22
|
+
return chartDefinitions.length > 0 ? chartDefinitions[0].Uuid : null;
|
|
23
|
+
});
|
|
24
|
+
const selectedChart = chartDefinitions.find((chart) => chart.Uuid === selectedChartId);
|
|
25
|
+
const chartAccessLevel = AdaptableHelper_1.default.getAppropriateAccessLevel(selectedChart, accessLevel);
|
|
26
|
+
const [selectedContainer, setSelectedContainer] = React.useState(null);
|
|
27
|
+
const { isOpen, showChart, closeChart } = (0, useChartState_1.useChartState)(selectedChart);
|
|
28
|
+
const options = chartDefinitions.map((chartDefinition) => ({
|
|
29
|
+
label: chartDefinition.Name,
|
|
30
|
+
value: chartDefinition.Uuid,
|
|
31
|
+
onClick: () => {
|
|
32
|
+
setSelectedChartId(chartDefinition.Uuid);
|
|
33
|
+
},
|
|
34
|
+
}));
|
|
35
|
+
const hasCharts = options.length > 0;
|
|
36
|
+
const isSelectedChart = hasCharts && selectedChart != null;
|
|
37
|
+
let content = '';
|
|
38
|
+
if (hasCharts && selectedChart) {
|
|
39
|
+
content = (_c = chartDefinitions.find((chart) => chart.Uuid === selectedChart.Uuid)) === null || _c === void 0 ? void 0 : _c.Name;
|
|
40
|
+
}
|
|
41
|
+
else if (hasCharts) {
|
|
42
|
+
content = 'Select Chart';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
content = 'No Charts';
|
|
46
|
+
}
|
|
47
|
+
React.useEffect(() => {
|
|
48
|
+
// select first
|
|
49
|
+
if (!selectedChart && chartDefinitions.length > 0) {
|
|
50
|
+
setSelectedChartId(chartDefinitions[0].Uuid);
|
|
51
|
+
}
|
|
52
|
+
}, [chartDefinitions]);
|
|
53
|
+
const containerOptions = [
|
|
54
|
+
{
|
|
55
|
+
label: 'Ag Grid Window',
|
|
56
|
+
onClick: () => {
|
|
57
|
+
setSelectedContainer(null);
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
...(chartContainers
|
|
61
|
+
? chartContainers === null || chartContainers === void 0 ? void 0 : chartContainers.map((contianerDef) => ({
|
|
62
|
+
label: contianerDef.name,
|
|
63
|
+
onClick: () => {
|
|
64
|
+
setSelectedContainer(contianerDef);
|
|
65
|
+
},
|
|
66
|
+
}))
|
|
67
|
+
: []),
|
|
68
|
+
];
|
|
69
|
+
const style = {};
|
|
70
|
+
let iconSize;
|
|
71
|
+
if (size === 'small') {
|
|
72
|
+
style.padding = 2;
|
|
73
|
+
style.fontSize = 'small';
|
|
74
|
+
iconSize = 15;
|
|
75
|
+
}
|
|
76
|
+
const chartSelector = (React.createElement(DropdownButton_1.default, { style: style, width: "100%", columns: ['label'], className: `ab-${elementType}__Chart__select`, items: options, disabled: !hasCharts }, content));
|
|
77
|
+
const containerSelector = Boolean(chartContainers === null || chartContainers === void 0 ? void 0 : chartContainers.length) && (React.createElement(DropdownButton_1.default, { style: style, width: "100%", columns: ['label'], items: containerOptions, disabled: !isSelectedChart }, (selectedContainer === null || selectedContainer === void 0 ? void 0 : selectedContainer.name) || 'Ag Grid Window'));
|
|
78
|
+
const chartButton = (React.createElement(SimpleButton_1.default, { style: style, mr: 1, onClick: () => (isOpen ? closeChart() : showChart(selectedContainer)), disabled: !Boolean(selectedChart), variant: 'outlined', tone: 'neutral' }, isOpen ? 'Close' : 'Open'));
|
|
79
|
+
const deleteButton = (React.createElement(DeleteChartButton_1.DeleteChartButton, { iconSize: iconSize, chart: selectedChart, accessLevel: chartAccessLevel }));
|
|
80
|
+
const editButton = (React.createElement(EditChartButton_1.EditChartButton, { iconSize: iconSize, chart: selectedChart, accessLevel: chartAccessLevel, isOpen: isOpen }));
|
|
81
|
+
return {
|
|
82
|
+
chartSelector,
|
|
83
|
+
containerSelector,
|
|
84
|
+
chartButton,
|
|
85
|
+
deleteButton,
|
|
86
|
+
editButton,
|
|
87
|
+
selectedChart,
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
exports.useChartingElements = useChartingElements;
|
|
@@ -54,14 +54,15 @@ const getSharedEntityActiveStatusObjectView = (isDependency) => (props) => {
|
|
|
54
54
|
if (isStaleAndActive) {
|
|
55
55
|
statusInfo = (React.createElement(rebass_1.Box, { ml: 1, style: { color: 'var(--ab-color-warn)' } }, ` (Rev. ${newRevision} available)`));
|
|
56
56
|
}
|
|
57
|
-
activeInfo = (React.createElement(React.Fragment, null,
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
activeInfo = activeRevision && (React.createElement(React.Fragment, null,
|
|
58
|
+
activeRevision &&
|
|
59
|
+
`Imported Rev. ${activeRevision} ${isStaleAndActive ? 'is stale' : ''} `,
|
|
60
|
+
' ',
|
|
60
61
|
statusInfo));
|
|
61
62
|
}
|
|
62
63
|
else {
|
|
63
64
|
// snapshot
|
|
64
|
-
activeInfo = React.createElement(React.Fragment, null, `Imported Rev. ${activeRevision}`);
|
|
65
|
+
activeInfo = activeRevision && React.createElement(React.Fragment, null, `Imported Rev. ${activeRevision}`);
|
|
65
66
|
}
|
|
66
67
|
}
|
|
67
68
|
const sharedValue = `by ${sharedEntity.UserName} at ${new Date(sharedEntity.Timestamp).toLocaleString()}`;
|
package/src/agGrid/Adaptable.js
CHANGED
|
@@ -351,7 +351,7 @@ class Adaptable {
|
|
|
351
351
|
// the 'old' constructor which takes an Adaptable adaptable object
|
|
352
352
|
// this is still used internally but should not be used externally as a preference
|
|
353
353
|
async init(adaptableOptions, runtimeConfig, _staticInit) {
|
|
354
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
354
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
355
355
|
if (runtimeConfig) {
|
|
356
356
|
this.supressReact18RenderWarning = !!runtimeConfig.supressReact18RenderWarning;
|
|
357
357
|
if (runtimeConfig.renderReactRoot) {
|
|
@@ -459,6 +459,8 @@ class Adaptable {
|
|
|
459
459
|
abColDefObject: (_e = this.gridOptions.columnTypes.abColDefObject) !== null && _e !== void 0 ? _e : {},
|
|
460
460
|
abColDefCustom: (_f = this.gridOptions.columnTypes.abColDefCustom) !== null && _f !== void 0 ? _f : {},
|
|
461
461
|
abColDefNumberArray: (_g = this.gridOptions.columnTypes.abColDefNumberArray) !== null && _g !== void 0 ? _g : {},
|
|
462
|
+
abColDefTupleNumberArray: (_h = this.gridOptions.columnTypes.abColDefTupleNumberArray) !== null && _h !== void 0 ? _h : {},
|
|
463
|
+
abColDefObjectNumberArray: (_j = this.gridOptions.columnTypes.abColDefObjectNumberArray) !== null && _j !== void 0 ? _j : {},
|
|
462
464
|
});
|
|
463
465
|
if (this.gridOptions.columnTypes.abColDefNumber.cellEditor === undefined) {
|
|
464
466
|
this.gridOptions.columnTypes.abColDefNumber.cellEditor =
|
|
@@ -1442,9 +1444,12 @@ class Adaptable {
|
|
|
1442
1444
|
shouldUpdateHeaders = this.setupColumnHeader(colSetupInfo) || shouldUpdateHeaders;
|
|
1443
1445
|
});
|
|
1444
1446
|
isChanged = isChanged || shouldUpdateHeaders;
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1447
|
+
// this is NOT really needed?!
|
|
1448
|
+
// without it everything seem to still work as expected
|
|
1449
|
+
// and the setLayout() execution time is shorter, so a double win
|
|
1450
|
+
// if (ArrayExtensions.IsNotNullOrEmpty(layout.ColumnFilters)) {
|
|
1451
|
+
// this.gridOptions.api!.onFilterChanged();
|
|
1452
|
+
// }
|
|
1448
1453
|
if (isChanged) {
|
|
1449
1454
|
// it's important we set pivot mode
|
|
1450
1455
|
// before we set column state
|
|
@@ -470,6 +470,11 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
470
470
|
reference?: undefined;
|
|
471
471
|
})[];
|
|
472
472
|
};
|
|
473
|
+
AdaptableFrameworkComponent: {
|
|
474
|
+
name: string;
|
|
475
|
+
kind: string;
|
|
476
|
+
description: string;
|
|
477
|
+
};
|
|
473
478
|
AdaptableIcon: {
|
|
474
479
|
name: string;
|
|
475
480
|
kind: string;
|
|
@@ -2072,6 +2077,19 @@ export declare const ADAPTABLE_METAMODEL: {
|
|
|
2072
2077
|
name: string;
|
|
2073
2078
|
kind: string;
|
|
2074
2079
|
description: string;
|
|
2080
|
+
properties: ({
|
|
2081
|
+
name: string;
|
|
2082
|
+
kind: string;
|
|
2083
|
+
description: string;
|
|
2084
|
+
uiLabel: string;
|
|
2085
|
+
reference: string;
|
|
2086
|
+
} | {
|
|
2087
|
+
name: string;
|
|
2088
|
+
kind: string;
|
|
2089
|
+
description: string;
|
|
2090
|
+
uiLabel: string;
|
|
2091
|
+
reference?: undefined;
|
|
2092
|
+
})[];
|
|
2075
2093
|
};
|
|
2076
2094
|
CustomSettingsPanel: {
|
|
2077
2095
|
name: string;
|