Каждую карточку Kanban можно отредактировать в специальной форме. Открыть редактор можно двойным щелчком мыши по карточке или нажатием на иконку редактирования.
По умолчанию редактор неактивен, включить редактор можно задав свойство editor.
webix.ui({
view:"kanban",
cols:[
{ header:"Backlog", body:{ view:"kanbanlist", status:"new" } },
{ header:"In Progress", body:{ view:"kanbanlist", status:"work" } }
],
editor:true, data:[
{ id:1, status:"new", text:"Test new authentication service" },
{ id:2, status:"work", user_id: 5, text:"Performance tests" }
]
});
Состав контролов в редакторе по умолчанию:
Related sample: Default Editor
Добавление и удаление карточек также происходит с помощью редактора. Чтобы открыть редактор используйте метод showEditor:
{
view:"button", css:"webix_primary",
label:"Add new card", width:150,
click:() => {
$$("myBoard").showEditor();
}
}
Удалить карточку можно нажав на кнопку "Remove" в редакторе.
Related sample: Kanban: Adding New Items
Или с помощью контекстного меню:
Редактор Kanban позволяет прикреплять и просматривать вложенные файлы.
Вложенные данные хранятся в свойстве attachments элемента данных. Свойство attachments содержит путь к уже загруженным файлам, их размер и ID.
// элемент данных
{ "status":"new", "text":"Webix Jet tutorial", "attachments":[
{"id":8, "link":"/kanban/samples/server/attachments/image004.jpg", "size":84683}
]}
Чтобы показать файлы в редакторе Kanban, удалить или загрузить новые, необходимо указать URL для загрузки:
const apiRoot = "/kanban/samples/server";
webix.ui({
view:"kanban",
cols:[
{ header:"Backlog", body:{ view:"kanbanlist", status:"new" } },
{ header:"In Progress", body:{ view:"kanbanlist", status:"work" } }
],
url: apiRoot + "/tasks/cards",
save: "json->" + apiRoot + "/tasks/attachments",
attachments: apiRoot + "/attachments" });
Related sample: Kanban: Attachments to cards
Вы можете изменить редактор, переопределив его контролы в конфигурации Kanban. Укажите желаемый набор контролов в свойстве editor:
webix.ui({
view:"kanban",
cols:[
{ header:"Backlog", body:{ view:"kanbanlist", status:"new" } },
{ header:"In Progress", body:{ view:"kanbanlist", status:"work" } },
{ header:"Done", body:{ view:"kanbanlist", status:"done" } }
],
editor:[
{ view:"text", name:"text", label:"Task" },
{ view:"multicombo", name:"tags", label:"" },
{
view:"richselect", name:"user",
options:[
{ id:1, name:"China Mieville" },
{ id:2, name:"Helen Walsh" },
{ id:3, name:"Jeff Noon" }
]
}
],
data:[
{ id:1, status:"new", text:"Test new authentication service" },
{ id:2, status:"work", user_id: 5, text:"Performance tests" }
]
});
Имена (names) контролов должны совпадать с названиями свойств элементов данных Kanban.
Также вы можете задать редактор как объект формы с различными настройками конфигурации. Например, можно добавить валидацию, установив для формы правила валидации:
webix.ui({
view:"kanban",
editor:{
elements:[
{ view:"textarea", name:"text", label:"Task", height:90 },
{
margin:10,
cols:[
{ view:"multicombo", name:"tags", label:"Tags",
options:tags_set },
{ view:"combo", name:"user_id", label:"Assign to",
options:users_set }
]
}
],
rules:{
text: webix.rules.isNotEmpty,
user_id: webix.rules.isNotEmpty
}
},
data: full_task_set,
tags: tags_set,
users: users_set
});
Related sample: Custom Editor:: Validation
Наверх