bootstrap-x-editable-rails 1.4.6.1 → 1.5.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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca3f39a976da0b88a3c37a376172757769505da9
|
4
|
+
data.tar.gz: 0a389ce344f7075f3eec1a6b946c2a317d9439ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7467c4aeb7bba0fb5d77ae9a98b633293768de77d31405229bb770185e206ba63d7720591fc6888322241669786f62ee665cb0ad548fd1a1d3d6529f4644f827
|
7
|
+
data.tar.gz: ac0a301e0d2f0d457fa2c9dfd89eaacec185291b44192c7fcbd59dcc207bafe0ceafd5db3d245359cf94097c05f41134be8fc031be061407fa23570521b9628b
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2013
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
6
|
+
this software and associated documentation files (the "Software"), to deal in
|
7
|
+
the Software without restriction, including without limitation the rights to
|
8
|
+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
9
|
+
the Software, and to permit persons to whom the Software is furnished to do so,
|
10
|
+
subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
13
|
+
copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
17
|
+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
18
|
+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
19
|
+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
20
|
+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -1,8 +1,7 @@
|
|
1
|
-
/*! X-editable - v1.
|
1
|
+
/*! X-editable - v1.5.0
|
2
2
|
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
|
3
3
|
* http://github.com/vitalets/x-editable
|
4
4
|
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
|
5
|
-
|
6
5
|
/**
|
7
6
|
Form with single input element, two buttons and two states: normal/loading.
|
8
7
|
Applied as jQuery method to DIV tag (not to form tag!). This is because form can be in loading state when spinner shown.
|
@@ -33,6 +32,9 @@ Editableform is linked with one of input types, e.g. 'text', 'select' etc.
|
|
33
32
|
//set initial value
|
34
33
|
//todo: may be add check: typeof str === 'string' ?
|
35
34
|
this.value = this.input.str2value(this.options.value);
|
35
|
+
|
36
|
+
//prerender: get input.$input
|
37
|
+
this.input.prerender();
|
36
38
|
},
|
37
39
|
initTemplate: function() {
|
38
40
|
this.$form = $($.fn.editableform.template);
|
@@ -80,9 +82,8 @@ Editableform is linked with one of input types, e.g. 'text', 'select' etc.
|
|
80
82
|
this.initInput();
|
81
83
|
|
82
84
|
//append input to form
|
83
|
-
this.input.prerender();
|
84
85
|
this.$form.find('div.editable-input').append(this.input.$tpl);
|
85
|
-
|
86
|
+
|
86
87
|
//append form to container
|
87
88
|
this.$div.append(this.$form);
|
88
89
|
|
@@ -620,6 +621,9 @@ Editableform is linked with one of input types, e.g. 'text', 'select' etc.
|
|
620
621
|
|
621
622
|
//error class attached to editable-error-block
|
622
623
|
$.fn.editableform.errorBlockClass = 'editable-error';
|
624
|
+
|
625
|
+
//engine
|
626
|
+
$.fn.editableform.engine = 'jquery';
|
623
627
|
}(window.jQuery));
|
624
628
|
|
625
629
|
/**
|
@@ -898,6 +902,8 @@ Applied as jQuery method.
|
|
898
902
|
containerDataName: null, //object name in element's .data()
|
899
903
|
innerCss: null, //tbd in child class
|
900
904
|
containerClass: 'editable-container editable-popup', //css class applied to container element
|
905
|
+
defaults: {}, //container itself defaults
|
906
|
+
|
901
907
|
init: function(element, options) {
|
902
908
|
this.$element = $(element);
|
903
909
|
//since 1.4.1 container do not use data-* directly as they already merged into options.
|
@@ -975,10 +981,9 @@ Applied as jQuery method.
|
|
975
981
|
throw new Error(this.containerName + ' not found. Have you included corresponding js file?');
|
976
982
|
}
|
977
983
|
|
978
|
-
var cDef = $.fn[this.containerName].defaults;
|
979
984
|
//keys defined in container defaults go to container, others go to form
|
980
985
|
for(var k in this.options) {
|
981
|
-
if(k in
|
986
|
+
if(k in this.defaults) {
|
982
987
|
this.containerOptions[k] = this.options[k];
|
983
988
|
} else {
|
984
989
|
this.formOptions[k] = this.options[k];
|
@@ -1727,13 +1732,12 @@ Makes editable any HTML element on the page. Applied as jQuery method.
|
|
1727
1732
|
this.isEmpty = isEmpty;
|
1728
1733
|
} else {
|
1729
1734
|
//detect empty
|
1730
|
-
|
1731
|
-
|
1732
|
-
|
1733
|
-
this.isEmpty =
|
1735
|
+
//for some inputs we need more smart check
|
1736
|
+
//e.g. wysihtml5 may have <br>, <p></p>, <img>
|
1737
|
+
if(typeof(this.input.isEmpty) === 'function') {
|
1738
|
+
this.isEmpty = this.input.isEmpty(this.$element);
|
1734
1739
|
} else {
|
1735
|
-
|
1736
|
-
this.isEmpty = !this.$element.height() || !this.$element.width();
|
1740
|
+
this.isEmpty = $.trim(this.$element.html()) === '';
|
1737
1741
|
}
|
1738
1742
|
}
|
1739
1743
|
|
@@ -2249,7 +2253,7 @@ Makes editable any HTML element on the page. Applied as jQuery method.
|
|
2249
2253
|
@since 1.4.5
|
2250
2254
|
@default #FFFF80
|
2251
2255
|
**/
|
2252
|
-
highlight: '#FFFF80'
|
2256
|
+
highlight: '#FFFF80'
|
2253
2257
|
};
|
2254
2258
|
|
2255
2259
|
}(window.jQuery));
|
@@ -2308,7 +2312,7 @@ To create your own input you can inherit from this class.
|
|
2308
2312
|
@param {DOMElement} element
|
2309
2313
|
**/
|
2310
2314
|
value2html: function(value, element) {
|
2311
|
-
$(element).text($.trim(value));
|
2315
|
+
$(element)[this.options.escape ? 'text' : 'html']($.trim(value));
|
2312
2316
|
},
|
2313
2317
|
|
2314
2318
|
/**
|
@@ -2415,7 +2419,7 @@ To create your own input you can inherit from this class.
|
|
2415
2419
|
},
|
2416
2420
|
|
2417
2421
|
// -------- helper functions --------
|
2418
|
-
setClass: function() {
|
2422
|
+
setClass: function() {
|
2419
2423
|
if(this.options.inputclass) {
|
2420
2424
|
this.$input.addClass(this.options.inputclass);
|
2421
2425
|
}
|
@@ -2447,9 +2451,22 @@ To create your own input you can inherit from this class.
|
|
2447
2451
|
|
2448
2452
|
@property inputclass
|
2449
2453
|
@type string
|
2450
|
-
@default
|
2454
|
+
@default null
|
2451
2455
|
**/
|
2452
|
-
inputclass:
|
2456
|
+
inputclass: null,
|
2457
|
+
|
2458
|
+
/**
|
2459
|
+
If `true` - html will be escaped in content of element via $.text() method.
|
2460
|
+
If `false` - html will not be escaped, $.html() used.
|
2461
|
+
When you use own `display` function, this option obviosly has no effect.
|
2462
|
+
|
2463
|
+
@property escape
|
2464
|
+
@type boolean
|
2465
|
+
@since 1.5.0
|
2466
|
+
@default true
|
2467
|
+
**/
|
2468
|
+
escape: true,
|
2469
|
+
|
2453
2470
|
//scope for external methods (e.g. source defined as function)
|
2454
2471
|
//for internal use only
|
2455
2472
|
scope: null,
|
@@ -2581,8 +2598,8 @@ List - abstract class for inputs that have source option loaded from js array or
|
|
2581
2598
|
}
|
2582
2599
|
}
|
2583
2600
|
|
2584
|
-
//
|
2585
|
-
$.
|
2601
|
+
//ajaxOptions for source. Can be overwritten bt options.sourceOptions
|
2602
|
+
var ajaxOptions = $.extend({
|
2586
2603
|
url: source,
|
2587
2604
|
type: 'get',
|
2588
2605
|
cache: false,
|
@@ -2617,7 +2634,11 @@ List - abstract class for inputs that have source option loaded from js array or
|
|
2617
2634
|
$.each(cache.err_callbacks, function () { this.call(); });
|
2618
2635
|
}
|
2619
2636
|
}, this)
|
2620
|
-
});
|
2637
|
+
}, this.options.sourceOptions);
|
2638
|
+
|
2639
|
+
//loading sourceData from server
|
2640
|
+
$.ajax(ajaxOptions);
|
2641
|
+
|
2621
2642
|
} else { //options as json/array
|
2622
2643
|
this.sourceData = this.makeArray(source);
|
2623
2644
|
|
@@ -2777,7 +2798,17 @@ List - abstract class for inputs that have source option loaded from js array or
|
|
2777
2798
|
@default true
|
2778
2799
|
@since 1.2.0
|
2779
2800
|
**/
|
2780
|
-
sourceCache: true
|
2801
|
+
sourceCache: true,
|
2802
|
+
/**
|
2803
|
+
Additional ajax options to be used in $.ajax() when loading list from server.
|
2804
|
+
Useful to send extra parameters (`data` key) or change request method (`type` key).
|
2805
|
+
|
2806
|
+
@property sourceOptions
|
2807
|
+
@type object|function
|
2808
|
+
@default null
|
2809
|
+
@since 1.5.0
|
2810
|
+
**/
|
2811
|
+
sourceOptions: null
|
2781
2812
|
});
|
2782
2813
|
|
2783
2814
|
$.fn.editabletypes.list = List;
|
@@ -3038,7 +3069,7 @@ Select (dropdown)
|
|
3038
3069
|
@extends list
|
3039
3070
|
@final
|
3040
3071
|
@example
|
3041
|
-
<a href="#" id="status" data-type="select" data-pk="1" data-url="/post" data-
|
3072
|
+
<a href="#" id="status" data-type="select" data-pk="1" data-url="/post" data-title="Select status"></a>
|
3042
3073
|
<script>
|
3043
3074
|
$(function(){
|
3044
3075
|
$('#status').editable({
|
@@ -3105,7 +3136,8 @@ $(function(){
|
|
3105
3136
|
text = items[0].text;
|
3106
3137
|
}
|
3107
3138
|
|
3108
|
-
|
3139
|
+
//$(element).text(text);
|
3140
|
+
$.fn.editabletypes.abstractinput.prototype.value2html.call(this, text, element);
|
3109
3141
|
},
|
3110
3142
|
|
3111
3143
|
autosubmit: function() {
|
@@ -3135,7 +3167,7 @@ Internally value stored as javascript array of values.
|
|
3135
3167
|
@extends list
|
3136
3168
|
@final
|
3137
3169
|
@example
|
3138
|
-
<a href="#" id="options" data-type="checklist" data-pk="1" data-url="/post" data-
|
3170
|
+
<a href="#" id="options" data-type="checklist" data-pk="1" data-url="/post" data-title="Select options"></a>
|
3139
3171
|
<script>
|
3140
3172
|
$(function(){
|
3141
3173
|
$('#options').editable({
|
@@ -3229,10 +3261,14 @@ $(function(){
|
|
3229
3261
|
//collect text of checked boxes
|
3230
3262
|
value2htmlFinal: function(value, element) {
|
3231
3263
|
var html = [],
|
3232
|
-
checked = $.fn.editableutils.itemsByValue(value, this.sourceData)
|
3264
|
+
checked = $.fn.editableutils.itemsByValue(value, this.sourceData),
|
3265
|
+
escape = this.options.escape;
|
3233
3266
|
|
3234
3267
|
if(checked.length) {
|
3235
|
-
$.each(checked, function(i, v) {
|
3268
|
+
$.each(checked, function(i, v) {
|
3269
|
+
var text = escape ? $.fn.editableutils.escape(v.text) : v.text;
|
3270
|
+
html.push(text);
|
3271
|
+
});
|
3236
3272
|
$(element).html(html.join('<br>'));
|
3237
3273
|
} else {
|
3238
3274
|
$(element).empty();
|
@@ -3502,7 +3538,7 @@ Time
|
|
3502
3538
|
/**
|
3503
3539
|
Select2 input. Based on amazing work of Igor Vaynberg https://github.com/ivaynberg/select2.
|
3504
3540
|
Please see [original select2 docs](http://ivaynberg.github.com/select2) for detailed description and options.
|
3505
|
-
|
3541
|
+
|
3506
3542
|
You should manually download and include select2 distributive:
|
3507
3543
|
|
3508
3544
|
<link href="select2/select2.css" rel="stylesheet" type="text/css"></link>
|
@@ -3643,9 +3679,11 @@ $(function(){
|
|
3643
3679
|
$.extend(Constructor.prototype, {
|
3644
3680
|
render: function() {
|
3645
3681
|
this.setClass();
|
3646
|
-
|
3647
|
-
//apply select2
|
3648
|
-
|
3682
|
+
|
3683
|
+
//can not apply select2 here as it calls initSelection
|
3684
|
+
//over input that does not have correct value yet.
|
3685
|
+
//apply select2 only in value2input
|
3686
|
+
//this.$input.select2(this.options.select2);
|
3649
3687
|
|
3650
3688
|
//when data is loaded via ajax, we need to know when it's done to populate listData
|
3651
3689
|
if(this.isRemote) {
|
@@ -3673,7 +3711,8 @@ $(function(){
|
|
3673
3711
|
} else if(this.sourceData) {
|
3674
3712
|
data = $.fn.editableutils.itemsByValue(value, this.sourceData, this.idFunc);
|
3675
3713
|
} else {
|
3676
|
-
//can not get list of possible values
|
3714
|
+
//can not get list of possible values
|
3715
|
+
//(e.g. autotext for select2 with ajax source)
|
3677
3716
|
}
|
3678
3717
|
|
3679
3718
|
//data may be array (when multiple values allowed)
|
@@ -3689,7 +3728,8 @@ $(function(){
|
|
3689
3728
|
|
3690
3729
|
text = $.isArray(text) ? text.join(this.options.viewseparator) : text;
|
3691
3730
|
|
3692
|
-
|
3731
|
+
//$(element).text(text);
|
3732
|
+
Constructor.superclass.value2html.call(this, text, element);
|
3693
3733
|
},
|
3694
3734
|
|
3695
3735
|
html2value: function(html) {
|
@@ -3708,8 +3748,14 @@ $(function(){
|
|
3708
3748
|
}
|
3709
3749
|
*/
|
3710
3750
|
|
3711
|
-
//for remote source just set value, text is updated by initSelection
|
3712
|
-
this.$input.
|
3751
|
+
//for remote source just set value, text is updated by initSelection
|
3752
|
+
if(!this.$input.data('select2')) {
|
3753
|
+
this.$input.val(value);
|
3754
|
+
this.$input.select2(this.options.select2);
|
3755
|
+
} else {
|
3756
|
+
//second argument needed to separate initial change from user's click (for autosubmit)
|
3757
|
+
this.$input.val(value).trigger('change', true);
|
3758
|
+
}
|
3713
3759
|
|
3714
3760
|
//if remote source AND no user's initSelection provided --> try to use element's text
|
3715
3761
|
if(this.isRemote && !this.isMultiple && !this.options.select2.initSelection) {
|
@@ -3717,7 +3763,7 @@ $(function(){
|
|
3717
3763
|
customText = this.options.select2.formatSelection;
|
3718
3764
|
if(!customId && !customText) {
|
3719
3765
|
var data = {id: value, text: $(this.options.scope).text()};
|
3720
|
-
this.$input.select2('data', data);
|
3766
|
+
this.$input.select2('data', data);
|
3721
3767
|
}
|
3722
3768
|
}
|
3723
3769
|
},
|
@@ -3806,7 +3852,7 @@ $(function(){
|
|
3806
3852
|
E.g. `[{id: 1, text: "text1"}, {id: 2, text: "text2"}, ...]`.
|
3807
3853
|
|
3808
3854
|
@property source
|
3809
|
-
@type array
|
3855
|
+
@type array|string|function
|
3810
3856
|
@default null
|
3811
3857
|
**/
|
3812
3858
|
source: null,
|
@@ -3817,7 +3863,7 @@ $(function(){
|
|
3817
3863
|
@type string
|
3818
3864
|
@default ', '
|
3819
3865
|
**/
|
3820
|
-
viewseparator: ', '
|
3866
|
+
viewseparator: ', '
|
3821
3867
|
});
|
3822
3868
|
|
3823
3869
|
$.fn.editabletypes.select2 = Constructor;
|
@@ -4297,7 +4343,7 @@ Internally value stored as `momentjs` object.
|
|
4297
4343
|
@final
|
4298
4344
|
@since 1.4.0
|
4299
4345
|
@example
|
4300
|
-
<a href="#" id="dob" data-type="combodate" data-pk="1" data-url="/post" data-value="1984-05-15" data-
|
4346
|
+
<a href="#" id="dob" data-type="combodate" data-pk="1" data-url="/post" data-value="1984-05-15" data-title="Select date"></a>
|
4301
4347
|
<script>
|
4302
4348
|
$(function(){
|
4303
4349
|
$('#dob').editable({
|
@@ -4343,7 +4389,14 @@ $(function(){
|
|
4343
4389
|
$.extend(Constructor.prototype, {
|
4344
4390
|
render: function () {
|
4345
4391
|
this.$input.combodate(this.options.combodate);
|
4392
|
+
|
4393
|
+
if($.fn.editableform.engine === 'bs3') {
|
4394
|
+
this.$input.siblings().find('select').addClass('form-control');
|
4395
|
+
}
|
4346
4396
|
|
4397
|
+
if(this.options.inputclass) {
|
4398
|
+
this.$input.siblings().find('select').addClass(this.options.inputclass);
|
4399
|
+
}
|
4347
4400
|
//"clear" link
|
4348
4401
|
/*
|
4349
4402
|
if(this.options.clear) {
|
@@ -4360,7 +4413,8 @@ $(function(){
|
|
4360
4413
|
|
4361
4414
|
value2html: function(value, element) {
|
4362
4415
|
var text = value ? value.format(this.options.viewformat) : '';
|
4363
|
-
|
4416
|
+
//$(element).text(text);
|
4417
|
+
Constructor.superclass.value2html.call(this, text, element);
|
4364
4418
|
},
|
4365
4419
|
|
4366
4420
|
html2value: function(html) {
|
@@ -4468,15 +4522,33 @@ $(function(){
|
|
4468
4522
|
}(window.jQuery));
|
4469
4523
|
|
4470
4524
|
/*
|
4471
|
-
Editableform based on Twitter Bootstrap
|
4525
|
+
Editableform based on Twitter Bootstrap 2
|
4472
4526
|
*/
|
4473
4527
|
(function ($) {
|
4474
4528
|
"use strict";
|
4475
4529
|
|
4530
|
+
//store parent methods
|
4531
|
+
var pInitInput = $.fn.editableform.Constructor.prototype.initInput;
|
4532
|
+
|
4476
4533
|
$.extend($.fn.editableform.Constructor.prototype, {
|
4477
4534
|
initTemplate: function() {
|
4478
4535
|
this.$form = $($.fn.editableform.template);
|
4479
4536
|
this.$form.find('.editable-error-block').addClass('help-block');
|
4537
|
+
},
|
4538
|
+
initInput: function() {
|
4539
|
+
pInitInput.apply(this);
|
4540
|
+
|
4541
|
+
//for bs2 set default class `input-medium` to standard inputs
|
4542
|
+
var emptyInputClass = this.input.options.inputclass === null || this.input.options.inputclass === false;
|
4543
|
+
var defaultClass = 'input-medium';
|
4544
|
+
|
4545
|
+
//add bs2 default class to standard inputs
|
4546
|
+
//if(this.input.$input.is('input,select,textarea')) {
|
4547
|
+
var stdtypes = 'text,select,textarea,password,email,url,tel,number,range,time'.split(',');
|
4548
|
+
if(~$.inArray(this.input.type, stdtypes) && emptyInputClass) {
|
4549
|
+
this.input.options.inputclass = defaultClass;
|
4550
|
+
this.input.$input.addClass(defaultClass);
|
4551
|
+
}
|
4480
4552
|
}
|
4481
4553
|
});
|
4482
4554
|
|
@@ -4486,7 +4558,9 @@ Editableform based on Twitter Bootstrap
|
|
4486
4558
|
|
4487
4559
|
//error classes
|
4488
4560
|
$.fn.editableform.errorGroupClass = 'error';
|
4489
|
-
$.fn.editableform.errorBlockClass = null;
|
4561
|
+
$.fn.editableform.errorBlockClass = null;
|
4562
|
+
//engine
|
4563
|
+
$.fn.editableform.engine = 'bs2';
|
4490
4564
|
|
4491
4565
|
}(window.jQuery));
|
4492
4566
|
/**
|
@@ -4502,13 +4576,14 @@ Editableform based on Twitter Bootstrap
|
|
4502
4576
|
containerName: 'popover',
|
4503
4577
|
//for compatibility with bootstrap <= 2.2.1 (content inserted into <p> instead of directly .popover-content)
|
4504
4578
|
innerCss: $.fn.popover && $($.fn.popover.defaults.template).find('p').length ? '.popover-content p' : '.popover-content',
|
4505
|
-
|
4579
|
+
defaults: $.fn.popover.defaults,
|
4580
|
+
|
4506
4581
|
initContainer: function(){
|
4507
4582
|
$.extend(this.containerOptions, {
|
4508
4583
|
trigger: 'manual',
|
4509
4584
|
selector: false,
|
4510
4585
|
content: ' ',
|
4511
|
-
template:
|
4586
|
+
template: this.defaults.template
|
4512
4587
|
});
|
4513
4588
|
|
4514
4589
|
//as template property is used in inputs, hide it from popover
|
@@ -5935,7 +6010,7 @@ Since 1.4.0 date has different appearance in **popup** and **inline** modes.
|
|
5935
6010
|
@extends abstractinput
|
5936
6011
|
@final
|
5937
6012
|
@example
|
5938
|
-
<a href="#" id="dob" data-type="date" data-pk="1" data-url="/post" data-
|
6013
|
+
<a href="#" id="dob" data-type="date" data-pk="1" data-url="/post" data-title="Select date">15/05/1984</a>
|
5939
6014
|
<script>
|
5940
6015
|
$(function(){
|
5941
6016
|
$('#dob').editable({
|
@@ -6011,7 +6086,7 @@ $(function(){
|
|
6011
6086
|
|
6012
6087
|
value2html: function(value, element) {
|
6013
6088
|
var text = value ? this.dpg.formatDate(value, this.parsedViewFormat, this.options.datepicker.language) : '';
|
6014
|
-
|
6089
|
+
Date.superclass.value2html.call(this, text, element);
|
6015
6090
|
},
|
6016
6091
|
|
6017
6092
|
html2value: function(html) {
|
@@ -6333,7 +6408,7 @@ $(function(){
|
|
6333
6408
|
//formatDate works with UTCDate!
|
6334
6409
|
var text = value ? this.dpg.formatDate(this.toUTC(value), this.parsedViewFormat, this.options.datetimepicker.language, this.options.formatType) : '';
|
6335
6410
|
if(element) {
|
6336
|
-
DateTime.superclass.value2html(text, element);
|
6411
|
+
DateTime.superclass.value2html.call(this, text, element);
|
6337
6412
|
} else {
|
6338
6413
|
return text;
|
6339
6414
|
}
|
@@ -6557,7 +6632,7 @@ Automatically shown in inline mode.
|
|
6557
6632
|
|
6558
6633
|
}(window.jQuery));
|
6559
6634
|
/**
|
6560
|
-
Typeahead input (bootstrap only). Based on Twitter Bootstrap [typeahead](http://
|
6635
|
+
Typeahead input (bootstrap 2 only). Based on Twitter Bootstrap 2 [typeahead](http://getbootstrap.com/2.3.2/javascript.html#typeahead).
|
6561
6636
|
Depending on `source` format typeahead operates in two modes:
|
6562
6637
|
|
6563
6638
|
* **strings**:
|
@@ -6573,7 +6648,7 @@ Depending on `source` format typeahead operates in two modes:
|
|
6573
6648
|
@since 1.4.1
|
6574
6649
|
@final
|
6575
6650
|
@example
|
6576
|
-
<a href="#" id="country" data-type="typeahead" data-pk="1" data-url="/post" data-
|
6651
|
+
<a href="#" id="country" data-type="typeahead" data-pk="1" data-url="/post" data-title="Input country"></a>
|
6577
6652
|
<script>
|
6578
6653
|
$(function(){
|
6579
6654
|
$('#country').editable({
|
@@ -6629,10 +6704,9 @@ $(function(){
|
|
6629
6704
|
value2htmlFinal: function(value, element) {
|
6630
6705
|
if(this.getIsObjects()) {
|
6631
6706
|
var items = $.fn.editableutils.itemsByValue(value, this.sourceData);
|
6632
|
-
|
6633
|
-
}
|
6634
|
-
|
6635
|
-
}
|
6707
|
+
value = items.length ? items[0].text : '';
|
6708
|
+
}
|
6709
|
+
$.fn.editabletypes.abstractinput.prototype.value2html.call(this, value, element);
|
6636
6710
|
},
|
6637
6711
|
|
6638
6712
|
html2value: function (html) {
|
@@ -6805,7 +6879,7 @@ $(function(){
|
|
6805
6879
|
**/
|
6806
6880
|
tpl:'<input type="text">',
|
6807
6881
|
/**
|
6808
|
-
Configuration of typeahead. [Full list of options](http://
|
6882
|
+
Configuration of typeahead. [Full list of options](http://getbootstrap.com/2.3.2/javascript.html#typeahead).
|
6809
6883
|
|
6810
6884
|
@property typeahead
|
6811
6885
|
@type object
|
@@ -1,8 +1,7 @@
|
|
1
|
-
/*! X-editable - v1.
|
1
|
+
/*! X-editable - v1.5.0
|
2
2
|
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
|
3
3
|
* http://github.com/vitalets/x-editable
|
4
4
|
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
|
5
|
-
|
6
5
|
.editableform {
|
7
6
|
margin-bottom: 0; /* overwrites bootstrap margin */
|
8
7
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bootstrap-x-editable-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Per Andersson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -61,6 +61,7 @@ extra_rdoc_files: []
|
|
61
61
|
files:
|
62
62
|
- .gitignore
|
63
63
|
- Gemfile
|
64
|
+
- LICENSE.txt
|
64
65
|
- README.md
|
65
66
|
- Rakefile
|
66
67
|
- X-EDITABLE-LICENSE-MIT
|