ohif-viewer/platform/core/src/ToolBarManager.js

48 lines
1.1 KiB
JavaScript
Raw Normal View History

export default class toolBarManager {
2020-05-13 12:29:20 +02:00
constructor(extensionManager, setToolBarLayout) {
this.buttons = {};
this.extensionManager = extensionManager;
2020-05-13 13:00:23 +02:00
this.viewModelContextSetToolBarLayout = setToolBarLayout;
}
addButtons(buttons) {
buttons.forEach(button => {
const buttonDefinition = this.extensionManager.getModuleEntry(
button.namespace
);
const id = button.id || buttonDefinition.id;
this.buttons[id] = buttonDefinition;
});
}
setToolBarLayout(layouts) {
const toolBarLayout = [];
2020-05-13 13:00:23 +02:00
layouts.forEach(layout => {
const toolBarDefinitions = { tools: [], moreTools: [] };
2020-05-13 13:00:23 +02:00
const { tools, moreTools } = layout;
2020-05-13 13:00:23 +02:00
tools &&
tools.forEach(element => {
const button = this.buttons[element];
2020-05-13 13:00:23 +02:00
toolBarDefinitions.tools.push(button);
});
2020-05-13 13:00:23 +02:00
moreTools &&
moreTools.forEach(element => {
const button = this.buttons[element];
2020-05-13 13:00:23 +02:00
toolBarDefinitions.moreTools.push(button);
});
toolBarLayout.push(toolBarDefinitions);
});
2020-05-13 13:00:23 +02:00
this.viewModelContextSetToolBarLayout(toolBarLayout);
}
}