Server : LiteSpeed System : Linux server 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : alsaif ( 1057) PHP Version : 7.4.33 Disable Function : show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/alsaif/public_html/media/regularlabs/js/ |
/**
* @package Regular Labs Library
* @version 23.9.3039
*
* @author Peter van Westen <info@regularlabs.com>
* @link https://regularlabs.com
* @copyright Copyright © 2023 Regular Labs All Rights Reserved
* @license GNU General Public License version 2 or later
*/
/**
* @deprecated !!!
*/
"use strict";
if (typeof window.RegularLabsToggler === 'undefined'
|| typeof RegularLabsToggler.version === 'undefined'
|| RegularLabsToggler.version < '23.9.3039') {
(function($) {
$(document).ready(function() {
if ( ! $('.rl_toggler').length) {
// Try again 2 seconds later, because IE sometimes can't see object immediately
$(function() {
if ($('.rl_toggler').length) {
RegularLabsToggler.initialize();
}
}).delay(2000);
return;
}
RegularLabsToggler.initialize();
});
window.RegularLabsToggler = {
version: '23.9.3039',
togglers: {}, // holds all the toggle areas
elements: {}, // holds all the elements and their values that affect toggle areas
initialize: function() {
this.togglers = $('.rl_toggler');
if ( ! this.togglers.length) {
return;
}
this.initTogglers();
},
initTogglers: function() {
const self = this;
let newTogglers = {};
this.elements = {};
$.each(this.togglers, function(i, toggler) {
// init togglers
if ( ! toggler.id) {
return;
}
$(toggler).show();
$(toggler).removeAttr('height');
toggler.height = $(toggler).height();
toggler.elements = {};
toggler.nofx = $(toggler).hasClass('rl_toggler_nofx');
toggler.method = ($(toggler).hasClass('rl_toggler_and')) ? 'and' : 'or';
toggler.ids = toggler.id.split('___');
for (let i = 1; i < toggler.ids.length; i++) {
const keyval = toggler.ids[i].split('.');
const key = keyval[0];
let val = 1;
if (keyval.length > 1) {
val = keyval[1];
}
if (typeof toggler.elements[key] === 'undefined') {
toggler.elements[key] = [];
}
toggler.elements[key].push(val);
if (typeof self.elements[key] === 'undefined') {
self.elements[key] = {};
self.elements[key].elements = [];
self.elements[key].values = [];
self.elements[key].togglers = [];
}
self.elements[key].togglers.push(toggler.id);
}
newTogglers[toggler.id] = toggler;
});
this.togglers = newTogglers;
newTogglers = null;
this.setElements();
// hide togglers that should be
$.each(this.togglers, function(i, toggler) {
self.toggleByID(toggler.id, 1);
});
$(document.body).delay(250).css('cursor', '');
},
autoHeightDivs: function() {
// set all divs in the form to auto height
$.each($('div.col div, div.fltrt div'), function(i, el) {
if (el.getStyle('height') != '0px'
&& ! el.hasClass('input')
&& ! el.hasClass('rl_hr')
// GK elements
&& el.id.indexOf('gk_') < 0
&& el.className.indexOf('gk_') < 0
&& el.className.indexOf('switcher-') < 0
) {
el.css('height', 'auto');
}
});
},
toggle: function(name) {
this.setValues(name);
for (let i = 0; i < this.elements[name].togglers.length; i++) {
this.toggleByID(this.elements[name].togglers[i]);
}
//this.autoHeightDivs();
},
toggleByID: function(id, nofx) {
if (typeof this.togglers[id] === 'undefined') {
return;
}
const toggler = this.togglers[id];
const show = this.isShow(toggler);
if (nofx || toggler.nofx) {
if (show) {
$(toggler).show();
} else {
$(toggler).hide();
}
} else {
if (show) {
$(toggler).slideDown();
} else {
$(toggler).slideUp();
}
}
},
isShow: function(toggler) {
let show = (toggler.method == 'and');
for (let name in toggler.elements) {
const vals = toggler.elements[name];
const values = this.elements[name].values;
if (
values != null && values.length
&& (
(vals == '*' && values != '')
|| (vals.toString().substr(0, 1) === '!' && ! RegularLabsScripts.in_array(vals.toString().substr(1), values))
|| RegularLabsScripts.in_array(vals, values)
)
) {
if (toggler.method == 'or') {
show = 1;
break;
}
} else {
if (toggler.method == 'and') {
show = 0;
break;
}
}
}
return show;
},
setValues: function(name) {
const els = this.elements[name].elements;
const values = [];
// get value
$.each(els, function(i, el) {
switch (el.type) {
case 'radio':
case 'checkbox':
if (el.checked) {
values.push(el.value);
}
break;
default:
if (typeof el.elements !== 'undefined' && el.elements.length > 1) {
for (let i = 0; i < el.elements.length; i++) {
if (el.checked) {
values.push(el.value);
}
}
} else {
values.push(el.value);
}
break;
}
});
this.elements[name].values = values;
},
setElements: function() {
const self = this;
$.each($('input, select, textarea'), function(i, el) {
const name = el.name
.replace('@', '_')
.replace('[]', '')
.replace(/^(?:jform\[(?:field)?params\]|jform|params|fieldparams|advancedparams)\[(.*?)\]/g, '\$1')
.replace(/^(.*?)\[(.*?)\]/g, '\$1_\$2')
.trim();
if (name !== '') {
if (typeof self.elements[name] !== 'undefined') {
self.elements[name].elements.push(el);
self.setValues(name);
self.setElementEvents(el, name);
}
}
});
},
setElementEvents: function(el, name) {
if ($(el).attr('togglerEventAdded')) {
return;
}
const self = this;
let type;
if (typeof el.type === 'undefined') {
if ($(el).prop("tagName").toLowerCase() == 'select') {
type = 'select';
}
} else {
type = el.type;
}
const func = function() {
self.toggle(name);
};
$(el).on('input', func);
if (typeof jQuery !== 'undefined' && type == 'select' || field.type == 'select-one') {
$(el).on('change', func);
}
$(el).attr('togglerEventAdded', 1);
}
};
})(jQuery);
}