Так как Document Manager это комплексный виджет, он состоит из множества отдельных Webix компонентов со своим API. Эти компоненты можно переопределить или же работать с отдельными настройками менеджера.
Базовая конфигурация Document Manager такая же как и для File Manager.
Базовая конфигурация
const dm = webix.ui({
view: "docmanager",
id: "docmanager",
url: "https://docs.webix.com/docmanager-backend/",
locale: { lang: "ru" },
width: 700,
height: 450
});
У Document Manager есть реактивные свойства, как и у File Manager:
{ files: [{date: dateValue, id: "/Data.xlsx", size: 55215, type: "document", value: "Data.xlsx"}], mode: "copy"}
Для отображения первоначальных данных можно использовать только свойства path и mode.
Получить текущее состояние компонента можно с помощью метода getState():
webix.ui({
view:"docmanager",
id:"dm"
});
var state = $$("dm").getState();
/*
{
mode: "grid",
selectedItem: [],
search: "",
path: "/",
source: "files",
clipboard: {files: [{...}], mode: "copy"}
}
*/
Следить за изменениями реактивных свойств можно с помощью обработчика $observe:
webix.ui({
view: "docmanager",
url: "https://docs.webix.com/docmanager-backend/",
on: {
onInit: function(app) {
const state = app.getState();
// выводит текущий путь
state.$observe("path", v => $$("paths")
.setValue(`The current path is "${v}"`));
// выводит текущий source
state.$observe("source", v => $$("sources")
.setValue(`The current source is "${v}"`));
}
}
});
Related sample: Document Manager: Listening to State Changes
В примере выше, текущий state доступен через экземпляр JetApp, который, в свою очередь, доступен в обработчике onInit.
Наверх