getMenuOptions
Description
Returns the full default set of context-menu optionsUsage
getMenuOptions(config?: {
splitTasks?: boolean,
}): IOptionConfig[];
Parameters
config(optional) — an object with the next parameter:splitTasks—PRO featureenables menu items for splitting and segment editing
Returns
Returns an array of menu option items. Conditional blocks appear only when config.splitTasks is enabled. If no parameter is defined, only default config is returned.
[
{
id: "add-task",
text: "Add",
icon: "wxi-plus",
data: [
{ id: "add-task:child", text: "Child task" },
{ id: "add-task:before", text: "Task above" },
{ id: "add-task:after", text: "Task below" },
],
},
{ type: "separator" },
{
id: "convert-task",
text: "Convert to",
icon: "wxi-swap-horizontal",
dataFactory: type => ({
id: `convert-task:${type.id}`,
text: `${type.label}`,
}),
},
{
id: "edit-task",
text: "Edit",
icon: "wxi-edit",
},
// appears only if config.splitTasks is true
{
id: "split-task",
text: "Split",
icon: "wxi-arrow-split",
},
{
id: "edit",
text: "Edit",
icon: "wxi-edit",
data: [
{ id: "edit-task:task", text: "Task" },
{ id: "edit-task:segment", text: "Segment" }
]
},
// end
{ type: "separator" },
{ id: "cut-task", text: "Cut", icon: "wxi-content-cut", subtext: "Ctrl+X" },
{ id: "copy-task", text: "Copy", icon: "wxi-content-copy", subtext: "Ctrl+C" },
{ id: "paste-task", text: "Paste", icon: "wxi-content-paste", subtext: "Ctrl+V" },
{
id: "move-task",
text: "Move",
icon: "wxi-swap-vertical",
data: [
{ id: "move-task:up", text: "Up" },
{ id: "move-task:down", text: "Down" },
],
},
{ type: "separator" },
{ id: "indent-task:add", text: "Indent", icon: "wxi-indent" },
{ id: "indent-task:remove", text: "Outdent", icon: "wxi-unindent" },
{ type: "separator" },
{
id: "delete-task",
icon: "wxi-delete",
text: "Delete",
subtext: "Ctrl+D / BS",
},
// appears only if config.splitTasks is true
{
id: "delete",
icon: "wxi-delete",
text: "Delete",
data: [
{ id: "delete-task:task", text: "Task" },
{ id: "delete-task:segment", text: "Segment" }
]
}
// end
]
Example
<script>
import { Gantt, getMenuOptions } from "@svar-ui/svelte-gantt";
import { getData } from "../data";
const data = getData();
function init(api) {
const menu = getMenuOptions({
splitTasks: true
});
console.log("Menu options:", menu);
}
</script>
<Gantt
tasks={data.tasks}
links={data.links}
scales={data.scales}
{init}
/>
Related article: defaultMenuOptions