editorShape
Beschreibung
Optional. Ein Array von Objekten mit Einstellungen zur Verwaltung des Aussehens und der Funktionalität des Kanban-Editors
Verwendung
editorShape?: [
{
// allgemeine Parameter für alle Typen
type: string,
key: string,
label?: string,
// nur für den Typ "dateRange"
key: {
start: string,
end: string
},
config?: {
align?: "start" | "center" | "end",
editable?: boolean | function,
buttons?: boolean,
css?: string,
disabled?: boolean,
done?: boolean,
error?: boolean,
format?: string,
months?: number,
placeholder?: string,
title?: string,
width?: string
},
// nur für den Typ "date"
config?: {
align?: "start" | "center" | "end",
editable?: boolean | function,
buttons?: boolean,
css?: string,
disabled?: boolean,
error?: boolean,
format?: string,
placeholder?: string,
title?: string,
width?: string
},
// nur für den Typ "color"
values?: array,
config?: {
clear?: boolean,
disabled?: boolean,
error?: boolean,
placeholder?: string,
title?: string
},
// nur für die Typen "combo", "select" und "multiselect"
values?: [
{
id: string | number,
label: string,
avatar?: string // nur für den Typ "multiselect"
},
{...} // weitere Optionen
],
config?: {
clear?: boolean, // nur für die Typen "combo" und "color"
label?: string, // nur für den Typ "select"
checkboxes?: boolean, // nur für den Typ "multiselect"
// allgemeine Parameter
disabled?: boolean,
error?: boolean,
placeholder?: string,
textField?: string,
title?: string
},
// nur für den Typ "text"
config?: {
css?: string,
disabled?: boolean,
error?: boolean,
focus?: boolean,
icon?: string,
inputStyle?: string,
placeholder?: string,
readonly?: boolean,
select?: boolean,
title?: string,
type?: string
},
// nur für den Typ "textarea"
config? {
disabled?: boolean,
error?: boolean,
placeholder?: string,
title?: string,
readonly?: boolean
},
// nur für den Typ "progress"
config?: {
disabled?: boolean,
label?: string,
max?: number,
min?: number,
step?: number,
title?: string,
width?: number
},
// nur für den Typ "files"
uploadURL?: string | function,
config?: {
accept?: string,
disabled?: boolean,
multiple?: boolean,
folder?: boolean,
},
// nur für den Typ "comments"
config?: {
format?: string,
placement?: "page" | "editor",
html?: boolean,
confirmDeletion?: boolean
},
// nur für den Typ "links"
config?: {
confirmDeletion?: boolean
},
}, { /* weitere Steuerungseinstellungen */ }
];
Parameter
Um das Erscheinungsbild und die Funktionalität des Editors zu konfigurieren, können Sie die folgenden Parameter (Felder) angeben:
- Allgemeine Parameter für alle Typen
type- (erforderlich) ein Editor-Feldtyp
Im Kanban-Editor können Sie die folgenden Feldtypen verwenden: dateRange, date, combo, select, multiselect, color, text, textarea, progress, files, comments und links
key- (erforderlich) ein Schlüssel für das Editor-Feld. Hier müssen Sie den Wert verwenden, der in dercardShapeEigenschaft angegeben ist. Siehe folgendes Beispiel:
// Kartendarstellungseinstellungen
const cardShape = {
...kanban.defaultCardShape,
headerFields: [
{ // benutzerdefiniertes Feld
label: "Custom field",
css: "custom_style",
key: "custom_key"
}
]
};
// Editor-Darstellungseinstellungen
const editorShape = [
{
label: "Custom field",
type: "text",
key: "custom_key"
}
];
label- (optional) eine Beschriftung für das Editor-Feld
- Parameter für den Typ "dateRange"
key- (erforderlich) ein Objekt mit Schlüsseln für das Editor-Feld. Hier können Sie folgende Parameter angeben:start- (erforderlich) Schlüssel für das Startdatumend- (erforderlich) Schlüssel für das Enddatum
Die Werte dieser Schlüssel werden in der cardShape Eigenschaft verwendet!
config- (optional) ein Konfigurationsobjekt für das Feld "dateRange". Hier können Sie folgende Parameter angeben:align- (optional) legt die Ausrichtung des Popups mit Kalendern relativ zur Date Range-Steuerung festeditable- (optional) definiert, ob der Datumsauswahl-Dialog bearbeitbar ist und legt optional ein benutzerdefiniertes Format für die Datumsbearbeitung festbuttons- (optional) zeigt/versteckt die Schaltflächen Heute und Löschen im unteren Bereich des Popups mit Kalenderncss- (optional) ändert die Position des Symbols in der Date Range-Steuerungdisabled- (optional) definiert, ob die Date Range-Steuerung deaktiviert istdone- (optional) zeigt/versteckt die Schaltfläche Fertig in der Date Range-Steuerungerror- (optional) definiert, ob die Fehlerstilierung auf die Date Range-Steuerung angewandt wirdformat- (optional) legt das Datumsformat der Date Range-Steuerung fest. Verfügbare Parameter finden Sie hiermonths- (optional) legt die Anzahl der Kalender in der Date Range-Steuerung festplaceholder- (optional) setzt einen Platzhalter für die Date Range-Steuerungtitle- (optional) setzt einen Titel mit zusätzlichen Informationen zur Date Range-Steuerungwidth- (optional) legt die Breite des Popups mit Kalendern fest
- Parameter für den Typ "date"
config- (optional) ein Konfigurationsobjekt für das Feld "date". Hier können Sie folgende Parameter angeben:align- (optional) legt die Ausrichtung des Popups mit Kalendern relativ zur Date-Steuerung festeditable- (optional) definiert, ob der Datumsauswahl-Dialog bearbeitbar ist und legt optional ein benutzerdefiniertes Format für die Datumsbearbeitung festbuttons- (optional) zeigt/versteckt die Schaltflächen Heute und Löschen im unteren Bereich des Popups mit Kalenderncss- (optional) ändert die Position des Symbols in der Date-Steuerungdisabled- (optional) definiert, ob die Date-Steuerung deaktiviert isterror- (optional) definiert, ob die Fehlerstilierung auf die Date-Steuerung angewandt wirdformat- (optional) legt das Datumsformat der Date-Steuerung fest. Verfügbare Parameter finden Sie hierplaceholder- (optional) setzt einen Platzhalter für die Date-Steuerungtitle- (optional) setzt einen Titel mit zusätzlichen Informationen zur Date-Steuerungwidth- (optional) legt die Breite des Popups mit Kalendern fest
- Parameter für den Typ "color"
values- (optional) ein Array mit gültigen HEX-Farbwertenconfig- (optional) ein Konfigurationsobjekt für das Feld "color". Hier können Sie folgende Parameter angeben:placeholder- (optional) setzt einen Platzhalter für die Farbsteuerungclear- (optional) zeigt/versteckt ein "Löschen"-Symbol für die Farbsteuerungdisabled- (optional) definiert, ob die Farbsteuerung deaktiviert isterror- (optional) definiert, ob Fehlerstilierung auf die Farbsteuerung angewandt wirdtitle- (optional) setzt einen Titel mit zusätzlichen Informationen zur Farbsteuerung
- Parameter für die Typen "combo", "select" und "multiselect"
values- (optional) ein Array von Objekten mit den Dropdown-Optionen. Hier können Sie folgende Parameter angeben:id- (erforderlich) eine Options-IDlabel- (erforderlich) eine Optionsbeschriftungavatar- (optional) Pfad zum Vorschaubild der Option (nur für den Typ "multiselect")
Um eine Steuerung für die Zuweisung eines einzelnen Benutzers zu setzen, müssen Sie die Typen "select" oder "combo" verwenden! Für die Zuweisung mehrerer Benutzer verwenden Sie den Typ "multiselect".
config- (optional) ein Konfigurationsobjekt für die Felder "combo", "select" und "multiselect". Hier können Sie folgende Parameter angeben:-
clear- (optional) fügt die Löschen-Schaltfläche in ein Combo-Eingabefeld ein (nur für die Typen "combo" und "color") -
label- (optional) bindet Optionen an das Eingabefeld über den angegebenen Schlüssel (nur für den Typ "select") -
checkboxes- (optional) definiert, ob Optionen Kontrollkästchen neben sich haben (nur für den Typ "multiselect") -
textField- (optional) bindet Combo-Optionen an das Eingabefeld über den angegebenen Schlüssel (nur für die Typen "combo" und "multiselect") -
disabled- (optional) definiert, ob die Steuerung deaktiviert ist -
error- (optional) definiert, ob Fehlerstilierung auf die Steuerung angewandt wird -
placeholder- (optional) setzt einen Platzhalter für die Steuerung -
title- (optional) setzt einen Titel mit zusätzlichen Informationen zur Steuerung
-
- Parameter für den Typ "text"
config- (optional) ein Konfigurationsobjekt für das Feld "text". Hier können Sie folgende Parameter angeben:css- (optional) setzt die Position des Symbols in der Textsteuerungdisabled- (optional) definiert, ob die Textsteuerung deaktiviert isterror- (optional) definiert, ob Fehlerstilierung auf die Textsteuerung angewandt wirdfocus- (optional) setzt den Fokus in der Textsteuerungicon- (optional) fügt ein Symbol in die Textsteuerung eininputStyle- (optional) wendet einen benutzerdefinierten Stil auf die Textsteuerung anplaceholder- (optional) setzt einen Platzhalter für die Textsteuerungreadonly- (optional) definiert, ob die Textsteuerung schreibgeschützt istselect- (optional) wählt den Inhalt der Textsteuerung austitle- (optional) setzt einen Titel mit zusätzlichen Informationen zur Textsteuerungtype- (optional) legt den Typ der Textsteuerung fest
- Parameter für den Typ "textarea"
config- (optional) ein Konfigurationsobjekt für das Feld "textarea". Hier können Sie folgende Parameter angeben:disabled- (optional) definiert, ob die Textarea-Steuerung deaktiviert isterror- (optional) definiert, ob Fehlerstilierung auf die Textarea-Steuerung angewandt wirdplaceholder- (optional) setzt einen Platzhalter für die Textarea-Steuerungtitle- (optional) setzt einen Titel mit zusätzlichen Informationen zur Textsteuerungreadonly- (optional) definiert, ob die Textsteuerung schreibgeschützt ist
- Parameter für den Typ "progress"
config- (optional) ein Konfigurationsobjekt für das Feld "progress". Hier können Sie folgende Parameter angeben:disabled- (optional) definiert, ob die Fortschrittssteuerung deaktiviert istlabel- (optional) setzt eine Beschriftung über der Fortschrittssteuerungmax- (optional) legt den Maximalwert der Fortschrittssteuerung festmin- (optional) legt den Minimalwert der Fortschrittssteuerung feststep- (optional) legt den Sprung zwischen Werten der Fortschrittssteuerung festtitle- (optional) setzt einen Titel mit zusätzlichen Informationen zur Fortschrittssteuerungwidth- (optional) legt die Breite der Fortschrittssteuerung fest
- Parameter für den Typ "files"
uploadURL- (optional) eine URL für den Editor-Uploader. Details siehe unten
Details
Die Eigenschaft uploadURL kann als String oder Funktion angegeben werden. Das folgende Beispiel zeigt, wie man die Upload-URL über eine Funktion setzt:
uploadURL: rec => {
const formData = new FormData();
formData.append("upload", rec.file);
const config = {
method: "POST",
body: formData,
headers: {
'Authorization': 'Bearer ' + token // Token oder andere Header hier
}
};
return fetch(url + "/uploads", config) // URL hier
.then(res => res.json())
.then(
data => {
rec.id = data.id;
return data;
},
() => ({ id: rec.id, status: "error" })
)
.catch();
}
wobei rec der einzige Parameter der Funktion ist und ein erweitertes PointerEvent-Objekt (nativ plus 4 eigene Eigenschaften) darstellt:
interface UploadEvent extends PointerEvent {
id: number;
status: "client" | "server" | "error"; // bedeutet auf Deutsch "noch nicht gesendet", "erfolgreich gesendet", "Fehler, nicht gesendet"
name: string; // der Name der Datei
file: string | Blob; // die Datei
}
config- (optional) ein Konfigurationsobjekt für das Feld "files". Hier können Sie folgende Parameter angeben:accept- (optional) ein Dateityp, der hochgeladen werden darf ("image/*", "video/*", "audio/*" und andere)disabled- (optional) aktiviert/deaktiviert das Hochladen von Dateienmultiple- (optional) aktiviert/deaktiviert das Hochladen von mehreren Dateienfolder- (optional) aktiviert/deaktiviert das Hochladen von Ordnern
- Parameter für den Typ "comments"
config- (optional) ein Konfigurationsobjekt für das Feld "comments". Hier können Sie folgende Parameter angeben:format- (optional) - ein Datumsformat für Kommentare. Verfügbare Formate finden Sie hierplacement- (optional) - ein Ort, an dem Kommentare angezeigt werden. Diese Eigenschaft kann folgende Werte annehmen:"editor"- Kommentare werden im Editor angezeigt"page"- Kommentare werden in einem separaten Bereich angezeigt
html- (optional) - aktiviert/deaktiviert die Verwendung von HTML-Markup in KommentarenconfirmDeletion- (optional) zeigt/versteckt den Bestätigungsdialog, der Benutzern erlaubt, das Löschen eines Kommentars zu bestätigen oder abzulehnen
- Parameter für den Typ "links"
config- (optional) ein Konfigurationsobjekt für das Feld "links". Hier können Sie folgende Parameter angeben:confirmDeletion- (optional) zeigt/versteckt den Bestätigungsdialog, der Benutzern erlaubt, das Löschen eines Links zu bestätigen oder abzulehnen
Wenn Sie die Editor-Einstellungen nicht über die Eigenschaft editorShape angeben, verwendet das Widget einen Satz von Parametern namens defaultEditorShape!
Standardkonfiguration
const defaultPriorities = [
{ id: 1, color: "#FE6158", label: "Hoch" },
{ id: 2, color: "#F1B941", label: "Mittel" },
{ id: 3, color: "#77D257", label: "Niedrig" }
];
const defaultColors = ["#33B0B4", "#0096FA", "#F1B941"];
const defaultEditorShape = [
{
key: "label",
type: "text",
label: "Beschriftung"
},
{
key: "description",
type: "textarea",
label: "Beschreibung"
},
{
type: "combo",
label: "Priorität",
key: "priority",
config: {
clear: true
}
},
{
type: "color",
label: "Farbe",
key: "color"
},
{
type: "progress",
key: "progress",
label: "Fortschritt"
},
{
type: "date",
key: "start_date",
label: "Startdatum"
},
{
type: "date",
key: "end_date",
label: "Enddatum"
},
{
type: "multiselect",
key: "users",
label: "Benutzer"
}
];
Beispiel
const users = [ // Benutzerdaten
{ id: 1, label: "John Smith", avatar: "../assets/user.jpg" },
{ id: 2, label: "Aaron Short" }
];
const editorShape = [ // Editor-Einstellungen
...kanban.defaultEditorShape, // Standard-Einstellungen einbinden
{ // benutzerdefinierte Felder hinzufügen
type: "multiselect",
key: "users",
label: "Benutzer",
values: users
},
{
type: "comments",
key: "comments",
label: "Kommentare",
config: {
format: "%M %d",
placement: "page",
html: true,
confirmDeletion: true
}
},
{
type: "links",
key:"links",
label: "Links",
config: {
confirmDeletion: true
}
}
];
new kanban.Kanban("#root", {
cards,
columns,
editorShape,
// weitere Parameter
});
Änderungsprotokoll:
- Der Typ dateRange wurde in Version 1.3 hinzugefügt
- Die Typen comments und links für den Editor sowie der Parameter format wurden in Version 1.4 hinzugefügt
- Der Parameter clearButton wurde durch den Parameter clear ersetzt
Verwandte Artikel: Konfiguration