@feedmepos/mf-order-setting 0.0.90 → 0.0.91

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.
Files changed (46) hide show
  1. package/dist/DisplaySystemView-n7Kqdw-h.js +6564 -0
  2. package/dist/{KioskDevicesView-WuOTJ9Fi.js → KioskDevicesView-Bz6seroM.js} +1 -1
  3. package/dist/{KioskDevicesView.vue_vue_type_script_setup_true_lang-DdHfATyN.js → KioskDevicesView.vue_vue_type_script_setup_true_lang-I39sE8Pe.js} +3 -3
  4. package/dist/{KioskSettingView-Bsja2OqT.js → KioskSettingView-Cajjh4Zm.js} +3 -3
  5. package/dist/{KioskView-BH5qGTM_.js → KioskView-BPSbsMi5.js} +93 -89
  6. package/dist/{OrderSettingsView-D6V1ztiS.js → OrderSettingsView-jPxZ3JDM.js} +5 -5
  7. package/dist/{app-DsMk7W2h.js → app-DIhv5ssA.js} +266 -254
  8. package/dist/app.js +1 -1
  9. package/dist/frontend/mf-order/src/app.d.ts +18 -6
  10. package/dist/frontend/mf-order/src/main.d.ts +18 -6
  11. package/dist/frontend/mf-order/src/modules/display-system/interface.d.ts +6 -3
  12. package/dist/frontend/mf-order/src/modules/kiosk/bindDeviceError.d.ts +20 -0
  13. package/dist/frontend/mf-order/src/views/display-system/CanvasArea.vue.d.ts +48 -0
  14. package/dist/frontend/mf-order/src/views/display-system/DisplayLayoutCanvas.vue.d.ts +17 -14
  15. package/dist/frontend/mf-order/src/views/display-system/DisplayModulePickerDialog.vue.d.ts +2 -0
  16. package/dist/frontend/mf-order/tsconfig.app.tsbuildinfo +1 -1
  17. package/dist/{index-DGDiI0fr.js → index-Clp_YRJ2.js} +1 -1
  18. package/dist/{index-BUDM0Rqn.js → index-CmqNrkNl.js} +1 -1
  19. package/dist/{index-C2n1MV_1.js → index-vaSLX6r3.js} +2 -2
  20. package/dist/{order.dto-BRDWWgMV.js → order.dto-DV1qL3Q_.js} +21 -1
  21. package/dist/package/entity/alert/investigation.dto.d.ts +26 -0
  22. package/dist/package/entity/alert/lark-callback.dto.d.ts +19 -0
  23. package/dist/package/entity/alert/record-resolution.dto.d.ts +35 -0
  24. package/dist/package/entity/index.d.ts +1 -0
  25. package/dist/package/entity/kiosk/kiosk.do.d.ts +105 -0
  26. package/dist/package/entity/kiosk/kiosk.dto.d.ts +76 -0
  27. package/dist/style.css +1 -1
  28. package/package.json +3 -1
  29. package/src/locales/en-US.json +11 -4
  30. package/src/locales/zh-CN.json +9 -4
  31. package/src/modules/display-system/interface.spec.ts +90 -5
  32. package/src/modules/display-system/interface.ts +31 -21
  33. package/src/modules/kiosk/bindDeviceError.spec.ts +42 -0
  34. package/src/modules/kiosk/bindDeviceError.ts +40 -0
  35. package/src/views/display-system/CanvasArea.vue +355 -0
  36. package/src/views/display-system/DisplayLayoutCanvas.spec.ts +57 -0
  37. package/src/views/display-system/DisplayLayoutCanvas.vue +173 -298
  38. package/src/views/display-system/DisplayModulePickerDialog.spec.ts +71 -0
  39. package/src/views/display-system/DisplayModulePickerDialog.vue +107 -0
  40. package/src/views/display-system/DisplayTemplateEditor.spec.ts +151 -0
  41. package/src/views/display-system/DisplayTemplateEditor.vue +233 -193
  42. package/src/views/kiosk/KioskView.vue +2 -4
  43. package/vitest.config.ts +2 -0
  44. package/dist/DisplaySystemView-tosCa7Ej.js +0 -6485
  45. package/dist/frontend/mf-order/src/views/display-system/DisplayModulePalette.vue.d.ts +0 -13
  46. package/src/views/display-system/DisplayModulePalette.vue +0 -140
