fuelux-rails 2.3.2 → 2.4.0.rc1
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 +4 -4
- data/Rakefile +6 -3
- data/lib/fuelux-rails/version.rb +1 -1
- data/lib/generators/fuelux/install_generator.rb +2 -2
- data/lib/tasks/fuelux-rails_tasks.rake +99 -3
- data/vendor/assets/javascripts/fuelux.js +4 -4
- data/vendor/assets/javascripts/fuelux/checkbox.js +22 -3
- data/vendor/assets/javascripts/fuelux/combobox.js +5 -2
- data/vendor/assets/javascripts/fuelux/datagrid.js +61 -12
- data/vendor/assets/javascripts/fuelux/intelligent-dropdown.js +132 -0
- data/vendor/assets/javascripts/fuelux/pillbox.js +64 -12
- data/vendor/assets/javascripts/fuelux/radio.js +11 -1
- data/vendor/assets/javascripts/fuelux/search.js +4 -1
- data/vendor/assets/javascripts/fuelux/select.js +13 -16
- data/vendor/assets/javascripts/fuelux/spinner.js +20 -6
- data/vendor/assets/javascripts/fuelux/tree.js +98 -27
- data/vendor/assets/javascripts/fuelux/util.js +3 -1
- data/vendor/assets/javascripts/fuelux/wizard.js +69 -13
- data/vendor/toolkit/fuelux.less +6 -4
- data/vendor/toolkit/fuelux/checkbox.less +14 -2
- data/vendor/toolkit/fuelux/combobox.less +1 -1
- data/vendor/toolkit/fuelux/datagrid.less +5 -0
- data/vendor/toolkit/fuelux/intelligent-dropdown.less +5 -0
- data/vendor/toolkit/fuelux/pillbox.less +1 -1
- data/vendor/toolkit/fuelux/radio.less +4 -2
- data/vendor/toolkit/fuelux/search.less +1 -1
- data/vendor/toolkit/fuelux/select.less +7 -7
- data/vendor/toolkit/fuelux/spinner.less +1 -1
- data/vendor/toolkit/fuelux/tree.less +5 -3
- data/vendor/toolkit/fuelux/wizard.less +21 -34
- metadata +29 -13
@@ -8,6 +8,8 @@
|
|
8
8
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
|
+
|
12
|
+
|
11
13
|
// custom case-insensitive match expression
|
12
14
|
function fuelTextExactCI(elem, text) {
|
13
15
|
return (elem.textContent || elem.innerText || $(elem).text() || '').toLowerCase() === (text || '').toLowerCase();
|
@@ -23,4 +25,4 @@
|
|
23
25
|
return fuelTextExactCI(elem, match[3]);
|
24
26
|
};
|
25
27
|
|
26
|
-
}(window.jQuery);
|
28
|
+
}(window.jQuery);
|
@@ -8,6 +8,9 @@
|
|
8
8
|
|
9
9
|
!function ($) {
|
10
10
|
|
11
|
+
|
12
|
+
|
13
|
+
|
11
14
|
// WIZARD CONSTRUCTOR AND PROTOTYPE
|
12
15
|
|
13
16
|
var Wizard = function (element, options) {
|
@@ -15,8 +18,8 @@
|
|
15
18
|
|
16
19
|
this.$element = $(element);
|
17
20
|
this.options = $.extend({}, $.fn.wizard.defaults, options);
|
18
|
-
this.currentStep =
|
19
|
-
this.numSteps = this.$element.find('li').length;
|
21
|
+
this.currentStep = this.options.selectedItem.step;
|
22
|
+
this.numSteps = this.$element.find('.steps li').length;
|
20
23
|
this.$prevBtn = this.$element.find('button.btn-prev');
|
21
24
|
this.$nextBtn = this.$element.find('button.btn-next');
|
22
25
|
|
@@ -28,6 +31,10 @@
|
|
28
31
|
this.$prevBtn.on('click', $.proxy(this.previous, this));
|
29
32
|
this.$nextBtn.on('click', $.proxy(this.next, this));
|
30
33
|
this.$element.on('click', 'li.complete', $.proxy(this.stepclicked, this));
|
34
|
+
|
35
|
+
if(this.currentStep > 1) {
|
36
|
+
this.selectedItem(this.options.selectedItem);
|
37
|
+
}
|
31
38
|
};
|
32
39
|
|
33
40
|
Wizard.prototype = {
|
@@ -55,34 +62,66 @@
|
|
55
62
|
}
|
56
63
|
|
57
64
|
// reset classes for all steps
|
58
|
-
var $steps = this.$element.find('li');
|
65
|
+
var $steps = this.$element.find('.steps li');
|
59
66
|
$steps.removeClass('active').removeClass('complete');
|
60
67
|
$steps.find('span.badge').removeClass('badge-info').removeClass('badge-success');
|
61
68
|
|
62
69
|
// set class for all previous steps
|
63
|
-
var prevSelector = 'li:lt(' + (this.currentStep - 1) + ')';
|
70
|
+
var prevSelector = '.steps li:lt(' + (this.currentStep - 1) + ')';
|
64
71
|
var $prevSteps = this.$element.find(prevSelector);
|
65
72
|
$prevSteps.addClass('complete');
|
66
73
|
$prevSteps.find('span.badge').addClass('badge-success');
|
67
74
|
|
68
75
|
// set class for current step
|
69
|
-
var currentSelector = 'li:eq(' + (this.currentStep - 1) + ')';
|
76
|
+
var currentSelector = '.steps li:eq(' + (this.currentStep - 1) + ')';
|
70
77
|
var $currentStep = this.$element.find(currentSelector);
|
71
78
|
$currentStep.addClass('active');
|
72
79
|
$currentStep.find('span.badge').addClass('badge-info');
|
73
80
|
|
74
81
|
// set display of target element
|
75
82
|
var target = $currentStep.data().target;
|
76
|
-
|
83
|
+
this.$element.find('.step-pane').removeClass('active');
|
77
84
|
$(target).addClass('active');
|
78
85
|
|
86
|
+
// reset the wizard position to the left
|
87
|
+
$('.wizard .steps').attr('style','margin-left: 0');
|
88
|
+
|
89
|
+
// check if the steps are wider than the container div
|
90
|
+
var totalWidth = 0;
|
91
|
+
$('.wizard .steps > li').each(function () {
|
92
|
+
totalWidth += $(this).outerWidth();
|
93
|
+
});
|
94
|
+
var containerWidth = 0;
|
95
|
+
if ($('.wizard .actions').length) {
|
96
|
+
containerWidth = $('.wizard').width() - $('.wizard .actions').outerWidth();
|
97
|
+
} else {
|
98
|
+
containerWidth = $('.wizard').width();
|
99
|
+
}
|
100
|
+
if (totalWidth > containerWidth) {
|
101
|
+
|
102
|
+
// set the position so that the last step is on the right
|
103
|
+
var newMargin = totalWidth - containerWidth;
|
104
|
+
$('.wizard .steps').attr('style','margin-left: -' + newMargin + 'px');
|
105
|
+
|
106
|
+
// set the position so that the active step is in a good
|
107
|
+
// position if it has been moved out of view
|
108
|
+
if ($('.wizard li.active').position().left < 200) {
|
109
|
+
newMargin += $('.wizard li.active').position().left - 200;
|
110
|
+
if (newMargin < 1) {
|
111
|
+
$('.wizard .steps').attr('style','margin-left: 0');
|
112
|
+
} else {
|
113
|
+
$('.wizard .steps').attr('style','margin-left: -' + newMargin + 'px');
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
|
79
118
|
this.$element.trigger('changed');
|
80
119
|
},
|
81
120
|
|
82
121
|
stepclicked: function (e) {
|
83
122
|
var li = $(e.currentTarget);
|
84
123
|
|
85
|
-
var index =
|
124
|
+
var index = this.$element.find('.steps li').index(li);
|
86
125
|
|
87
126
|
var evt = $.Event('stepclick');
|
88
127
|
this.$element.trigger(evt, {step: index + 1});
|
@@ -122,10 +161,25 @@
|
|
122
161
|
}
|
123
162
|
},
|
124
163
|
|
125
|
-
selectedItem: function (
|
126
|
-
|
127
|
-
|
128
|
-
|
164
|
+
selectedItem: function (selectedItem) {
|
165
|
+
var retVal, step;
|
166
|
+
|
167
|
+
if(selectedItem) {
|
168
|
+
|
169
|
+
step = selectedItem.step || -1;
|
170
|
+
|
171
|
+
if(step >= 1 && step <= this.numSteps) {
|
172
|
+
this.currentStep = step;
|
173
|
+
this.setState();
|
174
|
+
}
|
175
|
+
|
176
|
+
retVal = this;
|
177
|
+
}
|
178
|
+
else {
|
179
|
+
retVal = { step: this.currentStep };
|
180
|
+
}
|
181
|
+
|
182
|
+
return retVal;
|
129
183
|
}
|
130
184
|
};
|
131
185
|
|
@@ -147,7 +201,9 @@
|
|
147
201
|
return (methodReturn === undefined) ? $set : methodReturn;
|
148
202
|
};
|
149
203
|
|
150
|
-
$.fn.wizard.defaults = {
|
204
|
+
$.fn.wizard.defaults = {
|
205
|
+
selectedItem: {step:1}
|
206
|
+
};
|
151
207
|
|
152
208
|
$.fn.wizard.Constructor = Wizard;
|
153
209
|
|
@@ -162,4 +218,4 @@
|
|
162
218
|
});
|
163
219
|
});
|
164
220
|
|
165
|
-
}(window.jQuery);
|
221
|
+
}(window.jQuery);
|
data/vendor/toolkit/fuelux.less
CHANGED
@@ -1,13 +1,15 @@
|
|
1
|
-
//
|
1
|
+
// Tree
|
2
|
+
// --------------------------------------------------
|
3
|
+
@treeBackgroundHover: #DFEEF5;
|
4
|
+
@treeBackgroundSelect: #B9DFF1;
|
2
5
|
@import "fuelux/checkbox.less";
|
3
6
|
@import "fuelux/combobox.less";
|
4
7
|
@import "fuelux/datagrid.less";
|
8
|
+
@import "fuelux/intelligent-dropdown.less";
|
5
9
|
@import "fuelux/pillbox.less";
|
6
10
|
@import "fuelux/radio.less";
|
7
|
-
@import "fuelux/spinner.less";
|
8
11
|
@import "fuelux/search.less";
|
9
12
|
@import "fuelux/select.less";
|
10
|
-
@
|
11
|
-
@treeBackgroundSelect: #B9DFF1;
|
13
|
+
@import "fuelux/spinner.less";
|
12
14
|
@import "fuelux/tree.less";
|
13
15
|
@import "fuelux/wizard.less";
|
@@ -1,10 +1,22 @@
|
|
1
|
+
.form-inline {
|
2
|
+
.checkbox-custom {
|
3
|
+
padding-left: 20px;
|
4
|
+
}
|
5
|
+
|
6
|
+
.checkbox-custom .checkbox {
|
7
|
+
padding-left: 16px;
|
8
|
+
}
|
9
|
+
}
|
10
|
+
|
1
11
|
.checkbox-custom {
|
2
12
|
input[type=checkbox] {
|
3
|
-
|
13
|
+
/* IE cannot fire events if display none or visibility hidden */
|
14
|
+
position: relative;
|
15
|
+
top: -99999px;
|
4
16
|
}
|
5
17
|
|
6
18
|
i {
|
7
|
-
background-image:
|
19
|
+
background-image: url(../img/form.png);
|
8
20
|
background-position: 0 1px;
|
9
21
|
background-repeat: no-repeat;
|
10
22
|
margin-left: -20px;
|
@@ -34,12 +34,17 @@
|
|
34
34
|
}
|
35
35
|
}
|
36
36
|
|
37
|
+
// When changing this section verify stretchHeight column sizes when sorting
|
38
|
+
// and update SORTED_HEADER_OFFSET in datagrid.js as needed
|
37
39
|
.sorted {
|
38
40
|
.gradientBar(@tableBackgroundAccent, @tableBackgroundAccentDark, @textColor, 'none');
|
39
41
|
|
42
|
+
padding-right: 30px;
|
43
|
+
|
40
44
|
i {
|
41
45
|
float: right;
|
42
46
|
margin-top: 2px;
|
47
|
+
margin-right: -22px;
|
43
48
|
}
|
44
49
|
}
|
45
50
|
|
@@ -1,10 +1,12 @@
|
|
1
1
|
.radio-custom {
|
2
2
|
input[type=radio] {
|
3
|
-
|
3
|
+
/* IE cannot fire events if display none or visibility hidden */
|
4
|
+
position: relative;
|
5
|
+
top: -99999px;
|
4
6
|
}
|
5
7
|
|
6
8
|
i {
|
7
|
-
background-image:
|
9
|
+
background-image: url(../img/form.png);
|
8
10
|
background-position: 0 -15px;
|
9
11
|
background-repeat: no-repeat;
|
10
12
|
margin-left: -20px;
|
@@ -7,11 +7,11 @@
|
|
7
7
|
font-weight: normal;
|
8
8
|
color: #333;
|
9
9
|
}
|
10
|
-
}
|
11
10
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
}
|
11
|
+
&-sizer {
|
12
|
+
display: inline-block;
|
13
|
+
position: absolute;
|
14
|
+
visibility: hidden;
|
15
|
+
top: 0;
|
16
|
+
}
|
17
|
+
}
|
@@ -34,8 +34,10 @@
|
|
34
34
|
}
|
35
35
|
|
36
36
|
.tree-folder-name {
|
37
|
-
|
38
|
-
|
37
|
+
padding-left: 29px;
|
38
|
+
white-space: nowrap;
|
39
|
+
overflow: hidden;
|
40
|
+
text-overflow: ellipsis;
|
39
41
|
}
|
40
42
|
|
41
43
|
}
|
@@ -94,4 +96,4 @@
|
|
94
96
|
background-color: @treeBackgroundSelect;
|
95
97
|
}
|
96
98
|
}
|
97
|
-
}
|
99
|
+
}
|
@@ -6,12 +6,15 @@
|
|
6
6
|
.border-radius(@baseBorderRadius);
|
7
7
|
.box-shadow(0 1px 4px rgba(0,0,0,.065));
|
8
8
|
background-color: @tableBackgroundAccent;
|
9
|
+
position: relative;
|
10
|
+
overflow: hidden;
|
9
11
|
|
10
12
|
ul {
|
11
13
|
list-style: none outside none;
|
12
14
|
padding: 0;
|
13
15
|
margin: 0;
|
14
|
-
|
16
|
+
width: 4000px;
|
17
|
+
|
15
18
|
li {
|
16
19
|
float: left;
|
17
20
|
margin: 0;
|
@@ -32,6 +35,7 @@
|
|
32
35
|
position: absolute;
|
33
36
|
right: -14px;
|
34
37
|
top: 0;
|
38
|
+
z-index: 1;
|
35
39
|
}
|
36
40
|
|
37
41
|
.chevron:before {
|
@@ -75,46 +79,23 @@
|
|
75
79
|
}
|
76
80
|
}
|
77
81
|
|
78
|
-
|
79
|
-
li:nth-child(1) {
|
82
|
+
li:first-child {
|
80
83
|
border-radius: 4px 0 0 4px;
|
81
84
|
padding-left: 20px;
|
82
|
-
z-index: 10;
|
83
|
-
}
|
84
|
-
li:nth-child(2) {
|
85
|
-
z-index: 9;
|
86
|
-
}
|
87
|
-
li:nth-child(3) {
|
88
|
-
z-index: 8;
|
89
|
-
}
|
90
|
-
li:nth-child(4) {
|
91
|
-
z-index: 7;
|
92
|
-
}
|
93
|
-
li:nth-child(5) {
|
94
|
-
z-index: 6;
|
95
|
-
}
|
96
|
-
li:nth-child(6) {
|
97
|
-
z-index: 5;
|
98
|
-
}
|
99
|
-
li:nth-child(7) {
|
100
|
-
z-index: 4;
|
101
|
-
}
|
102
|
-
li:nth-child(8) {
|
103
|
-
z-index: 3;
|
104
|
-
}
|
105
|
-
li:nth-child(9) {
|
106
|
-
z-index: 2;
|
107
|
-
}
|
108
|
-
li:nth-child(10) {
|
109
|
-
z-index: 1;
|
110
85
|
}
|
111
86
|
}
|
112
87
|
|
113
88
|
.actions {
|
114
|
-
|
89
|
+
z-index: 1000;
|
90
|
+
position: absolute;
|
91
|
+
right: 0;
|
92
|
+
line-height: 46px;
|
115
93
|
float: right;
|
116
|
-
padding-
|
94
|
+
padding-left: 15px;
|
95
|
+
padding-right: 15px;
|
117
96
|
vertical-align: middle;
|
97
|
+
background-color: #e5e5e5;
|
98
|
+
border-left: 1px solid @navbarBorder;
|
118
99
|
|
119
100
|
a {
|
120
101
|
line-height: 45px;
|
@@ -143,5 +124,11 @@
|
|
143
124
|
|
144
125
|
.active {
|
145
126
|
display: block;
|
127
|
+
|
128
|
+
.btn-group {
|
129
|
+
.active {
|
130
|
+
display: inline-block;
|
131
|
+
}
|
132
|
+
}
|
146
133
|
}
|
147
|
-
}
|
134
|
+
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fuelux-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.4.0.rc1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen Baldwin
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-09-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -66,34 +66,48 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - '>='
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '3.1'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - '>='
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '3.1'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: twitter-bootstrap-rails
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - '>='
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
76
|
-
type: :
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - '>='
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
98
|
+
name: rake
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
101
|
- - '>='
|
88
102
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
103
|
+
version: '0'
|
90
104
|
type: :development
|
91
105
|
prerelease: false
|
92
106
|
version_requirements: !ruby/object:Gem::Requirement
|
93
107
|
requirements:
|
94
108
|
- - '>='
|
95
109
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
110
|
+
version: '0'
|
97
111
|
description: fuelux-rails project integrates Fuel UX Bootstrap extensions for Rails
|
98
112
|
3.1 Asset Pipeline
|
99
113
|
email:
|
@@ -112,6 +126,7 @@ files:
|
|
112
126
|
- vendor/assets/javascripts/fuelux/checkbox.js
|
113
127
|
- vendor/assets/javascripts/fuelux/combobox.js
|
114
128
|
- vendor/assets/javascripts/fuelux/datagrid.js
|
129
|
+
- vendor/assets/javascripts/fuelux/intelligent-dropdown.js
|
115
130
|
- vendor/assets/javascripts/fuelux/loader.js
|
116
131
|
- vendor/assets/javascripts/fuelux/pillbox.js
|
117
132
|
- vendor/assets/javascripts/fuelux/radio.js
|
@@ -125,6 +140,7 @@ files:
|
|
125
140
|
- vendor/toolkit/fuelux/checkbox.less
|
126
141
|
- vendor/toolkit/fuelux/combobox.less
|
127
142
|
- vendor/toolkit/fuelux/datagrid.less
|
143
|
+
- vendor/toolkit/fuelux/intelligent-dropdown.less
|
128
144
|
- vendor/toolkit/fuelux/pillbox.less
|
129
145
|
- vendor/toolkit/fuelux/radio.less
|
130
146
|
- vendor/toolkit/fuelux/search.less
|
@@ -185,12 +201,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
185
201
|
version: '0'
|
186
202
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
187
203
|
requirements:
|
188
|
-
- - '
|
204
|
+
- - '>'
|
189
205
|
- !ruby/object:Gem::Version
|
190
|
-
version:
|
206
|
+
version: 1.3.1
|
191
207
|
requirements: []
|
192
208
|
rubyforge_project: fuelux-rails
|
193
|
-
rubygems_version: 2.
|
209
|
+
rubygems_version: 2.1.4
|
194
210
|
signing_key:
|
195
211
|
specification_version: 4
|
196
212
|
summary: Fuel UX for Rails 3.1 Asset Pipeline
|