best_in_place 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +10 -5
- data/lib/best_in_place.rb +3 -3
- data/lib/best_in_place/version.rb +1 -1
- data/public/javascripts/best_in_place.js +1 -1
- metadata +4 -4
data/README.md
CHANGED
@@ -27,13 +27,16 @@ The editor works by PUTting the updated value to the server and GETting the upda
|
|
27
27
|
|
28
28
|
##Usage of Rails 3 Gem
|
29
29
|
|
30
|
-
**best_in_place Object, Field, [formType, [
|
30
|
+
**best_in_place Object, Field, [formType, [selectValues, [urlObject, [nilValue]]]]**
|
31
31
|
|
32
|
-
The
|
33
|
-
You can add the formType [:input, :textarea, :select, :checkbox] or it defaults to :input. In case you chose
|
34
|
-
collection of values it
|
32
|
+
The *Object* parameter represents the object itself you are about to modify. The *field* (passed as symbol) is the attribute of the Object
|
33
|
+
you are going to display/edit. You can add the *formType* [:input, :textarea, :select, :checkbox] or it defaults to :input. In case you chose
|
34
|
+
:select, you must specify the collection of values it takes through the *selectValues* param. In case you use :checkbox, you can user the parameter
|
35
|
+
selectValues to specify the two possible boolean values. If the Object url cannot be obtained directly from the Object, you can pass the parameter
|
36
|
+
*urlObject* the same way you pass any url in Rails. The last parameter *nilValue* allows you to customize the null value, in case the user deletes
|
37
|
+
the contents. By default it will display *"-"*.
|
35
38
|
|
36
|
-
|
39
|
+
I created a [test_app](https://github.com/bernat/best_in_place/tree/master/test_app) and a running demo in heroku to test the features.
|
37
40
|
|
38
41
|
Examples (code placed in the views):
|
39
42
|
|
@@ -41,6 +44,8 @@ Examples (code placed in the views):
|
|
41
44
|
|
42
45
|
<%= best_in_place @user, :name, :input %>
|
43
46
|
|
47
|
+
<%= best_in_place @user, :name, :input, nil, nil, "Click me to add content!" %>
|
48
|
+
|
44
49
|
### Textarea
|
45
50
|
|
46
51
|
<%= best_in_place @user, :description, :textarea %>
|
data/lib/best_in_place.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
module BestInPlace
|
2
2
|
module BestInPlaceHelpers
|
3
|
-
def best_in_place(object, field, formType = :input, selectValues = [])
|
3
|
+
def best_in_place(object, field, formType = :input, selectValues = [], urlObject = nil, nilValue = "-")
|
4
4
|
field = field.to_s
|
5
|
-
value = object.send(field).blank? ?
|
5
|
+
value = object.send(field).blank? ? nilValue.to_s : object.send(field)
|
6
6
|
if formType == :select && !selectValues.blank?
|
7
7
|
value = Hash[selectValues][object.send(field)]
|
8
8
|
selectValues = selectValues.to_json
|
@@ -17,7 +17,7 @@ module BestInPlace
|
|
17
17
|
end
|
18
18
|
out = "<span class='best_in_place'"
|
19
19
|
out += " id='best_in_place_" + object.class.to_s.underscore + "_" + field.to_s + "'"
|
20
|
-
out += " data-url='" + url_for(object).to_s + "'"
|
20
|
+
out += " data-url='" + (urlObject.blank? ? url_for(object).to_s : url_for(urlObject)) + "'"
|
21
21
|
out += " data-object='" + object.class.to_s.underscore + "'"
|
22
22
|
out += " data-selectValues='" + selectValues + "'" if !selectValues.blank?
|
23
23
|
out += " data-attribute='" + field + "'"
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: best_in_place
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 4
|
10
|
+
version: 0.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Bernat Farrero
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-01-
|
18
|
+
date: 2011-01-24 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|