fuelux-rails 2.4.1 → 2.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fuelux-rails/version.rb +1 -1
- data/vendor/assets/javascripts/fuelux/checkbox.js +13 -8
- data/vendor/assets/javascripts/fuelux/combobox.js +13 -8
- data/vendor/assets/javascripts/fuelux/datagrid.js +39 -7
- data/vendor/assets/javascripts/fuelux/pillbox.js +14 -7
- data/vendor/assets/javascripts/fuelux/radio.js +19 -9
- data/vendor/assets/javascripts/fuelux/search.js +15 -6
- data/vendor/assets/javascripts/fuelux/select.js +13 -3
- data/vendor/assets/javascripts/fuelux/spinner.js +19 -12
- data/vendor/assets/javascripts/fuelux/tree.js +12 -7
- data/vendor/assets/javascripts/fuelux/wizard.js +50 -26
- data/vendor/toolkit/fuelux/checkbox.less +1 -1
- data/vendor/toolkit/fuelux/radio.less +13 -3
- data/vendor/toolkit/fuelux/select.less +4 -0
- data/vendor/toolkit/fuelux/tree.less +4 -2
- data/vendor/toolkit/fuelux/wizard.less +20 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55cb9d61718671c8347063ea1b77cfe807b52b9e
|
4
|
+
data.tar.gz: f4e56823b6aa283c6c13f3117f6a58b1669e76f4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0c6c599ad21f11c6a517f076aa9dcddfca793c84693a38908697eecc984099f3423c34178f13fa9db1b21bf65e03f1eb42fedff51afb6dd06cde4dfb2624a3e8
|
7
|
+
data.tar.gz: f795d828313bdef5c100b68659033dde2c2efdf048b54c8f989561fae3be9c483b62a496c64a754138f7351b8d664be89af38594c1fbdca83f6ff54a730007f7
|
data/lib/fuelux-rails/version.rb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
-
|
12
|
+
var old = $.fn.checkbox;
|
13
13
|
|
14
14
|
// CHECKBOX CONSTRUCTOR AND PROTOTYPE
|
15
15
|
|
@@ -89,25 +89,31 @@
|
|
89
89
|
|
90
90
|
// CHECKBOX PLUGIN DEFINITION
|
91
91
|
|
92
|
-
$.fn.checkbox = function (option
|
92
|
+
$.fn.checkbox = function (option) {
|
93
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
93
94
|
var methodReturn;
|
94
95
|
|
95
96
|
var $set = this.each(function () {
|
96
|
-
var $this
|
97
|
-
var data
|
97
|
+
var $this = $( this );
|
98
|
+
var data = $this.data('checkbox');
|
98
99
|
var options = typeof option === 'object' && option;
|
99
100
|
|
100
|
-
if
|
101
|
-
if
|
101
|
+
if( !data ) $this.data('checkbox', (data = new Checkbox(this, options)));
|
102
|
+
if( typeof option === 'string' ) methodReturn = data[ option ].apply( data, args );
|
102
103
|
});
|
103
104
|
|
104
|
-
return (methodReturn === undefined) ? $set : methodReturn;
|
105
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
105
106
|
};
|
106
107
|
|
107
108
|
$.fn.checkbox.defaults = {};
|
108
109
|
|
109
110
|
$.fn.checkbox.Constructor = Checkbox;
|
110
111
|
|
112
|
+
$.fn.checkbox.noConflict = function () {
|
113
|
+
$.fn.checkbox = old;
|
114
|
+
return this;
|
115
|
+
};
|
116
|
+
|
111
117
|
|
112
118
|
// CHECKBOX DATA-API
|
113
119
|
|
@@ -121,5 +127,4 @@
|
|
121
127
|
});
|
122
128
|
});
|
123
129
|
});
|
124
|
-
|
125
130
|
}(window.jQuery);
|
@@ -9,6 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
+
var old = $.fn.combobox;
|
12
13
|
|
13
14
|
|
14
15
|
// COMBOBOX CONSTRUCTOR AND PROTOTYPE
|
@@ -136,30 +137,35 @@
|
|
136
137
|
|
137
138
|
// COMBOBOX PLUGIN DEFINITION
|
138
139
|
|
139
|
-
$.fn.combobox = function (option
|
140
|
+
$.fn.combobox = function (option) {
|
141
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
140
142
|
var methodReturn;
|
141
143
|
|
142
144
|
var $set = this.each(function () {
|
143
|
-
var $this
|
144
|
-
var data
|
145
|
+
var $this = $( this );
|
146
|
+
var data = $this.data( 'combobox' );
|
145
147
|
var options = typeof option === 'object' && option;
|
146
148
|
|
147
|
-
if
|
148
|
-
if
|
149
|
+
if( !data ) $this.data('combobox', (data = new Combobox( this, options ) ) );
|
150
|
+
if( typeof option === 'string' ) methodReturn = data[ option ].apply( data, args );
|
149
151
|
});
|
150
152
|
|
151
|
-
return (methodReturn === undefined) ? $set : methodReturn;
|
153
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
152
154
|
};
|
153
155
|
|
154
156
|
$.fn.combobox.defaults = {};
|
155
157
|
|
156
158
|
$.fn.combobox.Constructor = Combobox;
|
157
159
|
|
160
|
+
$.fn.combobox.noConflict = function () {
|
161
|
+
$.fn.combobox = old;
|
162
|
+
return this;
|
163
|
+
};
|
164
|
+
|
158
165
|
|
159
166
|
// COMBOBOX DATA-API
|
160
167
|
|
161
168
|
$(function () {
|
162
|
-
|
163
169
|
$(window).on('load', function () {
|
164
170
|
$('.combobox').each(function () {
|
165
171
|
var $this = $(this);
|
@@ -174,5 +180,4 @@
|
|
174
180
|
$this.combobox($this.data());
|
175
181
|
});
|
176
182
|
});
|
177
|
-
|
178
183
|
}(window.jQuery);
|
@@ -9,6 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
+
var old = $.fn.datagrid;
|
12
13
|
|
13
14
|
// Relates to thead .sorted styles in datagrid.less
|
14
15
|
var SORTED_HEADER_OFFSET = 22;
|
@@ -85,7 +86,7 @@
|
|
85
86
|
constructor: Datagrid,
|
86
87
|
|
87
88
|
renderColumns: function () {
|
88
|
-
var
|
89
|
+
var $target;
|
89
90
|
|
90
91
|
this.$footer.attr('colspan', this.columns.length);
|
91
92
|
this.$topheader.attr('colspan', this.columns.length);
|
@@ -98,7 +99,12 @@
|
|
98
99
|
colHTML += '>' + column.label + '</th>';
|
99
100
|
});
|
100
101
|
|
101
|
-
|
102
|
+
this.$colheader.append(colHTML);
|
103
|
+
|
104
|
+
if (this.options.dataOptions.sortProperty) {
|
105
|
+
$target = this.$colheader.children('th[data-property="' + this.options.dataOptions.sortProperty + '"]');
|
106
|
+
this.updateColumns($target, this.options.dataOptions.sortDirection);
|
107
|
+
}
|
102
108
|
},
|
103
109
|
|
104
110
|
updateColumns: function ($target, direction) {
|
@@ -147,6 +153,18 @@
|
|
147
153
|
this.$tbody.html(this.placeholderRowHTML(this.options.loadingHTML));
|
148
154
|
|
149
155
|
this.options.dataSource.data(this.options.dataOptions, function (data) {
|
156
|
+
if (typeof data === 'string') {
|
157
|
+
// Error-handling
|
158
|
+
|
159
|
+
self.$footerchildren.css('visibility', 'hidden');
|
160
|
+
|
161
|
+
self.$tbody.html(self.errorRowHTML(data));
|
162
|
+
self.stretchHeight();
|
163
|
+
|
164
|
+
self.$element.trigger('loaded');
|
165
|
+
return;
|
166
|
+
}
|
167
|
+
|
150
168
|
var itemdesc = (data.count === 1) ? self.options.itemText : self.options.itemsText;
|
151
169
|
var rowHTML = '';
|
152
170
|
|
@@ -185,6 +203,11 @@
|
|
185
203
|
|
186
204
|
},
|
187
205
|
|
206
|
+
errorRowHTML: function (content) {
|
207
|
+
return '<tr><td style="text-align:center;padding:20px 20px 0 20px;border-bottom:none;" colspan="' +
|
208
|
+
this.columns.length + '"><div class="alert alert-error">' + content + '</div></td></tr>';
|
209
|
+
},
|
210
|
+
|
188
211
|
placeholderRowHTML: function (content) {
|
189
212
|
return '<tr><td style="text-align:center;padding:20px;border-bottom:none;" colspan="' +
|
190
213
|
this.columns.length + '">' + content + '</td></tr>';
|
@@ -327,14 +350,19 @@
|
|
327
350
|
// DATAGRID PLUGIN DEFINITION
|
328
351
|
|
329
352
|
$.fn.datagrid = function (option) {
|
330
|
-
|
331
|
-
|
332
|
-
|
353
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
354
|
+
var methodReturn;
|
355
|
+
|
356
|
+
var $set = this.each(function () {
|
357
|
+
var $this = $( this );
|
358
|
+
var data = $this.data( 'datagrid' );
|
333
359
|
var options = typeof option === 'object' && option;
|
334
360
|
|
335
|
-
if
|
336
|
-
if
|
361
|
+
if( !data ) $this.data('datagrid', (data = new Datagrid( this, options ) ) );
|
362
|
+
if( typeof option === 'string' ) methodReturn = data[ option ].apply( data, args );
|
337
363
|
});
|
364
|
+
|
365
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
338
366
|
};
|
339
367
|
|
340
368
|
$.fn.datagrid.defaults = {
|
@@ -347,4 +375,8 @@
|
|
347
375
|
|
348
376
|
$.fn.datagrid.Constructor = Datagrid;
|
349
377
|
|
378
|
+
$.fn.datagrid.noConflict = function () {
|
379
|
+
$.fn.datagrid = old;
|
380
|
+
return this;
|
381
|
+
};
|
350
382
|
}(window.jQuery);
|
@@ -9,6 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
+
var old = $.fn.pillbox;
|
12
13
|
|
13
14
|
// PILLBOX CONSTRUCTOR AND PROTOTYPE
|
14
15
|
|
@@ -88,25 +89,32 @@
|
|
88
89
|
|
89
90
|
// PILLBOX PLUGIN DEFINITION
|
90
91
|
|
91
|
-
$.fn.pillbox = function (option
|
92
|
+
$.fn.pillbox = function (option) {
|
93
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
92
94
|
var methodReturn;
|
93
95
|
|
94
96
|
var $set = this.each(function () {
|
95
|
-
var $this
|
96
|
-
var data
|
97
|
+
var $this = $( this );
|
98
|
+
var data = $this.data( 'pillbox' );
|
97
99
|
var options = typeof option === 'object' && option;
|
98
100
|
|
99
|
-
if
|
100
|
-
if
|
101
|
+
if( !data ) $this.data('pillbox', (data = new Pillbox( this, options ) ) );
|
102
|
+
if( typeof option === 'string' ) methodReturn = data[ option ].apply( data, args );
|
101
103
|
});
|
102
104
|
|
103
|
-
return (methodReturn === undefined) ? $set : methodReturn;
|
105
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
104
106
|
};
|
105
107
|
|
106
108
|
$.fn.pillbox.defaults = {};
|
107
109
|
|
108
110
|
$.fn.pillbox.Constructor = Pillbox;
|
109
111
|
|
112
|
+
$.fn.pillbox.noConflict = function () {
|
113
|
+
$.fn.pillbox = old;
|
114
|
+
return this;
|
115
|
+
};
|
116
|
+
|
117
|
+
|
110
118
|
// PILLBOX DATA-API
|
111
119
|
|
112
120
|
$(function () {
|
@@ -117,4 +125,3 @@
|
|
117
125
|
});
|
118
126
|
});
|
119
127
|
}(window.jQuery);
|
120
|
-
|
@@ -9,7 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
-
|
12
|
+
var old = $.fn.radio;
|
13
13
|
|
14
14
|
// RADIO CONSTRUCTOR AND PROTOTYPE
|
15
15
|
|
@@ -41,10 +41,12 @@
|
|
41
41
|
var disabled = !!$radio.prop('disabled');
|
42
42
|
|
43
43
|
this.$icon.removeClass('checked disabled');
|
44
|
+
this.$label.removeClass('checked');
|
44
45
|
|
45
46
|
// set state of radio
|
46
47
|
if (checked === true) {
|
47
48
|
this.$icon.addClass('checked');
|
49
|
+
this.$label.addClass('checked');
|
48
50
|
}
|
49
51
|
if (disabled === true) {
|
50
52
|
this.$icon.addClass('disabled');
|
@@ -52,8 +54,11 @@
|
|
52
54
|
},
|
53
55
|
|
54
56
|
resetGroup: function () {
|
57
|
+
var group = $('input[name="' + this.groupName + '"]');
|
58
|
+
|
55
59
|
// reset all radio buttons in group
|
56
|
-
|
60
|
+
group.next().removeClass('checked');
|
61
|
+
group.parent().removeClass('checked');
|
57
62
|
},
|
58
63
|
|
59
64
|
enable: function () {
|
@@ -92,25 +97,31 @@
|
|
92
97
|
|
93
98
|
// RADIO PLUGIN DEFINITION
|
94
99
|
|
95
|
-
$.fn.radio = function (option
|
100
|
+
$.fn.radio = function (option) {
|
101
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
96
102
|
var methodReturn;
|
97
103
|
|
98
104
|
var $set = this.each(function () {
|
99
|
-
var $this
|
100
|
-
var data
|
105
|
+
var $this = $( this );
|
106
|
+
var data = $this.data( 'radio' );
|
101
107
|
var options = typeof option === 'object' && option;
|
102
108
|
|
103
|
-
if
|
104
|
-
if
|
109
|
+
if( !data ) $this.data('radio', (data = new Radio( this, options ) ) );
|
110
|
+
if( typeof option === 'string' ) methodReturn = data[ option ].apply( data, args );
|
105
111
|
});
|
106
112
|
|
107
|
-
return (methodReturn === undefined) ? $set : methodReturn;
|
113
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
108
114
|
};
|
109
115
|
|
110
116
|
$.fn.radio.defaults = {};
|
111
117
|
|
112
118
|
$.fn.radio.Constructor = Radio;
|
113
119
|
|
120
|
+
$.fn.radio.noConflict = function () {
|
121
|
+
$.fn.radio = old;
|
122
|
+
return this;
|
123
|
+
};
|
124
|
+
|
114
125
|
|
115
126
|
// RADIO DATA-API
|
116
127
|
|
@@ -124,5 +135,4 @@
|
|
124
135
|
});
|
125
136
|
});
|
126
137
|
});
|
127
|
-
|
128
138
|
}(window.jQuery);
|
@@ -9,7 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
-
|
12
|
+
var old = $.fn.search;
|
13
13
|
|
14
14
|
// SEARCH CONSTRUCTOR AND PROTOTYPE
|
15
15
|
|
@@ -97,20 +97,30 @@
|
|
97
97
|
// SEARCH PLUGIN DEFINITION
|
98
98
|
|
99
99
|
$.fn.search = function (option) {
|
100
|
-
|
101
|
-
|
102
|
-
|
100
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
101
|
+
var methodReturn;
|
102
|
+
|
103
|
+
var $set = this.each(function () {
|
104
|
+
var $this = $( this );
|
105
|
+
var data = $this.data( 'search' );
|
103
106
|
var options = typeof option === 'object' && option;
|
104
107
|
|
105
108
|
if (!data) $this.data('search', (data = new Search(this, options)));
|
106
|
-
if (typeof option === 'string') data[option]();
|
109
|
+
if (typeof option === 'string') methodReturn = data[ option ].apply( data, args );
|
107
110
|
});
|
111
|
+
|
112
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
108
113
|
};
|
109
114
|
|
110
115
|
$.fn.search.defaults = {};
|
111
116
|
|
112
117
|
$.fn.search.Constructor = Search;
|
113
118
|
|
119
|
+
$.fn.search.noConflict = function () {
|
120
|
+
$.fn.search = old;
|
121
|
+
return this;
|
122
|
+
};
|
123
|
+
|
114
124
|
|
115
125
|
// SEARCH DATA-API
|
116
126
|
|
@@ -121,5 +131,4 @@
|
|
121
131
|
$this.search($this.data());
|
122
132
|
});
|
123
133
|
});
|
124
|
-
|
125
134
|
}(window.jQuery);
|
@@ -9,6 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
+
var old = $.fn.select;
|
12
13
|
|
13
14
|
|
14
15
|
// SELECT CONSTRUCTOR AND PROTOTYPE
|
@@ -18,6 +19,7 @@
|
|
18
19
|
this.options = $.extend({}, $.fn.select.defaults, options);
|
19
20
|
this.$element.on('click', 'a', $.proxy(this.itemclicked, this));
|
20
21
|
this.$button = this.$element.find('.btn');
|
22
|
+
this.$hiddenField = this.$element.find('.hidden-field');
|
21
23
|
this.$label = this.$element.find('.dropdown-label');
|
22
24
|
this.setDefaultSelection();
|
23
25
|
|
@@ -32,6 +34,7 @@
|
|
32
34
|
|
33
35
|
itemclicked: function (e) {
|
34
36
|
this.$selectedItem = $(e.target).parent();
|
37
|
+
this.$hiddenField.val(this.$selectedItem.attr('data-value'));
|
35
38
|
this.$label.text(this.$selectedItem.text());
|
36
39
|
|
37
40
|
// pass object including text and any data-attributes
|
@@ -90,6 +93,7 @@
|
|
90
93
|
var item = this.$element.find(selector);
|
91
94
|
|
92
95
|
this.$selectedItem = item;
|
96
|
+
this.$hiddenField.val(this.$selectedItem.attr('data-value'));
|
93
97
|
this.$label.text(this.$selectedItem.text());
|
94
98
|
},
|
95
99
|
|
@@ -121,7 +125,8 @@
|
|
121
125
|
|
122
126
|
// SELECT PLUGIN DEFINITION
|
123
127
|
|
124
|
-
$.fn.select = function (option
|
128
|
+
$.fn.select = function (option) {
|
129
|
+
var args = Array.prototype.slice.call(arguments, 1);
|
125
130
|
var methodReturn;
|
126
131
|
|
127
132
|
var $set = this.each(function () {
|
@@ -130,16 +135,21 @@
|
|
130
135
|
var options = typeof option === 'object' && option;
|
131
136
|
|
132
137
|
if (!data) $this.data('select', (data = new Select(this, options)));
|
133
|
-
if (typeof option === 'string') methodReturn = data[option](
|
138
|
+
if (typeof option === 'string') methodReturn = data[option].apply(data, args);
|
134
139
|
});
|
135
140
|
|
136
|
-
return (methodReturn === undefined) ? $set : methodReturn;
|
141
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
137
142
|
};
|
138
143
|
|
139
144
|
$.fn.select.defaults = {};
|
140
145
|
|
141
146
|
$.fn.select.Constructor = Select;
|
142
147
|
|
148
|
+
$.fn.select.noConflict = function () {
|
149
|
+
$.fn.select = old;
|
150
|
+
return this;
|
151
|
+
};
|
152
|
+
|
143
153
|
|
144
154
|
// SELECT DATA-API
|
145
155
|
|
@@ -9,7 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
-
|
12
|
+
var old = $.fn.spinner;
|
13
13
|
|
14
14
|
// SPINNER CONSTRUCTOR AND PROTOTYPE
|
15
15
|
|
@@ -72,7 +72,7 @@
|
|
72
72
|
if(newVal/1){
|
73
73
|
this.options.value = newVal/1;
|
74
74
|
}else{
|
75
|
-
newVal = newVal.replace(/[^0-9]/g,'');
|
75
|
+
newVal = newVal.replace(/[^0-9]/g,'') || '';
|
76
76
|
this.$input.val(newVal);
|
77
77
|
this.options.value = newVal/1;
|
78
78
|
}
|
@@ -81,9 +81,11 @@
|
|
81
81
|
},
|
82
82
|
|
83
83
|
stopSpin: function () {
|
84
|
-
|
85
|
-
|
86
|
-
|
84
|
+
if(this.switches.timeout!==undefined){
|
85
|
+
clearTimeout(this.switches.timeout);
|
86
|
+
this.switches.count = 1;
|
87
|
+
this.triggerChangedEvent();
|
88
|
+
}
|
87
89
|
},
|
88
90
|
|
89
91
|
triggerChangedEvent: function () {
|
@@ -170,19 +172,20 @@
|
|
170
172
|
|
171
173
|
// SPINNER PLUGIN DEFINITION
|
172
174
|
|
173
|
-
$.fn.spinner = function (option
|
175
|
+
$.fn.spinner = function (option) {
|
176
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
174
177
|
var methodReturn;
|
175
178
|
|
176
179
|
var $set = this.each(function () {
|
177
|
-
var $this
|
178
|
-
var data
|
180
|
+
var $this = $( this );
|
181
|
+
var data = $this.data( 'spinner' );
|
179
182
|
var options = typeof option === 'object' && option;
|
180
183
|
|
181
|
-
if
|
182
|
-
if
|
184
|
+
if( !data ) $this.data('spinner', (data = new Spinner( this, options ) ) );
|
185
|
+
if( typeof option === 'string' ) methodReturn = data[ option ].apply( data, args );
|
183
186
|
});
|
184
187
|
|
185
|
-
return (methodReturn === undefined) ? $set : methodReturn;
|
188
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
186
189
|
};
|
187
190
|
|
188
191
|
$.fn.spinner.defaults = {
|
@@ -197,6 +200,11 @@
|
|
197
200
|
|
198
201
|
$.fn.spinner.Constructor = Spinner;
|
199
202
|
|
203
|
+
$.fn.spinner.noConflict = function () {
|
204
|
+
$.fn.spinner = old;
|
205
|
+
return this;
|
206
|
+
};
|
207
|
+
|
200
208
|
|
201
209
|
// SPINNER DATA-API
|
202
210
|
|
@@ -207,5 +215,4 @@
|
|
207
215
|
$this.spinner($this.data());
|
208
216
|
});
|
209
217
|
});
|
210
|
-
|
211
218
|
}(window.jQuery);
|
@@ -9,7 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
-
|
12
|
+
var old = $.fn.tree;
|
13
13
|
|
14
14
|
// TREE CONSTRUCTOR AND PROTOTYPE
|
15
15
|
|
@@ -211,19 +211,20 @@
|
|
211
211
|
|
212
212
|
// TREE PLUGIN DEFINITION
|
213
213
|
|
214
|
-
$.fn.tree = function (option
|
214
|
+
$.fn.tree = function (option) {
|
215
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
215
216
|
var methodReturn;
|
216
217
|
|
217
218
|
var $set = this.each(function () {
|
218
|
-
var $this
|
219
|
-
var data
|
219
|
+
var $this = $( this );
|
220
|
+
var data = $this.data( 'tree' );
|
220
221
|
var options = typeof option === 'object' && option;
|
221
222
|
|
222
|
-
if
|
223
|
-
if
|
223
|
+
if( !data ) $this.data('tree', (data = new Tree( this, options ) ) );
|
224
|
+
if( typeof option === 'string' ) methodReturn = data[ option ].apply( data, args );
|
224
225
|
});
|
225
226
|
|
226
|
-
return (methodReturn === undefined) ? $set : methodReturn;
|
227
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
227
228
|
};
|
228
229
|
|
229
230
|
$.fn.tree.defaults = {
|
@@ -234,4 +235,8 @@
|
|
234
235
|
|
235
236
|
$.fn.tree.Constructor = Tree;
|
236
237
|
|
238
|
+
$.fn.tree.noConflict = function () {
|
239
|
+
$.fn.tree = old;
|
240
|
+
return this;
|
241
|
+
};
|
237
242
|
}(window.jQuery);
|
@@ -9,7 +9,7 @@
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
11
|
|
12
|
-
|
12
|
+
var old = $.fn.wizard;
|
13
13
|
|
14
14
|
// WIZARD CONSTRUCTOR AND PROTOTYPE
|
15
15
|
|
@@ -18,6 +18,7 @@
|
|
18
18
|
|
19
19
|
this.$element = $(element);
|
20
20
|
this.options = $.extend({}, $.fn.wizard.defaults, options);
|
21
|
+
this.options.disablePreviousStep = ( this.$element.data().restrict === "previous" ) ? true : false;
|
21
22
|
this.currentStep = this.options.selectedItem.step;
|
22
23
|
this.numSteps = this.$element.find('.steps li').length;
|
23
24
|
this.$prevBtn = this.$element.find('button.btn-prev');
|
@@ -33,7 +34,12 @@
|
|
33
34
|
this.$element.on('click', 'li.complete', $.proxy(this.stepclicked, this));
|
34
35
|
|
35
36
|
if(this.currentStep > 1) {
|
36
|
-
|
37
|
+
this.selectedItem(this.options.selectedItem);
|
38
|
+
}
|
39
|
+
|
40
|
+
if( this.options.disablePreviousStep ) {
|
41
|
+
this.$prevBtn.attr( 'disabled', true );
|
42
|
+
this.$element.find( '.steps' ).addClass( 'previous-disabled' );
|
37
43
|
}
|
38
44
|
};
|
39
45
|
|
@@ -47,7 +53,9 @@
|
|
47
53
|
var lastStep = (this.currentStep === this.numSteps);
|
48
54
|
|
49
55
|
// disable buttons based on current step
|
50
|
-
this
|
56
|
+
if( !this.options.disablePreviousStep ) {
|
57
|
+
this.$prevBtn.attr('disabled', (firstStep === true || canMovePrev === false));
|
58
|
+
}
|
51
59
|
|
52
60
|
// change button text of last step, if specified
|
53
61
|
var data = this.$nextBtn.data();
|
@@ -84,7 +92,7 @@
|
|
84
92
|
$(target).addClass('active');
|
85
93
|
|
86
94
|
// reset the wizard position to the left
|
87
|
-
|
95
|
+
this.$element.find('.steps').first().attr('style','margin-left: 0');
|
88
96
|
|
89
97
|
// check if the steps are wider than the container div
|
90
98
|
var totalWidth = 0;
|
@@ -92,8 +100,8 @@
|
|
92
100
|
totalWidth += $(this).outerWidth();
|
93
101
|
});
|
94
102
|
var containerWidth = 0;
|
95
|
-
|
96
|
-
|
103
|
+
if (this.$element.find('.actions').length) {
|
104
|
+
containerWidth = this.$element.width() - this.$element.find('.actions').first().outerWidth();
|
97
105
|
} else {
|
98
106
|
containerWidth = this.$element.width();
|
99
107
|
}
|
@@ -101,16 +109,16 @@
|
|
101
109
|
|
102
110
|
// set the position so that the last step is on the right
|
103
111
|
var newMargin = totalWidth - containerWidth;
|
104
|
-
|
112
|
+
this.$element.find('.steps').first().attr('style','margin-left: -' + newMargin + 'px');
|
105
113
|
|
106
114
|
// set the position so that the active step is in a good
|
107
115
|
// position if it has been moved out of view
|
108
|
-
|
109
|
-
|
116
|
+
if (this.$element.find('li.active').first().position().left < 200) {
|
117
|
+
newMargin += this.$element.find('li.active').first().position().left - 200;
|
110
118
|
if (newMargin < 1) {
|
111
|
-
|
119
|
+
this.$element.find('.steps').first().attr('style','margin-left: 0');
|
112
120
|
} else {
|
113
|
-
|
121
|
+
this.$element.find('.steps').first().attr('style','margin-left: -' + newMargin + 'px');
|
114
122
|
}
|
115
123
|
}
|
116
124
|
}
|
@@ -119,20 +127,31 @@
|
|
119
127
|
},
|
120
128
|
|
121
129
|
stepclicked: function (e) {
|
122
|
-
var li
|
130
|
+
var li = $(e.currentTarget);
|
131
|
+
var index = this.$element.find('.steps li').index(li);
|
132
|
+
var canMovePrev = true;
|
123
133
|
|
124
|
-
|
134
|
+
if( this.options.disablePreviousStep ) {
|
135
|
+
if( index < this.currentStep ) {
|
136
|
+
canMovePrev = false;
|
137
|
+
}
|
138
|
+
}
|
125
139
|
|
126
|
-
|
127
|
-
|
128
|
-
|
140
|
+
if( canMovePrev ) {
|
141
|
+
var evt = $.Event('stepclick');
|
142
|
+
this.$element.trigger(evt, {step: index + 1});
|
143
|
+
if (evt.isDefaultPrevented()) return;
|
129
144
|
|
130
|
-
|
131
|
-
|
145
|
+
this.currentStep = (index + 1);
|
146
|
+
this.setState();
|
147
|
+
}
|
132
148
|
},
|
133
149
|
|
134
150
|
previous: function () {
|
135
151
|
var canMovePrev = (this.currentStep > 1);
|
152
|
+
if( this.options.disablePreviousStep ) {
|
153
|
+
canMovePrev = false;
|
154
|
+
}
|
136
155
|
if (canMovePrev) {
|
137
156
|
var e = $.Event('change');
|
138
157
|
this.$element.trigger(e, {step: this.currentStep, direction: 'previous'});
|
@@ -186,19 +205,20 @@
|
|
186
205
|
|
187
206
|
// WIZARD PLUGIN DEFINITION
|
188
207
|
|
189
|
-
$.fn.wizard = function (option
|
208
|
+
$.fn.wizard = function (option) {
|
209
|
+
var args = Array.prototype.slice.call( arguments, 1 );
|
190
210
|
var methodReturn;
|
191
211
|
|
192
212
|
var $set = this.each(function () {
|
193
|
-
var $this
|
194
|
-
var data
|
213
|
+
var $this = $( this );
|
214
|
+
var data = $this.data( 'wizard' );
|
195
215
|
var options = typeof option === 'object' && option;
|
196
216
|
|
197
|
-
if
|
198
|
-
if
|
217
|
+
if( !data ) $this.data('wizard', (data = new Wizard( this, options ) ) );
|
218
|
+
if( typeof option === 'string' ) methodReturn = data[ option ].apply( data, args );
|
199
219
|
});
|
200
220
|
|
201
|
-
return (methodReturn === undefined) ? $set : methodReturn;
|
221
|
+
return ( methodReturn === undefined ) ? $set : methodReturn;
|
202
222
|
};
|
203
223
|
|
204
224
|
$.fn.wizard.defaults = {
|
@@ -207,15 +227,19 @@
|
|
207
227
|
|
208
228
|
$.fn.wizard.Constructor = Wizard;
|
209
229
|
|
230
|
+
$.fn.wizard.noConflict = function () {
|
231
|
+
$.fn.wizard = old;
|
232
|
+
return this;
|
233
|
+
};
|
234
|
+
|
210
235
|
|
211
236
|
// WIZARD DATA-API
|
212
237
|
|
213
238
|
$(function () {
|
214
|
-
$('body').on('
|
239
|
+
$('body').on('mouseover.wizard.data-api', '.wizard', function () {
|
215
240
|
var $this = $(this);
|
216
241
|
if ($this.data('wizard')) return;
|
217
242
|
$this.wizard($this.data());
|
218
243
|
});
|
219
244
|
});
|
220
|
-
|
221
245
|
}(window.jQuery);
|
@@ -1,10 +1,20 @@
|
|
1
1
|
.radio-custom {
|
2
2
|
input[type=radio] {
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
/* IE cannot fire events if display none or visibility hidden */
|
4
|
+
position: relative;
|
5
|
+
left: -99999px;
|
6
6
|
}
|
7
7
|
|
8
|
+
&.highlight {
|
9
|
+
padding: 4px 4px 4px 24px;
|
10
|
+
|
11
|
+
&.checked {
|
12
|
+
background: #e9e9e9;
|
13
|
+
-webkit-border-radius: @borderRadiusSmall;
|
14
|
+
border-radius: @borderRadiusSmall;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
8
18
|
i {
|
9
19
|
background-image: image-url('fuelux/form.png');
|
10
20
|
background-position: 0 -15px;
|
@@ -14,6 +14,24 @@
|
|
14
14
|
padding: 0;
|
15
15
|
margin: 0;
|
16
16
|
width: 4000px;
|
17
|
+
|
18
|
+
&.previous-disabled {
|
19
|
+
li {
|
20
|
+
&.complete {
|
21
|
+
cursor: default;
|
22
|
+
|
23
|
+
&:hover {
|
24
|
+
background: #f3f4f5;
|
25
|
+
color: @successText;
|
26
|
+
cursor: default;
|
27
|
+
|
28
|
+
.chevron:before {
|
29
|
+
border-left-color: #f3f4f5;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
}
|
17
35
|
|
18
36
|
li {
|
19
37
|
float: left;
|
@@ -35,7 +53,7 @@
|
|
35
53
|
position: absolute;
|
36
54
|
right: -14px;
|
37
55
|
top: 0;
|
38
|
-
|
56
|
+
z-index: 1;
|
39
57
|
}
|
40
58
|
|
41
59
|
.chevron:before {
|
@@ -92,7 +110,7 @@
|
|
92
110
|
line-height: 46px;
|
93
111
|
float: right;
|
94
112
|
padding-left: 15px;
|
95
|
-
padding-right: 15px;
|
113
|
+
padding-right: 15px;
|
96
114
|
vertical-align: middle;
|
97
115
|
background-color: #e5e5e5;
|
98
116
|
border-left: 1px solid @navbarBorder;
|