{"version":3,"file":"sp.js","sourceRoot":"","sources":["../src/base.ts","../src/tools/SoundItem.ts","../src/tools/VibrateItem.ts","../src/audio/Audio.ts","../src/data/Arrival.ts","../src/data/Audit.ts","../src/data/Customer.ts","../src/data/Dashboard.ts","../src/data/Deadline.ts","../src/data/DeliveryMethod.ts","../src/data/Item.ts","../src/data/Order.ts","../src/data/Package.ts","../src/data/Packaging.ts","../src/data/PickList.ts","../src/data/PickProfile.ts","../src/data/PurchaseOrder.ts","../src/data/QuickProduction.ts","../src/data/Refund.ts","../src/data/RestockList.ts","../src/data/ReturnShipment.ts","../src/data/Shelftemplate.ts","../src/data/Shipment.ts","../src/data/Statistics.ts","../src/data/Stock.ts","../src/data/StockingLot.ts","../src/data/Tote.ts","../src/data/Transfer.ts","../src/data/Trolley.ts","../src/data/WarehouseReasonsAndActions.ts","../src/data/Waybill.ts","../src/enum/ArrivalType.ts","../src/enum/AuditReason.ts","../src/enum/ItemType.ts","../src/enum/OrderState.ts","../src/enum/OrderType.ts","../src/enum/PackageState.ts","../src/enum/Period.ts","../src/enum/PeriodDateType.ts","../src/enum/PickAlgorithm.ts","../src/enum/PickDistancePreference.ts","../src/enum/PickOrderPreference.ts","../src/enum/PicklistBarcodePreference.ts","../src/enum/PicklistType.ts","../src/enum/PurchaseOrderState.ts","../src/enum/PurchaseOrderType.ts","../src/enum/RefundType.ts","../src/enum/ReturnActionType.ts","../src/enum/ReturnMethod.ts","../src/enum/ShipmentLineDataType.ts","../src/enum/ShipmentState.ts","../src/enum/ShippingMethodParameterType.ts","../src/enum/StackedColumnPeriod.ts","../src/enum/StatGroup.ts","../src/enum/UnitType.ts","../src/functions/Localize.ts","../src/functions/blurActive.ts","../src/functions/clickHold.ts","../src/functions/clone.ts","../src/functions/createElement.ts","../src/functions/dataEquals.ts","../src/functions/duplicate.ts","../src/functions/fixFloatingNumber.ts","../src/functions/formatNumber.ts","../src/functions/get.ts","../src/functions/getObjectRefrence.ts","../src/functions/get_set_Hash.ts","../src/functions/get_set_Param.ts","../src/functions/highlight.ts","../src/functions/insertAfter.ts","../src/functions/post.ts","../src/functions/postForm.ts","../src/functions/promise.ts","../src/functions/serializeArray.ts","../src/functions/sleep.ts","../src/functions/typeInTextarea.ts","../src/functions/zoom.ts","../src/interfaces/Address.ts","../src/interfaces/Arrival.ts","../src/interfaces/ArrivalInfo.ts","../src/interfaces/AuditZoneInfo.ts","../src/interfaces/CustomerInfo.ts","../src/interfaces/CustomsInfo.ts","../src/interfaces/DashboardSettings.ts","../src/interfaces/DeadlineInfo.ts","../src/interfaces/DeliveryMethod.ts","../src/interfaces/DeliveryPrice.ts","../src/interfaces/DropPointInfo.ts","../src/interfaces/HistoryShipmentInfo.ts","../src/interfaces/ItemInfo.ts","../src/interfaces/Notification.ts","../src/interfaces/OrderInfo.ts","../src/interfaces/OrderLineInfo.ts","../src/interfaces/PackageInfo.ts","../src/interfaces/PackageLine.ts","../src/interfaces/PackageSortingInfo.ts","../src/interfaces/PackageTransferInfo.ts","../src/interfaces/PackagingInfo.ts","../src/interfaces/PickLineInfo.ts","../src/interfaces/PickListInfo.ts","../src/interfaces/PickListLineData.ts","../src/interfaces/PickSettings.ts","../src/interfaces/ProductionInfo.ts","../src/interfaces/ProductionOrderInfo.ts","../src/interfaces/ProductionQuickInfo.ts","../src/interfaces/PurchaseOrderInfo.ts","../src/interfaces/PurchaseOrderLineInfo.ts","../src/interfaces/RefundInfo.ts","../src/interfaces/RestockListInfo.ts","../src/interfaces/ReturnInfo.ts","../src/interfaces/ReturnOrderInfo.ts","../src/interfaces/ShelflabelTemplate.ts","../src/interfaces/ShipmentInfo.ts","../src/interfaces/ShipmentLineData.ts","../src/interfaces/ShipmentLineInfo.ts","../src/interfaces/ShippingMethodAddon.ts","../src/interfaces/ShippingMethodParameter.ts","../src/interfaces/ShippingMethodParameterOption.ts","../src/interfaces/ShippingMethodParcelType.ts","../src/interfaces/SortingZoneInfo.ts","../src/interfaces/StockHall.ts","../src/interfaces/StockInfo.ts","../src/interfaces/StockPlacement.ts","../src/interfaces/StockPlacementInfo.ts","../src/interfaces/StockSection.ts","../src/interfaces/StockUnit.ts","../src/interfaces/StockingLotInfo.ts","../src/interfaces/SupplierInfo.ts","../src/interfaces/ToteGroupInfo.ts","../src/interfaces/ToteInfo.ts","../src/interfaces/ToteItem.ts","../src/interfaces/TrolleyInfo.ts","../src/interfaces/UpdatedRefund.ts","../src/interfaces/UpdatedShipmentLine.ts","../src/interfaces/VendorInfo.ts","../src/interfaces/WarehouseActionInfo.ts","../src/interfaces/WarehouseReasonInfo.ts","../src/interfaces/WaybillInfo.ts","../src/systemApp/SystemApp.ts","../src/tools/AutoComplete.ts","../src/tools/BarcodeEngine.ts","../src/tools/ChartCollection.ts","../src/tools/CheckboxDoodle.ts","../src/tools/DialogBox.ts","../src/tools/DismissInfo.ts","../src/tools/DragDrop.ts","../src/tools/DropDown.ts","../src/tools/Guid.ts","../src/tools/NumberDoodle.ts","../src/tools/Point.ts","../src/tools/SearchAddresses.ts","../src/tools/SignalRConnection.ts","../src/tools/SortableList.ts","../src/tools/StockPlacementPicker.ts","../src/tools/SwipeMenu.ts"],"names":[],"mappings":"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","sourcesContent":["\r\nnamespace SP {\r\n export async function Notify(title: string, description: string, group: number, severity: number = 1) {\r\n var result:any = await SP.post(\"/api/v1/notification/create\", { title: title, description: description, recipientGroup: group, severity: severity });\r\n if (result.status == 200) return true;\r\n await SP.alertX(result.msg);\r\n return false;\r\n }\r\n\r\n export async function alertX(message: string) : Promise {\r\n await (new DialogBox(false)).prompt(message, true);\r\n }\r\n\r\n export async function confirmX(message: string): Promise {\r\n var dialog = new DialogBox(true);\r\n var result = await dialog.prompt(message, false);\r\n console.log(\"Result:\", result);\r\n return result;\r\n }\r\n}\r\n\r\nnamespace SP.Notification {\r\n export async function Notify(title: string, description: string, group: number, severity: number = 1) {\r\n var result: any = await SP.post(\"/api/v1/notification/create\", { title: title, description: description, recipientGroup: group, severity: severity });\r\n if (result.status == 200) return true;\r\n await SP.alertX(result.msg);\r\n return false;\r\n }\r\n\r\n export async function GetNotifications(all: boolean, count: number, page: number = 1) {\r\n return await SP.get(`/api/v1/notification/list?all=${all}&pagesize=${count}&p=${page}`);\r\n }\r\n\r\n export async function DismissNotifications(id: string) {\r\n return await SP.get(`/api/v1/notification/dismiss/${id ?? \"\"}`);\r\n }\r\n}\r\n\r\n","/// \r\n\r\nnamespace SP {\r\n export class SoundItem {\r\n url: string;\r\n volume: number;\r\n vibrateTime: number;\r\n sounds: HTMLAudioElement[] = [];\r\n lastplay: number;\r\n\r\n constructor(url: string, volume = 1, vibrateTime = 0) {\r\n this.url = url;\r\n this.volume = volume;\r\n this.vibrateTime = vibrateTime;\r\n }\r\n\r\n async play() {\r\n //min 50ms interval for sounds\r\n var now = performance.now();\r\n if (now - this.lastplay < 50) return;\r\n this.lastplay = now;\r\n\r\n //get from cache\r\n var a = this.sounds.splice(0, 1)[0];\r\n\r\n //create new sound if no present\r\n if (a == null) a = new Audio(this.url);\r\n\r\n //vibrate of needed\r\n if (this.vibrateTime > 0) window.navigator?.vibrate(this.vibrateTime);\r\n\r\n //set volume\r\n a.volume = this.volume;\r\n\r\n //play\r\n await a.play();\r\n \r\n //wait duration\r\n await SP.sleep((a.duration * 1000));\r\n\r\n //cache sound object\r\n this.sounds.push(a);\r\n }\r\n }\r\n}","/// \r\n\r\nnamespace SP {\r\n export class VibrateItem {\r\n lastplay: number;\r\n\r\n async play(vibrateTime: number) {\r\n //min 50ms interval for sounds\r\n var now = performance.now();\r\n if (now - this.lastplay < 10) return;\r\n this.lastplay = now;\r\n\r\n window.navigator?.vibrate(vibrateTime);\r\n }\r\n }\r\n}","/// \r\n/// \r\n\r\nnamespace SP.Sounds {\r\n export let Error = new SP.SoundItem('/sound/error.wav', 1, 200);\r\n export let Success = new SP.SoundItem('/sound/success.wav');\r\n export let Notification = new SP.SoundItem('/sound/notification.wav', 1, 200);\r\n export let Click = new SP.SoundItem('/sound/click.wav', 0.1, 25);\r\n export let Vibrate = new SP.VibrateItem();\r\n\r\n\r\n}\r\n\r\n","namespace SP.Data {\r\n export class Arrival {\r\n\r\n //private static arrivalInfo: { [arrivalId: string]: ArrivalInfo } = {};\r\n\r\n static async getArrivalInfo(arrivalId: string, useCache = true) {\r\n //if (useCache && this.arrivalInfo[arrivalId] != null) return this.arrivalInfo[arrivalId];\r\n var response = await SP.get(\"/api/v1/info/arrivalInfo/\" + arrivalId);\r\n if (response.status == 200) return response.data; // this.arrivalInfo[arrivalId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n //return this.arrivalInfo[arrivalId];\r\n //return response.data;\r\n }\r\n\r\n static async getArrivalInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/info/arrivalInfos\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async findSender(customerId: string, keyword: string, top: number): Promise {\r\n var response = await SP.get(\"/api/v1/arrival/findSender?customerId=\" + customerId + \"&keyword=\" + keyword + \"&top=\" + top);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\n","namespace SP.Data {\r\n export class Audit {\r\n\r\n //private static arrivalInfo: { [arrivalId: string]: ArrivalInfo } = {};\r\n\r\n static async getAuditZoneInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/info/auditZoneInfos\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n\r\n static async getAuditZonePlacementDatas(zoneId: string, currentPlacementId: number, maxResults: number): Promise {\r\n var response = await SP.get(`/api/v1/info/auditZonePlacementDatas?zoneId=${zoneId}&placementId=${currentPlacementId ?? ''}&maxResults=${maxResults}`);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n }\r\n}\r\n\r\n\r\n","namespace SP.Data {\r\n export class Customer {\r\n\r\n private static customerInfos: CustomerInfo[];\r\n private static customerInfo: { [customerId: string]: CustomerInfo } = {};\r\n\r\n static async getCustomerInfo(customerId: string, useCache = true) {\r\n if (useCache && this.customerInfo[customerId] != null) return this.customerInfo[customerId];\r\n var response = await SP.get(\"/api/v1/info/customerInfo/\" + customerId);\r\n if (response.status == 200) this.customerInfo[customerId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.customerInfo[customerId];\r\n }\r\n\r\n static async getCustomerInfos(useCache = true) {\r\n if (useCache && this.customerInfos != null) return this.customerInfos;\r\n var response = await SP.get(\"/api/v1/info/customerInfos\");\r\n if (response.status == 200) this.customerInfos = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.customerInfos;\r\n }\r\n\r\n static async getAllCustomerInfos() {\r\n let customerInfos: CustomerInfo[] = [];\r\n\r\n var response = await SP.get(\"/api/v1/info/customersInfo\");\r\n if (response.status == 200) {\r\n customerInfos = response.data;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return customerInfos;\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class Dashboard {\r\n\r\n static async getDashboardInfo(dashboardId: string) {\r\n const response = await SP.get(\"/api/v1/dashboard/get/\" + dashboardId);\r\n \r\n if (response.status == 200) {\r\n return response.data as SP.DashboardSettings;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n \r\n return null;\r\n }\r\n\r\n static async updateDashboard(postData: any) {\r\n const response = await SP.post(\"/api/v1/dashboard/update\", postData);\r\n\r\n if (response.status == 200) {\r\n return response.status;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return response.status;\r\n }\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class Deadline {\r\n static async getDeadlineInfos() {\r\n var response = await SP.get(\"/api/v1/info/deadlineInfos\");\r\n if (response.status == 200) return response.data as SP.DeadlineInfo[];\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class DeliveryMethod {\r\n\r\n static async getDroppoints(deliveryMethodId: string, customerId: string, country: string, zipcode: string, city: string, street: string) {\r\n\r\n var url = `/api/v1/droppoint/list/${deliveryMethodId}?country=${country}&zipcode=${zipcode}&city=${city}&street=${street}&maxresults=${100}`;\r\n\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-cache',\r\n 'api-customer': `${customerId}`\r\n }\r\n });\r\n\r\n const result = await response.json();\r\n console.log(result);\r\n if (result.status != 200)\r\n await SP.alertX(result.msg);\r\n\r\n return result.data as DropPointInfo[];\r\n }\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class Item {\r\n //private static itemInfo: { [lotId: string]: ItemInfo } = {};\r\n\r\n static async getProductionInfos(first: number) {\r\n var response = await SP.get(\"/api/v1/info/productionInfos/?first=\" + first);\r\n if (response.status == 200) return response.data as ProductionInfo[];\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getProductionInfo(ItemId: string) {\r\n var response = await SP.get(\"/api/v1/info/productionInfo/\" + ItemId);\r\n if (response.status == 200) return response.data as ProductionInfo;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getItemInfo(itemId: string, useCache = true) {\r\n //if (useCache && this.itemInfo[itemId] != null) return this.itemInfo[itemId];\r\n var response = await SP.get(\"/api/v1/item/get/\" + itemId);\r\n if (response.status == 200) return response.data; // this.itemInfo[itemId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n //return this.itemInfo[itemId];\r\n }\r\n\r\n static async getWarehouseItemInfo(itemId: string, useCache = true) {\r\n //if (useCache && this.itemInfo[itemId] != null) return this.itemInfo[itemId];\r\n var response = await SP.get(\"/api/v1/item/get/\" + itemId + \"?warehouseDetails=true\");\r\n if (response.status == 200) return response.data; // this.itemInfo[itemId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n //return this.itemInfo[itemId];\r\n }\r\n\r\n static async searchItemInfos(keyword: string, customerId: string, resultCount: number, types: ItemType[] = null) {\r\n var kw = encodeURIComponent(keyword);\r\n var url = `/api/v1/item/list?maxResults=${resultCount}&reverseLookup=true&warehouseDetails=true&barcode=${kw}&keyword=${kw}`;\r\n\r\n if (types != null) {\r\n url += `&itemTypes=${types.join(\",\")}`;\r\n }\r\n\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-cache',\r\n 'api-customer': `${customerId}`\r\n }\r\n });\r\n\r\n const result = await response.json();\r\n if (result.status = !200) await SP.alertX(result.msg);\r\n\r\n return result.data as ItemInfo[];\r\n }\r\n\r\n static async getItemInfos(skus: string[], customerId: string) {\r\n const response = await fetch(`/api/v1/item/list?maxResults=10000000&warehouseDetails=true&skus=${skus.join(\",\")}`, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-cache',\r\n 'api-customer': `${customerId}`\r\n }\r\n });\r\n\r\n const result = await response.json();\r\n if (result.status = !200) await SP.alertX(result.msg);\r\n\r\n return result.data as ItemInfo[];\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class Order {\r\n\r\n static async getOrderInfo(orderId: number) {\r\n var response = await SP.get(\"/api/v1/info/orderInfo/\" + orderId);\r\n if (response.status == 200) return response.data as SP.OrderInfo;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async searchOrderInfos(keyword: string) {\r\n const response = await fetch(`/api/v1/info/searchOrderInfos?keyword=${keyword}`, {\r\n method: \"GET\",\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-cache',\r\n }\r\n });\r\n\r\n const result = await response.json();\r\n if (result.status = !200) await SP.alertX(result.msg);\r\n\r\n return result.data as OrderInfo[];\r\n }\r\n\r\n static async searchOrderInfosBasic(keyword: string) {\r\n const response = await fetch(`/api/v1/info/searchOrderInfosBasic?keyword=${keyword}`, {\r\n method: \"GET\",\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-cache',\r\n }\r\n });\r\n\r\n const result = await response.json();\r\n if (result.status = !200) await SP.alertX(result.msg);\r\n\r\n return result.data as OrderInfo[];\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class Package {\r\n\r\n\r\n static async getPackageSortingInfo(scan_data: string): Promise {\r\n var response = await SP.post(\"/api/v1/package/sortingInfo/\", encodeURIComponent(scan_data));\r\n if (response.status == 200) return response.data as PackageSortingInfo;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n}","namespace SP.Data {\r\n export class Packaging {\r\n\r\n private static packagingInfos: SP.PackagingInfo[] = null;\r\n\r\n static async getPackagingInfos(useCache = true) {\r\n if (useCache && this.packagingInfos != null) return this.packagingInfos;\r\n var response = await SP.get(\"/api/v1/info/packagingInfos/\");\r\n if (response.status == 200) this.packagingInfos = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.packagingInfos;\r\n }\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class PickList {\r\n //private static pickListInfo: { [pickListId: number]: PickListInfo } = {};\r\n\r\n static async getPickListInfo(pickListId: number, useCache = true): Promise {\r\n //if (useCache && this.pickListInfo[pickListId] != null) return this.pickListInfo[pickListId];\r\n var response = await SP.get(\"/api/v1/info/pickListInfo/\" + pickListId);\r\n if (response.status == 200) return response.data as PickListInfo; // this.pickListInfo[pickListId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n //return this.pickListInfo[pickListId];\r\n return null;\r\n }\r\n\r\n static async getPickListInfoFromTote(toteId: number): Promise {\r\n var response = await SP.get(\"/api/v1/picklist/get/?toteId=\" + toteId);\r\n if (response.status == 200) return response.data as PickListInfo; // this.pickListInfo[pickListId] = response.data;\r\n return null;\r\n }\r\n\r\n static async getPickListInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/info/pickListInfos?active=1\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getFinishedPickListInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/info/pickListInfos?ready=0\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getPickListLinesData(pickListId: number): Promise {\r\n var response = await SP.get(\"/api/v1/picklist/getLines/\" + pickListId);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getPickListProductionData(pickListId: number): Promise {\r\n var response = await SP.get(\"/api/v1/picklist/getProductionItemInfos/\" + pickListId);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class PickProfile {\r\n\r\n\r\n static async getPickProfileInfo(profileId: string): Promise {\r\n var response = await SP.get(\"/api/v1/info/pickProfileInfo/\" + profileId);\r\n if (response.status == 200) return response.data as PickProfileInfo;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getPickProfileInfos(customerId: string) {\r\n var response = await SP.get(\"/api/v1/info/pickProfileInfos/\" + customerId);\r\n if (response.status == 200) return response.data as PickSettingInfo[];\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class PurchaseOrder {\r\n\r\n static async getPurchaseOrder(id: number): Promise {\r\n var response = await SP.get(\"/api/v1/purchaseorder/get/\" + id);\r\n if (response.status == 200) return response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n\r\n static async getBarcodeSearch(barcode: string, includeLines: boolean = false): Promise {\r\n var bc = encodeURIComponent(barcode);\r\n var response = await SP.get(`/api/v1/purchaseorder/barcodesearch/?barcode=${bc}&warehouseInfo=true&includeLines=${includeLines}`);\r\n if (response.status == 200) return response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getPurchaseOrders(customerId: string, type: PurchaseOrderType, state: PurchaseOrderState, keyword:string = \"\", includeLines:boolean = false) {\r\n const response = await fetch(`/api/v1/purchaseorder/list?type=${type}&state=${state}&keyword=${keyword}&warehouseInfo=true&includeLines=${includeLines}`, {\r\n method: 'GET',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-cache',\r\n 'api-customer': `${customerId}`\r\n }\r\n });\r\n\r\n const result = await response.json();\r\n if (result.status = !200) await SP.alertX(result.msg);\r\n\r\n return result.data as purchaseOrderInfo[];\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class QuickProduction {\r\n\r\n static async getInfo(orderCount: number, totalOnly: boolean) {\r\n var response = await SP.get(\"/api/v1/production/quickInfo/?OrderQty=\" + orderCount + \"&TotalOnly=\" + totalOnly);\r\n if (response.status == 200) return response.data as ProductionQuickInfo;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n \r\n }\r\n}","namespace SP.Data {\r\n export class Refund {\r\n\r\n static async getRefundtInfo(refundId: string) {\r\n var response = await SP.get(\"/api/v1/info/refundInfo/\" + refundId);\r\n\r\n if (response.status == 200) {\r\n return (response.data as RefundInfo);\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n static async updateRefund(postData: any) {\r\n var response = await SP.post(\"/api/v1/refund/update\", postData);\r\n\r\n if (response.status == 200) {\r\n return response.status;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n static async getRefundBundleBalance(refundId: string) {\r\n var response = await SP.get(\"/api/v1/refund/getRefundBundleBalanceLines/\" + refundId);\r\n\r\n if (response.status == 200) {\r\n return (response.data as RefundBundleBalanceLine[]);\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n static async createRefund(shipmentId: string) {\r\n var response = await SP.get(\"/api/v1/refund/create/\" + shipmentId);\r\n\r\n if (response.status == 200 || response.status == 5314) {\r\n return response;\r\n }\r\n else {\r\n await alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class RestockList {\r\n\r\n static async getRestockListInfo(id: number): Promise {\r\n var response = await SP.get(\"/api/v1/restock/get/\" + id);\r\n if (response.status == 200) return response.data as RestockListInfo; \r\n //else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getRestockListInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/restock/list\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data as RestockListInfo[];\r\n }\r\n\r\n \r\n }\r\n}","namespace SP.Data {\r\n export class ReturnShipment {\r\n\r\n static async getReturnShipmentInfo(trackingNumber: string) {\r\n var response = await SP.get(\"/api/v1/info/returnShipmentInfo/\" + trackingNumber);\r\n\r\n if (response.status == 200) {\r\n return response.data as ReturnOrderInfo;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n static async getReturnShipmentInfoByOrderId(orderId: number) {\r\n var response = await SP.get(\"/api/v1/info/returnShipmentInfoByOrderId/\" + orderId);\r\n\r\n if (response.status == 200) {\r\n return response.data as ReturnOrderInfo;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n static async getShipmentInfo(shipmentId: string) {\r\n var response = await SP.get(\"/api/v1/info/shipmentInfo/\" + shipmentId);\r\n\r\n if (response.status == 200) {\r\n return response.data as ShipmentInfo;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n\r\n static async createReturnShipment(id: string, warehouseActionId: string, warehouseReasonId: string) {\r\n var response = await SP.get(`/api/v1/shipment/createReturnShipmentFast?id=${id}&warehouseActionId=${warehouseActionId}&warehouseReasonId=${warehouseReasonId}`);\r\n\r\n if (response.status == 200) {\r\n return response.data;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n\r\n static async finishReturnShipment(postData: any) {\r\n var response = await SP.post(`/api/v1/returnShipment/updateAndFinish`, postData);\r\n\r\n if (response.status == 200) {\r\n return response;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return response;\r\n }\r\n\r\n\r\n static async searchOrderShipmentInfos(postData: any) {\r\n const response = await SP.post(`/api/v1/info/searchOrderInfosShipments`, postData);\r\n\r\n if (response.status != 200)\r\n await SP.alertX(response.msg);\r\n\r\n return response.data as ReturnOrderInfo[];\r\n }\r\n\r\n\r\n static async cancelReturnShipment(shipmentId: string) {\r\n var response = await SP.get(\"/api/v1/returnshipment/cancel/\" + shipmentId);\r\n\r\n if (response.status == 200) {\r\n return response.status;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n}","namespace SP {\r\n\r\n export const ShelflabelTemplates: { [id: string]: ShelflabelTempate } = {\r\n \"1\": {\r\n id: 1,\r\n name: \"Horizontal [SECTION+UNIT][ROW][PLACE][QR]\"\r\n },\r\n \"2\": {\r\n id: 2,\r\n name: \"Horizontal [QR][SECTION+UNIT][ROW][PLACE]\"\r\n },\r\n \"3\": {\r\n id: 3,\r\n name: \"Horizontal [QR][SECTION][UNIT][ROW]\"\r\n },\r\n \"4\": {\r\n id: 4,\r\n name: \"Horizontal [SECTION][UNIT][ROW][QR]\"\r\n },\r\n \"5\": {\r\n id: 5,\r\n name: \"Vertical [QR][SECTION+UNIT][ROW][PLACE]\"\r\n },\r\n \"6\": {\r\n id: 6,\r\n name: \"Vertical [SECTION+UNIT][ROW][PLACE][QR]\"\r\n },\r\n \"7\": {\r\n id: 7,\r\n name: \"Horizontal [SECTION][UNIT][ROW][CODE128]\"\r\n },\r\n \"8\": {\r\n id: 8,\r\n name: \"Horizontal [SECTION][UNIT][ROW][PLACE][CODE128]\"\r\n },\r\n \"9\": {\r\n id: 9,\r\n name: \"Horizontal [SECTION-UNIT][ROW][PLACE][QR]\"\r\n },\r\n \"10\": {\r\n id: 10,\r\n name: \"Horizontal [SECTION+UNIT][ROW][QR] (simple)\"\r\n },\r\n \"11\": {\r\n id: 11,\r\n name: \"Horizontal [SECTION][UNIT][PLACE][QR]\"\r\n },\r\n \"12\": {\r\n id: 12,\r\n name: \"Horizontal [SECTION][UNIT][ROW][PLACE][QR]\"\r\n },\r\n \"13\": {\r\n id: 13,\r\n name: \"Horizontal [SECTION][ROW][UNIT][CODE128]\"\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class Shipment {\r\n\r\n\r\n static async getShipmentInfo(shipmentId: string) {\r\n var response = await SP.get(\"/api/v1/info/shipmentInfo/\" + shipmentId);\r\n if (response.status == 200) return response.data as SP.ShipmentInfo;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getHistoryShipmentInfo(barcode: string = \"\", keyword: string = \"\") {\r\n var bc = encodeURIComponent(barcode);\r\n var kw = encodeURIComponent(keyword);\r\n var response = await SP.get(\"/api/v1/shipment/history?barcode=\" + bc + \"&keyword=\" + kw);\r\n if (response.status == 200) return response.data as SP.HistoryShipmentInfo[];\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class Statistics {\r\n\r\n static async get(key: string, from: string, to: string, grouping: StatGroup, userId: string = null) {\r\n //if (useCache && this.itemInfo[itemId] != null) return this.itemInfo[itemId];\r\n\r\n var url = `/api/v1/statistics/get/${key}?from=${from}&to=${to}&group=${grouping}`;\r\n if (userId) url += `&user=${userId}`;\r\n var response = await SP.get(url);\r\n if (response.status == 200) return response.data; // this.itemInfo[itemId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class Stock {\r\n private static stockInfos: { [stockId: string]: StockInfo } = {};\r\n private static halls: { [stockId: string]: StockHall[] } = {};\r\n private static sections: { [hallId: string]: StockSection[] } = {};\r\n private static units: { [sectionId: string]: StockUnit[] } = {};\r\n private static placements: { [unitId: string]: StockPlacement[] } = {};\r\n private static placementInfo: { [placementId: string]: StockPlacementInfo } = {};\r\n private static allStockInfos: StockInfo[];\r\n\r\n static async getStockInfos(useCache = true) {\r\n if (useCache && this.allStockInfos != null) return this.allStockInfos;\r\n var response = await SP.get(\"/api/v1/info/stockInfos/\");\r\n if (response.status == 200) {\r\n this.allStockInfos = response.data;\r\n for (let i = 0; i < this.allStockInfos.length; i++) {\r\n var si = this.allStockInfos[i];\r\n this.stockInfos[si.stockId] = si;\r\n }\r\n }\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.allStockInfos;\r\n }\r\n\r\n\r\n static async getStockInfo(stockId: string, useCache = true) {\r\n if (useCache && this.stockInfos[stockId] != null) return this.stockInfos[stockId];\r\n var response = await SP.get(\"/api/v1/info/stockInfo/\" + stockId);\r\n if (response.status == 200) {\r\n this.stockInfos[stockId] = response.data;\r\n \r\n }\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.stockInfos[stockId];\r\n }\r\n\r\n static async getHalls(stockId: string, useCache = true) {\r\n if (useCache && this.halls[stockId] != null) return this.halls[stockId];\r\n var response = await SP.get(\"/api/v1/info/stockHalls/\" + stockId);\r\n if (response.status == 200) this.halls[stockId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.halls[stockId];\r\n }\r\n\r\n static async getSections(hallId: string, useCache = true) {\r\n if (useCache && this.sections[hallId] != null) return this.sections[hallId];\r\n var response = await SP.get(\"/api/v1/info/stockSections/\" + hallId);\r\n if (response.status == 200) this.sections[hallId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.sections[hallId];\r\n }\r\n\r\n static async getUnits(sectionId: string, useCache = true) {\r\n if (useCache && this.units[sectionId] != null) return this.units[sectionId];\r\n var response = await SP.get(\"/api/v1/info/stockUnits/\" + sectionId);\r\n if (response.status == 200) this.units[sectionId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.units[sectionId];\r\n }\r\n\r\n static async getPlacements(unitId: string, useCache = true) {\r\n if (useCache && this.placements[unitId] != null) return this.placements[unitId];\r\n var response = await SP.get(\"/api/v1/info/stockPlacements/\" + unitId);\r\n if (response.status == 200) this.placements[unitId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.placements[unitId];\r\n }\r\n\r\n static async getPlacementInfo(placementId: number, useCache = true) {\r\n if (useCache && this.placementInfo[placementId] != null) return this.placementInfo[placementId];\r\n var response = await SP.get(\"/api/v1/info/stockPlacementInfo/\" + placementId);\r\n if (response.status == 200) this.placementInfo[placementId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return this.placementInfo[placementId];\r\n }\r\n }\r\n}","namespace SP.Data {\r\n\r\n export interface RefillLotResponse {\r\n itemId: string,\r\n lots: StockingLotInfo[]\r\n }\r\n export class StockingLot {\r\n //private static stockingLotInfo: { [lotId: string]: StockingLotInfo } = {};\r\n //private static arrivalStockingLotInfos: { [arrivalId: string]: StockingLotInfo[] } = {};\r\n //private static barcodeStockingLotInfos: { [barcode: string]: StockingLotInfo[] } = {};\r\n //private static placementStockingLotInfos: { [placementId: number]: StockingLotInfo[] } = {};\r\n //private static itemStockingLotInfos: { [itemId: string]: StockingLotInfo[] } = {};\r\n\r\n static async getStockingLotInfo(lotId: string, useCache = true) {\r\n //if (useCache && this.stockingLotInfo[lotId] != null) return this.stockingLotInfo[lotId];\r\n var response = await SP.get(\"/api/v1/info/stockingLotInfo/\" + lotId);\r\n if (response.status == 200) return response.data as StockingLotInfo;// this.stockingLotInfo[lotId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n //return this.stockingLotInfo[lotId];\r\n }\r\n\r\n static async getArrivalStockingLotInfos(arrivalId: string, useCache = true) {\r\n //if (useCache && this.arrivalStockingLotInfos[arrivalId] != null) return this.arrivalStockingLotInfos[arrivalId];\r\n var response = await SP.get(\"/api/v1/info/stockingLotInfos/?arrivalId=\" + arrivalId);\r\n if (response.status == 200) return response.data as StockingLotInfo[];// this.arrivalStockingLotInfos[arrivalId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n //return this.arrivalStockingLotInfos[arrivalId];\r\n }\r\n\r\n static async getBarcodeStockingLotInfos(barcode: string, useCache = true) {\r\n //if (useCache && this.barcodeStockingLotInfos[barcode] != null) return this.barcodeStockingLotInfos[barcode];\r\n var bc = encodeURIComponent(barcode);\r\n var response = await SP.get(\"/api/v1/info/stockingLotInfos/?barcode=\" + bc);\r\n if (response.status == 200) return response.data as StockingLotInfo[];// this.barcodeStockingLotInfos[barcode] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n //return this.barcodeStockingLotInfos[barcode];\r\n }\r\n\r\n static async getPlacementStockingLotInfos(placementId: number) {\r\n var response = await SP.get(\"/api/v1/info/stockingLotInfos/?maxResults=1000&placementId=\" + placementId);\r\n if (response.status == 200) return response.data as StockingLotInfo[];// this.placementStockingLotInfos[placementId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n //return this.placementStockingLotInfos[placementId];\r\n }\r\n\r\n\r\n static async getItemStockingLotInfos(itemId: string, useCache = true) {\r\n //if (useCache && this.itemStockingLotInfos[itemId] != null) return this.itemStockingLotInfos[itemId];\r\n var response = await SP.get(\"/api/v1/info/stockingLotInfos/?itemId=\" + itemId);\r\n if (response.status == 200) return response.data as StockingLotInfo[];// this.itemStockingLotInfos[itemId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n //return this.itemStockingLotInfos[itemId];\r\n }\r\n\r\n\r\n static async getRefillStockingLotInfos() {\r\n //if (useCache && this.itemStockingLotInfos[itemId] != null) return this.itemStockingLotInfos[itemId];\r\n var response = await SP.get(\"/api/v1/info/stockingLotInfos/?refill=true\");\r\n if (response.status == 200) return response.data as [{ key:string, value: RefillLotResponse[] }];// this.itemStockingLotInfos[itemId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n //return this.itemStockingLotInfos[itemId];\r\n }\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class Tote {\r\n\r\n //private static toteInfo: { [toteId: string]: ToteInfo } = {};\r\n\r\n static async getToteInfo(toteId: string, useCache = true) {\r\n //if (useCache && this.toteInfo[toteId] != null) return this.toteInfo[toteId];\r\n var response = await SP.get(\"/api/v1/info/toteInfo/\" + toteId);\r\n if (response.status == 200) return response.data as ToteInfo;// this.toteInfo[toteId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getToteInfos(toteIds: number[], useCache = true) {\r\n //if (useCache && this.toteInfo[toteId] != null) return this.toteInfo[toteId];\r\n var response = await SP.get(\"/api/v1/info/toteInfos/\" + toteIds.join(\",\"));\r\n if (response.status == 200) return response.data as ToteInfo[];// this.toteInfo[toteId] = response.data;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getTempToteInfo() {\r\n var response = await SP.get(\"/api/v1/info/tempToteInfo/\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data as ToteInfo;\r\n }\r\n\r\n static async getToteInfoGroupedPick(barcode: string, trolleyId: number) {\r\n var response = await SP.get(\"/api/v1/info/toteInfoGroupedPick/\" + barcode + \"?trolleyId=\" + trolleyId);\r\n //if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data as ToteInfo;\r\n }\r\n\r\n static async getToteGroupInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/info/toteGroupInfos\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getToteInfosByGroup(toteGroupId: string, showOnlyFree: boolean): Promise {\r\n var response = await SP.get(\"/api/v1/info/toteInfosByGroup/\" + toteGroupId + \"?ShowOnlyFree=\" + showOnlyFree);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getToteInfosBarcode(barcode: string, orderNumber: string): Promise {\r\n var bc = encodeURIComponent(barcode);\r\n var response = await SP.get(`/api/v1/info/toteInfosBarcode?barcode=${bc}&orderNo=${orderNumber}`);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n\r\n static async getActiveToteInfos(keyword: string = ''): Promise {\r\n var response = await SP.get(\"/api/v1/info/toteInfosActive?keyword=\" + keyword);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getOrderToteInfos(orderId: string = ''): Promise {\r\n var response = await SP.get(\"/api/v1/info/toteInfosOrder?orderId=\" + orderId);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getReadyToteInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/info/toteInfosReady\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getMoveToteInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/info/toteInfosMove\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n\r\n static async getPendingToteInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/info/toteInfosPending\");\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n return response.data;\r\n }\r\n }\r\n}","namespace SP.Data {\r\n\r\n\r\n export class Transfer {\r\n\r\n\r\n static async getPackageTransferInfo(scan_data: string): Promise {\r\n var response = await SP.post(\"/api/v1/transfer/info/\", encodeURIComponent(scan_data));\r\n if (response.status == 200) return response.data as PackageTransferInfo;\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getPackageTransferInfos(): Promise {\r\n var response = await SP.get(\"/api/v1/transfer/list/\");\r\n if (response.status == 200) return response.data as PackageTransferInfo[];\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n }\r\n}","namespace SP.Data {\r\n export class Trolley {\r\n\r\n private static trolleys: TrolleyInfo[] = null;\r\n\r\n static async getTrolleyInfos(useCache = true) {\r\n if (useCache && this.trolleys) return this.trolleys;\r\n var response = await SP.get(\"/api/v1/info/trolleyInfos/\");\r\n if (response.status == 200) {\r\n this.trolleys = response.data as TrolleyInfo[];\r\n return this.trolleys;\r\n }\r\n else await SP.alertX(response.status + \": \" + response.msg);\r\n return null;\r\n }\r\n\r\n static async getTrolleyInfo(id: number) {\r\n if (!this.trolleys) {\r\n await this.getTrolleyInfos();\r\n }\r\n return this.trolleys.filter(t => t.id == id)[0];\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class WarehouseReasonsAndActions {\r\n\r\n private static warehouseActions: WarehouseActionInfo[];\r\n private static warehouseReasons: WarehouseReasonInfo[];\r\n\r\n static async getWarehouseActions(useCache = true) {\r\n if (useCache && (this.warehouseActions != null && this.warehouseActions.length != 0)) {\r\n return this.warehouseActions;\r\n }\r\n\r\n var response = await SP.get(\"/api/v1/warehouseAction/getAllWarehouseActions\");\r\n if (response.status == 200) {\r\n this.warehouseActions = response.data;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return this.warehouseActions;\r\n }\r\n\r\n static async getWarehouseReasons(useCache = true) {\r\n if (useCache && (this.warehouseReasons != null && this.warehouseReasons.length != 0)) {\r\n return this.warehouseReasons;\r\n }\r\n\r\n var response = await SP.get(\"/api/v1/warehouseReason/getAllWarehouseReasons\");\r\n if (response.status == 200) {\r\n this.warehouseReasons = response.data;\r\n }\r\n else {\r\n await SP.alertX(response.status + \": \" + response.msg);\r\n }\r\n\r\n return this.warehouseReasons\r\n }\r\n }\r\n}","namespace SP.Data {\r\n export class Waybill {\r\n\r\n private static waybillInfo: { [waybillId: string]: WaybillInfo } = {};\r\n\r\n static async getWaybillInfo(waybillId: number, useCache = true): Promise {\r\n let result = null;\r\n if (useCache) result = this.waybillInfo[waybillId];\r\n\r\n if (result == null) {\r\n var response = await SP.get(\"/api/v1/info/waybillInfo/\" + waybillId);\r\n if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n result = response.data;\r\n if (response.status == 200 && useCache) this.waybillInfo[waybillId] = result;\r\n }\r\n return result;\r\n }\r\n\r\n //static async getWaybillInfos(): Promise {\r\n // var response = await SP.get(\"/api/v1/info/waybillInfos\");\r\n // if (response.status != 200) await SP.alertX(response.status + \": \" + response.msg);\r\n // return response.data;\r\n //}\r\n\r\n }\r\n}","namespace SP {\r\n export enum ArrivalType {\r\n Standard = 1,\r\n Return = 2,\r\n Audit = 3,\r\n InternalReturn = 4\r\n }\r\n}","namespace SP {\r\n export enum AuditReason {\r\n StockAudit = 0,\r\n ItemMissing = 1,\r\n ItemBroken = 2,\r\n DeliveryMiscount = 3,\r\n Other = 4\r\n }\r\n}","namespace SP {\r\n export enum ItemType {\r\n Normal = 0,\r\n NormalWithBundleContent = 1,\r\n Collection = 2,\r\n Service = 10,\r\n Bundle = 20,\r\n ProducibleBundle = 21,\r\n Freight = 25,\r\n DontImport = 27,\r\n Ignore_FulfillFirst = 28,\r\n Ignore_FulfillLast = 29,\r\n Ignore_FulfillInstantly = 30\r\n }\r\n}","namespace SP {\r\n export enum OrderState {\r\n PendingPresell = -20,\r\n PendingReturnShipment = -10,\r\n None = 0,\r\n ReadyForPacking = 1,\r\n ItemsMissing = 2,\r\n Error = 3,\r\n Packing = 4,\r\n Packed = 5,\r\n Cancelled = 6\r\n }\r\n\r\n}","namespace SP {\r\n export enum OrderType {\r\n Order = 1,\r\n InternalOrder = 2,\r\n LabelOnly = 3,\r\n POS = 4,\r\n CollectionAssembly = 5,\r\n CollectionDisassembly = 6\r\n }\r\n}","namespace SP {\r\n export enum PackageState {\r\n None = 0,\r\n Packed = 1,\r\n ScannedToPallet = 2,\r\n }\r\n}","namespace SP {\r\n export enum Period {\r\n Today = 1,\r\n Yesterday = 2,\r\n ThisWeek = 3,\r\n LastWeek = 4,\r\n ThisMonth = 5,\r\n LastMonth = 6,\r\n ThisYear = 7,\r\n LastYear = 8,\r\n Last7Days = 9,\r\n Last30Days = 10,\r\n Last365Days = 11\r\n }\r\n}","namespace SP {\r\n export enum PeriodDateType {\r\n CreatedAt = 1,\r\n FinishedAt = 2,\r\n UpdatedAt = 3,\r\n CancelledAt = 4,\r\n }\r\n}","namespace SP {\r\n export enum PickAlgorithm {\r\n Point = 0,\r\n AllPoints = 1,\r\n Snake = 2,\r\n }\r\n}","namespace SP {\r\n export enum PickDistancePreference {\r\n Combined = 0,\r\n CombinedTolerant = 1,\r\n CombinedTolerantPlus = 2,\r\n Avrage = 3,\r\n AvrageTolerant = 4,\r\n AvrageTolerantPlus = 5,\r\n }\r\n}","namespace SP {\r\n export enum PickOrderPreference {\r\n ExpirationDate = 0,\r\n AllSameLocation = 1,\r\n Closest = 2,\r\n FirstArrived = 3,\r\n SmallestStockQuantity = 4,\r\n BiggestStockQuantity = 5,\r\n BottomPickFirst = 6,\r\n TopPickFirst = 7,\r\n PlacementPickPriority = 8,\r\n ExactStockQuantity = 9,\r\n }\r\n}","\r\nnamespace SP {\r\n export enum PicklistBarcodePreference {\r\n All = 1,\r\n OnlyWithBarcode = 2,\r\n OnlyWithoutBarcode = 3\r\n }\r\n}\r\n\r\n\r\n","\r\nnamespace SP {\r\n export enum PicklistType {\r\n Standard = 1,\r\n Grouped = 2,\r\n }\r\n}\r\n\r\n\r\n","namespace SP {\r\n export enum PurchaseOrderState {\r\n None = 0,\r\n Open = 1,\r\n Ordered = 2,\r\n Closed = 3,\r\n Canceled = 4\r\n }\r\n}","namespace SP {\r\n export enum PurchaseOrderType {\r\n PurchaseOrder = 0,\r\n ReturnOrder = 1,\r\n }\r\n}","namespace SP {\r\n export enum RefundType {\r\n Refund = 1,\r\n Gift_card = 2,\r\n No_Refund = 3,\r\n }\r\n}","namespace SP {\r\n export enum ReturnActionType {\r\n Refund = 1,\r\n Exchange = 2,\r\n Other = 3,\r\n }\r\n}\r\n","namespace SP {\r\n export enum ReturnMethod {\r\n ReceiveOnly = 1,\r\n ReceiveAndRefund = 2,\r\n ReceiveAndRefundAndConfirm = 3,\r\n ReceiveAndRefundAndConfirmExclGiftcard = 4,\r\n }\r\n}","namespace SP {\r\n export enum ShipmentLineDataType {\r\n BatchNumber = 1,\r\n SerialNumber = 2,\r\n ExpirationDate = 3 \r\n }\r\n}","namespace SP {\r\n export enum ShipmentState {\r\n ReturnPending = 1,\r\n ReturnReceived = 2,\r\n ReturnFinished = 3,\r\n ReturnCanceled = 4,\r\n }\r\n}","namespace SP {\r\n export class ShippingMethodParameterType {\r\n static string = \"string\";\r\n static password = \"password\";\r\n static integer = \"integer\";\r\n static decimal = \"decimal\";\r\n static boolean = \"boolean\";\r\n static datetime = \"datetime\";\r\n static options = \"options\";\r\n static bigtext = \"bigtext\";\r\n static timeofday = \"timeofday\";\r\n static date = \"date\";\r\n }\r\n}","namespace SP {\r\n export enum StackedColumnPeriod {\r\n ThisWeek = 1,\r\n LastWeek = 2,\r\n ThisYear = 4,\r\n LastYear = 5,\r\n ThisQuarter = 6,\r\n LastQuarter = 7,\r\n }\r\n}","namespace SP {\r\n export enum StatGroup {\r\n MonthInYear = 0,\r\n DayInMonth = 1,\r\n HourInDay = 2,\r\n WeekDay = 3,\r\n Hour = 4,\r\n Day = 5,\r\n Week = 6,\r\n Month = 7,\r\n Year = 8\r\n }\r\n}","namespace SP {\r\n export enum UnitType {\r\n pcs = 0,\r\n m = 1,\r\n cm = 2,\r\n mm = 3,\r\n t = 4,\r\n kg = 5,\r\n g = 6,\r\n lb = 7,\r\n oz = 8,\r\n l = 9,\r\n ml = 10\r\n }\r\n}","namespace SP {\r\n const dictionary: { [key: string]: string } = {};\r\n\r\n export function addLocalization(key: string, word: string) {\r\n dictionary[key] = word;\r\n }\r\n\r\n export function Localize(key: string) {\r\n if (dictionary[key] == null) {\r\n console.log(\"JSTranslation for '\" + key + \"' is missing!\");\r\n dictionary[key] = key;\r\n }\r\n return dictionary[key];\r\n }\r\n}","namespace SP {\r\n\r\n export async function blurActive() {\r\n (document.activeElement as HTMLElement).blur();\r\n await SP.sleep(0);\r\n }\r\n}","namespace SP {\r\n export function bindClickHold(button: HTMLElement, longduration: number, short: () => void, long: () => void) {\r\n let clicked = false;\r\n let to: NodeJS.Timeout = null;\r\n\r\n let up = () => {\r\n document.removeEventListener(\"pointerup\", up);\r\n clearTimeout(to);\r\n if (!clicked) {\r\n console.log(\"click\");\r\n short();\r\n }\r\n }\r\n\r\n\r\n let down = () => {\r\n clicked = false;\r\n document.addEventListener(\"pointerup\", up);\r\n to = setTimeout(() => {\r\n long();\r\n clicked = true;\r\n console.log(\"long click\");\r\n\r\n }, longduration);\r\n }\r\n\r\n button.addEventListener(\"pointerdown\", down);\r\n }\r\n \r\n}","namespace SP {\r\n\r\n export function clone(data: T) {\r\n return JSON.parse(JSON.stringify(data)) as T;\r\n }\r\n}","namespace SP {\r\n\r\n export function createElement(elementName: string, attrs: any = null) {\r\n\r\n var el = document.createElement(elementName);\r\n\r\n if (attrs != null)\r\n for (var key in attrs) {\r\n (el as any)[key] = attrs[key];\r\n }\r\n\r\n return el;\r\n }\r\n}","namespace SP {\r\n export function dataEquals(one: any, two: any) {\r\n if (one === two) return true;\r\n if (typeof (one) != typeof (two)) return false;\r\n if (Array.isArray(one) != Array.isArray(two)) return false;\r\n\r\n if (Array.isArray(one)) {\r\n for (let i = 0; i < one.length; i++) {\r\n if (two[i] != one[i]) return false;\r\n }\r\n\r\n for (let i = 0; i < two.length; i++) {\r\n if (one[i] != two[i]) return false;\r\n }\r\n }\r\n else {\r\n for (var name in one) {\r\n if (two[name] != one[name])\r\n return false;\r\n }\r\n for (var name in two) {\r\n if (one[name] != two[name])\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n}","\r\nnamespace SP {\r\n var n = 0;\r\n export function duplicate(original: HTMLElement): HTMLElement {\r\n var clone = original.cloneNode(true) as HTMLElement; // \"deep\" clone\r\n clone.id += ++n; // there can only be one element with an ID\r\n return clone;\r\n }\r\n}","namespace SP {\r\n export function fixFloatingNumber(number: number): number {\r\n return parseFloat(number.toPrecision(12));\r\n }\r\n \r\n}","namespace SP {\r\n let _zoom = 1;\r\n \r\n export function formatNumber(amount: number = null, decimals: number = 2, locale: string = 'en-US', style: string = 'decimal') {\r\n // Create a new instance of Intl.NumberFormat\r\n const formatter = new Intl.NumberFormat(locale, {\r\n style: style, // This is for normal number formatting, not currency\r\n minimumFractionDigits: decimals, // Ensures two digits after the decimal\r\n maximumFractionDigits: decimals, // Ensures no more than two digits after the decimal\r\n });\r\n\r\n // Use the format method of the formatter to format your number\r\n return formatter.format(amount);\r\n }\r\n}","namespace SP {\r\n\r\n export async function get(url: string, callback: (result: any) => any = null) {\r\n\r\n const response = await fetch(url, {\r\n method: 'GET',\r\n cache: \"no-store\",\r\n headers: {\r\n 'Accept': 'application/json, text/plain, */*',\r\n 'Content-Type': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-store',\r\n }\r\n });\r\n\r\n //const response = await fetch(url);\r\n\r\n if (!response.ok) {\r\n console.log(response);\r\n }\r\n\r\n var result = await response.json();\r\n\r\n if (callback != null) callback(result);\r\n\r\n return SP.promise(result);\r\n }\r\n}","namespace SP {\r\n export type anyObject = { [key: string]: anyObject | any };\r\n export function getObjectRefrence(obj: anyObject | any): string {\r\n if (typeof obj !== \"object\" || obj === null) return typeof obj;\r\n\r\n let objTypes: string[] = [];\r\n for (let k in obj) {\r\n if (obj.hasOwnProperty(k)) {\r\n let type = typeof obj[k];\r\n switch (type) {\r\n case \"object\":\r\n if (obj[k] === null) {\r\n objTypes.push(`${k}: null`);\r\n } else {\r\n let def = getObjectRefrence(obj[k]);\r\n objTypes.push(`${k}: ${def}`);\r\n }\r\n break;\r\n default:\r\n objTypes.push(`${k}: ${type}`);\r\n }\r\n }\r\n }\r\n\r\n return `{ ${objTypes.join(\", \")} }`;\r\n }\r\n}\r\n","namespace SP {\r\n\r\n export function getHashData() {\r\n var hash = window.location.hash.substr(1);\r\n var data: { [name: string]: string } = {};\r\n var groups = hash.split('&');\r\n for (var i = 0; i < groups.length; i++) {\r\n var item = groups[i].split(\"=\");\r\n if (item[0])\r\n data[item[0]] = window.decodeURIComponent(item[1]);\r\n }\r\n return data;\r\n }\r\n\r\n\r\n export function getHash(name: string) {\r\n var value = getHashData()[name];\r\n //console.log(\"getHash\", name, value);\r\n return value;\r\n }\r\n\r\n export function setHash(name: string, value: string) {\r\n var data = getHashData();\r\n if (dataEquals(data[name], value)) return;\r\n\r\n if (!value) delete data[name];\r\n else data[name] = value;\r\n\r\n var arr = [];\r\n for (var name in data) {\r\n arr.push(name + \"=\" + data[name]);\r\n }\r\n\r\n window.location.hash = \"#\" + arr.join(\"&\");\r\n }\r\n\r\n export function setManyHash(params: { [name: string]: string }) {\r\n var data = getHashData();\r\n\r\n for (let name in params) {\r\n let value = params[name];\r\n if (dataEquals(data[name], value)) continue;\r\n\r\n if (!value) delete data[name];\r\n else data[name] = value;\r\n }\r\n\r\n var arr = [];\r\n for (var name in data) {\r\n arr.push(name + \"=\" + data[name]);\r\n }\r\n\r\n window.location.hash = \"#\" + arr.join(\"&\");\r\n }\r\n\r\n export function setAllHash(params: { [name: string]: string }) {\r\n var current = getHashData();\r\n var data = params;\r\n\r\n if (dataEquals(current, data)) return;\r\n\r\n var arr = [];\r\n for (var name in data) {\r\n if (data[name] !== undefined) { \r\n arr.push(name + \"=\" + data[name]);\r\n }\r\n }\r\n\r\n window.location.hash = \"#\" + arr.join(\"&\");\r\n }\r\n}","namespace SP {\r\n\r\n export class paramObject{\r\n name: string;\r\n value: string;\r\n constructor(name: string, value: string) {\r\n this.name = name;\r\n this.value = value;\r\n\r\n }\r\n }\r\n\r\n export function getParamData() {\r\n var data = {} as any;\r\n var str = window.location.search;\r\n if (str.length) {\r\n str = str.substring(1);\r\n var groups = str.split('&');\r\n for (var i = 0; i < groups.length; i++) {\r\n var item = groups[i].split(\"=\");\r\n if (item[0]) data[item[0].toLowerCase()] = new paramObject(item[0], window.decodeURIComponent(item[1]));\r\n }\r\n }\r\n return data;\r\n }\r\n\r\n export function getParam(name: string) {\r\n return getParamData()[name.toLowerCase()]?.value;\r\n }\r\n\r\n export function setParam(name : string, value : string) {\r\n var data = getParamData();\r\n data[name.toLowerCase()] = new paramObject(name, value);\r\n\r\n if (!value)\r\n delete data[name.toLowerCase()];\r\n\r\n var arr = [];\r\n for (var name in data) {\r\n var pa = data[name];\r\n arr.push(pa.name + \"=\" + pa.value);\r\n }\r\n\r\n window.location.href = location.origin + location.pathname + (arr.length ? \"?\" + arr.join(\"&\") : \"\") + window.location.hash;\r\n }\r\n\r\n export function setManyParams(params: { [name: string]: string }) {\r\n var data = getParamData();\r\n\r\n for (let name in params) {\r\n var value = params[name];\r\n data[name.toLowerCase()] = new paramObject(name, value);\r\n\r\n if (!value)\r\n delete data[name.toLowerCase()];\r\n }\r\n\r\n var arr = [];\r\n for (var name in data) {\r\n var pa = data[name];\r\n arr.push(pa.name + \"=\" + pa.value);\r\n }\r\n\r\n window.location.href = location.origin + location.pathname + (arr.length ? \"?\" + arr.join(\"&\") : \"\") + window.location.hash;\r\n }\r\n}","namespace SP {\r\n\r\n\r\n export function highlight(htmlQuerySelector: string, highlightText: string) {\r\n if (!highlightText.trim().length) return;\r\n\r\n var internalHighlighter = function (options: any) {\r\n\r\n var id = {\r\n container: \"container\",\r\n tokens: \"tokens\",\r\n all: \"all\",\r\n token: \"token\",\r\n className: \"className\",\r\n sensitiveSearch: \"sensitiveSearch\"\r\n },\r\n tokens = options[id.tokens],\r\n allClassName = options[id.all][id.className],\r\n allSensitiveSearch = options[id.all][id.sensitiveSearch];\r\n\r\n\r\n var checkAndReplace = (node: any, tokenArr: any, classNameAll: any, sensitiveSearchAll: any) => {\r\n var nodeVal = node.nodeValue, parentNode = node.parentNode,\r\n i, j, curToken, myToken, myClassName, mySensitiveSearch,\r\n finalClassName, finalSensitiveSearch,\r\n foundIndex, begin, matched, end,\r\n textNode, span, isFirst;\r\n\r\n for (i = 0, j = tokenArr.length; i < j; i++) {\r\n curToken = tokenArr[i];\r\n myToken = curToken[id.token];\r\n myClassName = curToken[id.className];\r\n mySensitiveSearch = curToken[id.sensitiveSearch];\r\n\r\n finalClassName = (classNameAll ? myClassName + \" \" + classNameAll : myClassName);\r\n\r\n finalSensitiveSearch = (typeof sensitiveSearchAll !== \"undefined\" ? sensitiveSearchAll : mySensitiveSearch);\r\n\r\n isFirst = true;\r\n while (true) {\r\n if (finalSensitiveSearch)\r\n foundIndex = nodeVal.indexOf(myToken);\r\n else\r\n foundIndex = nodeVal.toLowerCase().indexOf(myToken.toLowerCase());\r\n\r\n if (foundIndex < 0) {\r\n if (isFirst)\r\n break;\r\n\r\n if (nodeVal) {\r\n textNode = document.createTextNode(nodeVal);\r\n parentNode.insertBefore(textNode, node);\r\n } // End if (nodeVal)\r\n\r\n parentNode.removeChild(node);\r\n break;\r\n } // End if (foundIndex < 0)\r\n\r\n isFirst = false;\r\n\r\n\r\n begin = nodeVal.substring(0, foundIndex);\r\n matched = nodeVal.substr(foundIndex, myToken.length);\r\n\r\n if (begin) {\r\n textNode = document.createTextNode(begin);\r\n parentNode.insertBefore(textNode, node);\r\n } // End if (begin)\r\n\r\n span = document.createElement(\"span\");\r\n span.className += finalClassName;\r\n span.appendChild(document.createTextNode(matched));\r\n parentNode.insertBefore(span, node);\r\n\r\n nodeVal = nodeVal.substring(foundIndex + myToken.length);\r\n } // Whend\r\n\r\n } // Next i \r\n }; // End Function checkAndReplace \r\n\r\n var iterator = (p: any) => {\r\n if (p === null) return;\r\n\r\n var children = Array.prototype.slice.call(p.childNodes), i, cur;\r\n\r\n if (children.length) {\r\n for (i = 0; i < children.length; i++) {\r\n cur = children[i];\r\n if (cur.nodeType === 3) {\r\n checkAndReplace(cur, tokens, allClassName, allSensitiveSearch);\r\n }\r\n else if (cur.nodeType === 1) {\r\n iterator(cur);\r\n }\r\n }\r\n }\r\n }; // End Function iterator\r\n\r\n iterator(options[id.container]);\r\n } // End Function highlighter\r\n\r\n var elements = document.querySelectorAll(htmlQuerySelector);\r\n\r\n for (let i = 0; i < elements.length; i++) {\r\n internalHighlighter(\r\n {\r\n container: elements[i]\r\n , all:\r\n {\r\n className: \"highlighter\"\r\n }\r\n , tokens: [\r\n {\r\n token: highlightText\r\n , className: \"highlight\"\r\n , sensitiveSearch: false\r\n }\r\n ]\r\n }\r\n );\r\n }\r\n\r\n \r\n }\r\n}","namespace SP {\r\n export function insertAfter(newNode: HTMLElement, existingNode: HTMLElement) {\r\n existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);\r\n }\r\n\r\n export function insertBefore(newNode: HTMLElement, existingNode: HTMLElement) {\r\n existingNode.parentNode.insertBefore(newNode, existingNode);\r\n }\r\n\r\n}","namespace SP {\r\n\r\n \r\n export async function post(postUrl: string, data: any, callback: (result: any) => any = null) {\r\n const response = await fetch(postUrl, {\r\n method: 'POST',\r\n cache: \"no-store\",\r\n headers: {\r\n 'Accept': 'application/json, text/plain, */*',\r\n 'Content-Type': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-store',\r\n 'Smartpack-Request-Id': (crypto as any).randomUUID()\r\n },\r\n body: JSON.stringify(data)\r\n });\r\n\r\n if (!response.ok) {\r\n //await SP.alertX(\"error posting, check console!\");\r\n console.log(response);\r\n //console.log((await response.text()));\r\n }\r\n\r\n var result = await response.json();\r\n\r\n if (callback != null)\r\n callback(result);\r\n\r\n return SP.promise(result);\r\n }\r\n}","namespace SP {\r\n export async function postForm(postUrl: string, formQuerySelector: string, callback: (result: any) => any = null) {\r\n var form = document.querySelector(formQuerySelector) as HTMLFormElement;\r\n var formData = SP.serialize(form);\r\n const response = await fetch(postUrl, {\r\n method: 'POST',\r\n headers: {\r\n 'Accept': 'application/json',\r\n 'pragma': 'no-cache',\r\n 'cache-control': 'no-cache',\r\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\r\n },\r\n body: formData\r\n });\r\n\r\n if (!response.ok) {\r\n //await SP.alertX(\"error posting form, check console!\");\r\n console.log(response);\r\n }\r\n\r\n var result = await response.json();\r\n\r\n if (callback)\r\n callback(result);\r\n\r\n return result;\r\n }\r\n}","namespace SP {\r\n\r\n export async function promise(data : T) : Promise {\r\n return new Promise((resolve) => {\r\n resolve(data);\r\n });\r\n }\r\n}","namespace SP {\r\n export function serializeArray(form: HTMLFormElement) {\r\n\t\tlet arr: any[] = [];\r\n\t\tArray.prototype.slice.call(form.elements).forEach((field: HTMLFormElement) => {\r\n\t\t\tif (!field.name || field.disabled || ['file', 'reset', 'submit', 'button'].indexOf(field.type) > -1) return;\r\n\t\t\tif (field.type === 'select-multiple') {\r\n\t\t\t\tArray.prototype.slice.call(field.options).forEach(function (option: HTMLOptionElement) {\r\n\t\t\t\t\tif (!option.selected) return;\r\n\t\t\t\t\tarr.push({\r\n\t\t\t\t\t\tname: field.name,\r\n\t\t\t\t\t\tvalue: option.value\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (['checkbox', 'radio'].indexOf(field.type) > -1 && !field.checked) return;\r\n\t\t\tarr.push({\r\n\t\t\t\tname: field.name,\r\n\t\t\t\tvalue: field.value\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn arr;\r\n\t}\r\n\r\n\r\n\texport function serialize(form: HTMLFormElement) {\r\n\t\treturn serializeArray(form).map(item => encodeURIComponent(item.name) + \"=\" + encodeURIComponent(item.value)).join('&');\r\n\t}\r\n}","namespace SP {\r\n\r\n export async function sleep(ms : number) {\r\n return new Promise(r => setTimeout(r, ms));\r\n }\r\n}","namespace SP {\r\n export function typeInTextarea(text: string, el: any = document.activeElement) {\r\n if (!el.setRangeText) return;\r\n const [start, end] = [el.selectionStart, el.selectionEnd];\r\n el.setRangeText(text, start, end, 'select');\r\n var event = new Event('input');\r\n el.dispatchEvent(event);\r\n }\r\n}","namespace SP {\r\n let _zoom = 1;\r\n \r\n export function zoom(amount: number = null) {\r\n if (amount == null) {\r\n var styleZ = (window.getComputedStyle(document.body) as any).zoom;\r\n if (styleZ) return parseFloat(styleZ);\r\n return _zoom;\r\n // return _zoom;\r\n }\r\n\r\n\r\n _zoom = amount;\r\n (document.body.style as any).zoom = _zoom.toString();\r\n return _zoom;\r\n }\r\n}","namespace SP {\r\n export interface Address {\r\n name: string;\r\n attention: string;\r\n street1: string;\r\n street2: string;\r\n zipcode: string;\r\n city: string;\r\n country: string;\r\n state: string;\r\n phone: string;\r\n email: string;\r\n }\r\n}","namespace SP {\r\n export interface Arrival {\r\n id: string;\r\n customerId: string;\r\n createUserId: string;\r\n sender: number;\r\n referenceNo: number;\r\n senderReferenceNo: number;\r\n timestamp: number;\r\n arrivalType: number;\r\n finished: boolean;\r\n }\r\n}","namespace SP {\r\n export interface ArrivalInfo {\r\n arrivalId: string;\r\n arrivalSender: string;\r\n arrivalSenderReferenceNo: string;\r\n arrivalReferenceNo: string;\r\n arrivalTimestamp: number;\r\n arrivalDate: string;\r\n arrivalTime: string;\r\n arrivalType: ArrivalType;\r\n arrivalFinished: boolean;\r\n arrivalLocation: string;\r\n customerId: string;\r\n stockName: string;\r\n createUserName: string;\r\n purchaseOrderInfo: purchaseOrderInfo;\r\n purchaseOrderId: number;\r\n itemsArrived: number;\r\n itemsExpected: number;\r\n }\r\n}","namespace SP {\r\n export interface AuditZoneInfo {\r\n id: string;\r\n name: string;\r\n dirtyCount: number;\r\n placementDatas: string[];\r\n }\r\n}","\r\nnamespace SP {\r\n \r\n\r\n\r\n export interface CustomerInfo {\r\n stockId: string;\r\n customerId: string;\r\n customerName: string;\r\n //autofillPackage: boolean;\r\n allowLocationScanPicking: number;\r\n address: Address;\r\n defaultReturnReasonId: string;\r\n defaultReturnActionId: string;\r\n defaultReturnMethod: ReturnMethod;\r\n deliveryMethods: { [methodKey: string]: DeliveryMethod};\r\n }\r\n}","namespace SP {\r\n\r\n\r\n export interface CustomsInfo {\r\n id: string;\r\n itemId: string;\r\n description: string;\r\n totalPrice: number;\r\n currencyCode: string;\r\n senderTariff: string;\r\n receiverTariff: string;\r\n originCountry: string;\r\n weight: number;\r\n }\r\n}","namespace SP {\r\n export interface DashboardSettings {\r\n id: string;\r\n gridStackFloat: boolean;\r\n gridStackMargin: number;\r\n selectedCustomers: string[];\r\n colorTheme: string;\r\n borderRadius: number;\r\n boxShadow: boolean;\r\n }\r\n}","namespace SP {\r\n export interface DeadlineInfo {\r\n sortingZoneId: string;\r\n name: string;\r\n deadline: string;\r\n focussed: boolean;\r\n prioritized: boolean;\r\n passed: boolean;\r\n orderCount: number;\r\n }\r\n}","namespace SP {\r\n export interface DeliveryMethod {\r\n id: string;\r\n methodKeys: string;\r\n name: string;\r\n shortName: string;\r\n isBusiness: boolean;\r\n isDropPoint: boolean;\r\n useColliBooking: boolean;\r\n isReturn: boolean;\r\n forceDeliveryNote: boolean;\r\n forceScanPackageCollection: boolean;\r\n warehouseNotificationPacker: string;\r\n addons: ShippingMethodAddon[];\r\n parameters: ShippingMethodParameter[];\r\n parcelTypes: ShippingMethodParcelType[];\r\n defaultParcelType: string;\r\n prices: { [country: string]: DeliveryPrice[] };\r\n orderSources: string[];\r\n }\r\n}","namespace SP {\r\n export interface DeliveryPrice {\r\n id: string,\r\n customerId: string,\r\n deliveryMethodKey: string,\r\n originCountry: string,\r\n destinationCountry: string,\r\n name: string,\r\n maxLength: number,\r\n maxWeight: number,\r\n maxCircumferenceLength: number,\r\n price: number,\r\n oversize: number,\r\n autoGenerated: number,\r\n active: number\r\n }\r\n\r\n}","namespace SP {\r\n export interface DropPointInfo {\r\n id: string;\r\n name: string;\r\n distance: number;\r\n carrierCode: string;\r\n address: DropPointAddressInfo;\r\n coordinates: DropPointCoordinateInfo;\r\n }\r\n\r\n export interface DropPointAddressInfo {\r\n addressType: number;\r\n city: string;\r\n country: string;\r\n street1: string;\r\n zipcode: string;\r\n }\r\n\r\n export interface DropPointCoordinateInfo {\r\n latitude: number;\r\n longitude: number;\r\n }\r\n}","namespace SP {\r\n export interface HistoryShipmentInfo {\r\n id: string;\r\n toteName: string;\r\n toteColor: string;\r\n customer: string;\r\n recipientName: string;\r\n orderNo: string;\r\n time: string;\r\n }\r\n}","namespace SP {\r\n export interface IncommingInfo {\r\n sender: string;\r\n referenceNo: string;\r\n date: string;\r\n type: string;\r\n quantity: number;\r\n }\r\n\r\n\r\n export interface ItemLocationInfo {\r\n total: number;\r\n reserved: number;\r\n incomming: IncommingInfo[]\r\n }\r\n\r\n\r\n export interface ItemInfo {\r\n id: string;\r\n sku: string;\r\n itemType: ItemType;\r\n inOrderCount: number;\r\n totalCombined: number;\r\n reservedCombined: number;\r\n incommingCombined: number;\r\n\r\n assemblableQuantity: number;\r\n disassemblableQuantity: number;\r\n\r\n collectionAllowDisassembly: boolean;\r\n collectionAllowAssembly: boolean;\r\n\r\n locations: { [locationKey: string]: ItemLocationInfo };\r\n refillLimit: number;\r\n refillMax: number;\r\n refillParked: boolean;\r\n description: string;\r\n manufacturerName: string;\r\n modelNo: string;\r\n imageUrl: string;\r\n unNumber: string;\r\n fragile: boolean;\r\n expirable: boolean;\r\n useProductionDate: boolean;\r\n unitType: UnitType;\r\n width: number;\r\n height: number;\r\n debth: number;\r\n weight: number;\r\n warehouseWeight: number;\r\n warehouseNotificationPacker: string;\r\n warehouseNotificationPicker: string;\r\n barcodes: string[];\r\n additionalBarcodes: { [barcode: string]: number };\r\n allBarcodes: { [barcode: string]: number };\r\n countryOfOrigin: string;\r\n tariffCode: string;\r\n countryTariffCodes: { [country: string]: string };\r\n preferredStockPlacementId: number;\r\n preferredStockPlacementData: string;\r\n customerId: string;\r\n // stockId: string;\r\n importPlacementName: string;\r\n\r\n allowBatchMixing: boolean;\r\n allowDropshipping: boolean;\r\n registerSerialNumber: boolean;\r\n useBatchNumber: boolean;\r\n useFifo: boolean;\r\n\r\n abc_orders: string;\r\n abc_units: string;\r\n abc_profit: string;\r\n }\r\n}","namespace SP {\r\n export interface Notification {\r\n id: string;\r\n imageUrl: string;\r\n source: string;\r\n customer: string;\r\n title: string;\r\n description: boolean;\r\n date: string;\r\n severity: number;\r\n }\r\n\r\n\r\n export interface NotificationPageResult {\r\n status: number;\r\n msg: string;\r\n page: number;\r\n pageCount: number;\r\n data: Notification[];\r\n }\r\n}","namespace SP {\r\n export interface OrderInfo {\r\n orderId: number;\r\n orderNo: string;\r\n orderSource: string;\r\n referenceNo: string;\r\n customerId: string;\r\n warehouseNotificationPacker: string;\r\n warehouseNotificationPicker: string;\r\n printDeliveryNote: boolean;\r\n recipient: Address;\r\n sender: Address;\r\n //deliveryMethod: string;\r\n deliveryMethod: string;\r\n state: OrderState;\r\n note: string;\r\n customerComment: string;\r\n deliveryMethodInfo: DeliveryMethod;\r\n droppointId: string;\r\n deliveryInstructions: string;\r\n items: OrderLineInfo[];\r\n packages: PackageInfo[];\r\n collectionOrderItemId: string;\r\n collectionOrderItemSku: string;\r\n collectionOrderQty: string;\r\n }\r\n\r\n}","namespace SP {\r\n\r\n export interface OrderLineInfo {\r\n id: string;\r\n qty: number;\r\n hasStock: boolean;\r\n locationKey: string;\r\n locationQuantity: number;\r\n bundleParent: string;\r\n imageUrl: string;\r\n description: string;\r\n extraText: string;\r\n customerReference: string;\r\n itemInfo: ItemInfo;\r\n }\r\n\r\n\r\n}","\r\nnamespace SP {\r\n export interface PackageInfo {\r\n id: string;\r\n number: string;\r\n orderId: number;\r\n height: number;\r\n length: number;\r\n width: number;\r\n weight: number;\r\n state: PackageState;\r\n trackingNumber: string;\r\n deliveryMethodId: string;\r\n deliveryMethodName: string;\r\n droppointId: string;\r\n parcelType: string;\r\n packagingId: string;\r\n isReturn: boolean;\r\n deliveryInstructions: string;\r\n orderNo: string;\r\n referenceNo: string;\r\n isColli: boolean;\r\n parentPackageId: string;\r\n packageCollectionId: number;\r\n lines: PackageLine[];\r\n }\r\n\r\n}\r\n","namespace SP {\r\n\texport interface PackageLine {\r\n\t\tid: string;\r\n\t\torderLineId: string;\r\n\t\tpackageId: string;\r\n\t\tquantity: number;\r\n\t\ttransferCompletedAt: string | undefined;\r\n\t}\r\n}","namespace SP {\r\n export interface PackageSortingInfo {\r\n match: boolean;\r\n package: PackageInfo;\r\n collectionId: number;\r\n collections: PackageCollectionInfo[];\r\n collectionsClosed: PackageCollectionInfo[];\r\n sortingZone: SortingZoneInfo;\r\n }\r\n}","/// \r\nnamespace SP {\r\n\r\n export interface PackageTransferInfo {\r\n match: boolean;\r\n fromLocationKey: string;\r\n toLocationKey: string;\r\n fromLocationName: string;\r\n toLocationName: string;\r\n orderNo: string;\r\n package: PackageInfo;\r\n itemInfos: { [packageLineId: string]: ItemInfo }\r\n }\r\n}\r\n","namespace SP {\r\n export interface PackagingInfo {\r\n id: string;\r\n barcode: string;\r\n name: string;\r\n purchasingNumber: string;\r\n width: number;\r\n height: number;\r\n debth: number;\r\n weight: number;\r\n price: number;\r\n active: boolean;\r\n }\r\n}","namespace SP {\r\n export interface PickLineInfo {\r\n id: string;\r\n orderId: number;\r\n shipmentId: string;\r\n orderLineId: string;\r\n quantity: number;\r\n pickedQuantity: number;\r\n orderNo: string;\r\n toteId: number;\r\n toteName: string;\r\n toteColor: string;\r\n extraText: string;\r\n allowLocationScanPicking: number;\r\n }\r\n}","namespace SP {\r\n export interface PickListInfo {\r\n pickListId: number;\r\n pickListActive: boolean;\r\n pickListGrouped: boolean;\r\n pickListAttention: boolean;\r\n pickListRouteLength: number;\r\n pickListDate: string;\r\n pickListTime: string;\r\n pickListTimestamp: number;\r\n pickLinesCount: number;\r\n pickCount: number;\r\n pickedCount: number;\r\n picked: boolean;\r\n customerId: string;\r\n stockName: string;\r\n createUserName: string;\r\n occupantUserName: string;\r\n allowLocationScanPicking: number;\r\n pickSettings: PickSettingInfo;\r\n trolley: TrolleyInfo;\r\n productionOrders: OrderInfo[];\r\n }\r\n}","namespace SP {\r\n export interface PickListLineData {\r\n pickLineInfo: PickLineInfo;\r\n stockingLotInfo: StockingLotInfo;\r\n imageUrl: string;\r\n extraText: string;\r\n orderWarehouseNotificationPacker: string;\r\n orderWarehouseNotificationPicker: string;\r\n }\r\n}","namespace SP {\r\n export interface PickProfileOrderInfo {\r\n id: number;\r\n orderNo: string;\r\n referenceNo: string;\r\n productionItemInfo: ItemInfo;\r\n productionQuantity: number;\r\n preferredDeliveryDate: string;\r\n priority: number;\r\n recipient: Address;\r\n lineCount: number;\r\n itemCount: number;\r\n }\r\n\r\n export interface PickProfileInfo {\r\n profile: PickSettingInfo;\r\n orders: PickProfileOrderInfo[];\r\n }\r\n\r\n export interface PickSettingInfo {\r\n id: string;\r\n name: string;\r\n maxOrders: number;\r\n primePicklist: boolean;\r\n allowLocationScanPicking: number;\r\n groupPickSingleScan: boolean;\r\n printAllLabelOnFinishPickList: boolean;\r\n appendToteNameToOrderNo: boolean;\r\n appendToteNameToReference: boolean;\r\n forceItemBarcodeScanning: boolean;\r\n forceItemWeighing: boolean;\r\n allowRefillPicks: boolean;\r\n autofillPackageFromTote: boolean;\r\n autoPrintLabel: boolean;\r\n allowMultiTote: boolean;\r\n quickPack: boolean;\r\n forceDeliveryNote: boolean;\r\n orderType: number;\r\n scanPackageCollection: boolean;\r\n scanPickingTrolley: boolean;\r\n orderCount: number;\r\n orderCountIfRefill: number;\r\n orderFifoMode: number;\r\n oldestOrderDate: string;\r\n fulfillmentLocation: string;\r\n }\r\n}","namespace SP {\r\n export interface ProductionInfo {\r\n item: ItemInfo;\r\n missingAssembly: number;\r\n missingDisassembly: number;\r\n }\r\n}","namespace SP {\r\n export interface ProductionOrderInfo {\r\n order: OrderInfo;\r\n item: ItemInfo;\r\n toteName: string;\r\n }\r\n}","namespace SP {\r\n export interface ProductionItemQuickInfo {\r\n item: ItemInfo;\r\n quantity: number;\r\n }\r\n export interface ProductionQuickInfo {\r\n totalOrders: number;\r\n orderCount: number;\r\n orders: string[];\r\n productionItems: ProductionItemQuickInfo[]\r\n }\r\n}","namespace SP {\r\n\r\n export interface purchaeOrderLocationInfo {\r\n location: string;\r\n totalQty: number;\r\n deliveredQty: number;\r\n }\r\n export interface purchaseOrderInfo {\r\n id: number;\r\n state: PurchaseOrderState;\r\n purchaseOrderType: PurchaseOrderType;\r\n supplier: supplierInfo;\r\n expectedDeliveryDate: string,\r\n orderDate: string,\r\n externalId: string,\r\n referenceNo: string,\r\n trackingNumbers: string,\r\n customerId: string,\r\n items: PurchaseOrderLineInfo[];\r\n lineCount: number;\r\n itemsTotal: number;\r\n deliveredItems: number;\r\n locationInfos: purchaeOrderLocationInfo[];\r\n \r\n }\r\n}","namespace SP {\r\n export interface PurchaseOrderLineInfo {\r\n id: string;\r\n sku: string,\r\n qty: number,\r\n loc: string,\r\n externalId: string,\r\n price: number,\r\n undeliveredQty: number,\r\n deliveredQty: number,\r\n beeingDeliveredQty: number,\r\n itemTotalIncommingAllOrders: number,\r\n itemInfo: ItemInfo\r\n }\r\n}","namespace SP {\r\n export interface RefundInfo {\r\n refundId: string,\r\n refundDate: string,\r\n order: OrderInfo,\r\n use: string,\r\n currency: string,\r\n total: number,\r\n totalIncVat: number,\r\n returnFee: number,\r\n returnFeeIncVat: number,\r\n refundType: RefundType,\r\n lines: RefundLineInfo[],\r\n confirmed: boolean\r\n }\r\n\r\n export interface RefundLineInfo {\r\n id: string,\r\n qty: number,\r\n refundPrice: number,\r\n refundPriceIncVat: number,\r\n balance: number,\r\n orderLine: OrderLineInfo,\r\n }\r\n\r\n export interface RefundBundleBalanceLine {\r\n orderLineId: string,\r\n totalPriceVatInc: number,\r\n staticBalance: number,\r\n balance: number,\r\n }\r\n}","namespace SP {\r\n export interface RestockListInfo {\r\n id: number;\r\n time: string;\r\n user: string;\r\n finished: boolean;\r\n stockName: string;\r\n routeLength: number;\r\n lines: RestockListLineInfo[];\r\n }\r\n\r\n export interface RestockListLineInfo {\r\n id: string;\r\n fromToteId: number;\r\n fromPlacementId: number;\r\n toPlacementId: number;\r\n fromPlacementData: string;\r\n toPlacementData: string;\r\n moveLots: { [lotId: string]: number };\r\n finished: boolean;\r\n }\r\n}","namespace SP {\r\n export interface ReturnInfo {\r\n comment: string,\r\n note: string,\r\n returnedQty: number;\r\n warehouseReturnReasonId: string;\r\n warehouseReturnActionId: string;\r\n overrideAction: ReturnActionType;\r\n }\r\n}","namespace SP {\r\n export interface ReturnOrderInfo {\r\n orderId: string,\r\n customerId: string,\r\n orderNo: string,\r\n referenceNo: string,\r\n state: OrderState,\r\n sender: Address,\r\n recipient: Address,\r\n orderLines: OrderLineInfo[],\r\n shipments: ShipmentInfo[],\r\n }\r\n}","namespace SP {\r\n export interface ShelflabelTempate {\r\n id: number;\r\n name: string;\r\n }\r\n}","namespace SP {\r\n export interface ShipmentInfo {\r\n shipmentId: string;\r\n shipmentNo: string;\r\n fulfillmentLocation: string;\r\n shipmentState: ShipmentState;\r\n order: OrderInfo;\r\n lines: ShipmentLineInfo[];\r\n packages: PackageInfo[];\r\n }\r\n\r\n}","namespace SP {\r\n export interface ShipmentLineData {\r\n id: string,\r\n type: ShipmentLineDataType,\r\n value: string\r\n }\r\n\r\n}","namespace SP {\r\n\r\n export interface ShipmentLineInfo {\r\n id: string;\r\n qty: number;\r\n orderLine: OrderLineInfo;\r\n returnInfo: ReturnInfo;\r\n data: ShipmentLineData[];\r\n }\r\n}","namespace SP {\r\n export interface ShippingMethodAddon {\r\n code: string;\r\n name: string;\r\n defaultEnabled: boolean;\r\n visible: boolean;\r\n include: boolean;\r\n type: string;\r\n scope: string;\r\n }\r\n}","namespace SP {\r\n export interface ShippingMethodParameter {\r\n name: string;\r\n value: string;\r\n key: string;\r\n addonDependency: string;\r\n visible: boolean;\r\n include: boolean;\r\n type: string;\r\n scope: string;\r\n options: ShippingMethodParameterOption[];\r\n\r\n }\r\n}","namespace SP {\r\n export interface ShippingMethodParameterOption {\r\n key: string;\r\n value: string;\r\n enabled: boolean;\r\n }\r\n}","namespace SP {\r\n export interface ShippingMethodParcelType {\r\n code: string;\r\n name: string;\r\n enabled: boolean;\r\n }\r\n}","namespace SP {\r\n export interface SortingZoneInfo {\r\n id: string;\r\n name: string;\r\n icon: string;\r\n active: boolean;\r\n }\r\n}","namespace SP {\r\n export interface StockHall {\r\n id: string;\r\n stockId: string;\r\n name: string;\r\n gridX: number;\r\n gridY: number;\r\n itemSize: number;\r\n }\r\n}","namespace SP {\r\n export interface StockInfo {\r\n stockId: string;\r\n stockName: string;\r\n stockPrefix: string;\r\n }\r\n}","namespace SP {\r\n export interface StockPlacement {\r\n id: number;\r\n row: number;\r\n number: number;\r\n sub: number;\r\n stockUnitId: string;\r\n itemSize: number;\r\n active: boolean;\r\n }\r\n}","namespace SP {\r\n export interface StockPlacementInfo {\r\n hall: StockHall;\r\n section: StockSection;\r\n unit: StockUnit;\r\n placement: StockPlacement;\r\n stock: StockInfo;\r\n name: string;\r\n data: string;\r\n toteId: number;\r\n }\r\n}","namespace SP {\r\n export interface StockSection {\r\n id: string;\r\n stockHallId: string;\r\n name: string;\r\n gridX: number;\r\n gridY: number;\r\n itemSize: number;\r\n }\r\n}","namespace SP {\r\n export interface StockUnit {\r\n id: string;\r\n stockSectionId: string;\r\n stockUnitTypeId: string;\r\n number: number;\r\n gridX: number;\r\n gridY: number;\r\n rotation: number;\r\n itemSize: number;\r\n }\r\n}","namespace SP {\r\n export interface StockingLotInfo {\r\n id: string;\r\n createUser: string;\r\n arrivalId: string;\r\n arrivalDate: string;\r\n arrivalDateRaw: string;\r\n item: ItemInfo;\r\n itemRefillRequired: boolean;\r\n itemReservedQuantity: number;\r\n itemReservedToCountries: string;\r\n stockId: string;\r\n stockPlacementId: number;\r\n stockPlacementName: string;\r\n stockPlacementData: string;\r\n stockPlacementLocationKey: string;\r\n initialQuantity: number;\r\n placementQuantity: number;\r\n placementQuantityItemAllLots: number;\r\n availableQuantity: number;\r\n productionDate: string;\r\n expirationDate: string;\r\n expirationDateRaw: string;\r\n timestamp: string;\r\n batchNumber: string;\r\n purchaseOrderLineId: string;\r\n isReturn: boolean;\r\n }\r\n}","namespace SP {\r\n export interface supplierInfo {\r\n id: number;\r\n active: boolean;\r\n customerId: string;\r\n email: string;\r\n expectedDeliveryDays: number;\r\n externalId: string;\r\n importNames: string;\r\n minimumOrderAmount: number;\r\n name: string;\r\n phone: string;\r\n }\r\n\r\n}","namespace SP {\r\n export interface ToteGroupInfo {\r\n id: string;\r\n name: string;\r\n prefix: string;\r\n color: string;\r\n count: number;\r\n }\r\n}","namespace SP {\r\n export interface ToteInfo {\r\n toteId: number;\r\n toteName: string;\r\n toteGroupName: string;\r\n toteColor: string;\r\n shipmentId: string;\r\n orderDeadline: number;\r\n readyForPack: boolean;\r\n totePlacementId: number;\r\n totePlacementName: string;\r\n totePlacementData: string;\r\n totePlacementQuantity: number;\r\n groupPick: boolean;\r\n picks: ToteItem[];\r\n pickSettings: PickSettingInfo;\r\n pickListId: number;\r\n trolleyId: number;\r\n trolleyName: string;\r\n additionalShipmentTotes: ToteInfo[];\r\n blockPacker: boolean;\r\n warningInfo: string;\r\n }\r\n}","namespace SP {\r\n export interface ToteItem {\r\n qty: number;\r\n orderLineId: string;\r\n itemInfo: ItemInfo;\r\n }\r\n}","namespace SP {\r\n export interface TrolleyInfo {\r\n id: number;\r\n name: string;\r\n }\r\n}","namespace SP {\r\n export interface UpdatedRefund {\r\n confirmed: boolean;\r\n refundId: string;\r\n refundType: RefundType;\r\n refundFee: number;\r\n comment: string;\r\n lines: UpdatedRefundLine[];\r\n }\r\n\r\n export interface UpdatedRefundLine {\r\n refundId: string;\r\n refundLineId: string;\r\n price: number;\r\n }\r\n}","namespace SP {\r\n export interface UpdatedShipmentLine {\r\n shipmentId: string;\r\n shipmentLineId: string;\r\n orderLineId: string;\r\n warehouseReasonId: string;\r\n warehouseActionId: string;\r\n quantity: number;\r\n note: string;\r\n }\r\n}","////namespace SP {\r\n//// export interface VendorInfo {\r\n//// id: string;\r\n//// name: string,\r\n//// uniqueVendorCode: string,\r\n//// address: Address\r\n//// }\r\n////}","namespace SP {\r\n export interface WarehouseActionInfo {\r\n id: string,\r\n name: string,\r\n returnActionType : ReturnActionType,\r\n defaultAction: boolean,\r\n }\r\n}","namespace SP {\r\n export interface WarehouseReasonInfo {\r\n id: string,\r\n name: string,\r\n defaultReason: boolean,\r\n complaint: boolean,\r\n }\r\n}","namespace SP {\r\n export interface PackageCollectionInfo {\r\n id: number;\r\n createdAt: string;\r\n closedAt: string;\r\n closed: boolean;\r\n packageCount: number;\r\n warehouseZone: string;\r\n sortingZoneId: string;\r\n sortingZoneName: string;\r\n waybillId: number;\r\n waybillNo: string;\r\n routingLabelNo: string;\r\n printed: boolean;\r\n }\r\n\r\n\r\n export interface WaybillInfo {\r\n id: number;\r\n created: string;\r\n waybillAPI: string;\r\n waybillData: string;\r\n waybillNo: string;\r\n sender: Address;\r\n recipient: Address;\r\n packageCollections: PackageCollectionInfo[];\r\n }\r\n}","/// \r\n\r\nnamespace SP {\r\n let instance: SystemApp = null;\r\n\r\n\r\n export class NotificationSystem {\r\n page = 1;\r\n pageCount = 1;\r\n showAll = false;\r\n buttonPrev = $(\"#notifications_prev\");\r\n buttonNext = $(\"#notifications_next\");\r\n buttonDismiss = $(\"#notifications_dismiss\");\r\n buttonShowAll = $(\"#notifications_show_all\");\r\n buttonDropdown = $(\"#notifications_dropdown\");\r\n recipientContainer = $(\"#NotificationRecipientContainer\");\r\n\r\n constructor() {\r\n this.buttonPrev.click(e => this.prev_notification(e));\r\n this.buttonNext.click(e => this.next_notification(e));\r\n this.buttonDismiss.click(e => this.dismiss_all_notification(e));\r\n this.buttonShowAll.click(e => this.show_all_notification(e));\r\n this.buttonDropdown.click(e => this.show(1));\r\n }\r\n\r\n dismiss_notification(e: JQuery.ClickEvent, id: string) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this._dismiss_notification(id);\r\n return false;\r\n }\r\n\r\n prev_notification(e: JQuery.ClickEvent) {\r\n this.show(this.page - 1);\r\n event.stopPropagation();\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n next_notification(e: JQuery.ClickEvent) {\r\n this.show(this.page + 1);\r\n event.stopPropagation();\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n show_all_notification(e: JQuery.ClickEvent) {\r\n this.showAll = !this.showAll;\r\n this.show(1);\r\n event.stopPropagation();\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n dismiss_all_notification(e: JQuery.ClickEvent) {\r\n //event.stopPropagation();\r\n //event.preventDefault();\r\n this._dismiss_notification(\"\");\r\n //return false;\r\n }\r\n\r\n getNotificationCount() {\r\n var label = $(\".label.notification_count\");\r\n return parseInt(label.html());\r\n }\r\n\r\n async _dismiss_notification(id: string) {\r\n var c = this.getNotificationCount();\r\n\r\n if (id) c--;\r\n else c = 0;\r\n this.setNotificationCount(c);\r\n\r\n await SP.Notification.DismissNotifications(id);\r\n\r\n this.show(this.page);\r\n }\r\n\r\n async show(page: number) {\r\n page = Math.max(Math.min(page, this.pageCount), 1);\r\n var r = await SP.Notification.GetNotifications(this.showAll, 10, page);\r\n this.page = r.page;\r\n this.pageCount = r.pageCount;\r\n\r\n $(\"#notifications_small\").empty();\r\n $(\"#notifications_small\").scrollTop();\r\n $(\"#notification_page_info\").html(`(${r.page} / ${r.pageCount})`);\r\n for (let i = 0; i < r.data.length; i++) {\r\n let note = r.data[i];\r\n\r\n let n = $(`\r\n
  • \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n ${note.date}\r\n ${note.source}
    ${note.title}
    \r\n ${note.customer}\r\n
    X
    \r\n
    \r\n
  • \r\n `);\r\n\r\n if (this.showAll) n.find(\".dismiss\").remove();\r\n else n.find(\".dismiss\").click(e => this.dismiss_notification(e, note.id));\r\n\r\n $(\"#notifications_small\").append(n);\r\n }\r\n\r\n if (this.page >= this.pageCount) {\r\n this.buttonNext.css(\"opacity\", \"0.2\")\r\n this.buttonNext.css(\"pointerEvents\", \"none\");\r\n\r\n }\r\n else {\r\n this.buttonNext.css(\"opacity\", \"1\")\r\n this.buttonNext.css(\"pointerEvents\", \"\");\r\n\r\n }\r\n\r\n if (this.page <= 1) {\r\n this.buttonPrev.css(\"opacity\", \"0.2\")\r\n this.buttonPrev.css(\"pointerEvents\", \"none\");\r\n\r\n }\r\n else {\r\n this.buttonPrev.css(\"opacity\", \"1\")\r\n this.buttonPrev.css(\"pointerEvents\", \"\");\r\n\r\n }\r\n }\r\n\r\n setNotificationCount(c: number) {\r\n $(\".notification_count\").html(c + \"\");\r\n $(\".label.notification_count\").css(\"display\", c ? \"block\" : \"none\");\r\n }\r\n\r\n async showNotification(note: Notification) {\r\n this.setNotificationCount(this.getNotificationCount() + 1);\r\n\r\n let info = $(`\r\n \r\n `);\r\n\r\n\r\n $(\".notification-container\").prepend(info);\r\n\r\n info.slideDown(400);\r\n info.find(\".hide_notification\").click(e => {\r\n info.hide();\r\n this._dismiss_notification(note.id);\r\n })\r\n\r\n let hover = false;\r\n info.mouseenter(() => { hover = true; });\r\n info.mouseleave(() => { hover = false; });\r\n while (true) {\r\n await SP.sleep(5000);\r\n if (!hover) break;\r\n }\r\n\r\n info.fadeOut(1000);\r\n await SP.sleep(1000);\r\n info.remove();\r\n\r\n }\r\n }\r\n\r\n\r\n export class SystemApp {\r\n hub = new SP.SignalRConnection(\"/wmshub/\");\r\n barcodeEngine = new SP.BarcodeEngine();\r\n notificationSystem = new NotificationSystem();\r\n deviceId = -1;\r\n\r\n start() {\r\n let _reconnecting = false;\r\n\r\n let registerDevice = async () => {\r\n this.deviceId = parseInt(localStorage.getItem(\"wms_admin_deviceId\") ?? \"-1\");\r\n let deviceId = await this.hub.connection.invoke(\"RegisterDevice\", this.deviceId, 3);\r\n this.setDevice(deviceId);\r\n }\r\n\r\n this.hub.onDisconnect((error) => {\r\n if (!_reconnecting) {\r\n _reconnecting = true;\r\n console.log(error);\r\n console.log(\"DISCONNECTED\");\r\n }\r\n });\r\n\r\n this.hub.onReconnected(async () => {\r\n if (_reconnecting) {\r\n //force reload current location app\r\n await registerDevice();\r\n console.log(\"RECONNECTED\");\r\n _reconnecting = false;\r\n }\r\n\r\n });\r\n\r\n\r\n\r\n\r\n this.hub.on(\"ScanBarcode\", async (code: string) => {\r\n console.log(\"code:\", code);\r\n var action = await this.barcodeEngine.performScan(code);\r\n if (!action) SP.typeInTextarea(code);\r\n });\r\n\r\n this.hub.on(\"Notification\", (notification: Notification) => {\r\n this.notificationSystem.showNotification(notification);\r\n });\r\n\r\n\r\n this.hub.start(signalR.HttpTransportType.WebSockets, async () => {\r\n await registerDevice();\r\n });\r\n }\r\n\r\n setDevice(id: number) {\r\n this.deviceId = id;\r\n localStorage.setItem(\"wms_admin_deviceId\", this.deviceId.toString());\r\n\r\n //clear\r\n var qr_container = document.getElementById(\"qrcode\");\r\n if (qr_container) {\r\n qr_container.innerHTML = \"\";\r\n\r\n new QRCode(qr_container, {\r\n text: \"a_\" + id,\r\n width: 50,\r\n height: 50,\r\n });\r\n }\r\n\r\n document.querySelectorAll(\".terminal_name\").forEach(item => item.innerHTML = id.toString());\r\n }\r\n\r\n\r\n\r\n static get Instance(): SystemApp {\r\n if (instance == null)\r\n instance = new SystemApp();\r\n return instance;\r\n }\r\n }\r\n\r\n}","namespace SP {\r\n interface DataInterface {\r\n key: string;\r\n src: () => Promise;\r\n }\r\n\r\n\r\n export interface AutoCompleteSettingsInterface {\r\n searchDelay?: number;\r\n minLength?: number;\r\n render?: (item: any) => string;\r\n noResult?: () => void;\r\n onSelect?: (item: any) => void;\r\n cacheResult?: boolean;\r\n data: DataInterface;\r\n outputContainerId?: string;\r\n }\r\n\r\n\r\n export class AutoComplete {\r\n input: HTMLInputElement;\r\n settings: AutoCompleteSettingsInterface;\r\n resultList: HTMLUListElement;\r\n private resultCache: { [keyword: string]: any[] } = {};\r\n items: any;\r\n\r\n private visible: boolean = false;\r\n private timeout: NodeJS.Timeout;\r\n private timeoutBlur: NodeJS.Timeout;\r\n private searching: boolean;\r\n private currentKeyword: string;\r\n\r\n constructor(inputQuerySelector: string | HTMLInputElement, settings: AutoCompleteSettingsInterface) {\r\n var output: HTMLElement = null;\r\n if (settings.outputContainerId) output = document.querySelector(settings.outputContainerId);\r\n\r\n if (typeof (inputQuerySelector) == \"string\") {\r\n this.input = document.querySelector(inputQuerySelector);\r\n }\r\n else {\r\n this.input = inputQuerySelector;\r\n }\r\n\r\n this.input.classList.add(\"sp_autocomplete\")\r\n this.settings = settings;\r\n\r\n //set defaults for settings\r\n if (settings.searchDelay == null) settings.searchDelay = 200;\r\n if (settings.minLength == null) settings.minLength = 1;\r\n if (settings.render == null) settings.render = item => \"
    \" + item[settings.data.key] + \"
    \";\r\n if (settings.noResult == null) settings.noResult = () => this.resultList.innerHTML = `
  • No result for '${this.input.value}'
  • `;\r\n if (settings.onSelect == null) settings.onSelect = item => console.log(\"select item\", item);\r\n if (settings.cacheResult == null) settings.cacheResult = true;\r\n\r\n //create result list\r\n this.resultList = document.createElement(\"ul\");\r\n this.resultList.classList.add(\"sp_resultList\");\r\n this.resultList.id = \"resultList\";\r\n\r\n if (output)\r\n output.appendChild(this.resultList);\r\n else\r\n this.input.after(this.resultList);\r\n this.hide();\r\n\r\n //input events\r\n this.input.addEventListener(\"keydown\", (e) => {\r\n if (e.which == 40) {\r\n this.markItem(this.resultList.querySelector(\".selected\").nextElementSibling as HTMLElement);\r\n e.preventDefault();\r\n return false;\r\n }\r\n else if (e.which == 38) {\r\n this.markItem(this.resultList.querySelector(\".selected\").previousElementSibling as HTMLElement);\r\n e.preventDefault();\r\n return false;\r\n }\r\n else if (e.which == 13) {\r\n this.select(this.resultList.querySelector(\".selected\"));\r\n e.preventDefault();\r\n return false;\r\n }\r\n\r\n return true;\r\n });\r\n\r\n this.input.addEventListener(\"input\", () => {\r\n this.startSearch();\r\n });\r\n\r\n this.input.addEventListener(\"focus\", () => {\r\n clearTimeout(this.timeoutBlur);\r\n this.input.select();\r\n if (!this.visible) this.search();\r\n });\r\n\r\n this.input.addEventListener(\"blur\", () => {\r\n this.timeoutBlur = setTimeout(() => {\r\n this.hide();\r\n }, 1000);\r\n\r\n });\r\n\r\n }\r\n\r\n private markItem(html_item: HTMLElement) {\r\n if (html_item) {\r\n let current = this.resultList.querySelector(\".selected\");\r\n current?.classList.remove(\"selected\");\r\n html_item.classList.add(\"selected\");\r\n }\r\n }\r\n\r\n select(html_item: HTMLElement) {\r\n if (html_item) {\r\n this.markItem(html_item);\r\n var item = this.items[html_item.getAttribute(\"data-key\")];\r\n if (item != null) {\r\n this.input.value = item[this.settings.data.key];\r\n this.hide();\r\n this.settings.onSelect(item);\r\n }\r\n }\r\n }\r\n\r\n private hide() {\r\n this.resultList.style.display = 'none';\r\n this.visible = false;\r\n }\r\n\r\n private show() {\r\n this.resultList.style.display = 'block';\r\n this.visible = true;\r\n }\r\n\r\n private startSearch() {\r\n if (this.timeout) clearTimeout(this.timeout);\r\n this.timeout = setTimeout(() => { this.search() }, this.settings.searchDelay);\r\n\r\n }\r\n\r\n async search() {\r\n //return if already searching\r\n if (this.searching) return;\r\n\r\n\r\n\r\n try {\r\n //clear timeout\r\n this.timeout = null;\r\n\r\n\r\n\r\n let keyword = this.currentKeyword = this.input.value;\r\n\r\n //dont search\r\n if (keyword.length < this.settings.minLength) return this.hide();\r\n\r\n let result: any[] = null;\r\n\r\n //load from cache\r\n if (this.settings.cacheResult) result = this.resultCache[keyword];\r\n\r\n if (result == null) {\r\n let _this = this;\r\n console.log(\"calling with:\", _this);\r\n result = await this.settings.data.src.apply(_this);\r\n\r\n //save to cache\r\n if (this.settings.cacheResult) this.resultCache[keyword] = result;\r\n }\r\n\r\n\r\n //only render result if keyword hasn't changed\r\n if (keyword == this.input.value) {\r\n\r\n //clear lists\r\n this.resultList.innerHTML = \"\";\r\n this.items = {};\r\n\r\n //render empty result\r\n if (result == null || !result.length) this.settings.noResult();\r\n\r\n //render list\r\n else {\r\n result.forEach(item => {\r\n var key = item[this.settings.data.key];\r\n this.items[key] = item;\r\n var html_item = this.resultList.appendChild(document.createElement(\"li\"));\r\n html_item.classList.add(\"item\");\r\n html_item.innerHTML = this.settings.render(item);\r\n html_item.setAttribute(\"data-key\", key);\r\n\r\n html_item.addEventListener(\"click\", () => {\r\n this.select(html_item);\r\n });\r\n\r\n });\r\n\r\n //highlight keywords\r\n this.currentKeyword.split(\" \").forEach(w => { SP.highlight(\"#resultList\", w); });\r\n\r\n //mark first item\r\n this.markItem(this.resultList.firstChild as HTMLElement);\r\n }\r\n this.show();\r\n }\r\n\r\n\r\n }\r\n catch (err) {\r\n //await SP.alertX(\"error fetching data, check console!\");\r\n console.error(err);\r\n }\r\n finally {\r\n this.searching = false;\r\n\r\n //research if change\r\n if (this.currentKeyword != this.input.value) this.search();\r\n\r\n }\r\n }\r\n }\r\n}","namespace SP {\r\n\r\n export type GS1Data = {\r\n fullCode?: string;\r\n GTIN?: string;\r\n bestBeforeDate?: string;\r\n productionDate?: string;\r\n batchOrLotNumber?: string;\r\n orderNumber?: string;\r\n };\r\n\r\n function isGS1Barcode(barcode: string): boolean {\r\n if (!barcode || !barcode.length || !(barcode[0] == \"(\")) return false;\r\n // Check for the presence of parentheses enclosing Application Identifiers (AIs) followed by numeric data\r\n const gs1Pattern = /\\(\\d{2,4}\\)\\d+/g;\r\n return gs1Pattern.test(barcode);\r\n }\r\n\r\n\r\n function parseGS1Barcode(barcode: string): GS1Data {\r\n let result: GS1Data = {};\r\n let data: { [ai: string]: string } = {};\r\n\r\n let currentIndex = 0;\r\n while (currentIndex < barcode.length) {\r\n // Find the start of the AI\r\n let startAIPos = barcode.indexOf(\"(\", currentIndex);\r\n let endAIPos = barcode.indexOf(\")\", startAIPos);\r\n\r\n if (startAIPos === -1 || endAIPos === -1) break;\r\n\r\n const ai = barcode.substring(startAIPos + 1, endAIPos);\r\n\r\n currentIndex = endAIPos + 1; // Move currentIndex past the closing parenthesis of AI\r\n\r\n const endOfData = barcode.indexOf(\"(\", currentIndex);\r\n const dataLength = endOfData === -1 ? barcode.length - currentIndex : endOfData - currentIndex;\r\n\r\n data[ai] = barcode.substring(currentIndex, currentIndex + dataLength); // Extract the data\r\n currentIndex += dataLength;\r\n }\r\n\r\n console.log(data);\r\n\r\n for (let ai in data) {\r\n switch (ai) {\r\n case \"01\":\r\n result.GTIN = data[ai];\r\n break;\r\n case \"11\":\r\n const dateStrProductionDate = data[ai];\r\n result.productionDate = `20${dateStrProductionDate.substring(0, 2)}-${dateStrProductionDate.substring(2, 4)}-${dateStrProductionDate.substring(4, 6)}`;\r\n break;\r\n case \"15\":\r\n const dateStrBestBefore = data[ai];\r\n result.bestBeforeDate = `20${dateStrBestBefore.substring(0, 2)}-${dateStrBestBefore.substring(2, 4)}-${dateStrBestBefore.substring(4, 6)}`;\r\n break;\r\n case \"10\":\r\n result.batchOrLotNumber = data[ai];\r\n break;\r\n case \"400\":\r\n result.orderNumber = data[ai];\r\n break;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n //function parseGS1Barcode(barcode: string): GS1Data {\r\n // let result: GS1Data = {};\r\n // let data: {[ai: string]: string} = {};\r\n\r\n // let currentIndex = 0;\r\n // while (currentIndex < barcode.length) {\r\n // const ai = barcode.substring(currentIndex + 1, currentIndex + 3); // Extracting Application Identifier (AI)\r\n // currentIndex += 4; // Move currentIndex past AI and both parentheses\r\n\r\n // const endOfData = barcode.indexOf(\"(\", currentIndex);\r\n\r\n // // Get the length of data until next identifier or until the end if no more identifiers\r\n // const dataLength = endOfData === -1 ? barcode.length - currentIndex : endOfData - currentIndex;\r\n\r\n // data[ai] = barcode.substring(currentIndex, currentIndex + dataLength); // Extract the data\r\n // currentIndex += dataLength; \r\n // }\r\n // console.log(\"DATA:\", data);\r\n // for (let ai in data) {\r\n // switch (ai) {\r\n // case \"01\":\r\n // result.GTIN = data[ai];\r\n // break;\r\n // case \"15\":\r\n // const dateStr = data[ai];\r\n // result.bestBeforeDate = `20${dateStr.substring(0, 2)}-${dateStr.substring(2, 4)}-${dateStr.substring(4, 6)}`;\r\n // break;\r\n // case \"10\":\r\n // result.batchOrLotNumber = data[ai];\r\n // break;\r\n // case \"400\":\r\n // result.orderNumber = data[ai];\r\n // break;\r\n // }\r\n // }\r\n\r\n // return result;\r\n //}\r\n\r\n\r\n export class BarcodeEngine {\r\n code_commands: { [command: string]: ((code: string) => void)[] } = {};\r\n _startCallbacks: (() => void)[] = [];\r\n _convertScanMethods: ((code: string) => Promise)[] = [];\r\n debug: boolean = false;\r\n timeout: NodeJS.Timeout;\r\n _startSymbol: string = '{';\r\n _endSymbol: string = '}';\r\n _reading: boolean = false;\r\n _input: string = \"\";\r\n paused: boolean = false;\r\n debugView: HTMLTextAreaElement;\r\n slaveMode: boolean = false;\r\n outputInput: HTMLInputElement;\r\n bannedKeycodes: number[] = [\r\n 0, //null\r\n 9, //Tab\r\n 16, //Shift\r\n 17, //Control\r\n 18, //Alt-GR\r\n 20, //Caps Lock\r\n 27, //Escape\r\n 91, //Meta/Windows\r\n ];\r\n constructor() {\r\n //if (typeof ((window as any).Android) != 'undefined') {\r\n // //tell KB to return results via JS function\r\n // (window as any).Android.useJavaScriptCallbackGenericScanner(true);\r\n // SP.alertX(\"enabled for android api scanning\");\r\n //}\r\n //else {\r\n // SP.alertX(\"android api not found\");\r\n //}\r\n\r\n\r\n //(window as any).barcodeScanResult = (data: string) => {\r\n // SP.alertX(\"api scan:\" + data);\r\n // console.log(data);\r\n //}\r\n\r\n\r\n\r\n if (this.debug) {\r\n this.debugView = document.createElement(\"textarea\");\r\n document.body.prepend(this.debugView);\r\n this.debugView.setAttribute(\"readonly\", \"true\");\r\n this.debugView.setAttribute(\"style\", \"position:fixed; width:100%; bottom:0; pointer-events:none; z-index: 1000; text-align:center; background-color:rgba(255,255,255,0.5)\")\r\n }\r\n\r\n\r\n document.onkeydown = (e) => {\r\n if (this.paused) return;\r\n if (this.bannedKeycodes.indexOf(e.keyCode) != -1) return;\r\n\r\n if (this.debug) {\r\n if (!this._input.length) this.debugView.value = \"\";\r\n this.debugView.value += e.key + \"(\" + e.keyCode + \")\";\r\n }\r\n\r\n\r\n\r\n //clear after 100ms\r\n if (this.timeout) {\r\n clearTimeout(this.timeout);\r\n this.timeout = null;\r\n }\r\n\r\n\r\n\r\n\r\n if ((this._endSymbol == null && e.keyCode == 13) || this._endSymbol == e.key) {\r\n if (this._input.length) {\r\n if (this.debug) this.debugView.value += \"\\n Scanned Barcode = \" + this._input.trim() + \"\\n\";\r\n this.performScan(this._input.trim(), false);\r\n this.reset();\r\n }\r\n\r\n }\r\n else {\r\n\r\n if (!this._reading && (!this._startSymbol || e.key == this._startSymbol)) {\r\n this.reset();\r\n this._reading = true;\r\n\r\n \r\n if (this._startSymbol) {\r\n this._startCallbacks.forEach(cb => cb());\r\n }\r\n }\r\n else if (this._reading) {\r\n this.timeout = setTimeout(() => {\r\n this.reset();\r\n }, 100);\r\n\r\n this._input += e.key;\r\n }\r\n }\r\n\r\n if (this.debug) {\r\n this.debugView.style.height = \"5px\";\r\n this.debugView.style.height = (this.debugView.scrollHeight) + \"px\";\r\n }\r\n\r\n\r\n //console.log(e.key);\r\n };\r\n\r\n }\r\n\r\n reset() {\r\n this._input = \"\";\r\n this._reading = false;\r\n this.timeout = null;\r\n }\r\n\r\n hasBoundCommand(command: string) {\r\n return this.code_commands[command]?.length > 0;\r\n }\r\n\r\n async performScan(code: string, external: boolean = true) {\r\n if (this.paused) return false;\r\n\r\n //paste in allowed input\r\n if (document.activeElement && document.activeElement.classList.contains(\"allow-scan\")) {\r\n (document.activeElement as HTMLInputElement).value = code;\r\n return true;\r\n }\r\n\r\n\r\n //console.log(\"scanning code:\" + code, \"external\", external);\r\n\r\n if (external && this.debug) {\r\n this.debugView.value = \"Scanned Barcode from external = \" + code + \"\\n\";\r\n }\r\n\r\n\r\n var seperator = code.indexOf(\"_\");\r\n var cmd = false;\r\n var action = false;\r\n\r\n\r\n\r\n if (seperator == -1) {\r\n for (let i = 0; i < this._convertScanMethods.length; i++) {\r\n let result = await this._convertScanMethods[i](code);\r\n if (result != null && result == false) {\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n if (seperator != -1 && !this.slaveMode) {\r\n\r\n var command = code.substr(0, seperator);\r\n var command_code = code.substr(seperator + 1, code.length - (seperator))\r\n\r\n\r\n \r\n \r\n\r\n var commands = this.code_commands[command];\r\n if (commands) {\r\n for (let i = commands.length - 1; i >= 0; i--) {\r\n\r\n let m = commands[i];\r\n var ctx = (m as any).ctx;\r\n var result = m.apply(ctx, [command_code]);\r\n cmd = true;\r\n action = true;\r\n if (result != null && result == false) {\r\n //console.log(\"stopping propergation\");\r\n break;\r\n }\r\n \r\n }\r\n\r\n }\r\n }\r\n if (!cmd) {\r\n var commands = this.code_commands[\"any\"];\r\n let gs1data: GS1Data = null;\r\n if (isGS1Barcode(code)) {\r\n gs1data = parseGS1Barcode(code);\r\n code = gs1data.GTIN;\r\n }\r\n\r\n\r\n if (commands) {\r\n for (let i = commands.length - 1; i >= 0; i--) {\r\n let m = commands[i];\r\n var ctx = (m as any).ctx;\r\n var result = m.apply(ctx, [code, gs1data]);\r\n if (result != null && result == false) break;\r\n action = true;\r\n }\r\n }\r\n }\r\n return action;\r\n }\r\n\r\n pause() {\r\n this.paused = true;\r\n }\r\n\r\n resume() {\r\n this.paused = false;\r\n }\r\n\r\n\r\n on(command: string, method: (...args: any[]) => void, ctx: any) {\r\n if (!command || !command.length) command = \"any\";\r\n if (this.code_commands[command] == null)\r\n this.code_commands[command] = [];\r\n\r\n (method as any).ctx = ctx;\r\n this.code_commands[command].push(method);\r\n }\r\n\r\n off(command: string, method: (...args: any[]) => void) {\r\n if (!command || !command.length) command = \"any\";\r\n if (this.code_commands[command] != null) {\r\n this.code_commands[command].splice(this.code_commands[command].indexOf(method), 1);\r\n }\r\n }\r\n }\r\n}","\r\nnamespace SP {\r\n export class ChartElement {\r\n \r\n }\r\n}","/// \r\n\r\nnamespace SP {\r\n\texport class CheckboxDoodle {\r\n\t\t_checked: boolean = null;\r\n\t\tcheckbox: HTMLInputElement;\r\n\t\ttrack = document.createElement(\"div\");\r\n\t\thandle = document.createElement(\"div\");\r\n\t\tonChange: () => void = null;\r\n\r\n\t\tprivate binder: (e: PointerEvent) => void;\r\n\r\n\t\tconstructor(checkbox: HTMLInputElement) {\r\n\t\t\tthis.checkbox = checkbox;\r\n\t\t\tthis.checkbox.style.display = \"none\";\r\n\t\t\tthis.checked = checkbox.checked;\r\n\t\t\tthis.track.classList.add(\"sp_checkbox_doodle\", \"value\");\r\n\t\t\tthis.track.appendChild(this.handle);\r\n\t\t\tthis.checkbox.parentElement.insertBefore(this.track, this.checkbox);\r\n\t\t\tthis.binder = this.pointerdown.bind(this);\r\n\t\t\tthis.setEvent(!this.checkbox.disabled && !this.checkbox.readOnly);\r\n\t\t}\r\n\r\n\t\tprivate setEvent(activate: boolean) {\r\n\t\t\tconsole.log(\"setEvent\", activate);\r\n\t\t\tif (activate) this.track.addEventListener(\"pointerdown\", this.binder);\r\n\t\t\telse this.track.removeEventListener(\"pointerdown\", this.binder);\r\n\t\t}\r\n\r\n\t\tpointerdown(e: PointerEvent) {\r\n\t\t\tconsole.log(\"pointerdown\", e, this);\r\n\t\t\tthis.checked = !this.checked;\r\n\r\n\t\t\tif (this.onChange != null)\r\n\t\t\t\tthis.onChange();\r\n\t\t}\r\n\r\n\t\tget disabled(): boolean {\r\n\t\t\treturn this.checkbox.disabled;\r\n\t\t}\r\n\r\n\t\tset disabled(val: boolean) {\r\n\t\t\tif (val != this.checkbox.disabled) {\r\n\t\t\t\tthis.checkbox.disabled = val;\r\n\t\t\t\tthis.setEvent(val);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tget checked(): boolean {\r\n\t\t\treturn this._checked;\r\n\t\t}\r\n\r\n\t\tset checked(val: boolean) {\r\n\t\t\tif (val != this._checked) {\r\n\t\t\t\tthis.checkbox.checked = val;\r\n\t\t\t\tthis._checked = val;\r\n\t\t\t\tif (val) this.track.classList.add(\"checked\");\r\n\t\t\t\telse this.track.classList.remove(\"checked\");\r\n\r\n\t\t\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}","\r\nnamespace SP {\r\n export class DialogBox {\r\n static ZIndex = 10000000;\r\n container: HTMLElement;\r\n dialog: HTMLElement;\r\n text_container: HTMLElement;\r\n text: HTMLElement;\r\n footer_container: HTMLElement;\r\n\r\n constructor(hasCancel: boolean) {\r\n this.container = document.createElement(\"div\");\r\n this.container.classList.add(\"sp_dialog_container\");\r\n document.body.appendChild(this.container);\r\n\r\n\r\n this.dialog = document.createElement(\"div\");\r\n this.dialog.classList.add(\"sp_dialog\");\r\n this.container.appendChild(this.dialog);\r\n\r\n this.text_container = document.createElement(\"div\");\r\n this.text_container.classList.add(\"text_container\");\r\n this.dialog.appendChild(this.text_container);\r\n\r\n this.text = document.createElement(\"div\");\r\n this.text.classList.add(\"content_inner\");\r\n this.text_container.appendChild(this.text);\r\n\r\n this.footer_container = document.createElement(\"div\");\r\n this.footer_container.classList.add(\"footer_container\");\r\n this.dialog.appendChild(this.footer_container);\r\n\r\n\r\n\r\n //add button\r\n if (hasCancel) {\r\n var cancel_btn = document.createElement(\"div\");\r\n cancel_btn.classList.add(\"cancel_btn\");\r\n cancel_btn.innerHTML = `Cancel`;\r\n cancel_btn.addEventListener(\"click\", () => {\r\n this.pressCancel();\r\n });\r\n this.footer_container.appendChild(cancel_btn);\r\n }\r\n\r\n //add button\r\n var ok_btn = document.createElement(\"div\");\r\n ok_btn.classList.add(\"ok_btn\");\r\n ok_btn.innerHTML = `Ok`;\r\n ok_btn.addEventListener(\"click\", () => {\r\n this.pressOk();\r\n });\r\n\r\n this.footer_container.appendChild(ok_btn);\r\n }\r\n\r\n resolveOnClose: (result: boolean) => void;\r\n\r\n async prompt(message: string, error: boolean): Promise {\r\n DialogBox.ZIndex++;\r\n this.container.style.zIndex = DialogBox.ZIndex.toString();\r\n this.text.innerHTML = message;\r\n this.container.style.display = \"flex\";\r\n\r\n if (error) SP.Sounds.Error.play();\r\n else SP.Sounds.Notification.play();\r\n\r\n // Promise is created only for the close operation.\r\n return new Promise((resolve, reject) => {\r\n this.resolveOnClose = resolve;\r\n });\r\n document.body.appendChild(this.container);\r\n }\r\n\r\n\r\n pressOk() {\r\n this.resolveOnClose(true);\r\n this.cleanup();\r\n }\r\n\r\n pressCancel() {\r\n this.resolveOnClose(false);\r\n this.cleanup();\r\n\r\n }\r\n cleanup() {\r\n this.container.remove();\r\n }\r\n }\r\n}","\r\nnamespace SP {\r\n export let ActiveNotifications: DismissInfo[] = [];\r\n\r\n export function DismissAll() {\r\n for (var i = ActiveNotifications.length - 1; i >= 0; i--) {\r\n ActiveNotifications[i].dismiss.click();\r\n }\r\n }\r\n\r\n function keyEvent(e: KeyboardEvent) {\r\n if (e.which == 13 || e.which == 32) {\r\n if (ActiveNotifications.length) {\r\n ActiveNotifications[ActiveNotifications.length - 1].dismiss_fn();\r\n }\r\n }\r\n }\r\n let bound = false;\r\n\r\n function bindEvents() {\r\n if (!bound) {\r\n bound = true;\r\n document.addEventListener(\"keydown\", keyEvent);\r\n }\r\n }\r\n\r\n function unbindEvents() {\r\n if (bound && ActiveNotifications.length == 0) {\r\n bound = false;\r\n document.removeEventListener(\"keydown\", keyEvent);\r\n }\r\n\r\n }\r\n\r\n export class DismissInfo {\r\n container = document.createElement(\"div\");\r\n inner = document.createElement(\"div\");\r\n header = document.createElement(\"div\");\r\n content = document.createElement(\"div\");\r\n dismiss = document.createElement(\"div\");\r\n\r\n constructor(headline: string, content: string) {\r\n this.container.classList.add(\"info-controller\");\r\n this.container.addEventListener(\"click\", () => { this.dismiss_fn(); });\r\n this.inner.classList.add(\"inner\");\r\n this.inner.addEventListener(\"click\", (e) => { e.preventDefault(); e.stopPropagation(); return false; });\r\n this.header.classList.add(\"header\");\r\n this.content.classList.add(\"content\");\r\n this.dismiss.classList.add(\"dismiss\");\r\n\r\n this.container.appendChild(this.inner);\r\n this.inner.appendChild(this.header);\r\n this.inner.appendChild(this.content);\r\n this.inner.appendChild(this.dismiss);\r\n this.dismiss.innerHTML = SP.Localize(\"word_dismiss\");\r\n document.body.appendChild(this.container);\r\n\r\n\r\n\r\n ActiveNotifications.push(this);\r\n bindEvents();\r\n this.dismiss.addEventListener(\"click\", () => {\r\n this.dismiss_fn();\r\n });\r\n\r\n this.header.innerHTML = headline;\r\n this.content.innerHTML = content;\r\n }\r\n\r\n dismiss_fn() {\r\n ActiveNotifications.splice(ActiveNotifications.indexOf(this), 1);\r\n this.container.remove();\r\n unbindEvents();\r\n }\r\n }\r\n\r\n}","/// \r\n\r\nnamespace SP {\r\n export class Droppable {\r\n static current: Droppable;\r\n element: HTMLElement;\r\n types: string[];\r\n callback: (type: string, d: any) => any;\r\n active = false;\r\n bound = false;\r\n constructor(element: HTMLElement, types: string[], dropCallback: (type: string, d: any) => any) {\r\n this.element = element;\r\n this.types = types;\r\n this.callback = dropCallback;\r\n\r\n let rect = this.element.getBoundingClientRect();\r\n\r\n let move = (t: any) => {\r\n\r\n let e = t as MouseEvent;\r\n\r\n if (t.touches && t.touches.length)\r\n e = t.touches[0];\r\n\r\n\r\n var z = SP.zoom() as number;\r\n\r\n if (rect.x < e.clientX / z &&\r\n rect.x + rect.width > e.clientX / z &&\r\n rect.y < e.clientY / z &&\r\n rect.y + rect.height > e.clientY / z) {\r\n if (!this.active) {\r\n over();\r\n }\r\n\r\n }\r\n else {\r\n if (this.active) {\r\n out();\r\n }\r\n }\r\n }\r\n\r\n let touch = () => {\r\n rect = this.element.getBoundingClientRect();\r\n if (!this.bound) {\r\n document.addEventListener(\"mouseup\", touchEnd);\r\n document.addEventListener(\"touchend\", touchEnd);\r\n document.addEventListener(\"mousemove\", move);\r\n document.addEventListener(\"touchmove\", move);\r\n this.bound = true;\r\n }\r\n\r\n\r\n }\r\n\r\n let touchEnd = () => {\r\n if (this.bound) {\r\n document.removeEventListener(\"mouseup\", touchEnd);\r\n document.removeEventListener(\"touchend\", touchEnd);\r\n document.removeEventListener(\"mousemove\", move);\r\n document.removeEventListener(\"touchmove\", move);\r\n this.bound = false;\r\n }\r\n\r\n }\r\n\r\n document.body.addEventListener(\"mousedown\", touch);\r\n document.body.addEventListener(\"touchstart\", touch);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n var out = () => {\r\n this.element.removeEventListener(\"pointerleave\", out);\r\n this.clear();\r\n }\r\n\r\n var over = () => {\r\n if (!this.active && Draggable.currentItem != null && this.types.indexOf(Draggable.currentItem.type) != -1) {\r\n this.element.addEventListener(\"pointerleave\", out);\r\n this.focus();\r\n }\r\n }\r\n\r\n //this.element.addEventListener(\"pointerenter\", over);\r\n }\r\n\r\n focus() {\r\n Droppable.current?.clear();\r\n Droppable.current = this;\r\n this.active = true;\r\n this.element.classList.add(\"droppable_active\");\r\n\r\n }\r\n\r\n\r\n clear() {\r\n if (this.active) {\r\n this.active = false;\r\n this.element.classList.remove(\"droppable_active\");\r\n Droppable.current = null;\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n export class Draggable {\r\n static dragContainer: HTMLDivElement;\r\n static currentItem: Draggable;\r\n\r\n element: HTMLElement;\r\n dragClone: HTMLElement;\r\n dragging = false;\r\n triggered = false;\r\n initialized = false;\r\n type: string;\r\n data: any;\r\n itemStartPosition = new SP.Point();\r\n clickStartPosition = new SP.Point();\r\n mousePosition = new SP.Point();\r\n mouseOffset = new SP.Point();\r\n\r\n\r\n constructor(element: HTMLElement, type: string, data: any) {\r\n this.element = element;\r\n this.type = type;\r\n this.data = data;\r\n\r\n let dragStart = async (x: any) => {\r\n //x.preventDefault();\r\n let e: MouseEvent = x;\r\n if (x.touches && x.touches[0]) e = x.touches[0] as MouseEvent;\r\n this.clickStartPosition.set(e.screenX, e.screenY);\r\n\r\n\r\n if (!this.dragging) {\r\n this.dragging = true;\r\n document.body.addEventListener(\"touchend\", dragEnd);\r\n document.body.addEventListener(\"mouseup\", dragEnd);\r\n document.body.addEventListener(\"touchmove\", drag);\r\n document.body.addEventListener(\"mousemove\", drag);\r\n }\r\n };\r\n\r\n\r\n let drag = (x: any) => {\r\n let e: MouseEvent = x;\r\n if (x.touches && x.touches[0]) e = x.touches[0] as MouseEvent;\r\n this.mousePosition.set(e.screenX, e.screenY);\r\n this.mouseOffset.set(this.mousePosition.x - this.clickStartPosition.x, this.mousePosition.y - this.clickStartPosition.y);\r\n\r\n\r\n if (!this.triggered && this.mouseOffset.length() > 10) {\r\n this.initialize();\r\n this.triggered = true;\r\n Draggable.currentItem = this;\r\n }\r\n else if (this.triggered) {\r\n var z = SP.zoom() as number;\r\n this.dragClone.style.left = (this.itemStartPosition.x + (this.mouseOffset.x / window.devicePixelRatio / z)) + \"px\";\r\n this.dragClone.style.top = (this.itemStartPosition.y + (this.mouseOffset.y / window.devicePixelRatio / z)) + \"px\";\r\n }\r\n\r\n\r\n };\r\n\r\n let dragEnd = () => {\r\n if (this.dragging) {\r\n document.body.removeEventListener(\"touchend\", dragEnd);\r\n document.body.removeEventListener(\"mouseup\", dragEnd);\r\n document.body.removeEventListener(\"touchmove\", drag);\r\n document.body.removeEventListener(\"mousemove\", drag);\r\n\r\n this.dragging = false;\r\n this.triggered = false;\r\n\r\n if (Droppable.current != null) {\r\n Droppable.current.callback(this.type, this.data);\r\n Droppable.current.clear();\r\n }\r\n\r\n Draggable.currentItem = null;\r\n console.log(\"EndDrag\");\r\n if (Draggable.dragContainer) Draggable.dragContainer.style.display = \"none\"; if (this.dragClone) {\r\n this.dragClone.remove();\r\n this.dragClone = null;\r\n }\r\n }\r\n\r\n\r\n };\r\n\r\n this.element.addEventListener(\"mousedown\", dragStart);\r\n this.element.addEventListener(\"touchstart\", dragStart);\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n async initialize() {\r\n if (!this.initialized) {\r\n if (!Draggable.dragContainer) {\r\n console.log(\"initialize Drag\");\r\n Draggable.dragContainer = document.createElement(\"div\");\r\n Draggable.dragContainer.classList.add(\"drag_container\");\r\n document.body.append(Draggable.dragContainer);\r\n }\r\n }\r\n\r\n this.dragClone = SP.duplicate(this.element);\r\n await SP.sleep(0);\r\n var metrics = this.element.getBoundingClientRect();\r\n this.dragClone.style.width = metrics.width + \"px\";\r\n this.dragClone.style.height = metrics.height + \"px\";\r\n this.dragClone.style.left = metrics.left + \"px\";\r\n this.dragClone.style.top = metrics.top + \"px\";\r\n this.dragClone.style.boxShadow = \"10px 10px 10px #00000055\";\r\n\r\n\r\n Draggable.dragContainer.appendChild(this.dragClone);\r\n Draggable.dragContainer.style.display = \"block\";\r\n this.itemStartPosition.set(metrics.left, metrics.top);\r\n }\r\n }\r\n}","/// \r\n\r\nnamespace SP {\r\n export class DropDown {\r\n items: DropDownItem[] = [];\r\n item_dictionary: { [value: string]: DropDownItem } = {};\r\n container: HTMLElement;\r\n selectedItem: DropDownItem = null;\r\n selected_container: HTMLElement = document.createElement(\"div\");\r\n item_container: HTMLElement = document.createElement(\"ul\");\r\n icon_container: HTMLElement = document.createElement(\"div\");\r\n _changeEvents: ((val: string) => any)[] = [];\r\n _open = false;\r\n\r\n constructor(container: HTMLElement, icon: string) {\r\n this.container = container;\r\n this.container.classList.add(\"sp_drop_down\");\r\n\r\n if (icon) {\r\n this.icon_container.classList.add(\"icon\");\r\n this.container.appendChild(this.icon_container);\r\n this.icon_container.innerHTML = ``\r\n }\r\n else {\r\n this.selected_container.style.left = \"0px\";\r\n }\r\n\r\n this.selected_container.classList.add(\"current\");\r\n this.container.appendChild(this.selected_container);\r\n this.item_container.classList.add(\"sp_resultList\");\r\n this.container.appendChild(this.item_container);\r\n\r\n this.selected_container.addEventListener(\"click\", () => {\r\n if (this._open)\r\n this.hide();\r\n else\r\n this.open();\r\n });\r\n\r\n this.hide();\r\n }\r\n\r\n onChange(fn: (val: string) => any) {\r\n this._changeEvents.push(fn);\r\n\r\n }\r\n\r\n add(value: string, text: string, enabled: boolean) {\r\n let item = new DropDownItem(this, value, text, enabled);\r\n this.item_container.appendChild(item.element);\r\n\r\n item.element.addEventListener(\"click\", () => {\r\n this.value = item.value;\r\n\r\n for (let i = 0; i < this._changeEvents.length; i++) {\r\n this._changeEvents[i](item.value);\r\n }\r\n });\r\n\r\n this.item_dictionary[item.value] = item;\r\n this.items.push(item);\r\n\r\n if (this.selectedItem == null) this.value = item.value;\r\n }\r\n\r\n clear() {\r\n this.item_container.innerHTML = \"\";\r\n this.item_dictionary = {};\r\n this.items = [];\r\n this.selectedItem = null;\r\n this.value = null;\r\n }\r\n\r\n get value() {\r\n return this.selectedItem?.value ?? null;\r\n }\r\n\r\n set value(val: string) {\r\n if (this.selectedItem != null) {\r\n this.selectedItem.element.classList.remove(\"selected\");\r\n }\r\n\r\n let item = this.item_dictionary[val];\r\n if (item != null) {\r\n this.selectedItem = item;\r\n this.selectedItem.element.classList.add(\"selected\");\r\n this.selected_container.innerHTML = item.text;\r\n\r\n\r\n\r\n if (item.enabled) this.selected_container.classList.remove(\"disabled\");\r\n else this.selected_container.classList.add(\"disabled\");\r\n\r\n }\r\n this.hide();\r\n }\r\n\r\n outside_click: any = null;\r\n\r\n async open() {\r\n this.item_container.style.display = \"block\";\r\n this._open = true;\r\n if (this.selectedItem != null) {\r\n await SP.sleep(0);\r\n this.selectedItem.element.scrollIntoView();\r\n }\r\n\r\n if (this.outside_click == null) {\r\n this.outside_click = (evt: MouseEvent) => {\r\n const flyoutElement = this.container;\r\n let targetElement = evt.target as HTMLElement; // clicked element\r\n\r\n do {\r\n if (targetElement == flyoutElement) {\r\n return;\r\n }\r\n // Go up the DOM\r\n targetElement = targetElement.parentNode as HTMLElement;\r\n } while (targetElement);\r\n\r\n // This is a click outside.\r\n this.hide();\r\n }\r\n document.addEventListener(\"click\", this.outside_click);\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n\r\n hide() {\r\n if (this.outside_click != null) {\r\n document.removeEventListener(\"click\", this.outside_click);\r\n this.outside_click = null;\r\n\r\n }\r\n\r\n this.item_container.style.display = \"none\";\r\n this._open = false;\r\n\r\n }\r\n }\r\n\r\n export class DropDownItem {\r\n _value: string;\r\n _text: string;\r\n _enabled: boolean = false;\r\n element: HTMLElement;\r\n _dropdown: DropDown;\r\n\r\n constructor(dd: DropDown, value: string, text: string, enabled: boolean) {\r\n this._dropdown = dd;\r\n this.element = document.createElement(\"li\");\r\n this.element.classList.add(\"item\");\r\n this.value = value;\r\n this.text = text;\r\n this.enabled = enabled;\r\n\r\n }\r\n\r\n set text(val: string) {\r\n this._text = val;\r\n this.element.innerHTML = this._text;\r\n }\r\n\r\n get text() {\r\n return this._text;\r\n }\r\n\r\n set value(val: string) {\r\n this._value = val;\r\n }\r\n\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n set enabled(val: boolean) {\r\n if (val) this.element.classList.remove(\"disabled\");\r\n else this.element.classList.add(\"disabled\");\r\n\r\n if (this._dropdown.selectedItem == this) {\r\n if (val) this._dropdown.selected_container.classList.remove(\"disabled\");\r\n else this._dropdown.selected_container.classList.add(\"disabled\");\r\n }\r\n\r\n this._enabled = val;\r\n }\r\n\r\n get enabled() {\r\n return this._enabled;\r\n }\r\n }\r\n\r\n}","/// \r\n\r\nnamespace SP {\r\n export class Guid {\r\n static readonly Empty : string = \"00000000-0000-0000-0000-000000000000\";\r\n static newGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0,\r\n v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n }\r\n}","/// \r\n\r\nnamespace SP {\r\n export class NumberDoodle {\r\n input: HTMLInputElement;\r\n container = document.createElement(\"div\");\r\n plus = document.createElement(\"div\");\r\n minus = document.createElement(\"div\");\r\n onChange: () => void = null;\r\n constructor(input: HTMLInputElement) {\r\n this.input = input;\r\n this.input.type = \"number\";\r\n this.value = input.value ? input.value : \"0\";\r\n this.container.classList.add(\"sp_number_doodle\", \"value\");\r\n this.minus.classList.add(\"minus\");\r\n this.minus.innerHTML = '';\r\n this.plus.classList.add(\"plus\");\r\n this.plus.innerHTML = '';\r\n\r\n\r\n this.input.addEventListener(\"focus\", () => { this.input.select(); });\r\n\r\n this.container.appendChild(this.minus);\r\n this.container.appendChild(this.plus);\r\n\r\n\r\n this.input.parentElement.insertBefore(this.container, this.input);\r\n this.container.prepend(this.input);\r\n\r\n this.plus.addEventListener(\"pointerdown\", () => {\r\n var newValue = parseFloat(this.value) + 1;\r\n this.value = newValue.toString();\r\n });\r\n\r\n this.input.addEventListener(\"change\", () => {\r\n if (this.onChange != null) this.onChange();\r\n });\r\n\r\n this.minus.addEventListener(\"pointerdown\", () => {\r\n var newValue = Math.max(0, parseFloat(this.value) - 1);\r\n this.value = newValue.toString();\r\n });\r\n }\r\n\r\n\r\n get value(): string {\r\n return this.input.value;\r\n }\r\n\r\n get intValue(): number {\r\n return parseFloat(this.input.value);\r\n }\r\n\r\n set value(val: string) {\r\n if (val != this.input.value) {\r\n this.input.value = val;\r\n if (this.onChange != null) this.onChange();\r\n }\r\n }\r\n }\r\n}","/// \r\n\r\nnamespace SP {\r\n export class Point {\r\n\r\n static zero = new Point(0, 0);\r\n static left = new Point(-1, 0);\r\n static right = new Point(1, 0);\r\n static up = new Point(0, -1);\r\n static down = new Point(0, 1);\r\n\r\n x: number;\r\n y: number;\r\n\r\n constructor(x: number = null, y: number = null) {\r\n this.set(x, y);\r\n }\r\n\r\n set(x: number = null, y: number = null) {\r\n this.x = x ?? 0;\r\n this.y = y ?? x ?? 0;\r\n }\r\n\r\n\r\n\r\n static Distance(a: Point, b: Point) {\r\n var aa = a.x - b.x;\r\n var bb = a.y - b.y;\r\n return Math.sqrt(aa * aa + bb * bb);\r\n }\r\n\r\n distance(b: Point) {\r\n return Point.Distance(this, b);\r\n }\r\n\r\n length() {\r\n return Point.Distance(this, Point.zero);\r\n }\r\n\r\n\r\n }\r\n}","namespace SP.Search {\r\n\texport class Address {\r\n\t\tpublic static Debug = false;\r\n\t\tprivate input: HTMLInputElement;\r\n\t\tprivate id: string = SP.getParam(\"id\");\r\n\t\tprivate autoComlete: SP.AutoComplete;\r\n\t\tconstructor(elm: HTMLInputElement | string) {\r\n\t\t\tif(typeof elm == \"string\") {\r\n\t\t\t\tthis.input = document.querySelector(elm);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.input = elm;\r\n\t\t\t}\r\n\t\t\tconst option = this.CreateAutoCompleteOptions();\r\n\t\t\tthis.autoComlete = new SP.AutoComplete(this.input, option);\r\n\r\n\t\t\tAddress.log(\"SelectAddressField is activated\", this);\r\n\t\t}\r\n\r\n\t\tstatic log(...args: any) {\r\n\t\t\tif (!this.Debug) return;\r\n\t\t\tconsole.log(...args);\r\n\t\t}\r\n\r\n\t\tpublic static AutoSetup() {\r\n\t\t\tconst searchAddressFields = document.querySelectorAll(\"[data-search-address-key]\");\r\n\t\t\tsearchAddressFields.forEach((elm: HTMLInputElement) => {\r\n\t\t\t\tnew Address(elm);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tprivate CreateAutoCompleteOptions() {\r\n\t\t\tlet options: SP.AutoCompleteSettingsInterface = {};\r\n\t\t\toptions.data = {\r\n\t\t\t\tsrc: this.GetAddresses.bind(this),\r\n\t\t\t\tkey: this.input.getAttribute(\"data-search-address-src-key\") ?? \"id\",\r\n\t\t\t};\r\n\t\t\toptions.searchDelay = 200;\r\n\t\t\toptions.render = this.ConstructAddressStringHTML.bind(this);\r\n\t\t\toptions.onSelect = this.SelectedAddress.bind(this);\r\n\t\t\toptions.cacheResult = true;\r\n\t\t\treturn options;\r\n\t\t}\r\n\r\n\t\tasync GetAddresses() {\r\n\t\t\tconst response = await fetch(`/api/v1/address/list?pagesize=10&addressType=1&keyword=${this.input.value}`, {\r\n\t\t\t\tmethod: 'GET',\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t'Accept': 'application/json',\r\n\t\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\t\t'pragma': 'no-cache',\r\n\t\t\t\t\t'cache-control': 'no-cache',\r\n\t\t\t\t\t'api-customer': `${this.id}`\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tconst result = await response.json();\r\n\t\t\tif (result.status = !200) alert(result.msg);\r\n\r\n\t\t\treturn SP.promise(result.data);\r\n\t\t}\r\n\t\tprivate SelectedAddress(address: SP.Address) {\r\n\t\t\tthis.input.value = this.ConstructAddressString(address);\r\n\t\t\tlet key = this.input.getAttribute(\"data-search-address-key\").toLocaleLowerCase();\r\n\t\t\tlet query = `[data-search-address-${key}]`;\r\n\t\t\tlet valuesOutputs = document.querySelectorAll(query);\r\n\t\t\tAddress.log(\"Found \", valuesOutputs, \"for\", query);\r\n\t\t\tvaluesOutputs.forEach((valueOutput: HTMLElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement) => {\r\n\t\t\t\tlet k: AddressKeys = valueOutput.getAttribute(\"data-search-address-location-address\").toLocaleLowerCase() as AddressKeys;\r\n\t\t\t\tif (valueOutput instanceof HTMLInputElement ||\r\n\t\t\t\t\tvalueOutput instanceof HTMLSelectElement ||\r\n\t\t\t\t\tvalueOutput instanceof HTMLTextAreaElement) {\r\n\t\t\t\t\tAddress.log(\"Setting value on\", valueOutput, \"to\", address[k]);\r\n\t\t\t\t\tvalueOutput.value = this.ToValueString(address[k]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tAddress.log(\"Setting innerText on\", valueOutput, \"to\", address[k]);\r\n\t\t\t\t\tvalueOutput.innerText = this.ToValueString(address[k]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tprivate ToValueString(val: any) {\r\n\t\t\tswitch (typeof val) {\r\n\t\t\t\tcase \"string\":\r\n\t\t\t\t\treturn val;\r\n\t\t\t\tcase \"object\":\r\n\t\t\t\t\treturn JSON.stringify(val);\r\n\t\t\t\tcase 'undefined':\r\n\t\t\t\t\treturn \"\";\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn val.toString();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprivate ConstructAddressString = function (address: SP.Address) {\r\n\t\t\treturn `${address.street1}, ${address.country}-${address.zipcode} ${address.city}`;\r\n\t\t};\r\n\r\n\t\tConstructAddressStringHTML(address: SP.Address) {\r\n\t\t\treturn `
    ${address.name}
    ${address.street1}, ${address.country}-${address.zipcode} ${address.city}
    `;\r\n\t\t}\r\n\t}\r\n\ttype AddressKeys = keyof SP.Address;\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", SP.Search.Address.AutoSetup);","/// \r\n\r\nnamespace SP {\r\n export class SignalRConnection {\r\n connection: signalR.HubConnection;\r\n\r\n constructor(url: string) {\r\n this.connection = new signalR.HubConnectionBuilder().withAutomaticReconnect([100, 500, 1000, 1500, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000]).withUrl(url, {\r\n //skipNegotiation: true,\r\n transport: signalR.HttpTransportType.WebSockets\r\n }).build();\r\n\r\n \r\n }\r\n\r\n on(key: string, fn: (...args: any[]) => void) {\r\n this.connection.on(key, fn);\r\n }\r\n\r\n onDisconnect(fn: (error?: Error) => void) {\r\n this.connection.onreconnecting(fn);\r\n }\r\n onReconnected(fn: (connectionId: string) => void) {\r\n this.connection.onreconnected(fn)\r\n }\r\n\r\n start(transport: signalR.HttpTransportType, callback: () => void) {\r\n console.log(\"Transport:\",transport);\r\n\r\n //auto\r\n if (transport == signalR.HttpTransportType.None) transport = signalR.HttpTransportType.WebSockets;\r\n\r\n\r\n //if (transport == signalR.HttpTransportType.WebSockets) {\r\n setInterval(async () => {\r\n if ((this.connection.state as any) == \"Connected\") {\r\n await this.connection.invoke(\"Ping\");\r\n }\r\n\r\n }, 5000);\r\n //}\r\n\r\n (this.connection as any).connection.options.transport = transport;\r\n this.connection.start().then(callback);\r\n }\r\n }\r\n}","namespace SP {\r\n\r\n\r\n export class SortableList {\r\n container = document.createElement(\"ul\");\r\n _moveItem: SortableListElement;\r\n _itemStartY: number;\r\n _startY: number;\r\n _items: SortableListElement[] = [];\r\n _itemsDictionary: { [key: string]: SortableListElement } = {};\r\n _moveEv: (e: any) => any;\r\n _touchMoveEv: (e: any) => any;\r\n _mouseUp: (e: any) => any;\r\n _itemHeight = 56;\r\n _itemMargin = 4;\r\n onChange: () => void = null;\r\n constructor(parent: HTMLElement) {\r\n this.container.classList.add(\"sortable_list\", \"noselect\");\r\n this._moveEv = (e: PointerEvent) => { this.onMove(e); e.preventDefault(); return false; };\r\n this._touchMoveEv = (e: TouchEvent) => { e.preventDefault(); return false; };\r\n this._mouseUp = (e: PointerEvent) => { this.endMove(); e.preventDefault(); return false; };\r\n parent.appendChild(this.container);\r\n }\r\n\r\n set value(data: string[]) {\r\n for (let i = 0; i < data.length; i++) {\r\n var item = this._itemsDictionary[data[i]];\r\n this._items.splice(item.index, 1);\r\n this._items.splice(i, 0, item);\r\n this.organize();\r\n }\r\n }\r\n\r\n get value() {\r\n return this._items.map(item => item.value);\r\n }\r\n\r\n get intValue() {\r\n return this._items.map(item => parseFloat(item.value));\r\n }\r\n\r\n AddItem(item: SortableListElement) {\r\n this._items.push(item);\r\n this._itemsDictionary[item.value] = item;\r\n this.container.appendChild(item.container);\r\n this.organize();\r\n\r\n let click = (ev: any) => {\r\n let e = ev.touches ? ev.touches[0] : ev;\r\n\r\n this._startY = e.clientY;\r\n this.startMove(item);\r\n ev.preventDefault();\r\n return false;\r\n };\r\n\r\n item.handle.addEventListener(\"mousedown\", (e: MouseEvent) => { click(e); });\r\n item.handle.addEventListener(\"touchstart\", click);\r\n }\r\n\r\n onMove(ev: any) {\r\n let e = ev.touches ? ev.touches[0] : ev;\r\n var offset = e.clientY - this._startY;\r\n var newTop = this._itemStartY + offset;\r\n this._moveItem.container.style.top = newTop + \"px\";\r\n var newIndex = Math.min(this._items.length - 1, Math.max(0, Math.round(newTop / (this._itemHeight + this._itemMargin))));\r\n if (newIndex != this._moveItem.index) {\r\n this._items.splice(this._moveItem.index, 1);\r\n this._items.splice(newIndex, 0, this._moveItem);\r\n this.organize();\r\n }\r\n }\r\n\r\n organize() {\r\n let total_height = 0;//this._itemMargin;\r\n\r\n for (let i = 0; i < this._items.length; i++) {\r\n let item = this._items[i];\r\n item.index = i;\r\n total_height += this._itemHeight + this._itemMargin;\r\n if (item != this._moveItem) item.container.style.top = ((this._itemHeight + this._itemMargin) * i) + \"px\";\r\n }\r\n\r\n console.log(\"total height:\", total_height);\r\n this.container.style.height = total_height + \"px\";\r\n }\r\n\r\n startMove(item: SortableListElement) {\r\n if (this._moveItem == null) {\r\n console.log(\"start\");\r\n document.addEventListener(\"mouseup\", this._mouseUp);\r\n document.addEventListener(\"touchend\", this._mouseUp);\r\n document.addEventListener(\"touchmove\", this._moveEv);\r\n document.addEventListener(\"mousemove\", this._moveEv);\r\n this._moveItem = item;\r\n this._moveItem.container.style.transition = \"none\";\r\n this._moveItem.container.style.zIndex = \"100\";\r\n this._itemStartY = parseFloat(this._moveItem.container.style.top.replace(\"px\", \"\"));\r\n }\r\n }\r\n\r\n endMove() {\r\n if (this._moveItem != null) {\r\n console.log(\"stop\");\r\n document.removeEventListener(\"mouseup\", this._mouseUp);\r\n document.removeEventListener(\"touchend\", this._mouseUp);\r\n document.removeEventListener(\"touchmove\", this._moveEv);\r\n document.removeEventListener(\"mousemove\", this._moveEv);\r\n this._moveItem.container.style.transition = \"all ease-out 0.1s\";\r\n this._moveItem.container.style.zIndex = \"\";\r\n this._moveItem = null;\r\n this.organize();\r\n if (this.onChange != null)\r\n this.onChange();\r\n }\r\n }\r\n }\r\n\r\n export class SortableListElement {\r\n container = document.createElement(\"li\");\r\n handle = document.createElement(\"div\");\r\n value: string;\r\n\r\n private _value: string[];\r\n index: number;\r\n\r\n constructor(text: string, value: string) {\r\n this.value = value;\r\n this.container.innerHTML = text;\r\n this.container.prepend(this.handle);\r\n this.handle.innerHTML = '';\r\n }\r\n }\r\n}","namespace SP {\r\n\r\n\r\n\r\n interface StockPlacmentPickerSettingsInterface {\r\n onSelect: (id: number) => void;\r\n }\r\n\r\n export class StockPlacementPicker {\r\n hallPicker: HTMLSelectElement;\r\n unitPicker: HTMLSelectElement;\r\n placementPicker: HTMLSelectElement;\r\n currentCustomerId: string;\r\n container: HTMLElement;\r\n settings: StockPlacmentPickerSettingsInterface;\r\n _value: number;\r\n\r\n get value(): number {\r\n return this._value;\r\n }\r\n\r\n set value(val: number) {\r\n this.setValue(val);\r\n }\r\n\r\n get locationName(): string {\r\n return this.hallPicker.selectedOptions[0].innerHTML +\r\n \" - \" + this.unitPicker.selectedOptions[0].innerHTML +\r\n \" - \" + this.placementPicker.selectedOptions[0].innerHTML;\r\n }\r\n\r\n async setValue(placementId: number) {\r\n if (!placementId.toString().length) {\r\n console.error(\"null\");\r\n return;\r\n\r\n }\r\n if (this._value == placementId) return;\r\n this._value = placementId;\r\n this.settings.onSelect(placementId);\r\n\r\n console.log(\"setting placemetnID\", placementId);\r\n let info = await Data.Stock.getPlacementInfo(placementId);\r\n this.currentCustomerId = info.stock.stockId;\r\n\r\n if (this.hallPicker.value != info.hall.id) {\r\n await this.setHallDropDown();\r\n this.hallPicker.value = info.hall.id;\r\n }\r\n\r\n if (this.unitPicker.value != info.unit.id) {\r\n var result = await this.setUnitDropDown();\r\n this.unitPicker.value = info.unit.id;\r\n }\r\n\r\n if (this.placementPicker.value != info.placement.id.toString()) {\r\n await this.setPlacementDropDown();\r\n this.placementPicker.value = info.placement.id.toString();\r\n }\r\n\r\n\r\n }\r\n\r\n constructor(containerQuerySelector: string, settings: StockPlacmentPickerSettingsInterface) {\r\n this.settings = settings;\r\n this.container = document.querySelector(containerQuerySelector);\r\n this.hallPicker = this.container.appendChild(document.createElement(\"select\"));\r\n this.unitPicker = this.container.appendChild(document.createElement(\"select\"));\r\n this.placementPicker = this.container.appendChild(document.createElement(\"select\"));\r\n\r\n this.hallPicker.addEventListener(\"change\", () => {\r\n this.setUnitDropDown();\r\n });\r\n this.unitPicker.addEventListener(\"change\", () => {\r\n this.setPlacementDropDown();\r\n });\r\n this.placementPicker.addEventListener(\"change\", () => {\r\n this._value = parseInt(this.placementPicker.value);\r\n this.settings.onSelect(this._value);\r\n });\r\n\r\n if (settings.onSelect == null) settings.onSelect = id => { console.log(\"select location id:\", id); };\r\n }\r\n\r\n resetHallPicker() {\r\n this.hallPicker.length = 0;\r\n this.hallPicker.appendChild(SP.createElement(\"option\", { text: SP.Localize(\"word_hall\"), value: \"\" }));\r\n }\r\n\r\n resetUnitPicker() {\r\n this.unitPicker.length = 0;\r\n this.unitPicker.appendChild(SP.createElement(\"option\", { text: SP.Localize(\"word_unit\"), value: \"\" }));\r\n }\r\n\r\n resetPlacementPicker() {\r\n this.placementPicker.length = 0;\r\n this.placementPicker.appendChild(SP.createElement(\"option\", { text: SP.Localize(\"word_place\"), value: \"\" }));\r\n }\r\n\r\n reset() {\r\n this._value = null;\r\n this.resetHallPicker();\r\n this.resetUnitPicker();\r\n this.resetPlacementPicker();\r\n }\r\n\r\n async setCustomer(customerId: string) {\r\n if (this.currentCustomerId != customerId) {\r\n this.reset();\r\n this.currentCustomerId = customerId;\r\n await this.setHallDropDown();\r\n }\r\n }\r\n\r\n async setHallDropDown() {\r\n this.reset();\r\n let customerInfo = await Data.Customer.getCustomerInfo(this.currentCustomerId);\r\n let halls = await Data.Stock.getHalls(customerInfo.stockId);\r\n halls.forEach(hall => {\r\n let option = SP.createElement(\"option\", { text: SP.Localize(\"word_hall\") + \" \" + hall.name, value: hall.id }) as HTMLOptionElement;\r\n this.hallPicker.appendChild(option);\r\n });\r\n }\r\n\r\n async setUnitDropDown() {\r\n this.resetUnitPicker();\r\n this.resetPlacementPicker();\r\n let hallId = this.hallPicker.value;\r\n if (hallId.length) {\r\n let sections = await Data.Stock.getSections(hallId);\r\n\r\n for (let i = 0; i < sections.length; i++) {\r\n let section = sections[i];\r\n let units = await Data.Stock.getUnits(section.id)\r\n units.forEach(unit => {\r\n let option = SP.createElement(\"option\", { text: section.name + unit.number.toString().padStart(2, \"0\"), value: unit.id });\r\n this.unitPicker.appendChild(option);\r\n });\r\n }\r\n }\r\n }\r\n\r\n async setPlacementDropDown() {\r\n this.resetPlacementPicker();\r\n let unitId = this.unitPicker.value;\r\n if (unitId.length) {\r\n let placements = await Data.Stock.getPlacements(unitId);\r\n placements.forEach(placement => {\r\n let option = SP.createElement(\"option\", { text: placement.row.toString().padStart(2, \"0\") + \" - \" + placement.number.toString().padStart(2, \"0\"), value: placement.id });\r\n this.placementPicker.appendChild(option);\r\n });\r\n }\r\n }\r\n }\r\n}","namespace SP {\r\n\r\n var current: any = {};\r\n\r\n export interface SwipeButtonInfo {\r\n icon: string;\r\n text: string;\r\n color: string;\r\n confirm: boolean;\r\n action: () => Promise;\r\n }\r\n\r\n\r\n export class SwipeMenu {\r\n item: HTMLElement;\r\n hasTouch = false;\r\n itemX = 0;\r\n startX = 0;\r\n startY = 0;\r\n offsetX = 0;\r\n lastOffsetX = 0;\r\n offsetY = 0;\r\n\r\n posX = 0;\r\n width = -1;\r\n buttonWidth = -1;\r\n height = -1;\r\n openThreshold = 0;\r\n closeThreshold = 0;\r\n autoClickThreshold = 0;\r\n initialized = false;\r\n clicked = true;\r\n clickEvent: () => void;\r\n buttonData: SwipeButtonInfo[];\r\n buttons: HTMLElement[] = [];\r\n triggerMax = false;\r\n triggerOpen = false;\r\n group: string;\r\n destroyed = false;\r\n isOpen = false;\r\n isOpenMax = false;\r\n\r\n\r\n constructor(element: HTMLElement, clickEvent: () => void, buttons: SwipeButtonInfo[], group: string) {\r\n this.item = element;\r\n this.item.classList.add(\"sp_swipemenu\");\r\n this.buttonData = buttons;\r\n this.clickEvent = clickEvent;\r\n this.group = group;\r\n var touchMove = (ev: any) => {\r\n if (!ev.clientX && ev.touches && ev.touches.length)\r\n ev = ev.touches[0];\r\n\r\n var x = ev.clientX;\r\n var y = ev.clientY;\r\n this.offsetX = this.startX - x;\r\n this.offsetY = this.startY - y;\r\n\r\n //zoom fix\r\n this.offsetX /= SP.zoom();\r\n this.offsetY /= SP.zoom();\r\n\r\n if (Math.abs(this.offsetY) > Math.abs(this.offsetX))\r\n this.offsetX = 0;\r\n\r\n var maxOffset = Math.max(Math.abs(this.offsetX), Math.abs(this.offsetY));\r\n this.posX = Math.min(this.width * 0.95, Math.max(0, this.itemX + this.offsetX));\r\n\r\n if (!this.initialized && maxOffset > 0) {\r\n this.initialize();\r\n }\r\n\r\n if (this.posX > this.autoClickThreshold) {\r\n if (!this.triggerMax) {\r\n Sounds.Vibrate.play(25);\r\n this.setEase();\r\n this.openMax();\r\n this.triggerMax = true;\r\n }\r\n }\r\n else {\r\n if (this.triggerMax) {\r\n this.setEase();\r\n this.triggerMax = false;\r\n this.clearEase(100);\r\n }\r\n\r\n if (this.offsetX != this.lastOffsetX) {\r\n this.lastOffsetX = this.offsetX;\r\n this.item.style.right = this.posX + \"px\";\r\n for (var i = 0; i < this.buttons.length; i++) {\r\n var left = this.width + i * this.buttonWidth;\r\n this.buttons[i].style.left = (left - this.posX) + \"px\";\r\n }\r\n }\r\n }\r\n\r\n var maxOffset = Math.max(Math.abs(this.offsetX), Math.abs(this.offsetY));\r\n\r\n\r\n if (this.clicked && maxOffset > 3) {\r\n this.clicked = false;\r\n }\r\n }\r\n\r\n\r\n\r\n var touchStart = (ev: any) => {\r\n if (this.destroyed) return;\r\n if (!ev.clientX && ev.touches && ev.touches.length)\r\n ev = ev.touches[0];\r\n\r\n if (ev.button != null && ev.button != 0) return;\r\n if (!this.hasTouch) {\r\n if (this.initialized) this.updateSizes();\r\n\r\n\r\n if (current[this.group] != this) {\r\n current[this.group]?.return();\r\n current[this.group] = this;\r\n }\r\n this.posX = 0;\r\n\r\n this.clicked = true;\r\n //this.insertButtons();\r\n this.hasTouch = true;\r\n this.startX = ev.clientX;\r\n this.startY = ev.clientY;\r\n this.itemX = parseInt(this.item.style.right.replace(\"px\", \"\"));\r\n if (isNaN(this.itemX)) this.itemX = 0;\r\n //move\r\n document.addEventListener(\"touchmove\", touchMove);\r\n document.addEventListener(\"mousemove\", touchMove);\r\n\r\n //up\r\n document.addEventListener(\"touchend\", touchEnd);\r\n document.addEventListener(\"touchcancel\", touchEnd);\r\n document.addEventListener(\"mouseup\", touchEnd);\r\n this.clearEase();\r\n }\r\n }\r\n\r\n var touchEnd = () => {\r\n if (this.hasTouch) {\r\n\r\n this.hasTouch = false;\r\n //up\r\n document.removeEventListener(\"touchmove\", touchMove);\r\n document.removeEventListener(\"mousemove\", touchMove);\r\n document.removeEventListener(\"touchend\", touchEnd);\r\n document.removeEventListener(\"touchcancel\", touchEnd);\r\n document.removeEventListener(\"mouseup\", touchEnd);\r\n\r\n\r\n\r\n //click last button\r\n if (this.posX > this.autoClickThreshold) {\r\n if (this.buttons.length)\r\n this.buttons[this.buttons.length - 1].click();\r\n }\r\n else if (this.posX > (this.isOpen ? this.closeThreshold : this.openThreshold)) {\r\n this.setEase();\r\n this.open();\r\n }\r\n else {\r\n this.setEase();\r\n this.return();\r\n }\r\n\r\n //this.item.style.right = \"0px\";\r\n\r\n if (this.clicked && this.clickEvent != null) {\r\n this.clickEvent();\r\n }\r\n\r\n }\r\n }\r\n\r\n this.item.addEventListener(\"mousedown\", touchStart);\r\n this.item.addEventListener(\"touchstart\", touchStart);\r\n }\r\n\r\n setEase() {\r\n\r\n this.item.style.transition = \"all ease-out 0.1s\";\r\n this.buttons.forEach(b => b.style.transition = \"all ease-out 0.1s\");\r\n\r\n }\r\n\r\n click() {\r\n this.clickEvent();\r\n }\r\n\r\n async clearEase(delay: number = 0) {\r\n await SP.sleep(delay);\r\n this.item.style.transition = \"\";\r\n this.buttons.forEach(b => b.style.transition = \"\");\r\n }\r\n\r\n openMax() {\r\n var right = this.width + (this.buttons.length - 1) * this.buttonWidth;\r\n this.item.style.right = right + \"px\";\r\n for (var i = 0; i < this.buttons.length; i++) {\r\n var left = this.width + i * this.buttonWidth;\r\n this.buttons[i].style.left = (left - right) + \"px\";\r\n }\r\n this.isOpenMax = true;\r\n\r\n }\r\n\r\n open() {\r\n var right = this.buttons.length * this.buttonWidth;\r\n this.item.style.right = right + \"px\";\r\n for (var i = 0; i < this.buttons.length; i++) {\r\n var left = this.width + i * this.buttonWidth;\r\n this.buttons[i].style.left = (left - right) + \"px\";\r\n }\r\n this.isOpen = true;\r\n }\r\n\r\n remove() {\r\n this.destroyed = true;\r\n this.buttons.forEach(b => b.remove());\r\n }\r\n\r\n async return(animateReturn: boolean = true) {\r\n if (!this.initialized) return;\r\n\r\n\r\n if (!animateReturn)\r\n await this.clearEase();\r\n\r\n\r\n this.item.style.right = \"0px\";\r\n for (var i = 0; i < this.buttons.length; i++) {\r\n var left = this.width + i * this.buttonWidth;\r\n this.buttons[i].style.left = left + \"px\";\r\n }\r\n\r\n this.isOpen = false;\r\n this.isOpenMax = false;\r\n }\r\n\r\n \r\n\r\n initialize() {\r\n if (this.initialized) return;\r\n this.initialized = true;\r\n this.item.style.left = \"\";\r\n\r\n\r\n\r\n\r\n\r\n\r\n for (let i = 0; i < this.buttonData.length; i++) {\r\n let last = i == this.buttonData.length - 1;\r\n let data = this.buttonData[i];\r\n let button = document.createElement(\"div\");\r\n button.classList.add(\"sp_swipe_button\", \"noselect\");\r\n button.style.backgroundColor = data.color;\r\n button.innerHTML = \"
    \" + data.icon + \"
    \" + data.text + \"
    \";\r\n if (data.action != null) button.addEventListener(\"click\", async () => {\r\n if (data.confirm) {\r\n if (await SP.confirmX(\"Confirm\")) { data.action(); }\r\n else { this.return(true); }\r\n }\r\n else {\r\n data.action();\r\n }\r\n });\r\n if (last) button.style.right = \"0px\";\r\n this.buttons.push(button);\r\n }\r\n\r\n this.insertButtons();\r\n this.updateSizes();\r\n }\r\n\r\n updateSizes() {\r\n var computed = getComputedStyle(this.item);\r\n this.item.style.width = computed.width;\r\n var width = parseInt(computed.width.replace(\"px\", \"\"));\r\n var height = parseInt(computed.height.replace(\"px\", \"\"));\r\n\r\n if (this.width != width || this.height != height) {\r\n this.width = width;\r\n this.height = height;\r\n this.buttonWidth = Math.min(this.height, this.width * 0.25);\r\n this.autoClickThreshold = this.width * 0.6;\r\n this.openThreshold = this.width * 0.2;\r\n this.closeThreshold = this.width * 0.4;\r\n\r\n var left = this.width;\r\n\r\n for (let i = 0; i < this.buttons.length; i++) {\r\n let button = this.buttons[i];\r\n button.style.minWidth = this.buttonWidth + \"px\";\r\n button.style.height = this.height + \"px\";\r\n button.style.left = left + \"px\";\r\n left += this.buttonWidth;\r\n }\r\n }\r\n }\r\n\r\n insertButtons() {\r\n this.buttons.forEach(b => {\r\n SP.insertBefore(b, this.item);\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n }\r\n}"]}