materialize-sass 0.97.3 → 0.97.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/fonts/roboto/Roboto-Bold.eot +0 -0
- data/app/assets/fonts/roboto/Roboto-Light.eot +0 -0
- data/app/assets/fonts/roboto/Roboto-Medium.eot +0 -0
- data/app/assets/fonts/roboto/Roboto-Regular.eot +0 -0
- data/app/assets/fonts/roboto/Roboto-Thin.eot +0 -0
- data/app/assets/javascripts/materialize-sprockets.js +1 -0
- data/app/assets/javascripts/materialize.js +537 -192
- data/app/assets/javascripts/materialize.min.js +6 -6
- data/app/assets/javascripts/materialize/buttons.js +2 -3
- data/app/assets/javascripts/materialize/collapsible.js +1 -1
- data/app/assets/javascripts/materialize/dropdown.js +1 -1
- data/app/assets/javascripts/materialize/extras/nouislider.js +5 -0
- data/app/assets/javascripts/materialize/extras/nouislider.min.js +1 -1
- data/app/assets/javascripts/materialize/forms.js +56 -47
- data/app/assets/javascripts/materialize/global.js +3 -2
- data/app/assets/javascripts/materialize/initial.js +4 -0
- data/app/assets/javascripts/materialize/tooltip.js +120 -118
- data/app/assets/stylesheets/materialize/components/_buttons.scss +2 -1
- data/app/assets/stylesheets/materialize/components/_cards.scss +2 -2
- data/app/assets/stylesheets/materialize/components/_carousel.scss +1 -5
- data/app/assets/stylesheets/materialize/components/_collapsible.scss +1 -1
- data/app/assets/stylesheets/materialize/components/_form.scss +23 -24
- data/app/assets/stylesheets/materialize/components/_global.scss +40 -27
- data/app/assets/stylesheets/materialize/components/_grid.scss +30 -3
- data/app/assets/stylesheets/materialize/components/_icons-material-design.scss +6 -0
- data/app/assets/stylesheets/materialize/components/_materialbox.scss +1 -1
- data/app/assets/stylesheets/materialize/components/_mixins.scss +5 -5
- data/app/assets/stylesheets/materialize/components/_navbar.scss +28 -12
- data/app/assets/stylesheets/materialize/components/_prefixer.scss +291 -291
- data/app/assets/stylesheets/materialize/components/_roboto.scss +17 -10
- data/app/assets/stylesheets/materialize/components/_sideNav.scss +3 -2
- data/app/assets/stylesheets/materialize/components/_slider.scss +1 -1
- data/app/assets/stylesheets/materialize/components/_tabs.scss +4 -4
- data/app/assets/stylesheets/materialize/components/_toast.scss +6 -8
- data/app/assets/stylesheets/materialize/components/_tooltip.scss +1 -1
- data/app/assets/stylesheets/materialize/components/_variables.scss +1 -0
- data/app/assets/stylesheets/materialize/components/_waves.scss +5 -8
- data/app/assets/stylesheets/materialize/components/date_picker/_default.date.scss +2 -2
- data/app/assets/stylesheets/materialize/extras/nouislider.css +5 -0
- data/lib/materialize-sass/version.rb +1 -1
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60c38baa5bb1044a4cc35b8177eced113ef58bd3
|
4
|
+
data.tar.gz: 0156d1cae9eb4c39f0e620f26bef8dec5b8d06f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac6febc046c192b9c4d0b3978239bec10d83b9dd7b230a0cdee634309ca0580bdd21351968d6fd68b8602f944b2a3c17563cecb07897bb7e45d56546af1bf9b4
|
7
|
+
data.tar.gz: 6d116b19254378dfc3a9d41f040ae1f3d530be7a26b37a38a95ca32bb155b4d1c0dc51060acf745113595e5dcaac26a72d2792ebe2a28ec2b72d7a8a2387804c
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -1,9 +1,12 @@
|
|
1
1
|
/*!
|
2
|
-
* Materialize v0.97.
|
2
|
+
* Materialize v0.97.4 (http://materializecss.com)
|
3
3
|
* Copyright 2014-2015 Materialize
|
4
4
|
* MIT License (https://raw.githubusercontent.com/Dogfalo/materialize/master/LICENSE)
|
5
5
|
*/
|
6
|
-
|
6
|
+
// Check for jQuery.
|
7
|
+
if (typeof(jQuery) === 'undefined') {
|
8
|
+
var jQuery = $ = require('jQuery');
|
9
|
+
};/*
|
7
10
|
* jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
|
8
11
|
*
|
9
12
|
* Uses the built in easing capabilities added In jQuery 1.1
|
@@ -294,8 +297,9 @@ Materialize.elementOrParentIsFixed = function(element) {
|
|
294
297
|
var Vel;
|
295
298
|
if ($) {
|
296
299
|
Vel = $.Velocity;
|
297
|
-
}
|
298
|
-
|
300
|
+
} else if (jQuery) {
|
301
|
+
Vel = jQuery.Velocity;
|
302
|
+
} else {
|
299
303
|
Vel = Velocity;
|
300
304
|
}
|
301
305
|
; (function ($) {
|
@@ -316,7 +320,7 @@ else {
|
|
316
320
|
var collapsible_type = $this.data("collapsible");
|
317
321
|
|
318
322
|
// Turn off any existing event handlers
|
319
|
-
$this.off('click.collapse', '.collapsible-header');
|
323
|
+
$this.off('click.collapse', '> li > .collapsible-header');
|
320
324
|
$panel_headers.off('click.collapse');
|
321
325
|
|
322
326
|
|
@@ -583,8 +587,8 @@ else {
|
|
583
587
|
isFocused = false;
|
584
588
|
activates.fadeOut(options.outDuration);
|
585
589
|
activates.removeClass('active');
|
586
|
-
activates.css('max-height', '');
|
587
590
|
origin.removeClass('active');
|
591
|
+
setTimeout(function() { activates.css('max-height', ''); }, options.outDuration);
|
588
592
|
}
|
589
593
|
|
590
594
|
// Hover
|
@@ -1180,7 +1184,6 @@ $(document).ready(function(){
|
|
1180
1184
|
var $active, $content, $links = $this.find('li.tab a'),
|
1181
1185
|
$tabs_width = $this.width(),
|
1182
1186
|
$tab_width = $this.find('li').first().outerWidth(),
|
1183
|
-
$tab_min_width = parseInt($this.find('li').first().css('minWidth')),
|
1184
1187
|
$index = 0;
|
1185
1188
|
|
1186
1189
|
// If the location.hash matches one of the links, use that as the active tab.
|
@@ -1272,24 +1275,6 @@ $(document).ready(function(){
|
|
1272
1275
|
// Prevent the anchor's default click action
|
1273
1276
|
e.preventDefault();
|
1274
1277
|
});
|
1275
|
-
|
1276
|
-
// Add scroll for small screens
|
1277
|
-
if ($tab_width <= $tab_min_width) {
|
1278
|
-
$this.wrap('<div class="hide-tab-scrollbar"></div>');
|
1279
|
-
|
1280
|
-
// Create the measurement node
|
1281
|
-
var scrollDiv = document.createElement("div");
|
1282
|
-
scrollDiv.className = "scrollbar-measure";
|
1283
|
-
document.body.appendChild(scrollDiv);
|
1284
|
-
var scrollbarHeight = scrollDiv.offsetHeight - scrollDiv.clientHeight;
|
1285
|
-
document.body.removeChild(scrollDiv);
|
1286
|
-
|
1287
|
-
if (scrollbarHeight === 0) {
|
1288
|
-
scrollbarHeight = 15;
|
1289
|
-
$this.find('.indicator').css('bottom', scrollbarHeight);
|
1290
|
-
}
|
1291
|
-
$this.height($(this).height() + scrollbarHeight);
|
1292
|
-
}
|
1293
1278
|
});
|
1294
1279
|
|
1295
1280
|
},
|
@@ -1316,9 +1301,6 @@ $(document).ready(function(){
|
|
1316
1301
|
;(function ($) {
|
1317
1302
|
$.fn.tooltip = function (options) {
|
1318
1303
|
var timeout = null,
|
1319
|
-
counter = null,
|
1320
|
-
started = false,
|
1321
|
-
counterInterval = null,
|
1322
1304
|
margin = 5;
|
1323
1305
|
|
1324
1306
|
// Defaults
|
@@ -1330,6 +1312,7 @@ $(document).ready(function(){
|
|
1330
1312
|
if (options === "remove") {
|
1331
1313
|
this.each(function(){
|
1332
1314
|
$('#' + $(this).attr('data-tooltip-id')).remove();
|
1315
|
+
$(this).off('mouseenter.tooltip mouseleave.tooltip');
|
1333
1316
|
});
|
1334
1317
|
return false;
|
1335
1318
|
}
|
@@ -1356,136 +1339,140 @@ $(document).ready(function(){
|
|
1356
1339
|
backdrop.css({ top: 0, left:0 });
|
1357
1340
|
|
1358
1341
|
|
1359
|
-
|
1342
|
+
//Destroy previously binded events
|
1360
1343
|
origin.off('mouseenter.tooltip mouseleave.tooltip');
|
1361
|
-
|
1344
|
+
// Mouse In
|
1345
|
+
var started = false, timeoutRef;
|
1362
1346
|
origin.on({
|
1363
1347
|
'mouseenter.tooltip': function(e) {
|
1364
|
-
var tooltip_delay = origin.data
|
1365
|
-
tooltip_delay = (tooltip_delay === undefined || tooltip_delay === '') ?
|
1366
|
-
|
1367
|
-
|
1368
|
-
|
1369
|
-
|
1370
|
-
|
1371
|
-
|
1372
|
-
|
1373
|
-
|
1374
|
-
|
1375
|
-
|
1376
|
-
|
1377
|
-
|
1378
|
-
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1385
|
-
|
1386
|
-
|
1387
|
-
|
1388
|
-
|
1389
|
-
|
1390
|
-
|
1391
|
-
|
1392
|
-
|
1393
|
-
|
1394
|
-
|
1395
|
-
|
1396
|
-
|
1397
|
-
|
1398
|
-
|
1399
|
-
|
1400
|
-
|
1401
|
-
|
1402
|
-
|
1403
|
-
|
1404
|
-
|
1405
|
-
|
1406
|
-
|
1407
|
-
|
1408
|
-
|
1409
|
-
|
1410
|
-
|
1411
|
-
|
1412
|
-
|
1413
|
-
|
1414
|
-
|
1415
|
-
});
|
1416
|
-
}
|
1417
|
-
// Right Position
|
1418
|
-
else if (tooltipPosition === "right") {
|
1419
|
-
targetTop = origin.offset().top + originHeight/2 - tooltipHeight/2;
|
1420
|
-
targetLeft = origin.offset().left + originWidth + margin;
|
1421
|
-
newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
|
1422
|
-
|
1423
|
-
tooltipHorizontalMovement = '+10px';
|
1424
|
-
backdrop.css({
|
1425
|
-
width: '14px',
|
1426
|
-
height: '14px',
|
1427
|
-
borderRadius: '0 14px 14px 0',
|
1428
|
-
transformOrigin: '5% 50%',
|
1429
|
-
marginTop: tooltipHeight/2,
|
1430
|
-
marginLeft: '0px'
|
1431
|
-
});
|
1432
|
-
}
|
1433
|
-
else {
|
1434
|
-
// Bottom Position
|
1435
|
-
targetTop = origin.offset().top + origin.outerHeight() + margin;
|
1436
|
-
targetLeft = origin.offset().left + originWidth/2 - tooltipWidth/2;
|
1437
|
-
newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
|
1438
|
-
tooltipVerticalMovement = '+10px';
|
1439
|
-
backdrop.css({
|
1440
|
-
marginLeft: (tooltipWidth/2) - (backdrop.width()/2)
|
1441
|
-
});
|
1442
|
-
}
|
1443
|
-
|
1444
|
-
// Set tooptip css placement
|
1445
|
-
newTooltip.css({
|
1446
|
-
top: newCoordinates.y,
|
1447
|
-
left: newCoordinates.x
|
1348
|
+
var tooltip_delay = origin.attr('data-delay');
|
1349
|
+
tooltip_delay = (tooltip_delay === undefined || tooltip_delay === '') ?
|
1350
|
+
options.delay : tooltip_delay;
|
1351
|
+
timeoutRef = setTimeout(function(){
|
1352
|
+
started = true;
|
1353
|
+
newTooltip.velocity('stop');
|
1354
|
+
backdrop.velocity('stop');
|
1355
|
+
newTooltip.css({ display: 'block', left: '0px', top: '0px' });
|
1356
|
+
|
1357
|
+
// Set Tooltip text
|
1358
|
+
newTooltip.children('span').text(origin.attr('data-tooltip'));
|
1359
|
+
|
1360
|
+
// Tooltip positioning
|
1361
|
+
var originWidth = origin.outerWidth();
|
1362
|
+
var originHeight = origin.outerHeight();
|
1363
|
+
var tooltipPosition = origin.attr('data-position');
|
1364
|
+
var tooltipHeight = newTooltip.outerHeight();
|
1365
|
+
var tooltipWidth = newTooltip.outerWidth();
|
1366
|
+
var tooltipVerticalMovement = '0px';
|
1367
|
+
var tooltipHorizontalMovement = '0px';
|
1368
|
+
var scale_factor = 8;
|
1369
|
+
var targetTop, targetLeft, newCoordinates;
|
1370
|
+
|
1371
|
+
if (tooltipPosition === "top") {
|
1372
|
+
// Top Position
|
1373
|
+
targetTop = origin.offset().top - tooltipHeight - margin;
|
1374
|
+
targetLeft = origin.offset().left + originWidth/2 - tooltipWidth/2;
|
1375
|
+
newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
|
1376
|
+
|
1377
|
+
tooltipVerticalMovement = '-10px';
|
1378
|
+
backdrop.css({
|
1379
|
+
borderRadius: '14px 14px 0 0',
|
1380
|
+
transformOrigin: '50% 90%',
|
1381
|
+
marginTop: tooltipHeight,
|
1382
|
+
marginLeft: (tooltipWidth/2) - (backdrop.width()/2)
|
1383
|
+
});
|
1384
|
+
}
|
1385
|
+
// Left Position
|
1386
|
+
else if (tooltipPosition === "left") {
|
1387
|
+
targetTop = origin.offset().top + originHeight/2 - tooltipHeight/2;
|
1388
|
+
targetLeft = origin.offset().left - tooltipWidth - margin;
|
1389
|
+
newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
|
1390
|
+
|
1391
|
+
tooltipHorizontalMovement = '-10px';
|
1392
|
+
backdrop.css({
|
1393
|
+
width: '14px',
|
1394
|
+
height: '14px',
|
1395
|
+
borderRadius: '14px 0 0 14px',
|
1396
|
+
transformOrigin: '95% 50%',
|
1397
|
+
marginTop: tooltipHeight/2,
|
1398
|
+
marginLeft: tooltipWidth
|
1448
1399
|
});
|
1400
|
+
}
|
1401
|
+
// Right Position
|
1402
|
+
else if (tooltipPosition === "right") {
|
1403
|
+
targetTop = origin.offset().top + originHeight/2 - tooltipHeight/2;
|
1404
|
+
targetLeft = origin.offset().left + originWidth + margin;
|
1405
|
+
newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
|
1406
|
+
|
1407
|
+
tooltipHorizontalMovement = '+10px';
|
1408
|
+
backdrop.css({
|
1409
|
+
width: '14px',
|
1410
|
+
height: '14px',
|
1411
|
+
borderRadius: '0 14px 14px 0',
|
1412
|
+
transformOrigin: '5% 50%',
|
1413
|
+
marginTop: tooltipHeight/2,
|
1414
|
+
marginLeft: '0px'
|
1415
|
+
});
|
1416
|
+
}
|
1417
|
+
else {
|
1418
|
+
// Bottom Position
|
1419
|
+
targetTop = origin.offset().top + origin.outerHeight() + margin;
|
1420
|
+
targetLeft = origin.offset().left + originWidth/2 - tooltipWidth/2;
|
1421
|
+
newCoordinates = repositionWithinScreen(targetLeft, targetTop, tooltipWidth, tooltipHeight);
|
1422
|
+
tooltipVerticalMovement = '+10px';
|
1423
|
+
backdrop.css({
|
1424
|
+
marginLeft: (tooltipWidth/2) - (backdrop.width()/2)
|
1425
|
+
});
|
1426
|
+
}
|
1449
1427
|
|
1450
|
-
|
1451
|
-
|
1452
|
-
|
1453
|
-
|
1454
|
-
|
1455
|
-
if (tooltipPosition === "right" || tooltipPosition === "left") {
|
1456
|
-
scale_factor = tooltipWidth / 10;
|
1457
|
-
if (scale_factor < 6)
|
1458
|
-
scale_factor = 6;
|
1459
|
-
}
|
1428
|
+
// Set tooptip css placement
|
1429
|
+
newTooltip.css({
|
1430
|
+
top: newCoordinates.y,
|
1431
|
+
left: newCoordinates.x
|
1432
|
+
});
|
1460
1433
|
|
1461
|
-
|
1462
|
-
|
1463
|
-
|
1434
|
+
// Calculate Scale to fill
|
1435
|
+
scale_factor = tooltipWidth / 8;
|
1436
|
+
if (scale_factor < 8) {
|
1437
|
+
scale_factor = 8;
|
1438
|
+
}
|
1439
|
+
if (tooltipPosition === "right" || tooltipPosition === "left") {
|
1440
|
+
scale_factor = tooltipWidth / 10;
|
1441
|
+
if (scale_factor < 6)
|
1442
|
+
scale_factor = 6;
|
1443
|
+
}
|
1444
|
+
|
1445
|
+
newTooltip.velocity({ marginTop: tooltipVerticalMovement, marginLeft: tooltipHorizontalMovement}, { duration: 350, queue: false })
|
1446
|
+
.velocity({opacity: 1}, {duration: 300, delay: 50, queue: false});
|
1447
|
+
backdrop.css({ display: 'block' })
|
1464
1448
|
.velocity({opacity:1},{duration: 55, delay: 0, queue: false})
|
1465
1449
|
.velocity({scale: scale_factor}, {duration: 300, delay: 0, queue: false, easing: 'easeInOutQuad'});
|
1466
1450
|
|
1467
|
-
|
1468
|
-
},
|
1451
|
+
|
1452
|
+
}, tooltip_delay); // End Interval
|
1469
1453
|
|
1470
1454
|
// Mouse Out
|
1471
1455
|
},
|
1472
1456
|
'mouseleave.tooltip': function(){
|
1473
1457
|
// Reset State
|
1474
|
-
|
1475
|
-
|
1458
|
+
started = false;
|
1459
|
+
clearTimeout(timeoutRef);
|
1476
1460
|
|
1477
1461
|
// Animate back
|
1478
|
-
|
1479
|
-
|
1480
|
-
|
1481
|
-
|
1482
|
-
|
1483
|
-
|
1484
|
-
|
1485
|
-
|
1486
|
-
|
1487
|
-
|
1488
|
-
|
1462
|
+
setTimeout(function() {
|
1463
|
+
if (started != true) {
|
1464
|
+
newTooltip.velocity({
|
1465
|
+
opacity: 0, marginTop: 0, marginLeft: 0}, { duration: 225, queue: false});
|
1466
|
+
backdrop.velocity({opacity: 0, scale: 1}, {
|
1467
|
+
duration:225,
|
1468
|
+
queue: false,
|
1469
|
+
complete: function(){
|
1470
|
+
backdrop.css('display', 'none');
|
1471
|
+
newTooltip.css('display', 'none');
|
1472
|
+
started = false;}
|
1473
|
+
});
|
1474
|
+
}
|
1475
|
+
},225);
|
1489
1476
|
}
|
1490
1477
|
});
|
1491
1478
|
});
|
@@ -2593,8 +2580,8 @@ $(document).ready(function(){
|
|
2593
2580
|
Materialize.updateTextFields = function() {
|
2594
2581
|
var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';
|
2595
2582
|
$(input_selector).each(function(index, element) {
|
2596
|
-
if ($(element).val().length > 0 ||
|
2597
|
-
$(this).siblings('label').addClass('active');
|
2583
|
+
if ($(element).val().length > 0 || element.autofocus ||$(this).attr('placeholder') !== undefined || $(element)[0].validity.badInput === true) {
|
2584
|
+
$(this).siblings('label, i').addClass('active');
|
2598
2585
|
}
|
2599
2586
|
else {
|
2600
2587
|
$(this).siblings('label, i').removeClass('active');
|
@@ -2605,9 +2592,6 @@ $(document).ready(function(){
|
|
2605
2592
|
// Text based inputs
|
2606
2593
|
var input_selector = 'input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';
|
2607
2594
|
|
2608
|
-
// Handle HTML5 autofocus
|
2609
|
-
$('input[autofocus]').siblings('label, i').addClass('active');
|
2610
|
-
|
2611
2595
|
// Add active if form auto complete
|
2612
2596
|
$(document).on('change', input_selector, function () {
|
2613
2597
|
if($(this).val().length !== 0 || $(this).attr('placeholder') !== undefined) {
|
@@ -2774,7 +2758,7 @@ $(document).ready(function(){
|
|
2774
2758
|
// If thumb indicator does not exist yet, create it
|
2775
2759
|
if (thumb.length <= 0) {
|
2776
2760
|
thumb = $('<span class="thumb"><span class="value"></span></span>');
|
2777
|
-
$(this).
|
2761
|
+
$(this).after(thumb);
|
2778
2762
|
}
|
2779
2763
|
|
2780
2764
|
// Set indicator value
|
@@ -2882,18 +2866,12 @@ $(document).ready(function(){
|
|
2882
2866
|
$select.data('select-id', uniqueID);
|
2883
2867
|
var wrapper = $('<div class="select-wrapper"></div>');
|
2884
2868
|
wrapper.addClass($select.attr('class'));
|
2885
|
-
var options = $('<ul id="select-options-' + uniqueID +'" class="dropdown-content select-dropdown ' + (multiple ? 'multiple-select-dropdown' : '') + '"></ul>')
|
2886
|
-
|
2887
|
-
|
2888
|
-
|
2889
|
-
var valuesSelected = [],
|
2869
|
+
var options = $('<ul id="select-options-' + uniqueID +'" class="dropdown-content select-dropdown ' + (multiple ? 'multiple-select-dropdown' : '') + '"></ul>'),
|
2870
|
+
selectChildren = $select.children('option, optgroup'),
|
2871
|
+
valuesSelected = [],
|
2890
2872
|
optionsHover = false;
|
2891
2873
|
|
2892
|
-
|
2893
|
-
label = $select.find('option:selected');
|
2894
|
-
} else {
|
2895
|
-
label = selectOptions.first();
|
2896
|
-
}
|
2874
|
+
var label = $select.find('option:selected').html() || $select.find('option:first').html() || "";
|
2897
2875
|
|
2898
2876
|
// Function that renders and appends the option taking into
|
2899
2877
|
// account type and possible image icon.
|
@@ -2926,49 +2904,48 @@ $(document).ready(function(){
|
|
2926
2904
|
};
|
2927
2905
|
|
2928
2906
|
/* Create dropdown structure. */
|
2929
|
-
if (
|
2930
|
-
|
2931
|
-
|
2932
|
-
|
2933
|
-
|
2934
|
-
|
2935
|
-
selectOptions.each(function() {
|
2936
|
-
appendOptionWithIcon($select, $(this));
|
2937
|
-
});
|
2938
|
-
});
|
2939
|
-
} else {
|
2940
|
-
selectOptions.each(function () {
|
2941
|
-
var disabledClass = ($(this).is(':disabled')) ? 'disabled ' : '';
|
2942
|
-
if (multiple) {
|
2943
|
-
appendOptionWithIcon($select, $(this), 'multiple');
|
2907
|
+
if (selectChildren.length) {
|
2908
|
+
selectChildren.each(function() {
|
2909
|
+
if ($(this).is('option')) {
|
2910
|
+
// Direct descendant option.
|
2911
|
+
if (multiple) {
|
2912
|
+
appendOptionWithIcon($select, $(this), 'multiple');
|
2944
2913
|
|
2945
|
-
|
2946
|
-
|
2914
|
+
} else {
|
2915
|
+
appendOptionWithIcon($select, $(this));
|
2916
|
+
}
|
2917
|
+
} else if ($(this).is('optgroup')) {
|
2918
|
+
// Optgroup.
|
2919
|
+
var selectOptions = $(this).children('option');
|
2920
|
+
options.append($('<li class="optgroup"><span>' + $(this).attr('label') + '</span></li>'));
|
2921
|
+
|
2922
|
+
selectOptions.each(function() {
|
2923
|
+
appendOptionWithIcon($select, $(this));
|
2924
|
+
});
|
2947
2925
|
}
|
2948
2926
|
});
|
2949
2927
|
}
|
2950
2928
|
|
2951
|
-
|
2952
2929
|
options.find('li:not(.optgroup)').each(function (i) {
|
2953
|
-
var $curr_select = $select;
|
2954
2930
|
$(this).click(function (e) {
|
2955
2931
|
// Check if option element is disabled
|
2956
2932
|
if (!$(this).hasClass('disabled') && !$(this).hasClass('optgroup')) {
|
2933
|
+
var selected = true;
|
2934
|
+
|
2957
2935
|
if (multiple) {
|
2958
2936
|
$('input[type="checkbox"]', this).prop('checked', function(i, v) { return !v; });
|
2959
|
-
toggleEntryFromArray(valuesSelected, $(this).index(), $
|
2937
|
+
selected = toggleEntryFromArray(valuesSelected, $(this).index(), $select);
|
2960
2938
|
$newSelect.trigger('focus');
|
2961
|
-
|
2962
2939
|
} else {
|
2963
2940
|
options.find('li').removeClass('active');
|
2964
2941
|
$(this).toggleClass('active');
|
2965
|
-
$
|
2942
|
+
$newSelect.val($(this).text());
|
2966
2943
|
}
|
2967
2944
|
|
2968
2945
|
activateOption(options, $(this));
|
2969
|
-
$
|
2946
|
+
$select.find('option').eq(i).prop('selected', selected);
|
2970
2947
|
// Trigger onchange() event
|
2971
|
-
$
|
2948
|
+
$select.trigger('change');
|
2972
2949
|
if (typeof callback !== 'undefined') callback();
|
2973
2950
|
}
|
2974
2951
|
|
@@ -2984,7 +2961,7 @@ $(document).ready(function(){
|
|
2984
2961
|
dropdownIcon.addClass('disabled');
|
2985
2962
|
|
2986
2963
|
// escape double quotes
|
2987
|
-
var sanitizedLabelHtml = label.
|
2964
|
+
var sanitizedLabelHtml = label.replace(/"/g, '"');
|
2988
2965
|
|
2989
2966
|
var $newSelect = $('<input type="text" class="select-dropdown" readonly="true" ' + (($select.is(':disabled')) ? 'disabled' : '') + ' data-activates="select-options-' + uniqueID +'" value="'+ sanitizedLabelHtml +'"/>');
|
2990
2967
|
$select.before($newSelect);
|
@@ -3036,15 +3013,29 @@ $(document).ready(function(){
|
|
3036
3013
|
});
|
3037
3014
|
|
3038
3015
|
$(window).on({
|
3039
|
-
'click': function (
|
3016
|
+
'click': function () {
|
3040
3017
|
multiple && (optionsHover || $newSelect.trigger('close'));
|
3041
3018
|
}
|
3042
3019
|
});
|
3043
3020
|
|
3021
|
+
// Add initial multiple selections.
|
3022
|
+
if (multiple) {
|
3023
|
+
$select.find("option:selected:not(:disabled)").each(function () {
|
3024
|
+
var index = $(this).index();
|
3025
|
+
|
3026
|
+
toggleEntryFromArray(valuesSelected, index, $select);
|
3027
|
+
options.find("li").eq(index).find(":checkbox").prop("checked", true);
|
3028
|
+
});
|
3029
|
+
}
|
3030
|
+
|
3044
3031
|
// Make option as selected and scroll to selected position
|
3045
3032
|
activateOption = function(collection, newOption) {
|
3046
|
-
|
3047
|
-
|
3033
|
+
if (newOption) {
|
3034
|
+
collection.find('li.selected').removeClass('selected');
|
3035
|
+
var option = $(newOption);
|
3036
|
+
option.addClass('selected');
|
3037
|
+
options.scrollTo(option);
|
3038
|
+
}
|
3048
3039
|
};
|
3049
3040
|
|
3050
3041
|
// Allow user to search by typing
|
@@ -3127,17 +3118,22 @@ $(document).ready(function(){
|
|
3127
3118
|
});
|
3128
3119
|
|
3129
3120
|
function toggleEntryFromArray(entriesArray, entryIndex, select) {
|
3130
|
-
var index = entriesArray.indexOf(entryIndex)
|
3121
|
+
var index = entriesArray.indexOf(entryIndex),
|
3122
|
+
notAdded = index === -1;
|
3131
3123
|
|
3132
|
-
if (
|
3124
|
+
if (notAdded) {
|
3133
3125
|
entriesArray.push(entryIndex);
|
3134
3126
|
} else {
|
3135
3127
|
entriesArray.splice(index, 1);
|
3136
3128
|
}
|
3137
3129
|
|
3138
3130
|
select.siblings('ul.dropdown-content').find('li').eq(entryIndex).toggleClass('active');
|
3139
|
-
|
3131
|
+
|
3132
|
+
// use notAdded instead of true (to detect if the option is selected or not)
|
3133
|
+
select.find('option').eq(entryIndex).prop('selected', notAdded);
|
3140
3134
|
setValueToInput(entriesArray, select);
|
3135
|
+
|
3136
|
+
return notAdded;
|
3141
3137
|
}
|
3142
3138
|
|
3143
3139
|
function setValueToInput(entriesArray, select) {
|
@@ -3606,11 +3602,10 @@ $(document).ready(function(){
|
|
3606
3602
|
|
3607
3603
|
$.fn.extend({
|
3608
3604
|
openFAB: function() {
|
3609
|
-
|
3610
|
-
openFABMenu($this);
|
3605
|
+
openFABMenu($(this));
|
3611
3606
|
},
|
3612
3607
|
closeFAB: function() {
|
3613
|
-
closeFABMenu($this);
|
3608
|
+
closeFABMenu($(this));
|
3614
3609
|
}
|
3615
3610
|
});
|
3616
3611
|
|
@@ -6476,3 +6471,353 @@ Picker.extend( 'pickadate', DatePicker )
|
|
6476
6471
|
});
|
6477
6472
|
|
6478
6473
|
}( jQuery ));
|
6474
|
+
;(function ($) {
|
6475
|
+
|
6476
|
+
var methods = {
|
6477
|
+
|
6478
|
+
init : function(options) {
|
6479
|
+
var defaults = {
|
6480
|
+
time_constant: 200, // ms
|
6481
|
+
dist: -100, // zoom scale TODO: make this more intuitive as an option
|
6482
|
+
shift: 0, // spacing for center image
|
6483
|
+
padding: 0, // Padding between non center items
|
6484
|
+
full_width: false // Change to full width styles
|
6485
|
+
};
|
6486
|
+
options = $.extend(defaults, options);
|
6487
|
+
|
6488
|
+
return this.each(function() {
|
6489
|
+
|
6490
|
+
var images, offset, center, pressed, dim, count,
|
6491
|
+
reference, referenceY, amplitude, target, velocity,
|
6492
|
+
xform, frame, timestamp, ticker, dragged, vertical_dragged;
|
6493
|
+
|
6494
|
+
// Initialize
|
6495
|
+
var view = $(this);
|
6496
|
+
// Don't double initialize.
|
6497
|
+
if (view.hasClass('initialized')) {
|
6498
|
+
return true;
|
6499
|
+
}
|
6500
|
+
|
6501
|
+
// Options
|
6502
|
+
if (options.full_width) {
|
6503
|
+
options.dist = 0;
|
6504
|
+
imageHeight = view.find('.carousel-item img').first().load(function(){
|
6505
|
+
view.css('height', $(this).height());
|
6506
|
+
});
|
6507
|
+
}
|
6508
|
+
|
6509
|
+
view.addClass('initialized');
|
6510
|
+
pressed = false;
|
6511
|
+
offset = target = 0;
|
6512
|
+
images = [];
|
6513
|
+
item_width = view.find('.carousel-item').first().innerWidth();
|
6514
|
+
dim = item_width * 2 + options.padding;
|
6515
|
+
|
6516
|
+
view.find('.carousel-item').each(function () {
|
6517
|
+
images.push($(this)[0]);
|
6518
|
+
});
|
6519
|
+
|
6520
|
+
count = images.length;
|
6521
|
+
|
6522
|
+
|
6523
|
+
function setupEvents() {
|
6524
|
+
if (typeof window.ontouchstart !== 'undefined') {
|
6525
|
+
view[0].addEventListener('touchstart', tap);
|
6526
|
+
view[0].addEventListener('touchmove', drag);
|
6527
|
+
view[0].addEventListener('touchend', release);
|
6528
|
+
}
|
6529
|
+
view[0].addEventListener('mousedown', tap);
|
6530
|
+
view[0].addEventListener('mousemove', drag);
|
6531
|
+
view[0].addEventListener('mouseup', release);
|
6532
|
+
view[0].addEventListener('click', click);
|
6533
|
+
}
|
6534
|
+
|
6535
|
+
function xpos(e) {
|
6536
|
+
// touch event
|
6537
|
+
if (e.targetTouches && (e.targetTouches.length >= 1)) {
|
6538
|
+
return e.targetTouches[0].clientX;
|
6539
|
+
}
|
6540
|
+
|
6541
|
+
// mouse event
|
6542
|
+
return e.clientX;
|
6543
|
+
}
|
6544
|
+
|
6545
|
+
function ypos(e) {
|
6546
|
+
// touch event
|
6547
|
+
if (e.targetTouches && (e.targetTouches.length >= 1)) {
|
6548
|
+
return e.targetTouches[0].clientY;
|
6549
|
+
}
|
6550
|
+
|
6551
|
+
// mouse event
|
6552
|
+
return e.clientY;
|
6553
|
+
}
|
6554
|
+
|
6555
|
+
function wrap(x) {
|
6556
|
+
return (x >= count) ? (x % count) : (x < 0) ? wrap(count + (x % count)) : x;
|
6557
|
+
}
|
6558
|
+
|
6559
|
+
function scroll(x) {
|
6560
|
+
var i, half, delta, dir, tween, el, alignment, xTranslation;
|
6561
|
+
|
6562
|
+
offset = (typeof x === 'number') ? x : offset;
|
6563
|
+
center = Math.floor((offset + dim / 2) / dim);
|
6564
|
+
delta = offset - center * dim;
|
6565
|
+
dir = (delta < 0) ? 1 : -1;
|
6566
|
+
tween = -dir * delta * 2 / dim;
|
6567
|
+
|
6568
|
+
if (!options.full_width) {
|
6569
|
+
alignment = 'translateX(' + (view[0].clientWidth - item_width) / 2 + 'px) ';
|
6570
|
+
alignment += 'translateY(' + (view[0].clientHeight - item_width) / 2 + 'px)';
|
6571
|
+
} else {
|
6572
|
+
alignment = 'translateX(0)';
|
6573
|
+
}
|
6574
|
+
|
6575
|
+
// center
|
6576
|
+
el = images[wrap(center)];
|
6577
|
+
el.style[xform] = alignment +
|
6578
|
+
' translateX(' + (-delta / 2) + 'px)' +
|
6579
|
+
' translateX(' + (dir * options.shift * tween * i) + 'px)' +
|
6580
|
+
' translateZ(' + (options.dist * tween) + 'px)';
|
6581
|
+
el.style.zIndex = 0;
|
6582
|
+
if (options.full_width) { tweenedOpacity = 1; }
|
6583
|
+
else { tweenedOpacity = 1 - 0.2 * tween; }
|
6584
|
+
el.style.opacity = tweenedOpacity;
|
6585
|
+
half = count >> 1;
|
6586
|
+
|
6587
|
+
for (i = 1; i <= half; ++i) {
|
6588
|
+
// right side
|
6589
|
+
if (options.full_width) {
|
6590
|
+
zTranslation = options.dist;
|
6591
|
+
tweenedOpacity = (i === half && delta < 0) ? 1 - tween : 1;
|
6592
|
+
} else {
|
6593
|
+
zTranslation = options.dist * (i * 2 + tween * dir);
|
6594
|
+
tweenedOpacity = 1 - 0.2 * (i * 2 + tween * dir);
|
6595
|
+
}
|
6596
|
+
el = images[wrap(center + i)];
|
6597
|
+
el.style[xform] = alignment +
|
6598
|
+
' translateX(' + (options.shift + (dim * i - delta) / 2) + 'px)' +
|
6599
|
+
' translateZ(' + zTranslation + 'px)';
|
6600
|
+
el.style.zIndex = -i;
|
6601
|
+
el.style.opacity = tweenedOpacity;
|
6602
|
+
|
6603
|
+
|
6604
|
+
// left side
|
6605
|
+
if (options.full_width) {
|
6606
|
+
zTranslation = options.dist;
|
6607
|
+
tweenedOpacity = (i === half && delta > 0) ? 1 - tween : 1;
|
6608
|
+
} else {
|
6609
|
+
zTranslation = options.dist * (i * 2 - tween * dir);
|
6610
|
+
tweenedOpacity = 1 - 0.2 * (i * 2 - tween * dir);
|
6611
|
+
}
|
6612
|
+
el = images[wrap(center - i)];
|
6613
|
+
el.style[xform] = alignment +
|
6614
|
+
' translateX(' + (-options.shift + (-dim * i - delta) / 2) + 'px)' +
|
6615
|
+
' translateZ(' + zTranslation + 'px)';
|
6616
|
+
el.style.zIndex = -i;
|
6617
|
+
el.style.opacity = tweenedOpacity;
|
6618
|
+
}
|
6619
|
+
|
6620
|
+
// center
|
6621
|
+
el = images[wrap(center)];
|
6622
|
+
el.style[xform] = alignment +
|
6623
|
+
' translateX(' + (-delta / 2) + 'px)' +
|
6624
|
+
' translateX(' + (dir * options.shift * tween) + 'px)' +
|
6625
|
+
' translateZ(' + (options.dist * tween) + 'px)';
|
6626
|
+
el.style.zIndex = 0;
|
6627
|
+
if (options.full_width) { tweenedOpacity = 1; }
|
6628
|
+
else { tweenedOpacity = 1 - 0.2 * tween; }
|
6629
|
+
el.style.opacity = tweenedOpacity;
|
6630
|
+
}
|
6631
|
+
|
6632
|
+
function track() {
|
6633
|
+
var now, elapsed, delta, v;
|
6634
|
+
|
6635
|
+
now = Date.now();
|
6636
|
+
elapsed = now - timestamp;
|
6637
|
+
timestamp = now;
|
6638
|
+
delta = offset - frame;
|
6639
|
+
frame = offset;
|
6640
|
+
|
6641
|
+
v = 1000 * delta / (1 + elapsed);
|
6642
|
+
velocity = 0.8 * v + 0.2 * velocity;
|
6643
|
+
}
|
6644
|
+
|
6645
|
+
function autoScroll() {
|
6646
|
+
var elapsed, delta;
|
6647
|
+
|
6648
|
+
if (amplitude) {
|
6649
|
+
elapsed = Date.now() - timestamp;
|
6650
|
+
delta = amplitude * Math.exp(-elapsed / options.time_constant);
|
6651
|
+
if (delta > 2 || delta < -2) {
|
6652
|
+
scroll(target - delta);
|
6653
|
+
requestAnimationFrame(autoScroll);
|
6654
|
+
} else {
|
6655
|
+
scroll(target);
|
6656
|
+
}
|
6657
|
+
}
|
6658
|
+
}
|
6659
|
+
|
6660
|
+
function click(e) {
|
6661
|
+
// Disable clicks if carousel was dragged.
|
6662
|
+
if (dragged) {
|
6663
|
+
e.preventDefault();
|
6664
|
+
e.stopPropagation();
|
6665
|
+
return false;
|
6666
|
+
|
6667
|
+
} else if (!options.full_width) {
|
6668
|
+
var clickedIndex = $(e.target).closest('.carousel-item').index();
|
6669
|
+
var diff = (center % count) - clickedIndex;
|
6670
|
+
|
6671
|
+
// Account for wraparound.
|
6672
|
+
if (diff < 0) {
|
6673
|
+
if (Math.abs(diff + count) < Math.abs(diff)) { diff += count; }
|
6674
|
+
|
6675
|
+
} else if (diff > 0) {
|
6676
|
+
if (Math.abs(diff - count) < diff) { diff -= count; }
|
6677
|
+
}
|
6678
|
+
|
6679
|
+
// Call prev or next accordingly.
|
6680
|
+
if (diff < 0) {
|
6681
|
+
$(this).trigger('carouselNext', [Math.abs(diff)]);
|
6682
|
+
|
6683
|
+
} else if (diff > 0) {
|
6684
|
+
$(this).trigger('carouselPrev', [diff]);
|
6685
|
+
}
|
6686
|
+
}
|
6687
|
+
}
|
6688
|
+
|
6689
|
+
function tap(e) {
|
6690
|
+
pressed = true;
|
6691
|
+
dragged = false;
|
6692
|
+
vertical_dragged = false;
|
6693
|
+
reference = xpos(e);
|
6694
|
+
referenceY = ypos(e);
|
6695
|
+
|
6696
|
+
velocity = amplitude = 0;
|
6697
|
+
frame = offset;
|
6698
|
+
timestamp = Date.now();
|
6699
|
+
clearInterval(ticker);
|
6700
|
+
ticker = setInterval(track, 100);
|
6701
|
+
|
6702
|
+
}
|
6703
|
+
|
6704
|
+
function drag(e) {
|
6705
|
+
var x, delta, deltaY;
|
6706
|
+
if (pressed) {
|
6707
|
+
x = xpos(e);
|
6708
|
+
y = ypos(e);
|
6709
|
+
delta = reference - x;
|
6710
|
+
deltaY = Math.abs(referenceY - y);
|
6711
|
+
if (deltaY < 30 && !vertical_dragged) {
|
6712
|
+
// If vertical scrolling don't allow dragging.
|
6713
|
+
if (delta > 2 || delta < -2) {
|
6714
|
+
dragged = true;
|
6715
|
+
reference = x;
|
6716
|
+
scroll(offset + delta);
|
6717
|
+
}
|
6718
|
+
|
6719
|
+
} else if (dragged) {
|
6720
|
+
// If dragging don't allow vertical scroll.
|
6721
|
+
e.preventDefault();
|
6722
|
+
e.stopPropagation();
|
6723
|
+
return false;
|
6724
|
+
|
6725
|
+
} else {
|
6726
|
+
// Vertical scrolling.
|
6727
|
+
vertical_dragged = true;
|
6728
|
+
}
|
6729
|
+
}
|
6730
|
+
|
6731
|
+
if (dragged) {
|
6732
|
+
// If dragging don't allow vertical scroll.
|
6733
|
+
e.preventDefault();
|
6734
|
+
e.stopPropagation();
|
6735
|
+
return false;
|
6736
|
+
}
|
6737
|
+
}
|
6738
|
+
|
6739
|
+
function release(e) {
|
6740
|
+
pressed = false;
|
6741
|
+
|
6742
|
+
clearInterval(ticker);
|
6743
|
+
target = offset;
|
6744
|
+
if (velocity > 10 || velocity < -10) {
|
6745
|
+
amplitude = 0.9 * velocity;
|
6746
|
+
target = offset + amplitude;
|
6747
|
+
}
|
6748
|
+
target = Math.round(target / dim) * dim;
|
6749
|
+
amplitude = target - offset;
|
6750
|
+
timestamp = Date.now();
|
6751
|
+
requestAnimationFrame(autoScroll);
|
6752
|
+
|
6753
|
+
e.preventDefault();
|
6754
|
+
e.stopPropagation();
|
6755
|
+
return false;
|
6756
|
+
}
|
6757
|
+
|
6758
|
+
xform = 'transform';
|
6759
|
+
['webkit', 'Moz', 'O', 'ms'].every(function (prefix) {
|
6760
|
+
var e = prefix + 'Transform';
|
6761
|
+
if (typeof document.body.style[e] !== 'undefined') {
|
6762
|
+
xform = e;
|
6763
|
+
return false;
|
6764
|
+
}
|
6765
|
+
return true;
|
6766
|
+
});
|
6767
|
+
|
6768
|
+
|
6769
|
+
|
6770
|
+
window.onresize = scroll;
|
6771
|
+
|
6772
|
+
setupEvents();
|
6773
|
+
scroll(offset);
|
6774
|
+
|
6775
|
+
$(this).on('carouselNext', function(e, n) {
|
6776
|
+
if (n === undefined) {
|
6777
|
+
n = 1;
|
6778
|
+
}
|
6779
|
+
target = offset + dim * n;
|
6780
|
+
if (offset !== target) {
|
6781
|
+
amplitude = target - offset;
|
6782
|
+
timestamp = Date.now();
|
6783
|
+
requestAnimationFrame(autoScroll);
|
6784
|
+
}
|
6785
|
+
});
|
6786
|
+
|
6787
|
+
$(this).on('carouselPrev', function(e, n) {
|
6788
|
+
if (n === undefined) {
|
6789
|
+
n = 1;
|
6790
|
+
}
|
6791
|
+
target = offset - dim * n;
|
6792
|
+
if (offset !== target) {
|
6793
|
+
amplitude = target - offset;
|
6794
|
+
timestamp = Date.now();
|
6795
|
+
requestAnimationFrame(autoScroll);
|
6796
|
+
}
|
6797
|
+
});
|
6798
|
+
|
6799
|
+
});
|
6800
|
+
|
6801
|
+
|
6802
|
+
|
6803
|
+
},
|
6804
|
+
next : function(n) {
|
6805
|
+
$(this).trigger('carouselNext', [n]);
|
6806
|
+
},
|
6807
|
+
prev : function(n) {
|
6808
|
+
$(this).trigger('carouselPrev', [n]);
|
6809
|
+
},
|
6810
|
+
};
|
6811
|
+
|
6812
|
+
|
6813
|
+
$.fn.carousel = function(methodOrOptions) {
|
6814
|
+
if ( methods[methodOrOptions] ) {
|
6815
|
+
return methods[ methodOrOptions ].apply( this, Array.prototype.slice.call( arguments, 1 ));
|
6816
|
+
} else if ( typeof methodOrOptions === 'object' || ! methodOrOptions ) {
|
6817
|
+
// Default to "init"
|
6818
|
+
return methods.init.apply( this, arguments );
|
6819
|
+
} else {
|
6820
|
+
$.error( 'Method ' + methodOrOptions + ' does not exist on jQuery.carousel' );
|
6821
|
+
}
|
6822
|
+
}; // Plugin end
|
6823
|
+
}( jQuery ));
|