Skip to content

Commit

Permalink
Update: Move Layout JS to Core JS Bundle
Browse files Browse the repository at this point in the history
  • Loading branch information
garysharp committed Jul 25, 2013
1 parent 1950336 commit cb30257
Show file tree
Hide file tree
Showing 7 changed files with 173 additions and 132 deletions.
68 changes: 68 additions & 0 deletions Disco.Web/ClientSource/Scripts/Core.js
Original file line number Diff line number Diff line change
Expand Up @@ -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);
1 change: 1 addition & 0 deletions Disco.Web/ClientSource/Scripts/Core.js.bundle
Original file line number Diff line number Diff line change
Expand Up @@ -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>
2 changes: 1 addition & 1 deletion Disco.Web/ClientSource/Scripts/Core.min.js

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions Disco.Web/ClientSource/Scripts/Core.min.js.map

Large diffs are not rendered by default.

67 changes: 67 additions & 0 deletions Disco.Web/ClientSource/Scripts/Core/disco.uicore.js
Original file line number Diff line number Diff line change
@@ -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);
41 changes: 1 addition & 40 deletions Disco.Web/Views/Shared/_Layout.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -23,24 +23,7 @@
</div>
<div id="headerMenu">
<span>Welcome @Html.ActionLink(DiscoApplication.CurrentUser.ToString(), MVC.User.Show(DiscoApplication.CurrentUser.Id))</span>
@using (Html.BeginForm(MVC.Search.Query(), FormMethod.Get))
{

@Html.TextBox("term", null, new { accesskey = "s" })
<script type="text/javascript">
//<!--
$(function () {
$('#term').watermark('Search').keypress(function (e) {
if (e.keyCode == 13) {
$(this).closest('form').submit();
}
}).focus(function () {
$(this).select();
});
});
//-->
</script>
}
@using (Html.BeginForm(MVC.Search.Query(), FormMethod.Get)) { @Html.TextBox("term", null, new { accesskey = "s" }) }
</div>
</div>
<nav>
Expand Down Expand Up @@ -71,28 +54,6 @@
<li class="sep"></li>
<li>@Html.ActionLink("Configuration", MVC.Config.Config.Index(), accesskey: "0")</li>
</ul>
<script type="text/javascript">
$(function () {
var $menu = $('#menu');
$menu.find('li').each(function () {
var $menuItem = $(this);
var $subMenu = $menuItem.children('ul').first();
var subMenuHideToken = null;
if ($subMenu.length > 0) {
$menuItem.mouseover(function () {
if (subMenuHideToken)
window.clearTimeout(subMenuHideToken);
if (!$subMenu.is(':visible'))
$subMenu.show();
}).mouseout(function () {
subMenuHideToken = window.setTimeout(function () {
$subMenu.hide();
}, 250);
}).addClass('hasSubmenu');
};
});
});
</script>
</nav>
</header>
<div id="layout_PageHeading">@CommonHelpers.Breadcrumbs(ViewBag.Title ?? string.Empty)</div>
Expand Down
Loading

0 comments on commit cb30257

Please sign in to comment.