Вы можете использовать библиотеку Webix при разработке на Meteor.
Ресурсы для интеграции Webix и Meteor не входят в стандартный пакет библиотеки. Вы можете найти их в этом GitHub репозитории
meteor npm i --save webix
meteor npm i --save webix-meteor-data
Movies = new Mongo.Collection("movies");
Используйте meteor->{collection}
вместо пути к данным:
webix.ui({
view: "datatable",
editable: true, editaction: "dblclick",
autoconfig: true,
// загружаем данные из коллекции "movies"
url: "meteor->books",
// сохраняем данные в коллекцию "movies"
save: "meteor->books"
})
Если свойству url
задать коллекцию, то виджет сам загрузит данные и будет обновлять их при каждом изменении в коллекции.
Если свойству save
задать коллекцию, то виджет будет сохранять туда все изменения.
Вместо обычной ссылки, вы можете задать свойству url
специальный курсор либо коллекцию данных.
Movies = new Mongo.Collection("movies");
var cursor = Movies.find();
webix.ui({
view: "list",
url: webix.proxy("meteor", cursor)
});
Movies = new Mongo.Collection("movies");
webix.ui({
view: "list",
url: webix.proxy("meteor", Movies),
save: webix.proxy("meteor", Movies)
});
Movies = new Mongo.Collection("movies");
webix.ui({
view: "list",
url: webix.proxy("meteor", Movies.find()),
save: webix.proxy("meteor", Movies)
});
Метод load
позволяет загружать данные в компонент динамически.
$$("datatable").load("meteor->movies");
или
$$("datatable").load(webix.proxy("meteor", Movies.find()) );
У Webix компонентов есть метод sync
, который позволяет синхронизовать данные с другими компонентами (или коллекциями). Вы можете использовать его при работе с Meteor.
Movies = new Mongo.Collection("movies");
$$("details").sync($$("datatable"));
Наверх