vendor/assets/javascripts/metro-ui/dropdown.js in metro-ui-rails-0.15.8.14 vs vendor/assets/javascripts/metro-ui/dropdown.js in metro-ui-rails-0.15.8.15
- old
+ new
@@ -10,21 +10,30 @@
$(".dropdown-menu").each(function(){
if ( $(this).css('position') == 'static' ) return;
$(this).slideUp('fast', function(){});
$(this).parent().removeClass("active");
});
- }
+ };
var initSelectors = function(selectors){
- selectors.on('click', function(e){
- e.stopPropagation();
+ selectors.off("click.dropdown");
+ selectors.on('click.dropdown', function(e){
+ //e.stopPropagation();
//$("[data-role=dropdown]").removeClass("active");
+ if($(e.originalEvent.target).parent().is("[data-role]")) e.stopPropagation();
clearDropdown();
$(this).parents("ul").css("overflow", "visible");
var $m = $(this).children(".dropdown-menu, .sidebar-dropdown-menu");
+ $(this).parents("ul").children(".dropdown").children(".dropdown-menu, .sidebar-dropdown-menu").each(function(){
+ if(!$(this).hasClass("keep-opened") && !$m.hasClass("keep-opened")) {
+ $(this).slideUp('fast');
+ $(this).parents("li").removeClass("active");
+ }
+ });
+
if ($m.css('display') == "block") {
$m.slideUp('fast');
$(this).removeClass("active");
} else {
$m.slideDown('fast');
@@ -32,28 +41,29 @@
}
}).on("mouseleave", function(){
//$(this).children(".dropdown-menu").hide();
});
$('html').on("click", function(e){
- clearDropdown();
+ if(e.originalEvent && $(e.originalEvent.target).parents('[data-role="dropdown"]').length == 0)
+ clearDropdown();
});
- }
+ };
return this.each(function(){
if ( options ) {
- $.extend(defaults, options)
+ $.extend(defaults, options);
}
initSelectors($this);
});
- }
+ };
$(function () {
$('[data-role="dropdown"]').each(function () {
$(this).Dropdown();
- })
- })
+ });
+ });
})(window.jQuery);
(function($){
$.fn.PullDown = function( options ){
@@ -74,22 +84,22 @@
} else {
$m.slideDown('fast');
}
//$(this).toggleClass("active");
});
- }
+ };
return this.each(function(){
if ( options ) {
- $.extend(defaults, options)
+ $.extend(defaults, options);
}
initSelectors($this);
});
- }
+ };
$(function () {
$('.pull-menu, .menu-pull').each(function () {
$(this).PullDown();
- })
- })
-})(window.jQuery);
\ No newline at end of file
+ });
+ });
+})(window.jQuery);