Osso Bucco Rundvlees | Woolworths (2023)

` ) }, 3000) }) } // OTP API's functioneren executeOtpAPI(preferredChannel) { if (!useTestAPI) { return getOtpAPI(preferredChannel); } anders { return testGetOtpAPI(preferredChannel); } } functie getOtpAPI(preferredChannel) { return new Promise(functie(oplossen, afwijzen) { $.ajax({ url: `https://www.woolworths.com.au/api/v3/ui/authentication/otp?isInitial =true&Channel=${preferredChannel}`, type: 'GET', contentType: 'application/json', }).then(res => { if (res.Successful) { solve(res); } else { afwijzen(res ); } }) }); } // stuur nieuwe code / stuur in plaats daarvan sms/e-mail api-functie testGetOtpAPI(preferredChannel) { console.log('testGetOtpAPI preferentChannel', preferentChannel) if (preferredChannel == 1) { return new Promise((resolve, weiger) => { setTimeout(() => {solving({ "Succesvol": true, "Kanaal": 1, "MaskedContact": "p****h@g****.com" }) }, 3000) }) } else { return new Promise((oplossen, afwijzen) => { setTimeout(() => { solve({ "Succesvol": waar, "Kanaal": 0, "MaskedContact": "*******927 " }) }, 3000) }) } } functie executeVerifyOtp(otpInputValue) { if (!useTestAPI) { return verificatieOtp(otpInputValue); } anders { return testVerifyOtp(otpInputValue); } } // Controleer de OPT geleverd door de gebruikersfunctie verificatieOtp(otpInputValue) { return new Promise(function(resolve, weiger) { $.ajax({ url: `https://www.woolworths.com.au/api/ v3/ui/authentication/otp`, type: 'POST', contentType: 'application/json', data: JSON.stringify({ OneTimePin: otpInputValue, UpdatePrimaryContact: false }) }).done((res) => { if (res.Succesvol) { oplossing(res); } else { afwijzing(res); } }).fail((res) => { afwijzing(res); }) }); } functie testVerifyOtp(otpInputValue) { if (otpInputValue == "123123") { return testOtpSuccess(); } else if (otpInputValue == "000000") { return testApiFailed(); } anders { return testWrongOtpCode(); } } function testOtpSuccess() { return new Promise((oplossen, afwijzen) => { setTimeout(() => {solving({ "Succesvol": true, "Error": null, "TokenValue": "d5794417cf1d4d5385c8347d8960ca07", " ErrorMessage": null }) }, 3000) }) } // verkeerde otp-codefunctie testWrongOtpCode() { console.log('testWrongOtpCode') return new Promise((oplossen, weigeren) => { setTimeout(() => { weigeren({ "Successful": false, "Error": "InvalidOneTimePin", "TokenValue": "", "ErrorMessage": "Onjuiste code. U heeftNog 4 poging(en) over." }) }, 3000) }) } function fetchOrders(shopperId) { if (!useTestAPI) { return getOrdersAPI(shopperId); } else { return testGetOrdersAPI(); // return testNoOrdersAPI(); } } function getOrdersAPI(shopperId) { return new Promise(function(resolve, afwijzen) { $.ajax({ url: `https://prod.mobile-api.woolworths.com.au/wow/v1/orders/api/orders?shopperId=${ shopperId}&pageNumber=1&pageSize=6`, type: 'GET', contentType: 'application/json', headers: { "x-api-key": "s7iXf5Rixn4XxFrsYh4HKkriVp8hlnec" }, xhrFields: { withCredentials: true }, crossDomain: true }).done((res) => { solve(res); }).fail((res) => { afwijzen(res); }) }); } // orderstatus = // "Geplaatst", "Ontvangen ", "Bezig met voorbereiden", // "Voorbereid", "OnItsWay", "Bezorgd", // "Verzonden", "Gedeeltelijk verzonden", "Geannuleerd" let testOrderStatus = "Gedeeltelijk verzonden"; // DeliveryMethod = "Koerier", "Express ", "Pickup", "DriveUp" let testDeliveryMethod = "DriveUp"; function testGetOrdersAPI() { return new Promise((oplossen, afwijzen) => { setTimeout(() => { solve({ "items": [{ " OrderId": 148153401, "CreatedDate": "2023-01-30T18:20:33.586949+11:00", "OriginalOrderCreatedDate": "2023-01-30T18:20:33.586949+11:00", "Totaal": 69,5 , "CurrentStatus": `${testOrderStatus}`, "DeliveryMethod": `${testDeliveryMethod}`, "ProjectedDeliveryTime": { "Status": "OnTime", "OriginalStartTime": "2023-02-05T12:00:00 ", "OriginalEndTime": "2023-02-05T17:00:00", "StartTime": "2023-02-05T12:00:00", "EndTime": "2023-02-05T17:00:00", "BufferType": "None" }, "IsPfdOrder": false, "OrderType": "Standaard", "MarketOrders": [], "IsMarketOnly": false, "IsPostPickPayOrder": false, "IsThirdPartyDelivery": false }, { "OrderId": 148153402, "CreatedDate": "2023-01-30T18:20:33.586949+11:00", "OriginalOrderCreatedDate": "2023-01-30T18:20:33.586949+11:00", "Totaal": 69.5, "CurrentStatus": `${testOrderStatus}`, "DeliveryMethod": `${testDeliveryMethod}`, "ProjectedDeliveryTime": { "Status": "OnTime", "OriginalStartTime": "2023-02-05T12:00: 00", "OriginalEndTime": "2023-02-05T17:00:00", "StartTime": "2023-02-05T12:00:00", "EndTime": "2023-02-05T17:00:00" , "BufferType": "Geen" }, "IsPfdOrder": false, "OrderType": "Standaard", "MarketOrders": [], "IsMarketOnly": false, "IsPostPickPayOrder": false, "IsThirdPartyDelivery": false }, { "OrderId": 148153403, "CreatedDate": "2023-01-30T18:20:33.586949+11:00", "OriginalOrderCreatedDate": "2023-01-30T18:20:33.586949+11:00", "Totaal" : 69.5, "CurrentStatus": `${testOrderStatus}`, "DeliveryMethod": `${testDeliveryMethod}`, "ProjectedDeliveryTime": { "Status": "OnTime", "OriginalStartTime": "2023-02-05T12:00 :00", "OriginalEndTime": "2023-02-05T17:00:00", "StartTime": "2023-02-05T12:00:00", "EndTime": "2023-02-05T17:00:00 ", "BufferType": "Geen" }, "IsPfdOrder": false, "OrderType": "Standaard", "MarketOrders": [], "IsMarketOnly": false, "IsPostPickPayOrder": false, "IsThirdPartyDelivery": false } ], "_links": { "self": "/api/Orders?shopperId=4282500&pageNumber=1&pageSize=6", "next": "/api/Orders?shopperId=4282500&pageNumber=2&pageSize=6", "previous": " /api/Orders?shopperId=4282500&pageNumber=1&pageSize=6" } }) }, 1500) }) } functie testNoOrdersAPI() { return new Promise((oplossen, afwijzen) => { setTimeout(() => { oplossen({ "items": [], "_links": { "self": "/api/Orders?shopperId=4282500&pageNumber=1&pageSize=6", "next": "/api/Orders?shopperId=4282500&pageNumber=2&pageSize=6", "previous": "/api/Orders?shopperId=4282500&pageNumber=1&pageSize=6" } }) }, 3000) }) } function fetchOrderDetails(orderId) { if (!useTestAPI) { return getOrderDetails(orderId); } anders { return testGetOrderDetails(); } } function getOrderDetails(orderId) { return new Promise(function(oplossen, afwijzen) { $.ajax({ url: `https://prod.mobile-api.woolworths.com.au/wow/v1/orders/api /orders/${orderId}`, type: 'GET', contentType: 'application/json', headers: { "x-api-key": "s7iXf5Rixn4XxFrsYh4HKkriVp8hlnec" }, xhrFields: { withCredentials: true }, crossDomain: true }).done((res) => { oplossen(res); }).fail((res) => { afwijzen(res); }) }); } function testGetOrderDetails() { return new Promise((oplossen, afwijzen) => { setTimeout(() => {solving({ "DeliveryWindowId": 628988, "DeliveryInstructions": "", "CanLeaveOrderUnattended": false, "ContainsFrozen" : true, "ContainsRestrictedBySignature": false, "ContainsRestrictedBySignatureAndPhotoId": false, "DeliveryStreet1": "20 Bridge St", "DeliveryStreet2": "EPPING NSW", "DeliverySuburb": "Epping", "DeliveryPostCode": "2121", "OrderProducts": [{ "Besteld": { "StockCode": 175905, "Brand": "Woolworths", "Name": "Woolworths 12 extra grote scharreleieren", "Aantal": 5, "Totaal": 26 , "TotalExcludeGst": 0, "ListPrice": { "Meting": "Elk", "Waarde": 5,2 }, "SalePrice": { "Meting": "Elk", "Waarde": 5,2 }, "ComparativePrice" : { "Meting": "100G", "Waarde": 0,74 }, "AllowSubstitution": true, "LineNumber": 1, "IsPurchasableWithRewardsCredits": false, "IsGiftable": false, "IsNotSelfServiceReturnable": false } }, { "Besteld": { "StockCode": 463666, "Merk": "Chobani", "Naam": "Chobani Volle Melk Griekse Yoghurt", "Aantal": 1, "Totaal": 7, "TotaalExclusiefGst": 0, "ListPrice": { "Meting": "Elk", "Waarde": 7 }, "SalePrice": { "Meting": "Elk", "Waarde": 7 }, "ComparativePrice": { "Meting": " 100G", "Value": 0,77 }, "AllowSubstitution": true, "LineNumber": 2, "IsPurchasableWithRewardsCredits": false, "IsGiftable": false, "IsNotSelfServiceReturnable": false } }, { "Ordered": { "StockCode ": 117381, "Merk": "Macro", "Naam": "Macro Biologische Wortelen", "Aantal": 1, "Totaal": 4,5, "TotaalExclusiefGst": 0, "ListPrice": { "Measure": " Per stuk", "Waarde": 4,5 }, "SalePrice": { "Meetwaarde": "Elk", "Waarde": 4,5 }, "ComparativePrice": { "Meetwaarde": "1KG", "Waarde": 6 }, "AllowSubstitution": true, "LineNumber": 3, "IsPurchasableWithRewardsCredits": false, "IsGiftable": false, "IsNotSelfServiceReturnable": false } }, { "Ordered": { "StockCode": 785977, "Brand": "Nong Shim", "Name": "Nong Shim Shin Ramyun", "Aantal": 4, "Totaal": 18, "TotaalExclusiefGst": 0, "ListPrice": { "Meetwaarde": "Elk", "Waarde": 7 }, "SalePrice": { "Meting": "Elk", "Waarde": 4,5 }, "ComparativePrice": { "Meting": "100G", "Waarde": 0,75 }, "AllowSubstitution": true, "LineNumber ": 4, "IsPurchasableWithRewardsCredits": false, "IsGiftable": false, "IsNotSelfServiceReturnable": false } } ], "OrderDiscountDetailsList": [], "PaymentDetails": { "MarketTotalByVendor": {}, "TotalBeforeSavings": 65.5, "Besparingen": 10, "Subtotaal": 55,5, "OrderDiscount": 0, "DeliveryFeeBeforeDiscount": 13, "DeliveryFeeDiscount": 0, "DeliveryFee": 13, "MarketShippingFee": 0, "MarketShippingFeeBeforeDiscount": 0, "MarketShippingFeeDiscount ": 0, "MarketSellerShippingFees": [], "Totaal": 69,5, "AdditionalDeductions": 0, "AmountToPay": 69,5, "PaidBy": [{ "Type": "CreditCard", "Bedrag": 69,5 }] , "WowTotal": 69.5, "CompleteTotal": 69.5, "MarketplaceTotal": 0, "MarketplaceSubtotal": 0, "WowSubtotal": 55.5, "TeamDiscount": 0, "OrderDiscountWithoutTeamDiscount": 0, "PackagingFeeBeforeDiscount": 1, " PackagingFeeDiscount": 0, "PackagingFee": 1, "PackagingFeeLabel": "Herbruikbare tassen", "MarketDeliveryFee": 0 }, "RewardsPointsToCollect": 56, "RewardsCreditsToCollect": 0, "RewardsCreditsRedeemed": 0, "IsRewardsEarningsAvailable": true , "FulfilmentStore": { "Id": 8881, "Name": "Lidcombe CFC", "Timezone": "AUS Eastern Standard Time", "Url": "", "PhoneNumber": "", "Street1": "6 Hill Road", "Street2": "", "Gebied": "8881 Lidcombe CFC LOCAL", "PostCode": "2141", "Suburb": "Lidcombe Place Holder Suburb", "State": "" } , "RewardsCardNumber": "9355130014696", "IsRedelivery": false, "AmendmentCutOffStoreTime": "2023-02-05T00:45:00+11:00", "HasMarketOrderGiftingDetails": false, "DeliveryDelayed": false, "OrderId" : 148153401, "CreatedDate": "2023-01-30T18:20:33.586949+11:00", "OriginalOrderCreatedDate": "2023-01-30T18:20:33.586949+11:00", "Totaal": 69.5, " CurrentStatus": `${testOrderStatus}`, "DeliveryMethod": `${testDeliveryMethod}`, "ProjectedDeliveryTime": { "Status": "OnTime", "OriginalStartTime": "2023-02-05T12:00:00", "OriginalEndTime": "2023-02-05T17:00:00", "StartTime": "2023-02-05T12:00:00", "EndTime": "2023-02-05T17:00:00", "BufferType ": "None" }, "IsPfdOrder": false, "OrderType": "Standaard", "MarketOrders": [], "IsMarketOnly": false, "GroceriesOrderId": 148153401, "IsPostPickPayOrder": false, "IsThirdPartyDelivery": false } ) }, 1500) }) } function fetchEdrCard() { if (!useTestAPI) { return getEdrCard(); } anders { return testGetEdrCard(); // retourneer testNoEdrCard(); } } function getEdrCard() { return new Promise(function(oplossen, afwijzen) { $.ajax({ url: `https://www.woolworths.com.au/apis/ui/EdrCard`, type: 'GET' , contentType: 'application/json' }).done((res) => {resolut(res); }).fail((res) => { afwijzen(res); }) }); } function testGetEdrCard() { return new Promise((resolve, weiger) => { setTimeout(() => {solving({ "NoValidEdrCardMessage": null, "HasValidAndRegisteredEdrCardMessage": "Uw Woolworths Rewards-kaarten zijn geaccepteerd.", " HasValidAndUnRegisteredEdrCardMessage": null, "IsStaffMemberMessage": null, "CardValidationResult": "NotApplicable", "CardNumber": "9355130014696", "Isprimary": true, "Password": null, "Status": "Geregistreerd", "ShopperId" : 4282500, "ValidatePassword": true, "Crn": "" }) }, 3000) }) } functie testNoEdrCard() { return new Promise((oplossen, weigeren) => { setTimeout(() => {resolve( {}) }, 3000) }) } function fetchEdrCardBalance(cardNumber) { if (!useTestAPI) { return getEdrCardBalance(cardNumber); } anders { return testEdrCardBalance(); } } function getEdrCardBalance(cardNumber) { return new Promise(function(oplossen, afwijzen) { $.ajax({ url: `https://www.woolworths.com.au/apis/ui/EdrCard/BalanceSummary?cardNumber=$ {cardNumber}`, type: 'GET', contentType: 'application/json' }).done((res) => {solving(res); }).fail((res) => { afwijzen(res); }) }); } laat testEdrBalance = 1622; function testEdrCardBalance() { return new Promise((oplossen, afwijzen) => { setTimeout(() => {solving({ "SaveForLaterPreference": { "Preference": "Automatic", "QffPoints": null, "PayOutDate": null, "RoundedCurrentVoucherBalance": 0, "IsLessThanMinimumBalance": false }, "Response": { "IsError": false, "Resultaat": { "ReturnCode": "0", "ErrorMessage": "" }, "ReturnCode" : "Succes", "LifeTimeEarn": "1", "LifeTimeRedeem": "0", "CurrentPointBalance": `${testEdrBalance}`, "CurrentVoucherBalance": "0", "NextVoucherExpiry": "2023-02-01 ", "QffVoucherBalance": null, "LifeTimeCreditEarn": "3", "LifeTimeCreditRedeem": "0", "CurrentCreditBalance": "3", "ErrorMessage": null }, "LifeTimeEarn": 1, "LifeTimeRedeem": 0 , "CurrentPointBalance": testEdrBalance, "CurrentVoucherBalance": 0, "NextVoucherExpiry": null, "LifeTimeCreditEarn": 3, "LifeTimeCreditRedeem": 0, "CurrentCreditBalance": 3, "IsError": false, "ErrorMessage": null, " DisplayErrorMessage": null }) }, 1000) }) } // wachtwoord tonen en verbergen wanneer op het oog wordt geklikt $(".password-with-eye").click(function() { if ($(this).parent (".password-textbox").find("input").attr("type") == "wachtwoord") { $(dit).parent(".password-textbox").find("input") .attr("type", "tekst"); $(dit).find("i").removeClass("iconAct-Visibility_Off").addClass("iconAct-Visibility"); } else { $(dit).parent(".password-textbox").find("input").attr("type", "wachtwoord"); $(dit).find("i").removeClass("iconAct-Visibility").addClass("iconAct-Visibility_Off"); } });

