x-editable-rails 1.5.5 → 1.5.5.1
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fee9739c77324495b6e7a6227d85fdb2f77c972b
|
4
|
+
data.tar.gz: fd6565d1908e346778674f1f42f95f235c335f01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5d3c95a332e7da5252af57f86fb0ae39d171566d7f616b09f9d691073fbd1051e64b53e35ff9f13dbd124f57b55901e2a2cbc3295451749f1a2997627b55ff05
|
7
|
+
data.tar.gz: d43ebe0f3957a31e1c8c6476494f869f37bd456af8878d4993363130de8b41795df1dd9012ed1948e32c1ba74fdad34af06085062a03a4e46368d0b703a6740a
|
data/README.md
CHANGED
@@ -4,6 +4,10 @@
|
|
4
4
|
|
5
5
|
X-editable for Rails
|
6
6
|
|
7
|
+
## Live demo
|
8
|
+
|
9
|
+
Checkout live demo [here](https://x-editable-rails.herokuapp.com/?denied=true)
|
10
|
+
|
7
11
|
## Installation
|
8
12
|
|
9
13
|
Add this line to your application's Gemfile:
|
@@ -77,8 +81,8 @@ And related stylesheets:
|
|
77
81
|
|
78
82
|
### Making Things Editable
|
79
83
|
|
80
|
-
`x-editable-rails` provides a helper method in your view to make your model values editable.
|
81
|
-
By default, you need to specify the model and property that should be editable.
|
84
|
+
`x-editable-rails` provides a helper method in your view to make your model values editable.
|
85
|
+
By default, you need to specify the model and property that should be editable.
|
82
86
|
A `span` element is rendered with `data-*` attributes used by `x-editable`.
|
83
87
|
|
84
88
|
```ruby
|
@@ -154,14 +158,14 @@ end
|
|
154
158
|
|
155
159
|
### "Don't Repeat Yourself" Templates
|
156
160
|
|
157
|
-
To make your views cleaner, you can specify all your options for each class and attribute in a YAML configuration file.
|
161
|
+
To make your views cleaner, you can specify all your options for each class and attribute in a YAML configuration file.
|
158
162
|
Attributes where the `title` or `placeholder` are not different except maybe capitalized can be left out because they are automatically capitalized when rendered (see above).
|
159
163
|
|
160
|
-
This example uses the `MailingList` class and its attributes.
|
161
|
-
The attribute value can be a string, which is used as the `title` and `placeholder`.
|
164
|
+
This example uses the `MailingList` class and its attributes.
|
165
|
+
The attribute value can be a string, which is used as the `title` and `placeholder`.
|
162
166
|
If you want to specify other options, create a hash of options.
|
163
167
|
|
164
|
-
Install configuration file like this: `rails g x_editable_rails:install`, this step is not necessary
|
168
|
+
Install configuration file like this: `rails g x_editable_rails:install`, this step is not necessary
|
165
169
|
|
166
170
|
```yaml
|
167
171
|
class_options:
|
@@ -33,11 +33,11 @@ module X
|
|
33
33
|
html_options = options.delete(:html){ Hash.new }
|
34
34
|
|
35
35
|
if xeditable?(object)
|
36
|
-
model = object.class.model_name.
|
36
|
+
model = object.class.model_name.param_key
|
37
37
|
nid = options.delete(:nid)
|
38
38
|
nested = options.delete(:nested)
|
39
39
|
title = options.delete(:title) do
|
40
|
-
klass = nested ? object.class.const_get(nested.to_s.
|
40
|
+
klass = nested ? object.class.const_get(nested.to_s.classify) : object.class
|
41
41
|
klass.human_attribute_name(method)
|
42
42
|
end
|
43
43
|
|
@@ -72,7 +72,13 @@ module X
|
|
72
72
|
})
|
73
73
|
|
74
74
|
content_tag tag, html_options do
|
75
|
-
|
75
|
+
if %w(select checklist).include?(data[:type].to_s) && !source.is_a?(String)
|
76
|
+
source = normalize_source(source)
|
77
|
+
content = source.detect { |t| output_value == output_value_for(t[0]) }
|
78
|
+
content.present? ? content[1] : ""
|
79
|
+
else
|
80
|
+
safe_join(source_values_for(value, source), tag(:br))
|
81
|
+
end
|
76
82
|
end
|
77
83
|
else
|
78
84
|
error || safe_join(source_values_for(value, source), tag(:br))
|
@@ -81,6 +87,17 @@ module X
|
|
81
87
|
|
82
88
|
private
|
83
89
|
|
90
|
+
def normalize_source(source)
|
91
|
+
return [] unless source
|
92
|
+
source.map do |el|
|
93
|
+
if el.is_a? Array
|
94
|
+
el
|
95
|
+
else
|
96
|
+
[el[:value], el[:text]]
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
|
84
101
|
def output_value_for(value)
|
85
102
|
value = case value
|
86
103
|
when TrueClass
|
@@ -135,11 +152,9 @@ module X
|
|
135
152
|
if source.is_a?(Array) && source.first.is_a?(String) && source.size == 2
|
136
153
|
{ '1' => source[0], '0' => source[1] }
|
137
154
|
end
|
138
|
-
|
155
|
+
else
|
139
156
|
if source.is_a?(Array) && source.first.is_a?(String)
|
140
|
-
source.
|
141
|
-
elsif source.is_a?(Hash)
|
142
|
-
source
|
157
|
+
source.map { |v| { value: v, text: v } }
|
143
158
|
end
|
144
159
|
end
|
145
160
|
|
@@ -306,12 +306,12 @@ a.editable-click.editable-disabled:hover {
|
|
306
306
|
.datepicker table tr td.today.disabled,
|
307
307
|
.datepicker table tr td.today.disabled:hover {
|
308
308
|
background-color: #fde19a;
|
309
|
-
background-image: -moz-linear-gradient(
|
310
|
-
background-image: -ms-linear-gradient(
|
309
|
+
background-image: -moz-linear-gradient(to bottom, #fdd49a, #fdf59a);
|
310
|
+
background-image: -ms-linear-gradient(to bottom, #fdd49a, #fdf59a);
|
311
311
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
|
312
|
-
background-image: -webkit-linear-gradient(
|
313
|
-
background-image: -o-linear-gradient(
|
314
|
-
background-image: linear-gradient(
|
312
|
+
background-image: -webkit-linear-gradient(to bottom, #fdd49a, #fdf59a);
|
313
|
+
background-image: -o-linear-gradient(to bottom, #fdd49a, #fdf59a);
|
314
|
+
background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
|
315
315
|
background-repeat: repeat-x;
|
316
316
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
|
317
317
|
border-color: #fdf59a #fdf59a #fbed50;
|
@@ -371,12 +371,12 @@ a.editable-click.editable-disabled:hover {
|
|
371
371
|
.datepicker table tr td.range.today.disabled,
|
372
372
|
.datepicker table tr td.range.today.disabled:hover {
|
373
373
|
background-color: #f3d17a;
|
374
|
-
background-image: -moz-linear-gradient(
|
375
|
-
background-image: -ms-linear-gradient(
|
374
|
+
background-image: -moz-linear-gradient(to bottom, #f3c17a, #f3e97a);
|
375
|
+
background-image: -ms-linear-gradient(to bottom, #f3c17a, #f3e97a);
|
376
376
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
|
377
|
-
background-image: -webkit-linear-gradient(
|
378
|
-
background-image: -o-linear-gradient(
|
379
|
-
background-image: linear-gradient(
|
377
|
+
background-image: -webkit-linear-gradient(to bottom, #f3c17a, #f3e97a);
|
378
|
+
background-image: -o-linear-gradient(to bottom, #f3c17a, #f3e97a);
|
379
|
+
background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
|
380
380
|
background-repeat: repeat-x;
|
381
381
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
|
382
382
|
border-color: #f3e97a #f3e97a #edde34;
|
@@ -423,12 +423,12 @@ a.editable-click.editable-disabled:hover {
|
|
423
423
|
.datepicker table tr td.selected.disabled,
|
424
424
|
.datepicker table tr td.selected.disabled:hover {
|
425
425
|
background-color: #9e9e9e;
|
426
|
-
background-image: -moz-linear-gradient(
|
427
|
-
background-image: -ms-linear-gradient(
|
426
|
+
background-image: -moz-linear-gradient(to bottom, #b3b3b3, #808080);
|
427
|
+
background-image: -ms-linear-gradient(to bottom, #b3b3b3, #808080);
|
428
428
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
|
429
|
-
background-image: -webkit-linear-gradient(
|
430
|
-
background-image: -o-linear-gradient(
|
431
|
-
background-image: linear-gradient(
|
429
|
+
background-image: -webkit-linear-gradient(to bottom, #b3b3b3, #808080);
|
430
|
+
background-image: -o-linear-gradient(to bottom, #b3b3b3, #808080);
|
431
|
+
background-image: linear-gradient(to bottom, #b3b3b3, #808080);
|
432
432
|
background-repeat: repeat-x;
|
433
433
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
|
434
434
|
border-color: #808080 #808080 #595959;
|
@@ -474,12 +474,12 @@ a.editable-click.editable-disabled:hover {
|
|
474
474
|
.datepicker table tr td.active.disabled,
|
475
475
|
.datepicker table tr td.active.disabled:hover {
|
476
476
|
background-color: #006dcc;
|
477
|
-
background-image: -moz-linear-gradient(
|
478
|
-
background-image: -ms-linear-gradient(
|
477
|
+
background-image: -moz-linear-gradient(to bottom, #0088cc, #0044cc);
|
478
|
+
background-image: -ms-linear-gradient(to bottom, #0088cc, #0044cc);
|
479
479
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
|
480
|
-
background-image: -webkit-linear-gradient(
|
481
|
-
background-image: -o-linear-gradient(
|
482
|
-
background-image: linear-gradient(
|
480
|
+
background-image: -webkit-linear-gradient(to bottom, #0088cc, #0044cc);
|
481
|
+
background-image: -o-linear-gradient(to bottom, #0088cc, #0044cc);
|
482
|
+
background-image: linear-gradient(to bottom, #0088cc, #0044cc);
|
483
483
|
background-repeat: repeat-x;
|
484
484
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
|
485
485
|
border-color: #0044cc #0044cc #002a80;
|
@@ -546,12 +546,12 @@ a.editable-click.editable-disabled:hover {
|
|
546
546
|
.datepicker table tr td span.active.disabled,
|
547
547
|
.datepicker table tr td span.active.disabled:hover {
|
548
548
|
background-color: #006dcc;
|
549
|
-
background-image: -moz-linear-gradient(
|
550
|
-
background-image: -ms-linear-gradient(
|
549
|
+
background-image: -moz-linear-gradient(to bottom, #0088cc, #0044cc);
|
550
|
+
background-image: -ms-linear-gradient(to bottom, #0088cc, #0044cc);
|
551
551
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
|
552
|
-
background-image: -webkit-linear-gradient(
|
553
|
-
background-image: -o-linear-gradient(
|
554
|
-
background-image: linear-gradient(
|
552
|
+
background-image: -webkit-linear-gradient(to bottom, #0088cc, #0044cc);
|
553
|
+
background-image: -o-linear-gradient(to bottom, #0088cc, #0044cc);
|
554
|
+
background-image: linear-gradient(to bottom, #0088cc, #0044cc);
|
555
555
|
background-repeat: repeat-x;
|
556
556
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
|
557
557
|
border-color: #0044cc #0044cc #002a80;
|
@@ -306,12 +306,12 @@ a.editable-click.editable-disabled:hover {
|
|
306
306
|
.datepicker table tr td.today.disabled,
|
307
307
|
.datepicker table tr td.today.disabled:hover {
|
308
308
|
background-color: #fde19a;
|
309
|
-
background-image: -moz-linear-gradient(
|
310
|
-
background-image: -ms-linear-gradient(
|
309
|
+
background-image: -moz-linear-gradient(to bottom, #fdd49a, #fdf59a);
|
310
|
+
background-image: -ms-linear-gradient(to bottom, #fdd49a, #fdf59a);
|
311
311
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
|
312
|
-
background-image: -webkit-linear-gradient(
|
313
|
-
background-image: -o-linear-gradient(
|
314
|
-
background-image: linear-gradient(
|
312
|
+
background-image: -webkit-linear-gradient(to bottom, #fdd49a, #fdf59a);
|
313
|
+
background-image: -o-linear-gradient(to bottom, #fdd49a, #fdf59a);
|
314
|
+
background-image: linear-gradient(to bottom, #fdd49a, #fdf59a);
|
315
315
|
background-repeat: repeat-x;
|
316
316
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
|
317
317
|
border-color: #fdf59a #fdf59a #fbed50;
|
@@ -371,12 +371,12 @@ a.editable-click.editable-disabled:hover {
|
|
371
371
|
.datepicker table tr td.range.today.disabled,
|
372
372
|
.datepicker table tr td.range.today.disabled:hover {
|
373
373
|
background-color: #f3d17a;
|
374
|
-
background-image: -moz-linear-gradient(
|
375
|
-
background-image: -ms-linear-gradient(
|
374
|
+
background-image: -moz-linear-gradient(to bottom, #f3c17a, #f3e97a);
|
375
|
+
background-image: -ms-linear-gradient(to bottom, #f3c17a, #f3e97a);
|
376
376
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a), to(#f3e97a));
|
377
|
-
background-image: -webkit-linear-gradient(
|
378
|
-
background-image: -o-linear-gradient(
|
379
|
-
background-image: linear-gradient(
|
377
|
+
background-image: -webkit-linear-gradient(to bottom, #f3c17a, #f3e97a);
|
378
|
+
background-image: -o-linear-gradient(to bottom, #f3c17a, #f3e97a);
|
379
|
+
background-image: linear-gradient(to bottom, #f3c17a, #f3e97a);
|
380
380
|
background-repeat: repeat-x;
|
381
381
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a', endColorstr='#f3e97a', GradientType=0);
|
382
382
|
border-color: #f3e97a #f3e97a #edde34;
|
@@ -423,12 +423,12 @@ a.editable-click.editable-disabled:hover {
|
|
423
423
|
.datepicker table tr td.selected.disabled,
|
424
424
|
.datepicker table tr td.selected.disabled:hover {
|
425
425
|
background-color: #9e9e9e;
|
426
|
-
background-image: -moz-linear-gradient(
|
427
|
-
background-image: -ms-linear-gradient(
|
426
|
+
background-image: -moz-linear-gradient(to bottom, #b3b3b3, #808080);
|
427
|
+
background-image: -ms-linear-gradient(to bottom, #b3b3b3, #808080);
|
428
428
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3), to(#808080));
|
429
|
-
background-image: -webkit-linear-gradient(
|
430
|
-
background-image: -o-linear-gradient(
|
431
|
-
background-image: linear-gradient(
|
429
|
+
background-image: -webkit-linear-gradient(to bottom, #b3b3b3, #808080);
|
430
|
+
background-image: -o-linear-gradient(to bottom, #b3b3b3, #808080);
|
431
|
+
background-image: linear-gradient(to bottom, #b3b3b3, #808080);
|
432
432
|
background-repeat: repeat-x;
|
433
433
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3', endColorstr='#808080', GradientType=0);
|
434
434
|
border-color: #808080 #808080 #595959;
|
@@ -474,12 +474,12 @@ a.editable-click.editable-disabled:hover {
|
|
474
474
|
.datepicker table tr td.active.disabled,
|
475
475
|
.datepicker table tr td.active.disabled:hover {
|
476
476
|
background-color: #006dcc;
|
477
|
-
background-image: -moz-linear-gradient(
|
478
|
-
background-image: -ms-linear-gradient(
|
477
|
+
background-image: -moz-linear-gradient(to bottom, #0088cc, #0044cc);
|
478
|
+
background-image: -ms-linear-gradient(to bottom, #0088cc, #0044cc);
|
479
479
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
|
480
|
-
background-image: -webkit-linear-gradient(
|
481
|
-
background-image: -o-linear-gradient(
|
482
|
-
background-image: linear-gradient(
|
480
|
+
background-image: -webkit-linear-gradient(to bottom, #0088cc, #0044cc);
|
481
|
+
background-image: -o-linear-gradient(to bottom, #0088cc, #0044cc);
|
482
|
+
background-image: linear-gradient(to bottom, #0088cc, #0044cc);
|
483
483
|
background-repeat: repeat-x;
|
484
484
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
|
485
485
|
border-color: #0044cc #0044cc #002a80;
|
@@ -546,12 +546,12 @@ a.editable-click.editable-disabled:hover {
|
|
546
546
|
.datepicker table tr td span.active.disabled,
|
547
547
|
.datepicker table tr td span.active.disabled:hover {
|
548
548
|
background-color: #006dcc;
|
549
|
-
background-image: -moz-linear-gradient(
|
550
|
-
background-image: -ms-linear-gradient(
|
549
|
+
background-image: -moz-linear-gradient(to bottom, #0088cc, #0044cc);
|
550
|
+
background-image: -ms-linear-gradient(to bottom, #0088cc, #0044cc);
|
551
551
|
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
|
552
|
-
background-image: -webkit-linear-gradient(
|
553
|
-
background-image: -o-linear-gradient(
|
554
|
-
background-image: linear-gradient(
|
552
|
+
background-image: -webkit-linear-gradient(to bottom, #0088cc, #0044cc);
|
553
|
+
background-image: -o-linear-gradient(to bottom, #0088cc, #0044cc);
|
554
|
+
background-image: linear-gradient(to bottom, #0088cc, #0044cc);
|
555
555
|
background-repeat: repeat-x;
|
556
556
|
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
|
557
557
|
border-color: #0044cc #0044cc #002a80;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: x-editable-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.5.5
|
4
|
+
version: 1.5.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- We're in
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
description: X-editable for Rails
|
56
56
|
email:
|
57
|
-
-
|
57
|
+
- info@wereinhq.com
|
58
58
|
executables: []
|
59
59
|
extensions: []
|
60
60
|
extra_rdoc_files: []
|
@@ -112,7 +112,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
112
|
version: '0'
|
113
113
|
requirements: []
|
114
114
|
rubyforge_project:
|
115
|
-
rubygems_version: 2.
|
115
|
+
rubygems_version: 2.5.1
|
116
116
|
signing_key:
|
117
117
|
specification_version: 4
|
118
118
|
summary: X-editable for Rails
|