mirror of
https://github.com/pierre42100/comunic
synced 2024-11-16 18:41:13 +00:00
113 lines
3.0 KiB
JavaScript
113 lines
3.0 KiB
JavaScript
|
(function( $ ) {
|
||
|
$.widget("metro.dropdown", {
|
||
|
|
||
|
version: "1.0.1",
|
||
|
|
||
|
options: {
|
||
|
effect: 'slide',
|
||
|
toggleElement: false
|
||
|
},
|
||
|
|
||
|
_create: function(){
|
||
|
var that = this,
|
||
|
menu = this.element,
|
||
|
name = this.name,
|
||
|
parent = this.element.parent(),
|
||
|
toggle = this.options.toggleElement || parent.children('.dropdown-toggle');
|
||
|
|
||
|
if (menu.data('effect') != undefined) {
|
||
|
this.options.effect = menu.data('effect');
|
||
|
}
|
||
|
|
||
|
toggle.on('click.'+name, function(e){
|
||
|
e.preventDefault();
|
||
|
e.stopPropagation();
|
||
|
|
||
|
if (menu.css('display') == 'block' && !menu.hasClass('keep-open')) {
|
||
|
that._close(menu);
|
||
|
} else {
|
||
|
$('.dropdown-menu').each(function(i, el){
|
||
|
if (!menu.parents('.dropdown-menu').is(el) && !$(el).hasClass('keep-open') && $(el).css('display')=='block') {
|
||
|
that._close(el);
|
||
|
}
|
||
|
});
|
||
|
that._open(menu);
|
||
|
}
|
||
|
});
|
||
|
|
||
|
$(menu).find('li.disabled a').on('click', function(e){
|
||
|
e.preventDefault();
|
||
|
});
|
||
|
|
||
|
},
|
||
|
|
||
|
_open: function(el){
|
||
|
switch (this.options.effect) {
|
||
|
case 'fade': $(el).fadeIn('fast'); break;
|
||
|
case 'slide': $(el).slideDown('fast'); break;
|
||
|
default: $(el).hide();
|
||
|
}
|
||
|
this._trigger("onOpen", null, el);
|
||
|
},
|
||
|
|
||
|
_close: function(el){
|
||
|
switch (this.options.effect) {
|
||
|
case 'fade': $(el).fadeOut('fast'); break;
|
||
|
case 'slide': $(el).slideUp('fast'); break;
|
||
|
default: $(el).hide();
|
||
|
}
|
||
|
this._trigger("onClose", null, el);
|
||
|
},
|
||
|
|
||
|
_destroy: function(){
|
||
|
},
|
||
|
|
||
|
_setOption: function(key, value){
|
||
|
this._super('_setOption', key, value);
|
||
|
}
|
||
|
});
|
||
|
})( jQuery );
|
||
|
|
||
|
/*
|
||
|
(function($){
|
||
|
$.fn.PullDown = function( options ){
|
||
|
var defaults = {
|
||
|
};
|
||
|
|
||
|
var $this = $(this)
|
||
|
;
|
||
|
|
||
|
var initSelectors = function(selectors){
|
||
|
|
||
|
addTouchEvents(selectors[0]);
|
||
|
|
||
|
selectors.on('click', function(e){
|
||
|
var $m = $this.parent().children(".element-menu");
|
||
|
console.log($m);
|
||
|
if ($m.css('display') == "block") {
|
||
|
$m.slideUp('fast');
|
||
|
} else {
|
||
|
$m.slideDown('fast');
|
||
|
}
|
||
|
e.preventDefault();
|
||
|
e.stopPropagation();
|
||
|
});
|
||
|
};
|
||
|
|
||
|
return this.each(function(){
|
||
|
if ( options ) {
|
||
|
$.extend(defaults, options);
|
||
|
}
|
||
|
|
||
|
initSelectors($this);
|
||
|
});
|
||
|
};
|
||
|
|
||
|
$(function () {
|
||
|
$('.pull-menu, .menu-pull').each(function () {
|
||
|
$(this).PullDown();
|
||
|
});
|
||
|
});
|
||
|
})(window.jQuery);
|
||
|
*/
|