@pisell/private-materials 6.12.167 → 6.12.169
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 +11 -13
- 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/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 +105 -101
- package/es/components/HDLKiosk/docs/03-/344/270/232/345/212/241/346/265/201/347/250/213/344/270/216/344/272/244/344/272/222/350/247/204/345/210/231.md +2 -2
- 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/07-/345/220/216/347/273/255/345/267/245/344/275/234.md +1 -1
- 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 +22 -28
- package/es/components/HDLKiosk/index.less +1 -1
- package/es/components/HDLKiosk/kernel/README.md +14 -13
- 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 +51 -22
- package/es/components/HDLKiosk/kernel/workflow/compiler.js +23 -30
- 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 +37 -38
- package/es/components/HDLKiosk/slices/customization/Screen/index.less +5 -0
- package/es/components/HDLKiosk/slices/customization/slice.js +3 -4
- 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.js +2 -2
- package/es/components/HDLKiosk/slices/identity/slice.js +3 -3
- package/es/components/HDLKiosk/slices/identity/view.js +1 -1
- package/es/components/HDLKiosk/slices/payment/slice.js +3 -3
- package/es/components/HDLKiosk/slices/primaryProductPrompt/slice.js +2 -2
- package/es/components/HDLKiosk/slices/primaryProductPrompt/view.js +2 -2
- package/es/components/HDLKiosk/{runtime → ui}/HDLKioskWorkflowView.js +45 -131
- 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 +7 -7
- 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/adapter/HDLKioskPaymentRuntime.js +2 -1
- package/es/components/bigSale/templates/HDLKiosk/adapter/capabilities.js +1 -1
- package/es/components/bigSale/templates/HDLKiosk/adapter/projection.js +21 -11
- package/es/components/bigSale/templates/HDLKiosk/adapter/sales.js +21 -3
- package/es/components/bigSale/templates/HDLKiosk/adapter/scaleTrigger.js +20 -5
- package/es/components/bigSale/templates/HDLKiosk/adapter/useBigSaleHDLKioskHost.js +3 -0
- package/es/components/bigSale/templates/HDLKiosk/index.js +3 -3
- 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 +11 -13
- 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/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 +105 -101
- package/lib/components/HDLKiosk/docs/03-/344/270/232/345/212/241/346/265/201/347/250/213/344/270/216/344/272/244/344/272/222/350/247/204/345/210/231.md +2 -2
- 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/07-/345/220/216/347/273/255/345/267/245/344/275/234.md +1 -1
- 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 +25 -31
- package/lib/components/HDLKiosk/index.less +1 -1
- package/lib/components/HDLKiosk/kernel/README.md +14 -13
- 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 +51 -22
- package/lib/components/HDLKiosk/kernel/workflow/compiler.js +23 -30
- 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 +38 -39
- 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.js +2 -2
- 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/slice.js +5 -5
- package/lib/components/HDLKiosk/slices/primaryProductPrompt/slice.js +2 -2
- package/lib/components/HDLKiosk/slices/primaryProductPrompt/view.js +2 -2
- package/lib/components/HDLKiosk/{runtime → ui}/HDLKioskWorkflowView.js +46 -132
- 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 +7 -7
- 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/adapter/HDLKioskPaymentRuntime.js +2 -1
- package/lib/components/bigSale/templates/HDLKiosk/adapter/capabilities.js +1 -1
- package/lib/components/bigSale/templates/HDLKiosk/adapter/projection.js +21 -10
- package/lib/components/bigSale/templates/HDLKiosk/adapter/sales.js +20 -2
- package/lib/components/bigSale/templates/HDLKiosk/adapter/scaleTrigger.js +19 -4
- package/lib/components/bigSale/templates/HDLKiosk/adapter/useBigSaleHDLKioskHost.js +3 -0
- package/lib/components/bigSale/templates/HDLKiosk/index.js +4 -4
- 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/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/es/components/HDLKiosk/{app → ui}/entry/Screen/index.less +0 -0
- /package/lib/components/HDLKiosk/{app → ui}/entry/Screen/index.less +0 -0
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
const require_runtime = require("../../../_virtual/_rolldown/runtime.js");
|
|
2
|
-
const require_asyncToGenerator = require("../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js");
|
|
3
2
|
const require_useHDLKioskCustomerController = require("./controllers/useHDLKioskCustomerController.js");
|
|
3
|
+
const require_useHDLKioskActionDispatcher = require("./controllers/useHDLKioskActionDispatcher.js");
|
|
4
|
+
const require_useHDLKioskExitController = require("./controllers/useHDLKioskExitController.js");
|
|
4
5
|
const require_useHDLKioskScreenData = require("./controllers/useHDLKioskScreenData.js");
|
|
5
6
|
const require_selectors = require("../kernel/workflow/selectors.js");
|
|
6
7
|
const require_index = require("../components/overlays/EndOrderDialog/index.js");
|
|
@@ -11,13 +12,12 @@ const require_index$4 = require("../components/shell/HDLKioskShell/index.js");
|
|
|
11
12
|
const require_index$5 = require("../components/shell/HDLKioskBottomBarHost/index.js");
|
|
12
13
|
const require_index$6 = require("../components/common/BlockingNotice/index.js");
|
|
13
14
|
const require_utils = require("../utils.js");
|
|
14
|
-
const require_ScreenRenderer = require("
|
|
15
|
-
const
|
|
16
|
-
const require_workflowEvent = require("./workflowEvent.js");
|
|
15
|
+
const require_ScreenRenderer = require("./ScreenRenderer.js");
|
|
16
|
+
const require_snapshots = require("./snapshots.js");
|
|
17
17
|
let react = require("react");
|
|
18
18
|
react = require_runtime.__toESM(react);
|
|
19
19
|
let _pisell_utils = require("@pisell/utils");
|
|
20
|
-
//#region src/components/HDLKiosk/
|
|
20
|
+
//#region src/components/HDLKiosk/ui/HDLKioskWorkflowView.tsx
|
|
21
21
|
/**
|
|
22
22
|
* 文件角色:承载一个活跃 HDLKiosk 会话的 React 组合视图。
|
|
23
23
|
* 运行机制:组合 Customer/ScreenData Controller,订阅 Host 与 Actor
|
|
@@ -42,52 +42,42 @@ function HDLKioskWorkflowCartOverlay({ model, busy, memberAction, send, renderCa
|
|
|
42
42
|
} : void 0
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
+
function HDLKioskWorkflowBlockingSurface({ snapshot, title, description, reference, hideBottomBar = false }) {
|
|
46
|
+
return /* @__PURE__ */ react.default.createElement(require_index$4.HDLKioskShell, { snapshot }, /* @__PURE__ */ react.default.createElement(require_index$5.HDLKioskBottomBarHost, { mode: hideBottomBar ? "hidden" : void 0 }, /* @__PURE__ */ react.default.createElement(require_index$1.HDLKioskHeader, null), /* @__PURE__ */ react.default.createElement("main", { className: "hdl-shell__main" }, /* @__PURE__ */ react.default.createElement(require_index$6.BlockingNotice, {
|
|
47
|
+
title,
|
|
48
|
+
description,
|
|
49
|
+
reference
|
|
50
|
+
}))));
|
|
51
|
+
}
|
|
45
52
|
/**
|
|
46
53
|
* 活跃点餐会话的 UI 编排层。
|
|
47
54
|
*
|
|
48
55
|
* 它把运行时控制器投影为 Screen/Dialog 所需的 props;具体页面不直接接触
|
|
49
56
|
* Host、Workflow Actor 或会话计时器。
|
|
50
57
|
*/
|
|
51
|
-
function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderIdentityAuth, renderCartContent, cartOverlayActions, returnToEntry }) {
|
|
52
|
-
var
|
|
53
|
-
const snapshot =
|
|
54
|
-
const
|
|
55
|
-
const resetInFlight = (0, react.useRef)(false);
|
|
56
|
-
const [resetting, setResetting] = (0, react.useState)(false);
|
|
57
|
-
const [resetError, setResetError] = (0, react.useState)();
|
|
58
|
+
function HDLKioskWorkflowView({ session, host, sales, config, isActive, returning, returnError, renderIdentityAuth, renderCartContent, cartOverlayActions, returnToEntry }) {
|
|
59
|
+
var _session$definition$n2, _customer$error, _activeNode$presentat;
|
|
60
|
+
const snapshot = require_snapshots.useWorkflowSnapshot(session.actor);
|
|
61
|
+
const navigationSequence = (0, react.useRef)(0);
|
|
58
62
|
const [memberLoginOpen, setMemberLoginOpen] = (0, react.useState)(false);
|
|
59
|
-
const [commandState, setCommandState] = (0, react.useState)({ busy: false });
|
|
60
|
-
const commandGeneration = (0, react.useRef)(0);
|
|
61
|
-
const pendingCommands = (0, react.useRef)(0);
|
|
62
63
|
const activeNode = session.definition.nodes[snapshot.nodeId];
|
|
63
|
-
const pendingEndOrderNavigation = ((_snapshot$pendingNavi = snapshot.pendingNavigation) === null || _snapshot$pendingNavi === void 0 ? void 0 : _snapshot$pendingNavi.request.kind) === "confirmEndOrder" ? snapshot.pendingNavigation : void 0;
|
|
64
|
-
const pendingAutomaticExitNavigation = ((_snapshot$pendingNavi2 = snapshot.pendingNavigation) === null || _snapshot$pendingNavi2 === void 0 ? void 0 : _snapshot$pendingNavi2.request.kind) === "performSessionExit" ? snapshot.pendingNavigation : void 0;
|
|
65
|
-
const endOrderConfirmationOpen = Boolean(pendingEndOrderNavigation);
|
|
66
|
-
const currentScreenId = activeNode.screenId;
|
|
67
64
|
const customizationStepId = session.definition.stepOrder.find((stepId) => {
|
|
68
65
|
var _session$definition$n;
|
|
69
66
|
return ((_session$definition$n = session.definition.nodes[stepId]) === null || _session$definition$n === void 0 ? void 0 : _session$definition$n.activity) === "customization";
|
|
70
67
|
});
|
|
71
|
-
const screenDataNode = (
|
|
68
|
+
const screenDataNode = (_session$definition$n2 = session.definition.nodes[snapshot.surface.pageStepId]) !== null && _session$definition$n2 !== void 0 ? _session$definition$n2 : activeNode;
|
|
72
69
|
const paymentSafeForReset = sales.payment.status === "idle" || sales.payment.status === "failed";
|
|
73
|
-
const resetSession
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
code: "resetCancelled",
|
|
85
|
-
source: "operation",
|
|
86
|
-
recovery: "staff",
|
|
87
|
-
safeMessageKey: "hdlKiosk.error.resetCancelled",
|
|
88
|
-
traceId: `hdl-reset-cancelled-${Date.now()}`
|
|
89
|
-
});
|
|
90
|
-
}), [returnToEntry]);
|
|
70
|
+
const { endOrderConfirmationOpen, resetSession, requestEndOrder, cancelEndOrder, confirmEndOrder } = require_useHDLKioskExitController.useHDLKioskExitController({
|
|
71
|
+
session,
|
|
72
|
+
snapshot,
|
|
73
|
+
returnToEntry
|
|
74
|
+
});
|
|
75
|
+
const { send, commandState } = require_useHDLKioskActionDispatcher.useHDLKioskActionDispatcher({
|
|
76
|
+
session,
|
|
77
|
+
snapshot,
|
|
78
|
+
activityId: activeNode.activity,
|
|
79
|
+
resetSession
|
|
80
|
+
});
|
|
91
81
|
const customer = require_useHDLKioskCustomerController.useHDLKioskCustomerController({
|
|
92
82
|
session,
|
|
93
83
|
snapshot,
|
|
@@ -95,7 +85,7 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
|
|
|
95
85
|
activityId: activeNode.activity,
|
|
96
86
|
isActive,
|
|
97
87
|
loginAvailable: Boolean(renderIdentityAuth),
|
|
98
|
-
interactionBlocked:
|
|
88
|
+
interactionBlocked: returning || commandState.busy
|
|
99
89
|
});
|
|
100
90
|
const requestMemberLogin = (0, react.useCallback)(() => {
|
|
101
91
|
if (customer.canLogin && renderIdentityAuth) setMemberLoginOpen(true);
|
|
@@ -104,106 +94,27 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
|
|
|
104
94
|
setMemberLoginOpen(false);
|
|
105
95
|
customer.applyAuthenticatedCustomer(customerId);
|
|
106
96
|
}, [customer.applyAuthenticatedCustomer]);
|
|
107
|
-
const requestEndOrder = (0, react.useCallback)(() => {
|
|
108
|
-
sequence.current += 1;
|
|
109
|
-
session.actor.navigate({
|
|
110
|
-
kind: "sessionExit",
|
|
111
|
-
reason: "userRequest"
|
|
112
|
-
}, `ui:${snapshot.sessionEpoch}:${sequence.current}`);
|
|
113
|
-
}, [session, snapshot.sessionEpoch]);
|
|
114
97
|
const editPrimaryProduct = (0, react.useCallback)(() => {
|
|
115
98
|
if (!customizationStepId || customizationStepId === snapshot.nodeId) return;
|
|
116
|
-
|
|
99
|
+
navigationSequence.current += 1;
|
|
117
100
|
session.actor.navigate({
|
|
118
101
|
kind: "step",
|
|
119
102
|
stepId: customizationStepId
|
|
120
|
-
}, `ui:edit-primary-product:${snapshot.sessionEpoch}:${
|
|
103
|
+
}, `ui:edit-primary-product:${snapshot.sessionEpoch}:${navigationSequence.current}`);
|
|
121
104
|
}, [
|
|
122
105
|
customizationStepId,
|
|
123
106
|
session.actor,
|
|
124
107
|
snapshot.nodeId,
|
|
125
108
|
snapshot.sessionEpoch
|
|
126
109
|
]);
|
|
127
|
-
const cancelEndOrder = (0, react.useCallback)(() => {
|
|
128
|
-
if (!pendingEndOrderNavigation) return;
|
|
129
|
-
session.actor.resolvePendingNavigation(pendingEndOrderNavigation.navigationId, "cancel");
|
|
130
|
-
}, [pendingEndOrderNavigation, session.actor]);
|
|
131
|
-
const confirmEndOrder = (0, react.useCallback)(() => {
|
|
132
|
-
if (!pendingEndOrderNavigation || !session.actor.resolvePendingNavigation(pendingEndOrderNavigation.navigationId, "allow")) return;
|
|
133
|
-
resetSession();
|
|
134
|
-
}, [
|
|
135
|
-
pendingEndOrderNavigation,
|
|
136
|
-
resetSession,
|
|
137
|
-
session.actor
|
|
138
|
-
]);
|
|
139
|
-
(0, react.useEffect)(() => {
|
|
140
|
-
if (!pendingAutomaticExitNavigation || !session.actor.resolvePendingNavigation(pendingAutomaticExitNavigation.navigationId, "allow")) return;
|
|
141
|
-
resetSession();
|
|
142
|
-
}, [
|
|
143
|
-
pendingAutomaticExitNavigation,
|
|
144
|
-
resetSession,
|
|
145
|
-
session.actor
|
|
146
|
-
]);
|
|
147
110
|
const { catalog, customization, payment } = require_useHDLKioskScreenData.useHDLKioskScreenData({
|
|
148
111
|
host,
|
|
149
|
-
currentScreenId: screenDataNode.
|
|
112
|
+
currentScreenId: screenDataNode.surfaceId,
|
|
150
113
|
activity: screenDataNode.activity,
|
|
151
114
|
isActive,
|
|
152
115
|
primaryWeightedProductId: config.primaryWeightedProductId
|
|
153
116
|
});
|
|
154
|
-
(0, react.useEffect)(() =>
|
|
155
|
-
commandGeneration.current += 1;
|
|
156
|
-
pendingCommands.current = 0;
|
|
157
|
-
setCommandState({ busy: false });
|
|
158
|
-
setMemberLoginOpen(false);
|
|
159
|
-
}, [session]);
|
|
160
|
-
const send = (0, react.useCallback)((action) => {
|
|
161
|
-
if (action.kind === "session") {
|
|
162
|
-
resetSession();
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
sequence.current += 1;
|
|
166
|
-
const intentId = `ui:${snapshot.sessionEpoch}:${sequence.current}`;
|
|
167
|
-
if (action.kind === "intent" || action.kind === "navigation") {
|
|
168
|
-
const event = require_workflowEvent.createWorkflowEvent(action, activeNode.activity, snapshot.nodeId, intentId);
|
|
169
|
-
if (event) session.actor.send(event);
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
const generation = commandGeneration.current;
|
|
173
|
-
pendingCommands.current += 1;
|
|
174
|
-
setCommandState({
|
|
175
|
-
busy: true,
|
|
176
|
-
commandId: action.command
|
|
177
|
-
});
|
|
178
|
-
session.executeCommand(action.command, action.input, intentId).then((result) => {
|
|
179
|
-
if (generation !== commandGeneration.current) return;
|
|
180
|
-
pendingCommands.current = Math.max(0, pendingCommands.current - 1);
|
|
181
|
-
setCommandState({
|
|
182
|
-
busy: pendingCommands.current > 0,
|
|
183
|
-
commandId: pendingCommands.current > 0 ? action.command : void 0,
|
|
184
|
-
error: result.status === "failed" ? result.error : void 0
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
}, [
|
|
188
|
-
activeNode.activity,
|
|
189
|
-
resetSession,
|
|
190
|
-
session,
|
|
191
|
-
snapshot.nodeId,
|
|
192
|
-
snapshot.sessionEpoch
|
|
193
|
-
]);
|
|
194
|
-
(0, react.useEffect)(() => {
|
|
195
|
-
if (activeNode.activity !== "paymentMethod" || snapshot.status !== "idle" || sales.payment.status !== "succeeded") return;
|
|
196
|
-
send({
|
|
197
|
-
kind: "intent",
|
|
198
|
-
activityId: "paymentMethod",
|
|
199
|
-
intent: "complete"
|
|
200
|
-
});
|
|
201
|
-
}, [
|
|
202
|
-
activeNode.activity,
|
|
203
|
-
sales.payment.status,
|
|
204
|
-
send,
|
|
205
|
-
snapshot.status
|
|
206
|
-
]);
|
|
117
|
+
(0, react.useEffect)(() => setMemberLoginOpen(false), [session, snapshot.nodeId]);
|
|
207
118
|
const memberAction = customer.visible ? {
|
|
208
119
|
member: customer.member,
|
|
209
120
|
memberName: customer.memberName,
|
|
@@ -213,7 +124,7 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
|
|
|
213
124
|
errorReference: (_customer$error = customer.error) === null || _customer$error === void 0 ? void 0 : _customer$error.traceId,
|
|
214
125
|
onLogin: requestMemberLogin
|
|
215
126
|
} : void 0;
|
|
216
|
-
const canEndOrder = snapshot.status === "idle" && !
|
|
127
|
+
const canEndOrder = snapshot.status === "idle" && !returning && !snapshot.pendingNavigation && !commandState.busy && !customer.busy && paymentSafeForReset;
|
|
217
128
|
const cartDrawerModel = (0, react.useMemo)(() => require_utils.createCartDrawerModel(sales, snapshot.context.primaryWeightedProductId), [sales, snapshot.context.primaryWeightedProductId]);
|
|
218
129
|
const endOrderBottomBar = activeNode.activity === "paymentCompleted" ? void 0 : {
|
|
219
130
|
ariaLabel: _pisell_utils.locales.getText("pisell2.hdl-kiosk.exit-order"),
|
|
@@ -228,25 +139,28 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
|
|
|
228
139
|
"aria-hidden": "true"
|
|
229
140
|
}, /* @__PURE__ */ react.default.createElement("path", { d: "m15 5-7 7 7 7M8 12h10" })), /* @__PURE__ */ react.default.createElement("span", null, _pisell_utils.locales.getText("pisell2.hdl-kiosk.back")))
|
|
230
141
|
};
|
|
231
|
-
if (
|
|
142
|
+
if (returnError) return /* @__PURE__ */ react.default.createElement(HDLKioskWorkflowBlockingSurface, {
|
|
143
|
+
snapshot,
|
|
232
144
|
title: _pisell_utils.locales.getText("pisell2.hdl-kiosk.reset-failed-title"),
|
|
233
145
|
description: _pisell_utils.locales.getText("pisell2.hdl-kiosk.reset-failed-description"),
|
|
234
|
-
reference:
|
|
235
|
-
})
|
|
146
|
+
reference: returnError.traceId
|
|
147
|
+
});
|
|
236
148
|
if (snapshot.status === "blocked") {
|
|
237
149
|
var _snapshot$lastError;
|
|
238
|
-
return /* @__PURE__ */ react.default.createElement(
|
|
150
|
+
return /* @__PURE__ */ react.default.createElement(HDLKioskWorkflowBlockingSurface, {
|
|
151
|
+
snapshot,
|
|
239
152
|
title: _pisell_utils.locales.getText("pisell2.hdl-kiosk.blocked-title"),
|
|
240
153
|
description: _pisell_utils.locales.getText("pisell2.hdl-kiosk.blocked-description"),
|
|
241
|
-
reference: (_snapshot$lastError = snapshot.lastError) === null || _snapshot$lastError === void 0 ? void 0 : _snapshot$lastError.traceId
|
|
242
|
-
|
|
154
|
+
reference: (_snapshot$lastError = snapshot.lastError) === null || _snapshot$lastError === void 0 ? void 0 : _snapshot$lastError.traceId,
|
|
155
|
+
hideBottomBar: true
|
|
156
|
+
});
|
|
243
157
|
}
|
|
244
158
|
return /* @__PURE__ */ react.default.createElement(require_index$4.HDLKioskShell, {
|
|
245
159
|
snapshot,
|
|
246
160
|
memberAction,
|
|
247
|
-
variant:
|
|
161
|
+
variant: screenDataNode.surfaceId === "identity" ? "identityGate" : "default"
|
|
248
162
|
}, /* @__PURE__ */ react.default.createElement(require_index$5.HDLKioskBottomBarHost, {
|
|
249
|
-
mode: ((_activeNode$
|
|
163
|
+
mode: ((_activeNode$presentat = activeNode.presentation) === null || _activeNode$presentat === void 0 ? void 0 : _activeNode$presentat.mode) === "modal" || endOrderConfirmationOpen || memberLoginOpen ? "masked" : "visible",
|
|
250
164
|
fallback: endOrderBottomBar,
|
|
251
165
|
cartOverlayActions,
|
|
252
166
|
promotionsAvailable: Boolean(renderCartContent)
|
|
@@ -259,7 +173,7 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
|
|
|
259
173
|
sales,
|
|
260
174
|
send,
|
|
261
175
|
commandState,
|
|
262
|
-
resetting,
|
|
176
|
+
resetting: returning,
|
|
263
177
|
capabilities: host.capabilities,
|
|
264
178
|
businessMode: config.businessMode,
|
|
265
179
|
scaleMinimumWeightKg: config.scaleTriggerMinimumWeightKg,
|