import { Resource, extractUuidKind } from "models/resource";
import { getResource } from "store/resources/resources";
import { ResourcesState } from "store/resources/resources";
+import { MultiSelectMenuAction, MultiSelectMenuActionNames } from "views-components/multiselect-toolbar/ms-menu-action-set";
import { ContextMenuAction, ContextMenuActionSet } from "views-components/context-menu/context-menu-action-set";
-import { RestoreFromTrashIcon, TrashIcon } from "components/icon/icon";
-import { multiselectActionsFilters, TMultiselectActionsFilters, contextMenuActionConsts } from "./ms-toolbar-action-filters";
+import { multiselectActionsFilters, TMultiselectActionsFilters } from "./ms-toolbar-action-filters";
import { kindToActionSet, findActionByName } from "./ms-kind-action-differentiator";
import { msToggleTrashAction } from "views-components/multiselect-toolbar/ms-project-action-set";
import { copyToClipboardAction } from "store/open-in-new-tab/open-in-new-tab.actions";
>
{buttons.length ? (
buttons.map((btn, i) =>
- btn.name === "ToggleTrashAction" ? (
+ btn.defaultText ? (
<Tooltip
className={classes.button}
- title={currentPathIsTrash ? "Restore selected" : "Move to trash"}
+ title={!currentPathIsTrash ? btn.defaultText : btn.altText}
key={i}
disableFocusListener
>
<IconButton onClick={() => props.executeMulti(btn, checkedList, props.resources)}>
- {currentPathIsTrash ? <RestoreFromTrashIcon /> : <TrashIcon />}
+ {!currentPathIsTrash ? btn.icon({}) : btn.altIcon({})}
</IconButton>
</Tooltip>
) : (
key={i}
disableFocusListener
>
- <IconButton onClick={() => props.executeMulti(btn, checkedList, props.resources)}>
- {btn.icon ? btn.icon({}) : <></>}
- </IconButton>
+ <IconButton onClick={() => props.executeMulti(btn, checkedList, props.resources)}>{btn.icon ? btn.icon({}) : <></>}</IconButton>
</Tooltip>
)
)
)}
</Toolbar>
</React.Fragment>
- );
+ )
})
);
}
function selectActionsByKind(currentResourceKinds: Array<string>, filterSet: TMultiselectActionsFilters) {
- const rawResult: Set<ContextMenuAction> = new Set();
+ const rawResult: Set<MultiSelectMenuAction> = new Set();
const resultNames = new Set();
- const allFiltersArray: ContextMenuAction[][] = [];
+ const allFiltersArray: MultiSelectMenuAction[][] = []
currentResourceKinds.forEach(kind => {
if (filterSet[kind]) {
const actions = filterActions(...filterSet[kind]);
executeMulti: (selectedAction: ContextMenuAction, checkedList: TCheckedList, resources: ResourcesState): void => {
const kindGroups = groupByKind(checkedList, resources);
switch (selectedAction.name) {
- case contextMenuActionConsts.MOVE_TO:
- case contextMenuActionConsts.REMOVE:
+ case MultiSelectMenuActionNames.MOVE_TO:
+ case MultiSelectMenuActionNames.REMOVE:
const firstResource = getResource(selectedToArray(checkedList)[0])(resources) as ContainerRequestResource | Resource;
const action = findActionByName(selectedAction.name as string, kindToActionSet[firstResource.kind]);
if (action) action.execute(dispatch, kindGroups[firstResource.kind]);
break;
- case contextMenuActionConsts.COPY_TO_CLIPBOARD:
+ case MultiSelectMenuActionNames.COPY_TO_CLIPBOARD:
const selectedResources = selectedToArray(checkedList).map(uuid => getResource(uuid)(resources));
dispatch<any>(copyToClipboardAction(selectedResources));
break;