1typeof ShopifyAPI=="undefined"&&(ShopifyAPI={});function attributeToString(attribute){return typeof attribute!="string"&&(attribute+="",attribute==="undefined"&&(attribute="")),jQuery.trim(attribute)}ShopifyAPI.onCartUpdate=function(cart){},ShopifyAPI.updateCartNote=function(note,callback){var $body2=$(document.body),params={type:"POST",url:"/cart/update.js",data:"note="+attributeToString(note),dataType:"json",beforeSend:function(){$body2.trigger("beforeUpdateCartNote.ajaxCart",note)},success:function(cart){typeof callback=="function"?callback(cart):ShopifyAPI.onCartUpdate(cart),$body2.trigger("afterUpdateCartNote.ajaxCart",[note,cart])},error:function(XMLHttpRequest2,textStatus2){$body2.trigger("errorUpdateCartNote.ajaxCart",[XMLHttpRequest2,textStatus2]),ShopifyAPI.onError(XMLHttpRequest2,textStatus2)},complete:function(jqxhr,text){$body2.trigger("completeUpdateCartNote.ajaxCart",[this,jqxhr,text])}};jQuery.ajax(params)},ShopifyAPI.onError=function(XMLHttpRequest,textStatus){var data=eval("("+XMLHttpRequest.responseText+")");data.message&&alert(data.message+"("+data.status+"): "+data.description)},ShopifyAPI.addItemFromForm=function(form,callback,errorCallback){var $body2=$(document.body),params={type:"POST",url:"/cart/add.js",data:jQuery(form).serialize(),dataType:"json",beforeSend:function(jqxhr,settings2){$body2.trigger("beforeAddItem.ajaxCart",form)},success:function(line_item){typeof callback=="function"?callback(line_item,form):ShopifyAPI.onItemAdded(line_item,form),$body2.trigger("afterAddItem.ajaxCart",[line_item,form])},error:function(XMLHttpRequest2,textStatus2){typeof errorCallback=="function"?errorCallback(XMLHttpRequest2,textStatus2):ShopifyAPI.onError(XMLHttpRequest2,textStatus2),$body2.trigger("errorAddItem.ajaxCart",[XMLHttpRequest2,textStatus2])},complete:function(jqxhr,text){$body2.trigger("completeAddItem.ajaxCart",[this,jqxhr,text])}};jQuery.ajax(params)},ShopifyAPI.getCart=function(callback){$(document.body).trigger("beforeGetCart.ajaxCart"),jQuery.getJSON("/cart.js",function(cart,textStatus2){typeof callback=="function"?callback(cart):ShopifyAPI.onCartUpdate(cart),$(document.body).trigger("afterGetCart.ajaxCart",cart)})},ShopifyAPI.changeItem=function(line,quantity,callback){var $body2=$(document.body),params={type:"POST",url:"/cart/change.js",data:"quantity="+quantity+"&line="+line,dataType:"json",beforeSend:function(){$body2.trigger("beforeChangeItem.ajaxCart",[line,quantity])},success:function(cart){typeof callback=="function"?callback(cart):ShopifyAPI.onCartUpdate(cart),$body2.trigger("afterChangeItem.ajaxCart",[line,quantity,cart])},error:function(XMLHttpRequest2,textStatus2){$body2.trigger("errorChangeItem.ajaxCart",[XMLHttpRequest2,textStatus2]),ShopifyAPI.onError(XMLHttpRequest2,textStatus2)},complete:function(jqxhr,text){$body2.trigger("completeChangeItem.ajaxCart",[this,jqxhr,text])}};jQuery.ajax(params)};var ajaxCart=(function(module,$){"use strict";var init,loadCart,settings,isUpdating,$body,$formContainer,$addToCart,$cartCountSelector,$cartCostSelector,$cartContainer,$drawerContainer,updateCountPrice,formOverride,itemAddedCallback,itemErrorCallback,cartUpdateCallback,buildCart,cartCallback,adjustCart,adjustCartCallback,createQtySelectors,qtySelectors,validateQty;return init=function(options){settings={formSelector:'form[action^="/cart/add"]',cartContainer:"#CartContainer",addToCartSelector:'input[type="submit"]',cartCountSelector:null,cartCostSelector:null,moneyFormat:"$",disableAjaxCart:!1,enableQtySelectors:!0},$.extend(settings,options),$formContainer=$(settings.formSelector),$cartContainer=$(settings.cartContainer),$addToCart=$formContainer.find(settings.addToCartSelector),$cartCountSelector=$(settings.cartCountSelector),$cartCostSelector=$(settings.cartCostSelector),$body=$(document.body),isUpdating=!1,settings.enableQtySelectors&&qtySelectors(),!settings.disableAjaxCart&&$addToCart.length&&formOverride(),adjustCart()},loadCart=function(){$body.addClass("drawer--is-loading"),ShopifyAPI.getCart(cartUpdateCallback)},updateCountPrice=function(cart){$cartCountSelector&&($cartCountSelector.html(cart.item_count).removeClass("hidden-count"),cart.item_count===0&&$cartCountSelector.addClass("hidden-count")),$cartCostSelector&&$cartCostSelector.html(Sh
1opify.formatMoney(cart.total_price,settings.moneyFormat))},formOverride=function(){$formContainer.on("submit",function(evt){evt.preventDefault(),$addToCart.removeClass("is-added").addClass("is-adding"),$(".qty-error").remove(),ShopifyAPI.addItemFromForm(evt.target,itemAddedCallback,itemErrorCallback)})},itemAddedCallback=function(product){$addToCart.removeClass("is-adding").addClass("is-added"),ShopifyAPI.getCart(cartUpdateCallback)},itemErrorCallback=function(XMLHttpRequest,textStatus){var data=eval("("+XMLHttpRequest.responseText+")");$addToCart.removeClass("is-adding is-added"),data.message&&data.status==422&&$formContainer.after('<div class="errors qty-error">'+data.description+"</div>")},cartUpdateCallback=function(cart){updateCountPrice(cart),buildCart(cart)},buildCart=function(cart){if($cartContainer.empty(),cart.item_count===0){$cartContainer.append("<p>Keranjang belanja Anda telah kosong</p>"),cartCallback(cart);return}var items=[],item={},data2={},source=$("#CartTemplate").html(),template=Handlebars.compile(source);$.each(cart.items,function(index,cartItem){if(cartItem.image!=null)var prodImg=cartItem.image.replace(/(\.[^.]*)$/,"_small$1").replace("http:","");else var prodImg="//cdn.shopify.com/s/assets/admin/no-image-medium-cc9732cb976dd349a0df1d39816fbcc7.gif";item={key:cartItem.key,line:index+1,url:cartItem.url,img:prodImg,name:cartItem.product_title,variation:cartItem.variant_title,properties:cartItem.properties,itemAdd:cartItem.quantity+1,itemMinus:cartItem.quantity-1,itemQty:cartItem.quantity,price:Shopify.formatMoney(cartItem.price,settings.moneyFormat),vendor:cartItem.vendor,linePrice:Shopify.formatMoney(cartItem.line_price,settings.moneyFormat),originalLinePrice:Shopify.formatMoney(cartItem.original_line_price,settings.moneyFormat),discounts:cartItem.discounts,discountsApplied:cartItem.line_price!==cartItem.original_line_price},items.push(item)}),data2={items:items,note:cart.note,totalPrice:Shopify.formatMoney(cart.total_price,settings.moneyFormat),totalCartDiscount:cart.total_discount===0?0:"Anda telah berhemat [savings]".replace("[savings]",Shopify.formatMoney(cart.total_discount,settings.moneyFormat)),totalCartDiscountApplied:cart.total_discount!==0},$cartContainer.append(template(data2)),cartCallback(cart)},cartCallback=function(cart){$body.removeClass("drawer--is-loading"),$body.trigger("afterCartLoad.ajaxCart",cart),window.Shopify&&Shopify.StorefrontExpressButtons&&Shopify.StorefrontExpressButtons.initialize()},adjustCart=function(){$body.on("click",".ajaxcart__qty-adjust",function(){if(!isUpdating){var $el=$(this),line=$el.data("line"),$qtySelector=$el.siblings(".ajaxcart__qty-num"),qty=parseInt($qtySelector.val().replace(/\D/g,"")),qty=validateQty(qty);$el.hasClass("ajaxcart__qty--plus")?qty+=1:(qty-=1,qty<=0&&(qty=0)),line?updateQuantity(line,qty):$qtySelector.val(qty)}}),$body.on("change",".ajaxcart__qty-num",function(){if(!isUpdating){var $el=$(this),line=$el.data("line"),qty=parseInt($el.val().replace(/\D/g,"")),qty=validateQty(qty);line&&updateQuantity(line,qty)}}),$body.on("submit","form.ajaxcart",function(evt){isUpdating&&evt.preventDefault()}),$body.on("focus",".ajaxcart__qty-adjust",function(){var $el=$(this);setTimeout(function(){$el.select()},50)});function updateQuantity(line,qty){isUpdating=!0;var $row=$('.ajaxcart__row[data-line="'+line+'"]').addClass("is-loading");qty===0&&$row.parent().addClass("is-removed"),setTimeout(function(){ShopifyAPI.changeItem(line,qty,adjustCartCallback)},250)}$body.on("change",'textarea[name="note"]',function(){var newNote=$(this).val();ShopifyAPI.updateCartNote(newNote,function(cart){})})},adjustCartCallback=function(cart){updateCountPrice(cart),setTimeout(function(){isUpdating=!1,ShopifyAPI.getCart(buildCart),window.location.href="/cart"},150)},createQtySelectors=function(){$('input[type="number"]',$cartContainer).length&&$('input[type="number"]',$cartContainer).each(function(){var $el=$(this),currentQty=$el.val(),itemAdd=currentQty+1,itemMinus=currentQty-1,itemQty=currentQty,source=$("#AjaxQty").html(),template=Handlebars.compile(source),data2={key:$el.data("id"),itemQty:itemQty,itemAdd:itemAdd,itemMinus:itemMinus};$el.after(template(data2)).remove()})},qtySelectors=function(){var numInputs=$('input[type="number"]');numInputs.length&&(numInputs.each(function(){var $el=$(this),currentQty=$el.val(),inputName=$el.attr("name"),inputId=$el.attr("id"),itemAdd=currentQty+1,itemMinus=currentQty-1,itemQty=currentQty,source=$("#JsQty").html(),template=Handlebars.compile(source),data2={key:$el.data("id"),itemQty:itemQty,itemAdd:itemAdd,itemMinus:itemMinus,inputName:inputName,inputId:inputId};$el.after(template(data2)).remove()}),$(".js-qty__adjust").on("click",function(){var $el=$(this),id=$el.data("id"),$qtySelector=$el.siblings(".js-qty__num"),qty=parseInt($qtySelector.val().replace(/\D/g,"")),qty=vali
1dateQty(qty);$el.hasClass("js-qty__adjust--plus")?qty+=1:(qty-=1,qty<=1&&(qty=1)),$qtySelector.val(qty)}))},validateQty=function(qty){return parseFloat(qty)==parseInt(qty)&&!isNaN(qty)||(qty=1),qty},module={init:init,load:loadCart},module})(ajaxCart||{},jQuery); 2//# sourceMappingURL=/cdn/shop/t/138/assets/ajax-cart.js.map?v=51128912329657147331752652452
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.