1. No results found.

    Try your search with a different keyword or use * as a wildcard.

Default.cshtml

@model EstimateShippingModel


    @T("ShoppingCart.EstimateShipping.Button")


    @await Html.PartialAsync("_EstimateShippingPopUp", Model)




    $(function() {
        var popUp = {};
        var settings = {
            opener: '#open-estimate-shipping-popup',
            form: '#shopping-cart-form',
            contentEl: '#estimate-shipping-popup',
            countryEl: '#@Html.IdFor(model => model.CountryId)',
            stateProvinceEl: '#@Html.IdFor(model => model.StateProvinceId)',
            zipPostalCodeEl: '#@Html.IdFor(model => model.ZipPostalCode)',
            useCity: @Model.UseCity.ToString().ToLowerInvariant(),
            cityEl: '#@Html.IdFor(model => model.City)',
            requestDelay: @Model.RequestDelay,
            localizedData: {
                noShippingOptionsMessage: '@JavaScriptEncoder.Default.Encode(T("Shipping.EstimateShippingPopUp.NoShippingOptions").Text)',
                countryErrorMessage: '@JavaScriptEncoder.Default.Encode(T("Shipping.EstimateShipping.Country.Required").Text)',
                zipPostalCodeErrorMessage: '@JavaScriptEncoder.Default.Encode(T("Shipping.EstimateShipping.ZipPostalCode.Required").Text)',
                cityErrorMessage: '@JavaScriptEncoder.Default.Encode(T("Shipping.EstimateShipping.City.Required").Text)',
            },
            urlFactory: function (address) {
                var params = $.param({
                    CountryId: address.countryId,
                    StateProvinceId: address.stateProvinceId,
                    ZipPostalCode: address.zipPostalCode,
                    City: address.city
                });

                return '@Html.Raw(Url.RouteUrl("EstimateShipping"))?' + params;
            },
            handlers: {
                selectedOption: function (option) {
                    var params;
                    if (option && option.provider && option.price && popUp.validateAddress(option.address)) {
                        params = $.param({
                            Name: option.provider,
                            CountryId: option.address.countryId,
                            StateProvinceId: option.address.stateProvinceId,
                            ZipPostalCode: option.address.zipPostalCode
                        });
                    }

                    $.ajax({
                        cache: false,
                        url: '@Html.Raw(Url.RouteUrl("SelectShippingOption"))' + (params ? '?' + params : ''),
                        data: $('#shopping-cart-form').serialize(),
                        type: 'POST',
                        beforeSend: function () {
                            displayAjaxLoading(true);
                        },
                        success: function (response) {
                            popUp.clearErrorMessage();
                            if (response.success) {
                                if (response.ordertotalssectionhtml) {
                                    $('.total-info').replaceWith(response.ordertotalssectionhtml);
                                }
                                popUp.closePopup();
                            } else {
                                popUp.showErrorMessage(response.errors);
                            }
                        },
                        complete: function () {
                            displayAjaxLoading(false);
                        }
                    });
                }
            }
        };

        popUp = createEstimateShippingPopUp(settings);
        popUp.init();

        let address = popUp.getShippingAddress();
        if (popUp.validateAddress(address))
            popUp.getShippingOptions(address);
        else
            popUp.selectShippingOption();
    });