first commit

This commit is contained in:
2025-06-17 11:53:18 +02:00
commit 9f0f7ba12b
8804 changed files with 1369176 additions and 0 deletions

View File

@ -0,0 +1,90 @@
/**
* @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
((document, Joomla) => {
class EmailTemplateEdit {
constructor(form, options) {
// Set elements
this.form = form;
this.inputSubject = this.form.querySelector('#jform_subject');
this.inputBody = this.form.querySelector('#jform_body');
this.inputHtmlBody = this.form.querySelector('#jform_htmlbody');
// Set options
this.templateData = options && options.templateData ? options.templateData : {};
// Add back reference
this.form.EmailTemplateEdit = this;
}
setBodyValue(value) {
if (Joomla.editors.instances[this.inputBody.id]) {
Joomla.editors.instances[this.inputBody.id].setValue(value);
} else {
this.inputBody.value = value;
}
}
setHtmlBodyValue(value) {
if (Joomla.editors.instances[this.inputHtmlBody.id]) {
Joomla.editors.instances[this.inputHtmlBody.id].setValue(value);
} else {
this.inputHtmlBody.value = value;
}
}
insertTag(tag, targetField) {
if (!tag) return false;
let input;
switch (targetField) {
case 'body':
input = this.inputBody;
break;
case 'htmlbody':
input = this.inputHtmlBody;
break;
default:
return false;
}
if (Joomla.editors.instances[input.id]) {
Joomla.editors.instances[input.id].replaceSelection(tag);
} else {
input.value += ` ${tag}`;
}
return true;
}
bindListeners() {
document.querySelector('#btnResetSubject').addEventListener('click', event => {
event.preventDefault();
this.inputSubject.value = this.templateData.subject ? this.templateData.subject : '';
});
const btnResetBody = document.querySelector('#btnResetBody');
if (btnResetBody) {
btnResetBody.addEventListener('click', event => {
event.preventDefault();
this.setBodyValue(this.templateData.body ? this.templateData.body : '');
});
}
const btnResetHtmlBody = document.querySelector('#btnResetHtmlBody');
if (btnResetHtmlBody) {
btnResetHtmlBody.addEventListener('click', event => {
event.preventDefault();
this.setHtmlBodyValue(this.templateData.htmlbody ? this.templateData.htmlbody : '');
});
}
// Buttons for inserting a tag
this.form.querySelectorAll('.edit-action-add-tag').forEach(button => {
button.addEventListener('click', event => {
event.preventDefault();
const el = event.target;
this.insertTag(el.dataset.tag, el.dataset.target);
});
});
}
}
document.addEventListener('DOMContentLoaded', () => {
const editor = new EmailTemplateEdit(document.getElementById('item-form'), Joomla.getOptions('com_mails'));
editor.bindListeners();
});
})(document, Joomla);

View File

@ -0,0 +1 @@
((t,e)=>{class i{constructor(t,e){this.form=t,this.inputSubject=this.form.querySelector("#jform_subject"),this.inputBody=this.form.querySelector("#jform_body"),this.inputHtmlBody=this.form.querySelector("#jform_htmlbody"),this.templateData=e&&e.templateData?e.templateData:{},this.form.EmailTemplateEdit=this}setBodyValue(t){e.editors.instances[this.inputBody.id]?e.editors.instances[this.inputBody.id].setValue(t):this.inputBody.value=t}setHtmlBodyValue(t){e.editors.instances[this.inputHtmlBody.id]?e.editors.instances[this.inputHtmlBody.id].setValue(t):this.inputHtmlBody.value=t}insertTag(t,i){if(!t)return!1;let s;switch(i){case"body":s=this.inputBody;break;case"htmlbody":s=this.inputHtmlBody;break;default:return!1}return e.editors.instances[s.id]?e.editors.instances[s.id].replaceSelection(t):s.value+=` ${t}`,!0}bindListeners(){t.querySelector("#btnResetSubject").addEventListener("click",(t=>{t.preventDefault(),this.inputSubject.value=this.templateData.subject?this.templateData.subject:""}));const e=t.querySelector("#btnResetBody");e&&e.addEventListener("click",(t=>{t.preventDefault(),this.setBodyValue(this.templateData.body?this.templateData.body:"")}));const i=t.querySelector("#btnResetHtmlBody");i&&i.addEventListener("click",(t=>{t.preventDefault(),this.setHtmlBodyValue(this.templateData.htmlbody?this.templateData.htmlbody:"")})),this.form.querySelectorAll(".edit-action-add-tag").forEach((t=>{t.addEventListener("click",(t=>{t.preventDefault();const e=t.target;this.insertTag(e.dataset.tag,e.dataset.target)}))}))}}t.addEventListener("DOMContentLoaded",(()=>{new i(t.getElementById("item-form"),e.getOptions("com_mails")).bindListeners()}))})(document,Joomla);

Binary file not shown.