A pack of pre-built Netzke components that can be used as building blocks for your webapps.
Notes on versioning:
- is the latest released version
- for the version under development (master), check version.rb
- for other versions, check corresponding branches
Basepack includes the following components:
- Grid - a grid panel with a thick bag of features
- Tree - a tree panel with features similar to the Grid
- Form - a form panel with automatic binding of fields
- TabPanel - a tab panel with support for lazy loading of nested components
- Accordion - an accordion panel with support for lazy loading of nested components
- Window - a window which stores its size, position, and maximized state
Besides, Basepack implements:
- persistence of region sizes and collapsed states of an arbitrary component that uses border layout (see ItemPersistence)
- GridLiveSearch - a plugin that allows enhancing any grid with live search functionality
- Ruby > 1.9.3
- Rails ~> 4.2.0
- Ext JS = 5.1.0
In your Gemfile:
gem 'netzke-basepack'
For the "edge" stuff, instruct bundler to get the gem straight from GitHub:
gem 'netzke-basepack', github: "netzke/netzke-basepack"
Embed a basepack component into a view as any other Netzke component, e.g.:
<%= netzke :books, class_name: 'Netzke::Basepack::Grid', model: 'Book' %>
For more examples, see http://netzke-demo.herokuapp.com (source code), and look
into spec/rails_app
.
Before running the tests, you must link your Ext JS library to spec/rails_app/public
, e.g. (from the gems's root):
$ ln -s PATH/TO/YOUR/EXTJS/FILES spec/rails_app/public/extjs
The bundled spec/rails_app
application used for automated testing can be easily run as a stand-alone Rails app. It's a
good source of concise, focused examples. After starting the application, access any of the test components (located in
app/components
) by using the following url:
http://localhost:3000/netzke/components/{name of the component's class}
For example http://localhost:3000/netzke/components/BookGrid
To run all the tests (from the gem's root):
$ rake
Sourcing Ext JS files from Sencha CDN is broken in Basepack at the moment.
Using ActiveRecord as its default ORM, Basepack is designed to be extendable with data adapters for other ORMs. If
you're thinking about implementing an adapter, AbstractAdapter
and ActiveRecordAdapter
classes can be used as a
reference.
There's some work being done in the direction of implementing DataMapper and Sequel adapters, but at this moment the code is broken.
Netzke Basepack can make use of FamFamFam Silk icon set (http://www.famfamfam.com/archive/silk-icons-thats-your-lot/).
To enable this, download the icons and put the "icons" folder into your app's public/images
folder. Then restart your
application.
Help developing Netzke by submitting a pull request when you think others can benefit from it.
If you feel particularily generous, you can donate a couple of bucks weekly at Gratipay.
- Project website
- Live-demo
- Twitter - latest news about the framework
Copyright (c) 2008-2015 Max Gorin, released under the MIT license (see LICENSE).
Note that Ext JS is licensed differently, and you may need to purchase a commercial license in order to use it in your projects.