Osso Bucco Rundvlees | Woolworths (1)

# ${orderId}.

Bestelstatus

${bestellingStatus}.

Vervullingsmethode

${fulfilmentMethode}.

Besteldatum

${orderDatum}.

Actie 1 is

Order volgen

Actie 2 is

`); if(orderStatus !== "Geannuleerd") { fetchOrderDetails(orderId).then(res => { let AmendmentCutOffStoreTime = res.AmendmentCutOffStoreTime ? res.AmendmentCutOffStoreTime : ""; if(amendmentCutOffStoreTime) { editOrderByDateTime = moment(amendmentCutOffStoreTime).format( 'LT [on] dddd, D MMM'); // logica als het ophalen van de bestelling is verlopen, let ammendHtml = ""; // controleer of de sluitingsdatum vóór de huidige datum ligt if(moment(amendmentCutOffStoreTime).isBefore(moment()) ) { let projectedDeliveryStartTime = order.ProjectedDeliveryTime.StartTime ? moment(order.ProjectedDeliveryTime.StartTime).format('LT') : ""; let projectedDeliveryEndTime = order.ProjectedDeliveryTime.EndTime ? moment(order.ProjectedDeliveryTime.EndTime).format( 'LT'): ""; wijzigenHtml = `

Geschat tussen ${projectedDeliveryStartTime} en ${projectedDeliveryEndTime}.
`; }else { wijzigHtml = `

