@adaptabletools/adaptable 20.0.0-canary.2 → 20.0.0-canary.21
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 +1288 -898
- package/base.css.map +1 -1
- package/index.css +428 -898
- package/index.css.map +1 -1
- package/package.json +4 -4
- package/src/AdaptableInterfaces/IAdaptable.d.ts +2 -1
- package/src/AdaptableOptions/CellSummaryOptions.d.ts +1 -1
- package/src/AdaptableOptions/ContainerOptions.d.ts +0 -7
- package/src/AdaptableOptions/DashboardOptions.d.ts +1 -1
- package/src/AdaptableOptions/DefaultAdaptableOptions.js +2 -2
- package/src/AdaptableOptions/EditOptions.d.ts +14 -3
- package/src/AdaptableOptions/ExportOptions.d.ts +11 -20
- package/src/AdaptableOptions/PredicateOptions.d.ts +4 -4
- package/src/AdaptableOptions/QuickSearchOptions.d.ts +2 -2
- package/src/AdaptableOptions/UserInterfaceOptions.d.ts +7 -0
- package/src/Api/ExportApi.d.ts +1 -6
- package/src/Api/Fdc3Api.d.ts +5 -3
- package/src/Api/Implementation/AdaptableApiImpl.js +1 -0
- package/src/Api/Implementation/ColumnFilterApiImpl.js +3 -3
- package/src/Api/Implementation/ExportApiImpl.d.ts +1 -2
- package/src/Api/Implementation/ExportApiImpl.js +17 -10
- package/src/Api/Implementation/Fdc3ApiImpl.d.ts +3 -3
- package/src/Api/Implementation/Fdc3ApiImpl.js +4 -4
- package/src/Api/Implementation/LayoutHelpers.js +8 -27
- package/src/Api/Implementation/PredicateApiImpl.js +1 -1
- package/src/Api/Implementation/ScheduleApiImpl.js +1 -1
- package/src/Api/Implementation/StyledColumnApiImpl.js +1 -1
- package/src/Api/Implementation/ThemeApiImpl.js +3 -1
- package/src/Api/Internal/ActionColumnInternalApi.js +16 -19
- package/src/Api/Internal/AdaptableInternalApi.js +1 -1
- package/src/Api/Internal/ColumnFilterInternalApi.js +2 -2
- package/src/Api/Internal/ColumnInternalApi.js +1 -2
- package/src/Api/Internal/EventInternalApi.js +6 -1
- package/src/Api/Internal/ExportInternalApi.d.ts +10 -6
- package/src/Api/Internal/ExportInternalApi.js +105 -136
- package/src/Api/Internal/RowFormInternalApi.js +1 -1
- package/src/Api/LayoutApi.d.ts +1 -1
- package/src/Api/ThemeApi.d.ts +2 -0
- package/src/PredefinedConfig/AlertState.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptableColumnContext.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptablePredicate.d.ts +1 -1
- package/src/PredefinedConfig/Common/AdaptablePredicate.js +13 -29
- package/src/PredefinedConfig/Common/ColumnFilter.d.ts +6 -2
- package/src/PredefinedConfig/ExportState.d.ts +10 -17
- package/src/PredefinedConfig/FlashingCellState.d.ts +1 -1
- package/src/PredefinedConfig/LayoutState.d.ts +17 -17
- package/src/PredefinedConfig/StyledColumnState.d.ts +1 -1
- package/src/Redux/ActionsReducers/LayoutRedux.d.ts +4 -3
- package/src/Redux/ActionsReducers/LayoutRedux.js +3 -3
- package/src/Redux/Store/AdaptableStore.js +3 -3
- package/src/Strategy/ColumnFilterModule.js +4 -4
- package/src/Strategy/StyledColumnModule.js +6 -6
- package/src/Utilities/ExpressionFunctions/aggregatedScalarExpressionFunctions.js +1 -1
- package/src/Utilities/ExpressionFunctions/booleanExpressionFunctions.js +3 -3
- package/src/Utilities/ExpressionFunctions/scalarExpressionFunctions.js +13 -13
- package/src/Utilities/Helpers/AdaptableHelper.d.ts +2 -0
- package/src/Utilities/Helpers/AdaptableHelper.js +10 -0
- package/src/Utilities/Helpers/DateHelper.js +1 -2
- package/src/Utilities/Helpers/FormatHelper.js +18 -5
- package/src/Utilities/ObjectFactory.js +1 -0
- package/src/Utilities/Services/Fdc3Service.d.ts +2 -2
- package/src/Utilities/Services/Fdc3Service.js +7 -2
- package/src/Utilities/Services/ThemeService.d.ts +1 -1
- package/src/Utilities/Services/ThemeService.js +5 -5
- package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +41 -0
- package/src/View/ColumnInfo/ColumnInfo.js +0 -1
- package/src/View/Comments/CommentsEditor.js +5 -2
- package/src/View/Comments/CommentsPopup.js +5 -2
- package/src/View/Components/ColumnFilter/ColumnFilter.d.ts +1 -1
- package/src/View/Components/ColumnFilter/ColumnFilter.js +4 -2
- package/src/View/Components/ColumnFilter/FloatingFilter.js +1 -1
- package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +1 -1
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
- package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +6 -2
- package/src/View/Components/ColumnFilter/utils.js +2 -2
- package/src/View/Components/FilterForm/ListBoxFilterForm.js +3 -3
- package/src/View/Dashboard/CustomToolbar.js +2 -2
- package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +4 -1
- package/src/View/Filter/FilterSummary.js +1 -1
- package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +6 -2
- package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -2
- package/src/View/Note/NotePopup.js +5 -2
- package/src/View/QuickSearch/QuickSearchPopup.js +2 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.d.ts +2 -0
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +18 -2
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +4 -0
- package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +2 -1
- package/src/View/StatusBar/AdaptableStatusBar.js +7 -5
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +3 -4
- package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +348 -191
- package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +2 -2
- package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +1 -1
- package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
- package/src/agGrid/AdaptableAgGrid.d.ts +4 -8
- package/src/agGrid/AdaptableAgGrid.js +72 -118
- package/src/agGrid/AgGridAdapter.d.ts +1 -1
- package/src/agGrid/AgGridAdapter.js +7 -8
- package/src/agGrid/AgGridColumnAdapter.js +5 -10
- package/src/agGrid/AgGridExportAdapter.d.ts +24 -1
- package/src/agGrid/AgGridExportAdapter.js +24 -25
- package/src/agGrid/AgGridThemeAdapter.d.ts +19 -0
- package/src/agGrid/AgGridThemeAdapter.js +122 -0
- package/src/agGrid/cellRenderers/BadgeRenderer.js +2 -1
- package/src/agGrid/editors/AdaptableDateEditor/InternalAdaptableDateEditor.js +1 -1
- package/src/components/ColorPicker/ColorPicker.js +2 -2
- package/src/components/Datepicker/DatepickerContext.d.ts +1 -0
- package/src/components/Datepicker/index.d.ts +1 -0
- package/src/components/Datepicker/index.js +1 -1
- package/src/components/OverlayTrigger/useAgGridClassName.js +1 -1
- package/src/components/Select/Select.d.ts +1 -0
- package/src/components/Select/Select.js +30 -7
- package/src/env.js +2 -2
- package/src/metamodel/adaptable.metamodel.d.ts +23 -15
- package/src/metamodel/adaptable.metamodel.js +1 -1
- package/src/migration/VersionUpgrade20.d.ts +3 -0
- package/src/migration/VersionUpgrade20.js +140 -12
- package/src/types.d.ts +3 -3
- package/tsconfig.esm.tsbuildinfo +1 -1
|
@@ -40,7 +40,7 @@ function mapStateToProps(state) {
|
|
|
40
40
|
}
|
|
41
41
|
function mapDispatchToProps(dispatch) {
|
|
42
42
|
return {
|
|
43
|
-
onClearFilter: (columnFilter) => dispatch(LayoutRedux.LayoutColumnFilterClear(columnFilter)),
|
|
43
|
+
onClearFilter: (columnFilter) => dispatch(LayoutRedux.LayoutColumnFilterClear(columnFilter.ColumnId)),
|
|
44
44
|
onClearPopupParams: () => dispatch(PopupRedux.PopupClearParam()),
|
|
45
45
|
onShare: (entity, config) => dispatch(TeamSharingRedux.TeamSharingShare(entity, ModuleConstants.ColumnFilterModuleId, config)),
|
|
46
46
|
};
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { useSelector } from 'react-redux';
|
|
3
2
|
import { Box } from 'rebass';
|
|
4
3
|
import { useAdaptable } from '../../AdaptableContext';
|
|
5
4
|
import { AdaptableObjectList } from '../../Components/AdaptableObjectList';
|
|
5
|
+
import { useRerender } from '../../../components/utils/useRerender';
|
|
6
|
+
import { useEffect } from 'react';
|
|
6
7
|
export const AdaptableObjectsSummary = () => {
|
|
7
|
-
const state = useSelector((state) => state);
|
|
8
8
|
const adaptable = useAdaptable();
|
|
9
|
+
const rerender = useRerender();
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
return adaptable.api.eventApi.on('AdaptableStateChanged', rerender);
|
|
12
|
+
}, [adaptable]);
|
|
9
13
|
const modules = adaptable.ModuleService.getModuleCollection();
|
|
10
14
|
const baseClassName = 'ab-AdaptableObjectsSummary';
|
|
11
15
|
return (React.createElement(Box, { className: baseClassName }, [...modules].map(([moduleName, module]) => {
|
|
@@ -10,7 +10,9 @@ import { AdaptableObjectRow } from '../../Components/AdaptableObjectRow';
|
|
|
10
10
|
import { PopupPanel } from '../../Components/Popups/AdaptablePopup/PopupPanel';
|
|
11
11
|
import { AdaptableObjectsSummary } from './AdaptableObjectsSummary';
|
|
12
12
|
import { ADAPTABLE_VERSION } from '../../../EnvVars';
|
|
13
|
-
|
|
13
|
+
import { AG_GRID_VERSION } from '../../../agGrid/agGridModules';
|
|
14
|
+
const adaptableVersion = ADAPTABLE_VERSION;
|
|
15
|
+
const agGridVersion = AG_GRID_VERSION;
|
|
14
16
|
export const GridInfoPopup = (props) => {
|
|
15
17
|
const api = props.api;
|
|
16
18
|
const CreateGridSummaries = (colItems) => {
|
|
@@ -33,7 +35,10 @@ export const GridInfoPopup = (props) => {
|
|
|
33
35
|
: null;
|
|
34
36
|
const selectedRowInfo = api.gridApi.getSelectedRowInfo();
|
|
35
37
|
if (api.optionsApi.getUserInterfaceOptions()?.showAdapTableVersion) {
|
|
36
|
-
returnRows.push(createReadOnlyColItem(colItems, 'AdapTable Version',
|
|
38
|
+
returnRows.push(createReadOnlyColItem(colItems, 'AdapTable Version', adaptableVersion));
|
|
39
|
+
}
|
|
40
|
+
if (api.optionsApi.getUserInterfaceOptions()?.showAgGridVersion) {
|
|
41
|
+
returnRows.push(createReadOnlyColItem(colItems, 'AG Grid Version', agGridVersion));
|
|
37
42
|
}
|
|
38
43
|
returnRows.push(createReadOnlyColItem(colItems, 'Sorted Columns', ArrayExtensions.IsNotNullOrEmpty(sorts) ? sorts.join('; ') : 'None'));
|
|
39
44
|
returnRows.push(createReadOnlyColItem(colItems, 'Column Filters', columnFilterDescription));
|
|
@@ -2,11 +2,11 @@ import * as React from 'react';
|
|
|
2
2
|
import { useSelector } from 'react-redux';
|
|
3
3
|
import { DataSource, InfiniteTable } from '../../components/InfiniteTable';
|
|
4
4
|
import { GetAllNotesSelector } from '../../Redux/ActionsReducers/NoteRedux';
|
|
5
|
-
import dateFnsFormat from 'date-fns/format';
|
|
6
5
|
import { useAdaptable } from '../AdaptableContext';
|
|
7
6
|
import { AdaptableButtonComponent } from '../Components/AdaptableButton';
|
|
8
7
|
import { PopupPanel } from '../Components/Popups/AdaptablePopup/PopupPanel';
|
|
9
8
|
import StringExtensions from '../../Utilities/Extensions/StringExtensions';
|
|
9
|
+
import FormatHelper from '../../Utilities/Helpers/FormatHelper';
|
|
10
10
|
const tableDOMProps = {
|
|
11
11
|
style: {
|
|
12
12
|
height: '100%',
|
|
@@ -21,6 +21,9 @@ export const NotePopup = (props) => {
|
|
|
21
21
|
: StringExtensions.Humanize(adaptable.adaptableOptions.primaryKey);
|
|
22
22
|
const allNotes = useSelector((state) => GetAllNotesSelector(state.Note));
|
|
23
23
|
const isReadOnlyModule = adaptable.api.entitlementApi.getEntitlementAccessLevelForModule('Note') === 'ReadOnly';
|
|
24
|
+
const formatDate = (date, format) => {
|
|
25
|
+
return FormatHelper.DateFormatter(date, { Pattern: format });
|
|
26
|
+
};
|
|
24
27
|
const columnsMap = React.useMemo(() => {
|
|
25
28
|
const columns = {
|
|
26
29
|
primaryKey: {
|
|
@@ -43,7 +46,7 @@ export const NotePopup = (props) => {
|
|
|
43
46
|
timestamp: {
|
|
44
47
|
field: 'Timestamp',
|
|
45
48
|
valueGetter: (params) => {
|
|
46
|
-
return
|
|
49
|
+
return formatDate(params.data.Timestamp, adaptable.api.noteApi.internalApi.getNotesDateFormat());
|
|
47
50
|
},
|
|
48
51
|
},
|
|
49
52
|
delete: {
|
|
@@ -14,7 +14,7 @@ import { useQuickSearchDebounced } from './useQuickSearchDebounced';
|
|
|
14
14
|
const QuickSearchPopupComponent = (props) => {
|
|
15
15
|
const [searchText, search] = useQuickSearchDebounced(props);
|
|
16
16
|
const [state, setState] = useState({
|
|
17
|
-
RunQueryAfterQuickSearch: props.api.optionsApi.getQuickSearchOptions().
|
|
17
|
+
RunQueryAfterQuickSearch: props.api.optionsApi.getQuickSearchOptions().filterGridAfterQuickSearch,
|
|
18
18
|
EditedStyle: props.QuickSearchStyle,
|
|
19
19
|
});
|
|
20
20
|
const onUpdateStyle = (style) => {
|
|
@@ -23,7 +23,7 @@ const QuickSearchPopupComponent = (props) => {
|
|
|
23
23
|
};
|
|
24
24
|
const onQuickSearchBehaviourChange = (checked) => {
|
|
25
25
|
setState({ ...state, RunQueryAfterQuickSearch: checked });
|
|
26
|
-
props.api.optionsApi.getAdaptableOptions().quickSearchOptions.
|
|
26
|
+
props.api.optionsApi.getAdaptableOptions().quickSearchOptions.filterGridAfterQuickSearch =
|
|
27
27
|
checked;
|
|
28
28
|
};
|
|
29
29
|
return (React.createElement(PopupPanel, { headerText: props.moduleInfo.FriendlyName, glyphicon: props.moduleInfo.Glyph, infoLink: props.moduleInfo.HelpPage, infoLinkDisabled: !props.api.internalApi.isDocumentationLinksDisplayed() },
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { ExportDestinationType } from '../../../../AdaptableOptions/ExportOptions';
|
|
2
3
|
import { Report, ReportFormatType, ReportSchedule } from '../../../../PredefinedConfig/ExportState';
|
|
3
4
|
interface ReportScheduleProps {
|
|
4
5
|
report: ReportSchedule;
|
|
5
6
|
onChange: (reminder: ReportSchedule) => void;
|
|
6
7
|
allReports: Report[];
|
|
7
8
|
allFormats: ReportFormatType[];
|
|
9
|
+
allDestinations: ExportDestinationType[];
|
|
8
10
|
}
|
|
9
11
|
export declare const ScheduleSettingsReport: React.FunctionComponent<ReportScheduleProps>;
|
|
10
12
|
export {};
|
|
@@ -18,14 +18,24 @@ export const ScheduleSettingsReport = (props) => {
|
|
|
18
18
|
});
|
|
19
19
|
},
|
|
20
20
|
}));
|
|
21
|
+
const destinationOptions = props.allDestinations.map((destination) => ({
|
|
22
|
+
label: destination,
|
|
23
|
+
value: destination,
|
|
24
|
+
onClick: () => {
|
|
25
|
+
props.onChange({
|
|
26
|
+
...props.report,
|
|
27
|
+
ExportDestination: destination,
|
|
28
|
+
});
|
|
29
|
+
},
|
|
30
|
+
}));
|
|
21
31
|
return (React.createElement(Box, { "data-name": "schedule-settings-report" },
|
|
22
32
|
React.createElement(Tabs, { autoFocus: false, mb: 3 },
|
|
23
|
-
React.createElement(Tabs.Tab, null, "Report
|
|
33
|
+
React.createElement(Tabs.Tab, null, "Report Settings"),
|
|
24
34
|
React.createElement(Tabs.Content, null,
|
|
25
35
|
React.createElement(FormLayout, null,
|
|
26
36
|
React.createElement(FormRow, { label: "Export" },
|
|
27
37
|
React.createElement(Box, { maxWidth: 300 },
|
|
28
|
-
React.createElement(Select, { "data-name": "select-
|
|
38
|
+
React.createElement(Select, { "data-name": "select-report", options: reportOptions, value: props?.report?.ReportName, placeholder: "Select Export", onChange: (value) => props.onChange({
|
|
29
39
|
...props.report,
|
|
30
40
|
ReportName: value,
|
|
31
41
|
}) }))),
|
|
@@ -34,5 +44,11 @@ export const ScheduleSettingsReport = (props) => {
|
|
|
34
44
|
React.createElement(Select, { "data-name": "select-format", options: formatOptions, value: props?.report?.ReportFormat, placeholder: "Select Format", onChange: (value) => props.onChange({
|
|
35
45
|
...props.report,
|
|
36
46
|
ReportFormat: value,
|
|
47
|
+
}) }))),
|
|
48
|
+
React.createElement(FormRow, { label: "Destination" },
|
|
49
|
+
React.createElement(Box, { maxWidth: 300 },
|
|
50
|
+
React.createElement(Select, { "data-name": "select-destination", options: destinationOptions, value: props?.report?.ExportDestination, placeholder: "Select Format", onChange: (value) => props.onChange({
|
|
51
|
+
...props.report,
|
|
52
|
+
ExportDestination: value,
|
|
37
53
|
}) }))))))));
|
|
38
54
|
};
|
|
@@ -39,6 +39,10 @@ export const getScheduleSettingsValues = (data) => {
|
|
|
39
39
|
label: 'Report Format',
|
|
40
40
|
value: report?.ReportFormat || 'Not Specified',
|
|
41
41
|
},
|
|
42
|
+
{
|
|
43
|
+
label: 'Export Destination',
|
|
44
|
+
value: report?.ExportDestination || 'Download',
|
|
45
|
+
},
|
|
42
46
|
];
|
|
43
47
|
}
|
|
44
48
|
if (data.ScheduleType === ScheduleType.ipushpull) {
|
|
@@ -13,7 +13,8 @@ export const ScheduleSettingsWizard = (props) => {
|
|
|
13
13
|
}
|
|
14
14
|
if (data?.ScheduleType === ScheduleType.Report) {
|
|
15
15
|
const allFormats = api.exportApi.getAvailableSystemFormats();
|
|
16
|
-
|
|
16
|
+
const allDestinations = api.exportApi.getAllExportDestinations();
|
|
17
|
+
return (React.createElement(ScheduleSettingsReport, { allReports: allReports ?? [], allFormats: allFormats ?? [], allDestinations: allDestinations ?? [], report: data, onChange: props.onChange }));
|
|
17
18
|
}
|
|
18
19
|
if (data?.ScheduleType === ScheduleType.ipushpull) {
|
|
19
20
|
const ippApi = api.pluginsApi.getipushpullPluginApi();
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
+
import { useEffect } from 'react';
|
|
2
3
|
import { useDispatch, useSelector } from 'react-redux';
|
|
3
4
|
import { Flex } from 'rebass';
|
|
4
5
|
import { getStatusPanelsSelector } from '../../Redux/ActionsReducers/StatusBarRedux';
|
|
5
6
|
import { useAdaptable } from '../AdaptableContext';
|
|
6
7
|
import { StatusBarPanel } from './StatusBarPanel';
|
|
8
|
+
import { useRerender } from '../../components/utils/useRerender';
|
|
7
9
|
export const AdaptableStatusBar = (props) => {
|
|
8
|
-
/**
|
|
9
|
-
* All state is selected so the Status Bar is re-rendered for all adaptable state changes
|
|
10
|
-
*/
|
|
11
|
-
const state = useSelector((state) => state);
|
|
12
|
-
const statusPanels = getStatusPanelsSelector(state);
|
|
13
10
|
const adaptable = useAdaptable();
|
|
11
|
+
const rerender = useRerender();
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
return adaptable.api.eventApi.on('AdaptableStateChanged', rerender);
|
|
14
|
+
}, [adaptable]);
|
|
15
|
+
const statusPanels = useSelector(getStatusPanelsSelector);
|
|
14
16
|
const dispatch = useDispatch();
|
|
15
17
|
const statusSubPanels = statusPanels.find((statusPanel) => statusPanel.Key === props.context.Key);
|
|
16
18
|
const allMenuItems = useSelector((state) => state?.Internal?.SettingsPanelModuleEntries);
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { StyledColumn } from '../../../types';
|
|
3
|
-
export
|
|
2
|
+
import type { StyledColumn } from '../../../types';
|
|
3
|
+
export declare const StyledColumnSparklineSettingsSection: React.FC<{
|
|
4
4
|
onChange: (data: StyledColumn) => void;
|
|
5
|
-
}
|
|
6
|
-
export declare const StyledColumnSparklineSettingsSection: React.FunctionComponent<StyledColumnSparklineSettingsSectionProps>;
|
|
5
|
+
}>;
|