FleetCart/Modules/Product/Resources/assets/admin/js/Downloads.js
2023-06-11 13:14:03 +01:00

45 lines
1.0 KiB
JavaScript

import Download from './Download';
export default class {
constructor() {
this.downloadsCount = 0;
this.addDownloads(FleetCart.data['product.downloads']);
if (this.downloadsCount === 0) {
this.addDownload();
}
this.attachEventListeners();
this.makeDownloadsSortable();
}
addDownloads(downloads) {
for (let attributes of downloads) {
this.addDownload(attributes);
}
}
addDownload(attributes = {}) {
let download = new Download({ download: attributes });
$('#downloads-wrapper').append(download.render());
this.downloadsCount++;
window.admin.tooltip();
}
attachEventListeners() {
$('#add-new-file').on('click', () => {
this.addDownload();
});
}
makeDownloadsSortable() {
Sortable.create(document.getElementById('downloads-wrapper'), {
handle: '.drag-icon',
animation: 150,
});
}
}