ostapdontstop

js

May 28th, 2019
155
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. document.addEventListener('DOMContentLoaded', function() {
  2.  
  3.     var form = document.getElementById('form');
  4.     var token = form.querySelector('input[name=_token]');
  5.  
  6.     var selects = form.querySelectorAll('select');
  7.     var selectI = M.FormSelect.init(selects);
  8.  
  9.     var time = new Time(selects[2]);
  10.  
  11.     var datepicker = form.querySelector('.datepicker');
  12.     var pickerParams = {
  13.         firstDay: 1,
  14.         minDate: new Date(),
  15.         format: "yyyy-mm-dd",
  16.         disableDayFn: function (d) {
  17.             return (freeDays.includes(d.getDay()) || freeDates.includes(d.yyyymmdd('-')));
  18.         }
  19.     };
  20.     var datepickerI = M.Datepicker.init(datepicker, pickerParams);
  21.  
  22.     if (selects[0].value && selects[1].value) {
  23.         if (datepicker.value) {
  24.             getTime('/time/', {
  25.                 'tableSize':selects[0].value,
  26.                 'duration': selects[1].value,
  27.                 'date': datepicker.value,
  28.                 'token': token.value
  29.              }, function(response) {
  30.                     time.Update(response)
  31.             });
  32.         }
  33.        
  34.         else {
  35.             getTime('/date/', {
  36.                 'tableSize':selects[0].value,
  37.                 'duration': selects[1].value,
  38.                 'date': datepicker.value,
  39.                 'token': token.value
  40.              }, function(response) {
  41.                     time.Update(response.stamps)
  42.                     datepickerI = M.Datepicker.init(datepicker, {
  43.                         firstDay: 1,
  44.                         minDate: new Date(),
  45.                         defaultDate: new Date(response.date),
  46.                         setDefaultDate: true,
  47.                         format: "yyyy-mm-dd",
  48.                         disableDayFn: function (d) {
  49.                             return (freeDays.includes(d.getDay()) || freeDates.includes(d.yyyymmdd('-')));
  50.                         },
  51.                         onSelect: function (d) {
  52.                             getTime('/time/', {
  53.                                 'date': d.yyyymmdd('-'),
  54.                                 'tableSize':selects[0].value,
  55.                                 'duration': selects[1].value,
  56.                                 'token': token.value
  57.                              }, function(response) {
  58.                                 time.Update(response);
  59.                                 console.log(response);
  60.                              });
  61.                         }
  62.                     });
  63.  
  64.                 }
  65.             );
  66.         }
  67.     }
  68.  
  69.     for (let i = 0; i < 2; i++) {
  70.       selects[i].onchange = function() {
  71.  
  72.         if (!(selects[0].value && selects[1].value)) {
  73.             selects[2].disabled = true;
  74.             selects[2].firstElementChild.selected = true;
  75.             M.FormSelect.init(selects[2]);
  76.         }
  77.  
  78.         else {
  79.  
  80.             selects[2].disabled = false;
  81.             M.FormSelect.init(selects[2]);
  82.  
  83.             getTime('/date/', {
  84.                 'tableSize':selects[0].value,
  85.                 'duration': selects[1].value,
  86.                 'date': datepicker.value,
  87.                 'token': token.value
  88.              }, function(response) {
  89.                     time.Update(response.stamps)
  90.                     datepickerI = M.Datepicker.init(datepicker, {
  91.                         firstDay: 1,
  92.                         minDate: new Date(),
  93.                         defaultDate: new Date(response.date),
  94.                         setDefaultDate: true,
  95.                         format: "yyyy-mm-dd",
  96.                         disableDayFn: function (d) {
  97.                             return (freeDays.includes(d.getDay()) || freeDates.includes(d.yyyymmdd('-')));
  98.                         },
  99.                         onSelect: function (d) {
  100.                             getTime('/time/', {
  101.                                 'date': d.yyyymmdd('-'),
  102.                                 'tableSize':selects[0].value,
  103.                                 'duration': selects[1].value,
  104.                                 'token': token.value
  105.                              }, function(response) {
  106.                                 time.Update(response);
  107.                                 console.log(response);
  108.                              });
  109.                         }
  110.                     });
  111.                    
  112.                 }
  113.             );
  114.         }
  115.       }
  116.     }
  117. });
RAW Paste Data