Je kan

Breng wijzigingen aan tot ${amendOrderByDateTime}.
`; // voeg de widget voor het wijzigen van mijn bestelling toe als deze vóór de sluitingstijd $('.item__action-panel').append(` Wijzig mijn bestelling`) } $(`.lux-order-item[data-order-id="${orderId}"] .lux-order-middle-section`) .append(amendHtml); } }); } else if (order.ProjectedDeliveryTime && order.ProjectedDeliveryTime.StartTime && order.ProjectedDeliveryTime.EndTime) { let projectedDeliveryStartTime = order.ProjectedDeliveryTime.StartTime ? moment(order.ProjectedDeliveryTime.StartTime).format('LT') : ""; laat projectedDeliveryEndTime = order.ProjectedDeliveryTime.EndTime ? moment(order.ProjectedDeliveryTime.EndTime).format('LT') : ""; laat wijzigenHtml = `

Leveringsvenster

Geschat tussen ${projectedDeliveryStartTime} en ${projectedDeliveryEndTime}.
`; $(`.lux-order-item[data-order-id="${orderId}"] .lux-order-middle-section`) .append(amendHtml); } if(isMultiOrder) {// update de titel van de sectie bestellingen om nr. weer te geven. aantal bestellingen $('.lux-my-orders-title').html(`Mijn bestellingen (${orderList.length})`); // stel de linker pos-waarde in voor de bestelkaart posValue = posValue + posShiftValue + 20; //20px ruimte tussen bestelkaarten // stel de punten in voor de bestelkaartcarrousel $('.my-orders-indicator').append(`

`); } if(orderList.length == index) { isOrderCardSetupDone = true; } }); if(isMultiOrder && isOrderCardSetupDone) {// update de titel van de sectie bestellingen om nr. weer te geven. aantal bestellingen $('.lux-my-orders-title').html(`Mijn bestellingen (${orderList.length})`); } } else { // vervang de container voor het laden van bestellingen door de container zonder bestellingen $('.my-orders.loading').replaceWith( `

