import { RootState } from 'store/store';
import { Dispatch } from 'redux';
import { TCheckedList } from 'components/data-table/data-table';
-import { openRemoveProcessDialog, openRemoveManyProcessesDialog } from 'store/processes/processes-actions';
-import { processResourceActionSet } from '../../views-components/context-menu/action-sets/process-resource-action-set';
import { ContextMenuResource } from 'store/context-menu/context-menu-actions';
import { Resource, extractUuidKind } from 'models/resource';
-import { openMoveProcessDialog } from 'store/processes/process-move-actions';
-import { openCopyProcessDialog, openCopyManyProcessesDialog } from 'store/processes/process-copy-actions';
import { getResource } from 'store/resources/resources';
import { ResourcesState } from 'store/resources/resources';
-import { getProcess } from 'store/processes/process';
-import { CopyProcessDialog, CopyManyProcessesDialog } from 'views-components/dialog-forms/copy-process-dialog';
-import { collectionActionSet } from 'views-components/context-menu/action-sets/collection-action-set';
import { ContextMenuAction, ContextMenuActionSet } from 'views-components/context-menu/context-menu-action-set';
-import { TrashIcon } from 'components/icon/icon';
-import { multiselectActionsFilters, TMultiselectActionsFilters, contextMenuActionConsts } from './ms-toolbar-action-filters';
+import { RestoreFromTrashIcon, TrashIcon } from 'components/icon/icon';
+import { multiselectActionsFilters, TMultiselectActionsFilters } from './ms-toolbar-action-filters';
import { kindToActionSet, findActionByName } from './ms-kind-action-differentiator';
+import { toggleTrashAction } from 'views-components/context-menu/action-sets/project-action-set';
type CssRules = 'root' | 'button';
margin: '1rem auto auto 0.5rem',
overflow: 'hidden',
transition: 'width 150ms',
- borderBottom: '1px solid gray',
+ // borderBottom: '1px solid gray',
},
button: {
width: '1rem',
const { classes, checkedList } = props;
const currentResourceKinds = Array.from(selectedToKindSet(checkedList));
- const buttons = selectActionsByKind(currentResourceKinds, multiselectActionsFilters);
+ const currentPathIsTrash = window.location.pathname === '/trash';
+ const buttons =
+ currentPathIsTrash && selectedToKindSet(checkedList).size
+ ? [toggleTrashAction]
+ : selectActionsByKind(currentResourceKinds, multiselectActionsFilters);
return (
<Toolbar className={classes.root} style={{ width: `${buttons.length * 2.12}rem` }}>
{buttons.length ? (
buttons.map((btn, i) =>
btn.name === 'ToggleTrashAction' ? (
- <Tooltip className={classes.button} title={'Move to trash'} key={i} disableFocusListener>
+ <Tooltip className={classes.button} title={currentPathIsTrash ? 'Restore' : 'Move to trash'} key={i} disableFocusListener>
<IconButton onClick={() => props.executeMulti(btn, checkedList, props.resources)}>
- <TrashIcon />
+ {currentPathIsTrash ? <RestoreFromTrashIcon /> : <TrashIcon />}
</IconButton>
</Tooltip>
) : (
function mapDispatchToProps(dispatch: Dispatch) {
return {
- executeMulti: (selectedAction: ContextMenuAction, checkedList: TCheckedList, resources: ResourcesState) => {
+ executeMulti: (selectedAction: ContextMenuAction, checkedList: TCheckedList, resources: ResourcesState): void => {
const kindGroups = groupByKind(checkedList, resources);
for (const kind in kindGroups) {
const actionSet = kindToActionSet[kind];