//Global Variables $sidebarState = window.localStorage.getItem('sidebarState'); $ua = navigator.userAgent; $.extend($.support, { touch: "ontouchend" in document }); if($.support.touch) { mouseenterEvent = clickEvent = "touchstart"; } else { clickEvent = "click"; mouseenterEvent = "mouseenter"; }; !function ($) { // Set sidebarState sidebarState = function (v) { if(v) { window.localStorage.setItem('sidebarState', 1); } else { window.localStorage.removeItem('sidebarState'); } }; // Focus first element $.fn.focusFirstField = function(){ $this = this; $this.find(":text:visible:enabled").filter(function(){ return $(this).parents(":hidden").size() == 0; }).slice(0,1).focus(); return this; } //Checked Toggle $.fn.togglebox = function () { var $checked = this; $checked.each(function() { if(!$(this).closest('div').hasClass('togglebox')) { $(this).wrap('
'); $(this).wrap('
'); $('').insertAfter($(this)); if($(this).data().deploy) { switch($(this).data().deploy) { case "left": $(this).closest('.toggle-control').css('float','left'); break; case "right": $(this).closest('.toggle-control').css('float','right'); break; case "inline": $(this).closest('.toggle-control').css('display','inline-block'); break; } } if($(this).data().title) { $(this).closest('.toggle-control').append('

'+$(this).data().title+'

