@pisell/private-materials 6.12.168 → 6.12.170
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/meta.js +1 -1
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +10 -10
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +10 -10
- package/es/components/HDLKiosk/{contracts → app/contracts}/config.js +1 -1
- package/es/components/HDLKiosk/app/manifest.js +11 -11
- package/es/components/HDLKiosk/app/operations.js +92 -0
- package/es/components/HDLKiosk/app/workflow/barcode.js +7 -3
- package/es/components/HDLKiosk/app/workflow/index.js +16 -0
- package/es/components/HDLKiosk/app/workflow/predicates.js +1 -1
- package/es/components/HDLKiosk/app/workflow/quick.js +1 -1
- package/es/components/HDLKiosk/app/workflow/registry.js +4 -4
- package/es/components/HDLKiosk/app/workflow/scale.js +5 -1
- package/es/components/HDLKiosk/components/common/HDLKioskSkuOptionsSelection/index.less +1 -1
- package/es/components/HDLKiosk/components/overlays/HDLKioskModal/index.less +1 -1
- package/es/components/HDLKiosk/components/shell/HDLKioskBottomBarHost/index.js +4 -1
- package/es/components/HDLKiosk/docs/00-/346/226/207/344/273/266/345/257/274/350/210/252.md +104 -167
- package/es/components/HDLKiosk/docs/01-/346/240/270/345/277/203/350/277/220/350/241/214/346/234/272/345/210/266.md +95 -89
- package/es/components/HDLKiosk/docs/02-Host/351/200/202/351/205/215/344/270/216/344/270/232/345/212/241/346/225/260/346/215/256.md +20 -19
- package/es/components/HDLKiosk/docs/04-/350/256/276/345/244/207/344/270/216/347/247/260/351/207/215.md +43 -26
- package/es/components/HDLKiosk/docs/05-/344/272/244/346/230/223/345/256/211/345/205/250.md +2 -0
- package/es/components/HDLKiosk/docs/08-/346/227/240/345/244/264Application/350/277/220/350/241/214/346/227/266/351/207/215/346/236/204/350/256/276/350/256/241.md +719 -0
- package/es/components/HDLKiosk/docs/09-Entry/350/256/276/345/244/207/344/272/213/344/273/266/351/207/215/346/236/204/344/277/256/345/244/215/346/212/245/345/221/212.md +187 -0
- package/es/components/HDLKiosk/docs/README.md +6 -2
- package/es/components/HDLKiosk/docs//345/256/236/346/226/275/350/277/233/345/272/246.md +8 -7
- package/es/components/HDLKiosk/docs//346/236/266/346/236/204/350/256/276/350/256/241.md +16 -18
- package/es/components/HDLKiosk/index.js +32 -30
- package/es/components/HDLKiosk/index.less +8 -3
- package/es/components/HDLKiosk/kernel/README.md +13 -12
- package/es/components/HDLKiosk/kernel/application/defineApplication.js +63 -24
- package/es/components/HDLKiosk/kernel/application/defineSlice.js +6 -6
- package/es/components/HDLKiosk/kernel/application/runtime.js +237 -0
- package/es/components/HDLKiosk/kernel/operations/coordinator.js +1 -1
- package/es/components/HDLKiosk/kernel/operations/registry.js +3 -3
- package/es/components/HDLKiosk/kernel/operations/sessionEpoch.js +1 -1
- package/es/components/HDLKiosk/kernel/operations/types.js +7 -3
- package/es/components/HDLKiosk/kernel/workflow/actor.js +16 -17
- package/es/components/HDLKiosk/kernel/workflow/compiler.js +14 -16
- package/es/components/HDLKiosk/runtime/createRuntime.js +238 -0
- package/es/components/HDLKiosk/{devices → runtime/devices}/dedupeStore.js +1 -1
- package/es/components/HDLKiosk/{devices → runtime/devices}/scaleIngress.js +1 -1
- package/es/components/HDLKiosk/{devices/scale/runtime.js → runtime/devices/scaleStore.js} +18 -24
- package/es/components/HDLKiosk/{devices → runtime/devices}/scannerIngress.js +1 -1
- package/es/components/HDLKiosk/runtime/devices/scannerSessionPort.js +60 -0
- package/es/components/HDLKiosk/runtime/devices/scannerSessionRouter.js +212 -0
- package/es/components/HDLKiosk/runtime/operations/barcode.js +18 -0
- package/es/components/HDLKiosk/runtime/operations/cart.js +44 -0
- package/es/components/HDLKiosk/{app → runtime}/operations/cartConsistency.js +1 -1
- package/es/components/HDLKiosk/{app → runtime}/operations/checkout.js +95 -110
- package/es/components/HDLKiosk/{app → runtime}/operations/checkoutRequirements.js +1 -1
- package/es/components/HDLKiosk/{app → runtime}/operations/checkoutSafety.js +1 -1
- package/es/components/HDLKiosk/{app → runtime}/operations/coordinator.js +2 -2
- package/es/components/HDLKiosk/runtime/operations/customization.js +70 -0
- package/es/components/HDLKiosk/{app → runtime}/operations/errors.js +1 -1
- package/es/components/HDLKiosk/runtime/operations/fulfillment.js +6 -0
- package/es/components/HDLKiosk/runtime/operations/identity.js +55 -0
- package/es/components/HDLKiosk/runtime/operations/registry.js +34 -0
- package/es/components/HDLKiosk/runtime/operations/session.js +29 -0
- package/es/components/HDLKiosk/runtime/operations/types.js +13 -0
- package/es/components/HDLKiosk/runtime/session/blockPolicy.js +14 -0
- package/es/components/HDLKiosk/runtime/{createWorkflowSession.js → session/createSession.js} +67 -17
- package/es/components/HDLKiosk/runtime/{domainTransitionRunner.js → session/transitionRunner.js} +10 -5
- package/es/components/HDLKiosk/runtime/{workflowContext.js → session/workflowContext.js} +2 -2
- package/es/components/HDLKiosk/runtime/{workflowLifecycle.js → session/workflowLifecycle.js} +2 -2
- package/es/components/HDLKiosk/runtime/triggers.js +28 -0
- package/es/components/HDLKiosk/slices/catalog/Screen/index.js +15 -8
- package/es/components/HDLKiosk/slices/catalog/Screen/index.less +74 -13
- package/es/components/HDLKiosk/slices/catalog/slice.js +2 -2
- package/es/components/HDLKiosk/slices/customization/Screen/index.js +34 -35
- package/es/components/HDLKiosk/slices/customization/Screen/index.less +5 -0
- package/es/components/HDLKiosk/slices/customization/slice.js +2 -3
- package/es/components/HDLKiosk/slices/fulfillment/slice.js +2 -2
- package/es/components/HDLKiosk/slices/fulfillment/view.js +1 -1
- package/es/components/HDLKiosk/slices/identity/Screen/index.less +1 -1
- package/es/components/HDLKiosk/slices/identity/slice.js +2 -2
- package/es/components/HDLKiosk/slices/identity/view.js +1 -1
- package/es/components/HDLKiosk/slices/payment/Screen/index.less +1 -1
- package/es/components/HDLKiosk/slices/payment/slice.js +3 -3
- package/es/components/HDLKiosk/slices/primaryProductPrompt/slice.js +1 -1
- package/es/components/HDLKiosk/{runtime → ui}/HDLKioskWorkflowView.js +68 -129
- package/es/components/HDLKiosk/ui/ScaleSimulatorConsole/index.js +387 -0
- package/es/components/HDLKiosk/ui/ScaleSimulatorConsole/index.less +621 -0
- package/es/components/HDLKiosk/{app → ui}/ScreenRenderer.js +1 -1
- package/es/components/HDLKiosk/ui/collaborationStatus.js +11 -0
- package/es/components/HDLKiosk/ui/controllers/useHDLKioskActionDispatcher.js +66 -0
- package/es/components/HDLKiosk/{runtime → ui}/controllers/useHDLKioskCustomerController.js +1 -1
- package/es/components/HDLKiosk/ui/controllers/useHDLKioskDeviceController.js +25 -0
- package/es/components/HDLKiosk/ui/controllers/useHDLKioskExitController.js +53 -0
- package/es/components/HDLKiosk/{runtime → ui}/controllers/useHDLKioskScreenData.js +1 -1
- package/es/components/HDLKiosk/ui/controllers/useHDLKioskSessionController.js +39 -0
- package/es/components/HDLKiosk/{app → ui}/entry/Screen/index.js +8 -6
- package/es/components/HDLKiosk/{app → ui}/entry/model.js +2 -2
- package/es/components/HDLKiosk/ui/scale.js +20 -0
- package/es/components/HDLKiosk/{runtime/useHostSnapshot.js → ui/snapshots.js} +6 -8
- package/es/components/HDLKiosk/{app → ui}/views.js +1 -1
- package/es/components/HDLKiosk/{runtime → ui}/workflowEvent.js +1 -1
- package/es/components/HDLKiosk/utils.js +4 -4
- package/es/components/bigSale/templates/HDLKiosk/README.md +43 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/createHost.js +7 -7
- package/es/components/bigSale/templates/HDLKiosk/adapter/{devices.js → devices/devicePort.js} +10 -38
- package/es/components/bigSale/templates/HDLKiosk/adapter/{capabilities.js → host/capabilities.js} +2 -2
- package/es/components/bigSale/templates/HDLKiosk/adapter/{fulfillment.js → host/fulfillmentWriter.js} +3 -3
- package/es/components/bigSale/templates/HDLKiosk/adapter/{projection.js → host/projection.js} +24 -14
- package/es/components/bigSale/templates/HDLKiosk/adapter/{telemetry.js → host/telemetry.js} +1 -1
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales/cart.js +187 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales/catalog.js +160 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/{customizationProduct.js → sales/customizationProduct.js} +3 -3
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales/fulfillment.js +31 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales/identity.js +57 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales/index.js +18 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales/payment.js +123 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales/session.js +71 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales/weightedOperations.js +124 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/{weightedProduct.js → sales/weightedProduct.js} +2 -2
- package/es/components/bigSale/templates/HDLKiosk/adapter/useBigSaleHDLKioskAdapter.js +41 -0
- package/es/components/bigSale/templates/HDLKiosk/adapter/useBigSaleHDLKioskHost.js +10 -7
- package/es/components/bigSale/templates/HDLKiosk/cart/useBigSaleHDLKioskCart.js +122 -0
- package/es/components/bigSale/templates/HDLKiosk/{adapter → hooks}/useHDLKioskEntryPreparationToast.js +2 -1
- package/es/components/bigSale/templates/HDLKiosk/index.js +42 -148
- package/es/components/bigSale/templates/HDLKiosk/{adapter/scaleTrigger.js → runtime/BigSaleScaleRuntimeOwner.js} +33 -62
- package/es/components/bigSale/templates/HDLKiosk/{adapter → runtime}/HDLKioskPaymentRuntime.js +4 -3
- package/es/components/bigSale/templates/HDLKiosk/runtime/scaleBridge.js +44 -0
- package/lib/components/HDLKiosk/{contracts → app/contracts}/config.js +1 -1
- package/lib/components/HDLKiosk/app/manifest.js +18 -19
- package/lib/components/HDLKiosk/app/operations.js +105 -0
- package/lib/components/HDLKiosk/app/workflow/barcode.js +7 -3
- package/lib/components/HDLKiosk/app/workflow/index.js +16 -0
- package/lib/components/HDLKiosk/app/workflow/predicates.js +1 -0
- package/lib/components/HDLKiosk/app/workflow/quick.js +1 -1
- package/lib/components/HDLKiosk/app/workflow/registry.js +3 -3
- package/lib/components/HDLKiosk/app/workflow/scale.js +5 -1
- package/lib/components/HDLKiosk/components/common/HDLKioskSkuOptionsSelection/index.less +1 -1
- package/lib/components/HDLKiosk/components/overlays/HDLKioskModal/index.less +1 -1
- package/lib/components/HDLKiosk/components/shell/HDLKioskBottomBarHost/index.js +4 -1
- package/lib/components/HDLKiosk/docs/00-/346/226/207/344/273/266/345/257/274/350/210/252.md +104 -167
- package/lib/components/HDLKiosk/docs/01-/346/240/270/345/277/203/350/277/220/350/241/214/346/234/272/345/210/266.md +95 -89
- package/lib/components/HDLKiosk/docs/02-Host/351/200/202/351/205/215/344/270/216/344/270/232/345/212/241/346/225/260/346/215/256.md +20 -19
- package/lib/components/HDLKiosk/docs/04-/350/256/276/345/244/207/344/270/216/347/247/260/351/207/215.md +43 -26
- package/lib/components/HDLKiosk/docs/05-/344/272/244/346/230/223/345/256/211/345/205/250.md +2 -0
- package/lib/components/HDLKiosk/docs/08-/346/227/240/345/244/264Application/350/277/220/350/241/214/346/227/266/351/207/215/346/236/204/350/256/276/350/256/241.md +719 -0
- package/lib/components/HDLKiosk/docs/09-Entry/350/256/276/345/244/207/344/272/213/344/273/266/351/207/215/346/236/204/344/277/256/345/244/215/346/212/245/345/221/212.md +187 -0
- package/lib/components/HDLKiosk/docs/README.md +6 -2
- package/lib/components/HDLKiosk/docs//345/256/236/346/226/275/350/277/233/345/272/246.md +8 -7
- package/lib/components/HDLKiosk/docs//346/236/266/346/236/204/350/256/276/350/256/241.md +16 -18
- package/lib/components/HDLKiosk/index.js +35 -33
- package/lib/components/HDLKiosk/index.less +8 -3
- package/lib/components/HDLKiosk/kernel/README.md +13 -12
- package/lib/components/HDLKiosk/kernel/application/defineApplication.js +65 -25
- package/lib/components/HDLKiosk/kernel/application/defineSlice.js +6 -6
- package/lib/components/HDLKiosk/kernel/application/runtime.js +237 -0
- package/lib/components/HDLKiosk/kernel/operations/coordinator.js +1 -1
- package/lib/components/HDLKiosk/kernel/operations/registry.js +3 -3
- package/lib/components/HDLKiosk/kernel/operations/sessionEpoch.js +1 -1
- package/lib/components/HDLKiosk/kernel/operations/types.js +8 -3
- package/lib/components/HDLKiosk/kernel/workflow/actor.js +16 -17
- package/lib/components/HDLKiosk/kernel/workflow/compiler.js +14 -16
- package/lib/components/HDLKiosk/runtime/createRuntime.js +239 -0
- package/lib/components/HDLKiosk/{devices → runtime/devices}/dedupeStore.js +1 -1
- package/lib/components/HDLKiosk/{devices → runtime/devices}/scaleIngress.js +1 -1
- package/lib/components/HDLKiosk/{devices/scale/runtime.js → runtime/devices/scaleStore.js} +17 -27
- package/lib/components/HDLKiosk/{devices → runtime/devices}/scannerIngress.js +1 -1
- package/lib/components/HDLKiosk/runtime/devices/scannerSessionPort.js +60 -0
- package/lib/components/HDLKiosk/runtime/devices/scannerSessionRouter.js +212 -0
- package/lib/components/HDLKiosk/runtime/operations/barcode.js +17 -0
- package/lib/components/HDLKiosk/runtime/operations/cart.js +46 -0
- package/lib/components/HDLKiosk/{app → runtime}/operations/cartConsistency.js +1 -1
- package/lib/components/HDLKiosk/{app → runtime}/operations/checkout.js +97 -112
- package/lib/components/HDLKiosk/{app → runtime}/operations/checkoutRequirements.js +1 -1
- package/lib/components/HDLKiosk/{app → runtime}/operations/checkoutSafety.js +1 -1
- package/lib/components/HDLKiosk/{app → runtime}/operations/coordinator.js +2 -2
- package/lib/components/HDLKiosk/runtime/operations/customization.js +73 -0
- package/lib/components/HDLKiosk/{app → runtime}/operations/errors.js +1 -1
- package/lib/components/HDLKiosk/runtime/operations/fulfillment.js +5 -0
- package/lib/components/HDLKiosk/runtime/operations/identity.js +55 -0
- package/lib/components/HDLKiosk/runtime/operations/registry.js +34 -0
- package/lib/components/HDLKiosk/runtime/operations/session.js +30 -0
- package/lib/components/HDLKiosk/runtime/operations/types.js +14 -0
- package/lib/components/HDLKiosk/runtime/session/blockPolicy.js +14 -0
- package/lib/components/HDLKiosk/runtime/{createWorkflowSession.js → session/createSession.js} +71 -21
- package/lib/components/HDLKiosk/runtime/{domainTransitionRunner.js → session/transitionRunner.js} +10 -5
- package/lib/components/HDLKiosk/runtime/{workflowContext.js → session/workflowContext.js} +2 -2
- package/lib/components/HDLKiosk/runtime/{workflowLifecycle.js → session/workflowLifecycle.js} +2 -2
- package/lib/components/HDLKiosk/runtime/triggers.js +28 -0
- package/lib/components/HDLKiosk/slices/catalog/Screen/index.js +15 -8
- package/lib/components/HDLKiosk/slices/catalog/Screen/index.less +74 -13
- package/lib/components/HDLKiosk/slices/catalog/slice.js +3 -3
- package/lib/components/HDLKiosk/slices/customization/Screen/index.js +35 -36
- package/lib/components/HDLKiosk/slices/customization/Screen/index.less +5 -0
- package/lib/components/HDLKiosk/slices/customization/slice.js +5 -6
- package/lib/components/HDLKiosk/slices/fulfillment/slice.js +3 -3
- package/lib/components/HDLKiosk/slices/fulfillment/view.js +1 -1
- package/lib/components/HDLKiosk/slices/identity/Screen/index.less +1 -1
- package/lib/components/HDLKiosk/slices/identity/slice.js +4 -4
- package/lib/components/HDLKiosk/slices/identity/view.js +1 -1
- package/lib/components/HDLKiosk/slices/payment/Screen/index.less +1 -1
- package/lib/components/HDLKiosk/slices/payment/slice.js +5 -5
- package/lib/components/HDLKiosk/slices/primaryProductPrompt/slice.js +1 -1
- package/lib/components/HDLKiosk/{runtime → ui}/HDLKioskWorkflowView.js +69 -130
- package/lib/components/HDLKiosk/ui/ScaleSimulatorConsole/index.js +390 -0
- package/lib/components/HDLKiosk/ui/ScaleSimulatorConsole/index.less +621 -0
- package/lib/components/HDLKiosk/{app → ui}/ScreenRenderer.js +1 -1
- package/lib/components/HDLKiosk/ui/collaborationStatus.js +11 -0
- package/lib/components/HDLKiosk/ui/controllers/useHDLKioskActionDispatcher.js +67 -0
- package/lib/components/HDLKiosk/{runtime → ui}/controllers/useHDLKioskCustomerController.js +1 -1
- package/lib/components/HDLKiosk/ui/controllers/useHDLKioskDeviceController.js +26 -0
- package/lib/components/HDLKiosk/ui/controllers/useHDLKioskExitController.js +54 -0
- package/lib/components/HDLKiosk/{runtime → ui}/controllers/useHDLKioskScreenData.js +1 -1
- package/lib/components/HDLKiosk/ui/controllers/useHDLKioskSessionController.js +40 -0
- package/lib/components/HDLKiosk/{app → ui}/entry/Screen/index.js +8 -6
- package/lib/components/HDLKiosk/{app → ui}/entry/model.js +2 -2
- package/lib/components/HDLKiosk/ui/scale.js +24 -0
- package/lib/components/HDLKiosk/{runtime/useHostSnapshot.js → ui/snapshots.js} +6 -7
- package/lib/components/HDLKiosk/{app → ui}/views.js +1 -1
- package/lib/components/HDLKiosk/{runtime → ui}/workflowEvent.js +1 -1
- package/lib/components/HDLKiosk/utils.js +4 -4
- package/lib/components/bigSale/templates/HDLKiosk/README.md +43 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/createHost.js +9 -9
- package/lib/components/bigSale/templates/HDLKiosk/adapter/{devices.js → devices/devicePort.js} +10 -38
- package/lib/components/bigSale/templates/HDLKiosk/adapter/{capabilities.js → host/capabilities.js} +2 -2
- package/lib/components/bigSale/templates/HDLKiosk/adapter/{fulfillment.js → host/fulfillmentWriter.js} +3 -3
- package/lib/components/bigSale/templates/HDLKiosk/adapter/{projection.js → host/projection.js} +25 -14
- package/lib/components/bigSale/templates/HDLKiosk/adapter/{telemetry.js → host/telemetry.js} +1 -1
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales/cart.js +189 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales/catalog.js +162 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/{customizationProduct.js → sales/customizationProduct.js} +4 -4
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales/fulfillment.js +31 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales/identity.js +57 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales/index.js +18 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales/payment.js +123 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales/session.js +71 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales/weightedOperations.js +126 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/{weightedProduct.js → sales/weightedProduct.js} +3 -3
- package/lib/components/bigSale/templates/HDLKiosk/adapter/useBigSaleHDLKioskAdapter.js +42 -0
- package/lib/components/bigSale/templates/HDLKiosk/adapter/useBigSaleHDLKioskHost.js +10 -7
- package/lib/components/bigSale/templates/HDLKiosk/cart/useBigSaleHDLKioskCart.js +124 -0
- package/lib/components/bigSale/templates/HDLKiosk/{adapter → hooks}/useHDLKioskEntryPreparationToast.js +2 -1
- package/lib/components/bigSale/templates/HDLKiosk/index.js +43 -149
- package/lib/components/bigSale/templates/HDLKiosk/{adapter/scaleTrigger.js → runtime/BigSaleScaleRuntimeOwner.js} +31 -61
- package/lib/components/bigSale/templates/HDLKiosk/{adapter → runtime}/HDLKioskPaymentRuntime.js +4 -3
- package/lib/components/bigSale/templates/HDLKiosk/runtime/scaleBridge.js +44 -0
- package/package.json +2 -2
- package/es/components/HDLKiosk/app/constants.js +0 -9
- package/es/components/HDLKiosk/app/operations/barcode.js +0 -22
- package/es/components/HDLKiosk/app/operations/cart.js +0 -60
- package/es/components/HDLKiosk/app/operations/fulfillment.js +0 -11
- package/es/components/HDLKiosk/app/operations/session.js +0 -41
- package/es/components/HDLKiosk/app/operations/types.js +0 -11
- package/es/components/HDLKiosk/devices/entryArbiter.js +0 -33
- package/es/components/HDLKiosk/runtime/controllers/useHDLKioskDeviceController.js +0 -75
- package/es/components/HDLKiosk/runtime/controllers/useHDLKioskScannerController.js +0 -160
- package/es/components/HDLKiosk/runtime/controllers/useHDLKioskSessionController.js +0 -185
- package/es/components/HDLKiosk/runtime/useWorkflowSnapshot.js +0 -12
- package/es/components/HDLKiosk/slices/customization/operation.js +0 -80
- package/es/components/HDLKiosk/slices/identity/operation.js +0 -60
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales.js +0 -692
- package/lib/components/HDLKiosk/app/constants.js +0 -9
- package/lib/components/HDLKiosk/app/operations/barcode.js +0 -21
- package/lib/components/HDLKiosk/app/operations/cart.js +0 -62
- package/lib/components/HDLKiosk/app/operations/fulfillment.js +0 -10
- package/lib/components/HDLKiosk/app/operations/session.js +0 -42
- package/lib/components/HDLKiosk/app/operations/types.js +0 -12
- package/lib/components/HDLKiosk/devices/entryArbiter.js +0 -33
- package/lib/components/HDLKiosk/runtime/controllers/useHDLKioskDeviceController.js +0 -76
- package/lib/components/HDLKiosk/runtime/controllers/useHDLKioskScannerController.js +0 -161
- package/lib/components/HDLKiosk/runtime/controllers/useHDLKioskSessionController.js +0 -186
- package/lib/components/HDLKiosk/runtime/useWorkflowSnapshot.js +0 -13
- package/lib/components/HDLKiosk/slices/customization/operation.js +0 -83
- package/lib/components/HDLKiosk/slices/identity/operation.js +0 -60
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales.js +0 -694
- /package/es/components/HDLKiosk/{app → ui}/entry/Screen/index.less +0 -0
- /package/lib/components/HDLKiosk/{app → ui}/entry/Screen/index.less +0 -0
|
@@ -1,23 +1,17 @@
|
|
|
1
1
|
const require_runtime = require("../../../../_virtual/_rolldown/runtime.js");
|
|
2
2
|
const require_objectSpread2 = require("../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js");
|
|
3
3
|
const require_useEngineContext = require("../../../../hooks/useEngineContext.js");
|
|
4
|
-
const require_usePickSaleDetailContext = require("../../hooks/usePickSaleDetailContext.js");
|
|
5
|
-
const require_useOrderNoteModal = require("../../../../plus/saleDetail/hooks/useOrderNoteModal.js");
|
|
6
|
-
const require_adapters = require("../../../../plus/saleDetail/components/PromotionWalletPanels/adapters.js");
|
|
7
|
-
const require_useSaleWalletAssets = require("../../../../plus/saleDetail/components/PromotionWalletPanels/useSaleWalletAssets.js");
|
|
8
|
-
const require_Base = require("../../../../plus/saleDetail/Base.js");
|
|
9
4
|
const require_locales = require("../../../HDLKiosk/locales.js");
|
|
10
|
-
const require_runtime$1 = require("../../../HDLKiosk/devices/scale/runtime.js");
|
|
11
5
|
const require_index = require("../../../HDLKiosk/index.js");
|
|
12
|
-
const require_config = require("../../../HDLKiosk/contracts/config.js");
|
|
13
|
-
const
|
|
14
|
-
const require_useHDLKioskEntryPreparationToast = require("./
|
|
15
|
-
const require_HDLKioskPaymentRuntime = require("./
|
|
16
|
-
const require_fulfillment = require("./adapter/fulfillment.js");
|
|
6
|
+
const require_config = require("../../../HDLKiosk/app/contracts/config.js");
|
|
7
|
+
const require_useBigSaleHDLKioskAdapter = require("./adapter/useBigSaleHDLKioskAdapter.js");
|
|
8
|
+
const require_useHDLKioskEntryPreparationToast = require("./hooks/useHDLKioskEntryPreparationToast.js");
|
|
9
|
+
const require_HDLKioskPaymentRuntime = require("./runtime/HDLKioskPaymentRuntime.js");
|
|
17
10
|
const require_HDLKioskIdentityAuthPanel = require("./auth/HDLKioskIdentityAuthPanel.js");
|
|
18
11
|
const require_useHDLKioskH5AuthModule = require("./auth/useHDLKioskH5AuthModule.js");
|
|
19
|
-
const
|
|
12
|
+
const require_BigSaleScaleRuntimeOwner = require("./runtime/BigSaleScaleRuntimeOwner.js");
|
|
20
13
|
const require_primaryWeightedProduct = require("./primaryWeightedProduct.js");
|
|
14
|
+
const require_useBigSaleHDLKioskCart = require("./cart/useBigSaleHDLKioskCart.js");
|
|
21
15
|
let react = require("react");
|
|
22
16
|
react = require_runtime.__toESM(react);
|
|
23
17
|
let _pisell_utils = require("@pisell/utils");
|
|
@@ -28,41 +22,6 @@ let _pisell_utils = require("@pisell/utils");
|
|
|
28
22
|
* NativeScale owner,再将独立 HDLKiosk 作为物料渲染。
|
|
29
23
|
* 边界:兼容代码限制在本目录,不修改 HDLKiosk Core,也不要求 BigSale 上层传专用 props。
|
|
30
24
|
*/
|
|
31
|
-
const HDL_KIOSK_CART_HIDDEN_MODULES = [
|
|
32
|
-
"overview",
|
|
33
|
-
"customer",
|
|
34
|
-
"contact",
|
|
35
|
-
"cartActions",
|
|
36
|
-
"orderActions",
|
|
37
|
-
"promotionAlert"
|
|
38
|
-
];
|
|
39
|
-
const HDL_KIOSK_A12_PRESENTATION = {
|
|
40
|
-
density: "comfortable",
|
|
41
|
-
optionColumns: 2,
|
|
42
|
-
mediaFit: "cover",
|
|
43
|
-
contentAlign: "center",
|
|
44
|
-
tokens: {
|
|
45
|
-
background: "#ffffff",
|
|
46
|
-
borderColor: "#e4e7ec",
|
|
47
|
-
borderRadius: "18px",
|
|
48
|
-
minHeight: "164px",
|
|
49
|
-
mediaWidth: "228px",
|
|
50
|
-
actionRailWidth: "174px",
|
|
51
|
-
contentPadding: "20px 22px",
|
|
52
|
-
actionRailPadding: "18px 20px",
|
|
53
|
-
accentColor: "#b20d12",
|
|
54
|
-
titleColor: "#101828",
|
|
55
|
-
titleFontSize: "32px",
|
|
56
|
-
titleFontWeight: 800,
|
|
57
|
-
priceColor: "#b20d12",
|
|
58
|
-
priceFontSize: "30px",
|
|
59
|
-
optionBackground: "#f5f6f8",
|
|
60
|
-
optionLabelColor: "#667085",
|
|
61
|
-
optionValueColor: "#101828",
|
|
62
|
-
optionGap: "6px",
|
|
63
|
-
shadow: "0 12px 28px rgba(16, 24, 40, 0.08)"
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
25
|
function resolveHDLKioskBigSaleConfig(primaryWeightedProductId) {
|
|
67
26
|
return require_config.resolveHDLKioskConfig({ primaryWeightedProductId });
|
|
68
27
|
}
|
|
@@ -71,7 +30,7 @@ function resolveHDLKioskBigSaleConfig(primaryWeightedProductId) {
|
|
|
71
30
|
* 仅负责装配 Host 和配置,不承载流程或页面语义。
|
|
72
31
|
*/
|
|
73
32
|
function HDLKioskBigSaleTemplate({ isActive = true, context, businessCode, locale, productLoadParams, productCatalogSessionKey, productCatalogReady = true, saleDetailModuleConfig, onOrderComplete, variant }) {
|
|
74
|
-
var _engineContext$appHel, _engineContext$appHel2, _engineContext$appHel4, _engineContext$
|
|
33
|
+
var _engineContext$appHel, _engineContext$appHel2, _engineContext$appHel4, _engineContext$appHel9, _engineContext$appHel10, _engineContext$appHel11, _engineContext$appHel12, _context$sales$bookin, _context$sales$bookin2, _context$sales$bookin3, _productLoadParams$me, _context$sales$defaul, _context$sales$tempOr, _context$sales$tempOr2, _context$sales$tempOr3, _context$sales$tempOr4, _ref;
|
|
75
34
|
const entryDataPreparing = !productCatalogReady || context.products.loading || context.sales.catalogState === "pending";
|
|
76
35
|
const primaryWeightedProductId = !entryDataPreparing && !context.products.error && context.sales.catalogState === "ready" ? require_primaryWeightedProduct.resolvePrimaryWeightedProductId(context.products.products) : void 0;
|
|
77
36
|
const config = (0, react.useMemo)(() => resolveHDLKioskBigSaleConfig(primaryWeightedProductId), [primaryWeightedProductId]);
|
|
@@ -92,113 +51,49 @@ function HDLKioskBigSaleTemplate({ isActive = true, context, businessCode, local
|
|
|
92
51
|
const app = engineContext === null || engineContext === void 0 || (_engineContext$appHel3 = engineContext.appHelper) === null || _engineContext$appHel3 === void 0 || (_engineContext$appHel3 = _engineContext$appHel3.utils) === null || _engineContext$appHel3 === void 0 ? void 0 : _engineContext$appHel3.getApp();
|
|
93
52
|
app === null || app === void 0 || (_app$history = app.history) === null || _app$history === void 0 || _app$history.push("/admin-entry");
|
|
94
53
|
}, [engineContext === null || engineContext === void 0 || (_engineContext$appHel4 = engineContext.appHelper) === null || _engineContext$appHel4 === void 0 ? void 0 : _engineContext$appHel4.utils]);
|
|
95
|
-
const
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const scaleRuntimeOwnerId = (0, react.useMemo)(() => `hdl-kiosk-scale-runtime:${Date.now()}`, []);
|
|
102
|
-
const nativeScaleTools = engineContext === null || engineContext === void 0 || (_engineContext$appHel5 = engineContext.appHelper) === null || _engineContext$appHel5 === void 0 || (_engineContext$appHel5 = _engineContext$appHel5.utils) === null || _engineContext$appHel5 === void 0 || (_engineContext$appHel6 = _engineContext$appHel5.getApp) === null || _engineContext$appHel6 === void 0 || (_engineContext$appHel6 = _engineContext$appHel6.call(_engineContext$appHel5)) === null || _engineContext$appHel6 === void 0 || (_engineContext$appHel6 = _engineContext$appHel6.plugins) === null || _engineContext$appHel6 === void 0 || (_engineContext$appHel7 = _engineContext$appHel6.get) === null || _engineContext$appHel7 === void 0 ? void 0 : _engineContext$appHel7.call(_engineContext$appHel6, "nativeScaleTools");
|
|
103
|
-
const nativeScaleSourceAvailable = typeof (nativeScaleTools === null || nativeScaleTools === void 0 ? void 0 : nativeScaleTools.useNativeScale) === "function";
|
|
104
|
-
const fulfillmentWriter = (0, react.useMemo)(() => require_fulfillment.createHDLKioskFulfillmentWriter(context.sales.bookingTicket), [context.sales.bookingTicket]);
|
|
105
|
-
const host = require_useBigSaleHDLKioskHost.useBigSaleHDLKioskHost(context, businessCode, (0, react.useMemo)(() => ({
|
|
106
|
-
writeFulfillment: fulfillmentWriter,
|
|
107
|
-
getPaymentController: () => paymentControllerRef.current,
|
|
108
|
-
subscribeWeightChange: scaleTriggerHub.subscribeWeightChange,
|
|
109
|
-
subscribeScaleConnection: scaleTriggerHub.subscribeConnection,
|
|
110
|
-
getAuthenticatedCustomer: (customerId) => {
|
|
111
|
-
const customer = authenticatedCustomerRef.current;
|
|
112
|
-
return customer && String(customer.id) === customerId ? customer : void 0;
|
|
54
|
+
const publishCollaborationStatus = (0, react.useCallback)((status) => {
|
|
55
|
+
try {
|
|
56
|
+
var _engineContext$appHel5, _engineContext$appHel6, _engineContext$appHel7, _engineContext$appHel8;
|
|
57
|
+
engineContext === null || engineContext === void 0 || (_engineContext$appHel5 = engineContext.appHelper) === null || _engineContext$appHel5 === void 0 || (_engineContext$appHel5 = _engineContext$appHel5.utils) === null || _engineContext$appHel5 === void 0 || (_engineContext$appHel6 = _engineContext$appHel5.getApp) === null || _engineContext$appHel6 === void 0 || (_engineContext$appHel6 = _engineContext$appHel6.call(_engineContext$appHel5)) === null || _engineContext$appHel6 === void 0 || (_engineContext$appHel6 = _engineContext$appHel6.applicationManager) === null || _engineContext$appHel6 === void 0 || (_engineContext$appHel7 = _engineContext$appHel6.get) === null || _engineContext$appHel7 === void 0 || (_engineContext$appHel7 = _engineContext$appHel7.call(_engineContext$appHel6, "kioskCollaborationPreview")) === null || _engineContext$appHel7 === void 0 || (_engineContext$appHel8 = _engineContext$appHel7.runFunction) === null || _engineContext$appHel8 === void 0 || _engineContext$appHel8.call(_engineContext$appHel7, "publishStatus", { status });
|
|
58
|
+
} catch (error) {
|
|
59
|
+
console.warn("[HDLKiosk] 协同预览状态上报失败,不影响销售流程", error);
|
|
113
60
|
}
|
|
114
|
-
}
|
|
61
|
+
}, [engineContext === null || engineContext === void 0 || (_engineContext$appHel9 = engineContext.appHelper) === null || _engineContext$appHel9 === void 0 ? void 0 : _engineContext$appHel9.utils]);
|
|
62
|
+
const h5AuthModuleName = require_useHDLKioskH5AuthModule.useHDLKioskH5AuthModule(engineContext, context.sales);
|
|
63
|
+
const nativeScaleTools = engineContext === null || engineContext === void 0 || (_engineContext$appHel10 = engineContext.appHelper) === null || _engineContext$appHel10 === void 0 || (_engineContext$appHel10 = _engineContext$appHel10.utils) === null || _engineContext$appHel10 === void 0 || (_engineContext$appHel11 = _engineContext$appHel10.getApp) === null || _engineContext$appHel11 === void 0 || (_engineContext$appHel11 = _engineContext$appHel11.call(_engineContext$appHel10)) === null || _engineContext$appHel11 === void 0 || (_engineContext$appHel11 = _engineContext$appHel11.plugins) === null || _engineContext$appHel11 === void 0 || (_engineContext$appHel12 = _engineContext$appHel11.get) === null || _engineContext$appHel12 === void 0 ? void 0 : _engineContext$appHel12.call(_engineContext$appHel11, "nativeScaleTools");
|
|
64
|
+
const { host, paymentControllerRef, rememberAuthenticatedCustomer, scaleBridge } = require_useBigSaleHDLKioskAdapter.useBigSaleHDLKioskAdapter({
|
|
65
|
+
context,
|
|
66
|
+
businessCode,
|
|
67
|
+
isActive,
|
|
68
|
+
nativeScaleSourceAvailable: typeof (nativeScaleTools === null || nativeScaleTools === void 0 ? void 0 : nativeScaleTools.useNativeScale) === "function"
|
|
69
|
+
});
|
|
115
70
|
const catalogLoadAttemptRef = (0, react.useRef)(void 0);
|
|
116
71
|
const renderIdentityAuth = (0, react.useCallback)((props) => /* @__PURE__ */ react.default.createElement(require_HDLKioskIdentityAuthPanel.HDLKioskIdentityAuthPanel, require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, props), {}, {
|
|
117
72
|
context,
|
|
118
73
|
registerAndLoginModuleName: h5AuthModuleName,
|
|
119
|
-
onCustomerResolved:
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
const { openOrderNoteModal, orderNoteModal } = require_useOrderNoteModal.useOrderNoteModal({
|
|
125
|
-
context: saleDetailContext,
|
|
126
|
-
modalClassName: "pisell-kiosk-modal pisell-kiosk-note-modal"
|
|
127
|
-
});
|
|
128
|
-
const hasOrderNote = Boolean(String((_note = (_ref = (_context$sales$tempOr = context.sales.tempOrder) !== null && _context$sales$tempOr !== void 0 ? _context$sales$tempOr : (_context$sales$bookin = context.sales.bookingTicket) === null || _context$sales$bookin === void 0 || (_context$sales$bookin2 = _context$sales$bookin.getTempOrder) === null || _context$sales$bookin2 === void 0 ? void 0 : _context$sales$bookin2.call(_context$sales$bookin)) === null || _ref === void 0 ? void 0 : _ref.note) !== null && _note !== void 0 ? _note : "").trim());
|
|
129
|
-
const selectedPromotionCount = (0, react.useMemo)(() => require_adapters.buildVoucherViews(context.cart.discountList || []).filter((voucher) => voucher.selected).length, [context.cart.discountList]);
|
|
130
|
-
const cartOverlayActions = (0, react.useMemo)(() => ({
|
|
131
|
-
hasNote: hasOrderNote,
|
|
132
|
-
onAddNote: openOrderNoteModal,
|
|
133
|
-
promotionAppliedCount: selectedPromotionCount
|
|
134
|
-
}), [
|
|
135
|
-
hasOrderNote,
|
|
136
|
-
openOrderNoteModal,
|
|
137
|
-
selectedPromotionCount
|
|
74
|
+
onCustomerResolved: rememberAuthenticatedCustomer
|
|
75
|
+
})), [
|
|
76
|
+
context,
|
|
77
|
+
h5AuthModuleName,
|
|
78
|
+
rememberAuthenticatedCustomer
|
|
138
79
|
]);
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
lineNoteEditingEnabled: true,
|
|
145
|
-
showInlineRemoveButton: false,
|
|
146
|
-
showQuantityBadge: false,
|
|
147
|
-
showRemoveButton: true,
|
|
148
|
-
clearSelectedQuantityOnDelete: true,
|
|
149
|
-
productLineItemType: "a12",
|
|
150
|
-
productLineItemPresentation: HDL_KIOSK_A12_PRESENTATION
|
|
151
|
-
}),
|
|
152
|
-
amountDetails: require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, saleDetailModuleConfig === null || saleDetailModuleConfig === void 0 ? void 0 : saleDetailModuleConfig.amountDetails), {}, { defaultExpanded: true }),
|
|
153
|
-
promotionWalletPanels: typeof (saleDetailModuleConfig === null || saleDetailModuleConfig === void 0 ? void 0 : saleDetailModuleConfig.promotionWalletPanels) === "object" ? saleDetailModuleConfig.promotionWalletPanels : void 0,
|
|
154
|
-
promotionWalletPanelsAppearance: "light",
|
|
155
|
-
promotionWalletPanelsBehavior: require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, saleDetailModuleConfig === null || saleDetailModuleConfig === void 0 ? void 0 : saleDetailModuleConfig.promotionWalletPanelsBehavior), {}, {
|
|
156
|
-
walletAssetsCleanupCoordinator: walletAssetsCleanupCoordinatorRef.current,
|
|
157
|
-
enableManualPromotionCode: true,
|
|
158
|
-
enablePromotionBanner: true,
|
|
159
|
-
enableVoucherProductAdd: true,
|
|
160
|
-
enableWalletAssets: true,
|
|
161
|
-
preserveWalletAssetsWhileRefreshing: true
|
|
162
|
-
})
|
|
163
|
-
}), [saleDetailModuleConfig]);
|
|
164
|
-
const isPrimaryProductLine = (0, react.useCallback)((item) => {
|
|
165
|
-
var _ref2, _item$_extend$product, _item$_extend, _config$primaryWeight;
|
|
166
|
-
return String((_ref2 = (_item$_extend$product = item === null || item === void 0 || (_item$_extend = item._extend) === null || _item$_extend === void 0 || (_item$_extend = _item$_extend.product) === null || _item$_extend === void 0 ? void 0 : _item$_extend.product_id) !== null && _item$_extend$product !== void 0 ? _item$_extend$product : item === null || item === void 0 ? void 0 : item.product_id) !== null && _ref2 !== void 0 ? _ref2 : "") === String((_config$primaryWeight = config.primaryWeightedProductId) !== null && _config$primaryWeight !== void 0 ? _config$primaryWeight : "");
|
|
167
|
-
}, [config.primaryWeightedProductId]);
|
|
168
|
-
const renderCartContent = (0, react.useCallback)(({ promotionsVisible, onEditPrimaryProduct }) => /* @__PURE__ */ react.default.createElement(require_Base.default, {
|
|
169
|
-
className: "hdl-kiosk-voucher-wallet",
|
|
170
|
-
context: saleDetailContext,
|
|
171
|
-
mobilePresentation: "inline",
|
|
172
|
-
moduleConfig: require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, voucherWalletModuleConfig), {}, {
|
|
173
|
-
hidden: [...HDL_KIOSK_CART_HIDDEN_MODULES, ...promotionsVisible ? [] : ["promotionWalletPanels"]],
|
|
174
|
-
cartItems: require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, voucherWalletModuleConfig.cartItems), {}, {
|
|
175
|
-
isProductLineItemEditable: isPrimaryProductLine,
|
|
176
|
-
onProductLineItemEdit: onEditPrimaryProduct ? () => onEditPrimaryProduct() : void 0
|
|
177
|
-
})
|
|
178
|
-
}),
|
|
179
|
-
renderType: "current",
|
|
180
|
-
template: "A",
|
|
80
|
+
const { cartOverlayActions, orderNoteModal, renderCartContent } = require_useBigSaleHDLKioskCart.useBigSaleHDLKioskCart({
|
|
81
|
+
context,
|
|
82
|
+
onOrderComplete,
|
|
83
|
+
primaryWeightedProductId: config.primaryWeightedProductId,
|
|
84
|
+
saleDetailModuleConfig,
|
|
181
85
|
variant
|
|
182
|
-
})
|
|
183
|
-
isPrimaryProductLine,
|
|
184
|
-
saleDetailContext,
|
|
185
|
-
variant,
|
|
186
|
-
voucherWalletModuleConfig
|
|
187
|
-
]);
|
|
188
|
-
const selectedCustomerId = (_context$customer$sel = context.customer.selected) === null || _context$customer$sel === void 0 ? void 0 : _context$customer$sel.id;
|
|
189
|
-
(0, react.useEffect)(() => {
|
|
190
|
-
if (!isActive || selectedCustomerId == null) authenticatedCustomerRef.current = void 0;
|
|
191
|
-
}, [isActive, selectedCustomerId]);
|
|
86
|
+
});
|
|
192
87
|
const catalogProductCount = context.products.products.length;
|
|
193
|
-
const osCatalogProductCount = (_context$sales$
|
|
88
|
+
const osCatalogProductCount = (_context$sales$bookin = (_context$sales$bookin2 = context.sales.bookingTicket) === null || _context$sales$bookin2 === void 0 || (_context$sales$bookin3 = _context$sales$bookin2.getProductCatalog) === null || _context$sales$bookin3 === void 0 || (_context$sales$bookin3 = _context$sales$bookin3.call(_context$sales$bookin2)) === null || _context$sales$bookin3 === void 0 || (_context$sales$bookin3 = _context$sales$bookin3.products) === null || _context$sales$bookin3 === void 0 ? void 0 : _context$sales$bookin3.length) !== null && _context$sales$bookin !== void 0 ? _context$sales$bookin : 0;
|
|
194
89
|
const menuListIds = (_productLoadParams$me = productLoadParams === null || productLoadParams === void 0 ? void 0 : productLoadParams.menu_list_ids) !== null && _productLoadParams$me !== void 0 ? _productLoadParams$me : (_context$sales$defaul = context.sales.defaultProductLoadParams) === null || _context$sales$defaul === void 0 ? void 0 : _context$sales$defaul.menu_list_ids;
|
|
195
90
|
const hasCatalogSource = catalogProductCount > 0 || osCatalogProductCount > 0 || Array.isArray(menuListIds) && menuListIds.length > 0;
|
|
196
91
|
const skipsCatalogLoad = typeof productCatalogSessionKey === "string" && /-p0$/.test(productCatalogSessionKey);
|
|
197
92
|
const catalogLoadKey = JSON.stringify({
|
|
198
93
|
sessionKey: productCatalogSessionKey !== null && productCatalogSessionKey !== void 0 ? productCatalogSessionKey : "",
|
|
199
|
-
orderId: (_context$sales$
|
|
200
|
-
customerId: (_context$sales$
|
|
201
|
-
params: (
|
|
94
|
+
orderId: (_context$sales$tempOr = (_context$sales$tempOr2 = context.sales.tempOrder) === null || _context$sales$tempOr2 === void 0 ? void 0 : _context$sales$tempOr2.order_id) !== null && _context$sales$tempOr !== void 0 ? _context$sales$tempOr : null,
|
|
95
|
+
customerId: (_context$sales$tempOr3 = (_context$sales$tempOr4 = context.sales.tempOrder) === null || _context$sales$tempOr4 === void 0 ? void 0 : _context$sales$tempOr4.customer_id) !== null && _context$sales$tempOr3 !== void 0 ? _context$sales$tempOr3 : null,
|
|
96
|
+
params: (_ref = productLoadParams !== null && productLoadParams !== void 0 ? productLoadParams : context.sales.defaultProductLoadParams) !== null && _ref !== void 0 ? _ref : {}
|
|
202
97
|
});
|
|
203
98
|
(0, react.useEffect)(() => {
|
|
204
99
|
if (!isActive || !productCatalogReady || skipsCatalogLoad || !context.sales.isReady || context.sales.catalogState !== "ready" || !context.sales.bookingTicket || !hasCatalogSource || catalogLoadAttemptRef.current === catalogLoadKey) return;
|
|
@@ -220,13 +115,11 @@ function HDLKioskBigSaleTemplate({ isActive = true, context, businessCode, local
|
|
|
220
115
|
productLoadParams,
|
|
221
116
|
skipsCatalogLoad
|
|
222
117
|
]);
|
|
223
|
-
return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement(
|
|
224
|
-
active: isActive && (config.enabledEntries.includes("scale") || config.enabledEntries.includes("quick")) && Boolean(config.primaryWeightedProductId),
|
|
225
|
-
|
|
118
|
+
return /* @__PURE__ */ react.default.createElement(react.default.Fragment, null, /* @__PURE__ */ react.default.createElement(require_BigSaleScaleRuntimeOwner.BigSaleScaleRuntimeOwner, {
|
|
119
|
+
active: isActive && (config.enabledEntries.includes("scale") || config.enabledEntries.includes("quick") || config.enabledEntries.includes("barcode")) && Boolean(config.primaryWeightedProductId),
|
|
120
|
+
bridge: scaleBridge,
|
|
226
121
|
nativeScaleTools,
|
|
227
|
-
minimumWeightKg: config.scaleTriggerMinimumWeightKg
|
|
228
|
-
ownerId: scaleRuntimeOwnerId,
|
|
229
|
-
runtime: scaleRuntime
|
|
122
|
+
minimumWeightKg: config.scaleTriggerMinimumWeightKg
|
|
230
123
|
}), /* @__PURE__ */ react.default.createElement(require_index.default, {
|
|
231
124
|
host,
|
|
232
125
|
config,
|
|
@@ -234,8 +127,9 @@ function HDLKioskBigSaleTemplate({ isActive = true, context, businessCode, local
|
|
|
234
127
|
isActive,
|
|
235
128
|
locale,
|
|
236
129
|
onTechnicalSupportClick: handleTechnicalSupportClick,
|
|
130
|
+
onCollaborationStatusChange: publishCollaborationStatus,
|
|
237
131
|
onLocaleChange: typeof updateLocaleRuntime === "function" ? handleLocaleChange : void 0,
|
|
238
|
-
scaleRuntime,
|
|
132
|
+
scaleRuntime: scaleBridge.runtime,
|
|
239
133
|
renderIdentityAuth: h5AuthModuleName ? renderIdentityAuth : void 0,
|
|
240
134
|
renderCartContent,
|
|
241
135
|
cartOverlayActions
|
|
@@ -3,51 +3,13 @@ const require_defineProperty = require("../../../../../_virtual/_@oxc-project_ru
|
|
|
3
3
|
const require_objectSpread2 = require("../../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js");
|
|
4
4
|
let react = require("react");
|
|
5
5
|
react = require_runtime.__toESM(react);
|
|
6
|
-
//#region src/components/bigSale/templates/HDLKiosk/
|
|
6
|
+
//#region src/components/bigSale/templates/HDLKiosk/runtime/BigSaleScaleRuntimeOwner.tsx
|
|
7
7
|
/**
|
|
8
8
|
* 文件角色:拥有 BigSale 的 useNativeScale Hook,并桥接到 HDLKiosk 全局 Scale Runtime。
|
|
9
|
-
* 运行机制:顶层 owner 在整个物料生命周期持续监听真秤/Web
|
|
10
|
-
*
|
|
9
|
+
* 运行机制:顶层 owner 在整个物料生命周期持续监听真秤/Web 模拟器,将读数统一发布给
|
|
10
|
+
* ScaleBridge;Screen 读取 Snapshot,入口消费离散设备事件。
|
|
11
11
|
* 边界:不复用旧 Weighing UI,不在本文件决定进入流程或更新购物车。
|
|
12
12
|
*/
|
|
13
|
-
function createScaleTriggerHub() {
|
|
14
|
-
const weightListeners = /* @__PURE__ */ new Set();
|
|
15
|
-
const connectionListeners = /* @__PURE__ */ new Set();
|
|
16
|
-
const activityListeners = /* @__PURE__ */ new Set();
|
|
17
|
-
let lastConnection;
|
|
18
|
-
const notifyActivity = () => activityListeners.forEach((listener) => listener());
|
|
19
|
-
return {
|
|
20
|
-
subscribeWeightChange: (listener) => {
|
|
21
|
-
weightListeners.add(listener);
|
|
22
|
-
notifyActivity();
|
|
23
|
-
return () => {
|
|
24
|
-
weightListeners.delete(listener);
|
|
25
|
-
notifyActivity();
|
|
26
|
-
};
|
|
27
|
-
},
|
|
28
|
-
subscribeConnection: (listener) => {
|
|
29
|
-
connectionListeners.add(listener);
|
|
30
|
-
if (lastConnection) listener(lastConnection);
|
|
31
|
-
notifyActivity();
|
|
32
|
-
return () => {
|
|
33
|
-
connectionListeners.delete(listener);
|
|
34
|
-
notifyActivity();
|
|
35
|
-
};
|
|
36
|
-
},
|
|
37
|
-
publishWeightChange: (payload) => weightListeners.forEach((listener) => listener(payload)),
|
|
38
|
-
publishConnection: (payload) => {
|
|
39
|
-
lastConnection = payload;
|
|
40
|
-
connectionListeners.forEach((listener) => listener(payload));
|
|
41
|
-
},
|
|
42
|
-
hasSubscribers: () => weightListeners.size > 0 || connectionListeners.size > 0,
|
|
43
|
-
subscribeActivity: (listener) => {
|
|
44
|
-
activityListeners.add(listener);
|
|
45
|
-
return () => {
|
|
46
|
-
activityListeners.delete(listener);
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
13
|
function inspectScaleEntrySnapshot(scale, minimumWeightKg) {
|
|
52
14
|
var _ref, _scale$connectionStat, _scale$rawData;
|
|
53
15
|
const nativeConnectionState = (_ref = (_scale$connectionStat = scale.connectionState) !== null && _scale$connectionStat !== void 0 ? _scale$connectionStat : (_scale$rawData = scale.rawData) === null || _scale$rawData === void 0 ? void 0 : _scale$rawData.connectionState) !== null && _ref !== void 0 ? _ref : null;
|
|
@@ -78,51 +40,58 @@ function BigSaleScaleRuntimeOwner(props) {
|
|
|
78
40
|
var _props$nativeScaleToo;
|
|
79
41
|
const useNativeScale = (_props$nativeScaleToo = props.nativeScaleTools) === null || _props$nativeScaleToo === void 0 ? void 0 : _props$nativeScaleToo.useNativeScale;
|
|
80
42
|
if (!props.active || typeof useNativeScale !== "function") return null;
|
|
81
|
-
return /* @__PURE__ */ react.default.createElement(MonitorBoundary, { onError: () => props.
|
|
43
|
+
return /* @__PURE__ */ react.default.createElement(MonitorBoundary, { onError: () => props.bridge.publishConnection({
|
|
82
44
|
connected: false,
|
|
83
45
|
state: "error",
|
|
84
46
|
occurredAt: Date.now()
|
|
85
47
|
}) }, /* @__PURE__ */ react.default.createElement(ActiveScaleRuntimeOwner, require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, props), {}, { useNativeScale })));
|
|
86
48
|
}
|
|
87
|
-
function ActiveScaleRuntimeOwner({ active,
|
|
49
|
+
function ActiveScaleRuntimeOwner({ active, bridge, minimumWeightKg, useNativeScale }) {
|
|
88
50
|
const consumedReadingRef = (0, react.useRef)(false);
|
|
89
51
|
const lastConnectionStateRef = (0, react.useRef)();
|
|
90
52
|
const eventSequenceRef = (0, react.useRef)(0);
|
|
53
|
+
const [sample, setSample] = (0, react.useState)({
|
|
54
|
+
sequence: 0,
|
|
55
|
+
receivedAt: 0
|
|
56
|
+
});
|
|
91
57
|
const scale = useNativeScale({
|
|
92
58
|
unit: "KILOGRAMS",
|
|
93
59
|
precision: 3,
|
|
94
60
|
tareWeight: 0,
|
|
95
|
-
autoStart: active
|
|
61
|
+
autoStart: active,
|
|
62
|
+
onChange: (0, react.useCallback)(() => {
|
|
63
|
+
setSample((current) => ({
|
|
64
|
+
sequence: current.sequence + 1,
|
|
65
|
+
receivedAt: Date.now()
|
|
66
|
+
}));
|
|
67
|
+
}, [])
|
|
96
68
|
});
|
|
97
69
|
const inspection = inspectScaleEntrySnapshot(scale, minimumWeightKg);
|
|
98
70
|
(0, react.useEffect)(() => {
|
|
99
71
|
if (!active) return void 0;
|
|
100
|
-
return runtime.activate(ownerId);
|
|
101
|
-
}, [
|
|
102
|
-
active,
|
|
103
|
-
ownerId,
|
|
104
|
-
runtime
|
|
105
|
-
]);
|
|
72
|
+
return bridge.runtime.activate(bridge.ownerId);
|
|
73
|
+
}, [active, bridge]);
|
|
106
74
|
(0, react.useEffect)(() => {
|
|
107
75
|
if (!active) return;
|
|
108
|
-
runtime.publish(ownerId, {
|
|
76
|
+
bridge.runtime.publish(bridge.ownerId, {
|
|
109
77
|
grossWeightKg: scale.grossWeight,
|
|
110
78
|
status: scale.status,
|
|
111
79
|
connectionState: scale.connectionState,
|
|
112
80
|
rawData: scale.rawData,
|
|
113
81
|
isListening: scale.isListening,
|
|
114
|
-
error: scale.error
|
|
82
|
+
error: scale.error,
|
|
83
|
+
sampleSequence: sample.sequence
|
|
115
84
|
});
|
|
116
85
|
}, [
|
|
117
86
|
active,
|
|
118
|
-
|
|
119
|
-
runtime,
|
|
87
|
+
bridge,
|
|
120
88
|
scale.connectionState,
|
|
121
89
|
scale.error,
|
|
122
90
|
scale.grossWeight,
|
|
123
91
|
scale.isListening,
|
|
124
92
|
scale.rawData,
|
|
125
|
-
scale.status
|
|
93
|
+
scale.status,
|
|
94
|
+
sample.sequence
|
|
126
95
|
]);
|
|
127
96
|
(0, react.useEffect)(() => {
|
|
128
97
|
if (!active) {
|
|
@@ -132,7 +101,7 @@ function ActiveScaleRuntimeOwner({ active, hub, minimumWeightKg, ownerId, runtim
|
|
|
132
101
|
const state = inspection.connectionState;
|
|
133
102
|
if (lastConnectionStateRef.current !== state) {
|
|
134
103
|
lastConnectionStateRef.current = state;
|
|
135
|
-
|
|
104
|
+
bridge.publishConnection({
|
|
136
105
|
connected: state === "connected",
|
|
137
106
|
state,
|
|
138
107
|
occurredAt: Date.now()
|
|
@@ -140,7 +109,7 @@ function ActiveScaleRuntimeOwner({ active, hub, minimumWeightKg, ownerId, runtim
|
|
|
140
109
|
}
|
|
141
110
|
}, [
|
|
142
111
|
active,
|
|
143
|
-
|
|
112
|
+
bridge,
|
|
144
113
|
inspection.connectionState
|
|
145
114
|
]);
|
|
146
115
|
(0, react.useEffect)(() => {
|
|
@@ -150,12 +119,13 @@ function ActiveScaleRuntimeOwner({ active, hub, minimumWeightKg, ownerId, runtim
|
|
|
150
119
|
return;
|
|
151
120
|
}
|
|
152
121
|
if (consumedReadingRef.current) return;
|
|
122
|
+
if (!bridge.runtime.getSnapshot().hasLiveSample) return;
|
|
153
123
|
const grossWeight = inspection.validGrossWeightKg;
|
|
154
124
|
if (grossWeight === void 0) return;
|
|
155
125
|
consumedReadingRef.current = true;
|
|
156
126
|
eventSequenceRef.current += 1;
|
|
157
|
-
const occurredAt = Date.now();
|
|
158
|
-
|
|
127
|
+
const occurredAt = sample.receivedAt || Date.now();
|
|
128
|
+
bridge.publishWeightChange({
|
|
159
129
|
eventId: `native-scale-change:${occurredAt}:${eventSequenceRef.current}`,
|
|
160
130
|
occurredAt,
|
|
161
131
|
weight: {
|
|
@@ -167,13 +137,13 @@ function ActiveScaleRuntimeOwner({ active, hub, minimumWeightKg, ownerId, runtim
|
|
|
167
137
|
});
|
|
168
138
|
}, [
|
|
169
139
|
active,
|
|
170
|
-
|
|
140
|
+
bridge,
|
|
171
141
|
inspection.belowTriggerThreshold,
|
|
172
142
|
inspection.validGrossWeightKg,
|
|
143
|
+
sample.receivedAt,
|
|
173
144
|
scale.status
|
|
174
145
|
]);
|
|
175
146
|
return null;
|
|
176
147
|
}
|
|
177
148
|
//#endregion
|
|
178
149
|
exports.BigSaleScaleRuntimeOwner = BigSaleScaleRuntimeOwner;
|
|
179
|
-
exports.createScaleTriggerHub = createScaleTriggerHub;
|
package/lib/components/bigSale/templates/HDLKiosk/{adapter → runtime}/HDLKioskPaymentRuntime.js
RENAMED
|
@@ -6,10 +6,10 @@ const require_constants = require("../../../../checkout/constants.js");
|
|
|
6
6
|
const require_PaymentMethodRuntime = require("../../../../checkout/paymentRuntime/PaymentMethodRuntime.js");
|
|
7
7
|
const require_pendingEftposLifecycle = require("../../../../checkout/paymentRuntime/pendingEftposLifecycle.js");
|
|
8
8
|
const require_utils = require("../../../../checkout/utils.js");
|
|
9
|
-
const require_normalize = require("
|
|
9
|
+
const require_normalize = require("../adapter/normalize.js");
|
|
10
10
|
let react = require("react");
|
|
11
11
|
react = require_runtime.__toESM(react);
|
|
12
|
-
//#region src/components/bigSale/templates/HDLKiosk/
|
|
12
|
+
//#region src/components/bigSale/templates/HDLKiosk/runtime/HDLKioskPaymentRuntime.tsx
|
|
13
13
|
/**
|
|
14
14
|
* BigSale 模板内的 Kiosk 支付桥。它持有需要 React/设备 UI 的 PaymentMethodRuntime,
|
|
15
15
|
* 再把窄命令交给独立 HDLKiosk Host;Core 不感知 BigSale、PiPayment 或 window.app。
|
|
@@ -107,7 +107,7 @@ function HDLKioskPaymentRuntime({ context, controllerRef }) {
|
|
|
107
107
|
const amount = currentAmount(context);
|
|
108
108
|
if (amount <= 0) return require_normalize.failed("paymentAmountInvalid", "back");
|
|
109
109
|
const runtime = runtimeRef.current;
|
|
110
|
-
if (!runtime) return require_normalize.
|
|
110
|
+
if (!runtime) return require_normalize.failed("paymentRuntimeUnavailable", "retry");
|
|
111
111
|
const piProvider = require_constants.resolvePiPaymentProvider(method.code, Boolean((_engineContext$appHel2 = engineContext.appHelper) === null || _engineContext$appHel2 === void 0 || (_engineContext$appHel2 = _engineContext$appHel2.utils) === null || _engineContext$appHel2 === void 0 || (_engineContext$appHel2 = _engineContext$appHel2.businessUtils) === null || _engineContext$appHel2 === void 0 || (_engineContext$appHel3 = _engineContext$appHel2.isPiPaymentEnabled) === null || _engineContext$appHel3 === void 0 ? void 0 : _engineContext$appHel3.call(_engineContext$appHel2)));
|
|
112
112
|
let prepared;
|
|
113
113
|
let shouldDiscardPrepared = false;
|
|
@@ -184,6 +184,7 @@ function HDLKioskPaymentRuntime({ context, controllerRef }) {
|
|
|
184
184
|
} catch (discardError) {
|
|
185
185
|
return require_normalize.unknown("eftposPendingRollbackFailed", discardError);
|
|
186
186
|
}
|
|
187
|
+
if (prepared && !shouldDiscardPrepared) return require_normalize.unknown("eftposPaymentFinalizationUnresolved", error);
|
|
187
188
|
return require_normalize.failed("eftposPaymentFailed", "retry", error);
|
|
188
189
|
}
|
|
189
190
|
});
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const require_scaleStore = require("../../../../HDLKiosk/runtime/devices/scaleStore.js");
|
|
2
|
+
//#region src/components/bigSale/templates/HDLKiosk/runtime/scaleBridge.ts
|
|
3
|
+
function createBigSaleScaleBridge({ now = Date.now } = {}) {
|
|
4
|
+
const listeners = /* @__PURE__ */ new Set();
|
|
5
|
+
const runtime = require_scaleStore.createHDLScaleRuntime();
|
|
6
|
+
const ownerId = `hdl-kiosk-scale-runtime:${now()}`;
|
|
7
|
+
let eventSequence = 0;
|
|
8
|
+
let lastConnection;
|
|
9
|
+
const emit = (event) => {
|
|
10
|
+
listeners.forEach((listener) => listener(event));
|
|
11
|
+
};
|
|
12
|
+
return Object.freeze({
|
|
13
|
+
ownerId,
|
|
14
|
+
runtime,
|
|
15
|
+
subscribeDeviceEvents: (listener) => {
|
|
16
|
+
listeners.add(listener);
|
|
17
|
+
if (lastConnection) listener(lastConnection);
|
|
18
|
+
return () => {
|
|
19
|
+
listeners.delete(listener);
|
|
20
|
+
};
|
|
21
|
+
},
|
|
22
|
+
publishWeightChange: ({ weight, eventId, occurredAt = now() }) => {
|
|
23
|
+
eventSequence += 1;
|
|
24
|
+
emit({
|
|
25
|
+
type: "weightChanged",
|
|
26
|
+
eventId: eventId !== null && eventId !== void 0 ? eventId : `big-sale-scale:${occurredAt}:${eventSequence}`,
|
|
27
|
+
weight,
|
|
28
|
+
occurredAt
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
publishConnection: ({ connected, state, occurredAt = now() }) => {
|
|
32
|
+
lastConnection = {
|
|
33
|
+
type: "connectionChanged",
|
|
34
|
+
device: "scale",
|
|
35
|
+
connected,
|
|
36
|
+
state,
|
|
37
|
+
occurredAt
|
|
38
|
+
};
|
|
39
|
+
emit(lastConnection);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
exports.createBigSaleScaleBridge = createBigSaleScaleBridge;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pisell/private-materials",
|
|
3
|
-
"version": "6.12.
|
|
3
|
+
"version": "6.12.170",
|
|
4
4
|
"main": "./lib/index.js",
|
|
5
5
|
"module": "./es/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
"styled-components": "^6.0.0-rc.3",
|
|
71
71
|
"use-sync-external-store": "^1.6.0",
|
|
72
72
|
"@pisell/pi-payment-sdk": "0.0.3",
|
|
73
|
-
"@pisell/date-picker": "3.0.10",
|
|
74
73
|
"@pisell/utils": "3.0.4",
|
|
74
|
+
"@pisell/date-picker": "3.0.10",
|
|
75
75
|
"@pisell/icon": "0.0.11",
|
|
76
76
|
"@pisell/materials": "6.12.50"
|
|
77
77
|
},
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { _asyncToGenerator } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js";
|
|
2
|
-
import { finalizeCartMutation } from "./cartConsistency.js";
|
|
3
|
-
import { defineOperation } from "./types.js";
|
|
4
|
-
//#region src/components/HDLKiosk/app/operations/barcode.ts
|
|
5
|
-
const barcodeConsumeOperation = defineOperation({
|
|
6
|
-
id: "barcode.consume",
|
|
7
|
-
conflictScope: "cart",
|
|
8
|
-
retry: "explicit-user",
|
|
9
|
-
execute: function() {
|
|
10
|
-
var _ref = _asyncToGenerator(function* (context, input, signal) {
|
|
11
|
-
const beforeFingerprint = context.host.sales.getObservedSnapshot().fingerprint.value;
|
|
12
|
-
const mutation = yield context.host.sales.consumeBarcode(input.code, signal);
|
|
13
|
-
if (mutation.status === "succeeded" && mutation.data.code === "requiresSelection") return mutation;
|
|
14
|
-
return finalizeCartMutation(context, mutation, signal, () => mutation.status === "succeeded" && mutation.data.code === "added" && mutation.data.cartChangeConfirmed === true || context.host.sales.getObservedSnapshot().fingerprint.value !== beforeFingerprint);
|
|
15
|
-
});
|
|
16
|
-
return function execute(_x, _x2, _x3) {
|
|
17
|
-
return _ref.apply(this, arguments);
|
|
18
|
-
};
|
|
19
|
-
}()
|
|
20
|
-
});
|
|
21
|
-
//#endregion
|
|
22
|
-
export { barcodeConsumeOperation };
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { _asyncToGenerator } from "../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js";
|
|
2
|
-
import { finalizeCartMutation } from "./cartConsistency.js";
|
|
3
|
-
import { defineOperation } from "./types.js";
|
|
4
|
-
//#region src/components/HDLKiosk/app/operations/cart.ts
|
|
5
|
-
const cartAddProductOperation = defineOperation({
|
|
6
|
-
id: "cart.addProduct",
|
|
7
|
-
conflictScope: "cart",
|
|
8
|
-
retry: "explicit-user",
|
|
9
|
-
execute: function() {
|
|
10
|
-
var _ref = _asyncToGenerator(function* (context, input, signal) {
|
|
11
|
-
return finalizeCartMutation(context, yield context.host.sales.addProduct(input, signal), signal);
|
|
12
|
-
});
|
|
13
|
-
return function execute(_x, _x2, _x3) {
|
|
14
|
-
return _ref.apply(this, arguments);
|
|
15
|
-
};
|
|
16
|
-
}()
|
|
17
|
-
});
|
|
18
|
-
const cartUpdateQuantityOperation = defineOperation({
|
|
19
|
-
id: "cart.updateQuantity",
|
|
20
|
-
conflictScope: "cart",
|
|
21
|
-
timeoutMs: 15e3,
|
|
22
|
-
retry: "explicit-user",
|
|
23
|
-
execute: function() {
|
|
24
|
-
var _ref2 = _asyncToGenerator(function* (context, input, signal) {
|
|
25
|
-
const mutation = yield context.host.sales.updateQuantity(input, signal);
|
|
26
|
-
return finalizeCartMutation(context, mutation, signal, () => {
|
|
27
|
-
var _mutation$data$confir;
|
|
28
|
-
if (mutation.status === "succeeded" && mutation.data.affectedLineId === input.lineId && ((_mutation$data$confir = mutation.data.confirmedLine) === null || _mutation$data$confir === void 0 ? void 0 : _mutation$data$confir.lineId) === input.lineId && decimalValuesEqual(mutation.data.confirmedLine.quantity, input.quantity)) return true;
|
|
29
|
-
const line = context.host.sales.getObservedSnapshot().cart.lines.find((item) => item.lineId === input.lineId);
|
|
30
|
-
return decimalValuesEqual(line === null || line === void 0 ? void 0 : line.quantity, input.quantity);
|
|
31
|
-
});
|
|
32
|
-
});
|
|
33
|
-
return function execute(_x4, _x5, _x6) {
|
|
34
|
-
return _ref2.apply(this, arguments);
|
|
35
|
-
};
|
|
36
|
-
}()
|
|
37
|
-
});
|
|
38
|
-
function decimalValuesEqual(left, right) {
|
|
39
|
-
if (left === void 0) return false;
|
|
40
|
-
const leftNumber = Number(left);
|
|
41
|
-
const rightNumber = Number(right);
|
|
42
|
-
return Number.isFinite(leftNumber) && Number.isFinite(rightNumber) && leftNumber === rightNumber;
|
|
43
|
-
}
|
|
44
|
-
const cartRemoveLineOperation = defineOperation({
|
|
45
|
-
id: "cart.removeLine",
|
|
46
|
-
conflictScope: "cart",
|
|
47
|
-
timeoutMs: 15e3,
|
|
48
|
-
retry: "explicit-user",
|
|
49
|
-
execute: function() {
|
|
50
|
-
var _ref3 = _asyncToGenerator(function* (context, input, signal) {
|
|
51
|
-
const mutation = yield context.host.sales.removeLine(input, signal);
|
|
52
|
-
return finalizeCartMutation(context, mutation, signal, () => mutation.status === "succeeded" && mutation.data.removedLineId === input.lineId || !context.host.sales.getObservedSnapshot().cart.lines.some((item) => item.lineId === input.lineId));
|
|
53
|
-
});
|
|
54
|
-
return function execute(_x7, _x8, _x9) {
|
|
55
|
-
return _ref3.apply(this, arguments);
|
|
56
|
-
};
|
|
57
|
-
}()
|
|
58
|
-
});
|
|
59
|
-
//#endregion
|
|
60
|
-
export { cartAddProductOperation, cartRemoveLineOperation, cartUpdateQuantityOperation };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { defineOperation } from "./types.js";
|
|
2
|
-
//#region src/components/HDLKiosk/app/operations/fulfillment.ts
|
|
3
|
-
const setFulfillmentOperation = defineOperation({
|
|
4
|
-
id: "fulfillment.set",
|
|
5
|
-
conflictScope: "cart",
|
|
6
|
-
timeoutMs: 2e4,
|
|
7
|
-
retry: "explicit-user",
|
|
8
|
-
execute: (context, input, signal) => context.host.sales.setFulfillment(input, signal)
|
|
9
|
-
});
|
|
10
|
-
//#endregion
|
|
11
|
-
export { setFulfillmentOperation };
|