Update: Move Layout JS to Core JS Bundle

This commit is contained in:
Gary Sharp
2013-07-25 17:48:08 +10:00
parent 19503366c4
commit cb30257c59
7 changed files with 173 additions and 132 deletions
+68
View File
@@ -39582,3 +39582,71 @@ jQuery.fn.dataTableExt.oSort['disco_datetime-desc'] = function (a, b) {
// Change Default Menu Lengths
jQuery.fn.DataTable.defaults.aLengthMenu = [[10, 20, 50, -1], [10, 20, 50, "All"]];
///#source 1 1 /ClientSource/Scripts/Core/disco.uicore.js
(function ($, window, document, Modernizr) {
// Document Ready
$(function () {
// Search Functionality
$('#term').watermark('Search').keypress(function (e) {
if (e.keyCode == 13) {
$(this).closest('form').submit();
}
}).focus(function () {
$(this).select();
});
// Menu Functionality
var $menu = $('#menu');
var $menuSubVisible = [];
$menu.find('li').each(function () {
var $menuItem = $(this);
var $subMenu = $menuItem.children('ul').first();
if ($subMenu.length > 0) {
$menuItem.mouseover(function () {
menuShow($menuItem, $subMenu);
}).mouseout(function () {
menuHide($menuItem, $subMenu);
}).addClass('hasSubmenu');
// Touch-enabled browser
if (Modernizr.touch) {
$menuItem.on('touchstart', function (e) {
// Already Open - allow 'click'
for (var i = 0; i < $menuSubVisible.length; i++)
if ($menuSubVisible[0] === $subMenu)
return;
// Show
menuShow($menuItem, $subMenu);
$menuSubVisible.push($subMenu);
$(document).on('click', menuTouchHide)
e.preventDefault();
});
}
};
});
function menuTouchHide() {
while ($menuSubVisible.length > 0) {
var $subMenu = $menuSubVisible.pop();
$subMenu.hide();
}
}
function menuShow($menuItem, $subMenu) {
var timeoutToken = $menuItem.data('menuTimeoutToken');
if (timeoutToken)
window.clearTimeout(timeoutToken);
if (!$subMenu.is(':visible'))
$subMenu.show();
}
function menuHide($menuItem, $subMenu) {
var timeoutToken = subMenuHideToken = window.setTimeout(function () {
$subMenu.hide();
}, 250);
$menuItem.data('menuTimeoutToken', timeoutToken);
}
});
})(jQuery, window, document, Modernizr);
@@ -9,4 +9,5 @@
<file>/ClientSource/Scripts/Core/jquery.watermark.js</file>
<file>/ClientSource/Scripts/Core/jquery.dataTables.js</file>
<file>/ClientSource/Scripts/Core/disco.dataTables.extensions.js</file>
<file>/ClientSource/Scripts/Core/disco.uicore.js</file>
</bundle>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,67 @@
(function ($, window, document, Modernizr) {
// Document Ready
$(function () {
// Search Functionality
$('#term').watermark('Search').keypress(function (e) {
if (e.keyCode == 13) {
$(this).closest('form').submit();
}
}).focus(function () {
$(this).select();
});
// Menu Functionality
var $menu = $('#menu');
var $menuSubVisible = [];
$menu.find('li').each(function () {
var $menuItem = $(this);
var $subMenu = $menuItem.children('ul').first();
if ($subMenu.length > 0) {
$menuItem.mouseover(function () {
menuShow($menuItem, $subMenu);
}).mouseout(function () {
menuHide($menuItem, $subMenu);
}).addClass('hasSubmenu');
// Touch-enabled browser
if (Modernizr.touch) {
$menuItem.on('touchstart', function (e) {
// Already Open - allow 'click'
for (var i = 0; i < $menuSubVisible.length; i++)
if ($menuSubVisible[0] === $subMenu)
return;
// Show
menuShow($menuItem, $subMenu);
$menuSubVisible.push($subMenu);
$(document).on('click', menuTouchHide)
e.preventDefault();
});
}
};
});
function menuTouchHide() {
while ($menuSubVisible.length > 0) {
var $subMenu = $menuSubVisible.pop();
$subMenu.hide();
}
}
function menuShow($menuItem, $subMenu) {
var timeoutToken = $menuItem.data('menuTimeoutToken');
if (timeoutToken)
window.clearTimeout(timeoutToken);
if (!$subMenu.is(':visible'))
$subMenu.show();
}
function menuHide($menuItem, $subMenu) {
var timeoutToken = subMenuHideToken = window.setTimeout(function () {
$subMenu.hide();
}, 250);
$menuItem.data('menuTimeoutToken', timeoutToken);
}
});
})(jQuery, window, document, Modernizr);