@fmsim/machine 1.0.38 → 1.0.40

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 (68) hide show
  1. package/dist/agv-line.js +3 -0
  2. package/dist/agv-line.js.map +1 -1
  3. package/dist/agv.js +3 -0
  4. package/dist/agv.js.map +1 -1
  5. package/dist/buffer.js +3 -0
  6. package/dist/buffer.js.map +1 -1
  7. package/dist/carrier.js +4 -4
  8. package/dist/carrier.js.map +1 -1
  9. package/dist/conveyor-join.js +3 -0
  10. package/dist/conveyor-join.js.map +1 -1
  11. package/dist/conveyor.js +3 -0
  12. package/dist/conveyor.js.map +1 -1
  13. package/dist/crane.js +1 -2
  14. package/dist/crane.js.map +1 -1
  15. package/dist/equipment.js +3 -0
  16. package/dist/equipment.js.map +1 -1
  17. package/dist/index.js +1 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/mcs-machine.js.map +1 -1
  20. package/dist/mcs-unit.js.map +1 -1
  21. package/dist/oht-line.js +3 -0
  22. package/dist/oht-line.js.map +1 -1
  23. package/dist/oht.js +3 -0
  24. package/dist/oht.js.map +1 -1
  25. package/dist/port-flow.js +10 -10
  26. package/dist/port-flow.js.map +1 -1
  27. package/dist/port.js +3 -0
  28. package/dist/port.js.map +1 -1
  29. package/dist/scene/root-container-override.js +256 -0
  30. package/dist/scene/root-container-override.js.map +1 -0
  31. package/dist/shelf.js +3 -0
  32. package/dist/shelf.js.map +1 -1
  33. package/dist/shuttle.js +3 -0
  34. package/dist/shuttle.js.map +1 -1
  35. package/dist/stocker-capacity-bar.js +1 -1
  36. package/dist/stocker-capacity-bar.js.map +1 -1
  37. package/dist/stocker.js +3 -0
  38. package/dist/stocker.js.map +1 -1
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/dist/zone-capacity-bar.js +1 -1
  41. package/dist/zone-capacity-bar.js.map +1 -1
  42. package/package.json +3 -3
  43. package/src/agv-line.ts +4 -0
  44. package/src/agv.ts +4 -0
  45. package/src/buffer.ts +4 -0
  46. package/src/carrier.ts +3 -3
  47. package/src/conveyor-join.ts +4 -0
  48. package/src/conveyor.ts +4 -0
  49. package/src/crane.ts +1 -1
  50. package/src/equipment.ts +4 -0
  51. package/src/index.ts +2 -0
  52. package/src/mcs-machine.ts +1 -1
  53. package/src/mcs-unit.ts +1 -1
  54. package/src/oht-line.ts +4 -0
  55. package/src/oht.ts +4 -0
  56. package/src/port-flow.ts +10 -10
  57. package/src/port.ts +4 -0
  58. package/src/scene/root-container-override.ts +297 -0
  59. package/src/shelf.ts +4 -0
  60. package/src/shuttle.ts +4 -0
  61. package/src/stocker-capacity-bar.ts +2 -2
  62. package/src/stocker.ts +4 -0
  63. package/src/zone-capacity-bar.ts +1 -1
  64. package/translations/en.json +15 -1
  65. package/translations/ja.json +17 -1
  66. package/translations/ko.json +24 -8
  67. package/translations/ms.json +17 -1
  68. package/translations/zh.json +17 -1
