x-editable-rails 0.0.3 → 1.0.0

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.
Files changed (30) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +1 -1
  3. data/README.md +31 -14
  4. data/lib/x-editable-rails.rb +5 -1
  5. data/lib/x-editable-rails/version.rb +1 -1
  6. data/lib/x-editable-rails/view_helpers.rb +20 -0
  7. data/vendor/assets/images/editable/clear.png +0 -0
  8. data/vendor/assets/images/{loading.gif → editable/loading.gif} +0 -0
  9. data/vendor/assets/javascripts/{bootstrap-editable.js → editable/bootstrap-editable.js} +3816 -1425
  10. data/vendor/assets/javascripts/{jquery-editable-poshytip.js → editable/jquery-editable-poshytip.js} +2171 -541
  11. data/vendor/assets/javascripts/{jqueryui-editable.js → editable/jqueryui-editable.js} +2080 -478
  12. data/vendor/assets/javascripts/{rails-editable.js.coffee → editable/rails.js.coffee} +3 -0
  13. data/vendor/assets/stylesheets/editable/bootstrap-editable.css +495 -0
  14. data/vendor/assets/stylesheets/{jquery-editable.css → editable/jquery-editable.css} +63 -18
  15. data/vendor/assets/stylesheets/{jqueryui-editable.css → editable/jqueryui-editable.css} +63 -18
  16. metadata +79 -66
  17. data/.gitignore +0 -19
  18. data/Gemfile +0 -4
  19. data/Rakefile +0 -1
  20. data/vendor/assets/javascripts/bootstrap-editable-inline.js +0 -3769
  21. data/vendor/assets/javascripts/bootstrap-editable-inline.min.js +0 -5
  22. data/vendor/assets/javascripts/bootstrap-editable.min.js +0 -5
  23. data/vendor/assets/javascripts/jquery-editable-inline.js +0 -2892
  24. data/vendor/assets/javascripts/jquery-editable-inline.min.js +0 -5
  25. data/vendor/assets/javascripts/jquery-editable-poshytip.min.js +0 -5
  26. data/vendor/assets/javascripts/jqueryui-editable-inline.js +0 -2916
  27. data/vendor/assets/javascripts/jqueryui-editable-inline.min.js +0 -5
  28. data/vendor/assets/javascripts/jqueryui-editable.min.js +0 -5
  29. data/vendor/assets/stylesheets/bootstrap-editable.css +0 -434
  30. data/x-editable-rails.gemspec +0 -19
@@ -5,6 +5,7 @@ jQuery ($) ->
5
5
  model = @options.model
6
6
  nestedName = @options.nested
7
7
  nestedId = @options.nid
8
+ nestedLocale = @options.locale
8
9
  @options.url = (params) =>
9
10
  myName = params.name
10
11
  myValue = params.value.replace(/(\r\n|\n|\r)/gm,"<br/>")
@@ -13,6 +14,8 @@ jQuery ($) ->
13
14
  nested = {}
14
15
  nested[myName] = myValue
15
16
  nested['id'] = nestedId
17
+ if nestedLocale
18
+ nested['locale'] = nestedLocale
16
19
  obj[nestedName + '_attributes'] = nested
17
20
  else
18
21
  obj[myName] = myValue
