Skip to content

Commit

Permalink
Bugfix/5116: replace jQuery with vanilla javascript
Browse files Browse the repository at this point in the history
Issue: #5116
  • Loading branch information
so-grimm committed Jun 5, 2024
1 parent 9842b1b commit 649ae4e
Showing 1 changed file with 68 additions and 51 deletions.
119 changes: 68 additions & 51 deletions Neos.Media.Browser/Resources/Public/JavaScript/select.js
Original file line number Diff line number Diff line change
@@ -1,54 +1,71 @@
window.addEventListener('DOMContentLoaded', (event) => {
$(function() {
if (window.parent !== window && window.parent.NeosMediaBrowserCallbacks) {
// we are inside iframe
$('.asset-list').on('click', '[data-asset-identifier]', function(e) {
if (
$(e.target).closest('a, button').not('[data-asset-identifier]').length === 0 &&
window.parent.NeosMediaBrowserCallbacks &&
typeof window.parent.NeosMediaBrowserCallbacks.assetChosen === 'function'
) {
let localAssetIdentifier = $(this).attr('data-local-asset-identifier');
if (localAssetIdentifier !== '') {
window.parent.NeosMediaBrowserCallbacks.assetChosen(localAssetIdentifier);
} else {
if ($(this).attr('data-import-in-process') !== 'true') {
$(this).attr('data-import-in-process', 'true')
const message = window.NeosCMS.I18n.translate(
'assetImport.importInfo',
'Asset is being imported. Please wait.',
'Neos.Media.Browser',
'Main',
[]
)
window.NeosCMS.Notification.ok(message)
$.post(
$('link[rel="neos-media-browser-service-assetproxies-import"]').attr('href'),
{
assetSourceIdentifier: $(this).attr('data-asset-source-identifier'),
assetIdentifier: $(this).attr('data-asset-identifier'),
__csrfToken: $('body').attr('data-csrf-token')
},
function (data) {
window.parent.NeosMediaBrowserCallbacks.assetChosen(data.localAssetIdentifier);
$(this).removeAttr('data-import-in-process')
}
);
}
else {
const message = window.NeosCMS.I18n.translate(
'assetImport.importInProcess',
'Import still in process. Please wait.',
'Neos.Media.Browser',
'Main',
[]
)
window.NeosCMS.Notification.warning(message)
}
window.addEventListener('DOMContentLoaded', () => {
(function () {
if (window.parent !== window && window.parent.NeosMediaBrowserCallbacks) {
// we are inside iframe
const assets = document.querySelectorAll('[data-asset-identifier]');
assets.forEach((asset) => {
asset.addEventListener('click', (e) => {
if (
e.target.closest('a:not([data-asset-identifier]), button:not([data-asset-identifier])') === null &&
window.parent.NeosMediaBrowserCallbacks &&
typeof window.parent.NeosMediaBrowserCallbacks.assetChosen === 'function'
) {
let localAssetIdentifier = asset.dataset.localAssetIdentifier;
if (localAssetIdentifier !== '') {
window.parent.NeosMediaBrowserCallbacks.assetChosen(localAssetIdentifier);
} else {
if (asset.dataset.importInProcess !== 'true') {
asset.dataset.importInProcess = 'true';
const message = window.NeosCMS.I18n.translate(
'assetImport.importInfo',
'Asset is being imported. Please wait.',
'Neos.Media.Browser'
);
window.NeosCMS.Notification.ok(message);

const params = new URLSearchParams();
params.append('assetSourceIdentifier', asset.dataset.assetSourceIdentifier);
params.append('assetIdentifier', asset.dataset.assetIdentifier);
params.append('__csrfToken', document.querySelector('body').dataset.csrfToken);

fetch(
document
.querySelector('link[rel="neos-media-browser-service-assetproxies-import"]')
.getAttribute('href'),
{
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
},
method: 'POST',
credentials: 'include',
body: params.toString(),
}
e.preventDefault();
)
.then((response) => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then((data) => {
window.parent.NeosMediaBrowserCallbacks.assetChosen(data.localAssetIdentifier);
asset.removeAttribute('data-import-in-process');
})
.catch((error) => console.error('Error:', error))
e.preventDefault();
} else {
const message = window.NeosCMS.I18n.translate(
'assetImport.importInProcess',
'Import still in process. Please wait.',
'Neos.Media.Browser'
);
window.NeosCMS.Notification.warning(message);
}
});
}
});
}
e.preventDefault();
}
});
});
}
})();
});

0 comments on commit 649ae4e

Please sign in to comment.