Renamed the uikit lib folders. Resolved the gh-188 by updateing the note. Resolved gh-92 by implementation of the library manager in the compiler.
This commit is contained in:
124
admin/custom/uikit-v2/js/core/toggle.js
Normal file
124
admin/custom/uikit-v2/js/core/toggle.js
Normal file
@ -0,0 +1,124 @@
|
||||
/*! UIkit 2.27.4 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
||||
(function(UI){
|
||||
|
||||
"use strict";
|
||||
|
||||
var toggles = [];
|
||||
|
||||
UI.component('toggle', {
|
||||
|
||||
defaults: {
|
||||
target : false,
|
||||
cls : 'uk-hidden',
|
||||
animation : false,
|
||||
duration : 200
|
||||
},
|
||||
|
||||
boot: function(){
|
||||
|
||||
// init code
|
||||
UI.ready(function(context) {
|
||||
|
||||
UI.$('[data-uk-toggle]', context).each(function() {
|
||||
var ele = UI.$(this);
|
||||
|
||||
if (!ele.data('toggle')) {
|
||||
var obj = UI.toggle(ele, UI.Utils.options(ele.attr('data-uk-toggle')));
|
||||
}
|
||||
});
|
||||
|
||||
setTimeout(function(){
|
||||
|
||||
toggles.forEach(function(toggle){
|
||||
toggle.getToggles();
|
||||
});
|
||||
|
||||
}, 0);
|
||||
});
|
||||
},
|
||||
|
||||
init: function() {
|
||||
|
||||
var $this = this;
|
||||
|
||||
this.aria = (this.options.cls.indexOf('uk-hidden') !== -1);
|
||||
|
||||
this.on('click', function(e) {
|
||||
|
||||
if ($this.element.is('a[href="#"]')) {
|
||||
e.preventDefault();
|
||||
}
|
||||
|
||||
$this.toggle();
|
||||
});
|
||||
|
||||
toggles.push(this);
|
||||
},
|
||||
|
||||
toggle: function() {
|
||||
|
||||
this.getToggles();
|
||||
|
||||
if(!this.totoggle.length) return;
|
||||
|
||||
if (this.options.animation && UI.support.animation) {
|
||||
|
||||
var $this = this, animations = this.options.animation.split(',');
|
||||
|
||||
if (animations.length == 1) {
|
||||
animations[1] = animations[0];
|
||||
}
|
||||
|
||||
animations[0] = animations[0].trim();
|
||||
animations[1] = animations[1].trim();
|
||||
|
||||
this.totoggle.css('animation-duration', this.options.duration+'ms');
|
||||
|
||||
this.totoggle.each(function(){
|
||||
|
||||
var ele = UI.$(this);
|
||||
|
||||
if (ele.hasClass($this.options.cls)) {
|
||||
|
||||
ele.toggleClass($this.options.cls);
|
||||
|
||||
UI.Utils.animate(ele, animations[0]).then(function(){
|
||||
ele.css('animation-duration', '');
|
||||
UI.Utils.checkDisplay(ele);
|
||||
});
|
||||
|
||||
} else {
|
||||
|
||||
UI.Utils.animate(this, animations[1]+' uk-animation-reverse').then(function(){
|
||||
ele.toggleClass($this.options.cls).css('animation-duration', '');
|
||||
UI.Utils.checkDisplay(ele);
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
} else {
|
||||
this.totoggle.toggleClass(this.options.cls);
|
||||
UI.Utils.checkDisplay(this.totoggle);
|
||||
}
|
||||
|
||||
this.updateAria();
|
||||
|
||||
},
|
||||
|
||||
getToggles: function() {
|
||||
this.totoggle = this.options.target ? UI.$(this.options.target):[];
|
||||
this.updateAria();
|
||||
},
|
||||
|
||||
updateAria: function() {
|
||||
if (this.aria && this.totoggle.length) {
|
||||
this.totoggle.not('[aria-hidden]').each(function(){
|
||||
UI.$(this).attr('aria-hidden', UI.$(this).hasClass('uk-hidden'));
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
})(UIkit2);
|
Reference in New Issue
Block a user