@@ -0,0 +1,495 @@
1
+ /*! X-editable - v1.4.4
2
+ * In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
3
+ * http://github.com/vitalets/x-editable
4
+ * Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
5
+
6
+ .editableform {
7
+ margin-bottom: 0; /* overwrites bootstrap margin */
8
+ }
9
+
10
+ .editableform .control-group {
11
+ margin-bottom: 0; /* overwrites bootstrap margin */
12
+ white-space: nowrap; /* prevent wrapping buttons on new line */
13
+ line-height: 20px; /* overwriting bootstrap line-height. See #133 */
14
+ }
15
+
16
+ .editable-buttons {
17
+ display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
18
+ vertical-align: top;
19
+ margin-left: 7px;
20
+ /* inline-block emulation for IE7*/
21
+ zoom: 1;
22
+ *display: inline;
23
+ }
24
+
25
+ .editable-buttons.editable-buttons-bottom {
26
+ display: block;
27
+ margin-top: 7px;
28
+ margin-left: 0;
29
+ }
30
+
31
+ .editable-input {
32
+ vertical-align: top;
33
+ display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
34
+ width: auto; /* bootstrap-responsive has width: 100% that breakes layout */
35
+ white-space: normal; /* reset white-space decalred in parent*/
36
+ /* display-inline emulation for IE7*/
37
+ zoom: 1;
38
+ *display: inline;
39
+ }
40
+
41
+ .editable-buttons .editable-cancel {
42
+ margin-left: 7px;
43
+ }
44
+
45
+ /*for jquery-ui buttons need set height to look more pretty*/
46
+ .editable-buttons button.ui-button-icon-only {
47
+ height: 24px;
48
+ width: 30px;
49
+ }
50
+
51
+ .editableform-loading {
52
+ background: url('/assets/editable/loading.gif') center center no-repeat;
53
+ height: 25px;
54
+ width: auto;
55
+ min-width: 25px;
56
+ }
57
+
58
+ .editable-inline .editableform-loading {
59
+ background-position: left 5px;
60
+ }
61
+
62
+ .editable-error-block {
63
+ max-width: 300px;
64
+ margin: 5px 0 0 0;
65
+ width: auto;
66
+ white-space: normal;
67
+ }
68
+
69
+ /*add padding for jquery ui*/
70
+ .editable-error-block.ui-state-error {
71
+ padding: 3px;
72
+ }
73
+
74
+ .editable-error {
75
+ color: red;
76
+ }
77
+
78
+ /* ---- For specific types ---- */
79
+
80
+ .editableform .editable-date {
81
+ padding: 0;
82
+ margin: 0;
83
+ float: left;
84
+ }
85
+
86
+ /* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */
87
+ .editable-inline .add-on .icon-th {
88
+ margin-top: 3px;
89
+ margin-left: 1px;
90
+ }
91
+
92
+
93
+ /* checklist vertical alignment */
94
+ .editable-checklist label input[type="checkbox"],
95
+ .editable-checklist label span {
96
+ vertical-align: middle;
97
+ margin: 0;
98
+ }
99
+
100
+ .editable-checklist label {
101
+ white-space: nowrap;
102
+ }
103
+
104
+ /* set exact width of textarea to fit buttons toolbar */
105
+ .editable-wysihtml5 {
106
+ width: 566px;
107
+ height: 250px;
108
+ }
109
+
110
+ /* clear button shown as link in date inputs */
111
+ .editable-clear {
112
+ clear: both;
113
+ font-size: 0.9em;
114
+ text-decoration: none;
115
+ text-align: right;
116
+ }
117
+
118
+ /* IOS-style clear button for text inputs */
119
+ .editable-clear-x {
120
+ background: url('/assets/editable/clear.png') center center no-repeat;
121
+ display: block;
122
+ width: 13px;
123
+ height: 13px;
124
+ position: absolute;
125
+ opacity: 0.6;
126
+ z-index: 100;
127
+
128
+ top: 50%;
129
+ right: 6px;
130
+ margin-top: -6px;
131
+
132
+ }
133
+
134
+ .editable-clear-x:hover {
135
+ opacity: 1;
136
+ }
137
+ .editable-container.editable-popup {
138
+ max-width: none !important; /* without this rule poshytip/tooltip does not stretch */
139
+ }
140
+
141
+ .editable-container.popover {
142
+ width: auto; /* without this rule popover does not stretch */
143
+ }
144
+
145
+ .editable-container.editable-inline {
146
+ display: inline-block;
147
+ vertical-align: middle;
148
+ width: auto;
149
+ /* inline-block emulation for IE7*/
150
+ zoom: 1;
151
+ *display: inline;
152
+ }
153
+
154
+ .editable-container.ui-widget {
155
+ font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it */
156
+ }
157
+ .editable-click,
158
+ a.editable-click,
159
+ a.editable-click:hover {
160
+ text-decoration: none;
161
+ border-bottom: dashed 1px #0088cc;
162
+ }
163
+
164
+ .editable-click.editable-disabled,
165
+ a.editable-click.editable-disabled,
166
+ a.editable-click.editable-disabled:hover {
167
+ color: #585858;
168
+ cursor: default;
169
+ border-bottom: none;
170
+ }
171
+
172
+ .editable-empty, .editable-empty:hover, .editable-empty:focus{
173
+ font-style: italic;
174
+ color: #DD1144;
175
+ /* border-bottom: none; */
176
+ text-decoration: none;
177
+ }
178
+
179
+ .editable-unsaved {
180
+ font-weight: bold;
181
+ }
182
+
183
+ .editable-unsaved:after {
184
+ /* content: '*'*/
185
+ }
186
+
187
+ /*see https://github.com/vitalets/x-editable/issues/139 */
188
+ .form-horizontal .editable
189
+ {
190
+ padding-top: 5px;
191
+ display:inline-block;
192
+ }
193
+
194
+
195
+ /*!
196
+ * Datepicker for Bootstrap
197
+ *
198
+ * Copyright 2012 Stefan Petre
199
+ * Improvements by Andrew Rowls
200
+ * Licensed under the Apache License v2.0
201
+ * http://www.apache.org/licenses/LICENSE-2.0
202
+ *
203
+ */
204
+ .datepicker {
205
+ padding: 4px;
206
+ -webkit-border-radius: 4px;
207
+ -moz-border-radius: 4px;
208
+ border-radius: 4px;
209
+ direction: ltr;
210
+ /*.dow {
211
+ border-top: 1px solid #ddd !important;
212
+ }*/
213
+
214
+ }
215
+ .datepicker-inline {
216
+ width: 220px;
217
+ }
218
+ .datepicker.datepicker-rtl {
219
+ direction: rtl;
220
+ }
221
+ .datepicker.datepicker-rtl table tr td span {
222
+ float: right;
223
+ }
224
+ .datepicker-dropdown {
225
+ top: 0;
226
+ left: 0;
227
+ }
228
+ .datepicker-dropdown:before {
229
+ content: '';
230
+ display: inline-block;
231
+ border-left: 7px solid transparent;
232
+ border-right: 7px solid transparent;
233
+ border-bottom: 7px solid #ccc;
234
+ border-bottom-color: rgba(0, 0, 0, 0.2);
235
+ position: absolute;
236
+ top: -7px;
237
+ left: 6px;
238
+ }
239
+ .datepicker-dropdown:after {
240
+ content: '';
241
+ display: inline-block;
242
+ border-left: 6px solid transparent;
243
+ border-right: 6px solid transparent;
244
+ border-bottom: 6px solid #ffffff;
245
+ position: absolute;
246
+ top: -6px;
247
+ left: 7px;
248
+ }
249
+ .datepicker > div {
250
+ display: none;
251
+ }
252
+ .datepicker.days div.datepicker-days {
253
+ display: block;
254
+ }
255
+ .datepicker.months div.datepicker-months {
256
+ display: block;
257
+ }
258
+ .datepicker.years div.datepicker-years {
259
+ display: block;
260
+ }
261
+ .datepicker table {
262
+ margin: 0;
263
+ }
264
+ .datepicker td,
265
+ .datepicker th {
266
+ text-align: center;
267
+ width: 20px;
268
+ height: 20px;
269
+ -webkit-border-radius: 4px;
270
+ -moz-border-radius: 4px;
271
+ border-radius: 4px;
272
+ border: none;
273
+ }
274
+ .table-striped .datepicker table tr td,
275
+ .table-striped .datepicker table tr th {
276
+ background-color: transparent;
277
+ }
278
+ .datepicker table tr td.day:hover {
279
+ background: #eeeeee;
280
+ cursor: pointer;
281
+ }
282
+ .datepicker table tr td.old,
283
+ .datepicker table tr td.new {
284
+ color: #999999;
285
+ }
286
+ .datepicker table tr td.disabled,
287
+ .datepicker table tr td.disabled:hover {
288
+ background: none;
289
+ color: #999999;
290
+ cursor: default;
291
+ }
292
+ .datepicker table tr td.today,
293
+ .datepicker table tr td.today:hover,
294
+ .datepicker table tr td.today.disabled,
295
+ .datepicker table tr td.today.disabled:hover {
296
+ background-color: #fde19a;
297
+ background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
298
+ background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
299
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
300
+ background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
301
+ background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
302
+ background-image: linear-gradient(top, #fdd49a, #fdf59a);
303
+ background-repeat: repeat-x;
304
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
305
+ border-color: #fdf59a #fdf59a #fbed50;
306
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
307
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
308
+ color: #000 !important;
309
+ }
310
+ .datepicker table tr td.today:hover,
311
+ .datepicker table tr td.today:hover:hover,
312
+ .datepicker table tr td.today.disabled:hover,
313
+ .datepicker table tr td.today.disabled:hover:hover,
314
+ .datepicker table tr td.today:active,
315
+ .datepicker table tr td.today:hover:active,
316
+ .datepicker table tr td.today.disabled:active,
317
+ .datepicker table tr td.today.disabled:hover:active,
318
+ .datepicker table tr td.today.active,
319
+ .datepicker table tr td.today:hover.active,
320
+ .datepicker table tr td.today.disabled.active,
321
+ .datepicker table tr td.today.disabled:hover.active,
322
+ .datepicker table tr td.today.disabled,
323
+ .datepicker table tr td.today:hover.disabled,
324
+ .datepicker table tr td.today.disabled.disabled,
325
+ .datepicker table tr td.today.disabled:hover.disabled,
326
+ .datepicker table tr td.today[disabled],
327
+ .datepicker table tr td.today:hover[disabled],
328
+ .datepicker table tr td.today.disabled[disabled],
329
+ .datepicker table tr td.today.disabled:hover[disabled] {
330
+ background-color: #fdf59a;
331
+ }
332
+ .datepicker table tr td.today:active,
333
+ .datepicker table tr td.today:hover:active,
334
+ .datepicker table tr td.today.disabled:active,
335
+ .datepicker table tr td.today.disabled:hover:active,
336
+ .datepicker table tr td.today.active,
337
+ .datepicker table tr td.today:hover.active,
338
+ .datepicker table tr td.today.disabled.active,
339
+ .datepicker table tr td.today.disabled:hover.active {
340
+ background-color: #fbf069 \9;
341
+ }
342
+ .datepicker table tr td.active,
343
+ .datepicker table tr td.active:hover,
344
+ .datepicker table tr td.active.disabled,
345
+ .datepicker table tr td.active.disabled:hover {
346
+ background-color: #006dcc;
347
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
348
+ background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
349
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
350
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
351
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
352
+ background-image: linear-gradient(top, #0088cc, #0044cc);
353
+ background-repeat: repeat-x;
354
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
355
+ border-color: #0044cc #0044cc #002a80;
356
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
357
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
358
+ color: #fff;
359
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
360
+ }
361
+ .datepicker table tr td.active:hover,
362
+ .datepicker table tr td.active:hover:hover,
363
+ .datepicker table tr td.active.disabled:hover,
364
+ .datepicker table tr td.active.disabled:hover:hover,
365
+ .datepicker table tr td.active:active,
366
+ .datepicker table tr td.active:hover:active,
367
+ .datepicker table tr td.active.disabled:active,
368
+ .datepicker table tr td.active.disabled:hover:active,
369
+ .datepicker table tr td.active.active,
370
+ .datepicker table tr td.active:hover.active,
371
+ .datepicker table tr td.active.disabled.active,
372
+ .datepicker table tr td.active.disabled:hover.active,
373
+ .datepicker table tr td.active.disabled,
374
+ .datepicker table tr td.active:hover.disabled,
375
+ .datepicker table tr td.active.disabled.disabled,
376
+ .datepicker table tr td.active.disabled:hover.disabled,
377
+ .datepicker table tr td.active[disabled],
378
+ .datepicker table tr td.active:hover[disabled],
379
+ .datepicker table tr td.active.disabled[disabled],
380
+ .datepicker table tr td.active.disabled:hover[disabled] {
381
+ background-color: #0044cc;
382
+ }
383
+ .datepicker table tr td.active:active,
384
+ .datepicker table tr td.active:hover:active,
385
+ .datepicker table tr td.active.disabled:active,
386
+ .datepicker table tr td.active.disabled:hover:active,
387
+ .datepicker table tr td.active.active,
388
+ .datepicker table tr td.active:hover.active,
389
+ .datepicker table tr td.active.disabled.active,
390
+ .datepicker table tr td.active.disabled:hover.active {
391
+ background-color: #003399 \9;
392
+ }
393
+ .datepicker table tr td span {
394
+ display: block;
395
+ width: 23%;
396
+ height: 54px;
397
+ line-height: 54px;
398
+ float: left;
399
+ margin: 1%;
400
+ cursor: pointer;
401
+ -webkit-border-radius: 4px;
402
+ -moz-border-radius: 4px;
403
+ border-radius: 4px;
404
+ }
405
+ .datepicker table tr td span:hover {
406
+ background: #eeeeee;
407
+ }
408
+ .datepicker table tr td span.disabled,
409
+ .datepicker table tr td span.disabled:hover {
410
+ background: none;
411
+ color: #999999;
412
+ cursor: default;
413
+ }
414
+ .datepicker table tr td span.active,
415
+ .datepicker table tr td span.active:hover,
416
+ .datepicker table tr td span.active.disabled,
417
+ .datepicker table tr td span.active.disabled:hover {
418
+ background-color: #006dcc;
419
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
420
+ background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
421
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
422
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
423
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
424
+ background-image: linear-gradient(top, #0088cc, #0044cc);
425
+ background-repeat: repeat-x;
426
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
427
+ border-color: #0044cc #0044cc #002a80;
428
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
429
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
430
+ color: #fff;
431
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
432
+ }
433
+ .datepicker table tr td span.active:hover,
434
+ .datepicker table tr td span.active:hover:hover,
435
+ .datepicker table tr td span.active.disabled:hover,
436
+ .datepicker table tr td span.active.disabled:hover:hover,
437
+ .datepicker table tr td span.active:active,
438
+ .datepicker table tr td span.active:hover:active,
439
+ .datepicker table tr td span.active.disabled:active,
440
+ .datepicker table tr td span.active.disabled:hover:active,
441
+ .datepicker table tr td span.active.active,
442
+ .datepicker table tr td span.active:hover.active,
443
+ .datepicker table tr td span.active.disabled.active,
444
+ .datepicker table tr td span.active.disabled:hover.active,
445
+ .datepicker table tr td span.active.disabled,
446
+ .datepicker table tr td span.active:hover.disabled,
447
+ .datepicker table tr td span.active.disabled.disabled,
448
+ .datepicker table tr td span.active.disabled:hover.disabled,
449
+ .datepicker table tr td span.active[disabled],
450
+ .datepicker table tr td span.active:hover[disabled],
451
+ .datepicker table tr td span.active.disabled[disabled],
452
+ .datepicker table tr td span.active.disabled:hover[disabled] {
453
+ background-color: #0044cc;
454
+ }
455
+ .datepicker table tr td span.active:active,
456
+ .datepicker table tr td span.active:hover:active,
457
+ .datepicker table tr td span.active.disabled:active,
458
+ .datepicker table tr td span.active.disabled:hover:active,
459
+ .datepicker table tr td span.active.active,
460
+ .datepicker table tr td span.active:hover.active,
461
+ .datepicker table tr td span.active.disabled.active,
462
+ .datepicker table tr td span.active.disabled:hover.active {
463
+ background-color: #003399 \9;
464
+ }
465
+ .datepicker table tr td span.old {
466
+ color: #999999;
467
+ }
468
+ .datepicker th.switch {
469
+ width: 145px;
470
+ }
471
+ .datepicker thead tr:first-child th,
472
+ .datepicker tfoot tr:first-child th {
473
+ cursor: pointer;
474
+ }
475
+ .datepicker thead tr:first-child th:hover,
476
+ .datepicker tfoot tr:first-child th:hover {
477
+ background: #eeeeee;
478
+ }
479
+ .datepicker .cw {
480
+ font-size: 10px;
481
+ width: 12px;
482
+ padding: 0 2px 0 5px;
483
+ vertical-align: middle;
484
+ }
485
+ .datepicker thead tr:first-child th.cw {
486
+ cursor: default;
487
+ background-color: transparent;
488
+ }
489
+ .input-append.date .add-on i,
490
+ .input-prepend.date .add-on i {
491
+ display: block;
492
+ cursor: pointer;
493
+ width: 16px;
494
+ height: 16px;
495
+ }