Skip to main content

getMenuOptions

Description

Returns the full default set of context-menu options

Usage

getMenuOptions(config?: {
splitTasks?: boolean,
}): IOptionConfig[];

Parameters

  • config (optional) — an object with the next parameter:
    • splitTasks — enables menu items for splitting and segment editing | PRO feature

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