%PDF- %PDF-
Direktori : /home1/lightco1/public_html/administrator/templates/isis/js/ |
Current File : //home1/lightco1/public_html/administrator/templates/isis/js/template.js |
/** * @package Joomla.Administrator * @subpackage Templates.isis * @copyright Copyright (C) 2005 - 2017 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt * @since 3.0 */ (function($) { $(document).ready(function() { var $w = $(window); $('*[rel=tooltip]').tooltip(); // Turn radios into btn-group $('.radio.btn-group label').addClass('btn'); $('fieldset.btn-group').each(function() { // Handle disabled, prevent clicks on the container, and add disabled style to each button if ($(this).prop('disabled')) { $(this).css('pointer-events', 'none').off('click'); $(this).find('.btn').addClass('disabled'); } }); $('.btn-group label:not(.active)').click(function() { var label = $(this); var input = $('#' + label.attr('for')); if (!input.prop('checked')) { label.closest('.btn-group').find('label').removeClass('active btn-success btn-danger btn-primary'); if (label.closest('.btn-group').hasClass('btn-group-reversed')) { if (input.val() == '') { label.addClass('active btn-primary'); } else if (input.val() == 0) { label.addClass('active btn-success'); } else { label.addClass('active btn-danger'); } } else { if (input.val() == '') { label.addClass('active btn-primary'); } else if (input.val() == 0) { label.addClass('active btn-danger'); } else { label.addClass('active btn-success'); } } input.prop('checked', true); input.trigger('change'); } }); $('.btn-group input[checked=checked]').each(function() { var $self = $(this); var attrId = $self.attr('id'); if ($self.parent().hasClass('btn-group-reversed')) { if ($self.val() == '') { $('label[for=' + attrId + ']').addClass('active btn-primary'); } else if ($self.val() == 0) { $('label[for=' + attrId + ']').addClass('active btn-success'); } else { $('label[for=' + attrId + ']').addClass('active btn-danger'); } } else { if ($self.val() == '') { $('label[for=' + attrId + ']').addClass('active btn-primary'); } else if ($self.val() == 0) { $('label[for=' + attrId + ']').addClass('active btn-danger'); } else { $('label[for=' + attrId + ']').addClass('active btn-success'); } } }); // add color classes to chosen field based on value $('select[class^="chzn-color"], select[class*=" chzn-color"]').on('liszt:ready', function(){ var select = $(this); var cls = this.className.replace(/^.(chzn-color[a-z0-9-_]*)$.*/, '\1'); var container = select.next('.chzn-container').find('.chzn-single'); container.addClass(cls).attr('rel', 'value_' + select.val()); select.on('change click', function() { container.attr('rel', 'value_' + select.val()); }); }); /** * Append submenu items to empty UL on hover allowing a scrollable dropdown */ if ($w.width() > 767) { var menuScroll = $('#menu > li > ul'), emptyMenu = $('#nav-empty'); $('#menu > li').on('click mouseenter', function() { // Set max-height (and width if scroll) for dropdown menu, depending of window height var $dropdownMenu = $(this).children('ul'), windowHeight = $w.height(), linkHeight = $(this).outerHeight(true), statusHeight = $('#status').outerHeight(true), menuHeight = $dropdownMenu.height(), menuOuterHeight = $dropdownMenu.outerHeight(true), scrollMenuWidth = $dropdownMenu.width() + 15, maxHeight = windowHeight - (linkHeight + statusHeight + (menuOuterHeight - menuHeight) + 20); if (maxHeight < menuHeight) { $dropdownMenu.css('width', scrollMenuWidth); } else if (maxHeight > menuHeight) { $dropdownMenu.css('width', 'auto'); } $dropdownMenu.css('max-height', maxHeight); // Get the submenu position linkWidth = $(this).outerWidth(true); menuWidth = $dropdownMenu.width(); linkPaddingLeft = $(this).children('a').css('padding-left'); offsetLeft = Math.round($(this).offset().left) - parseInt(linkPaddingLeft); emptyMenu.empty().hide(); }); menuScroll.find('.dropdown-submenu > a').on('mouseover', function() { var $self = $(this), dropdown = $self.next('ul'), submenuWidth = dropdown.outerWidth(), offsetTop = $self.offset().top, linkPaddingTop = parseInt(dropdown.css('padding-top')) + parseInt($(this).css('padding-top')), scroll = $w.scrollTop() + linkPaddingTop; // Set the submenu position if ($('html').attr('dir') == 'rtl') { emptyMenu.css({ top : offsetTop - scroll, left: offsetLeft - (menuWidth - linkWidth) - submenuWidth }); } else { emptyMenu.css({ top : offsetTop - scroll, left: offsetLeft + menuWidth }); } // Append items to empty <ul> and show it dropdown.hide(); emptyMenu.show().html(dropdown.html()); // Check if the full element is visible. If not, adjust the position if (emptyMenu.Jvisible() !== true) { emptyMenu.css({ top : ($w.height() - emptyMenu.outerHeight()) - $('#status').height() }); } }); menuScroll.find('a.no-dropdown').on('mouseenter', function() { emptyMenu.empty().hide(); }); // obtain a reference to the original handler var _clearMenus = $._data(document, 'events').click.filter(function (el) { return el.namespace === 'data-api.dropdown' && el.selector === undefined })[0].handler; // disable the old listener $(document) .off('click.data-api.dropdown', _clearMenus) .on('click.data-api.dropdown', function(e) { e.button === 2 || _clearMenus(); if (!$('#menu').find('> li').hasClass('open')) { emptyMenu.empty().hide(); } }); $.fn.Jvisible = function(partial,hidden) { if (this.length < 1) { return; } var $t = this.length > 1 ? this.eq(0) : this, t = $t.get(0) var viewTop = $w.scrollTop(), viewBottom = (viewTop + $w.height()) - $('#status').height(), offset = $t.offset(), _top = offset.top, _bottom = _top + $t.height(), compareTop = partial === true ? _bottom : _top, compareBottom = partial === true ? _top : _bottom; return !!t.offsetWidth * t.offsetHeight && ((compareBottom <= viewBottom) && (compareTop >= viewTop)); }; } /** * USED IN: All views with toolbar and sticky bar enabled */ var navTop; var isFixed = false; if (document.getElementById('isisJsData') && document.getElementById('isisJsData').getAttribute('data-tmpl-sticky') == "true") { processScrollInit(); processScroll(); $(window).on('resize', processScrollInit); $(window).on('scroll', processScroll); } function processScrollInit() { if ($('.subhead').length) { navTop = $('.subhead').length && $('.subhead').offset().top - parseInt(document.getElementById('isisJsData').getAttribute('data-tmpl-offset')); // Fix the container top $(".container-main").css("top", $('.subhead').height() + $('nav.navbar').height()); // Only apply the scrollspy when the toolbar is not collapsed if (document.body.clientWidth > 480) { $('.subhead-collapse').height($('.subhead').height()); $('.subhead').scrollspy({offset: {top: $('.subhead').offset().top - $('nav.navbar').height()}}); } } } function processScroll() { if ($('.subhead').length) { var scrollTop = $(window).scrollTop(); if (scrollTop >= navTop && !isFixed) { isFixed = true; $('.subhead').addClass('subhead-fixed'); // Fix the container top $(".container-main").css("top", $('.subhead').height() + $('nav.navbar').height()); } else if (scrollTop <= navTop && isFixed) { isFixed = false; $('.subhead').removeClass('subhead-fixed'); } } } /** * USED IN: All list views to hide/show the sidebar */ window.toggleSidebar = function(force) { var context = 'jsidebar'; var $sidebar = $('#j-sidebar-container'), $main = $('#j-main-container'), $message = $('#system-message-container'), $debug = $('#system-debug'), $toggleSidebarIcon = $('#j-toggle-sidebar-icon'), $toggleButtonWrapper = $('#j-toggle-button-wrapper'), $toggleButton = $('#j-toggle-sidebar-button'), $sidebarToggle = $('#j-toggle-sidebar'); var openIcon = 'icon-arrow-left-2', closedIcon = 'icon-arrow-right-2'; var $visible = $sidebarToggle.is(":visible"); if (jQuery(document.querySelector("html")).attr('dir') == 'rtl') { openIcon = 'icon-arrow-right-2'; closedIcon = 'icon-arrow-left-2'; } var isComponent = $('body').hasClass('component'); $sidebar.removeClass('span2').addClass('j-sidebar-container'); $message.addClass('j-toggle-main'); $main.addClass('j-toggle-main'); if (!isComponent) { $debug.addClass('j-toggle-main'); } var mainHeight = $main.outerHeight()+30, sidebarHeight = $sidebar.outerHeight(), bodyWidth = $('body').outerWidth(), sidebarWidth = $sidebar.outerWidth(), contentWidth = $('#content').outerWidth(), contentWidthRelative = contentWidth / bodyWidth * 100, mainWidthRelative = (contentWidth - sidebarWidth) / bodyWidth * 100; if (force) { // Load the value from localStorage if (typeof(Storage) !== "undefined") { $visible = localStorage.getItem(context); } // Need to convert the value to a boolean $visible = ($visible == 'true'); } else { $message.addClass('j-toggle-transition'); $sidebar.addClass('j-toggle-transition'); $toggleButtonWrapper.addClass('j-toggle-transition'); $main.addClass('j-toggle-transition'); if (!isComponent) { $debug.addClass('j-toggle-transition'); } } if ($visible) { $sidebarToggle.hide(); $sidebar.removeClass('j-sidebar-visible').addClass('j-sidebar-hidden'); $toggleButtonWrapper.removeClass('j-toggle-visible').addClass('j-toggle-hidden'); $toggleSidebarIcon.removeClass('j-toggle-visible').addClass('j-toggle-hidden'); $message.removeClass('span10').addClass('span12'); $main.removeClass('span10').addClass('span12 expanded'); $toggleSidebarIcon.removeClass(openIcon).addClass(closedIcon); $toggleButton.attr( 'data-original-title', Joomla.JText._('JTOGGLE_SHOW_SIDEBAR') ); $sidebar.attr('aria-hidden', true); $sidebar.find('a').attr('tabindex', '-1'); $sidebar.find(':input').attr('tabindex', '-1'); if (!isComponent) { $debug.css( 'width', contentWidthRelative + '%' ); } if (typeof(Storage) !== "undefined") { // Set the last selection in localStorage localStorage.setItem(context, true); } } else { $sidebarToggle.show(); $sidebar.removeClass('j-sidebar-hidden').addClass('j-sidebar-visible'); $toggleButtonWrapper.removeClass('j-toggle-hidden').addClass('j-toggle-visible'); $toggleSidebarIcon.removeClass('j-toggle-hidden').addClass('j-toggle-visible'); $message.removeClass('span12').addClass('span10'); $main.removeClass('span12 expanded').addClass('span10'); $toggleSidebarIcon.removeClass(closedIcon).addClass(openIcon); $toggleButton.attr( 'data-original-title', Joomla.JText._('JTOGGLE_HIDE_SIDEBAR') ); $sidebar.removeAttr('aria-hidden'); $sidebar.find('a').removeAttr('tabindex'); $sidebar.find(':input').removeAttr('tabindex'); if (!isComponent && bodyWidth > 768 && mainHeight < sidebarHeight) { $debug.css( 'width', mainWidthRelative + '%' ); } else if (!isComponent) { $debug.css( 'width', contentWidthRelative + '%' ); } if (typeof(Storage) !== "undefined") { // Set the last selection in localStorage localStorage.setItem( context, false ); } } } }); })(jQuery);