less-rails-jasny-bootstrap 3.1.3 → 3.1.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +4 -4
- data/Rakefile +28 -2
- data/app/assets/javascripts/{jasny/bootstrap → jasny-bootstrap}/fileinput.js +0 -0
- data/app/assets/javascripts/{jasny/bootstrap → jasny-bootstrap}/inputmask.js +6 -4
- data/app/assets/javascripts/jasny-bootstrap/jasny-bootstrap.js +5 -0
- data/app/assets/javascripts/{jasny/bootstrap → jasny-bootstrap}/offcanvas.js +57 -3
- data/app/assets/javascripts/{jasny/bootstrap → jasny-bootstrap}/rowlink.js +0 -0
- data/app/assets/javascripts/{jasny/bootstrap → jasny-bootstrap}/transition.js +1 -1
- data/app/assets/javascripts/jasny-bootstrap/wizard.js +240 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/alerts-fixed.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/build/jasny-bootstrap.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/build/mixins.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/build/variables.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/button-labels.less +4 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/fileinput.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/grid-container-smooth.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/jasny-bootstrap.less +6 -6
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/nav-tab-alignment.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/navmenu.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/offcanvas.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/rowlink.less +0 -0
- data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/variables.less +2 -2
- data/app/assets/stylesheets/jasny-bootstrap/wizard.less +45 -0
- data/less-rails-jasny-bootstrap.gemspec +3 -2
- data/lib/less/rails/jasny/bootstrap.rb +10 -1
- data/lib/less/rails/jasny/bootstrap/engine.rb +9 -9
- metadata +51 -23
- data/app/assets/javascripts/jasny/jasny-bootstrap.js +0 -5
- data/app/assets/stylesheets/jasny/jasny-bootstrap.less +0 -1
- data/lib/less-rails-jasny-bootstrap.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd2855def27b7afb3d2ebcbf2c197663a89c9fc3
|
4
|
+
data.tar.gz: bfc58f37a68ec64809defcc47645da9e55519b11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1be8b383045e20d1e339e1734694dbe2513e66b555b3cfb803bb13092dea0a82907da1dbc7107e0bb0070fddf956418213800f115e2e966e4eef062a0ff24460
|
7
|
+
data.tar.gz: c8772d085b1c2a66727aa1f59b11b7dd1841be854c1c3a26b00376dbd18a35a72195685b690442f8dc5dfd7f5784e1d121f92ae9ecdb261fc3230b3e0ccca854
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Less Rails Jasny Bootstrap
|
2
2
|
|
3
3
|
|
4
|
-
The less-rails-jasny-bootstrap project makes [Jasny Bootstrap](http://jasny.github.io/bootstrap/)'s source LESS files, compiled CSS, and JavaScript files available in the Rails 3.x and 4.x asset pipeline.
|
4
|
+
The `less-rails-jasny-bootstrap` project makes [Jasny Bootstrap](http://jasny.github.io/bootstrap/)'s source LESS files, compiled CSS, and JavaScript files available in the Rails 3.x and 4.x asset pipeline.
|
5
5
|
|
6
6
|
The benefits:
|
7
7
|
|
@@ -12,7 +12,7 @@ The benefits:
|
|
12
12
|
|
13
13
|
## Installation
|
14
14
|
|
15
|
-
LESS requires a JavaScript runtime to work. Which one you use depends on your Ruby implementation. Two are shown for Ruby (MRI) and JRuby. Add only the relevant one to your Gemfile. If you want to use Jasny Bootstrap's JavaScript plugins, also add the `jquery-rails` gem. Finally, add `less-rails-bootstrap and `less-jasny-rails-bootstrap` and run `bundle install`.
|
15
|
+
LESS requires a JavaScript runtime to work. Which one you use depends on your Ruby implementation. Two are shown for Ruby (MRI) and JRuby. Add only the relevant one to your Gemfile. If you want to use Jasny Bootstrap's JavaScript plugins, also add the `jquery-rails` gem. Finally, add `less-rails-bootstrap` and `less-jasny-rails-bootstrap` and run `bundle install`.
|
16
16
|
|
17
17
|
```ruby
|
18
18
|
# Gemfile
|
@@ -76,6 +76,6 @@ This gem will directly track the semantic versioning of the Jasny Bootstrap proj
|
|
76
76
|
|
77
77
|
[Less::Rails](https://github.com/metaskills/less-rails) and [Less::Rails::Bootstrap](https://github.com/metaskills/less-rails-bootstrap) - Copyright (c) 2011 Ken Collins, <ken@metaskills.net> and distributed under the MIT license.
|
78
78
|
|
79
|
-
[Jasny Bootstrap] - Copyright 2013 Jasny BV under [the Apache 2.0 license](LICENSE).
|
79
|
+
[Jasny Bootstrap](https://github.com/jasny/bootstrap) - Copyright 2013 Jasny BV under [the Apache 2.0 license](LICENSE).
|
80
80
|
|
81
|
-
Distributed under MIT License.
|
81
|
+
Distributed under MIT License.
|
data/Rakefile
CHANGED
@@ -1,2 +1,28 @@
|
|
1
|
-
require '
|
2
|
-
require '
|
1
|
+
require 'json'
|
2
|
+
require File.expand_path('../lib/less/rails/jasny/bootstrap/version', __FILE__)
|
3
|
+
|
4
|
+
desc 'Update assets'
|
5
|
+
task :update do
|
6
|
+
if ARGV.count > 1
|
7
|
+
checkout_branch = "tags/#{ARGV.last}"
|
8
|
+
task ARGV.last.to_sym {}
|
9
|
+
else
|
10
|
+
checkout_branch = '`git describe --abbrev=0`'
|
11
|
+
end
|
12
|
+
|
13
|
+
if Dir.exist?('jasny-bootstrap-src')
|
14
|
+
system("cd jasny-bootstrap-src && git checkout master && git pull && git checkout #{checkout_branch}")
|
15
|
+
else
|
16
|
+
system('git clone git://github.com/jasny/bootstrap.git jasny-bootstrap-src')
|
17
|
+
system("cd jasny-bootstrap-src && git checkout #{checkout_branch}")
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
system('cp jasny-bootstrap-src/js/*.js app/assets/javascripts/jasny-bootstrap/')
|
22
|
+
system('cp jasny-bootstrap-src/less/*.less app/assets/stylesheets/jasny-bootstrap/')
|
23
|
+
system('git status')
|
24
|
+
|
25
|
+
puts "\n"
|
26
|
+
puts "jasny-bootstrap version: #{JSON.parse(File.read('./jasny-bootstrap-src/bower.json'))['version']}"
|
27
|
+
puts "less-rails-jasny-bootstrap version: #{Less::Rails::Jasny::Bootstrap::VERSION}"
|
28
|
+
end
|
File without changes
|
@@ -89,7 +89,7 @@
|
|
89
89
|
Inputmask.prototype.listen = function() {
|
90
90
|
if (this.$element.attr("readonly")) return
|
91
91
|
|
92
|
-
var pasteEventName = (isIE ? 'paste' : 'input') + ".
|
92
|
+
var pasteEventName = (isIE ? 'paste' : 'input') + ".bs.inputmask"
|
93
93
|
|
94
94
|
this.$element
|
95
95
|
.on("unmask.bs.inputmask", $.proxy(this.unmask, this))
|
@@ -185,8 +185,8 @@
|
|
185
185
|
|
186
186
|
Inputmask.prototype.unmask = function() {
|
187
187
|
this.$element
|
188
|
-
.unbind(".
|
189
|
-
.removeData("inputmask")
|
188
|
+
.unbind(".bs.inputmask")
|
189
|
+
.removeData("bs.inputmask")
|
190
190
|
}
|
191
191
|
|
192
192
|
Inputmask.prototype.focusEvent = function() {
|
@@ -209,8 +209,10 @@
|
|
209
209
|
|
210
210
|
Inputmask.prototype.blurEvent = function() {
|
211
211
|
this.checkVal()
|
212
|
-
if (this.$element.val() !== this.focusText)
|
212
|
+
if (this.$element.val() !== this.focusText) {
|
213
213
|
this.$element.trigger('change')
|
214
|
+
this.$element.trigger('input')
|
215
|
+
}
|
214
216
|
}
|
215
217
|
|
216
218
|
Inputmask.prototype.keydownEvent = function(e) {
|
@@ -33,7 +33,7 @@
|
|
33
33
|
$(window).on('resize', $.proxy(this.recalc, this))
|
34
34
|
}
|
35
35
|
|
36
|
-
if (this.options.autohide)
|
36
|
+
if (this.options.autohide && !this.options.modal)
|
37
37
|
$(document).on('click', $.proxy(this.autohide, this))
|
38
38
|
|
39
39
|
if (this.options.toggle) this.toggle()
|
@@ -49,7 +49,8 @@
|
|
49
49
|
placement: 'auto',
|
50
50
|
autohide: true,
|
51
51
|
recalc: true,
|
52
|
-
disableScrolling: true
|
52
|
+
disableScrolling: true,
|
53
|
+
modal: false
|
53
54
|
}
|
54
55
|
|
55
56
|
OffCanvas.prototype.offset = function () {
|
@@ -138,7 +139,7 @@
|
|
138
139
|
|
139
140
|
OffCanvas.prototype.disableScrolling = function() {
|
140
141
|
var bodyWidth = $('body').width()
|
141
|
-
var prop = 'padding-'
|
142
|
+
var prop = 'padding-right'
|
142
143
|
|
143
144
|
if ($('body').data('offcanvas-style') === undefined) {
|
144
145
|
$('body').data('offcanvas-style', $('body').attr('style') || '')
|
@@ -153,6 +154,15 @@
|
|
153
154
|
$('body').css(prop, padding)
|
154
155
|
}, 1)
|
155
156
|
}
|
157
|
+
//disable scrolling on mobiles (they ignore overflow:hidden)
|
158
|
+
$('body').on('touchmove.bs', function(e) {
|
159
|
+
if (!$(event.target).closest('.offcanvas').length)
|
160
|
+
e.preventDefault();
|
161
|
+
});
|
162
|
+
}
|
163
|
+
|
164
|
+
OffCanvas.prototype.enableScrolling = function() {
|
165
|
+
$('body').off('touchmove.bs');
|
156
166
|
}
|
157
167
|
|
158
168
|
OffCanvas.prototype.show = function () {
|
@@ -186,6 +196,7 @@
|
|
186
196
|
})
|
187
197
|
|
188
198
|
if (this.options.disableScrolling) this.disableScrolling()
|
199
|
+
if (this.options.modal) this.toggleBackdrop()
|
189
200
|
|
190
201
|
var complete = function () {
|
191
202
|
if (this.state != 'slide-in') return
|
@@ -231,6 +242,9 @@
|
|
231
242
|
this.$element.trigger('hidden.bs.offcanvas')
|
232
243
|
}
|
233
244
|
|
245
|
+
if (this.options.disableScrolling) this.enableScrolling()
|
246
|
+
if (this.options.modal) this.toggleBackdrop()
|
247
|
+
|
234
248
|
elements.removeClass('canvas-slid').addClass('canvas-sliding')
|
235
249
|
|
236
250
|
setTimeout($.proxy(function() {
|
@@ -243,6 +257,46 @@
|
|
243
257
|
this[this.state === 'slid' ? 'hide' : 'show']()
|
244
258
|
}
|
245
259
|
|
260
|
+
OffCanvas.prototype.toggleBackdrop = function (callback) {
|
261
|
+
callback = callback || $.noop;
|
262
|
+
if (this.state == 'slide-in') {
|
263
|
+
var doAnimate = $.support.transition;
|
264
|
+
|
265
|
+
this.$backdrop = $('<div class="modal-backdrop fade" />')
|
266
|
+
.insertAfter(this.$element);
|
267
|
+
|
268
|
+
if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
|
269
|
+
|
270
|
+
this.$backdrop.addClass('in')
|
271
|
+
this.$backdrop.on('click.bs', $.proxy(this.autohide, this))
|
272
|
+
|
273
|
+
doAnimate ?
|
274
|
+
this.$backdrop
|
275
|
+
.one($.support.transition.end, callback)
|
276
|
+
.emulateTransitionEnd(150) :
|
277
|
+
callback()
|
278
|
+
} else if (this.state == 'slide-out' && this.$backdrop) {
|
279
|
+
this.$backdrop.removeClass('in');
|
280
|
+
$('body').off('touchmove.bs');
|
281
|
+
var self = this;
|
282
|
+
if ($.support.transition) {
|
283
|
+
this.$backdrop
|
284
|
+
.one($.support.transition.end, function() {
|
285
|
+
self.$backdrop.remove();
|
286
|
+
callback()
|
287
|
+
self.$backdrop = null;
|
288
|
+
})
|
289
|
+
.emulateTransitionEnd(150);
|
290
|
+
} else {
|
291
|
+
this.$backdrop.remove();
|
292
|
+
this.$backdrop = null;
|
293
|
+
callback();
|
294
|
+
}
|
295
|
+
} else if (callback) {
|
296
|
+
callback()
|
297
|
+
}
|
298
|
+
}
|
299
|
+
|
246
300
|
OffCanvas.prototype.calcClone = function() {
|
247
301
|
this.$calcClone = this.$element.clone()
|
248
302
|
.html('')
|
File without changes
|
@@ -32,7 +32,7 @@
|
|
32
32
|
return false // explicit for ie8 ( ._.)
|
33
33
|
}
|
34
34
|
|
35
|
-
if ($.support.transition !== undefined) return // Prevent conflict with
|
35
|
+
if ($.support.transition !== undefined) return // Prevent conflict with vanilla Bootstrap
|
36
36
|
|
37
37
|
// http://blog.alexmaccaw.com/css-transitions
|
38
38
|
$.fn.emulateTransitionEnd = function (duration) {
|
@@ -0,0 +1,240 @@
|
|
1
|
+
/* ============================================================
|
2
|
+
* Bootstrap: wizard.js v3.1.2
|
3
|
+
* http://jasny.github.io/bootstrap/javascript/#wizard
|
4
|
+
* ============================================================
|
5
|
+
* Copyright 2012-2014 Arnold Daniels
|
6
|
+
*
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
8
|
+
* you may not use this file except in compliance with the License.
|
9
|
+
* You may obtain a copy of the License at
|
10
|
+
*
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
12
|
+
*
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
16
|
+
* See the License for the specific language governing permissions and
|
17
|
+
* limitations under the License.
|
18
|
+
* ============================================================ */
|
19
|
+
|
20
|
+
+function ($) { "use strict";
|
21
|
+
|
22
|
+
var Wizard = function (element, options) {
|
23
|
+
this.$element = $(element)
|
24
|
+
this.options = options
|
25
|
+
}
|
26
|
+
|
27
|
+
Wizard.defaults = {
|
28
|
+
donestep: false
|
29
|
+
}
|
30
|
+
|
31
|
+
Wizard.prototype.listen = function () {
|
32
|
+
this.$element.on('click.bs.wizard', '[data-toggle="wizard"]', $.proxy(this.click, this))
|
33
|
+
}
|
34
|
+
|
35
|
+
Wizard.prototype.show = function (step) {
|
36
|
+
var self = this
|
37
|
+
var $target = this.getTarget(step)
|
38
|
+
|
39
|
+
if ($target.length === 0 || $target.hasClass('active')) {
|
40
|
+
if (step === 'done') this.$element.trigger('done.bs.wizard')
|
41
|
+
return
|
42
|
+
}
|
43
|
+
|
44
|
+
var $active = this.$element.find('.wizard-step.active')
|
45
|
+
var direction = $target.nextAll('.active').length ? 'right' : 'left'
|
46
|
+
var to = direction === 'left' ? 'next' : 'prev'
|
47
|
+
|
48
|
+
var e = $.Event('step.bs.wizard', { relatedTarget: $target, direction: to === 'next' ? 'forward' : 'back' })
|
49
|
+
this.$element.trigger(e)
|
50
|
+
if (e.isDefaultPrevented()) return
|
51
|
+
|
52
|
+
if (this.sliding) return this.$element.one('step.bs.wizard', function () { self.show(step) })
|
53
|
+
|
54
|
+
this.sliding = true
|
55
|
+
|
56
|
+
if ($.support.transition && this.$element.hasClass('slide')) {
|
57
|
+
$target.addClass(to)
|
58
|
+
$target[0].offsetWidth // force reflow
|
59
|
+
$active.addClass(direction)
|
60
|
+
$target.addClass(direction)
|
61
|
+
$active
|
62
|
+
.one($.support.transition.end, function () {
|
63
|
+
$target.removeClass([to, direction].join(' ')).addClass('active')
|
64
|
+
$active.removeClass(['active', direction].join(' '))
|
65
|
+
self.activate()
|
66
|
+
self.sliding = false
|
67
|
+
setTimeout(function () { self.$element.trigger('stepped.bs.wizard') }, 0)
|
68
|
+
})
|
69
|
+
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
|
70
|
+
} else {
|
71
|
+
$active.removeClass('active')
|
72
|
+
$target.addClass('active')
|
73
|
+
this.activate($target)
|
74
|
+
this.sliding = false
|
75
|
+
this.$element.trigger('stepped.bs.wizard')
|
76
|
+
}
|
77
|
+
}
|
78
|
+
|
79
|
+
Wizard.prototype.refresh = function() {
|
80
|
+
var $target = this.$element.find('.wizard-step.active')
|
81
|
+
if ($target.length === 0) $target = this.$element.find('.wizard-step').first()
|
82
|
+
|
83
|
+
$target.addClass('active')
|
84
|
+
this.activate($target)
|
85
|
+
}
|
86
|
+
|
87
|
+
Wizard.prototype.getTarget = function (step) {
|
88
|
+
var $target
|
89
|
+
var $active = this.$element.children('.wizard-step.active')
|
90
|
+
|
91
|
+
if (step === 'first') {
|
92
|
+
$target = this.$element.children('.wizard-step').first()
|
93
|
+
} else if (step === 'prev') {
|
94
|
+
$target = $active.prevAll('.wizard-step').first()
|
95
|
+
} else if (step === 'next') {
|
96
|
+
$target = $active.nextAll('.wizard-step').first()
|
97
|
+
} else if (step === 'done' && this.options.donestep) {
|
98
|
+
$target = this.$element.children('.wizard-step').last()
|
99
|
+
} else if (typeof step === 'number' || step.match(/^-?\d+$/)) {
|
100
|
+
$target = this.$element.children('.wizard-step').eq(step + (step >= 0))
|
101
|
+
} else {
|
102
|
+
$target = $(step)
|
103
|
+
}
|
104
|
+
|
105
|
+
return $target
|
106
|
+
}
|
107
|
+
|
108
|
+
Wizard.prototype.activate = function ($target) {
|
109
|
+
this.clearActivate()
|
110
|
+
this.setActivate($target)
|
111
|
+
this.setProgress($target)
|
112
|
+
}
|
113
|
+
|
114
|
+
Wizard.prototype.clearActivate = function () {
|
115
|
+
var self = this
|
116
|
+
var $links = $()
|
117
|
+
|
118
|
+
var id = this.$element.attr('id')
|
119
|
+
$links = $links.add('[data-target="#' + id + '"], a[href="#' + id + '"]')
|
120
|
+
|
121
|
+
var ids = this.$element.children('.wizard-step[id]').map(function() {
|
122
|
+
return $(this).attr('id')
|
123
|
+
})
|
124
|
+
|
125
|
+
$.each(ids, function(id) {
|
126
|
+
$links = $links.add('[data-target="#' + id + '"],a[href="#' + id + '"]')
|
127
|
+
})
|
128
|
+
|
129
|
+
$links.each(function() {
|
130
|
+
$(this).closest('.wizard-hide').removeClass('in')
|
131
|
+
self.getActivateElement(this).not('.progress').removeClass('active')
|
132
|
+
})
|
133
|
+
}
|
134
|
+
|
135
|
+
Wizard.prototype.setActivate = function ($target) {
|
136
|
+
var self = this
|
137
|
+
var $steps = this.$element.children('.wizard-step')
|
138
|
+
var $target = $steps.filter('.active')
|
139
|
+
var index = $steps.index($target)
|
140
|
+
var length = $steps.length - (this.options.donestep ? 1 : 0)
|
141
|
+
|
142
|
+
if (index === -1) return // shouldn't happen
|
143
|
+
|
144
|
+
var id = this.$element.attr('id')
|
145
|
+
$('[data-target="#' + id + '"],a[href="#' + id + '"]').filter(function() {
|
146
|
+
var step = $(this).data('step')
|
147
|
+
|
148
|
+
if (!step) return false
|
149
|
+
if ($target.is(step)) return true
|
150
|
+
if (typeof step === 'number' || step.match(/^\d+$/)) {
|
151
|
+
step = parseInt(step, 10)
|
152
|
+
return step === index + 1 || step === index - $steps.length
|
153
|
+
}
|
154
|
+
|
155
|
+
if (step === 'first' || step === 'prev') return index > 0
|
156
|
+
if (step === 'next') return index + 1 < length
|
157
|
+
if (step === 'done') return index + 1 === length
|
158
|
+
}).each(function() {
|
159
|
+
$(this).closest('.wizard-hide').addClass('in')
|
160
|
+
|
161
|
+
var $el = self.getActivateElement(this)
|
162
|
+
$el.addClass('active')
|
163
|
+
})
|
164
|
+
|
165
|
+
$('[data-target="#' + $target.attr('id') + '"],a[href="#' + $target.attr('id') + '"]').each(function() {
|
166
|
+
$(this).closest('.wizard-hide').addClass('in')
|
167
|
+
self.getActivateElement(this).addClass('active')
|
168
|
+
})
|
169
|
+
}
|
170
|
+
|
171
|
+
Wizard.prototype.getActivateElement = function (link) {
|
172
|
+
if ($(link).closest('.wizard-follow').length === 0) return $()
|
173
|
+
|
174
|
+
if ($(link).closest('li').length) {
|
175
|
+
return $(link).parentsUntil('.wizard-follow', 'li')
|
176
|
+
}
|
177
|
+
|
178
|
+
return $(link)
|
179
|
+
}
|
180
|
+
|
181
|
+
Wizard.prototype.setProgress = function ($target) {
|
182
|
+
var $steps = this.$element.children('.wizard-step')
|
183
|
+
var $progress = $('.progress.wizard-follow[data-target="#' + this.$element.attr('id') + '"]')
|
184
|
+
var index = $steps.index($target)
|
185
|
+
var length = $steps.length - (this.options.donestep ? 1 : 0)
|
186
|
+
|
187
|
+
$progress.find('.step').text(index + 1)
|
188
|
+
$progress.find('.steps').text(length)
|
189
|
+
|
190
|
+
$progress[index < length ? 'show' : 'hide']()
|
191
|
+
$progress.find('.progress-bar').width(((index + 1) * 100 / length) + '%')
|
192
|
+
}
|
193
|
+
|
194
|
+
// WIZARD PLUGIN DEFINITION
|
195
|
+
// ===========================
|
196
|
+
|
197
|
+
var old = $.fn.wizard
|
198
|
+
|
199
|
+
$.fn.wizard = function (option) {
|
200
|
+
return this.each(function () {
|
201
|
+
var $this = $(this)
|
202
|
+
var data = $this.data('bs.wizard')
|
203
|
+
var options = $.extend({}, Wizard.DEFAULTS, $this.data(), typeof option === 'object' && option)
|
204
|
+
|
205
|
+
if (!data) $this.data('bs.wizard', (data = new Wizard(this, options)))
|
206
|
+
|
207
|
+
if (option === 'refresh') data.refresh()
|
208
|
+
else if (typeof option === 'string' || typeof option === 'number') data.show(option)
|
209
|
+
})
|
210
|
+
}
|
211
|
+
|
212
|
+
$.fn.wizard.Constructor = Wizard
|
213
|
+
|
214
|
+
|
215
|
+
// WIZARD NO CONFLICT
|
216
|
+
// ====================
|
217
|
+
|
218
|
+
$.fn.wizard.noConflict = function () {
|
219
|
+
$.fn.wizard = old
|
220
|
+
return this
|
221
|
+
}
|
222
|
+
|
223
|
+
|
224
|
+
// WIZARD DATA-API
|
225
|
+
// =================
|
226
|
+
|
227
|
+
$(document).on('click.bs.wizard.data-api', '[data-toggle=wizard]', function (e) {
|
228
|
+
var $this = $(this), href
|
229
|
+
var target = $this.attr('data-target')
|
230
|
+
|| e.preventDefault()
|
231
|
+
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
|
232
|
+
var $element = $(target).closest('.wizard')
|
233
|
+
|
234
|
+
var step = $(target).hasClass('wizard') ? $this.data('step') : target
|
235
|
+
|
236
|
+
e.preventDefault()
|
237
|
+
$element.wizard(step)
|
238
|
+
})
|
239
|
+
|
240
|
+
}(window.jQuery);
|
data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/alerts-fixed.less
RENAMED
File without changes
|
File without changes
|
data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/build/mixins.less
RENAMED
File without changes
|
data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/build/variables.less
RENAMED
File without changes
|
data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/button-labels.less
RENAMED
@@ -36,3 +36,7 @@
|
|
36
36
|
.btn-xs .btn-label {
|
37
37
|
.button-label-size(1px; 5px; @border-radius-small);
|
38
38
|
}
|
39
|
+
.btn-group > .btn:last-child:not(:first-child) .btn-label, .btn-group > .dropdown-toggle:not(:first-child) .btn-label {
|
40
|
+
border-bottom-left-radius: 0px;
|
41
|
+
border-top-left-radius: 0px;
|
42
|
+
}
|
File without changes
|
File without changes
|
data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/jasny-bootstrap.less
RENAMED
@@ -1,18 +1,18 @@
|
|
1
|
-
//
|
1
|
+
// Vanilla Bootstrap's "variables.less" should already be imported
|
2
2
|
|
3
3
|
// Core variables and mixins
|
4
|
-
@import "variables";
|
4
|
+
@import "variables.less";
|
5
5
|
|
6
6
|
// Core CSS
|
7
7
|
@import "grid-container-smooth.less";
|
8
8
|
@import "button-labels.less";
|
9
9
|
|
10
10
|
// Components
|
11
|
-
@import "nav-tab-alignment";
|
12
|
-
@import "navmenu";
|
11
|
+
@import "nav-tab-alignment.less";
|
12
|
+
@import "navmenu.less";
|
13
13
|
@import "alerts-fixed.less";
|
14
14
|
|
15
15
|
// Components w/ JavaScript
|
16
|
-
@import "offcanvas";
|
17
|
-
@import "rowlink";
|
16
|
+
@import "offcanvas.less";
|
17
|
+
@import "rowlink.less";
|
18
18
|
@import "fileinput.less";
|
data/app/{frameworks/jasny/bootstrap → assets/stylesheets/jasny-bootstrap}/nav-tab-alignment.less
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,11 +1,11 @@
|
|
1
1
|
//
|
2
2
|
// Variables
|
3
3
|
//
|
4
|
-
// Either
|
4
|
+
// Either vanilla Bootstrap's "variables.less" or this package's
|
5
5
|
// "default-variables.less" should be loaded before this file.
|
6
6
|
// -------------------------------------------------------------
|
7
7
|
|
8
|
-
@zindex-navmenu-fixed:
|
8
|
+
@zindex-navmenu-fixed: @zindex-modal;
|
9
9
|
@zindex-alert-fixed: 1035;
|
10
10
|
|
11
11
|
@container-smooth: @container-lg;
|
@@ -0,0 +1,45 @@
|
|
1
|
+
.wizard {
|
2
|
+
position: relative;
|
3
|
+
overflow: hidden;
|
4
|
+
width: 100%;
|
5
|
+
}
|
6
|
+
.wizard > .wizard-step {
|
7
|
+
display: none;
|
8
|
+
position: relative;
|
9
|
+
-webkit-transition: 0.3s ease-in-out left;
|
10
|
+
-o-transition: 0.3s ease-in-out left;
|
11
|
+
transition: 0.3s ease-in-out left;
|
12
|
+
}
|
13
|
+
.wizard > .active,
|
14
|
+
.wizard > .next,
|
15
|
+
.wizard > .prev {
|
16
|
+
display: block;
|
17
|
+
}
|
18
|
+
.wizard > .active {
|
19
|
+
left: 0;
|
20
|
+
}
|
21
|
+
.wizard > .next,
|
22
|
+
.wizard > .prev {
|
23
|
+
position: absolute;
|
24
|
+
top: 0;
|
25
|
+
width: 100%;
|
26
|
+
}
|
27
|
+
.wizard > .next {
|
28
|
+
left: 100%;
|
29
|
+
}
|
30
|
+
.wizard > .prev {
|
31
|
+
left: -100%;
|
32
|
+
}
|
33
|
+
.wizard > .next.left,
|
34
|
+
.wizard > .prev.right {
|
35
|
+
left: 0;
|
36
|
+
}
|
37
|
+
.wizard > .active.left {
|
38
|
+
left: -100%;
|
39
|
+
}
|
40
|
+
.wizard > .active.right {
|
41
|
+
left: 100%;
|
42
|
+
}
|
43
|
+
.wizard-hide:not(.in) {
|
44
|
+
display: none;
|
45
|
+
}
|
@@ -5,7 +5,7 @@ require 'less/rails/jasny/bootstrap/version'
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = 'less-rails-jasny-bootstrap'
|
8
|
-
spec.version = Less::Rails::Jasny::Bootstrap::VERSION
|
8
|
+
spec.version = "#{Less::Rails::Jasny::Bootstrap::VERSION}.1"
|
9
9
|
spec.authors = ['Erich Quintero']
|
10
10
|
spec.email = ['qbantek@gmail.com']
|
11
11
|
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_development_dependency 'bundler', '~> 1.10'
|
22
22
|
spec.add_development_dependency 'rake', '~> 10.0'
|
23
23
|
spec.add_runtime_dependency 'less-rails', ['>= 2.6', '<= 2.8']
|
24
|
-
|
25
24
|
spec.add_development_dependency 'rails', ['>= 3.1', '<= 4.2']
|
25
|
+
spec.add_development_dependency 'pry', '~> 0.10.1'
|
26
|
+
spec.add_development_dependency 'json', '~> 1.8'
|
26
27
|
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
require 'rails'
|
2
2
|
|
3
|
-
module Less
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
3
|
+
module Less
|
4
|
+
module Rails
|
5
|
+
module Jasny
|
6
|
+
module Bootstrap
|
7
|
+
class Engine < ::Rails::Engine
|
8
|
+
initializer 'less-rails-jasny-bootstrap.setup', :after => 'less-rails.before.load_config_initializers', :group => :all do |app|
|
9
|
+
app.config.less.paths << File.join(config.root, 'app')
|
10
|
+
end
|
10
11
|
end
|
11
12
|
end
|
12
13
|
end
|
13
14
|
end
|
14
|
-
end
|
15
|
-
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: less-rails-jasny-bootstrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.1.3
|
4
|
+
version: 3.1.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erich Quintero
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-07-
|
11
|
+
date: 2015-07-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -78,6 +78,34 @@ dependencies:
|
|
78
78
|
- - "<="
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '4.2'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: pry
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
version: 0.10.1
|
88
|
+
type: :development
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 0.10.1
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: json
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '1.8'
|
102
|
+
type: :development
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - "~>"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '1.8'
|
81
109
|
description: " Jasny Bootstrap less and javascript files for rails applications."
|
82
110
|
email:
|
83
111
|
- qbantek@gmail.com
|
@@ -92,28 +120,28 @@ files:
|
|
92
120
|
- LICENSE.txt
|
93
121
|
- README.md
|
94
122
|
- Rakefile
|
95
|
-
- app/assets/javascripts/jasny
|
96
|
-
- app/assets/javascripts/jasny
|
97
|
-
- app/assets/javascripts/jasny/bootstrap
|
98
|
-
- app/assets/javascripts/jasny
|
99
|
-
- app/assets/javascripts/jasny
|
100
|
-
- app/assets/javascripts/jasny
|
101
|
-
- app/assets/
|
102
|
-
- app/
|
103
|
-
- app/
|
104
|
-
- app/
|
105
|
-
- app/
|
106
|
-
- app/
|
107
|
-
- app/
|
108
|
-
- app/
|
109
|
-
- app/
|
110
|
-
- app/
|
111
|
-
- app/
|
112
|
-
- app/
|
113
|
-
- app/
|
114
|
-
- app/
|
123
|
+
- app/assets/javascripts/jasny-bootstrap/fileinput.js
|
124
|
+
- app/assets/javascripts/jasny-bootstrap/inputmask.js
|
125
|
+
- app/assets/javascripts/jasny-bootstrap/jasny-bootstrap.js
|
126
|
+
- app/assets/javascripts/jasny-bootstrap/offcanvas.js
|
127
|
+
- app/assets/javascripts/jasny-bootstrap/rowlink.js
|
128
|
+
- app/assets/javascripts/jasny-bootstrap/transition.js
|
129
|
+
- app/assets/javascripts/jasny-bootstrap/wizard.js
|
130
|
+
- app/assets/stylesheets/jasny-bootstrap/alerts-fixed.less
|
131
|
+
- app/assets/stylesheets/jasny-bootstrap/build/jasny-bootstrap.less
|
132
|
+
- app/assets/stylesheets/jasny-bootstrap/build/mixins.less
|
133
|
+
- app/assets/stylesheets/jasny-bootstrap/build/variables.less
|
134
|
+
- app/assets/stylesheets/jasny-bootstrap/button-labels.less
|
135
|
+
- app/assets/stylesheets/jasny-bootstrap/fileinput.less
|
136
|
+
- app/assets/stylesheets/jasny-bootstrap/grid-container-smooth.less
|
137
|
+
- app/assets/stylesheets/jasny-bootstrap/jasny-bootstrap.less
|
138
|
+
- app/assets/stylesheets/jasny-bootstrap/nav-tab-alignment.less
|
139
|
+
- app/assets/stylesheets/jasny-bootstrap/navmenu.less
|
140
|
+
- app/assets/stylesheets/jasny-bootstrap/offcanvas.less
|
141
|
+
- app/assets/stylesheets/jasny-bootstrap/rowlink.less
|
142
|
+
- app/assets/stylesheets/jasny-bootstrap/variables.less
|
143
|
+
- app/assets/stylesheets/jasny-bootstrap/wizard.less
|
115
144
|
- less-rails-jasny-bootstrap.gemspec
|
116
|
-
- lib/less-rails-jasny-bootstrap.rb
|
117
145
|
- lib/less/rails/jasny/bootstrap.rb
|
118
146
|
- lib/less/rails/jasny/bootstrap/engine.rb
|
119
147
|
- lib/less/rails/jasny/bootstrap/version.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
@import "jasny/bootstrap/jasny-bootstrap";
|