__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
class CodemirrorEditor extends HTMLElement{constructor(){super(),this.instance="",this.host=window.location.origin,this.element=this.querySelector("textarea"),this.refresh=this.refresh.bind(this),this.intersectionObserver=new IntersectionObserver((e=>{e[0].isIntersecting&&this.instance&&this.instance.refresh()}),{threshold:0})}static get observedAttributes(){return["options"]}get options(){return JSON.parse(this.getAttribute("options"))}set options(e){this.setAttribute("options",e)}attributeChangedCallback(e,t,i){switch(e){case"options":t&&i!==t&&this.refresh(this.element)}}async connectedCallback(){const e=this.getAttribute("editor"),t=this.getAttribute("addons");await import(`${this.host}/${e}`),this.options.keyMapUrl&&await import(`${this.host}/${this.options.keyMapUrl}`),await import(`${this.host}/${t}`);const i=this;window.CodeMirror.modeURL=this.getAttribute("mod-path"),window.CodeMirror.defineInitHook((e=>{const t=window.CodeMirror.findModeByName(e.options.mode||"")||window.CodeMirror.findModeByExtension(e.options.mode||"");window.CodeMirror.autoLoadMode(e,"object"==typeof t?t.mode:e.options.mode),t&&t.mime&&(["text/x-php","application/x-httpd-php","application/x-httpd-php-open"].includes(t.mime)?e.setOption("mode","php"):e.setOption("mode",t.mime));const o=()=>{i.instance.setOption("fullScreen",!i.instance.getOption("fullScreen"));const e=document.getElementById("subhead");if(e){document.getElementById("header").classList.toggle("hidden"),e.classList.toggle("hidden"),i.instance.display.wrapper.style.top=`${e.getBoundingClientRect().height}px`}},s={"Ctrl-Q":o,[i.getAttribute("fs-combo")]:o,Esc:()=>{if(i.instance.getOption("fullScreen"),i.instance.setOption("fullScreen",!1),!i.instance.getOption("fullScreen")){const e=document.getElementById("subhead");if(e){const t=document.getElementById("header");e.classList.toggle("hidden"),t.classList.toggle("hidden"),i.instance.display.wrapper.style.top=`${e.getBoundingClientRect().height}px`}}}};e.addKeyMap(s);e.on("gutterClick",((e,t,i)=>{if("CodeMirror-markergutter"!==i)return;const o=e.lineInfo(t),s=!!o.gutterMarkers&&!!o.gutterMarkers["CodeMirror-markergutter"];e.setGutterMarker(t,"CodeMirror-markergutter",s?null:(()=>{const e=document.createElement("div");return e.className="CodeMirror-markergutter-mark",e})())})),"fieldset"===i.parentNode.tagName.toLowerCase()&&(i.parentNode.style.minWidth=0)})),this.instance=window.CodeMirror.fromTextArea(this.element,this.options),this.instance.disable=e=>this.setOption("readOnly",!!e&&"nocursor"),Joomla.editors.instances[this.element.id]=this.instance,this.intersectionObserver.observe(this)}disconnectedCallback(){delete Joomla.editors.instances[this.element.id],this.intersectionObserver.unobserve(this)}refresh(e){this.instance.fromTextArea(e,this.options)}}customElements.define("joomla-editor-codemirror",CodemirrorEditor);

Filemanager

Name Type Size Permission Actions
joomla-editor-codemirror-es5.js File 11.45 KB 0664
joomla-editor-codemirror-es5.min.js File 5.08 KB 0664
joomla-editor-codemirror-es5.min.js.gz File 2.01 KB 0664
joomla-editor-codemirror.js File 4.78 KB 0664
joomla-editor-codemirror.min.js File 2.79 KB 0664
joomla-editor-codemirror.min.js.gz File 1.07 KB 0664
Filemanager