make heads up quick action configurable

This commit is contained in:
Val Erastov 2018-11-30 00:08:01 -08:00
parent 084554b9e8
commit 15f890480f
4 changed files with 10 additions and 8 deletions

View file

@ -1,21 +1,21 @@
import React from 'react';
import {toIdAndOverrides} from '../../actions/actionRef';
import connect from 'ui/connect';
import Toolbar from 'ui/components/Toolbar';
import {ConnectedActionButton, ToolbarActionButtons} from './PlugableToolbar';
import ls from './HeadsUpToolbar.less';
import {combine} from '../../../../../modules/lstream';
export const HeadsUpToolbar = connect(streams => streams.ui.toolbars.headsUp.map(actions => ({actions})))(
function HeadsUpToolbar({actions}) {
export const HeadsUpToolbar = connect(streams => combine(
streams.ui.toolbars.headsUp,
streams.ui.toolbars.headsUpQuickActions).map(([actions, quickActions]) => ({actions, quickActions})))(
function HeadsUpToolbar({actions, quickActions}) {
return <Toolbar flat>
<div className={ls.mainActions}>
<ToolbarActionButtons actions={actions} />
</div>
<div className={ls.quickButtons}>
<ConnectedActionButton size='small' actionId='Save' />
<ConnectedActionButton size='small' actionId='StlExport' />
{quickActions.map(actionId => <ConnectedActionButton size='small' key={actionId} actionId={actionId} />)}
</div>
</Toolbar>
}

View file

@ -18,9 +18,9 @@ function ConfigurableToolbar({actions, size, ...props}) {
}
export function ToolbarActionButtons({actions, size}) {
return actions.map(actionRef => {
return actions.map((actionRef, i) => {
if (actionRef === '-') {
return <ToolbarSplitter />;
return <ToolbarSplitter key={'ToolbarSplitter' + i}/>;
}
let [id, overrides] = toIdAndOverrides(actionRef);
return <ConnectedActionButton actionId={id} key={id} size={size} {...overrides} />

View file

@ -9,6 +9,7 @@ export function defineStreams({streams}) {
},
toolbars: {
headsUp: state([]),
headsUpQuickActions: state([]),
sketcherGeneral: state([]),
sketcherConstraints: state([]),
sketcherControl: state([]),

View file

@ -16,6 +16,7 @@ export function activate({services, streams}) {
];
streams.ui.toolbars.headsUp.value = ['PLANE', 'EditFace', 'EXTRUDE', 'CUT', 'REVOLVE', '-', 'FILLET', '-', 'INTERSECTION', 'SUBTRACT', 'UNION'];
streams.ui.toolbars.headsUpQuickActions.value = ['Save', 'StlExport'];
services.action.registerActions(CoreActions);
services.action.registerActions(OperationActions);