Files
CKB/public/js/warehouse_management/opnames/index.js

32 lines
35 KiB
JavaScript
Executable File

/*
* 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/warehouse_management/opnames/index.js":
/*!************************************************************!*\
!*** ./resources/js/warehouse_management/opnames/index.js ***!
\************************************************************/
/***/ (() => {
eval("$(document).ready(function () {\n console.log(\"Opnames index.js loaded\"); // Check if required libraries are available\n\n if (typeof $.fn.DataTable === \"undefined\") {\n console.error(\"DataTables not available!\");\n return;\n } // Initialize components\n\n\n initializeSelect2();\n initializeDatepickers(); // Wait for DOM to be fully ready before initializing DataTable\n\n setTimeout(function () {\n initializeDataTable();\n }, 100);\n});\n/**\n * Initialize Select2 for dealer filter\n */\n\nfunction initializeSelect2() {\n console.log(\"Initializing Select2...\");\n\n if (typeof $.fn.select2 !== \"undefined\") {\n $(\"#dealer_filter\").select2({\n placeholder: \"Pilih Dealer\",\n allowClear: false,\n width: \"100%\",\n dropdownAutoWidth: true,\n minimumResultsForSearch: 5 // Show search box if more than 5 options\n\n });\n } else {\n console.warn(\"Select2 not available, using regular select\");\n }\n}\n/**\n * Initialize date pickers with validation\n */\n\n\nfunction initializeDatepickers() {\n console.log(\"Initializing datepickers...\"); // Initialize start date picker\n\n $(\"#date_from\").datepicker({\n dateFormat: \"yy-mm-dd\",\n changeMonth: true,\n changeYear: true,\n maxDate: new Date(),\n yearRange: \"-5:+0\",\n onSelect: function onSelect(selectedDate) {\n console.log(\"Start date selected:\", selectedDate);\n enableEndDatePicker(selectedDate);\n $(this).datepicker(\"hide\");\n },\n onClose: function onClose(selectedDate) {\n if (selectedDate) {\n console.log(\"Start date closed with value:\", selectedDate);\n enableEndDatePicker(selectedDate);\n }\n }\n }); // Initialize end date picker (initially disabled)\n\n initializeEndDatePicker(); // Initially disable end date input\n\n $(\"#date_to\").prop(\"disabled\", true); // Add calendar icons\n\n addCalendarIcons(); // Setup calendar icon click handlers\n\n setupIconClickHandlers(); // Setup change event handlers as backup\n\n setupChangeEventHandlers();\n}\n/**\n * Enable end date picker with minimum date constraint\n */\n\n\nfunction enableEndDatePicker(startDate) {\n console.log(\"Enabling end date picker with min date:\", startDate); // Enable the input\n\n $(\"#date_to\").prop(\"disabled\", false); // Destroy existing datepicker\n\n $(\"#date_to\").datepicker(\"destroy\"); // Re-initialize with new minDate\n\n $(\"#date_to\").datepicker({\n dateFormat: \"yy-mm-dd\",\n changeMonth: true,\n changeYear: true,\n maxDate: new Date(),\n yearRange: \"-5:+0\",\n minDate: new Date(startDate),\n // Convert to Date object for proper comparison\n onSelect: function onSelect(selectedDate) {\n console.log(\"End date selected:\", selectedDate);\n $(this).datepicker(\"hide\");\n }\n });\n console.log(\"End date picker enabled with minDate:\", startDate);\n}\n/**\n * Initialize end date picker without constraints\n */\n\n\nfunction initializeEndDatePicker() {\n $(\"#date_to\").datepicker({\n dateFormat: \"yy-mm-dd\",\n changeMonth: true,\n changeYear: true,\n maxDate: new Date(),\n yearRange: \"-5:+0\",\n onSelect: function onSelect(selectedDate) {\n console.log(\"End date selected:\", selectedDate);\n $(this).datepicker(\"hide\");\n }\n });\n}\n/**\n * Add calendar icons to date inputs\n */\n\n\nfunction addCalendarIcons() {\n // Remove any existing icons first\n $(\".input-icon\").remove(); // Add calendar icons with CSS classes\n\n var iconHtml = '<i class=\"fa fa-calendar input-icon\"></i>';\n $(\"#date_from\").after(iconHtml);\n $(\"#date_to\").after(iconHtml); // Ensure parent containers have relative positioning\n\n $(\"#date_from, #date_to\").closest(\".form-group\").css(\"position\", \"relative\");\n}\n/**\n * Setup click handlers for calendar icons\n */\n\n\nfunction setupIconClickHandlers() {\n $(document).on(\"click\", \".input-icon\", function () {\n var input = $(this).prev(\"input\");\n\n if (!input.prop(\"disabled\")) {\n input.datepicker(\"show\");\n }\n });\n}\n/**\n * Setup change event handlers for date inputs\n */\n\n\nfunction setupChangeEventHandlers() {\n $(\"#date_from\").on(\"change\", function () {\n var selectedDate = $(this).val();\n\n if (selectedDate) {\n console.log(\"Start date change event:\", selectedDate);\n enableEndDatePicker(selectedDate);\n }\n });\n}\n/**\n * Initialize DataTable with server-side processing and filtering\n */\n\n\nfunction initializeDataTable() {\n console.log(\"Initializing DataTable...\"); // Destroy existing table if any\n\n if ($.fn.DataTable.isDataTable(\"#opnames-table\")) {\n $(\"#opnames-table\").DataTable().destroy();\n } // Initialize DataTable\n\n\n var table = $(\"#opnames-table\").DataTable({\n processing: true,\n serverSide: true,\n destroy: true,\n ajax: {\n url: $(\"#opnames-table\").data(\"url\"),\n type: \"GET\",\n data: function data(d) {\n // Add filter parameters\n d.dealer_filter = $(\"#dealer_filter\").val();\n d.date_from = $(\"#date_from\").val();\n d.date_to = $(\"#date_to\").val();\n console.log(\"AJAX data being sent:\", {\n dealer_filter: d.dealer_filter,\n date_from: d.date_from,\n date_to: d.date_to\n });\n return d;\n },\n error: function error(xhr, _error, code) {\n console.error(\"DataTables AJAX error:\", _error, code);\n console.error(\"Response:\", xhr.responseText);\n }\n },\n columnDefs: [{\n targets: 0,\n width: \"15%\"\n }, // Opname Date column\n {\n targets: 5,\n width: \"15%\",\n className: \"text-center\"\n } // Action column\n ],\n columns: [{\n data: \"created_at\",\n name: \"created_at\",\n orderable: true\n }, {\n data: \"opname_date\",\n name: \"opname_date\",\n orderable: true\n }, {\n data: \"dealer_name\",\n name: \"dealer.name\",\n orderable: true\n }, {\n data: \"user_name\",\n name: \"user.name\",\n orderable: true\n }, {\n data: \"status\",\n name: \"status\",\n orderable: true\n }, {\n data: \"action\",\n name: \"action\",\n orderable: false,\n searchable: false\n }],\n order: [[4, \"desc\"]],\n // Order by created_at desc\n pageLength: 10,\n responsive: true,\n ordering: true,\n orderMulti: false\n }); // Setup filter button handlers\n\n setupFilterHandlers(table); // Setup other event handlers\n\n setupTableEventHandlers(table);\n}\n/**\n * Setup filter and reset button handlers\n */\n\n\nfunction setupFilterHandlers(table) {\n // Handle Filter Search Button\n $(\"#kt_search\").on(\"click\", function () {\n console.log(\"Filter button clicked\");\n var dealerFilter = $(\"#dealer_filter\").val();\n var dateFrom = $(\"#date_from\").val();\n var dateTo = $(\"#date_to\").val();\n console.log(\"Filtering with:\", {\n dealer: dealerFilter,\n dateFrom: dateFrom,\n dateTo: dateTo\n });\n table.ajax.reload();\n }); // Handle Filter Reset Button\n\n $(\"#kt_reset\").on(\"click\", function () {\n console.log(\"Reset button clicked\"); // Clear all filters\n\n $(\"#dealer_filter\").val(\"\").trigger(\"change\"); // Reset Select2\n\n $(\"#date_from\").val(\"\");\n $(\"#date_to\").val(\"\"); // Reset end date picker and disable it\n\n resetEndDatePicker(); // Reload table\n\n table.ajax.reload();\n }); // Handle Enter key on date inputs\n\n $(\"#date_from, #date_to\").on(\"keypress\", function (e) {\n if (e.which === 13) {\n // Enter key\n $(\"#kt_search\").click();\n }\n }); // Optional: Auto-filter when dealer selection changes\n\n $(\"#dealer_filter\").on(\"change\", function () {\n console.log(\"Dealer filter changed:\", $(this).val()); // Uncomment the line below if you want auto-filter on dealer change\n // table.ajax.reload();\n });\n}\n/**\n * Reset end date picker to initial state\n */\n\n\nfunction resetEndDatePicker() {\n // Destroy existing datepicker\n $(\"#date_to\").datepicker(\"destroy\"); // Re-initialize without minDate constraint\n\n initializeEndDatePicker(); // Disable the input\n\n $(\"#date_to\").prop(\"disabled\", true);\n console.log(\"End date picker reset and disabled\");\n}\n/**\n * Setup additional table event handlers\n */\n\n\nfunction setupTableEventHandlers(table) {\n // Debug ordering events\n table.on(\"order.dt\", function () {\n console.log(\"Order changed:\", table.order());\n }); // Add loading indicator for processing\n\n table.on(\"processing.dt\", function (e, settings, processing) {\n if (processing) {\n console.log(\"DataTable processing started\");\n } else {\n console.log(\"DataTable processing finished\");\n }\n }); // Handle any custom button clicks here if needed\n // Example: $(document).on('click', '.custom-btn', function() { ... });\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvd2FyZWhvdXNlX21hbmFnZW1lbnQvb3BuYW1lcy9pbmRleC5qcyIsIm5hbWVzIjpbIiQiLCJkb2N1bWVudCIsInJlYWR5IiwiY29uc29sZSIsImxvZyIsImZuIiwiRGF0YVRhYmxlIiwiZXJyb3IiLCJpbml0aWFsaXplU2VsZWN0MiIsImluaXRpYWxpemVEYXRlcGlja2VycyIsInNldFRpbWVvdXQiLCJpbml0aWFsaXplRGF0YVRhYmxlIiwic2VsZWN0MiIsInBsYWNlaG9sZGVyIiwiYWxsb3dDbGVhciIsIndpZHRoIiwiZHJvcGRvd25BdXRvV2lkdGgiLCJtaW5pbXVtUmVzdWx0c0ZvclNlYXJjaCIsIndhcm4iLCJkYXRlcGlja2VyIiwiZGF0ZUZvcm1hdCIsImNoYW5nZU1vbnRoIiwiY2hhbmdlWWVhciIsIm1heERhdGUiLCJEYXRlIiwieWVhclJhbmdlIiwib25TZWxlY3QiLCJzZWxlY3RlZERhdGUiLCJlbmFibGVFbmREYXRlUGlja2VyIiwib25DbG9zZSIsImluaXRpYWxpemVFbmREYXRlUGlja2VyIiwicHJvcCIsImFkZENhbGVuZGFySWNvbnMiLCJzZXR1cEljb25DbGlja0hhbmRsZXJzIiwic2V0dXBDaGFuZ2VFdmVudEhhbmRsZXJzIiwic3RhcnREYXRlIiwibWluRGF0ZSIsInJlbW92ZSIsImljb25IdG1sIiwiYWZ0ZXIiLCJjbG9zZXN0IiwiY3NzIiwib24iLCJpbnB1dCIsInByZXYiLCJ2YWwiLCJpc0RhdGFUYWJsZSIsImRlc3Ryb3kiLCJ0YWJsZSIsInByb2Nlc3NpbmciLCJzZXJ2ZXJTaWRlIiwiYWpheCIsInVybCIsImRhdGEiLCJ0eXBlIiwiZCIsImRlYWxlcl9maWx0ZXIiLCJkYXRlX2Zyb20iLCJkYXRlX3RvIiwieGhyIiwiY29kZSIsInJlc3BvbnNlVGV4dCIsImNvbHVtbkRlZnMiLCJ0YXJnZXRzIiwiY2xhc3NOYW1lIiwiY29sdW1ucyIsIm5hbWUiLCJvcmRlcmFibGUiLCJzZWFyY2hhYmxlIiwib3JkZXIiLCJwYWdlTGVuZ3RoIiwicmVzcG9uc2l2ZSIsIm9yZGVyaW5nIiwib3JkZXJNdWx0aSIsInNldHVwRmlsdGVySGFuZGxlcnMiLCJzZXR1cFRhYmxlRXZlbnRIYW5kbGVycyIsImRlYWxlckZpbHRlciIsImRhdGVGcm9tIiwiZGF0ZVRvIiwiZGVhbGVyIiwicmVsb2FkIiwidHJpZ2dlciIsInJlc2V0RW5kRGF0ZVBpY2tlciIsImUiLCJ3aGljaCIsImNsaWNrIiwic2V0dGluZ3MiXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy93YXJlaG91c2VfbWFuYWdlbWVudC9vcG5hbWVzL2luZGV4LmpzP2E0YzgiXSwic291cmNlc0NvbnRlbnQiOlsiJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xuICAgIGNvbnNvbGUubG9nKFwiT3BuYW1lcyBpbmRleC5qcyBsb2FkZWRcIik7XG5cbiAgICAvLyBDaGVjayBpZiByZXF1aXJlZCBsaWJyYXJpZXMgYXJlIGF2YWlsYWJsZVxuICAgIGlmICh0eXBlb2YgJC5mbi5EYXRhVGFibGUgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkRhdGFUYWJsZXMgbm90IGF2YWlsYWJsZSFcIik7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBJbml0aWFsaXplIGNvbXBvbmVudHNcbiAgICBpbml0aWFsaXplU2VsZWN0MigpO1xuICAgIGluaXRpYWxpemVEYXRlcGlja2VycygpO1xuXG4gICAgLy8gV2FpdCBmb3IgRE9NIHRvIGJlIGZ1bGx5IHJlYWR5IGJlZm9yZSBpbml0aWFsaXppbmcgRGF0YVRhYmxlXG4gICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGluaXRpYWxpemVEYXRhVGFibGUoKTtcbiAgICB9LCAxMDApO1xufSk7XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBTZWxlY3QyIGZvciBkZWFsZXIgZmlsdGVyXG4gKi9cbmZ1bmN0aW9uIGluaXRpYWxpemVTZWxlY3QyKCkge1xuICAgIGNvbnNvbGUubG9nKFwiSW5pdGlhbGl6aW5nIFNlbGVjdDIuLi5cIik7XG5cbiAgICBpZiAodHlwZW9mICQuZm4uc2VsZWN0MiAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAkKFwiI2RlYWxlcl9maWx0ZXJcIikuc2VsZWN0Mih7XG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJQaWxpaCBEZWFsZXJcIixcbiAgICAgICAgICAgIGFsbG93Q2xlYXI6IGZhbHNlLFxuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgZHJvcGRvd25BdXRvV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBtaW5pbXVtUmVzdWx0c0ZvclNlYXJjaDogNSwgLy8gU2hvdyBzZWFyY2ggYm94IGlmIG1vcmUgdGhhbiA1IG9wdGlvbnNcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiU2VsZWN0MiBub3QgYXZhaWxhYmxlLCB1c2luZyByZWd1bGFyIHNlbGVjdFwiKTtcbiAgICB9XG59XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBkYXRlIHBpY2tlcnMgd2l0aCB2YWxpZGF0aW9uXG4gKi9cbmZ1bmN0aW9uIGluaXRpYWxpemVEYXRlcGlja2VycygpIHtcbiAgICBjb25zb2xlLmxvZyhcIkluaXRpYWxpemluZyBkYXRlcGlja2Vycy4uLlwiKTtcblxuICAgIC8vIEluaXRpYWxpemUgc3RhcnQgZGF0ZSBwaWNrZXJcbiAgICAkKFwiI2RhdGVfZnJvbVwiKS5kYXRlcGlja2VyKHtcbiAgICAgICAgZGF0ZUZvcm1hdDogXCJ5eS1tbS1kZFwiLFxuICAgICAgICBjaGFuZ2VNb250aDogdHJ1ZSxcbiAgICAgICAgY2hhbmdlWWVhcjogdHJ1ZSxcbiAgICAgICAgbWF4RGF0ZTogbmV3IERhdGUoKSxcbiAgICAgICAgeWVhclJhbmdlOiBcIi01OiswXCIsXG4gICAgICAgIG9uU2VsZWN0OiBmdW5jdGlvbiAoc2VsZWN0ZWREYXRlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIlN0YXJ0IGRhdGUgc2VsZWN0ZWQ6XCIsIHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgICBlbmFibGVFbmREYXRlUGlja2VyKHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgICAkKHRoaXMpLmRhdGVwaWNrZXIoXCJoaWRlXCIpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNsb3NlOiBmdW5jdGlvbiAoc2VsZWN0ZWREYXRlKSB7XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWREYXRlKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJTdGFydCBkYXRlIGNsb3NlZCB3aXRoIHZhbHVlOlwiLCBzZWxlY3RlZERhdGUpO1xuICAgICAgICAgICAgICAgIGVuYWJsZUVuZERhdGVQaWNrZXIoc2VsZWN0ZWREYXRlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICB9KTtcblxuICAgIC8vIEluaXRpYWxpemUgZW5kIGRhdGUgcGlja2VyIChpbml0aWFsbHkgZGlzYWJsZWQpXG4gICAgaW5pdGlhbGl6ZUVuZERhdGVQaWNrZXIoKTtcblxuICAgIC8vIEluaXRpYWxseSBkaXNhYmxlIGVuZCBkYXRlIGlucHV0XG4gICAgJChcIiNkYXRlX3RvXCIpLnByb3AoXCJkaXNhYmxlZFwiLCB0cnVlKTtcblxuICAgIC8vIEFkZCBjYWxlbmRhciBpY29uc1xuICAgIGFkZENhbGVuZGFySWNvbnMoKTtcblxuICAgIC8vIFNldHVwIGNhbGVuZGFyIGljb24gY2xpY2sgaGFuZGxlcnNcbiAgICBzZXR1cEljb25DbGlja0hhbmRsZXJzKCk7XG5cbiAgICAvLyBTZXR1cCBjaGFuZ2UgZXZlbnQgaGFuZGxlcnMgYXMgYmFja3VwXG4gICAgc2V0dXBDaGFuZ2VFdmVudEhhbmRsZXJzKCk7XG59XG5cbi8qKlxuICogRW5hYmxlIGVuZCBkYXRlIHBpY2tlciB3aXRoIG1pbmltdW0gZGF0ZSBjb25zdHJhaW50XG4gKi9cbmZ1bmN0aW9uIGVuYWJsZUVuZERhdGVQaWNrZXIoc3RhcnREYXRlKSB7XG4gICAgY29uc29sZS5sb2coXCJFbmFibGluZyBlbmQgZGF0ZSBwaWNrZXIgd2l0aCBtaW4gZGF0ZTpcIiwgc3RhcnREYXRlKTtcblxuICAgIC8vIEVuYWJsZSB0aGUgaW5wdXRcbiAgICAkKFwiI2RhdGVfdG9cIikucHJvcChcImRpc2FibGVkXCIsIGZhbHNlKTtcblxuICAgIC8vIERlc3Ryb3kgZXhpc3RpbmcgZGF0ZXBpY2tlclxuICAgICQoXCIjZGF0ZV90b1wiKS5kYXRlcGlja2VyKFwiZGVzdHJveVwiKTtcblxuICAgIC8vIFJlLWluaXRpYWxpemUgd2l0aCBuZXcgbWluRGF0ZVxuICAgICQoXCIjZGF0ZV90b1wiKS5kYXRlcGlja2VyKHtcbiAgICAgICAgZGF0ZUZvcm1hdDogXCJ5eS1tbS1kZFwiLFxuICAgICAgICBjaGFuZ2VNb250aDogdHJ1ZSxcbiAgICAgICAgY2hhbmdlWWVhcjogdHJ1ZSxcbiAgICAgICAgbWF4RGF0ZTogbmV3IERhdGUoKSxcbiAgICAgICAgeWVhclJhbmdlOiBcIi01OiswXCIsXG4gICAgICAgIG1pbkRhdGU6IG5ldyBEYXRlKHN0YXJ0RGF0ZSksIC8vIENvbnZlcnQgdG8gRGF0ZSBvYmplY3QgZm9yIHByb3BlciBjb21wYXJpc29uXG4gICAgICAgIG9uU2VsZWN0OiBmdW5jdGlvbiAoc2VsZWN0ZWREYXRlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkVuZCBkYXRlIHNlbGVjdGVkOlwiLCBzZWxlY3RlZERhdGUpO1xuICAgICAgICAgICAgJCh0aGlzKS5kYXRlcGlja2VyKFwiaGlkZVwiKTtcbiAgICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnNvbGUubG9nKFwiRW5kIGRhdGUgcGlja2VyIGVuYWJsZWQgd2l0aCBtaW5EYXRlOlwiLCBzdGFydERhdGUpO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemUgZW5kIGRhdGUgcGlja2VyIHdpdGhvdXQgY29uc3RyYWludHNcbiAqL1xuZnVuY3Rpb24gaW5pdGlhbGl6ZUVuZERhdGVQaWNrZXIoKSB7XG4gICAgJChcIiNkYXRlX3RvXCIpLmRhdGVwaWNrZXIoe1xuICAgICAgICBkYXRlRm9ybWF0OiBcInl5LW1tLWRkXCIsXG4gICAgICAgIGNoYW5nZU1vbnRoOiB0cnVlLFxuICAgICAgICBjaGFuZ2VZZWFyOiB0cnVlLFxuICAgICAgICBtYXhEYXRlOiBuZXcgRGF0ZSgpLFxuICAgICAgICB5ZWFyUmFuZ2U6IFwiLTU6KzBcIixcbiAgICAgICAgb25TZWxlY3Q6IGZ1bmN0aW9uIChzZWxlY3RlZERhdGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRW5kIGRhdGUgc2VsZWN0ZWQ6XCIsIHNlbGVjdGVkRGF0ZSk7XG4gICAgICAgICAgICAkKHRoaXMpLmRhdGVwaWNrZXIoXCJoaWRlXCIpO1xuICAgICAgICB9LFxuICAgIH0pO1xufVxuXG4vKipcbiAqIEFkZCBjYWxlbmRhciBpY29ucyB0byBkYXRlIGlucHV0c1xuICovXG5mdW5jdGlvbiBhZGRDYWxlbmRhckljb25zKCkge1xuICAgIC8vIFJlbW92ZSBhbnkgZXhpc3RpbmcgaWNvbnMgZmlyc3RcbiAgICAkKFwiLmlucHV0LWljb25cIikucmVtb3ZlKCk7XG5cbiAgICAvLyBBZGQgY2FsZW5kYXIgaWNvbnMgd2l0aCBDU1MgY2xhc3Nlc1xuICAgIGNvbnN0IGljb25IdG1sID0gJzxpIGNsYXNzPVwiZmEgZmEtY2FsZW5kYXIgaW5wdXQtaWNvblwiPjwvaT4nO1xuXG4gICAgJChcIiNkYXRlX2Zyb21cIikuYWZ0ZXIoaWNvbkh0bWwpO1xuICAgICQoXCIjZGF0ZV90b1wiKS5hZnRlcihpY29uSHRtbCk7XG5cbiAgICAvLyBFbnN1cmUgcGFyZW50IGNvbnRhaW5lcnMgaGF2ZSByZWxhdGl2ZSBwb3NpdGlvbmluZ1xuICAgICQoXCIjZGF0ZV9mcm9tLCAjZGF0ZV90b1wiKVxuICAgICAgICAuY2xvc2VzdChcIi5mb3JtLWdyb3VwXCIpXG4gICAgICAgIC5jc3MoXCJwb3NpdGlvblwiLCBcInJlbGF0aXZlXCIpO1xufVxuXG4vKipcbiAqIFNldHVwIGNsaWNrIGhhbmRsZXJzIGZvciBjYWxlbmRhciBpY29uc1xuICovXG5mdW5jdGlvbiBzZXR1cEljb25DbGlja0hhbmRsZXJzKCkge1xuICAgICQoZG9jdW1lbnQpLm9uKFwiY2xpY2tcIiwgXCIuaW5wdXQtaWNvblwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IGlucHV0ID0gJCh0aGlzKS5wcmV2KFwiaW5wdXRcIik7XG4gICAgICAgIGlmICghaW5wdXQucHJvcChcImRpc2FibGVkXCIpKSB7XG4gICAgICAgICAgICBpbnB1dC5kYXRlcGlja2VyKFwic2hvd1wiKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIFNldHVwIGNoYW5nZSBldmVudCBoYW5kbGVycyBmb3IgZGF0ZSBpbnB1dHNcbiAqL1xuZnVuY3Rpb24gc2V0dXBDaGFuZ2VFdmVudEhhbmRsZXJzKCkge1xuICAgICQoXCIjZGF0ZV9mcm9tXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gJCh0aGlzKS52YWwoKTtcbiAgICAgICAgaWYgKHNlbGVjdGVkRGF0ZSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coXCJTdGFydCBkYXRlIGNoYW5nZSBldmVudDpcIiwgc2VsZWN0ZWREYXRlKTtcbiAgICAgICAgICAgIGVuYWJsZUVuZERhdGVQaWNrZXIoc2VsZWN0ZWREYXRlKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuXG4vKipcbiAqIEluaXRpYWxpemUgRGF0YVRhYmxlIHdpdGggc2VydmVyLXNpZGUgcHJvY2Vzc2luZyBhbmQgZmlsdGVyaW5nXG4gKi9cbmZ1bmN0aW9uIGluaXRpYWxpemVEYXRhVGFibGUoKSB7XG4gICAgY29uc29sZS5sb2coXCJJbml0aWFsaXppbmcgRGF0YVRhYmxlLi4uXCIpO1xuXG4gICAgLy8gRGVzdHJveSBleGlzdGluZyB0YWJsZSBpZiBhbnlcbiAgICBpZiAoJC5mbi5EYXRhVGFibGUuaXNEYXRhVGFibGUoXCIjb3BuYW1lcy10YWJsZVwiKSkge1xuICAgICAgICAkKFwiI29wbmFtZXMtdGFibGVcIikuRGF0YVRhYmxlKCkuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIC8vIEluaXRpYWxpemUgRGF0YVRhYmxlXG4gICAgY29uc3QgdGFibGUgPSAkKFwiI29wbmFtZXMtdGFibGVcIikuRGF0YVRhYmxlKHtcbiAgICAgICAgcHJvY2Vzc2luZzogdHJ1ZSxcbiAgICAgICAgc2VydmVyU2lkZTogdHJ1ZSxcbiAgICAgICAgZGVzdHJveTogdHJ1ZSxcbiAgICAgICAgYWpheDoge1xuICAgICAgICAgICAgdXJsOiAkKFwiI29wbmFtZXMtdGFibGVcIikuZGF0YShcInVybFwiKSxcbiAgICAgICAgICAgIHR5cGU6IFwiR0VUXCIsXG4gICAgICAgICAgICBkYXRhOiBmdW5jdGlvbiAoZCkge1xuICAgICAgICAgICAgICAgIC8vIEFkZCBmaWx0ZXIgcGFyYW1ldGVyc1xuICAgICAgICAgICAgICAgIGQuZGVhbGVyX2ZpbHRlciA9ICQoXCIjZGVhbGVyX2ZpbHRlclwiKS52YWwoKTtcbiAgICAgICAgICAgICAgICBkLmRhdGVfZnJvbSA9ICQoXCIjZGF0ZV9mcm9tXCIpLnZhbCgpO1xuICAgICAgICAgICAgICAgIGQuZGF0ZV90byA9ICQoXCIjZGF0ZV90b1wiKS52YWwoKTtcblxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQUpBWCBkYXRhIGJlaW5nIHNlbnQ6XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgZGVhbGVyX2ZpbHRlcjogZC5kZWFsZXJfZmlsdGVyLFxuICAgICAgICAgICAgICAgICAgICBkYXRlX2Zyb206IGQuZGF0ZV9mcm9tLFxuICAgICAgICAgICAgICAgICAgICBkYXRlX3RvOiBkLmRhdGVfdG8sXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgZXJyb3IsIGNvZGUpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiRGF0YVRhYmxlcyBBSkFYIGVycm9yOlwiLCBlcnJvciwgY29kZSk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIlJlc3BvbnNlOlwiLCB4aHIucmVzcG9uc2VUZXh0KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGNvbHVtbkRlZnM6IFtcbiAgICAgICAgICAgIHsgdGFyZ2V0czogMCwgd2lkdGg6IFwiMTUlXCIgfSwgLy8gT3BuYW1lIERhdGUgY29sdW1uXG4gICAgICAgICAgICB7IHRhcmdldHM6IDUsIHdpZHRoOiBcIjE1JVwiLCBjbGFzc05hbWU6IFwidGV4dC1jZW50ZXJcIiB9LCAvLyBBY3Rpb24gY29sdW1uXG4gICAgICAgIF0sXG4gICAgICAgIGNvbHVtbnM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkYXRhOiBcImNyZWF0ZWRfYXRcIixcbiAgICAgICAgICAgICAgICBuYW1lOiBcImNyZWF0ZWRfYXRcIixcbiAgICAgICAgICAgICAgICBvcmRlcmFibGU6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGRhdGE6IFwib3BuYW1lX2RhdGVcIixcbiAgICAgICAgICAgICAgICBuYW1lOiBcIm9wbmFtZV9kYXRlXCIsXG4gICAgICAgICAgICAgICAgb3JkZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBkYXRhOiBcImRlYWxlcl9uYW1lXCIsXG4gICAgICAgICAgICAgICAgbmFtZTogXCJkZWFsZXIubmFtZVwiLFxuICAgICAgICAgICAgICAgIG9yZGVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGF0YTogXCJ1c2VyX25hbWVcIixcbiAgICAgICAgICAgICAgICBuYW1lOiBcInVzZXIubmFtZVwiLFxuICAgICAgICAgICAgICAgIG9yZGVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGF0YTogXCJzdGF0dXNcIixcbiAgICAgICAgICAgICAgICBuYW1lOiBcInN0YXR1c1wiLFxuICAgICAgICAgICAgICAgIG9yZGVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZGF0YTogXCJhY3Rpb25cIixcbiAgICAgICAgICAgICAgICBuYW1lOiBcImFjdGlvblwiLFxuICAgICAgICAgICAgICAgIG9yZGVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgc2VhcmNoYWJsZTogZmFsc2UsXG4gICAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBvcmRlcjogW1s0LCBcImRlc2NcIl1dLCAvLyBPcmRlciBieSBjcmVhdGVkX2F0IGRlc2NcbiAgICAgICAgcGFnZUxlbmd0aDogMTAsXG4gICAgICAgIHJlc3BvbnNpdmU6IHRydWUsXG4gICAgICAgIG9yZGVyaW5nOiB0cnVlLFxuICAgICAgICBvcmRlck11bHRpOiBmYWxzZSxcbiAgICB9KTtcblxuICAgIC8vIFNldHVwIGZpbHRlciBidXR0b24gaGFuZGxlcnNcbiAgICBzZXR1cEZpbHRlckhhbmRsZXJzKHRhYmxlKTtcblxuICAgIC8vIFNldHVwIG90aGVyIGV2ZW50IGhhbmRsZXJzXG4gICAgc2V0dXBUYWJsZUV2ZW50SGFuZGxlcnModGFibGUpO1xufVxuXG4vKipcbiAqIFNldHVwIGZpbHRlciBhbmQgcmVzZXQgYnV0dG9uIGhhbmRsZXJzXG4gKi9cbmZ1bmN0aW9uIHNldHVwRmlsdGVySGFuZGxlcnModGFibGUpIHtcbiAgICAvLyBIYW5kbGUgRmlsdGVyIFNlYXJjaCBCdXR0b25cbiAgICAkKFwiI2t0X3NlYXJjaFwiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJGaWx0ZXIgYnV0dG9uIGNsaWNrZWRcIik7XG5cbiAgICAgICAgY29uc3QgZGVhbGVyRmlsdGVyID0gJChcIiNkZWFsZXJfZmlsdGVyXCIpLnZhbCgpO1xuICAgICAgICBjb25zdCBkYXRlRnJvbSA9ICQoXCIjZGF0ZV9mcm9tXCIpLnZhbCgpO1xuICAgICAgICBjb25zdCBkYXRlVG8gPSAkKFwiI2RhdGVfdG9cIikudmFsKCk7XG5cbiAgICAgICAgY29uc29sZS5sb2coXCJGaWx0ZXJpbmcgd2l0aDpcIiwge1xuICAgICAgICAgICAgZGVhbGVyOiBkZWFsZXJGaWx0ZXIsXG4gICAgICAgICAgICBkYXRlRnJvbTogZGF0ZUZyb20sXG4gICAgICAgICAgICBkYXRlVG86IGRhdGVUbyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGFibGUuYWpheC5yZWxvYWQoKTtcbiAgICB9KTtcblxuICAgIC8vIEhhbmRsZSBGaWx0ZXIgUmVzZXQgQnV0dG9uXG4gICAgJChcIiNrdF9yZXNldFwiKS5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJSZXNldCBidXR0b24gY2xpY2tlZFwiKTtcblxuICAgICAgICAvLyBDbGVhciBhbGwgZmlsdGVyc1xuICAgICAgICAkKFwiI2RlYWxlcl9maWx0ZXJcIikudmFsKFwiXCIpLnRyaWdnZXIoXCJjaGFuZ2VcIik7IC8vIFJlc2V0IFNlbGVjdDJcbiAgICAgICAgJChcIiNkYXRlX2Zyb21cIikudmFsKFwiXCIpO1xuICAgICAgICAkKFwiI2RhdGVfdG9cIikudmFsKFwiXCIpO1xuXG4gICAgICAgIC8vIFJlc2V0IGVuZCBkYXRlIHBpY2tlciBhbmQgZGlzYWJsZSBpdFxuICAgICAgICByZXNldEVuZERhdGVQaWNrZXIoKTtcblxuICAgICAgICAvLyBSZWxvYWQgdGFibGVcbiAgICAgICAgdGFibGUuYWpheC5yZWxvYWQoKTtcbiAgICB9KTtcblxuICAgIC8vIEhhbmRsZSBFbnRlciBrZXkgb24gZGF0ZSBpbnB1dHNcbiAgICAkKFwiI2RhdGVfZnJvbSwgI2RhdGVfdG9cIikub24oXCJrZXlwcmVzc1wiLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBpZiAoZS53aGljaCA9PT0gMTMpIHtcbiAgICAgICAgICAgIC8vIEVudGVyIGtleVxuICAgICAgICAgICAgJChcIiNrdF9zZWFyY2hcIikuY2xpY2soKTtcbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gT3B0aW9uYWw6IEF1dG8tZmlsdGVyIHdoZW4gZGVhbGVyIHNlbGVjdGlvbiBjaGFuZ2VzXG4gICAgJChcIiNkZWFsZXJfZmlsdGVyXCIpLm9uKFwiY2hhbmdlXCIsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc29sZS5sb2coXCJEZWFsZXIgZmlsdGVyIGNoYW5nZWQ6XCIsICQodGhpcykudmFsKCkpO1xuICAgICAgICAvLyBVbmNvbW1lbnQgdGhlIGxpbmUgYmVsb3cgaWYgeW91IHdhbnQgYXV0by1maWx0ZXIgb24gZGVhbGVyIGNoYW5nZVxuICAgICAgICAvLyB0YWJsZS5hamF4LnJlbG9hZCgpO1xuICAgIH0pO1xufVxuXG4vKipcbiAqIFJlc2V0IGVuZCBkYXRlIHBpY2tlciB0byBpbml0aWFsIHN0YXRlXG4gKi9cbmZ1bmN0aW9uIHJlc2V0RW5kRGF0ZVBpY2tlcigpIHtcbiAgICAvLyBEZXN0cm95IGV4aXN0aW5nIGRhdGVwaWNrZXJcbiAgICAkKFwiI2RhdGVfdG9cIikuZGF0ZXBpY2tlcihcImRlc3Ryb3lcIik7XG5cbiAgICAvLyBSZS1pbml0aWFsaXplIHdpdGhvdXQgbWluRGF0ZSBjb25zdHJhaW50XG4gICAgaW5pdGlhbGl6ZUVuZERhdGVQaWNrZXIoKTtcblxuICAgIC8vIERpc2FibGUgdGhlIGlucHV0XG4gICAgJChcIiNkYXRlX3RvXCIpLnByb3AoXCJkaXNhYmxlZFwiLCB0cnVlKTtcblxuICAgIGNvbnNvbGUubG9nKFwiRW5kIGRhdGUgcGlja2VyIHJlc2V0IGFuZCBkaXNhYmxlZFwiKTtcbn1cblxuLyoqXG4gKiBTZXR1cCBhZGRpdGlvbmFsIHRhYmxlIGV2ZW50IGhhbmRsZXJzXG4gKi9cbmZ1bmN0aW9uIHNldHVwVGFibGVFdmVudEhhbmRsZXJzKHRhYmxlKSB7XG4gICAgLy8gRGVidWcgb3JkZXJpbmcgZXZlbnRzXG4gICAgdGFibGUub24oXCJvcmRlci5kdFwiLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKFwiT3JkZXIgY2hhbmdlZDpcIiwgdGFibGUub3JkZXIoKSk7XG4gICAgfSk7XG5cbiAgICAvLyBBZGQgbG9hZGluZyBpbmRpY2F0b3IgZm9yIHByb2Nlc3NpbmdcbiAgICB0YWJsZS5vbihcInByb2Nlc3NpbmcuZHRcIiwgZnVuY3Rpb24gKGUsIHNldHRpbmdzLCBwcm9jZXNzaW5nKSB7XG4gICAgICAgIGlmIChwcm9jZXNzaW5nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkRhdGFUYWJsZSBwcm9jZXNzaW5nIHN0YXJ0ZWRcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkRhdGFUYWJsZSBwcm9jZXNzaW5nIGZpbmlzaGVkXCIpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBIYW5kbGUgYW55IGN1c3RvbSBidXR0b24gY2xpY2tzIGhlcmUgaWYgbmVlZGVkXG4gICAgLy8gRXhhbXBsZTogJChkb2N1bWVudCkub24oJ2NsaWNrJywgJy5jdXN0b20tYnRuJywgZnVuY3Rpb24oKSB7IC4uLiB9KTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUFBLENBQUMsQ0FBQ0MsUUFBRCxDQUFELENBQVlDLEtBQVosQ0FBa0IsWUFBWTtFQUMxQkMsT0FBTyxDQUFDQyxHQUFSLENBQVkseUJBQVosRUFEMEIsQ0FHMUI7O0VBQ0EsSUFBSSxPQUFPSixDQUFDLENBQUNLLEVBQUYsQ0FBS0MsU0FBWixLQUEwQixXQUE5QixFQUEyQztJQUN2Q0gsT0FBTyxDQUFDSSxLQUFSLENBQWMsMkJBQWQ7SUFDQTtFQUNILENBUHlC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\n//# sourceURL=webpack-internal:///./resources/js/warehouse_management/opnames/index.js\n");
/***/ })
/******/ });
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module can't be inlined because the eval-source-map devtool is used.
/******/ var __webpack_exports__ = {};
/******/ __webpack_modules__["./resources/js/warehouse_management/opnames/index.js"]();
/******/
/******/ })()
;