numerous 0.0.1 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 81cd7af81cd06630de6c5c5977a968826255a02c
4
- data.tar.gz: 22d6039e73429dabfe34569d7f5abf899e51cd37
3
+ metadata.gz: 3e171328d544adba51ab1f9e6b751750fc6de531
4
+ data.tar.gz: 094e754f7254e0363d46495951010634f59a4872
5
5
  SHA512:
6
- metadata.gz: 4718911d49efb631de58edaaa5ead5ea6d3f1496cefdf991926a3c942d001447af1c7dbd102424ded5b49c2fbdcedd22e0233279b3208dd9f9d8fb18330263d7
7
- data.tar.gz: 3c2fe0669927189d31fc6faef9d23f708083620388eff504f6e8d5156aa2a14fee5795e61ddc7d5a96b4f766d747a6000d4b7d82dfe12beafee210635b14fbda
6
+ metadata.gz: 910b9271a851ccf48c4e126a43b36da506adf3f7245458a4407dd9061a803c1d9a73317041657729d6db2c602526a2721b513da129d137eb083ce2d00ab19325
7
+ data.tar.gz: 717c11e534d8fcd6bcfd022dc0226013d6b30cac3ce2029cd40758177b36d4ae2ef801fe4bc888c02a7da8438d71267faf0758b67aed127cf786cd0dcd5e304a
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Numerous
2
2
 
3
- TODO: Write a gem description
3
+ Gem for numerous plugin
4
+ * Source code available here: https://github.com/kbparagua/numerous.js
5
+ * Live demo available here: http://numerous-js.herokuapp.com/
4
6
 
5
7
  ## Installation
6
8
 
@@ -18,12 +20,140 @@ Or install it yourself as:
18
20
 
19
21
  ## Usage
20
22
 
21
- TODO: Write usage instructions here
23
+ ### JS
22
24
 
23
- ## Contributing
25
+ In your application.js: `//= require numerous`
24
26
 
25
- 1. Fork it ( https://github.com/[my-github-username]/numerous/fork )
26
- 2. Create your feature branch (`git checkout -b my-new-feature`)
27
- 3. Commit your changes (`git commit -am 'Add some feature'`)
28
- 4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create a new Pull Request
27
+
28
+ ## Quick Start
29
+
30
+ 1. Create an element where the new forms will be appended.
31
+
32
+ <div id="list"></div>
33
+
34
+
35
+ 2. Create a `fields_for` template to be used when adding a new object.
36
+
37
+ <div id="fields-for-list" class="numerous">
38
+
39
+ <%= form.fields_for :objects, Object.new, :child_index => 'replace_this' do |f| %>
40
+ <%= f.text_field :object_field %>
41
+ <%= f.text_field :another_object_field %>
42
+ ...
43
+ <%= link_to 'Remove', '#', :class => 'numerous-remove' %>
44
+ </div>
45
+
46
+
47
+ 3. Create a link for adding new objects.
48
+
49
+ <%= link_to 'Add Object', '#', :id => 'add-to-list' %>
50
+
51
+
52
+
53
+ 4. Call `Numerous.init()` when the document is ready:
54
+
55
+ $(document).ready(function(){
56
+ Numerous.init();
57
+ });
58
+
59
+
60
+
61
+ ## Naming Conventions
62
+
63
+ 1. The whole `fields_for` section must be under a div like this:
64
+
65
+ <div id="fields-for-[list id]" class="numerous">
66
+
67
+ 2. `fields_for` objects must have 'replace_this' as the `:child_index` value.
68
+
69
+ <%= form.fields_for :objects, Object.new, :child_index => 'replace_this' do |f| %>
70
+
71
+
72
+ 3. Put a `numerous-remove` link if you want the ability to delete objects.
73
+
74
+ <%= link_to 'Remove', '#', :class => 'numerous-remove' %>
75
+
76
+
77
+ Set `:allow_destroy => true` to the parent model if you want this functionality.
78
+
79
+ class Parent < ActiveRecord::Base
80
+ has_many :lists
81
+ accepts_nested_attributes_for :lists, :allow_destroy => true
82
+ end
83
+
84
+
85
+ 4. The add link must follow this id template:
86
+
87
+ <%= link_to 'Add Object', '#', :id => 'add-to-[list id]' %>
88
+
89
+
90
+ ## Callbacks
91
+ You can add callbacks which will be called after adding or removing a `fields_for` instance.
92
+
93
+ Numerous.init({
94
+ 'list-name' : {
95
+ 'add' : function(form){
96
+ alert("I'm adding another fields_for instance!");
97
+ // do something here
98
+ },
99
+
100
+ 'remove' : function(form){
101
+ alert("I'm removing a fields_for instance!");
102
+ // do something here
103
+ }
104
+ }
105
+ });
106
+
107
+ The `add` and `remove` callbacks take 1 parameter which is the `fields_for` element that is added or removed.
108
+
109
+
110
+ ## Updating Objects
111
+ By default numerous.js is adding `fields-for-[list id]` class to all `fields_for` instance you've added.
112
+ If you want to be able to remove existing objects, put the `fields_for` under a `fields-for-[list id]` div.
113
+
114
+ <% parent.lists.each do |list| %>
115
+ <div class='fields-for-list'>
116
+ <%= form.fields_for :list, list do |f| %>
117
+ <%= f.text_field :object_field %>
118
+ <%= f.text_field :another_object_field %>
119
+ ...
120
+ <%= link_to 'Remove', '#', :class => 'numerous-remove' %>
121
+ <% end %>
122
+ </div>
123
+ <% end %>
124
+
125
+ ## Initialization Options
126
+
127
+ `add : function()`
128
+ - A callback that will be called every time a new object is added.
129
+
130
+ `remove : function()`
131
+ - A callback that will be called every time an object is removed.
132
+
133
+ `initial : number | function()`
134
+ - An integer or a funtion that returns an integer.
135
+ - The list will initially have this number of object.
136
+ - defaults to 0.
137
+
138
+ `after-initialize : function()`
139
+ - A callback that will be called after initializing the list.
140
+
141
+
142
+ ## Helper Methods
143
+
144
+ `Numerous.count(String list)`
145
+ - returns the current count (Number) of the visible objects under the passed list
146
+
147
+
148
+ `Numerous.get(String list)`
149
+ - returns all the objects (HTML Elements) under the passed list
150
+
151
+
152
+ `Numerous.removeAll(String list)`
153
+ - triggers the remove link of all the list objects
154
+
155
+ ## Credits
156
+
157
+ Karl Bryan P. Paragua
158
+
159
+ www.daftcoder.com
@@ -1,3 +1,3 @@
1
1
  module Numerous
2
- VERSION = "0.0.1"
2
+ VERSION = '1.0.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: numerous
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoffrey Hervet
@@ -58,7 +58,7 @@ files:
58
58
  - lib/numerous.rb
59
59
  - lib/numerous/version.rb
60
60
  - numerous.gemspec
61
- - vendor/assets/javascripts/numerous.js
61
+ - vendor/assets/javascripts/numerous/numerous.js
62
62
  homepage: https://github.com/kbparagua/numerous.js
63
63
  licenses:
64
64
  - MIT