PacktPublishing / Django-4-by-example

Django 4 by example (4th Edition) published by Packt
https://djangobyexample.com/
MIT License
799 stars 461 forks source link

chapter 13. error in cycle at script #55

Open msgtv opened 11 months ago

msgtv commented 11 months ago

sorry for my english on chapter 13 when adding eventlistener 'sortupdate' fetch query sends every run on cycle:

sortable('#course-modules', {
          forcePlaceholderSize: true,
          placeholderClass: 'placeholder'
        })[0].addEventListener('sortupdate', function(e) {
          modulesOrder = {};
          var modules = document.querySelectorAll('#course-modules li');
          modules.forEach(function (module, index) {
            modulesOrder[module.dataset.id] = index;
            module.querySelector('.order').innerHTML = index + 1;
            options['body'] = JSON.stringify(modulesOrder);
            fetch(moduleOrderUrl, options);
          });
        });

. it is not right. Right:

sortable('#course-modules', {
          forcePlaceholderSize: true,
          placeholderClass: 'placeholder'
        })[0].addEventListener('sortupdate', function(e) {
          modulesOrder = {};
          var modules = document.querySelectorAll('#course-modules li');
          modules.forEach(function (module, index) {
            modulesOrder[module.dataset.id] = index;
            module.querySelector('.order').innerHTML = index + 1;
          });
          options['body'] = JSON.stringify(modulesOrder);
          fetch(moduleOrderUrl, options);
        });

fetch query must be send when cycle is finish!