x-editable-rails 0.0.3 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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
+ }