@wandelbots/wandelbots-js-react-components 2.16.3 → 2.17.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"createDarkTheme.d.ts","sourceRoot":"","sources":["../../src/themes/createDarkTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,eAAe,CAAA;AAEjE,wBAAgB,eAAe,IAAI,KAAK,CAsRvC"}
1
+ {"version":3,"file":"createDarkTheme.d.ts","sourceRoot":"","sources":["../../src/themes/createDarkTheme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,KAAK,EAAE,MAAM,eAAe,CAAA;AAEjE,wBAAgB,eAAe,IAAI,KAAK,CA2RvC"}
@@ -34,6 +34,11 @@ interface NovaComponentsExtension {
34
34
  Z?: AxisControlComponentColors;
35
35
  };
36
36
  };
37
+ JoggingJoint?: {
38
+ Joint?: {
39
+ arrowColor?: string;
40
+ };
41
+ };
37
42
  WandelscriptEditor?: {
38
43
  monacoTheme: editor.IStandaloneThemeData;
39
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"themeTypes.d.ts","sourceRoot":"","sources":["../../src/themes/themeTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"themeTypes.d.ts","sourceRoot":"","sources":["../../src/themes/themeTypes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wandelbots/wandelbots-js-react-components",
3
- "version": "2.16.3",
3
+ "version": "2.17.0",
4
4
  "description": "React UI toolkit for building applications on top of the Wandelbots platform",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -137,6 +137,7 @@ export const JoggingJointRotationControl = externalizeComponent(
137
137
  <ChevronLeft
138
138
  sx={{
139
139
  pointerEvents: "none",
140
+ color: theme.componentsExt?.JoggingJoint?.Joint?.arrowColor,
140
141
  }}
141
142
  />
142
143
  </IconButton>
@@ -232,6 +233,7 @@ export const JoggingJointRotationControl = externalizeComponent(
232
233
  <ChevronRight
233
234
  sx={{
234
235
  pointerEvents: "none",
236
+ color: theme.componentsExt?.JoggingJoint?.Joint?.arrowColor,
235
237
  }}
236
238
  />
237
239
  </IconButton>
@@ -30,97 +30,117 @@ export const JoggingOptions = observer(({ store }: { store: JoggingStore }) => {
30
30
  display: "grid",
31
31
  gap: "16px",
32
32
  gridTemplateColumns: "1fr 1fr",
33
- gridTemplateRows: "min-height min-height",
33
+ gridAutoRows: "min-content",
34
34
  "& label": { opacity: 0.7, fontSize: "12px", marginBottom: "4px" },
35
35
  }}
36
36
  >
37
37
  {/* Coordinate system */}
38
- <AdornedSelect
39
- labelId="jogging-coord-select"
40
- labelValue={t("Jogging.CoordinateSystem.hlb")}
41
- value={store.selectedCoordSystemId}
42
- size="small"
43
- variant="filled"
44
- displayEmpty={true}
45
- onChange={(event) => {
46
- store.setSelectedCoordSystemId(event.target.value as string)
47
- }}
48
- disabled={store.isLocked}
49
- >
50
- {store.coordSystems.map((cs) => (
51
- <MenuItem key={cs.coordinate_system} value={cs.coordinate_system}>
52
- {/* Distinguish coordinate systems with the same name */}
53
- {cs.name && store.coordSystemCountByName[cs.name] > 1
54
- ? `${cs.name} / ${cs.coordinate_system}`
55
- : cs.name || cs.coordinate_system}
56
- </MenuItem>
57
- ))}
58
- </AdornedSelect>
38
+ {store.showCoordSystemSelect && (
39
+ <Box sx={{ gridColumn: store.showTcpSelect ? "auto" : "span 2" }}>
40
+ <AdornedSelect
41
+ labelId="jogging-coord-select"
42
+ labelValue={t("Jogging.CoordinateSystem.hlb")}
43
+ value={store.selectedCoordSystemId}
44
+ size="small"
45
+ variant="filled"
46
+ displayEmpty={true}
47
+ onChange={(event) =>
48
+ store.setSelectedCoordSystemId(event.target.value as string)
49
+ }
50
+ disabled={store.isLocked}
51
+ >
52
+ {store.coordSystems.map((cs) => (
53
+ <MenuItem key={cs.coordinate_system} value={cs.coordinate_system}>
54
+ {cs.name && store.coordSystemCountByName[cs.name] > 1
55
+ ? `${cs.name} / ${cs.coordinate_system}`
56
+ : cs.name || cs.coordinate_system}
57
+ </MenuItem>
58
+ ))}
59
+ </AdornedSelect>
60
+ </Box>
61
+ )}
59
62
 
60
63
  {/* TCP selection */}
61
-
62
- <AdornedSelect
63
- labelId="jogging-tcp-select"
64
- labelValue="TCP"
65
- value={store.selectedTcpId}
66
- size="small"
67
- variant="filled"
68
- onChange={(event) => {
69
- store.setSelectedTcpId(event.target.value as string)
70
- }}
71
- disabled={store.isLocked}
72
- >
73
- {store.tcps.map((tcp) => (
74
- <MenuItem key={tcp.id} value={tcp.id}>
75
- {tcp.id}
76
- </MenuItem>
77
- ))}
78
- </AdornedSelect>
64
+ {store.showTcpSelect && (
65
+ <Box
66
+ sx={{ gridColumn: store.showCoordSystemSelect ? "auto" : "span 2" }}
67
+ >
68
+ <AdornedSelect
69
+ labelId="jogging-tcp-select"
70
+ labelValue="TCP"
71
+ value={store.selectedTcpId}
72
+ size="small"
73
+ variant="filled"
74
+ onChange={(event) =>
75
+ store.setSelectedTcpId(event.target.value as string)
76
+ }
77
+ disabled={store.isLocked}
78
+ >
79
+ {store.tcps.map((tcp) => (
80
+ <MenuItem key={tcp.id} value={tcp.id}>
81
+ {tcp.id}
82
+ </MenuItem>
83
+ ))}
84
+ </AdornedSelect>
85
+ </Box>
86
+ )}
79
87
 
80
88
  {/* Orientation */}
81
- <AdornedSelect
82
- labelValue={t("Jogging.Cartesian.Orientation.lb")}
83
- id="orientation-select"
84
- labelId="orientation-select"
85
- value={store.selectedOrientation}
86
- onChange={(event) => {
87
- store.setSelectedOrientation(event.target.value as OrientationId)
88
- }}
89
- disabled={store.isLocked}
90
- >
91
- {ORIENTATION_IDS.map((orientationId) => (
92
- <MenuItem key={orientationId} value={orientationId}>
93
- {translateOrientation(orientationId)}
94
- </MenuItem>
95
- ))}
96
- </AdornedSelect>
97
-
98
- {/* Increment selection */}
99
- <AdornedSelect
100
- labelValue={t("Jogging.Increment.hlb")}
101
- labelId="jogging-increment-select"
102
- size="small"
103
- variant="filled"
104
- value={store.activeDiscreteIncrement?.id || "continuous"}
105
- onChange={(event) => {
106
- store.setSelectedIncrementId(event.target.value as IncrementOptionId)
107
- }}
108
- disabled={store.isLocked}
109
- >
110
- <MenuItem key="continuous" value="continuous">
111
- {t("Jogging.Increment.Continuous.dd")}
112
- </MenuItem>
113
-
114
- {store.selectedOrientation === "tool"
115
- ? null
116
- : store.discreteIncrementOptions.map((inc) => (
117
- <MenuItem key={inc.id} value={inc.id}>
118
- {store.currentMotionType === "translate"
119
- ? `${inc.mm}mm`
120
- : `${inc.degrees}°`}
89
+ {store.showOrientationSelect && (
90
+ <Box sx={{ gridColumn: store.showIncrementSelect ? "auto" : "span 2" }}>
91
+ <AdornedSelect
92
+ labelValue={t("Jogging.Cartesian.Orientation.lb")}
93
+ id="orientation-select"
94
+ labelId="orientation-select"
95
+ value={store.selectedOrientation}
96
+ onChange={(event) =>
97
+ store.setSelectedOrientation(event.target.value as OrientationId)
98
+ }
99
+ disabled={store.isLocked}
100
+ >
101
+ {ORIENTATION_IDS.map((orientationId) => (
102
+ <MenuItem key={orientationId} value={orientationId}>
103
+ {translateOrientation(orientationId)}
121
104
  </MenuItem>
122
105
  ))}
123
- </AdornedSelect>
106
+ </AdornedSelect>
107
+ </Box>
108
+ )}
109
+
110
+ {/* Increment */}
111
+ {store.showIncrementSelect && (
112
+ <Box
113
+ sx={{ gridColumn: store.showOrientationSelect ? "auto" : "span 2" }}
114
+ >
115
+ <AdornedSelect
116
+ labelValue={t("Jogging.Increment.hlb")}
117
+ labelId="jogging-increment-select"
118
+ size="small"
119
+ variant="filled"
120
+ value={store.activeDiscreteIncrement?.id || "continuous"}
121
+ onChange={(event) =>
122
+ store.setSelectedIncrementId(
123
+ event.target.value as IncrementOptionId,
124
+ )
125
+ }
126
+ disabled={store.isLocked}
127
+ >
128
+ <MenuItem key="continuous" value="continuous">
129
+ {t("Jogging.Increment.Continuous.dd")}
130
+ </MenuItem>
131
+
132
+ {store.selectedOrientation === "tool"
133
+ ? null
134
+ : store.discreteIncrementOptions.map((inc) => (
135
+ <MenuItem key={inc.id} value={inc.id}>
136
+ {store.currentMotionType === "translate"
137
+ ? `${inc.mm}mm`
138
+ : `${inc.degrees}°`}
139
+ </MenuItem>
140
+ ))}
141
+ </AdornedSelect>
142
+ </Box>
143
+ )}
124
144
  </Box>
125
145
  )
126
146
  })
@@ -104,6 +104,18 @@ export class JoggingStore {
104
104
  /** Maximum rotation velocity user can choose on the velocity slider in °/s */
105
105
  maxRotationVelocityDegPerSec: number = 60
106
106
 
107
+ /** Whether to show the coordinate system select dropdown in the UI */
108
+ showCoordSystemSelect: boolean = true
109
+
110
+ /** Whether to show the TCP select dropdown in the UI */
111
+ showTcpSelect: boolean = true
112
+
113
+ /** Whether to show the orientation select dropdown in the UI */
114
+ showOrientationSelect: boolean = true
115
+
116
+ /** Whether to show the increment select dropdown in the UI */
117
+ showIncrementSelect: boolean = true
118
+
107
119
  disposers: IReactionDisposer[] = []
108
120
 
109
121
  /**
@@ -255,6 +255,11 @@ export function createDarkTheme(): Theme {
255
255
  },
256
256
  },
257
257
  },
258
+ JoggingJoint: {
259
+ Joint: {
260
+ arrowColor: baseTheme.palette.text.primary,
261
+ },
262
+ },
258
263
  WandelscriptEditor: {
259
264
  monacoTheme: {
260
265
  base: "vs-dark",
@@ -35,7 +35,12 @@ interface NovaComponentsExtension {
35
35
  X?: AxisControlComponentColors
36
36
  Y?: AxisControlComponentColors
37
37
  Z?: AxisControlComponentColors
38
- },
38
+ }
39
+ }
40
+ JoggingJoint?: {
41
+ Joint?: {
42
+ arrowColor?: string
43
+ }
39
44
  }
40
45
  WandelscriptEditor?: {
41
46
  monacoTheme: editor.IStandaloneThemeData