Skip to content

dandv/meteor-webix

Repository files navigation

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

Webix admin app demo screenshot

Meteor-Webix Demo

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

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.

Releases

No releases published

Packages

No packages published