less-rails-semantic_ui 1.4.1.0 → 1.5.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/assets/javascripts/semantic_ui/definitions/modules/dropdown.js +35 -20
- data/assets/javascripts/semantic_ui/definitions/modules/popup.js +29 -11
- data/assets/javascripts/semantic_ui/definitions/modules/progress.js +121 -20
- data/assets/javascripts/semantic_ui/definitions/modules/search.js +2 -2
- data/assets/javascripts/semantic_ui/definitions/modules/sticky.js +3 -0
- data/assets/javascripts/semantic_ui/definitions/modules/tab.js +24 -38
- data/assets/javascripts/semantic_ui/definitions/modules/video.js +2 -2
- data/assets/stylesheets/semantic_ui/definitions/collections/form.less +18 -3
- data/assets/stylesheets/semantic_ui/definitions/collections/grid.less +23 -29
- data/assets/stylesheets/semantic_ui/definitions/collections/menu.less +5 -4
- data/assets/stylesheets/semantic_ui/definitions/collections/table.less +13 -0
- data/assets/stylesheets/semantic_ui/definitions/elements/input.less +15 -14
- data/assets/stylesheets/semantic_ui/definitions/elements/label.less +22 -50
- data/assets/stylesheets/semantic_ui/definitions/elements/list.less +9 -9
- data/assets/stylesheets/semantic_ui/definitions/globals/reset.less +3 -0
- data/assets/stylesheets/semantic_ui/definitions/globals/site.less +0 -7
- data/assets/stylesheets/semantic_ui/definitions/modules/checkbox.less +8 -6
- data/assets/stylesheets/semantic_ui/definitions/modules/dropdown.less +1 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/popup.less +1 -0
- data/assets/stylesheets/semantic_ui/definitions/modules/progress.less +10 -10
- data/assets/stylesheets/semantic_ui/definitions/modules/sidebar.less +3 -5
- data/assets/stylesheets/semantic_ui/themes/default/elements/input.variables +1 -1
- data/assets/stylesheets/semantic_ui/themes/default/elements/label.variables +2 -1
- data/assets/stylesheets/semantic_ui/themes/default/modules/checkbox.variables +1 -0
- data/assets/stylesheets/semantic_ui/themes/default/modules/progress.variables +2 -2
- data/less-rails-semantic_ui.gemspec +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: af4aa2caff4de2c9e63d1da32b3d1e023d719a56
|
4
|
+
data.tar.gz: f43d19955b19bcd7a5d98ca8b8a83cdca1b26b28
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5a9878d1f53c308f5235600a9dde8f1a1718e362e40d9eb20356d7e3fdffdd2acbe92bc63479e2fc546d60c89667861a2b0d339b08dc0b6135a112b302843d04
|
7
|
+
data.tar.gz: cbebfeac146cb047096ade77a5cc81a92c5d41cb26080be21f317b7a5c790dd6eaa55e0c6c0840b541323bbfaa0657b93c68d33cafdf3600a8af934bc02ecaef
|
data/.travis.yml
CHANGED
@@ -378,11 +378,11 @@ $.fn.dropdown = function(parameters) {
|
|
378
378
|
text = module.get.choiceText($choice, false),
|
379
379
|
value = module.get.choiceValue($choice, text)
|
380
380
|
;
|
381
|
-
if(
|
381
|
+
if( text.match(exactRegExp) || value.match(exactRegExp) ) {
|
382
382
|
$results = $results.add($choice);
|
383
383
|
}
|
384
384
|
else if(settings.fullTextSearch) {
|
385
|
-
if(
|
385
|
+
if( text.match(fullTextRegExp) || value.match(fullTextRegExp) ) {
|
386
386
|
$results = $results.add($choice);
|
387
387
|
}
|
388
388
|
}
|
@@ -605,16 +605,22 @@ $.fn.dropdown = function(parameters) {
|
|
605
605
|
|
606
606
|
click: function (event) {
|
607
607
|
var
|
608
|
-
$choice
|
609
|
-
|
610
|
-
|
608
|
+
$choice = $(this),
|
609
|
+
$target = $(event.target),
|
610
|
+
$subMenu = $choice.find(selector.menu),
|
611
|
+
text = module.get.choiceText($choice),
|
612
|
+
value = module.get.choiceValue($choice, text),
|
611
613
|
callback = function() {
|
612
614
|
module.remove.searchTerm();
|
613
615
|
module.determine.selectAction(text, value);
|
614
616
|
},
|
615
|
-
openingSubMenu = ($
|
617
|
+
openingSubMenu = ($subMenu.size() > 0),
|
618
|
+
isSubItem = ($subMenu.find($target).size() > 0)
|
616
619
|
;
|
617
|
-
if(
|
620
|
+
if(isSubItem) {
|
621
|
+
return false;
|
622
|
+
}
|
623
|
+
if(!openingSubMenu || settings.allowCategorySelection) {
|
618
624
|
callback();
|
619
625
|
}
|
620
626
|
}
|
@@ -738,6 +744,12 @@ $.fn.dropdown = function(parameters) {
|
|
738
744
|
: settings.preserveHTML
|
739
745
|
;
|
740
746
|
if($choice !== undefined) {
|
747
|
+
if($choice.find(selector.menu).size() > 0) {
|
748
|
+
module.verbose('Retreiving text of element with sub-menu');
|
749
|
+
$choice = $choice.clone();
|
750
|
+
$choice.find(selector.menu).remove();
|
751
|
+
$choice.find(selector.menuIcon).remove();
|
752
|
+
}
|
741
753
|
return ($choice.data(metadata.text) !== undefined)
|
742
754
|
? $choice.data(metadata.text)
|
743
755
|
: (preserveHTML)
|
@@ -1484,19 +1496,21 @@ $.fn.dropdown = function(parameters) {
|
|
1484
1496
|
|
1485
1497
|
$.fn.dropdown.settings = {
|
1486
1498
|
|
1487
|
-
debug
|
1488
|
-
verbose
|
1489
|
-
performance
|
1499
|
+
debug : false,
|
1500
|
+
verbose : true,
|
1501
|
+
performance : true,
|
1490
1502
|
|
1491
|
-
on
|
1492
|
-
action
|
1503
|
+
on : 'click',
|
1504
|
+
action : 'activate',
|
1493
1505
|
|
1494
|
-
allowTab
|
1495
|
-
fullTextSearch
|
1496
|
-
preserveHTML
|
1497
|
-
sortSelect
|
1506
|
+
allowTab : true,
|
1507
|
+
fullTextSearch : false,
|
1508
|
+
preserveHTML : true,
|
1509
|
+
sortSelect : false,
|
1498
1510
|
|
1499
|
-
|
1511
|
+
allowCategorySelection : false,
|
1512
|
+
|
1513
|
+
delay : {
|
1500
1514
|
hide : 300,
|
1501
1515
|
show : 200,
|
1502
1516
|
search : 50,
|
@@ -1532,11 +1546,12 @@ $.fn.dropdown.settings = {
|
|
1532
1546
|
|
1533
1547
|
selector : {
|
1534
1548
|
dropdown : '.ui.dropdown',
|
1535
|
-
text : '> .text:not(.icon)',
|
1536
1549
|
input : '> input[type="hidden"], > select',
|
1537
|
-
|
1550
|
+
item : '.item',
|
1538
1551
|
menu : '.menu',
|
1539
|
-
|
1552
|
+
menuIcon : '.dropdown.icon',
|
1553
|
+
search : '> input.search, .menu > .search > input, .menu > input.search',
|
1554
|
+
text : '> .text:not(.icon)'
|
1540
1555
|
},
|
1541
1556
|
|
1542
1557
|
className : {
|
@@ -116,13 +116,20 @@ $.fn.popup = function(parameters) {
|
|
116
116
|
}
|
117
117
|
if(settings.popup) {
|
118
118
|
$popup.addClass(className.loading);
|
119
|
-
$offsetParent
|
119
|
+
if($popup.offsetParent()[0] !== $module.offsetParent()[0]) {
|
120
|
+
module.debug('Moving popup to the same offset parent as activating element');
|
121
|
+
$offsetParent = $module.offsetParent();
|
122
|
+
$popup
|
123
|
+
.detach()
|
124
|
+
.appendTo($offsetParent)
|
125
|
+
;
|
126
|
+
}
|
120
127
|
$popup.removeClass(className.loading);
|
121
128
|
}
|
122
129
|
else {
|
123
130
|
$offsetParent = (settings.inline)
|
124
|
-
|
125
|
-
|
131
|
+
? $target.offsetParent()
|
132
|
+
: $body
|
126
133
|
;
|
127
134
|
}
|
128
135
|
if( $offsetParent.is('html') ) {
|
@@ -141,6 +148,8 @@ $.fn.popup = function(parameters) {
|
|
141
148
|
if($popup && !settings.preserve) {
|
142
149
|
module.removePopup();
|
143
150
|
}
|
151
|
+
clearTimeout(module.hideTimer);
|
152
|
+
clearTimeout(module.showTimer);
|
144
153
|
$module
|
145
154
|
.off(eventNamespace)
|
146
155
|
.removeData(moduleNamespace)
|
@@ -156,7 +165,7 @@ $.fn.popup = function(parameters) {
|
|
156
165
|
;
|
157
166
|
clearTimeout(module.hideTimer);
|
158
167
|
module.showTimer = setTimeout(function() {
|
159
|
-
if(
|
168
|
+
if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {
|
160
169
|
module.show();
|
161
170
|
}
|
162
171
|
}, delay);
|
@@ -169,7 +178,7 @@ $.fn.popup = function(parameters) {
|
|
169
178
|
;
|
170
179
|
clearTimeout(module.showTimer);
|
171
180
|
module.hideTimer = setTimeout(function() {
|
172
|
-
if(
|
181
|
+
if(module.is.visible() ) {
|
173
182
|
module.hide();
|
174
183
|
}
|
175
184
|
}, delay);
|
@@ -301,19 +310,22 @@ $.fn.popup = function(parameters) {
|
|
301
310
|
return false;
|
302
311
|
}
|
303
312
|
if(settings.inline || settings.popup) {
|
304
|
-
return (
|
313
|
+
return ( module.has.popup() );
|
305
314
|
}
|
306
315
|
else {
|
307
|
-
return ( $popup.closest($context).size() )
|
316
|
+
return ( $popup.closest($context).size() > 1 )
|
317
|
+
? true
|
318
|
+
: false
|
319
|
+
;
|
308
320
|
}
|
309
321
|
},
|
310
322
|
|
311
323
|
removePopup: function() {
|
312
|
-
module.debug('Removing popup');
|
313
|
-
|
314
|
-
if($popup.size() > 0) {
|
324
|
+
module.debug('Removing popup', $popup);
|
325
|
+
if( module.has.popup() ) {
|
315
326
|
$popup.remove();
|
316
327
|
}
|
328
|
+
$.proxy(settings.onRemove, $popup)(element);
|
317
329
|
},
|
318
330
|
|
319
331
|
save: {
|
@@ -724,7 +736,7 @@ $.fn.popup = function(parameters) {
|
|
724
736
|
bind: {
|
725
737
|
popup: function() {
|
726
738
|
module.verbose('Allowing hover events on popup to prevent closing');
|
727
|
-
if($popup &&
|
739
|
+
if( $popup && module.has.popup() ) {
|
728
740
|
$popup
|
729
741
|
.on('mouseenter' + eventNamespace, module.event.start)
|
730
742
|
.on('mouseleave' + eventNamespace, module.event.end)
|
@@ -773,6 +785,12 @@ $.fn.popup = function(parameters) {
|
|
773
785
|
}
|
774
786
|
},
|
775
787
|
|
788
|
+
has: {
|
789
|
+
popup: function() {
|
790
|
+
return ($popup.size() > 0);
|
791
|
+
}
|
792
|
+
},
|
793
|
+
|
776
794
|
is: {
|
777
795
|
active: function() {
|
778
796
|
return $module.hasClass(className.active);
|
@@ -52,14 +52,21 @@ $.fn.progress = function(parameters) {
|
|
52
52
|
|
53
53
|
element = this,
|
54
54
|
instance = $module.data(moduleNamespace),
|
55
|
+
|
56
|
+
animating = false,
|
57
|
+
transitionEnd,
|
55
58
|
module
|
56
59
|
;
|
57
60
|
|
58
61
|
module = {
|
59
62
|
|
60
63
|
initialize: function() {
|
61
|
-
module.debug('Initializing progress', settings);
|
64
|
+
module.debug('Initializing progress bar', settings);
|
65
|
+
|
66
|
+
transitionEnd = module.get.transitionEnd();
|
67
|
+
|
62
68
|
module.read.metadata();
|
69
|
+
module.set.duration();
|
63
70
|
module.set.initials();
|
64
71
|
module.instantiate();
|
65
72
|
},
|
@@ -71,9 +78,9 @@ $.fn.progress = function(parameters) {
|
|
71
78
|
.data(moduleNamespace, module)
|
72
79
|
;
|
73
80
|
},
|
74
|
-
|
75
81
|
destroy: function() {
|
76
82
|
module.verbose('Destroying previous progress for', $module);
|
83
|
+
clearInterval(instance.interval);
|
77
84
|
module.remove.state();
|
78
85
|
$module.removeData(moduleNamespace);
|
79
86
|
instance = undefined;
|
@@ -174,9 +181,11 @@ $.fn.progress = function(parameters) {
|
|
174
181
|
get: {
|
175
182
|
text: function(templateText) {
|
176
183
|
var
|
177
|
-
value = module.value
|
178
|
-
total = module.total
|
179
|
-
percent = module.
|
184
|
+
value = module.value || 0,
|
185
|
+
total = module.total || 0,
|
186
|
+
percent = (module.is.visible() && animating)
|
187
|
+
? module.get.displayPercent()
|
188
|
+
: module.percent || 0
|
180
189
|
;
|
181
190
|
templateText = templateText || '';
|
182
191
|
templateText = templateText
|
@@ -191,6 +200,41 @@ $.fn.progress = function(parameters) {
|
|
191
200
|
module.debug('Generating random increment percentage');
|
192
201
|
return Math.floor((Math.random() * settings.random.max) + settings.random.min);
|
193
202
|
},
|
203
|
+
|
204
|
+
transitionEnd: function() {
|
205
|
+
var
|
206
|
+
element = document.createElement('element'),
|
207
|
+
transitions = {
|
208
|
+
'transition' :'transitionend',
|
209
|
+
'OTransition' :'oTransitionEnd',
|
210
|
+
'MozTransition' :'transitionend',
|
211
|
+
'WebkitTransition' :'webkitTransitionEnd'
|
212
|
+
},
|
213
|
+
transition
|
214
|
+
;
|
215
|
+
for(transition in transitions){
|
216
|
+
if( element.style[transition] !== undefined ){
|
217
|
+
return transitions[transition];
|
218
|
+
}
|
219
|
+
}
|
220
|
+
},
|
221
|
+
|
222
|
+
// gets current displayed percentage (if animating values this is the intermediary value)
|
223
|
+
displayPercent: function() {
|
224
|
+
var
|
225
|
+
barWidth = $bar.width(),
|
226
|
+
totalWidth = $module.width(),
|
227
|
+
minDisplay = parseInt($bar.css('min-width'), 10),
|
228
|
+
displayPercent = (barWidth > minDisplay)
|
229
|
+
? (barWidth / totalWidth * 100)
|
230
|
+
: module.percent
|
231
|
+
;
|
232
|
+
if(settings.precision === 0) {
|
233
|
+
return Math.round(displayPercent);
|
234
|
+
}
|
235
|
+
return Math.round(displayPercent * (10 * settings.precision) / (10 * settings.precision) );
|
236
|
+
},
|
237
|
+
|
194
238
|
percent: function() {
|
195
239
|
return module.percent || 0;
|
196
240
|
},
|
@@ -211,6 +255,12 @@ $.fn.progress = function(parameters) {
|
|
211
255
|
},
|
212
256
|
error: function() {
|
213
257
|
return $module.hasClass(className.error);
|
258
|
+
},
|
259
|
+
active: function() {
|
260
|
+
return $module.hasClass(className.active);
|
261
|
+
},
|
262
|
+
visible: function() {
|
263
|
+
return $module.is(':visible');
|
214
264
|
}
|
215
265
|
},
|
216
266
|
|
@@ -256,8 +306,24 @@ $.fn.progress = function(parameters) {
|
|
256
306
|
;
|
257
307
|
}
|
258
308
|
},
|
309
|
+
duration: function(duration) {
|
310
|
+
duration = duration || settings.duration;
|
311
|
+
duration = (typeof duration == 'number')
|
312
|
+
? duration + 'ms'
|
313
|
+
: duration
|
314
|
+
;
|
315
|
+
module.verbose('Setting progress bar transition duration', duration);
|
316
|
+
$bar
|
317
|
+
.css({
|
318
|
+
'-webkit-transition-duration': duration,
|
319
|
+
'-moz-transition-duration': duration,
|
320
|
+
'-ms-transition-duration': duration,
|
321
|
+
'-o-transition-duration': duration,
|
322
|
+
'transition-duration': duration
|
323
|
+
})
|
324
|
+
;
|
325
|
+
},
|
259
326
|
initials: function() {
|
260
|
-
|
261
327
|
if(settings.total !== false) {
|
262
328
|
module.verbose('Current total set in settings', settings.total);
|
263
329
|
module.total = settings.total;
|
@@ -270,7 +336,6 @@ $.fn.progress = function(parameters) {
|
|
270
336
|
module.verbose('Current percent set in settings', settings.percent);
|
271
337
|
module.percent = settings.percent;
|
272
338
|
}
|
273
|
-
|
274
339
|
if(module.percent !== undefined) {
|
275
340
|
module.set.percent(module.percent);
|
276
341
|
}
|
@@ -307,27 +372,60 @@ $.fn.progress = function(parameters) {
|
|
307
372
|
;
|
308
373
|
}
|
309
374
|
module.set.barWidth(percent);
|
375
|
+
if( module.is.visible() ) {
|
376
|
+
module.set.labelInterval();
|
377
|
+
}
|
378
|
+
module.set.labels();
|
379
|
+
settings.onChange.call(element, percent, module.value, module.total);
|
380
|
+
},
|
381
|
+
labelInterval: function() {
|
382
|
+
clearInterval(module.interval);
|
383
|
+
$bar
|
384
|
+
.one(transitionEnd + eventNamespace, function() {
|
385
|
+
module.verbose('Bar finished animating, removing continuous label updates');
|
386
|
+
clearInterval(module.interval);
|
387
|
+
animating = false;
|
388
|
+
module.set.labels();
|
389
|
+
})
|
390
|
+
;
|
391
|
+
animating = true;
|
392
|
+
module.interval = setInterval(module.set.labels, settings.framerate);
|
393
|
+
},
|
394
|
+
labels: function() {
|
395
|
+
module.verbose('Setting both bar progress and outer label text');
|
310
396
|
module.set.barLabel();
|
397
|
+
module.set.state();
|
398
|
+
},
|
399
|
+
label: function(text) {
|
400
|
+
text = text || '';
|
401
|
+
if(text) {
|
402
|
+
text = module.get.text(text);
|
403
|
+
module.debug('Setting label to text', text);
|
404
|
+
$label.text(text);
|
405
|
+
}
|
406
|
+
},
|
407
|
+
state: function(percent) {
|
408
|
+
percent = (percent !== undefined)
|
409
|
+
? percent
|
410
|
+
: module.percent
|
411
|
+
;
|
311
412
|
if(percent === 100) {
|
312
413
|
if(settings.autoSuccess && !(module.is.warning() || module.is.error())) {
|
313
414
|
module.set.success();
|
314
415
|
module.debug('Automatically triggering success at 100%');
|
315
416
|
}
|
316
417
|
else {
|
418
|
+
module.verbose('Reached 100% removing active state');
|
317
419
|
module.remove.active();
|
318
420
|
}
|
319
421
|
}
|
320
422
|
else if(percent > 0) {
|
423
|
+
module.verbose('Adjusting active progress bar label', percent);
|
321
424
|
module.set.active();
|
322
425
|
}
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
text = text || '';
|
327
|
-
if(text) {
|
328
|
-
text = module.get.text(text);
|
329
|
-
module.debug('Setting label to text', text);
|
330
|
-
$label.text(text);
|
426
|
+
else {
|
427
|
+
module.remove.active();
|
428
|
+
module.set.label(settings.text.active);
|
331
429
|
}
|
332
430
|
},
|
333
431
|
barLabel: function(text) {
|
@@ -346,7 +444,7 @@ $.fn.progress = function(parameters) {
|
|
346
444
|
active: function(text) {
|
347
445
|
text = text || settings.text.active;
|
348
446
|
module.debug('Setting active state');
|
349
|
-
if(settings.showActivity) {
|
447
|
+
if(settings.showActivity && !module.is.active() ) {
|
350
448
|
$module.addClass(className.active);
|
351
449
|
}
|
352
450
|
module.remove.warning();
|
@@ -355,7 +453,7 @@ $.fn.progress = function(parameters) {
|
|
355
453
|
if(text) {
|
356
454
|
module.set.label(text);
|
357
455
|
}
|
358
|
-
|
456
|
+
settings.onActive.call(element, module.value, module.total);
|
359
457
|
},
|
360
458
|
success : function(text) {
|
361
459
|
text = text || settings.text.success;
|
@@ -368,7 +466,7 @@ $.fn.progress = function(parameters) {
|
|
368
466
|
if(text) {
|
369
467
|
module.set.label(text);
|
370
468
|
}
|
371
|
-
|
469
|
+
settings.onSuccess.call(element, module.total);
|
372
470
|
},
|
373
471
|
warning : function(text) {
|
374
472
|
text = text || settings.text.warning;
|
@@ -381,7 +479,7 @@ $.fn.progress = function(parameters) {
|
|
381
479
|
if(text) {
|
382
480
|
module.set.label(text);
|
383
481
|
}
|
384
|
-
|
482
|
+
settings.onWarning.call(element, module.value, module.total);
|
385
483
|
},
|
386
484
|
error : function(text) {
|
387
485
|
text = text || settings.text.error;
|
@@ -394,7 +492,7 @@ $.fn.progress = function(parameters) {
|
|
394
492
|
if(text) {
|
395
493
|
module.set.label(text);
|
396
494
|
}
|
397
|
-
|
495
|
+
settings.onError.call(element, module.value, module.total);
|
398
496
|
},
|
399
497
|
total: function(totalValue) {
|
400
498
|
module.total = totalValue;
|
@@ -616,12 +714,15 @@ $.fn.progress.settings = {
|
|
616
714
|
max : 5
|
617
715
|
},
|
618
716
|
|
717
|
+
duration : 300,
|
718
|
+
|
619
719
|
autoSuccess : true,
|
620
720
|
showActivity : true,
|
621
721
|
limitValues : true,
|
622
722
|
|
623
723
|
label : 'percent',
|
624
724
|
precision : 1,
|
725
|
+
framerate : (1000 / 30), /// 30 fps
|
625
726
|
|
626
727
|
percent : false,
|
627
728
|
total : false,
|