@@ -0,0 +1,297 @@
1
+ import { Component, RootContainer } from '@hatiolab/things-scene'
2
+ import { themesColorMap, themesColorRange, themesAnimationMap } from '@fmsim/api'
3
+ import { Legend } from '../features/mcs-status-default'
4
+
5
+ // RootContainer 클래스 타입 확장
6
+ declare module '@hatiolab/things-scene' {
7
+ interface RootContainer {
8
+ portLegendTheme?: any
9
+ carrierLegendTheme?: any
10
+ carrierAnimationTheme?: any
11
+ stockerCapacityLegendTheme?: any
12
+ zoneCapacityLegendTheme?: any
13
+ bufferLegendTheme?: any
14
+ agvlineLegendTheme?: any
15
+ ohtlineLegendTheme?: any
16
+ conveyorLegendTheme?: any
17
+ stokerLegendTheme?: any
18
+ agvLegendTheme?: any
19
+ ohtLegendTheme?: any
20
+ shuttleLegendTheme?: any
21
+ craneLegendTheme?: any
22
+ shelfLegendTheme?: any
23
+ equipmentLegendTheme?: any
24
+ style: { [key: string]: any | Legend }
25
+ }
26
+ }
27
+
28
+ const ModelLayer = Component.register('model-layer') as any
29
+
30
+ Object.defineProperty(ModelLayer.prototype, 'nature', {
31
+ get: function () {
32
+ return {
33
+ mutable: false,
34
+ rotatable: false,
35
+ resizable: true,
36
+ properties: [
37
+ {
38
+ type: 'legend',
39
+ label: '',
40
+ name: 'LEGENDS',
41
+ property: {
42
+ label: 'LEGENDS'
43
+ }
44
+ },
45
+ {
46
+ type: 'select',
47
+ label: 'equipment-legend-name',
48
+ name: 'equipmentLegendName',
49
+ property: {
50
+ options: themesColorMap
51
+ }
52
+ },
53
+ {
54
+ type: 'select',
55
+ label: 'buffer-legend-name',
56
+ name: 'bufferLegendName',
57
+ property: {
58
+ options: themesColorMap
59
+ }
60
+ },
61
+ {
62
+ type: 'select',
63
+ label: 'agvline-legend-name',
64
+ name: 'agvlineLegendName',
65
+ property: {
66
+ options: themesColorMap
67
+ }
68
+ },
69
+ {
70
+ type: 'select',
71
+ label: 'ohtline-legend-name',
72
+ name: 'ohtlineLegendName',
73
+ property: {
74
+ options: themesColorMap
75
+ }
76
+ },
77
+ {
78
+ type: 'select',
79
+ label: 'conveyor-legend-name',
80
+ name: 'conveyorLegendName',
81
+ property: {
82
+ options: themesColorMap
83
+ }
84
+ },
85
+ {
86
+ type: 'select',
87
+ label: 'stoker-legend-name',
88
+ name: 'stokerLegendName',
89
+ property: {
90
+ options: themesColorMap
91
+ }
92
+ },
93
+ {
94
+ type: 'select',
95
+ label: 'port-legend-name',
96
+ name: 'portLegendName',
97
+ property: {
98
+ options: themesColorMap
99
+ }
100
+ },
101
+ {
102
+ type: 'select',
103
+ label: 'agv-legend-name',
104
+ name: 'agvLegendName',
105
+ property: {
106
+ options: themesColorMap
107
+ }
108
+ },
109
+ {
110
+ type: 'select',
111
+ label: 'oht-legend-name',
112
+ name: 'ohtLegendName',
113
+ property: {
114
+ options: themesColorMap
115
+ }
116
+ },
117
+ {
118
+ type: 'select',
119
+ label: 'shuttle-legend-name',
120
+ name: 'shuttleLegendName',
121
+ property: {
122
+ options: themesColorMap
123
+ }
124
+ },
125
+ {
126
+ type: 'select',
127
+ label: 'crane-legend-name',
128
+ name: 'craneLegendName',
129
+ property: {
130
+ options: themesColorMap
131
+ }
132
+ },
133
+ {
134
+ type: 'select',
135
+ label: 'port-legend-name',
136
+ name: 'portLegendName',
137
+ property: {
138
+ options: themesColorMap
139
+ }
140
+ },
141
+ {
142
+ type: 'select',
143
+ label: 'shelf-legend-name',
144
+ name: 'shelfLegendName',
145
+ property: {
146
+ options: themesColorMap
147
+ }
148
+ },
149
+ {
150
+ type: 'select',
151
+ label: 'carrier-legend-name',
152
+ name: 'carrierLegendName',
153
+ property: {
154
+ options: themesColorMap
155
+ }
156
+ },
157
+ {
158
+ type: 'select',
159
+ label: 'carrier-animation-name',
160
+ name: 'carrierAnimationName',
161
+ property: {
162
+ options: themesAnimationMap
163
+ }
164
+ },
165
+ {
166
+ type: 'select',
167
+ label: 'stocker-capacity-legend-name',
168
+ name: 'stockerCapacityLegendName',
169
+ property: {
170
+ options: themesColorRange
171
+ }
172
+ },
173
+ {
174
+ type: 'select',
175
+ label: 'zone-capacity-legend-name',
176
+ name: 'zoneCapacityLegendName',
177
+ property: {
178
+ options: themesColorRange
179
+ }
180
+ }
181
+ ],
182
+ 'value-property': 'text'
183
+ }
184
+ }
185
+ })
186
+
187
+ Object.defineProperty(RootContainer.prototype, 'equipmentLegendTheme', {
188
+ get: function () {
189
+ const { equipmentLegendName } = this.rootModel.state
190
+ return equipmentLegendName && this.state.style[equipmentLegendName]
191
+ }
192
+ })
193
+
194
+ Object.defineProperty(RootContainer.prototype, 'bufferLegendTheme', {
195
+ get: function () {
196
+ const { bufferLegendName } = this.rootModel.state
197
+ return bufferLegendName && this.state.style[bufferLegendName]
198
+ }
199
+ })
200
+
201
+ Object.defineProperty(RootContainer.prototype, 'agvlineLegendTheme', {
202
+ get: function () {
203
+ const { agvlineLegendName } = this.rootModel.state
204
+ return agvlineLegendName && this.state.style[agvlineLegendName]
205
+ }
206
+ })
207
+
208
+ Object.defineProperty(RootContainer.prototype, 'ohtlineLegendTheme', {
209
+ get: function () {
210
+ const { ohtlineLegendName } = this.rootModel.state
211
+ return ohtlineLegendName && this.state.style[ohtlineLegendName]
212
+ }
213
+ })
214
+
215
+ Object.defineProperty(RootContainer.prototype, 'conveyorLegendTheme', {
216
+ get: function () {
217
+ const { conveyorLegendName } = this.rootModel.state
218
+ return conveyorLegendName && this.state.style[conveyorLegendName]
219
+ }
220
+ })
221
+
222
+ Object.defineProperty(RootContainer.prototype, 'stokerLegendTheme', {
223
+ get: function () {
224
+ const { stokerLegendName } = this.rootModel.state
225
+ return stokerLegendName && this.state.style[stokerLegendName]
226
+ }
227
+ })
228
+
229
+ Object.defineProperty(RootContainer.prototype, 'agvLegendTheme', {
230
+ get: function () {
231
+ const { agvLegendName } = this.rootModel.state
232
+ return agvLegendName && this.state.style[agvLegendName]
233
+ }
234
+ })
235
+
236
+ Object.defineProperty(RootContainer.prototype, 'ohtLegendTheme', {
237
+ get: function () {
238
+ const { ohtLegendName } = this.rootModel.state
239
+ return ohtLegendName && this.state.style[ohtLegendName]
240
+ }
241
+ })
242
+
243
+ Object.defineProperty(RootContainer.prototype, 'shuttleLegendTheme', {
244
+ get: function () {
245
+ const { shuttleLegendName } = this.rootModel.state
246
+ return shuttleLegendName && this.state.style[shuttleLegendName]
247
+ }
248
+ })
249
+
250
+ Object.defineProperty(RootContainer.prototype, 'craneLegendTheme', {
251
+ get: function () {
252
+ const { craneLegendName } = this.rootModel.state
253
+ return craneLegendName && this.state.style[craneLegendName]
254
+ }
255
+ })
256
+
257
+ Object.defineProperty(RootContainer.prototype, 'shelfLegendTheme', {
258
+ get: function () {
259
+ const { shelfLegendName } = this.rootModel.state
260
+ return shelfLegendName && this.state.style[shelfLegendName]
261
+ }
262
+ })
263
+
264
+ Object.defineProperty(RootContainer.prototype, 'portLegendTheme', {
265
+ get: function () {
266
+ const { portLegendName } = this.rootModel.state
267
+ return portLegendName && this.state.style[portLegendName]
268
+ }
269
+ })
270
+
271
+ Object.defineProperty(RootContainer.prototype, 'carrierLegendTheme', {
272
+ get: function () {
273
+ const { carrierLegendName } = this.rootModel.state
274
+ return carrierLegendName && this.state.style[carrierLegendName]
275
+ }
276
+ })
277
+
278
+ Object.defineProperty(RootContainer.prototype, 'carrierAnimationTheme', {
279
+ get: function () {
280
+ const { carrierAnimationName } = this.rootModel.state
281
+ return carrierAnimationName && this.state.style[carrierAnimationName]
282
+ }
283
+ })
284
+
285
+ Object.defineProperty(RootContainer.prototype, 'stockerCapacityLegendTheme', {
286
+ get: function () {
287
+ const { stockerCapacityLegendName } = this.rootModel.state
288
+ return stockerCapacityLegendName && this.state.style[stockerCapacityLegendName]
289
+ }
290
+ })
291
+
292
+ Object.defineProperty(RootContainer.prototype, 'zoneCapacityLegendTheme', {
293
+ get: function () {
294
+ const { zoneCapacityLegendName } = this.rootModel.state
295
+ return zoneCapacityLegendName && this.state.style[zoneCapacityLegendName]
296
+ }
297
+ })
package/src/shelf.ts CHANGED
@@ -18,6 +18,10 @@ export default class Shelf extends MCSZoneMixin(MCSCarrierHolder) {
18
18
  return 'black'
19
19
  }