'); } } }) $checked.each(function(i) { if($(this).attr('type') == "checkbox") { if($(this).data().disabled) { $(this).parent('.togglebox').addClass('disabled').closest('li').addClass('disabled'); if($(this).prop('checked')) { $(this).parent('.togglebox').removeClass('disabled').closest('li').removeClass('disabled'); }; } else { if($(this).prop('checked')) { $(this).parent('.togglebox').addClass('disabled').closest('li').addClass('disabled'); }; } $(this).on({ change: function() { $(this).parent('.togglebox').toggleClass('disabled'); $(this).closest('tr').toggleClass('disable'); } }); }; if($(this).attr('type') == "radio") { if(!$(this).prop('checked')) { $(this).parent('.togglebox').addClass('disabled').closest('li').addClass('disabled'); $(this).closest('tr').addClass('disable'); }; $(this).on({ change: function() { $checked.not($(".toggle-check[type='checkbox']")).each(function(i) { if(!$(this).parent('.togglebox').hasClass('disabled')) { $(this).parent('.togglebox').toggleClass('disabled'); $(this).closest('tr').toggleClass('disable'); }; }); $(this).parent('.togglebox').toggleClass('disabled') $(this).closest('tr').toggleClass('disable'); } }); }; if($('#sitemap').length) { $(this).on({ change: function() { $(this).closest('li').toggleClass('disabled'); if($(this).prop('checked')) { $(this).attr('checked', 'checked'); $(this).parents('h6') .siblings('ul') .find('li') .addClass('disabled') .find('h6 .togglebox') .addClass('disabled') .find('input[type="checkbox"]') .prop('checked', true) .attr('checked', 'checked'); } else { $(this).removeAttr('checked'); $(this).parents('h6') .siblings('ul') .find('li') .removeClass('disabled') .find('h6 .togglebox') .removeClass('disabled') .find('input[type="checkbox"]') .prop('checked', false) .removeAttr('checked'); }; $('.toggle-check').each(function(i) { var len = $(this).closest('ul').children('li').length, checLen = $(this).closest('ul').children('li').find('input[checked]').length, checLen = checLen - $(this).closest('ul').children('li').find('ul').find('input[checked]').length; if(len == checLen) { $(this).closest('ul') .parent('li') .addClass('disabled') .children('h6') .find('.togglebox') .addClass('disabled') .find('input[type="checkbox"]') .prop('checked', true) .attr('checked', 'checked'); } else { $(this).closest('ul') .parent('li') .removeClass('disabled') .children('h6') .find('.togglebox') .removeClass('disabled') .find('input[type="checkbox"]') .prop('checked', false) .removeAttr('checked'); }; }); }, }); }; }); }; // Search Clear $.fn.searchClear = function (param){ _defaultSettings = { inputName: ':input', inputIcon: 'inputIcon', clearBtnIcon: 'clearBtnIcon', liveFilter: false, }; _set = $.extend(_defaultSettings, param); $this = this; $input = this.find(_set.inputName); $tmp = ''; $input.wrap('
'); $this.find('.sc-field').prepend($tmp); $searchClear = $this.find(".search-clear"); function run(e) { $searchClear.hide(); $($input).each(function() { if($(this).val().length > 0) { $(this).prev($searchClear).show(); }else { $(this).prev($searchClear).hide(); } $(this).on("blur keyup", function(){ if($(this).val().length > 0) { $(this).prev($searchClear).show(); }else { $(this).prev($searchClear).hide(); } }); if(_set.liveFilter) { $(this).prevAll($searchClear).on({ click: function(){ $(this).hide(); $(this).next($input).val(""); $('.checkbox-card .mark').removeClass('mark') }, }); } else { $(this).prevAll($searchClear).on({ click: function(){ $(this).hide(); $(this).next($input).val(""); }, }); } }); } // Checking IE10 // if Windows 8 and IE is ture. remove search clear buttom and fix text input padding-right if(/Windows NT 6.2/g.test(navigator.userAgent)){ if(/MSIE/g.test(navigator.userAgent)){ $searchClear.remove(); $input.css({ 'padding-right': '5px', }); }else{run()} }else{run()} } // Fixed Nav fixedNav = function () { if($('.fixed-nav').length){ var $fixedNav = $('.fixed-nav'); if($sidebarState){ $fixedNav.addClass('open'); } $fixedNav.on(clickEvent, function() { if($sidebarState) { window.localStorage.removeItem('sidebarState'); $fixedNav.removeClass('open'); }else{ window.localStorage.setItem('sidebarState', 1); $fixedNav.addClass('open'); } $sidebarState = window.localStorage.getItem('sidebarState') }); } }; // Sidebar sidebarNav = function () { var $sidebar = $('#sidebar'), $sidebarMenu = $('#sidebar-menu'), $scroller = $('.scroller'), $sidebarNav = $('.sidebar-nav'), $el = $('.sidebar-nav').children('li'), $elIndex = null, $blockList = $('.sub-nav-block-list'), $block = $('.sub-nav-block'), $blockIndex = 0, $arrow = $('.sub-nav-arrow'), $wrap = $('#main-wrap'), $wrapLeft = $wrap.css('margin-left'), $position = 0, $arrowHeightFormat = $('.position').height()-8; if($('#sidebar').length>0) { $wrap.css({'margin-left': 61}); $wrapLeft = 61; } if($el.hasClass('active')) { // Menu defaults active $elIndex = $el.filter('.active').index(); if($sidebarState && !$sidebarNav.hasClass('no-sub-nav')) { $block.eq($elIndex).addClass('show'); $blockList.css({'width': 180}); $wrap.css({ 'margin-left': 241, }); } // Arrow defaults position $position = $el.eq($elIndex).offset().top-$el.eq($elIndex).height()/2+$arrowHeightFormat-$(document).scrollTop(); $arrow.css({ 'top': $position, }); } if($.support.touch && !$sidebarNav.hasClass('no-sub-nav')) { $el.find('a').removeAttr('href'); }; $el.on(mouseenterEvent, function(e) { $block.siblings().removeClass('show').eq($(this).index()).addClass('show'); $arrow.stop(true, false).animate({ top: ($(this).offset().top-$(this).height()/2)+$arrowHeightFormat-$(document).scrollTop(), },{ duration: 500, easing: 'easeInOutBack', }); if(!$sidebarState || !$el.hasClass('active')) { $blockList.css({'width': 180}); if($('#pageslide').length) { if($('#pageslide').is(":hidden")) { $wrap.css({ 'margin-left': $blockList.width()+$sidebarNav.width(), }); } }else{ $wrap.css({ 'margin-left': $blockList.width()+$sidebarNav.width(), }); } // if($('.topnav').length) { // $('.topnav').css({ // 'left': $blockList.width()+$sidebarNav.width()+20, // }); // } if($('.bottomnav').length) { $('.bottomnav').css({ 'left': $blockList.width()+$sidebarNav.width()+20, }); } $sidebar.css({ 'width': $blockList.width()+$sidebarNav.width(), }); } }); if ($sidebarNav.hasClass('no-sub-nav')) { $sidebar.on('mouseleave', function() { $arrow.stop(true, false).animate({ 'top': $position, },{ duration: 500, easing: 'easeInOutBack', }); }) }; // $el.on('mouseleave', function() { // $el.hasClass('active') ? $position = $el.eq($elIndex).offset().top-$el.eq($elIndex).height()/2+$arrowHeightFormat-$(document).scrollTop() : 0; // $(this).hasClass('active') ? '':$(this).children('span').removeClass('hover'); // }); $block.on({ mouseenter: function() { $blockIndex = $block.filter('.sub-nav-block show').index(); $el.eq($blockIndex).hasClass('active') ? '':$el.eq($blockIndex).children('span').addClass('hover'); }, mouseleave: function() { $block.removeClass('show'); if(!$sidebarState || !$el.hasClass('active')) { $blockList.css({'width': 0}); if($('#pageslide').length) { if($('#pageslide').is(":hidden")) { $wrap.css({ 'margin-left': $wrapLeft, }); // if($('.topnav').length) { // if($sidebarState) { // $('.topnav').css({ // 'left': 261, // }); // } // } } } else { $wrap.css({ 'margin-left': $blockList.width()+$sidebarNav.width(), }); } // if($('.topnav').length) { // $('.topnav').css({ // 'left': $blockList.width()+$sidebarNav.width()+20, // }); // } if($('.bottomnav').length) { $('.bottomnav').css({ 'left': $blockList.width()+$sidebarNav.width()+20, }); } $sidebar.css({'width': 61}); }else{ $block.eq($elIndex).addClass('show'); }; if($elIndex === null) { $position = 0; } else { $position = $el.eq($elIndex).offset().top-$el.eq($elIndex).height()/2+$arrowHeightFormat-$(document).scrollTop(); } $arrow.stop(true, false).animate({ top: $position, },{ duration: 500, easing: 'easeInOutBack', }); } }); // Touch Start $wrap.on({ touchstart: function() { if(!$sidebarState || !$el.hasClass('active')) { if($block.hasClass('show')) { $blockIndex = $block.filter('.sub-nav-block show').index(); $block.removeClass('show'); $blockList.css({'width': 0}); $wrap.css({ 'margin-left': $wrapLeft, }); $sidebar.css({'width': 61}); $arrow.stop().animate({ top: $position, },{ duration: 500, easing: 'easeInOutBack', }); $el.eq($blockIndex).hasClass('active') ? '':$el.eq($blockIndex).children('span').removeClass('hover'); } } } }); // Sidebar Nav Drag if(/MSIE 8.0/g.test($ua)){ $sidebarMenu.addClass('nano') .css({'position': 'relative', 'top': '0px'}) .children('.scroller') .addClass('content') .removeClass('scroller'); $sidebarMenu.nanoScroller({ scrollTop: 0 }); } else { if($('#sidebar').length) { var sidebarMenu = new iScroll('sidebar-menu', { vScrollbar: true, scrollbarClass: 'myScrollbar', onBeforeScrollStart: function (e) { var target = e.target; clearTimeout(this.hoverTimeout); while (target.nodeName != "SPAN") target = target.parentNode; $target = $(target.parentNode).index(); }, touch: function () { if (this.hoverTarget) { clearTimeout(this.hoverTimeout); $('.sub-nav-block').removeClass('show') $('.sub-nav-block').eq($target).addClass('show') } }, }); } }; }; // Initial State initialState = function () { if($('.bottomnav').length) { var $bottomnavHeight = $('.bottomnav').outerHeight(); $('.wrap-inner').css({ 'padding-bottom': $bottomnavHeight, }) if($sidebarState) { if(!$('.sidebar-nav').hasClass('no-sub-nav')) { $('.bottomnav').css({ 'left': 261, }); } } } // if($('.topnav').length) { // if($sidebarState) { // $('.topnav').css({ // 'left': 261, // }); // } // } }; }(window.jQuery); // Open Slide function openSlide() { var $openSlide = $('.open-slide'), $pageslideW; $(window).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954; $(window).resize(function() { $(this).width() > 1440 ? $pageslideW = 1024 : $pageslideW = 954; }) $openSlide.each(function() { if($(this).hasClass('view-page')) { $(this).pageslide({ W: $pageslideW, iframe: true }); } else if($('#items').length) { $(this).pageslide({ W: 324 }); } else { $(this).pageslide(); }; }); $('.bottomnav .open-slide').on('click', function() { $('.table tr').removeClass('active'); $('.filter-item').removeClass('active') }); } function formTip() { if($('.main-forms').length && $('.add-on').length) { $('.main-forms .add-on, .main-forms .file-link').tooltip({ position: { my: "center bottom-4", at: "center top" } }); } if($('.no-sub-nav').length) { $('.no-sub-nav li').tooltip({ position: { my: "left+20 center", at: "right center" }, track: true, tooltipClass: "sidebar-tooltip", }); } } function changeStatusHidden() { $('#status').find('label.checkbox').each(function() { $(this).find('input[type="hidden"]').clone().appendTo($(this)); $(this).find('input[type="hidden"]').eq(0).remove(); $(this).find('input[type="checkbox"]').after }); }; // Document Ready $(function() { initialState(); $('#login').on('shown', function () { $(document.body).addClass('modalBlur'); $('#login').focusFirstField(); }).on("hide", function() { $(document.body).removeClass('modalBlur'); }); $('#orbit-bar .searchClear').searchClear({ inputName: '.search-query', inputIcon: 'icon-search', clearBtnIcon: 'icons-cross-3', }); $('#filter .searchClear').searchClear({ inputName: '.search-query', inputIcon: 'icon-search', clearBtnIcon: 'icons-cross-3', liveFilter: true, }); $('#member-filter').on('shown', function() { $(this).find('.nano').nanoScroller({ scrollTop: 0, iOSNativeScrolling: true }); }); if($('#sidebar').length) { if(!/MSIE 8.0/g.test(navigator.userAgent)){ document.getElementById('sidebar').addEventListener('touchmove', function (e) { e.preventDefault(); }, false); } // demo_fu1(); } if($('#pageslide').length) { openSlide(); } if($('.tags').length) { $('#filter-input').fastLiveFilter('#tags-list', '.filter-item', '.tag'); } if($('#card-list').length) { $('#filter-input').fastLiveFilter('#card-list', '.filter-item', '.user-name'); } if($('.toggle-check').length) { $('.toggle-check').togglebox(); } if($('#status').length) { changeStatusHidden(); } formTip() sidebarNav(); });