Skip to content

Rails plugin which provides a small set of useful input widgets that directly bind to your data tables or fields. They help eliminate the need of “submit” button, which will simplify your UI, especially for configuration pages such as admin page, etc. Quidgets use best with ActiveScaffold.

License

Notifications You must be signed in to change notification settings

gnagno/quidgets2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quidgets

A collection of helper widgets that directly bind to your database structure. It's extremely simple to use.

HOW TO INSTALL

  • Install plugin from git:

    rails plugin install git://github.com/gnagno/quidgets2.git

  • modify your application.html.erb, replace in the tag the include javascript directive with:

    <%= javascript_include_tag 'jquery-1.5.1.min.js' %> <%= javascript_include_tag ph_quidgets_jquery_path %>

Example

Generate two example models:

rails g model user name:string description:text active:boolean role_id:integer


rails g model role name:string

Models associations:

  • user.rb

    belongs_to :role

  • role.rb

    has_many :users

Generate a test controller and action

rails g controller test index

In your index action create some test objects and pass them to the view:

if( User.count == 0 )
  User.create!(:name => "Ignazio", :active => true, :description => "my test user") 
end

if(Role.count == 0)
  Role.create!(:name => "Manager")
  Role.create!(:name => "Administrator")
  Role.create!(:name => "Programmer")
end
  
@user   = User.first
@roles  = Role.all

Finally let's add some widgets to our test view:

<h1>Index#index</h1>

<h2>Testing checkbox</h2>

<%= label_tag( "active_check_#{@user.id}", "User active") %>
<%= raw checkbox( @user,"active",{:id => "active_check_#{@user.id}", :name => 'test', :class=>'hello'}) %>

<hr />

<h2>Testing radio</h2>

<%= raw radio_group(@user,Role.all, :id, :name, {:name => "role_group_#{@user.id}"}) %>

<hr />

<h2>Testing textbox</h2>

<%= raw text_box(@user, "name", {:id => "user_textbox_#{@user.id}"})%>

<hr />

<h2>Testing listbox</h2>

<hr />

<h2>Testing dropbox</h2>

<%= raw dropbox(@user, :role_id, Role.all, :id, :name, {:id => "role_#{@user.id}"}) %>

Launch the server, visit http://localhost:3000/test/index and have fun :)

Supported widgets

  • CHECKBOX: checkbox(object,method,html_options = {})
    Ex: <%= raw checkbox( @user,"active",{:id => "active_check_#{@user.id}", :name => 'test', :class=>'hello'}) %>

  • RADIO BUTTON: radio(object,choice,html_options = {}) Ex:

    <%= raw radio_group(@user,Role.all, :id, :name, {:name => "role_group_#{@user.id}"}) %>

  • TEXTBOX:

    <%= raw text_box(@user, "name", {:id => "user_textbox_#{@user.id}"})%>

  • LISTBOX: (in progress)

  • DROPBOX: dropbox(instance,choices,html_options = {}) EX: <%= dropbox(user,Role.all,{:id => "role_#{user.id}"}) %>

  • listbox_dragdrop(params) # Coming soon

Copyright (c) 2010 Quidgets, released under the MIT license

About

Rails plugin which provides a small set of useful input widgets that directly bind to your data tables or fields. They help eliminate the need of “submit” button, which will simplify your UI, especially for configuration pages such as admin page, etc. Quidgets use best with ActiveScaffold.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages