{"version":3,"file":"product.view.min.js","sources":["product.view.min.js"],"sourcesContent":["! function ($) {\n \"use strict\";\n\n $(\".product_category_button_group button\").on(\"click\", function () {\n var $this = $(this);\n $this.closest(\".product_category_button_group\").find(\"button\").removeClass(\"active\");\n $this.addClass(\"active\");\n\n // Image\n var imageIndex = parseInt($this.data(\"image-index\"));\n if (!isNaN(imageIndex)) {\n $(\".slider-for\").slick(\"slickGoTo\", imageIndex, true);\n $(\".product_image_small\")\n .removeClass(\"active\")\n .eq(imageIndex)\n .addClass('active');\n }\n\n var key = $(\".product_category_button_group button.active\")\n .map(function () { return $(this).data(\"key\"); })\n .toArray()\n .join(\"-\");\n\n if (window.products.hasOwnProperty(key)) {\n var product = window.products[key];\n\n $(\".price font\").html(`市售價:${product.oldPrice}元`)\n if (product.specialPrice) {\n $(\".price\").find(\"font\").css({ color: \"#999\" })\n $(\".price span\").show().find(\"b\").html(product.specialPrice)\n } else {\n $(\".price\").find(\"font\").css({ color: \"#333\" })\n $(\".price span\").hide()\n }\n if (product.availableAmount === 0) {\n $(\".quantity_area, .product_buy_button\").addClass(\"sold_out\")\n } else {\n $(\".quantity_area, .product_buy_button\").removeClass(\"sold_out\")\n }\n $('#inputCartAmount')\n .attr(\"max\", product.availableAmount)\n .val(1);\n }\n });\n\n $(document).ready(function () {\n var $buttons = $(\".product_detail .product_category_button_group button\");\n if ($buttons.length == 1) {\n $buttons.trigger(\"click\");\n }\n });\n\n $(\".product_addon select\").on(\"change\", function () {\n var $this = $(this);\n var $checkbox = $this.parent().find(\"input[type=checkbox]\");\n if ($this.val() == 0) {\n $checkbox.prop(\"checked\", false);\n } else {\n $checkbox.prop(\"checked\", true);\n }\n });\n\n $(\".product_addon .product_h\").on(\"click\", function (e) {\n e.preventDefault();\n if ($(e.target).is(\"select\")) {\n return;\n }\n\n var $select = $(this).find(\"select\");\n if ($select.length == 0) {\n return;\n }\n if ($select.val() == 0) {\n $select.val(1).change();\n } else {\n $select.val(0).change();\n }\n });\n\n\n // 倒數\n if (window.countdownEndTime != null) {\n layoutJS.counterDate(new Date(window.countdownEndTime));\n }\n\n if (!location.pathname.toLowerCase().endsWith(\"priview\")) {\n\n $(\".product_buy_button\").on(\"click\", function () {\n var $this = $(this);\n if ($this.hasClass(\"sold_out\")) {\n return;\n }\n\n var key = $(\".product_category_button_group button.active\")\n .map(function () { return $(this).data(\"key\"); })\n .toArray()\n .join(\"-\");\n\n if (!window.products.hasOwnProperty(key)) {\n alert(\"請選擇規格\");\n return;\n }\n\n var product = window.products[key];\n var amount = $(\"#inputCartAmount\").val();\n\n if (amount == 0) {\n return;\n }\n\n var addonProductIds = {};\n $(\".product_addon .product_h select\").each(function () {\n var $this = $(this);\n if ($this.val() > 0) {\n addonProductIds[$this.data(\"product-id\")] = $this.val()\n }\n });\n\n $.ajax({\n type: \"POST\",\n url: \"/order/cart?handler=add\",\n data: {\n \"input.productId\": product.id,\n \"input.amount\": amount,\n \"input.addonProductIds\": addonProductIds\n },\n dataType: \"json\",\n beforeSend: function () {\n $(\".product_buy_button\").prop(\"disabled\", true);\n },\n complete: function () {\n $(\".product_buy_button\").prop(\"disabled\", false);\n },\n success: function (response) {\n if (response.error !== undefined) {\n var $alert = $(`
\n \n \n
`);\n $alert.find(\"span\").text(response.error);\n $(\"#containerStatusMessage\").append($alert);\n return;\n }\n\n var addCartProducts = { ...addonProductIds };\n addCartProducts[product.id] = amount;\n\n var gtagItem = { currency: 'TWD', items: [] };\n var fbItem = { currency: 'TWD', content_type: 'product', contents: [] };\n var totalValue = 0;\n Object.keys(addCartProducts).forEach(key => {\n var gItem = Object.assign({}, window.AddCartGTagItemMap[key]);\n var fItem = Object.assign({}, window.AddCartFacebookPixelItemMap[key]);\n var quantity = addCartProducts[key];\n gItem.quantity = quantity;\n fItem.quantity = quantity;\n gtagItem.items.push(gItem);\n fbItem.contents.push(fItem);\n totalValue += (gItem.price * quantity);\n });\n gtagItem.value = totalValue;\n fbItem.value = totalValue;\n gtag('event', 'add_to_cart', gtagItem);\n fbq('track', 'AddToCart', fbItem);\n\n if ($this.hasClass(\"buy_now\")) {\n window.location.href = \"/order/cart\";\n return;\n }\n\n var $alert = $(`
\n \n \n
`);\n $alert.find(\"span\").text(response.message);\n $(\"#containerStatusMessage\").append($alert);\n $(\".alert\").delay(4000).slideUp(200, function () {\n $(this).delete();\n });\n\n $(\".product_addon select\").val(0).change();\n\n var $cartNumber = $(\"header .add_item_num\");\n $cartNumber.text(response.cartItemCount);\n if (response.cartItemCount > 0) {\n $cartNumber.css(\"visibility\", \"visible\");\n } else {\n $cartNumber.css(\"visibility\", \"hidden\")();\n }\n $(\"html, body\").animate({ scrollTop: 0 }, \"slow\");\n },\n error: function (request, status, error) {\n alert(\"系統發生錯誤\");\n }\n });\n });\n }\n\n}(window.jQuery);"],"names":["$","on","$this","this","closest","find","removeClass","addClass","imageIndex","parseInt","data","isNaN","slick","eq","key","map","toArray","join","window","products","hasOwnProperty","product","html","oldPrice","specialPrice","css","color","show","hide","availableAmount","attr","val","document","ready","$buttons","length","trigger","$checkbox","parent","prop","e","preventDefault","target","is","$select","change","countdownEndTime","layoutJS","counterDate","Date","location","pathname","toLowerCase","endsWith","amount","addonProductIds","hasClass","each","ajax","type","url","input.productId","id","input.amount","input.addonProductIds","dataType","beforeSend","complete","success","response","undefined","error","$alert","text","append","addCartProducts","$cartNumber","gtagItem","currency","items","fbItem","content_type","contents","totalValue","Object","keys","forEach","gItem","assign","AddCartGTagItemMap","fItem","AddCartFacebookPixelItemMap","quantity","push","price","value","gtag","fbq","href","message","delay","slideUp","delete","cartItemCount","animate","scrollTop","request","status","alert","jQuery"],"mappings":"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"}