Meteor.js - Webix UI integration
This is work in progress on integrating Meteor.js, the best full-stack JavaScript framework (see why) and Webix, arguably the best UI widgets library (see an extensive comparison on StackOverflow).
Stay tuned by clicking Watch/Star on GitHub.
Webix standalone admin app demo
Meteor-Webix Demo
- CRUD example β’ source β’ Meteor DevShop talk
- Examples from the Webix team: Meteor-centrix example, Webix-centric example
Usage
Get started by adding the webix:webix
package and a skin. For example, to add the default skin:
meteor add webix:webix
meteor add webix:skin-flat
If you use Font Awesome icons, or have sortable tables or other UI components that need Font Awesome icons, install Font Awesome as well:
meteor add fortawesome:fontawesome
Use Meteor collections as usual and simply specify webix.proxy('meteor', Collection|Cursor)
for the
url
and save
properties of the component:
Movies = new Mongo.Collection('movies');
webix.ui({
view: 'datatable',
autoconfig: true,
editable: true,
url: webix.proxy('meteor', Movies.find()),
save: webix.proxy('meteor', Movies)
});
Learn more
- Webix Quickstart - interactive tutorial
- Getting started with Webix - documentation
- webix-meteor-data README - the Meteor - Webix adapter
- webix on GitHub
What works
- package tests (font loading via skins, visual check)
- load and save data to/from reactive DataTable, List, and other widgets backed by linear data structures
Needs testing
- paging
- dynamic data loading
- hierarchical widgets (Tree, TreeTable)
TODO
- clean up and merge the disparate Webix repos
- map nested objects onto Webix forms (#10)
- client-side error messages on failed server operations via Collection.deny
- review
- Webix wrapper for Meteor/Blaze reactive templates
- routing
- persist order of List/DataTable elements reordered via drag-and-drop (similar to rubaxa:sortable)
- reactive Multiview, similar to templates:tabs
Licensing
Meteor package author: Dan Dascalescu (@dandv)
Acknowledgments: the Webix team, and especially Maksim Kozhukh (@mkozhukh) - the developers of the webix-meteor-data adapter.
Webix is (C) 2013-2015 XB Software and is available under commercial and GPLv3 licenses. A license exemption for non-GPL software is being worked on.
This Webix package for Meteor is published under the MIT license.
The MIT License (MIT)
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.