20
20
 
21
+ getLegendFallback() {
22
+ return this.root.shelfLegendTheme || super.getLegendFallback()
23
+ }
24
+
21
25
  render(ctx: CanvasRenderingContext2D) {
22
26
  var { left, top, width, height } = this.bounds
23
27
 
package/src/shuttle.ts CHANGED
@@ -18,6 +18,10 @@ export default class Shuttle extends MCSVehicle {
18
18
  return 'black'
19
19
  }
20
20
 
21
+ getLegendFallback() {
22
+ return this.root.shuttleLegendTheme || super.getLegendFallback()
23
+ }
24
+
21
25
  render(ctx: CanvasRenderingContext2D) {
22
26
  var { left, top, width, height } = this.bounds
23
27
 
@@ -103,7 +103,7 @@ export default class StockerCapacityBar extends ParentObjectMixin(MCSStatusMixin
103
103
  const { legendName } = this.state
104
104
 
105
105
  if (legendName) {
106
- return (this.root as any)?.style?.[legendName]
106
+ return this.root?.style?.[legendName]
107
107
  }
108
108
  }
109
109
 
@@ -112,7 +112,7 @@ export default class StockerCapacityBar extends ParentObjectMixin(MCSStatusMixin
112
112
  }
113
113
 
114
114
  getLegendFallback() {
115
- return LEGEND_CAPACITY
115
+ return this.root.stockerCapacityLegendTheme || LEGEND_CAPACITY
116
116
  }
117
117
 
118
118
  get statusColor() {
package/src/stocker.ts CHANGED
@@ -32,6 +32,10 @@ export default class Stocker extends MCSTransport {
32
32
  return NATURE
33
33
  }
34
34
 
35
+ getLegendFallback() {
36
+ return this.root.stokerLegendTheme || super.getLegendFallback()
37
+ }
38
+
35
39
  containable(component: Component) {
36
40
  return (
37
41
  super.containable(component) ||
@@ -98,7 +98,7 @@ export default class ZoneCapacityBar extends MCSZoneMixin(MCSUnit) {
98
98
  }
99
99
 
100
100
  getLegendFallback() {
101
- return LEGEND_CAPACITY
101
+ return this.root.zoneCapacityLegendTheme || LEGEND_CAPACITY
102
102
  }
103
103
 
104
104
  get statusColor() {
@@ -28,5 +28,19 @@
28
28
  "label.carrier-state": "carrier state",
29
29
  "label.carrier-id": "carrier id",
30
30
  "label.lot-id": "lot id",
31
- "label.vehicle-id": "vehicle id"
31
+ "label.vehicle-id": "vehicle id",
32
+ "label.stocker-capacity-legend-name": "stocker capacity",
33
+ "label.zone-capacity-legend-name": "zone capacity",
34
+ "label.buffer-legend-name": "buffer",
35
+ "label.agvline-legend-name": "AGV line",
36
+ "label.ohtline-legend-name": "OHT line",
37
+ "label.conveyor-legend-name": "conveyor",
38
+ "label.stoker-legend-name": "stoker",
39
+ "label.port-legend-name": "port",
40
+ "label.agv-legend-name": "AGV",
41
+ "label.oht-legend-name": "OHT",
42
+ "label.shuttle-legend-name": "shuttle",
43
+ "label.crane-legend-name": "crane",
44
+ "label.shelf-legend-name": "shelf",
45
+ "label.equipment-legend-name": "equipment"
32
46
  }
@@ -28,5 +28,21 @@
28
28
  "label.carrier-state": "carrier state",
29
29
  "label.carrier-id": "carrier id",
30
30
  "label.lot-id": "lot id",
31
- "label.vehicle-id": "vehicle id"
31
+ "label.vehicle-id": "vehicle id",
32
+ "label.stocker-capacity-legend-name": "stocker capacity",
33
+ "label.zone-capacity-legend-name": "zone capacity",
34
+ "label.machine-legend-name": "machine",
35
+ "label.unit-legend-name": "unit",
36
+ "label.buffer-legend-name": "buffer",
37
+ "label.agvline-legend-name": "AGV line",
38
+ "label.ohtline-legend-name": "OHT line",
39
+ "label.conveyor-legend-name": "conveyor",
40
+ "label.stoker-legend-name": "stoker",
41
+ "label.port-legend-name": "port",
42
+ "label.agv-legend-name": "AGV",
43
+ "label.oht-legend-name": "OHT",
44
+ "label.shuttle-legend-name": "shuttle",
45
+ "label.crane-legend-name": "crane",
46
+ "label.shelf-legend-name": "shelf",
47
+ "label.equipment-legend-name": "equipment"
32
48
  }
@@ -20,14 +20,30 @@
20
20
  "label.type": "type",
21
21
  "label.inout-type": "inout type",
22
22
  "label.manual": "manual",
23
- "label.reserved": "reserver",
24
- "label.occupied": "occupied",
23
+ "label.reserved": "예약됨",
24
+ "label.occupied": "점유됨",
25
25
  "label.orientation": "방향",
26
26
  "label.label-position": "라벨 위치",
27
- "label.access-mode": "access mode",
28
- "label.carrier": "carrier",
29
- "label.carrier-state": "carrier state",
30
- "label.carrier-id": "carrier id",
31
- "label.lot-id": "lot id",
32
- "label.vehicle-id": "vehicle id"
27
+ "label.access-mode": "접근 모드",
28
+ "label.carrier": "캐리어",
29
+ "label.carrier-state": "캐리어 상태",
30
+ "label.carrier-id": "캐리어 ID",
31
+ "label.lot-id": "로트 ID",
32
+ "label.vehicle-id": "운송 차량 ID",
33
+ "label.stocker-capacity-legend-name": "스토커 용량",
34
+ "label.zone-capacity-legend-name": "존 용량",
35
+ "label.machine-legend-name": "머신",
36
+ "label.unit-legend-name": "유닛",
37
+ "label.buffer-legend-name": "버퍼",
38
+ "label.agvline-legend-name": "AGV 라인",
39
+ "label.ohtline-legend-name": "OHT 라인",
40
+ "label.conveyor-legend-name": "컨베이어",
41
+ "label.stoker-legend-name": "스토커",
42
+ "label.port-legend-name": "포트",
43
+ "label.agv-legend-name": "AGV",
44
+ "label.oht-legend-name": "OHT",
45
+ "label.shuttle-legend-name": "셔틀",
46
+ "label.crane-legend-name": "크레인",
47
+ "label.shelf-legend-name": "선반",
48
+ "label.equipment-legend-name": "장비"
33
49
  }
@@ -28,5 +28,21 @@
28
28
  "label.carrier-state": "carrier state",
29
29
  "label.carrier-id": "carrier id",
30
30
  "label.lot-id": "lot id",
31
- "label.vehicle-id": "vehicle id"
31
+ "label.vehicle-id": "vehicle id",
32
+ "label.stocker-capacity-legend-name": "stocker capacity",
33
+ "label.zone-capacity-legend-name": "zone capacity",
34
+ "label.machine-legend-name": "machine",
35
+ "label.unit-legend-name": "unit",
36
+ "label.buffer-legend-name": "buffer",
37
+ "label.agvline-legend-name": "AGV line",
38
+ "label.ohtline-legend-name": "OHT line",
39
+ "label.conveyor-legend-name": "conveyor",
40
+ "label.stoker-legend-name": "stoker",
41
+ "label.port-legend-name": "port",
42
+ "label.agv-legend-name": "AGV",
43
+ "label.oht-legend-name": "OHT",
44
+ "label.shuttle-legend-name": "shuttle",
45
+ "label.crane-legend-name": "crane",
46
+ "label.shelf-legend-name": "shelf",
47
+ "label.equipment-legend-name": "equipment"
32
48
  }
@@ -28,5 +28,21 @@
28
28
  "label.carrier-state": "carrier state",
29
29
  "label.carrier-id": "carrier id",
30
30
  "label.lot-id": "lot id",
31
- "label.vehicle-id": "vehicle id"
31
+ "label.vehicle-id": "vehicle id",
32
+ "label.stocker-capacity-legend-name": "stocker capacity",
33
+ "label.zone-capacity-legend-name": "zone capacity",
34
+ "label.machine-legend-name": "machine",
35
+ "label.unit-legend-name": "unit",
36
+ "label.buffer-legend-name": "buffer",
37
+ "label.agvline-legend-name": "agvline",
38
+ "label.ohtline-legend-name": "OHT line",
39
+ "label.conveyor-legend-name": "conveyor",
40
+ "label.stoker-legend-name": "stoker",
41
+ "label.port-legend-name": "port",
42
+ "label.agv-legend-name": "AGV",
43
+ "label.oht-legend-name": "OHT",
44
+ "label.shuttle-legend-name": "shuttle",
45
+ "label.crane-legend-name": "crane",
46
+ "label.shelf-legend-name": "shelf",
47
+ "label.equipment-legend-name": "equipment"
32
48
  }