%PDF- %PDF-
| Direktori : /home/lightco1/upgrade.lightco.com.au/libraries/cegcore/assets/gplugins/gdropdown/ |
| Current File : /home/lightco1/upgrade.lightco.com.au/libraries/cegcore/assets/gplugins/gdropdown/gdropdown.js |
jQuery.gdropdown = {
};
(function($){
$.fn.gdropdown = function(options, params){
if(this.length > 0){
if($.type(params) === 'undefined' && $.type(options) === 'object'){
params = options;
}
if($.type(options) === 'undefined' || $.type(options) === 'object'){
params = $.extend(true, {}, $.gdropdown, params);
return this.each(function(){
if(!$(this).data('gdropdown')){
$(this).data('gdropdown', new Gdropdown(this, params));
}
});
}
if($.type(options) === 'string'){
params = $.extend(true, {}, $.gdropdown, params);
var dropdown = $(this).data('gdropdown');
switch (options){
case 'get':
return dropdown.get();
case 'show':
return dropdown.show();
case 'hide':
return dropdown.hide();
case 'toggle':
return dropdown.toggle();
}
}
}
}
var Gdropdown = function(elem, params){
this.element = elem;
this.settings = params;
this.shown = false;
this.init();
};
Gdropdown.prototype = {
init: function(){
var dropdown = this;
$(dropdown.element).addClass('gdropdown');
$(dropdown.element).css({
'background-clip' : 'padding-box',
'display' : 'none',
'float' : 'left',
'left' : '0',
'list-style' : 'outside none none',
'position' : 'absolute',
'top' : '100%',
'z-index' : '1000',
});
$(dropdown.element).find('a').on('click', function(){
dropdown.hide();
});
$(document).on('mousedown', function(e){
if(dropdown.shown){
if($(e.target).get(0) != $(dropdown.element).get(0) && !$.contains($(dropdown.element).get(0), $(e.target).get(0))){
dropdown.hide();
}
}
});
},
get: function(){
var dropdown = this;
return dropdown;
},
show: function(){
var dropdown = this;
$(dropdown.element).trigger('show.gdropdown');
$(dropdown.element).show();
$(dropdown.element).trigger('shown.gdropdown');
dropdown.shown = true;
},
hide: function(){
var dropdown = this;
$(dropdown.element).trigger('hide.gdropdown');
$(dropdown.element).hide();
$(dropdown.element).trigger('hidden.gdropdown');
dropdown.shown = false;
},
toggle: function(){
var dropdown = this;
if(dropdown.shown){
dropdown.hide();
}else{
dropdown.show();
}
//$(dropdown.element).toggle();
},
};
}(jQuery));