U heeft momenteel geen bestellingen om weer te geven.
`); } }) .catch(err => { console.log('fout bij laden van bestellingen', fout); }); } } function getOrderStatusClass(orderStatus) { switch(orderStatus) { case "Geplaatst": return "geplaatst"; geval "Ontvangen": retour "ontvangen"; case "Voorbereiden": return "voorbereiden"; case "OnItsWay": retourneer "in-transit"; koffer "Bezorgd": koffer "Verzonden": retour "voltooid"; geval "Geannuleerd": retourneert "geannuleerd"; case "GedeeltelijkVerzonden": return "gedeeltelijkVerzonden"; standaard: retourneert "andere"; } } function getOrderStatusText(orderStatus, fulfilmentMethod) { switch(orderStatus) { case "Ontvangen": return "Bestelling ontvangen"; case "Bezig met voorbereiden": return "Bestelling voorbereiden"; case "Bereid": switch (fulfilmentMethod) { case "Ophalen": return "Klaar voor ophalen"; case "Direct opstarten": return "Ready"; standaard: return "Bestelling voorbereiden"; } case "OnItsWay": return "Onderweg"; geval "Bezorgd": retour "Bezorgd"; geval "Opgehaald": retour "Opgehaald"; geval "Verzonden": retour "Verzonden"; geval "Geannuleerd": retourneert "Geannuleerd"; geval "Gedeeltelijk verzonden": retour "Gedeeltelijk verzonden"; standaard: retourneer ""; } } function getFulfilmentMethodText(fulfilmentMethod) { switch(fulfilmentMethod) { case "Pickup": return "Pick up"; case "DriveUp": return "Direct opstarten"; standaard: // "Koerier" || "Express" retourneert "Levering"; } } $('body').on('klik', '.lux-orders-paginate-left-btn', function() { shiftOrders('right'); updateActiveCarouselDot('right'); enableDisableOrderCarouselButton(); }) $('body').on('klik', '.lux-orders-paginate-right-btn', function() { shiftOrders('left'); updateActiveCarouselDot('left'); enableDisableOrderCarouselButton(); }) function shiftOrders(direction /* left, right */) { $('.lux-order-item').each((index, item) => { let currentPosValue = $(item).css('left' ); let newPosValue = richting == 'links' ? parseInt(currentPosValue, 10) - posShiftValue : parseInt(currentPosValue, 10) + posShiftValue; $(item).css("left", `${newPosValue}px`); }) } laat currentActiveDotIndex = 0; functie updateActiveCarouselDot(richting /* links, rechts */) { $('.my-orders-indicator .dot').removeClass('actief'); currentActiveDotIndex = richting == 'links'? currentActiveDotIndex + 1: currentActiveDotIndex - 1; $(`.my-orders-indicator .dot:nth-child(${currentActiveDotIndex + 1})`).addClass('actief'); } function enableDisableOrderCarouselButton () { if(currentActiveDotIndex == 0) { $('.lux-orders-paginate-left-btn').prop('uitgeschakeld', true); } else { $('.lux-orders-paginate-left-btn').prop('uitgeschakeld', false); } if (currentActiveDotIndex == $('.lux-order-item').length - 1) { $('.lux-orders-paginate-right-btn').prop('uitgeschakeld', true); } else { $('.lux-orders-paginate-right-btn').prop('uitgeschakeld', false); } } // EINDE: FUNCTIES VAN INGELOGD GEBRUIKERSPANEEL

${foutbericht}

` $(errorHTML).insertAfter("#pagina2 .find-delivery h4.tab-heading"); } }) } function deliveryAddressUpdateFulfilment(selectedAddressId) { $.ajax({ url: `${url}/ui/Fulfilment`, type: 'POST', data: { "addressId":selectedAddressId, "fulfilmentMethod": "Courier" } }).then() => { getCustomerInfoAsync().then((res) => { totalData = res updateDeliveryTimeDisplay() updateDeliveryMethod() openDeliveryPickupSidePanel() }) }) } // open picktijd voor leveringszijpaneelfunctie openDeliveryPickupSidePanel() { $('.open-side.time-to').first().click() } // handmatige invoer van het bezorgadres $('body').on('click', '.addressSelector-enterManually ', function(e) { e.preventDefault() $('.delivery-warning').addClass('hide') showManualDeliveryAdressInput() }) function showManualDeliveryAdressInput() { $('.find-delivery').hide( ) $('#auto-delivery-buttons-container').hide() $('#manual-delivery-search').show() $('#manual-delivery-buttons-container').show() $('.previous-add').hide() $('#page2').addClass('manual') $('#page2').removeClass('auto') } functie hideManualDeliveryAdressInput() { $(' .find-delivery').show() $('#auto-delivery-buttons-container').show() $('#manual-delivery-search').hide() $('#manual-delivery- buttons-container').hide() $('#pagina2').removeClass('manual') $('#page2').addClass('auto') if (vorige adressen) { $('.find-delivery' ).hide() $('.previous-delivery, .add-address-button').show() $('.previous-add').hide() } } // knop om terug te keren naar zoeken naar automatische bezorging vanaf zoeken naar handmatige levering $('#manual-delivery-buttons-container .linkButton.fulfilment-button').click(function(e) { e.preventDefault() hideManualDeliveryAdressInput() }) // voeg klasse toe aan invoervakken bij invoer so labels blijven klein als ze tekst hebben $('#shared-text-input-11, #shared-text-input-12, input[name="Postcode"]').on('input', function() { let text = $(dit).val() if (text.length) { $(this).addClass('invoer-met-waarde') } if (!text.length) { $(dit).removeClass('invoer -with-value') } }) // haal de buitenwijken op voor de selectie wanneer u een postcode invoert voor handmatig zoeken naar bezorging $('input[name="Postcode"]').on('input', function() { let postcode = $(this).val() $('shared-dropdown[name="Voorstad"] select').empty() if (postcode.length >= 4) { retrieveSuburbsFromPostCode(postcode).then((res ) => { res.Response.forEach(option => { $('shared-dropdown[name="Voorstad"] select').append( `` ) }) }) } else { $('shared-dropdown[name="Voorstad"] select').append( `` ) } }) function retrieveSuburbsFromPostCode(postcode) { return $.ajax({ url: `${url}/ui/address/suburb/${postcode}`, type: 'GET' }) } // verwijder validatieberichten on input naar invoervelden voor handmatige levering $('shared-textbox[name="Street1"]').on('input', function() { $(this).find('shared-validation-messages'). hide() // als dit tekst bevat, voeg dan klasse toe let text = $(this).find('input').val() if (text.length) { $(this).addClass('input-with-value ') } else { $(this).removeClass('input-with-value') } }) $('shared-dropdown[name="Suburb"], shared-textbox[name="Postcode"]'). on('input', function() { $('shared-dropdown[name='Voorstad']').find('shared-validation-messages').hide() $('shared-textbox[name=' Postcode"]').find('shared-validation-messages').hide() }) // zoekformulierfunctie voor handmatige levering indienen manual_delivery() { let form = $('#page2.manual') $(form) .find('shared-validation-messages').hide() $(form).find('shared-dropdown[name="Suburb"]').removeClass('ng-invalid') $(form).find ('shared-textbox[name="Postcode"]').removeClass('ng-invalid') $(form).find('shared-textbox[name="Street1"]').removeClass('ng-invalid ') let street_address1 = $(form).find('input[name="Straat1"]').val(); let street_address2 = $(form).find('input[naam="Straat2"]').val(); let postcode = $(form).find('input[name="Postcode"]').val(); laat buitenwijk = $(form).find('select#shared-dropdown-input-4').val(); let suburbObject = { Tekst: $('#shared-dropdown-input-4').find(':selected').text(), Id: $('#shared-dropdown-input-4').find( ':selected').attr('data-id'), IsNonServiced: $('#shared-dropdown-input-4').find(':selected').attr('data-serviced') } let suburbId = $('#shared-dropdown-input-4').find(':selected').attr('data-id') let dataObject = { Postcode: postcode, Straat1: straat_adres1, Straat2: straat_adres2, Buitenwijk: suburbObject , SuburbId: suburbId } if (!street_address1 || !postcode || !suburb) { if (!street_address1) { $(form).find('input[name="Street1"]').siblings('shared-validatie -messages').show() $(form).find('shared-textbox[name="Street1"]').addClass('ng-invalid') } if (!postcode) { $(form).find ('input[name="Postcode"]').siblings('shared-validatie-messages').show() $(form).find('shared-textbox[name="Postcode"]').addClass( 'ng-invalid') } if (!suburb) { $(form).find('select#shared-dropdown-input-4').siblings('shared-validatie-messages').show() $(form ).find('shared-dropdown[name="Suburb"]').addClass('ng-invalid') } else { $('.addressSelectorManual-postcodeSuburbInput').removeClass('lege-drop') } } else { if (isUserLoggedIn) { manualDeliveryAddressCall(dataObject) } else { window.location.href = '/shop/securelogin' } } } $('body').on('click', '#page2.manual button[type= "submit"].shopper-action', function(e) { e.preventDefault() manual_delivery() }) $('.fms-form shared-address-selector-manual input').on('keypress', function (e) { if (e. Which == 13) { e.preventDefault() manual_delivery() } }) function manualDeliveryAddressCall(data) { $.ajax({ url: `${url}/ui/address/manual` , type: 'POST', contentType: 'application/json;', data: JSON.stringify(data) }).then(res => { let adresId = res.Address.AddressId deliveryAddressUpdateFulfilment(addressId) }) } // ophalen en opstarten // ophaaladres bij invoer vullen met lijstitems $('body').on('input', '#pickupAddressSelector, #pickupAddressSelectorBoot', function() { const pickup_or_boot = $(this) .closest('.pagina-hide').attr('id') === 'pagina3' ? 'pickup': 'boot' var searchVal = $(this).val() if (searchVal.length) { $(this).addClass('input-with-value') } if (!searchVal.length) { $ (this).removeClass('input-with-value') } $.ajax({ url: `${url}/ui/StoreLocator/Suburbs`, type: 'GET', data: { "SearchTerm": searchVal } }).then((res) => { $('ul.list.ng-star-inserted').remove() if (pickup_or_boot === 'pickup') $('

    ').insertAfter( '#pickup-results') if (pickup_or_boot === 'boot') $('

      ').insertAfter( '#boot-results') if (!res.Suburbs.length) { $('ul.list.ng-star-inserted').append( `

    • Geen buitenwijk gevonden.Zoeken opnieuw instellen
    • ` ) } if (res.Suburbs.length > 0) { if (pickup_or_boot === 'pickup') { res.Suburbs.forEach((voorstad, index) => { $('ul.list.ng-star- ingevoegd').append(`

    • ${suburb.SuburbStateString}

    • `) }) } if (pickup_or_boot === 'boot') { res.Suburbs.forEach((voorstad, index) => { $('ul.list.ng-star-inserted').append(`

    • ${suburb.SuburbStateString}

    • `) }) } } }) }) // zoekopdracht opnieuw instellen wanneer geen resultaten gevonden $('body').on('click', '.drawer .reset-search', function(e) { $('#pickupAddressSelector ').focus() e.preventDefault() $('#pickupAddressSelector').val('') $('#pickupAddressSelectorBoot').val('') inputIcons($(e.target)) $('ul .list.ng-star-inserted').remove() }) // een buitenwijk selecteren uit de lijst met buitenwijken om op te halen en op te starten $('body').on('click', '.suburb-list-item' , function() { const pickup_or_boot2 = $(this).closest('.page-hide').attr('id') === 'page3'? 'pickup': 'boot' const pickup_or_boot_api_value = $(this) .closest('.page-hide').attr('id') === 'page3'? 'Pickup': 'DriveUp' const postCode = $(this).data('postcode') if (pickup_or_boot2 == = 'pickup') { $('input#pickupAddressSelector').val(postCode) $('.pick-up-warning').addClass('hide') } if (pickup_or_boot2 === 'boot') { $ ('.direct-boot-warning').addClass('hide') $('input#pickupAddressSelectorBoot').val(postCode) } getListPickupStores({ postCode }) }) // haal alle winkels op die overeenkomen met een locatie en voeg deze toe ze naar de paginafunctie getListPickupStores(location) { return $.ajax({ url: `${url2}/v3/ui/fulfilment/stores`, type: 'GET', data: { ...location } }). then((res) => {//stel het eerste adres in als geselecteerde adres-ID if (res && Array.isArray(res) && res.length > 0 && res[0].AddressId) { adresIdItem = res[0].AddressId } $('.stores.ng-star-inserted').remove() $('#page3 fieldset').append( '

      ') const pickUpContent = (pickupOrDriveUp) => { if (pickupOrDriveUp === 'Pickup') { return ` Ophalen in de winkel` } if (pickupOrDriveUp === 'DriveUp') { return `Osso Bucco Rundvlees | Woolworths (2)Direct opstarten` } } res.forEach((voorstad, index) => { $('.stores.ng-star-inserted').append(`

      ${buitenwijkbeschrijving}

      ${voorstad.AdresText}

      ${pickUpContent(suburb.FulfilmentMethod)}

      ${voorstadafstand} km

      `) }) $('.list.ng-star-inserted').html('') }).then(() => {// verberg alle opties na de eerste 4 $('.suburb-list-item2 :gt(4)').hide() // selecteer standaard de eerste optie $('.suburb-list-item2:first input').prop("checked", true); // voeg "meer bekijken" toe button" indien nodig laat button = `` if ($('.suburb-list-item2').length > 5) { $(document).find('#page3 div.tab-content.ng-star-inserted . stores.ng-star-inserted').append( button) } // verberg bestelopties info $('#page3 .tab-content div.cvp.ng-star-inserted').hide() }) } // knop meer bekijken voor buitenwijken $(document).on('click', '.view-more-button', function() { const pickup_or_boot = $(this).closest('.page-hide').attr(' id') === 'page3' ? 'pickup': 'boot' if (pickup_or_boot === 'pickup') { $('.suburb-list-item2:hidden:lt(5)').show() if ($('.suburb-list-item2:hidden').length == 0) { $('.view-more-button').hide() $('.stores:last-child').css ('border', 'none') } } if (pickup_or_boot === 'boot') { $('.suburb-list-item3:hidden:lt(5)').show() if ($('. suburb-list-item3:hidden').length == 0) { $('.view-more-button').hide() } } }) let adresIdItem; laat vervullingMethode; // selecteer een ophaal- of opritlocatie uit het menu $('body').on('click', '.suburb-list-item2', function() { adresIdItem = $(this).data('id') fulfilmentMethod = $(this).data('fulfilmentMethod') // invoerpictogrammen bijwerken $('.suburb-list-item2 input').prop("checked", false); $(this).find('input' ).prop("checked", true); }) // pick-up save-knop $('body').on('click', '.pickup-save', function(e) { e.preventDefault(e) if ($('#pickupAddressSelector').val() != '' || $('.suburb-list-item2').length) { $('.pick-up-warning').addClass('hide' ) $(this).find('.spinner-button').removeClass('hide') $(this).find('.button-text').addClass('hide') pickupMethodFulfilmentCall(fulfilmentMethod) let _this = $(this) setTimeout(function() { $(_this).find('.spinner-button').addClass('hide') $(_this).find('.button-text').removeClass('hide ') }, 5000) } else { $('.pick-up-warning').removeClass('hide') } }) function pickupMethodFulfilmentCall(pickupMethod) { if (addressIdItem) { if (isUserLoggedIn) { $.ajax( { url: `${url}/ui/Fulfilment`, type: 'POST', data: { adresId: adresIdItem, fulfilmentMethod: pickupMethod } }).then(() => { getCustomerInfoAsync().then((res) => { totalData = res updateDeliveryTimeDisplay() updateDeliveryMethod() // open tijd selecteer modaal openDeliveryPickupSidePanel() }) }).then(() => { }) } else { window.location.href = '/shop/securelogin' } } } // update weergavefunctie bezorg-/ophaalmethode updateDeliveryMethod() { if (totalData.GetDeliveryInfoRequest && totalData.GetDeliveryInfoRequest.DeliveryMethod) { $('.linkButton.fulfilment-button.ng-star-inserted.back-button') .hide() } if (totalData.GetDeliveryInfoRequest && (totalData.GetDeliveryInfoRequest.DeliveryMethod == 'Koerier' || totalData.GetDeliveryInfoRequest.DeliveryMethod == 'Null')) { $('.delivery-fee').show() } if (isUserLoggedIn) { if (totalData && totalData.GetDeliveryInfoRequest && totalData.GetDeliveryInfoRequest.DeliveryMethod) { let deliveryDisplayText = totalData.GetDeliveryInfoRequest?.Adres?.Beschrijving ? totalData .GetDeliveryInfoRequest?.Address?.Description: totalData.GetDeliveryInfoRequest?.Address ?.AddressText ? totalData.GetDeliveryInfoRequest?.Address?.AddressText : "" $('#page1').remove() if (totalData.GetDeliveryInfoRequest.DeliveryMethod == 'Ophalen') { $('.delivery-fee').hide() $('#deliveryContent, #delivery_display_mobile').html(`

      Ophalen: ${ deliveryDisplayText} Ophalen ${deliveryDisplayText}

      `) } else if (totalData.GetDeliveryInfoRequest.DeliveryMethod == 'DriveUp') { $('.delivery-fee').hide() $('#deliveryContent, #delivery_display_mobile').html(`

      Osso Bucco Rundvlees | Woolworths (3)

      Direct opstarten: ${deliveryDisplayText} Direct ophalen om op te starten ${deliveryDisplayText}

      `) } else { $('.delivery-fee').show() $('#deliveryContent, #delivery_display_mobile').html(`

      Leveren aan: ${deliveryDisplayText} Levering aan ${deliveryDisplayText}

      `) } $(".header-fulfilment__section-arrow.open-side.deliver-to .md-min-hide").html(' Wijzigen ') } } } // update levering / afhalen gekozen tijdweergavefunctie updateDeliveryTimeDisplay( ) { let delivery_pickup_text = 'Wanneer past? ' const data = totalData.GetDeliveryInfoRequest let dateString; if (data.ReservedDate.Date) { let time_format_day = moment(data.ReservedDate.Date).format('ddd'); delivery_pickup_text = 'Gekozen tijd: ' dateString = `

      ` } anders { dateString = `

      `; } $('#select_a_time, #select_a_time_mobile').html('') $('#select_a_time, #select_a_time_mobile').append(dateString) if (data.ReservedDate.Date) { $(".header-fulfilment__section-arrow .open-side.time-to .md-min-hide").html(' Wijzigen ') } } // algemeen // voorkomen dat formulieren worden ingediend bij enter $('.fms-form').submit(function(e ) { e.preventDefault() }) // functie om alleen getalinvoerfunctie validate(evt) toe te staan ​​{ var theEvent = evt || venster.gebeurtenis; // Behandel plakken if (theEvent.type === 'paste') {key = event.clipboardData.getData('text/plain'); } else { // Behandel toetsaanslag var key = theEvent.keyCode || de gebeurtenis.welke; sleutel = String.fromCharCode(sleutel); } var regex = /[0-9]|\./; if (!regex.test(sleutel)) { theEvent.returnValue = false; if (theEvent.preventDefault) theEvent.preventDefault(); } } // sluit de vervolgkeuzelijst met zoekopties wanneer u er vanaf klikt $('body').on('blur', '#deliveryAddressSelector, #pickupAddressSelector, #pickupAddressSelectorBoot', function() { setTimeout( function() { $(' ul.list.ng-star-inserted').hide() }, 500) }); // zoekopties opnieuw openen wanneer focus terug $('body').on('focus', '#deliveryAddressSelector, #pickupAddressSelector, #pickupAddressSelectorBoot', function() { $('ul.list.ng-star-inserted') .show() }); // zoekinvoer $('#pickupAddressSelectorBoot, #pickupAddressSelector, #deliveryAddressSelector').on('input', function(e) { inputIcons($(this)) }) $('#pickupAddressSelectorBoot, #pickupAddressSelector, #deliveryAddressSelector' ).on('focus', function(e) { inputIcons($(this)) }) $('#pickupAddressSelectorBoot, #pickupAddressSelector, #deliveryAddressSelector').on('blur', function(e) { inputIcons($ (this)) }) // schakel tussen het geolocatiepictogram en de duidelijke tekstpictogramfunctie inputIcons(_this) { let _thisParent = _this.closest('shared-pickup-address-selector') let searchTerm = $(_thisParent).find( 'input').val() if (typeof zoekTerm != 'ongedefinieerd' && zoekTerm.lengte > 0) { if (!$(_thisParent).find('.clear-text').is(':visible') ) { $(_thisParent).find('shared-textbox').append( `

      ` ) } $('.geolocate-icon').hide() } if (typevan zoekTerm != 'ongedefinieerd' && !searchTerm.length) { $(_thisParent).find('.clear-text').remove( ) $('.geolocate-icon').show() } } $('body').on('klik', 'shared-pickup-address-selector .clear-text', function() { $(this ).siblings('input').val('') inputIcons($(this).siblings('input')) }) // geolocatie let pickupType; // haal de gebruikerslocatie op, indien mogelijk, functie getLocation() {if (navigator.geolocation) {navigator.geolocation.getCurrentPosition(getMatchingLocations); // getMatchingLocations() } else { alert("Geolocatie wordt niet ondersteund door deze browser."); } } function getMatchingLocations(position) { getListPickupStores(pickupType, { latitude: position.coords.latitude, longitude: position.coords.longitude }) } let pickup_text = 'Zoeken naar ophaallocatie'; let direct_boot_text = 'Zoek naar een directe opstartlocatie'; let user_location_text = 'Uw locatie gebruiken'; $(document).on('keypress ', 'input[name='pickupAddressSelector']', function() { if ($('#pickupAddressSelector', this)) { $(this).siblings('label.ng -star-inserted').text(pickup_text) } else if ('#pickupAddressSelectorBoot') { $(this).siblings('label.ng-star-inserted').text(direct_boot_text) } }) $(document) .on('klik', function(e) { if (!$(e.target).is('#geolocationiconDriveUp') && !$(e.target).is('#geolocationiconPickup')) return pickupType = $ (e.target).is('#geolocationiconDriveUp') ? 'DriveUp': 'Ophalen' if (pickupType == 'DriveUp') { $('#geolocationiconDriveUp').siblings('shared-typeahead').find( 'label.ng-star-inserted').text(user_location_text) } else { $('#geolocationiconPickup').siblings('shared-typeahead').find('label.ng-star-inserted').text( user_location_text) } e.preventDefault(e) getLocation() }) $(document).on("klik", ".add-address-button", function(e) { e.preventDefault(); $('.previous -levering, .add-address-button').hide() $('.find-delivery, .previous-add').show() $('#manual-delivery-search').hide() $( '#manual-delivery-buttons-container').hide() $('#page2').removeClass('manual') }); $(document).on("click", ".previous-add", function(e) { e.preventDefault(); $('.previous-delivery, .add-address-button').show() $ ('.find-delivery, .previous-add').hide() $('#manual-delivery-search').hide() $('#manual-delivery-buttons-container').hide() $ ('#pagina2').removeClass('handleiding') });

      ' ) } getal = $('#afternoonTime .appendTimeHere .time-slot-container').length - 3 $('#afternoonTime .appendTimeHere .time-slot-container').length > 3 ? $( '#afternoonTime .appendTimeHere').append( `` ) : null $('#afternoonTime .appendTimeHere .time-slot-container').slice(3).hide() if (getal == -3) { $('#afternoonTime.appendTimeHere').append( '

      Alle middaguren zijn gesloten

      ' ) } getal = $('#eveningTime .appendTimeHere .time-slot-container').length - 3 $('#eveningTime .appendTimeHere .time-slot-container').length > 3 ? $('#eveningTime .appendTimeHere') .append( `` ) : null $('#eveningTime .appendTimeHere .time-slot-container').slice(3).hide() if (getal == -3) { $('#eveningTime.appendTimeHere').append( '

      Alle avonduren zijn gesloten

      ' ) } if (pre_selected) { if (totalData.GetDeliveryInfoRequest.ReservedTime.Id) { const tijd = totalData.GetDeliveryInfoRequest.ReservedTime.Id; $(`.times-column .time-slot-list input[id="` + tijd + `"]`).prop('gecontroleerd', true); } } }) $(document).on('klik', '.view-more-button-time ', function(e) { e.preventDefault(e) $(this).closest('.appendTimeHere'). find('.time-slot-container').show() $(this).hide() }) // update tijdslotkeuze let timeslotId; $(document).on('input', '.time-slot-container input.wowRadio ', function() { timeslotId = $(this).attr('id') $('.hide-select-time' ).hide() $('.show-select-time').show() const data = totalData.GetDeliveryInfoRequest const adresId = data.Address.AddressId const fulfilmentMethod = data.DeliveryMethod const windowDate = time_id_match $.ajax({ url : `${url}/ui/Fulfilment`, type: 'POST', contentType: 'application/json', dataType: "json", data: JSON.stringify({ adresId, fulfilmentMethod, windowDate, timeslotId }) }) .then(() => { getCustomerInfo() }) }) $(document).on('klik', '.time-save', function() { $('.drawer').removeClass('is- open') $('.mask').removeClass('is-gemaskeerd') $('body').removeClass('overflow-none') })

      ` ) $(this).find('.product-tile-v2--image img').addClass('is-niet beschikbaar'); } else { $(this).find('.cartControls-addButton').show() $(this).find(`.cartControls-inTrolleyWrapper`).remove() $(this).find(`.cart- item-niet beschikbaar`).remove() } }); } // update winkelwagen met extra functie voor het vullen van winkelwagengegevens updateCart() { const data = cartData $('.item-count-amount').html(data.TotalTrolleyItemQuantity) // voeg items toe aan winkelwagen const items = data.AvailableItems const niet beschikbaarItems = data.UnavailableItems populateRHSCart(items, onbeschikbaarItems) // update totaal const totaal = data.Totals.SubTotal; const totalSavings = data.Totals.TotalSavings.toFixed(2); const numberItems = data.TotalTrolleyItemQuantity; const alledaagseMarketTotal = data.Totals.MarketTotal; const wolworthstTotal = data.Totals.WoolworthsTotal; updateCartTotal(total, totalSavings, numberItems, everydayMarketTotal, WoolworthstTotal) } // vul de RHS-winkelwagen met de productitems // toon anders als items niet beschikbaar zijn of beschikbare functie populateRHSCart(availableItems, onbeschikbaarItems) { $('wow-cart-products . auto_products-in-cart').html('') $('#unavailable-items-container').remove() if (unavailableItems.length > 0) { $('wow-cart-products').prepend( `

      Deze artikelen zijn momenteel niet beschikbaar

      ` ) } niet beschikbaarItems.forEach((item) => { $('wow-cart-products #unavailable-items-container .cart-items-container').append( `

      ${item.Name} ${item.PackageSize}

      Dit artikel isNiet beschikbaarof niet op voorraad

      ` ) }) beschikbaarItems.forEach((item) => { laat prijs = item.SalePrice.toFixed(2) laat priceSml = prijs.split('.')[1] laat prijsLrg = prijs.split('.') [0] $('wow-cart-products.auto_products-in-cart').append(`

      ${item.Korting ? '

      REDDEN$' + item.Discount.toFixed(2) + '

      ': ''}

      ${item.Name} ${item.PackageSize}

      $${priceLrg}

      .${priceSml}

      ${item.SalePrice.toFixed(2) != (item.ListPrice * item.Quantity).toFixed(2) ? 'Was $' + (item.ListPrice * item.Quantity).toFixed(2) + '': ''}

      `) }) if ((availableItems.length + onbeschikbareItems.length) == 0) { let insert_empty = `Osso Bucco Rundvlees | Woolworths (6)

      Uw winkelwagen is leeg

      Ga door met winkelen om te bladeren en naar items te zoeken.

      ` $('.checkout-buttons').addClass('is-uitgeschakeld') $('.scroll-wrapper .cart-content').hide() $('.scroll-wrapper .empty-cart-container' ).show() $('.scroll-wrapper .empty-cart-container').html(insert_empty) } else { $('.checkout-buttons').removeClass('is-disabled') $('. scroll-wrapper .cart-content').show() $('.scroll-wrapper .empty-cart-container').html('') $('.scroll-wrapper .empty-cart-container'). hide() } } // klik op de knop Doorgaan met winkelen in winkelwagen $('body').on('click', '.empty-cart-container button', function() { if (shopping_pages) { tracking_click_continue_shopping_button() } } ) // update het totaal van het winkelwagentje in de header en onderaan de rhs winkelwagenfunctie updateCartTotal(total, TotalSavings, numberItems, everydayMarketTotal, WoolworthstTotal) { if (total.toFixed(2) == 0.00) { $('.order-total- nummer.huidige').text(`$00.00`); $('.wx-header-checkout-bedrag-sr').text(`$00.00`); $('.wx-header-checkout-plural-sr').text('item'); $('.winkelwagen-afrekenen-totaal__valuta').text(`$0`); $('.headerCheckout-cartButtonTotal').text(`$00.00`); $('.lux-alledaagse-marktprijs').text(`$0`); $('.lux-woolworths-prijs').text(`$0`); updateCartAmountIcon(aantalItems); } else { $('.order-total-number.current').text(`$${total.toFixed(2)}`); $('.wx-header-checkout-bedrag-sr').text(`$${total.toFixed(2)}`); $('.cart-checkout-total__currency').text(`$${total.toFixed(2)}`); $('.headerCheckout-cartButtonTotal').text(`$${total.toFixed(2)}`); $('.lux-everyday-market-price').text(`$${everydayMarketTotal > 0 ? alledaagseMarketTotal.toFixed(2) : 0}`); $('.lux-woolworths-price').text(`$${woolworthstTotal > 0 ? WoolworthstTotal.toFixed(2) : 0}`); if(numberItems > 1) { $('.wx-header-checkout-plural-sr').text('items'); } else { $('.wx-header-checkout-plural-sr').text('item'); } updateCartAmountIcon(numberItems); } $('.cart-totalSavings').remove() if (!!+TotalSavings) { $('. saving-count-container .total- savings').remove() const savingHTML = ` Totaal bespaard: $${Totalebesparingen}` $('. saving-count-container').prepend( savingsHTML) } function updateCartAmountIcon(numberItems) { if(numberItems > 0) {// desktop $('.wx-fs-header__checkout-quantityPill .quantity-pill- nummer.huidig').text(nummerItems); $('.wx-header-checkout-quantity-sr').text(numberItems); // mobiel $('.headerCheckout-cartButtonIcon').html(`

      ${aantalItems}

      `); $('.wx-fs-header__checkout-quantityPill').removeClass('wx-fs-header__checkout-quantityPillHidden'); } else { $('.wx-fs-header__checkout-quantityPill').addClass('wx-fs-header__checkout-quantityPillHidden'); } } } // als de gebruiker WOW geen beloningsfunctie heeft insertNoReward() { $('.cartLoyalty-container').html('') const noRewardHTML = `

      Verdien punten in deze winkelOsso Bucco Rundvlees | Woolworths (7)

      Verzamel punten in deze winkel

      Koppel de Everyday Rewards-kaart

      ` $('.cartLoyalty-container').html(noRewardHTML) } // als de gebruiker de WOW-beloningsfunctie heeft insertReward(rewardData, cartTotal) { $('.cartLoyalty-container').html('') if (rewardData ) { const currentBalance = cartTotal let rewardHTML if (rewardData.WowRewardsToSpend > 0) { rewardHTML = `

      Osso Bucco Rundvlees | Woolworths (8)

      Everyday Rewards, bij de volgende winkel

      Osso Bucco Rundvlees | Woolworths (9) $${rewardData.WowRewardsToSpend}

      volgende winkel

      Dagelijkse beloningen die u verdient

      Osso Bucco Rundvlees | Woolworths (10) ${currentBalance} punten

      Jij verzamelt

      ` } anders { rewardHTML = `

      Dagelijkse beloningen die u verdient Osso Bucco Rundvlees | Woolworths (11)

      Osso Bucco Rundvlees | Woolworths (12) ${currentBalance} punten

      Jij verzamelt

      ` } $('.cartLoyalty-container').html(rewardHTML) } } // controleer of beloningen van toepassing zijn op de gebruikersgegevensfunctie checkRewardStatus() { if (isUserLoggedIn) { const rewardData = cartData.WowRewardsSummary const cartTotal = Math.ceil (cartData.Totals.SubTotal) // als de gebruiker geen beloningskaart heeft if (rewardData && !rewardData.IsWowRewardsCardRegistered) { insertNoReward() } // als de gebruiker wel een beloningskaart heeft if (rewardData && rewardData.IsWowRewardsCardRegistered) { insertReward(rewardData, cartTotal) } } } // opslaan in winkelwagenlijstfunctie savingButton() { const savingButtonHTML = '

      Opgeslagen

      ' $('button.cartSaveList-saveButton').show() $('button.cartSaveList-saveButton span').hide() $('.cartSaveList-saveButton', document).prop('uitgeschakeld', true) $('button.cartSaveList-saveButton').append(savedButtonHTML) setTimeout(functie revertToSaveButton() { $('button.cartSaveList-saveButton').children('.cartSaveList-SavedContainer').remove( '.cartSaveList-SavedContainer ') $('button.cartSaveList-saveButton span').show() }, 2000) } const clearProductsFromCartCall = function() { $.ajax({ url: `${url}/ui/Trolley/Clear`, type : 'POST' }).then(res => { cartData = res; updateCartProductsRewards() }) } // populate save cart const populateSaveCartButton = function() { $('#save-remove-container').remove() const data = cartData.AvailableItems if (data.length) { const html = `
      ` $('.cart-content').append(html) } else { $('#save-remove-container').remove() } } // *********** ******************** evenementen ****************************** ** // update item ajax call var updateItemTimeout; const updateItemAjax = function(stockcode, newQuantity, checkMainProd, checkSimilarProd) { $.ajax({ url: `${url}/ui/Trolley/UpdateItem`, type: "POST", data: { stockcode, aantal: newQuantity } } ).then((res) => { cartData = res updateCart() if (checkMainProd) checkIfMainProdInCart() if (checkSimilarProd) checkIfSimilarProdInCart() checkRewardStatus() // alleen winkelen volgen if (shopping_pages) { if (newQuantity > 0) tracking_update_item_in_cart (stockcode, newQuantity) if (newQuantity == 0) tracking_remove_item_from_cart(stockcode, newQuantity) } }) } // voeg item toe aan winkelwagen door op de knop te klikken $(document).on('click', '.cartControls-addButton', function () { const id = $(this).data('sku') addToCartRequest(id) }) // verwijder item uit winkelwagen $('body').on('click', '.cart-item .iconAct- Close_Cancel', function() { const stockCode = $(this).closest('.cart-item').data('stockcode') $.ajax({ url: `${url}/ui/Trolley/Remove` , type: 'POST', data: { Stockcode: stockCode } }).then(res => { if (shopping_pages) { tracking_remove_item_from_cart(stockCode, 0) } cartData = res updateCartProductsRewards() }) }) let cart_quantity_debounce_time = 500; // update aantal items in winkelwagen $('body').on('click', '.cart-item .cartControls-quantityButton', function() { const stockCode = $(this).closest('.cart- item').data('voorraadcode') const supplyLimit = $(dit).closest('.cart-item').data('aanbodlimiet') const input = $(dit).siblings('input') const step = parseFloat($(dit).siblings('input').attr('stap')) const waarde = parseFloat($(dit).siblings('input').val()) if ($(dit ).closest('.cartControls-incrementButton').length) {// voorkom het toevoegen van producten voorbij de aanbodlimiet if((value + step) > supplyLimit) { $(this).attr('disabled', 'disabled'); return } $(input).val(waarde + stap) if((waarde + stap) === supplyLimit) { $(this).attr('uitgeschakeld', 'uitgeschakeld'); } //debounce clearTimeout(updateItemTimeout) ; updateItemTimeout = setTimeout(updateItemAjax, cart_quantity_debounce_time, stockCode, waarde + stap, true, true); } if ($(this).closest('.cartControls-decrementButton').length) { if (waarde - stap > -1) { $(input).val(waarde - stap) //debounce clearTimeout(updateItemTimeout); updateItemTimeout = setTimeout(updateItemAjax, cart_quantity_debounce_time, stockCode, waarde - stap, waar, waar); } } }) // update aantal items voor hoofdproduct $('body').on('click', '.main-product .cartControls-quantityButton', function() { const supplyLimit = $(this).closest ('.main-product').data('aanbodlimiet') const stockCode = $('.main-product .cartControls-addButton').data('sku') const input = $(this).siblings( 'input') const step = parseFloat($(this).siblings('input').attr('step')) const waarde = parseFloat($(this).siblings('input').val()) let newVal = 0; if ($(this).closest('.cartControls-incrementButton').length) { newVal = waarde + stap } if ($(this).closest('.cartControls-decrementButton').length) { newVal = waarde - stap } if (newVal >= 0 && newVal <= 36) {// voorkomen dat producten worden toegevoegd voorbij de aanbodlimiet if(newVal > supplyLimit) { $(this).attr('disabled', 'disabled'); return } if(newVal === supplyLimit) { $(this).attr('disabled', 'disabled'); } $(input).val(newVal) clearTimeout(updateItemTimeout); updateItemTimeout = setTimeout(updateItemAjax, cart_quantity_debounce_time, stockCode, newVal, waar, waar); // update vergelijkbare producten $(`.sub-product[data-sku="${stockCode}"]`).find('.cartControls-quantityInput').val(newVal) } }) // update aantal items voor vergelijkbaar product $('body').on('click', '.sub-product .cartControls-quantityButton', function() { const supplyLimit = $(this).closest('.sub-product'). data('aanbodlimiet') const stockCode = $(dit).closest('.sub-product').data('sku') const input = $(dit).siblings('input') const step = parseFloat ($(dit).siblings('input').attr('stap')) const waarde = parseFloat($(this).siblings('input').val()) if ($(this).closest( '.cartControls-incrementButton').length) {// voorkomen dat producten worden toegevoegd voorbij de aanbodlimiet if((waarde + stap) > supplyLimit) { $(this).attr('disabled', 'disabled'); return } $( input).val(waarde + stap) if((waarde + stap) === supplyLimit) { $(this).attr('disabled', 'disabled'); } //debounce clearTimeout(updateItemTimeout); updateItemTimeout = setTimeout (updateItemAjax, cart_quantity_debounce_time, stockCode, waarde + stap, true, true); } if ($(this).closest('.cartControls-decrementButton').length) { if (waarde - stap > -1) { $(input ).val(waarde - stap) //debounce clearTimeout(updateItemTimeout); updateItemTimeout = setTimeout(updateItemAjax, cart_quantity_debounce_time, stockCode, waarde - stap, waar, waar); } } }) $(document).on('click', '#order-review-button', function() { const niet beschikbaarItems = cartData.UnavailableItems if (unavailableItems.length) { const niet beschikbaarStockCodes = niet beschikbaarItems.map(item = > item.Stockcode) $.ajax({ url: `${url}/ui/Trolley/RemoveItems`, type: 'POST', contentType: 'application/json;', data: JSON.stringify({ Stockcodes: [ ...unavailableStockCodes] }) }).then(res => { cartData = res updateCartProductsRewards() }) } }) // winkelwagen opslaan als lijstknop $('body').on('click', '.cartSaveList -button', function() { $(this).hide() $('.product-actionsClearCart').hide() const listInputHTML = `

      Bewaar winkelwagen als lijst

      ` $(listInputHTML).insertAfter($(this)) if (shopping_pages) { tracking_click_save_to_list_checkout_panel() } }) $(document).on('input', '#shared-text-input-8', function() { $('shared-validation-messages').hide() // if no value if ($(this).val() != '') { $('#cartSaveList-input .clear-text').addClass ('typing-change') $(this).addClass('input-with-value') $('.cartSaveList-saveButton', document).prop('uitgeschakeld', false) } else { $('#cartSaveList -input .clear-text').removeClass('typing-change') $(this).removeClass('input-with-value') $('.cartSaveList-saveButton', document).prop('uitgeschakeld', true) } }) $(document).on('klik', '.cartSaveList-input .clear-text', function() { $('.cartSaveList-editing').remove() $('.cartSaveList- button._saveCartListInitial').click() }) // winkelwagen opslaan als lijstinvoer $('body').on('click', '.cartSaveList-saveButton', function(e) { e.preventDefault() $( '.loading-button').show() $('button.cartSaveList-saveButton').hide() if (shopping_pages) { tracking_click_save_after_user_enter_list_name_cart() } if (isUserLoggedIn) { const Name = $('#shared-text- input-8').val() $.ajax({ url: `${url}/ui/Trolley/SaveAsList`, type: 'POST', contentType: 'application/json;', gegevens: JSON.stringify( { Naam }) }).then((res) => { if (!res.Success) { $('shared-validation-messages').hide() let msg = res.Message $('shared-validation- messages .validationMessages-text').text(`${msg}`) $('shared-validatie-messages').show() $('.loading-button').hide() $('button.cartSaveList -saveButton').show() $('.cartSaveList-saveButton', document).prop('uitgeschakeld', false) } if (res.Success) { $('.loading-button').hide() savingButton () updateListItems() } }) } else { window.location.href = 'https://www.woolworths.com.au/shop/securelogin' } }) // sluitknop --- voeg na succesvolle lijst $( toe 'body').on('click', '.cartSaveList-closeSavedButton', function() { $('shared-cart-save-list').html( `` ) }) // knop winkelwagen annuleren $(' body').on('klik', '.cartSaveList-cancelButton', function(e) { e.preventDefault() $('.cartSaveList-button').show() $('.cartSaveList-editing'). remove() $('.product-actionsClearCart').show() }) // verwijder alle prods-knop $('body').on('click', '.linkButton.product-actionsClearCart', function() { consthtml = `

      Weet u zeker dat u alle producten uit de winkelwagen wilt verwijderen?

      ` $('.verwijder-alle-items-container').append(html) $('.verwijder-alle-items-container').show() $('.cart-contents').hide() / / tracking if (shopping_pages) { tracking_click_remove_all_button() } }) // verwijder alle prods cancel $('body').on('click', '.clear-cart-container .linkButton', function() { $(' .remove-all-items-container').html('') $('.remove-all-items-container').hide() $('.cart-contents').show() }) // verwijder alle prods ja $('body').on('click', '.clear-cart-container .primary.m', function() { clearProductsFromCartCall() if (shopping_pages) { tracking_click_remove_all_confirmation_button() } setTimeout(function( ) { $('.remove-all-items-container').hide() $('.cart-contents').show() }, 500); }) // besteloverzicht toggle $('.cart- checkout-summary__heading').click(function() { $('.cart-checkout-summary__content').toggleClass('is-open') $(this).find('i').toggleClass('iconAct-Chevron_Up iconAct-Chevron_Down') }) // klik op de afrekenknop if (shopping_pages) { $('.checkout-top').click(function() { tracking_click_checkout_top_button() }) $('.checkout-bottom').click (functie() {tracking_click_checkout_bottom_button() }) }

      References

      Top Articles
      Latest Posts
      Article information

      Author: Gregorio Kreiger

      Last Updated: 09/16/2023

      Views: 6350

      Rating: 4.7 / 5 (57 voted)

      Reviews: 88% of readers found this page helpful

      Author information

      Name: Gregorio Kreiger

      Birthday: 1994-12-18

      Address: 89212 Tracey Ramp, Sunside, MT 08453-0951

      Phone: +9014805370218

      Job: Customer Designer

      Hobby: Mountain biking, Orienteering, Hiking, Sewing, Backpacking, Mushroom hunting, Backpacking

      Introduction: My name is Gregorio Kreiger, I am a tender, brainy, enthusiastic, combative, agreeable, gentle, gentle person who loves writing and wants to share my knowledge and understanding with you.