__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ 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(t){this.tableEl=t,this.formEl=t.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 e=c.checked;this.getRows().forEach(o=>{this.changeBg(o,e)})})}getRows(){return Array.from(this.tableEl.querySelectorAll(this.rowSelector))}changeBg(t,c){t.classList.toggle("row-selected",c)}onRowClick({target:t,shiftKey:c}){if(!t.matches(this.boxSelector)&&t.closest("a, button, input, select, textarea, details, dialog, audio, video"))return;const e=t.closest(this.rowSelector),o=t.matches(this.boxSelector)?t:e.querySelector(this.boxSelector);if(!o)return;const s=o!==t?!o.checked:o.checked;if(s!==o.checked&&(o.checked=s,Joomla.isChecked(s,this.formEl)),this.changeBg(e,s),c&&this.prevRow){document.getSelection().removeAllRanges();const h=this.getRows(),l=h.indexOf(this.prevRow),i=h.indexOf(e);l>=0&&i>=0&&Math.abs(l-i)>1&&(l<i?h.slice(l,i+1):h.slice(i,l+1)).forEach(n=>{if(n===e)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=e}}const onBoot=r=>{let t="#adminForm";const c=window.Joomla?Joomla.getOptions("js-multiselect",{}).formName:"";if(c){const e=c[0];t=e!=="."&&e!=="#"?`#${c}`:c}r.querySelectorAll(t).forEach(e=>{e&&!("multiselect"in e.dataset)&&(e.dataset.multiselect="",new JMultiSelect(e))})};onBoot(document),document.addEventListener("joomla:updated",({target:r})=>onBoot(r));
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| editors | Folder | 0775 |
|
|
| fields | Folder | 0775 |
|
|
| core.js | File | 25.69 KB | 0664 |
|
| core.min.js | File | 7.6 KB | 0664 |
|
| core.min.js.gz | File | 3.16 KB | 0664 |
|
| draggable.js | File | 5.63 KB | 0664 |
|
| draggable.min.js | File | 2.54 KB | 0664 |
|
| draggable.min.js.gz | File | 1.05 KB | 0664 |
|
| highlight.js | File | 61.61 KB | 0664 |
|
| highlight.min.js | File | 15.58 KB | 0664 |
|
| highlight.min.js.gz | File | 5.44 KB | 0664 |
|
| inlinehelp.js | File | 2.18 KB | 0664 |
|
| inlinehelp.min.js | File | 805 B | 0664 |
|
| inlinehelp.min.js.gz | File | 486 B | 0664 |
|
| joomla-core-loader.js | File | 4.91 KB | 0664 |
|
| joomla-core-loader.min.js | File | 4.02 KB | 0664 |
|
| joomla-core-loader.min.js.gz | File | 1.66 KB | 0664 |
|
| joomla-dialog-autocreate.js | File | 2.9 KB | 0664 |
|
| joomla-dialog-autocreate.min.js | File | 1.22 KB | 0664 |
|
| joomla-dialog-autocreate.min.js.gz | File | 664 B | 0664 |
|
| joomla-dialog.js | File | 18.34 KB | 0664 |
|
| joomla-dialog.min.js | File | 8.53 KB | 0664 |
|
| joomla-dialog.min.js.gz | File | 2.49 KB | 0664 |
|
| joomla-hidden-mail.js | File | 2.26 KB | 0664 |
|
| joomla-hidden-mail.min.js | File | 1.53 KB | 0664 |
|
| joomla-hidden-mail.min.js.gz | File | 721 B | 0664 |
|
| joomla-toolbar-button.js | File | 3.5 KB | 0664 |
|
| joomla-toolbar-button.min.js | File | 2.08 KB | 0664 |
|
| joomla-toolbar-button.min.js.gz | File | 868 B | 0664 |
|
| keepalive.js | File | 1 KB | 0664 |
|
| keepalive.min.js | File | 741 B | 0664 |
|
| keepalive.min.js.gz | File | 430 B | 0664 |
|
| list-view.js | File | 2.75 KB | 0664 |
|
| list-view.min.js | File | 1.59 KB | 0664 |
|
| list-view.min.js.gz | File | 555 B | 0664 |
|
| messages.js | File | 10.19 KB | 0664 |
|
| messages.min.js | File | 5.41 KB | 0664 |
|
| messages.min.js.gz | File | 1.77 KB | 0664 |
|
| modal-content-select.js | File | 1.14 KB | 0664 |
|
| modal-content-select.min.js | File | 781 B | 0664 |
|
| modal-content-select.min.js.gz | File | 497 B | 0664 |
|
| multiselect.js | File | 3.68 KB | 0664 |
|
| multiselect.min.js | File | 1.86 KB | 0664 |
|
| multiselect.min.js.gz | File | 917 B | 0664 |
|
| searchtools.js | File | 18.1 KB | 0664 |
|
| searchtools.min.js | File | 10.4 KB | 0664 |
|
| searchtools.min.js.gz | File | 2.56 KB | 0664 |
|
| showon.js | File | 9.91 KB | 0664 |
|
| showon.min.js | File | 3.55 KB | 0664 |
|
| showon.min.js.gz | File | 1.39 KB | 0664 |
|
| table-columns.js | File | 5.96 KB | 0664 |
|
| table-columns.min.js | File | 3.39 KB | 0664 |
|
| table-columns.min.js.gz | File | 1.28 KB | 0664 |
|
| treeselectmenu.js | File | 5.74 KB | 0664 |
|
| treeselectmenu.min.js | File | 4.07 KB | 0664 |
|
| treeselectmenu.min.js.gz | File | 976 B | 0664 |
|