Файловый менеджер - Редактировать - /var/www/html/administrator/components/com_jchat/js/bootstrap-interface.js
Ðазад
// Bootstrap interface utility jQuery(function($) { /** * Turn radios into btn-group */ var container = document.querySelectorAll('.btn-group'); for (var i = 0; i < container.length; i++) { var labels = container[i].querySelectorAll('label'); for (var j = 0; j < labels.length; j++) { labels[j].classList.add('btn'); var inputValue = $('input[type=radio]', labels[j]).val(); if ((j % 2) == 1 && inputValue !== '') { labels[j].classList.add('btn-outline-danger'); } if ((j % 2) == 1 && inputValue === '') { labels[j].classList.add('btn-outline-primary'); } else { labels[j].classList.add('btn-outline-success'); } } } var btsGrouped = document.querySelectorAll('.btn-group input[checked=checked]'); for (var i = 0, l = btsGrouped.length; l>i; i++) { var self = btsGrouped[i], attrId = self.id, label = document.querySelector('label[for=' + attrId + ']'); if (self.parentNode.parentNode.classList.contains('btn-group-reversed')) { if (self.value === 0) { label.classList.add('active'); label.classList.add('btn'); label.classList.add('btn-outline-success'); } else { label.classList.add('active'); label.classList.add('btn'); label.classList.add('btn-outline-danger'); } } else { if (self.value === 0) { label.classList.add('active'); label.classList.add('btn'); label.classList.add('btn-outline-danger'); } else { if (self.value === '') { label.classList.add('active'); label.classList.add('btn'); label.classList.add('btn-outline-primary'); } else { label.classList.add('active'); label.classList.add('btn'); label.classList.add('btn-outline-success'); } } } } // Always ensure to reset the other switcher button $(document).on('click', "fieldset[data-bs-toggle=buttons] label.btn", function(jqEvent) { if(jqEvent.target.nodeName.toUpperCase() == 'INPUT' || $(jqEvent.target).attr('disabled')) { return true; } var label = $(jqEvent.target).addClass('active'); var input = $('input[type=radio]', label); var otherLabel = label.parents('fieldset').find("label").not(label); if (otherLabel.hasClass('active')) { otherLabel.removeClass('active btn-success btn-danger btn-primary'); } }); // Override the default switcher button colors/class for multiple selection switcher buttons var multipleSwitchers = $("div.controls > fieldset > label:nth-child(3)"); multipleSwitchers.each(function(index, elem){ var parentContainer = $(elem).parent(); $('label', parentContainer).removeClass('btn-outline-success btn-outline-danger') // We are not in the configuration view if($('label:first-child > input', parentContainer).val() == 0) { $('label', parentContainer).addClass('btn-outline-success'); $('label:first-child', parentContainer).addClass('btn-outline-danger').removeClass('btn-outline-success'); } else { $('label', parentContainer).addClass('btn-outline-success'); } }); // Ensure that only input labels with 'No' value will be dangered var doubledSwitchers = $("div.controls > fieldset > label:nth-child(2)"); doubledSwitchers.each(function(index, elem){ var inputValue = $('input', elem).val(); if(inputValue != 0 && inputValue != '' && inputValue != '') { $(elem).removeClass('btn-outline-danger').addClass('btn-outline-success'); } }); /** * Enables bootstrap popover */ [].slice.call(document.querySelectorAll('#updatestatus label.hasPopover, #cpanel span.leftlabel')).map(function (popoverEl) { let popoverInstance = new bootstrap.Popover(popoverEl,{ template : '<div class="popover"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>', trigger : 'hover', placement : 'right', html : true }); return popoverInstance; }); [].slice.call(document.querySelectorAll('label.hasPopover, button.hasPopover, div.hasPopover, span.hasPopover, img.hasPopover')).map(function (popoverEl) { let popoverInstance = new bootstrap.Popover(popoverEl,{ template : '<div class="popover"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>', trigger : 'hover', placement : 'top', html : true }); return popoverInstance; }); [].slice.call(document.querySelectorAll('thead a.hasPopover')).map(function (popoverEl) { return new bootstrap.Popover(popoverEl,{ template : '<div class="popover"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>', trigger : 'hover', placement : 'top', html : true }); }); /** * Enables bootstrap tooltip */ [].slice.call(document.querySelectorAll('label.hasTooltip, img.hasTooltip, a.hasTooltip, *[rel=tooltip], a.page-link')).map(function (tooltipEl) { let tooltipInstance = new bootstrap.Tooltip(tooltipEl,{ trigger : 'hover', placement : 'top', html : true }); return tooltipInstance; }); [].slice.call(document.querySelectorAll('a.google_translate')).map(function (tooltipEl) { let tooltipInstance = new bootstrap.Tooltip(tooltipEl,{ trigger : 'hover', placement : 'top', html : true }); return tooltipInstance; }); /** * Remove custom select */ $('table.headerlist select').removeClass('custom-select form-select'); /** * Remove empty ordering spans */ $('.order > span').filter(function() { var hasChild = !$('a', this).length; return hasChild; }).remove(); // Recover the legacy save order button in async way on the next cycle setTimeout(function() { $('a.saveorder').removeAttr('onclick').removeAttr('style'); }, 1); /** * Remove custom select */ $('table.headerlist select').removeClass('form-select form-control'); /** * Calendars */ if ($.datepicker) { $('input[data-role=calendar]').datepicker({ dateFormat : 'yy-mm-dd', firstDay : 1 }).prev('span').on('click', function() { $(this).datepicker('show'); }); } /** * Turn requuired class into data-required */ $('input.required').attr('data-validation', 'required').attr('aria-required', 'true'); // Remove configuration spacer empty div $('span.spacer').parent('div.control-label').next('div.controls').remove(); /** * Accordion panels local storage memoize and set open */ var defaultAccordionObject = { 'jchat_accordion_cpanel' : 'jchat_stats', 'jchat_accordion_help' : 'jchat_functionalities_frontend' }; [].slice.call(document.querySelectorAll('div.accordion')).map(function (accordionEl) { accordionEl.addEventListener('shown.bs.collapse', function(event) { if (!$(event.target).hasClass('card-block')) { return; } // Trigger window resize to repaint the chart if ($(event.target).hasClass('accordion-chart')) { $(window).trigger('resize'); } event.stopPropagation(); var localStorageAccordion = $.jStorage.get('jchatAccordionOpened', defaultAccordionObject); localStorageAccordion[this.id] = event.target.id; $.jStorage.set('jchatAccordionOpened', localStorageAccordion); // Scroll to accordion header if needed if (document.body.scrollHeight > window.innerHeight) { $('html, body').animate({ scrollTop : parseInt($("#" + event.target.id).prev().offset().top) - 185 }, 500); } // Add open state $(event.target).prev().addClass('opened'); }); accordionEl.addEventListener('hide.bs.collapse', function(event) { if (!$(event.target).hasClass('card-block')) { return; } event.stopPropagation(); // Remove open state $(event.target).prev().removeClass('opened'); }); }); $.each($.jStorage.get('jchatAccordionOpened', defaultAccordionObject), function(namespace, element) { if ($('#' + element, '#' + namespace).length) { $('#' + element, '#' + namespace).addClass('show').prev().addClass('opened'); } }); /** * Tab panels local storage memoize and set open */ var defaultTabObject = { 'tab_configuration' : 'general' }; [].slice.call(document.querySelectorAll('#adminForm .nav.nav-tabs')).map(function (tabEl) { tabEl.addEventListener('shown.bs.tab', function(event) { var localStorageTab = $.jStorage.get('jchatTabOpened', defaultTabObject); localStorageTab[this.id] = $(event.target).data('element'); $.jStorage.set('jchatTabOpened', localStorageTab); // Add accessibility ARIA $('li.nav-item', this).removeAttr('aria-selected').attr('aria-selected', 'false'); $('li.nav-item', this).removeAttr('tabindex').attr('tabindex', -1); $(event.target).parent('li').attr({'aria-selected':'true', 'tabindex':0}); // Ensure that the label input checked will be active $("fieldset[data-bs-toggle=buttons] > label.btn > input:checked").each(function(i, element) { var parentLabel = $(element).parent('label.btn'); if (!parentLabel.hasClass('active')) { parentLabel.addClass('active'); } }); }); }); // Check for a specific tab trigger using url hash var hashQueryString = window.location.hash.substr(2); if (hashQueryString) { var nodeElement = document.querySelector('ul.nav.nav-tabs li a[data-element=' + hashQueryString + ']'); if(nodeElement) { var tabInstance = new bootstrap.Tab(nodeElement); tabInstance.show(); } } if (hashQueryString == 'licensepreferences') { var nodeElement = document.querySelector('a[data-element=general]'); if(nodeElement) { var tabInstance = new bootstrap.Tab(nodeElement); tabInstance.show(); } $('#params_registration_email-lbl').css('color', 'red'); $('#params_registration_email').css('border', '2px solid red'); $('html, body').animate({ scrollTop: $('#params_registration_email').offset().top - 120 }, 800); } $.each($.jStorage.get('jchatTabOpened', defaultTabObject), function(namespace, element) { var nodeElement = $('a[data-element=' + element + ']', '#' + namespace).get(0); if(nodeElement) { var tabInstance = new bootstrap.Tab(nodeElement); tabInstance.show(); } }); // Manage the hide/show of subcontrols for chat rendering mode based on selected modality var chatRenderingMode = $('input[name=params\\[rendering_mode\\]]:checked').prop('value'); if (chatRenderingMode != 'module') { $('*.module_rendering_ctrl').parents('div.control-group').hide(); } $('input[name=params\\[rendering_mode\\]]').on('change', function() { $('*.module_rendering_ctrl').parents('div.control-group').toggle(); }); // Manage the hide/show of subcontrols for 3PD integration var integrationChosen = $('#params_3pdintegration').val(); if(integrationChosen != 'easysocial') { $('*.easysocial_params').parents('.control-group').hide(); } $('#params_3pdintegration').on('change', function(){ if($(this).val() == 'easysocial') { $('*.easysocial_params').parents('.control-group').slideDown(); } else { $('*.easysocial_params').parents('.control-group').slideUp(); } }); // Manage the hide/show of subcontrols for 3PD integration var guestModeChosen = $('#params_guestenabled').val(); if(guestModeChosen != 2) { $('*.meetings_params').parents('.control-group').hide(); } $('#params_guestenabled').on('change', function(){ if($(this).val() == 2) { $('*.meetings_params').parents('.control-group').slideDown(); } else { $('*.meetings_params').parents('.control-group').slideUp(); } }); // Initialize Select2 and add optional copier buttons if(typeof($.fn.select2) !== 'undefined') { var addSelect2Copier = function() { $('span.select2-selection__choice__copy').remove(); var select2Deleter = $('span.select2-selection__choice__remove'); if(select2Deleter.length) { select2Deleter.after('<span class="select2-selection__choice__copy icon-copy" data-role="copyclipboard"></span>'); } } $('#params_predefined_answers, #participants').select2({ tags : true, placeholder : COM_JCHAT_SELECT2_PLACEHOLDER }).on('select2:open',function(e){ $('span.select2-dropdown').hide(); }).on('select2:close',function(e){ if(navigator.clipboard) { addSelect2Copier(); } }); setTimeout(function(){ // Support for copy Clipoard buttons, new API and legacy API if(navigator.clipboard) { addSelect2Copier(); $(document).on('click', 'span[data-role=copyclipboard]', function(jqEvent){ navigator.clipboard.writeText($(this).parent('li.select2-selection__choice').text().substring(1)) .then(function() { let tooltipEl = jqEvent.target; let tooltipInstance = new bootstrap.Tooltip(tooltipEl, { trigger: 'click', placement: 'top', title: COM_JCHAT_SELECT2_COPIED }); tooltipInstance.show(); $(jqEvent.target).css({'color':'#00b300', 'font-weight':'bold'}); setTimeout(function(){ $(jqEvent.target).css({'color':'#a8a8a8', 'font-weight':'normal'}); tooltipInstance.dispose(); $('#params_predefined_answers').select2('close'); }, 600); }) .catch(function(err) { }); return false; }); } }, 0); } // Support for copy Clipoard buttons, new API and legacy API if(navigator.clipboard) { $('button[data-role=copyclipboard]').on('click', function(jqEvent){ navigator.clipboard.writeText($(this).prev('input[data-role=copyclipboard]').val()) .then(function() { var currentText = $(jqEvent.target).text(); var copiedText = $(jqEvent.target).data('success'); $(jqEvent.target).text(copiedText).removeClass('btn-success').addClass('btn-warning'); setTimeout(function(){ $(jqEvent.target).text(currentText).removeClass('btn-warning').addClass('btn-success'); }, 2000); }) .catch(function(err) { }); return false; }); } else { $('button[data-role=copyclipboard]').on('click', function(jqEvent){ try { var placeholderInput = $(this).prev('input[data-role=copyclipboard]').get(0).select(); // Now that we've selected the text, execute the copy command var successful = document.execCommand('copy'); if(successful) { var currentText = $(this).text(); var copiedText = $(this).data('success'); $(this).text(copiedText).removeClass('btn-success').addClass('btn-warning'); setTimeout(function(){ $(jqEvent.target).text(currentText).removeClass('btn-warning').addClass('btn-success'); }, 2000); } // Remove the selections - NOTE: Should use // removeRange(range) when it is supported window.getSelection().removeAllRanges(); } catch(err) { } return false; }); } // Create color picker controls $("input.config-colorpicker").after('<div class="colorpicker_preview"><div></div></div>') var loadColor = function(elem, colorHex) { // Set input HEX color value $(elem).val(colorHex); $(elem).ColorPickerSetColor(colorHex); // Set background color of preview box var nextElPreview = $(elem).next('div.colorpicker_preview'); $('div', nextElPreview).css('background-color', colorHex); } // Check if ColorPicker plugin is loaded if ($.fn.ColorPicker) { $("input.config-colorpicker").ColorPicker({ onSubmit : function(hsb, hex, rgb, el) { loadColor(el, '#' + hex); } }); $("input.config-colorpicker").each(function(k, elem) { var colorValue = $(elem).val(); loadColor(elem, colorValue); }); } // Observe media field image selection change $('div.field-media-preview').each(function(index, elem){ // Create an observer instance for each element to observe var observer = new MutationObserver(function(mutations) { var image = $('img', elem); if(image.length) { let relatedInputField = $(elem).next('div').find('input.field-media-input'); relatedInputField.val(relatedInputField.val().split('#')[0]); } }); observer.observe(elem, { childList: true }); }); }); /** * Compatibility functions for classical save ordering */ JChatSaveOrder = function ( n, task ) { JChatCheckAllCheckbox( n, task ); }; JChatCheckAllCheckbox = function ( n, task ) { task = task ? task : 'saveorder'; var j, box; for ( j = 0; j <= n; j++ ) { box = document.adminForm[ 'cb' + j ]; if ( box ) { box.checked = true; } else { alert( "You cannot change the order of items, as an item in the list is `Checked Out`" ); return; } } Joomla.submitform( task ); };
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка