add-task
Description
Fires when adding a new taskUsage
"add-task": (ev: {
id?: string | number,
task: Partial<ITask>,
target?: string | number,
mode?: "before" | "after" | "child",
show?: "x" | "y" | "xy" | boolean
}) => boolean | void;
info
For handling the actions you can use the Event Bus methods
Parameters
The callback of the add-task action can take an object with the following parameters:
id
- (optional) the id of a new tasktarget
- (required) the task ID before or after which a new task will be addedtask
- (required) the task object. The list of parameters you can see here: tasks.mode
- (required) specifies where to place a task: before - before the task which id is specified, after it (after), or creates the child task for the target (child)show
– (optional) determines whether and how to scroll to the new task after creation:- "x" – scroll horizontally
- "y" – scroll vertically
- "xy" – scroll both axes
- true – scroll in both directions
- false – do not scroll
Example
Use the api.exec
method to trigger the action:
<script>
import { getData } from "./common/data";
import { Gantt, Toolbar } from "@svar-ui/svelte-gantt";
import { Button } from "@svar-ui/svelte-wx";
const data = getData();
let api;
function handleAdd() {
api.exec("add-task", { task: {} });
}
</script>
<Toolbar>
<Button type="primary" onclick={handleAdd}>Add task</Button>
</Toolbar>
<Gantt
tasks={data.tasks}
links={data.links}
scales={data.scales}
columns={data.columns}
{init}={api} />
In the example below we use the api.intercept()
method to change the task variable value replacing it with the relevant data from the add-task action:
<script>
import { getData } from "./common/data";
import { Gantt } from "@svar-ui/svelte-gantt";
const data = getData();
let task;
function init(api) {
api.intercept("add-task", data => {
task = data.task;
});
}
</script>
<Gantt
tasks={data.tasks}
{init} />
Related articles: How to access Gantt API