Sha256: e6b75441b784098523ef9f58e4249e3f0a101f2bd05e338ce89977e247006463

Contents?: true

Size: 1.86 KB

Versions: 2

Compression:

Stored size: 1.86 KB

Contents

function SpreeDeliveryOptions() {

  var that = this;

  this.initializeDeliveryTimeSelect = function() {
    if ($('#order_delivery_date').length > 0) {
      this.update_delivery_time_options();

      $('#order_delivery_date').change(function(event){
        that.update_delivery_time_options();
      });
    }
  };

  this.update_delivery_time_options = function() {
    delivery_time_options = $.parseJSON($('.delivery-time-options').attr("data"));

    if (delivery_time_options){
      weekdays = ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday'];

      var dateParts = []
      if ($('#order_delivery_date').val().indexOf('/') !== -1) {
        dateParts = $('#order_delivery_date').val().split('/')
      } else {
        dateParts = $('#order_delivery_date').val().split('-')
      }
      day_index = new Date(dateParts[0], dateParts[1]-1, dateParts[2]).getDay();
      weekday = weekdays[day_index];

      day_options = delivery_time_options[weekday];
      this.populate_delivery_time(day_options);
    }
  };

  this.populate_delivery_time = function(options) {
    if (options) {
      var selected_delivery_time = $('.selected-delivery-time').attr("data");
      var arLen = options.length;
      var newList = "";
      for ( var i=0, len=arLen; i<len; ++i ){
        if (options[i] == selected_delivery_time) {
          newList = newList + '<option selected=true value="' + options[i] + '">' + options[i]+'</option>';
        } else {
          newList = newList + '<option value="' + options[i] + '">' + options[i]+'</option>';
        }
      }
      $('#order_delivery_time').html(newList);
    } else {
      $('#order_delivery_time').html("<option>No deliveries available on this date</option>");
    }
  };

}

$(document).ready(function() {
  var deliveryOptions = new SpreeDeliveryOptions();
  deliveryOptions.initializeDeliveryTimeSelect();
});

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
spree_delivery_options-2.1.13 app/assets/javascripts/admin/delivery_time_options.js
spree_delivery_options-2.1.12 app/assets/javascripts/admin/delivery_time_options.js