copyTask()
Beschreibung
Kopiert eine Aufgabe in die Zwischenablage und fügt sie an der angegebenen Position ein
Info
Die Methode ermöglicht es, eine Aufgabe zu kopieren und einzufügen oder nur in die Zwischenablage zu kopieren.
Die Methode kopiert eine Aufgabe zusammen mit allen untergeordneten Aufgaben.
Verwendung
copyTask({
id: string | number,
join?: boolean, // false by default
parent?: string | number | null,
project?: string | number | null,
targetId?: string | number,
reverse?: boolean
}): void;
Parameter
id- (erforderlich) die ID einer Aufgabejoin- (optional) wenntrue, wird die angegebene Aufgabe zur Liste der zu kopierenden Aufgaben hinzugefügt; untergeordnete Aufgaben werden automatisch hinzugefügt. Wennfalse, werden alle vorherigen Kopien zurückgesetzt (d. h. es wird nur die zuletzt angegebene Aufgabe kopiert)
Info
Wenn Sie eine Aufgabe kopieren (und einfügen!) möchten, übergeben Sie der Methode die folgenden Parameter, um die neue Position der Aufgabe zu definieren:
parent- (optional) die ID der künftigen übergeordneten Aufgabeproject- (optional) die ID des Projekts, in das die Aufgabe eingefügt werden solltargetId- (optional) die ID der Zielaufgabe, an der die kopierte Aufgabe eingefügt wirdreverse- (optional) legt fest, wo die kopierte Aufgabe eingefügt wird: vor der Zielaufgabe (true) oder nach ihr (false standardmäßig)
Tipp
Eine Aufgabe kann innerhalb einer Operation nur einmal kopiert werden.
Beispiel
Beispiel 1. Eine Aufgabe kopieren
const { ToDo, Toolbar } = todo;
const list = new ToDo("#root", {
tasks: [
{ id: "1", text: "Task 1", project: "p_1"},
{ id: "1.1", text: "Task 1.1", parent: "1", project: "p_1" },
{ id: "2", text: "Task 2", project: "p_2" },
{ id: "2.1", text: "Task 2.1", parent: "2", project: "p_2" },
{ id: "2.1.1", text: "Task 2.1.1", parent: "2.1", project: "p_2" },
{ id: "2.1.2", text: "Task 2.1.2", parent: "2.1", project: "p_2" },
],
projects: [
{ "id": "p_1", "label": "Project 1" },
{ "id": "p_2", "label": "Project 2" },
]
});
const toolbar = new Toolbar("#toolbar", {
api: list.api,
});
// "Task 1.1" in "Project 2" kopieren und vor "Task 2.1.2" einfügen
list.copyTask({
id: "1.1",
project: "p_2",
parent: "2.1",
targetId: "2.1.2",
reverse: true
});
Beispiel 2. Mehrere Aufgaben kopieren
const list = new ToDo("#root", {
tasks: [
{ id: "1", text: "Task 1"},
{ id: "1.1", text: "Task 1.1", parent: "1" },
{ id: "2", text: "Task 2"},
{ id: "2.1", text: "Task 2.1", parent: "2" },
{ id: "2.1.1", text: "Task 2.1.1", parent: "2.1" },
{ id: "2.1.2", text: "Task 2.1.2", parent: "2.1" },
{ id: "3", text: "Task 3" },
],
selected: ["2", "3"]
});
// ausgewählte Aufgaben kopieren
list.eachSelected(id => {
list.copyTask({
id,
join: true,
});
}, true);
// kopierte Aufgaben einfügen
list.pasteTask({
targetId: "2",
});
// Aufgaben abwählen
list.unselectTask({ id: null });
Änderungsprotokoll: Der Parameter join wurde in v1.1 hinzugefügt
Verwandter Artikel: Operationen mit Aufgaben