Так как File Manager это комплексный виджет, он состоит из множества отдельных Webix views со своим API.
Эти views можно переопределить или же работать с отдельными настройками менеджера.
Чтобы настроить общую конфигурацию виджета, используйте следующие настройки:
Кроме базовых свойств, у File Manager есть реактивные, которые хранят состояние приложения и позволяют разработчикам отслеживать его изменения:
{ files:[{id: "/hello.txt", size: 0, type: "code", value: "hello.txt"}], mode:"copy" }
.Для отображения первоначальных данных можно использовать только свойства path и mode.
Получить текущее состояние компонента можно с помощью метода getState():
webix.ui({
view:"filemanager", id:"fm",
mode:"cards"
});
var state = $$("fm").getState();
/*
{
mode:"cards", path:"/Docs/Test files",
selectedItem:[ ], search:"", clipboard: {files: [{...}], mode: "copy"}
}
*/
Следить за изменениями реактивных свойств можно с помощью обработчика $observe:
webix.ui({
view:"filemanager",
on: {
onInit: app => {
const state = app.getState();
//лог path и selectedItem
state.$observe("path", v => $$("path").setValue(v));
state.$observe("selectedItem", v =>
$$("files").setValue(v.map(a => a.id).join(", "))
);
},
}
});
Related sample: File Manager: Listening to State Changes
В примере выше, текущий state доступен через экземпляр JetApp, который, в свою очередь, доступен в обработчике onInit.
Наверх