{"version":3,"file":"header-q11HXAZQ.js","sources":["../../../app/frontend/entrypoints/controllers/wms/header.ts"],"sourcesContent":["import Utils from \"../../utils\";\n\nimport eventBus from '../../utils/eventBus';\nexport default class WMSHeader {\n private wmsUIEvents = eventBus.channel('wms_ui')\n\n private warehouseSelect: HTMLSelectElement\n private warehouses: any = {}\n\n private timeUpdateInterval: string | number | NodeJS.Timeout | undefined;\n\n constructor() {\n this.warehouseSelect = document.querySelector('#wms_header_warehouses') as HTMLSelectElement;\n this.init();\n }\n\n async init() {\n await this.addEventListeners()\n if (document.querySelector(\"#wms_header_existing_transactions\")) {\n await this.loadWarehouses()\n await this.buildWarehouseSelect()\n await this.loadExistingTransactions()\n } else {\n await this.setCurrentPickingInfo()\n this.bindUiEvents();\n }\n }\n\n bindUiEvents() {\n this.wmsUIEvents.subscribe(\"item_picked\", async () => {\n await this.setCurrentPickingInfo(false);\n })\n }\n\n async setCurrentPickingInfo(loader = true) {\n const pickingId = document.querySelector(\"div.row[data-picking-id]\")?.getAttribute(\"data-picking-id\");\n if (pickingId) {\n const request = await Utils.entity.get(pickingId, 'wms/transactions', null, null, !loader)\n if (request.status === 200) {\n const data = request.data[0];\n //(document.querySelector(\"#wms_header_picking_start\") as HTMLElement).innerHTML = `${new Date(Date.parse(data.created_at)).toLocaleString()}`;\n //(document.querySelector(\"#wms_header_picking_products_total\") as HTMLElement).innerHTML = `${data.items.length}`;\n (document.querySelector(\"#wms_header_picking_products_done\") as HTMLElement).innerHTML = `${data.items.filter((i: { picked: any; }) => i.picked).length}`;\n (document.querySelector(\"#wms_header_picking_products_remaining\") as HTMLElement).innerHTML = `${data.items.filter((i: { picked: any; }) => !i.picked).length}`;\n const updateDuration = () => {\n const startDate = new Date(Date.parse(data.created_at));\n const endDate = new Date();\n const diffSeconds = (endDate.getTime() - startDate.getTime()) / 1000;\n (document.querySelector(\"#wms_header_picking_spent_time\") as HTMLElement).innerHTML =`${Utils.secondsToHhMmSs(diffSeconds)}`;\n }\n if (this.timeUpdateInterval) {\n clearInterval(this.timeUpdateInterval)\n }\n this.timeUpdateInterval = setInterval(() => {\n updateDuration();\n }, 1000);\n updateDuration();\n }\n }\n }\n\n async addEventListeners() {\n if (this.warehouseSelect) {\n this.warehouseSelect.addEventListener(\"change\", (e) => {\n e.preventDefault()\n const id = (this.warehouseSelect.querySelector('option:checked') as HTMLOptionElement).value\n localStorage.setItem('tickware_wms_warehouse', id)\n document.location.reload()\n });\n const existingContinueButton = document.querySelector(\"#wms_header_existing_transactions_continue\")\n if (existingContinueButton) {\n existingContinueButton.addEventListener(\"click\", (e) => {\n e.preventDefault();\n const newIdOption = document.querySelector(\"#wms_header_existing_transactions option:checked\") as HTMLOptionElement | null\n if (newIdOption) {\n const value = newIdOption.value;\n document.location.href = `/${(window as any).currentLocale}/wms/picking/${value}`\n }\n })\n }\n }\n\n }\n\n async loadExistingTransactions() {\n const existingSelect = document.querySelector(\"#wms_header_existing_transactions\")\n const existingContinueButton = document.querySelector(\"#wms_header_existing_transactions_continue\")\n const currentWarehouseId = localStorage.getItem('tickware_wms_warehouse') as string\n if (existingSelect && existingContinueButton) {\n const dataRequest = await Utils.entity.getAll('wms/transactions')\n if (dataRequest.status === 200) {\n const data = dataRequest.data.filter((d: { status: string; warehouse_uuid: string; }) => d.status === \"PENDING\" && d.warehouse_uuid === currentWarehouseId)\n if (data.length > 0) {\n let html = ''\n data.forEach((transaction: { uuid: any; warehouse_uuid: string; created_at: string; items: string | any[]; }) => {\n html += ``\n })\n existingSelect.innerHTML = html;\n existingSelect.classList.remove(\"d-none\");\n existingContinueButton.classList.remove(\"d-none\");\n existingContinueButton.removeAttribute(\"disabled\");\n }\n }\n }\n }\n\n async loadWarehouses() {\n const warehouseData = await Utils.entity.getAll('erp/warehouses')\n const warehouses = warehouseData.data\n warehouses.forEach((warehouse: { id: string | number; name: any; }) => {\n this.warehouses[warehouse.id] = warehouse.name;\n })\n }\n\n async buildWarehouseSelect() {\n let html = ''\n const selectedWarehouse = localStorage.getItem('tickware_wms_warehouse')\n if (!selectedWarehouse) {\n html += ``\n }\n Object.keys(this.warehouses).forEach((warehouseId) => {\n const warehouseName = this.warehouses[warehouseId]\n html += ``\n })\n this.warehouseSelect.innerHTML = html;\n }\n}"],"names":[],"mappings":"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"}