projects.js 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. // JS spécifique à la page /projects
  2. // duplicateMap stub
  3. function duplicateMap(mapId) {
  4. if (confirm('Voulez-vous créer une copie de cette carte ?')) {
  5. // TODO: Implémenter la duplication via AJAX
  6. alert('Fonction de duplication à implémenter');
  7. }
  8. }
  9. // deleteMap : soumet le form de suppression (progressive enhancement)
  10. function deleteMap(mapId, mapName) {
  11. var deleteModalEl = document.getElementById('deleteModal');
  12. if (!deleteModalEl) return;
  13. document.getElementById('deleteMapName').textContent = mapName;
  14. document.getElementById('confirmDeleteBtn').onclick = function() {
  15. var form = document.getElementById('delete-form-' + mapId);
  16. if (form) {
  17. try { deleteModalEl.querySelector('[data-bs-dismiss="modal"]').click(); } catch (e) {}
  18. form.submit();
  19. } else {
  20. window.location.href = '/projects/delete?id=' + encodeURIComponent(mapId);
  21. }
  22. };
  23. var modal = new bootstrap.Modal(deleteModalEl);
  24. modal.show();
  25. }
  26. // Expose functions in window scope (au cas où)
  27. window.duplicateMap = window.duplicateMap || duplicateMap;
  28. window.deleteMap = window.deleteMap || deleteMap;