@@ -1,13 +0,0 @@
1
- type __VLS_Props = {
2
- canAdd: boolean;
3
- };
4
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
5
- add: (type: string) => any;
6
- dragend: () => any;
7
- dragstart: (type: string) => any;
8
- }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
- onAdd?: ((type: string) => any) | undefined;
10
- onDragend?: (() => any) | undefined;
11
- onDragstart?: ((type: string) => any) | undefined;
12
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
- export default _default;
@@ -1,140 +0,0 @@
1
- <script setup lang="ts">
2
- import { computed } from 'vue'
3
- import { useI18n } from '@feedmepos/mf-common'
4
- import { DISPLAY_BLOCK_DEFINITIONS } from '@entity'
5
-
6
- defineProps<{ canAdd: boolean }>()
7
-
8
- // Authoring is deliberately ungated: templates are business-level while
9
- // capabilities are bought per outlet, so the palette must not change shape with
10
- // the outlet picker. A per-module "not licensed here" badge needs per-outlet
11
- // capabilities for the template's own targets (a business-level endpoint that
12
- // does not exist yet), so nothing is marked until that lands — a badge derived
13
- // from the page's outlet selector would be wrong more often than right.
14
-
15
- const emit = defineEmits<{
16
- (event: 'add', type: string): void
17
- (event: 'dragstart', type: string): void
18
- (event: 'dragend'): void
19
- }>()
20
-
21
- const { t } = useI18n()
22
-
23
- const GROUP_ORDER = ['pickup', 'queue', 'media', 'info'] as const
24
-
25
- const groups = computed(() =>
26
- GROUP_ORDER.map((group) => ({
27
- group,
28
- label: t(`order.displaySystem.editor.ui.group${group.charAt(0).toUpperCase()}${group.slice(1)}`),
29
- items: DISPLAY_BLOCK_DEFINITIONS.filter((definition) => definition.editor.group === group)
30
- })).filter((entry) => entry.items.length)
31
- )
32
-
33
- function onDragStart(event: DragEvent, type: string): void {
34
- event.dataTransfer?.setData('application/x-display-block-type', type)
35
- if (event.dataTransfer) event.dataTransfer.effectAllowed = 'copy'
36
- emit('dragstart', type)
37
- }
38
- </script>
39
-
40
- <template>
41
- <div class="palette">
42
- <div class="palette-head">
43
- <h3 class="palette-title">{{ t('order.displaySystem.editor.ui.paletteTitle') }}</h3>
44
- <p class="palette-hint">{{ t('order.displaySystem.editor.ui.paletteHint') }}</p>
45
- </div>
46
-
47
- <section v-for="entry in groups" :key="entry.group" class="palette-group">
48
- <h4 class="palette-group-label">{{ entry.label }}</h4>
49
- <button
50
- v-for="definition in entry.items"
51
- :key="definition.type"
52
- type="button"
53
- class="palette-card"
54
- draggable="true"
55
- :disabled="!canAdd"
56
- @dragstart="onDragStart($event, definition.type)"
57
- @dragend="emit('dragend')"
58
- @click="emit('add', definition.type)"
59
- >
60
- <span class="palette-icon"><FmIcon :name="definition.editor.icon" size="sm" /></span>
61
- <span class="palette-label">{{ t(definition.editor.labelKey) }}</span>
62
- </button>
63
- </section>
64
- </div>
65
- </template>
66
-
67
- <style scoped>
68
- .palette {
69
- display: flex;
70
- flex-direction: column;
71
- gap: 16px;
72
- }
73
- .palette-head {
74
- display: flex;
75
- flex-direction: column;
76
- gap: 4px;
77
- }
78
- .palette-title {
79
- color: #111827;
80
- font-size: 13px;
81
- font-weight: 600;
82
- }
83
- .palette-hint {
84
- color: #6b7280;
85
- font-size: 11px;
86
- line-height: 1.4;
87
- }
88
- .palette-group {
89
- display: flex;
90
- flex-direction: column;
91
- gap: 6px;
92
- }
93
- .palette-group-label {
94
- color: #9ca3af;
95
- font-size: 10px;
96
- font-weight: 700;
97
- letter-spacing: 0.06em;
98
- text-transform: uppercase;
99
- }
100
- .palette-card {
101
- display: flex;
102
- align-items: center;
103
- gap: 8px;
104
- border: 1px solid #e5e7eb;
105
- border-radius: 8px;
106
- padding: 8px 10px;
107
- background: white;
108
- color: #374151;
109
- font-size: 13px;
110
- text-align: left;
111
- cursor: grab;
112
- }
113
- .palette-card:hover:not(:disabled) {
114
- border-color: #f97316;
115
- background: #fffbf5;
116
- }
117
- .palette-card:disabled {
118
- cursor: not-allowed;
119
- opacity: 0.5;
120
- }
121
- .palette-card:active {
122
- cursor: grabbing;
123
- }
124
- .palette-icon {
125
- display: grid;
126
- height: 24px;
127
- width: 24px;
128
- flex: 0 0 auto;
129
- place-items: center;
130
- border-radius: 6px;
131
- background: #f3f4f6;
132
- color: #4b5563;
133
- }
134
- .palette-label {
135
- min-width: 0;
136
- flex: 1;
137
- line-height: 1.25;
138
- overflow-wrap: anywhere;
139
- }
140
- </style>