Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 22 additions & 35 deletions build/media_source/com_content/js/admin-articles-modal.es6.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,52 +12,39 @@
* and closes the select frame.
* */
window.jSelectArticle = (id, title, catid, object, link, lang) => {
let hreflang = '';
if (!Joomla.getOptions('xtd-articles')) {
// Something went wrong!
// @TODO Close the modal
return false;
if (window.parent.Joomla.Modal) {
window.parent.Joomla.Modal.getCurrent().close();
}
}

const { editor } = Joomla.getOptions('xtd-articles');

if (lang !== '') {
hreflang = `hreflang="${lang}"`;
}

const tag = `<a ${hreflang} href="${link}">${title}</a>`;
const tag = `<a href="${link}"${lang !== '' ? ` hreflang="${lang}"` : ''}>${title}</a>`;
window.parent.Joomla.editors.instances[editor].replaceSelection(tag);

if (window.parent.Joomla.Modal) {
window.parent.Joomla.Modal.getCurrent().close();
}

return true;
};

document.addEventListener('DOMContentLoaded', () => {
// Get the elements
const elements = document.querySelectorAll('.select-link');

for (let i = 0, l = elements.length; l > i; i += 1) {
document.querySelectorAll('.select-link').forEach((element) => {
// Listen for click event
elements[i].addEventListener('click', (event) => {
event.preventDefault();
const { target } = event;
const functionName = target.getAttribute('data-function');

if (functionName === 'jSelectArticle') {
// Used in xtd_contacts
window[functionName](target.getAttribute('data-id'), target.getAttribute('data-title'), target.getAttribute('data-cat-id'), null, target.getAttribute('data-uri'), target.getAttribute('data-language'));
} else {
// Used in com_menus
window.parent[functionName](target.getAttribute('data-id'), target.getAttribute('data-title'), target.getAttribute('data-cat-id'), null, target.getAttribute('data-uri'), target.getAttribute('data-language'));
}

if (window.parent.Joomla.Modal) {
window.parent.Joomla.Modal.getCurrent().close();
}
});
}
element.addEventListener('click', (event) => {
event.preventDefault();
const { target } = event;
const functionName = target.getAttribute('data-function');

if (functionName === 'jSelectArticle') {
// Used in xtd_contacts
window[functionName](target.getAttribute('data-id'), target.getAttribute('data-title'), target.getAttribute('data-cat-id'), null, target.getAttribute('data-uri'), target.getAttribute('data-language'));
} else {
// Used in com_menus
window.parent[functionName](target.getAttribute('data-id'), target.getAttribute('data-title'), target.getAttribute('data-cat-id'), null, target.getAttribute('data-uri'), target.getAttribute('data-language'));
}

if (window.parent.Joomla.Modal) {
window.parent.Joomla.Modal.getCurrent().close();
}
});
});
})();