/* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "./resources/js/core.js": /*!******************************!*\ !*** ./resources/js/core.js ***! \******************************/ /***/ (() => { eval("var sweet_loader = '
';\nfunction PaymentInvoice() {\n var invoice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n $.ajax({\n url: ApiUserPaymentInvoice,\n data: {\n invoice: invoice\n },\n type: \"post\",\n beforeSend: function beforeSend() {\n Swal.fire({\n html: sweet_loader + \"

Đang xử lý dữ liệu ...

\",\n showConfirmButton: false\n });\n },\n success: function success(response) {\n if (response.error === false) {\n Swal.fire({\n title: \"Payment Successfully\",\n text: \"Thanh toán hoá đơn thành công!\",\n icon: \"success\",\n confirmButtonColor: \"#3085d6\",\n confirmButtonText: \"Xác nhận\"\n }).then(function (result) {\n if (result.isConfirmed) {\n location.reload();\n }\n });\n } else {\n Swal.fire({\n title: \"Có lỗi xảy ra?\",\n text: response.message,\n icon: \"warning\",\n showCancelButton: false,\n confirmButtonColor: \"var(--color-brand)\",\n confirmButtonText: \"Xác nhận\"\n });\n }\n }\n });\n}\n\n/* Action for VirtualMachine */\nfunction VirtualMachineAction() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var userid = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n $.ajax({\n url: APIServiceAction,\n data: {\n action: action,\n product: id,\n userid: userid\n },\n type: \"post\",\n beforeSend: function beforeSend() {\n Swal.fire({\n html: sweet_loader + \"

Đang xử lý dữ liệu ...

\",\n showConfirmButton: false\n });\n },\n success: function success(response) {\n if (response.status === false) {\n Swal.fire({\n title: \"Có lỗi xảy ra?\",\n text: data.message,\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"var(--color-brand)\",\n cancelButtonColor: \"#818181\",\n confirmButtonText: \"Ok\"\n });\n } else {\n $('.system-status').empty().append('Đang load panel
Loading...
');\n Swal.fire({\n title: \"Thành công\",\n text: response.message,\n icon: \"success\",\n showCancelButton: false,\n confirmButtonColor: \"var(--color-brand)\",\n confirmButtonText: \"Xác nhận\"\n }).then(function (results) {\n if (results.isConfirmed) {\n $('.append-action').empty();\n }\n });\n }\n }\n });\n}\n\n/* Append all input from Form Order to form Coupon */\nfunction loadForm(e) {\n var form = $(e).parent().parent().parent();\n var Inputs = document.querySelectorAll('[name^=\"vps[\"],[name^=\"hosting[\"]');\n Inputs.forEach(function (element) {\n var key = element.getAttribute('name');\n form.append(\"\"));\n });\n form.submit();\n}\n\n/* Change Cart when change Month */\nfunction appendChangeCart() {\n var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n /* Create new variable element */\n var ElementSubTotal = $('.cart_total_novat');\n var ElementVat = $('.cart_vat');\n var ElementTotal = $('.cart_total_amount');\n var PriceTarget = $(\"[data-focus=\\\"\".concat(target, \"_\").concat(key, \"\\\"]\"));\n\n /* Create new variable price for element SubTotal */\n var PriceSubTotal = Number(ElementSubTotal.attr('data-price'));\n\n /* Create Old variable element Product for target */\n var CartTarget = $(\"[data-product=\\\"\".concat(key, \"\\\"][data-target=\\\"\").concat(target, \"\\\"]\"));\n var OldPrice = Number(PriceTarget.find(\".\".concat(target, \"_\").concat(key, \"_price-amount\")).attr('data-price'));\n\n /* Get all Old addon total */\n var OldAddOnTotal = 0;\n var AllElementAddon = document.querySelectorAll('.name-price');\n if (AllElementAddon.length) {\n AllElementAddon.forEach(function (element) {\n OldAddOnTotal += Number($(element).attr('data-price__addon'));\n });\n }\n\n /* Config new Month */\n var ElementMonth = CartTarget.find('.time-buy__change');\n var Price = Number(ElementMonth.attr('data-price'));\n var Month = Number(ElementMonth.find('option:selected').val());\n\n /* Set new Config Month */\n PriceTarget.find(\".\".concat(target, \"_\").concat(key, \"_month\")).text(Month);\n PriceTarget.find(\".\".concat(target, \"_\").concat(key, \"_month\")).attr('data-month', Month);\n\n /* Create new variable Price */\n var TotalAddon = SumTotalAddon();\n var SubTotalPrice = PriceSubTotal - OldPrice - OldAddOnTotal + (Price * Month + TotalAddon);\n var VAT = SubTotalPrice * 0.1;\n var Total = SubTotalPrice + VAT;\n\n /* Config new price to all element */\n\n PriceTarget.find(\".\".concat(target, \"_\").concat(key, \"_price-amount\")).attr('data-price', Price * Month);\n PriceTarget.find(\".\".concat(target, \"_\").concat(key, \"_price-amount\")).text((Price * Month).toLocaleString());\n ElementSubTotal.attr('data-price', SubTotalPrice);\n ElementSubTotal.text(SubTotalPrice.toLocaleString());\n ElementVat.attr('data-price', VAT);\n ElementVat.text(VAT.toLocaleString());\n ElementTotal.attr('data-price', Total);\n ElementTotal.text(Total.toLocaleString());\n}\n\n/* Change Cart when change Addon */\nfunction appendAddonCart() {\n var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var price = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var quantity = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var step = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var type = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : \"-\";\n var parent = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n var parent_target = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : '';\n var parentTarget = $(\"[data-focus=\\\"\".concat(parent_target, \"_\").concat(parent, \"\\\"]\")).find('.box-add__on');\n if (quantity === 0) {\n var service_element = $(\"div[data-target=\\\"\".concat(parent_target, \"\\\"][data-product=\\\"\").concat(parent, \"\\\"]\"));\n if (parentTarget.find(\".\".concat(parent_target, \"_\").concat(parent, \"_add_\").concat(target))) {\n parentTarget.find(\".\".concat(parent_target, \"_\").concat(parent, \"_add_\").concat(target)).remove();\n }\n if (Number(service_element.find('.input-qty[data-name=\"cpu\"]').val()) === 0 && Number(service_element.find('.input-qty[data-name=\"ssd\"]').val()) === 0 && Number(service_element.find('.input-qty[data-name=\"ram\"]').val()) === 0) {\n parentTarget.addClass('d-none');\n }\n appendChangeCart(parent_target, parent);\n return false;\n }\n parentTarget.removeClass('d-none');\n if (parentTarget.find(\".\".concat(parent_target, \"_\").concat(parent, \"_add_\").concat(target))) {\n parentTarget.find(\".\".concat(parent_target, \"_\").concat(parent, \"_add_\").concat(target)).remove();\n }\n var html = \"
\");\n html += \"
\".concat(target.toLocaleUpperCase(), \"
\");\n html += \"
\";\n html += \"
\";\n html += \"\";\n html += \"\");\n html += (price * quantity).toLocaleString();\n html += \"đ\";\n html += \"
\";\n html += \"
X \";\n html += quantity;\n html += \"
\";\n html += \"
\";\n html += \"
\";\n parentTarget.append(html);\n appendChangeCart(parent_target, parent);\n}\n\n/* Sum total addon */\nfunction SumTotalAddon() {\n /* Get all Element Producht */\n var total = 0;\n var allProduct = document.querySelectorAll('.name-price');\n if (allProduct.length) {\n allProduct.forEach(function (element) {\n var price = 0;\n var variable = $(element);\n var target = variable.attr('data-focus');\n var boxHasElementAddon = variable.find('.addon-price .price-amount');\n var Month = Number(variable.find(\".\".concat(target, \"_month\")).attr('data-month'));\n if (boxHasElementAddon.length) {\n boxHasElementAddon.each(function (index, element) {\n var AddonPrice = $(element).find('span').attr('data-price');\n price += Number(AddonPrice) * Month;\n });\n }\n variable.attr('data-price__addon', price);\n total += price;\n });\n }\n return Number(total);\n}\n\n/* Append Os Group to Element*/\nfunction appendOsGroup() {\n $(\"#os_group_id\").empty().append('');\n $.get(APIGetOsGroup, {\n host: $('input[name=\"host_id\"]').val()\n }, function (response) {\n if (response.error === false) {\n var html = '';\n response.data.forEach(function (element) {\n html += \"\");\n });\n $(\"#os_group_id\").empty().append(html);\n } else {\n $(\"#os_group_id\").empty().append('');\n }\n });\n}\n\n/* Append Element */\nfunction appendChild() {\n var apiUrl = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var data = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n $(\"#\".concat(id)).empty().append('');\n $.get(apiUrl, data, function (response) {\n if (response.error === false) {\n var html = '';\n response.data.forEach(function (element) {\n html += \"\");\n });\n $(\"#\".concat(id)).empty().append(html);\n } else {\n $(\"#\".concat(id)).empty().append('');\n }\n }).fail(function (error) {\n toastr.error(error.statusText);\n });\n}\n\n/* Append Snapshot */\nfunction appendSnapshot() {\n var product = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var userid = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n Swal.fire({\n html: sweet_loader + \"

Đang xử lý dữ liệu ...

\",\n showConfirmButton: false\n });\n $.get(APIGetSnapshot, {\n product: product,\n user: userid\n }).done(function (response) {\n Swal.close();\n if ($('body').find('#staticBackdrop').length) {\n $('body').find('#staticBackdrop').remove();\n }\n $('.append-action').after(response.data);\n $('#staticBackdrop').addClass('show');\n })[\"catch\"]();\n}\n\n/* Action Snap */\nfunction SnapshotAction() {\n var product = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var userid = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var action = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n var snap = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n $('body').find('#staticBackdrop').remove();\n Swal.fire({\n html: sweet_loader + \"

Đang xử lý dữ liệu ...

\",\n showConfirmButton: false\n });\n $.post(APIServiceSnapShot, {\n product: product,\n userid: userid,\n action: action,\n snap: snap\n }).done(function (response) {\n if (response.status === false) {\n Swal.fire({\n title: \"Có lỗi xảy ra?\",\n text: data.message,\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"var(--color-brand)\",\n cancelButtonColor: \"#818181\",\n confirmButtonText: \"Ok\"\n });\n } else {\n window.Echo.channel('Notification').listen('.Notification-Event', function (response) {\n Swal.close();\n if (response.status) {\n Swal.fire({\n title: \"Thành công\",\n text: response.message,\n icon: \"success\",\n showCancelButton: false,\n confirmButtonColor: \"var(--color-brand)\",\n confirmButtonText: \"Xác nhận\"\n });\n } else {\n Swal.fire({\n title: \"Có lỗi xảy ra?\",\n text: response.message,\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"var(--color-brand)\",\n cancelButtonColor: \"#818181\",\n confirmButtonText: \"Ok\"\n });\n }\n });\n }\n })[\"catch\"](function (response) {});\n}\n\n/* Append Upgrade System */\nfunction appendUpgradeForm() {\n var product = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n Swal.fire({\n html: sweet_loader + \"

Đang xử lý dữ liệu ...

\",\n showConfirmButton: false\n });\n $.get(APIGetProductAddon, {\n product: product\n }).done(function (response) {\n Swal.close();\n var body = $('body');\n body.find('#upgrade').length ? body.find('#upgrade').remove() : \"\";\n $('.append-action').after(response.data);\n $('#upgrade').addClass('show');\n })[\"catch\"](function (response) {\n console.log(response);\n });\n}\n\n/* Addon Change Form Upgrade */\n\nfunction appendAddon(parent) {\n var item = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var price = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var step = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var type = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : '-';\n var quantity = Number(parent.find('.input-qty').val());\n var OldPrice = price * quantity;\n if (type === '-') {\n quantity -= step;\n } else {\n quantity += step;\n }\n parent.find('.input-qty').val(quantity <= 0 ? 0 : quantity);\n var html = \"\\n
\\n \\n \").concat(item.toLocaleUpperCase(), \"\\n \\n \\n \\n \").concat((quantity * price).toLocaleString(), \"\\u0111\\n \\n \\n
\");\n var body = $('body');\n body.find(\"#upgrade .col-md-5 .box-add__on #\".concat(item)).remove();\n if (quantity <= 0) {\n actionChangePriceUpgrade(price, quantity, step, type, OldPrice);\n return false;\n }\n actionChangePriceUpgrade(price, quantity, step, type, OldPrice);\n body.find('#upgrade .col-md-5 .box-add__on hr').before(html);\n}\nfunction actionChangePriceUpgrade() {\n var price = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var quantity = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';\n var oldPrice = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n if (quantity < 0) {\n return false;\n }\n var body = $('body');\n var TotalNoVal = body.find('#upgrade .cart_total_novat');\n var VAT = body.find('#upgrade .cart_vat');\n var Total = body.find('#upgrade .cart_total_amount');\n var Billing = Number(body.find('#upgrade input[name=\"billing\"]').val());\n\n /* ============================================== */\n var TotalNoValPrice = Number(TotalNoVal.attr('data-price'));\n var VATPrice = Number(VAT.attr('data-price'));\n var TotalPrice = Number(Total.attr('data-price'));\n /* ============================================== */\n\n if (type === '-') {\n TotalNoValPrice = TotalNoValPrice - oldPrice * Billing + price * quantity * Billing;\n if (TotalNoValPrice <= 0) {\n TotalNoValPrice = 0;\n }\n VATPrice = TotalNoValPrice * 0.1;\n TotalPrice = TotalNoValPrice + VATPrice;\n } else {\n TotalNoValPrice = TotalNoValPrice - oldPrice * Billing + price * quantity * Billing;\n VATPrice = TotalNoValPrice * 0.1;\n TotalPrice = TotalNoValPrice + VATPrice;\n }\n TotalNoVal.attr('data-price', TotalNoValPrice);\n TotalNoVal.text(TotalNoValPrice.toLocaleString());\n VAT.attr('data-price', VATPrice);\n VAT.text(VATPrice.toLocaleString());\n Total.attr('data-price', TotalPrice);\n Total.text(TotalPrice.toLocaleString());\n}\nfunction OrderAddon() {\n var product = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var billing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var body = $('body');\n var allItem = body.find('#upgrade .input-qty');\n var error = [];\n var addon = {};\n if (allItem.length) {\n allItem.each(function (index, object) {\n if (Number(object.value) === 0) {\n error.push(object.name);\n }\n addon[\"\".concat(object.name)] = {\n price: object.getAttribute('data-price'),\n quantity: object.value\n };\n });\n }\n if (error.length === 3) {\n error.forEach(function (element) {\n body.find(\"#upgrade .input-qty[name=\\\"\".concat(element, \"\\\"]\")).addClass('error');\n });\n return false;\n }\n Swal.fire({\n title: \"Chú ý?\",\n text: \"Trong quá trình nâng cấp, Chúng tôi sẽ tắt máy chủ của bạn!\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Xác nhận\"\n }).then(function (result) {\n if (result.isConfirmed) {\n $.ajax({\n url: APICartAddon,\n data: {\n addon: addon,\n product: product,\n billing: billing\n },\n type: 'post',\n beforeSend: function beforeSend() {\n Swal.fire({\n html: sweet_loader + \"

Đang xử lý dữ liệu ...

\",\n showConfirmButton: false\n });\n },\n success: function success(response) {\n Swal.close();\n if (response.error === false) {\n Swal.fire({\n title: \"Đặt hàng thành công\",\n text: response.message,\n icon: \"success\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Xác nhận\"\n }).then(function (result) {\n $('body').find('#upgrade').remove();\n });\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"Oops...\",\n text: response.message\n });\n }\n }\n });\n }\n });\n}\nfunction RenewService() {\n var product = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var billing = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n Swal.fire({\n title: \"Chú ý?\",\n text: \"Bạn đang yêu cầu gia hạn dịch vụ!\",\n icon: \"warning\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Xác nhận\"\n }).then(function (result) {\n if (result.isConfirmed) {\n $.ajax({\n url: APIRenewService,\n data: {\n type: type,\n product: product,\n billing: billing\n },\n type: 'post',\n beforeSend: function beforeSend() {\n Swal.fire({\n html: sweet_loader + \"

Đang xử lý dữ liệu ...

\",\n showConfirmButton: false\n });\n },\n success: function success(response) {\n Swal.close();\n if (response.error === false) {\n Swal.fire({\n title: \"Success\",\n text: response.message,\n icon: \"success\",\n showCancelButton: true,\n confirmButtonColor: \"#3085d6\",\n cancelButtonColor: \"#d33\",\n confirmButtonText: \"Xác nhận\"\n }).then(function (result) {\n $('#renew').modal('hide');\n });\n } else {\n Swal.fire({\n icon: \"error\",\n title: \"Oops...\",\n text: response.message\n });\n }\n }\n });\n }\n });\n}\nfunction CopyDiscount() {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var tempTextarea = $('