@wandelbots/wandelbots-js-react-components 1.11.1 → 1.11.2

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 (228) hide show
  1. package/dist/index.cjs +25 -25
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.js +2536 -2510
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/Setup.d.ts.map +1 -0
  6. package/dist/src/components/3d-viewport/CoordinateSystemTransform.d.ts.map +1 -0
  7. package/dist/src/components/3d-viewport/PresetEnvironment.d.ts.map +1 -0
  8. package/dist/src/components/3d-viewport/SafetyZonesRenderer.d.ts.map +1 -0
  9. package/dist/src/components/ConsoleFilter.d.ts.map +1 -0
  10. package/dist/src/components/CopyableText.d.ts.map +1 -0
  11. package/dist/src/components/LoadingButton.d.ts.map +1 -0
  12. package/dist/src/components/LoadingCover.d.ts.map +1 -0
  13. package/dist/src/components/ThemeSelect.d.ts.map +1 -0
  14. package/dist/src/components/VelocitySlider.d.ts.map +1 -0
  15. package/dist/src/components/jogging/JoggingCartesianAxisControl.d.ts.map +1 -0
  16. package/dist/src/components/jogging/JoggingCartesianTab.d.ts.map +1 -0
  17. package/dist/src/components/jogging/JoggingCartesianValues.d.ts.map +1 -0
  18. package/dist/src/components/jogging/JoggingFreedriveTab.d.ts.map +1 -0
  19. package/dist/src/components/jogging/JoggingJointLimitDetector.d.ts.map +1 -0
  20. package/dist/src/components/jogging/JoggingJointRotationControl.d.ts.map +1 -0
  21. package/dist/src/components/jogging/JoggingJointTab.d.ts.map +1 -0
  22. package/dist/src/components/jogging/JoggingJointValues.d.ts.map +1 -0
  23. package/dist/src/components/jogging/JoggingOptions.d.ts.map +1 -0
  24. package/dist/{components → src/components}/jogging/JoggingPanel.d.ts +8 -5
  25. package/dist/src/components/jogging/JoggingPanel.d.ts.map +1 -0
  26. package/dist/src/components/jogging/JoggingStore.d.ts.map +1 -0
  27. package/dist/src/components/jogging/JoggingVelocitySlider.d.ts.map +1 -0
  28. package/dist/src/components/modal/NoMotionGroupModal.d.ts.map +1 -0
  29. package/dist/src/components/robots/ABB_1200_07_7.d.ts.map +1 -0
  30. package/dist/src/components/robots/AxisConfig.d.ts.map +1 -0
  31. package/dist/src/components/robots/DHRobot.d.ts.map +1 -0
  32. package/dist/src/components/robots/FANUC_ARC_Mate_100iD.d.ts.map +1 -0
  33. package/dist/src/components/robots/FANUC_ARC_Mate_120iD.d.ts.map +1 -0
  34. package/dist/src/components/robots/FANUC_CRX10iA.d.ts.map +1 -0
  35. package/dist/src/components/robots/FANUC_CRX20iAL.d.ts.map +1 -0
  36. package/dist/src/components/robots/FANUC_CRX25iA.d.ts.map +1 -0
  37. package/dist/src/components/robots/FANUC_CRX25iAL.d.ts.map +1 -0
  38. package/dist/src/components/robots/KUKA_KR210_R2700.d.ts.map +1 -0
  39. package/dist/src/components/robots/KUKA_KR270_R2700.d.ts.map +1 -0
  40. package/dist/src/components/robots/Robot.d.ts.map +1 -0
  41. package/dist/src/components/robots/RobotAnimator.d.ts.map +1 -0
  42. package/dist/{components → src/components}/robots/SupportedRobot.d.ts +1 -1
  43. package/dist/src/components/robots/SupportedRobot.d.ts.map +1 -0
  44. package/dist/src/components/robots/UniversalRobots_UR10.d.ts.map +1 -0
  45. package/dist/src/components/robots/UniversalRobots_UR10e.d.ts.map +1 -0
  46. package/dist/src/components/robots/UniversalRobots_UR3.d.ts.map +1 -0
  47. package/dist/src/components/robots/UniversalRobots_UR3e.d.ts.map +1 -0
  48. package/dist/src/components/robots/UniversalRobots_UR5.d.ts.map +1 -0
  49. package/dist/src/components/robots/UniversalRobots_UR5e.d.ts.map +1 -0
  50. package/dist/src/components/robots/Yaskawa_AR1440.d.ts.map +1 -0
  51. package/dist/src/components/robots/Yaskawa_AR1730.d.ts.map +1 -0
  52. package/dist/src/components/robots/Yaskawa_AR2010.d.ts.map +1 -0
  53. package/dist/src/components/robots/Yaskawa_AR3120.d.ts.map +1 -0
  54. package/dist/src/components/robots/Yaskawa_AR900.d.ts.map +1 -0
  55. package/dist/src/components/utils/converters.d.ts.map +1 -0
  56. package/dist/src/components/utils/errorHandling.d.ts.map +1 -0
  57. package/dist/src/components/utils/hooks.d.ts.map +1 -0
  58. package/dist/src/components/utils/robotTreeQuery.d.ts.map +1 -0
  59. package/dist/src/components/wandelscript-editor/WandelscriptEditor.d.ts.map +1 -0
  60. package/dist/src/components/wandelscript-editor/wandelscript.tmLanguage.d.ts.map +1 -0
  61. package/dist/src/externalizeComponent.d.ts +7 -0
  62. package/dist/src/externalizeComponent.d.ts.map +1 -0
  63. package/dist/src/i18n/config.d.ts.map +1 -0
  64. package/dist/src/icons/index.d.ts.map +1 -0
  65. package/dist/src/index.d.ts +14 -0
  66. package/dist/src/index.d.ts.map +1 -0
  67. package/dist/src/themes/color.d.ts.map +1 -0
  68. package/dist/src/themes/theming.d.ts.map +1 -0
  69. package/dist/{components/jogging → stories}/JoggingCartesianAxisControl.stories.d.ts +1 -1
  70. package/dist/stories/JoggingCartesianAxisControl.stories.d.ts.map +1 -0
  71. package/dist/{components/jogging → stories}/JoggingJointRotationControl.stories.d.ts +1 -1
  72. package/dist/stories/JoggingJointRotationControl.stories.d.ts.map +1 -0
  73. package/dist/{components/jogging → stories}/JoggingPanel.stories.d.ts +1 -1
  74. package/dist/stories/JoggingPanel.stories.d.ts.map +1 -0
  75. package/dist/{components → stories}/LoadingButton.stories.d.ts +1 -1
  76. package/dist/stories/LoadingButton.stories.d.ts.map +1 -0
  77. package/dist/{components/robots → stories}/SupportedRobot.stories.d.ts +2 -2
  78. package/dist/stories/SupportedRobot.stories.d.ts.map +1 -0
  79. package/dist/{components → stories}/VelocitySlider.stories.d.ts +1 -1
  80. package/dist/stories/VelocitySlider.stories.d.ts.map +1 -0
  81. package/dist/{components/wandelscript-editor → stories}/WandelscriptEditor.stories.d.ts +1 -1
  82. package/dist/stories/WandelscriptEditor.stories.d.ts.map +1 -0
  83. package/dist/stories/novaTheme.stories.d.ts.map +1 -0
  84. package/package.json +5 -6
  85. package/src/components/VelocitySlider.tsx +1 -1
  86. package/src/components/jogging/JoggingCartesianAxisControl.tsx +98 -95
  87. package/src/components/jogging/JoggingJointRotationControl.tsx +182 -177
  88. package/src/components/jogging/JoggingPanel.tsx +106 -90
  89. package/src/components/modal/NoMotionGroupModal.tsx +70 -62
  90. package/src/components/robots/SupportedRobot.tsx +191 -188
  91. package/src/components/wandelscript-editor/WandelscriptEditor.tsx +98 -100
  92. package/src/externalizeComponent.tsx +8 -6
  93. package/src/index.ts +10 -42
  94. package/dist/Setup.d.ts.map +0 -1
  95. package/dist/components/3d-viewport/CoordinateSystemTransform.d.ts.map +0 -1
  96. package/dist/components/3d-viewport/PresetEnvironment.d.ts.map +0 -1
  97. package/dist/components/3d-viewport/SafetyZonesRenderer.d.ts.map +0 -1
  98. package/dist/components/ConsoleFilter.d.ts.map +0 -1
  99. package/dist/components/CopyableText.d.ts.map +0 -1
  100. package/dist/components/LoadingButton.d.ts.map +0 -1
  101. package/dist/components/LoadingButton.stories.d.ts.map +0 -1
  102. package/dist/components/LoadingCover.d.ts.map +0 -1
  103. package/dist/components/ThemeSelect.d.ts.map +0 -1
  104. package/dist/components/VelocitySlider.d.ts.map +0 -1
  105. package/dist/components/VelocitySlider.stories.d.ts.map +0 -1
  106. package/dist/components/jogging/JoggingCartesianAxisControl.d.ts.map +0 -1
  107. package/dist/components/jogging/JoggingCartesianAxisControl.stories.d.ts.map +0 -1
  108. package/dist/components/jogging/JoggingCartesianTab.d.ts.map +0 -1
  109. package/dist/components/jogging/JoggingCartesianValues.d.ts.map +0 -1
  110. package/dist/components/jogging/JoggingFreedriveTab.d.ts.map +0 -1
  111. package/dist/components/jogging/JoggingJointLimitDetector.d.ts.map +0 -1
  112. package/dist/components/jogging/JoggingJointRotationControl.d.ts.map +0 -1
  113. package/dist/components/jogging/JoggingJointRotationControl.stories.d.ts.map +0 -1
  114. package/dist/components/jogging/JoggingJointTab.d.ts.map +0 -1
  115. package/dist/components/jogging/JoggingJointValues.d.ts.map +0 -1
  116. package/dist/components/jogging/JoggingOptions.d.ts.map +0 -1
  117. package/dist/components/jogging/JoggingPanel.d.ts.map +0 -1
  118. package/dist/components/jogging/JoggingPanel.stories.d.ts.map +0 -1
  119. package/dist/components/jogging/JoggingStore.d.ts.map +0 -1
  120. package/dist/components/jogging/JoggingVelocitySlider.d.ts.map +0 -1
  121. package/dist/components/modal/NoMotionGroupModal.d.ts.map +0 -1
  122. package/dist/components/robots/ABB_1200_07_7.d.ts.map +0 -1
  123. package/dist/components/robots/AxisConfig.d.ts.map +0 -1
  124. package/dist/components/robots/DHRobot.d.ts.map +0 -1
  125. package/dist/components/robots/FANUC_ARC_Mate_100iD.d.ts.map +0 -1
  126. package/dist/components/robots/FANUC_ARC_Mate_120iD.d.ts.map +0 -1
  127. package/dist/components/robots/FANUC_CRX10iA.d.ts.map +0 -1
  128. package/dist/components/robots/FANUC_CRX20iAL.d.ts.map +0 -1
  129. package/dist/components/robots/FANUC_CRX25iA.d.ts.map +0 -1
  130. package/dist/components/robots/FANUC_CRX25iAL.d.ts.map +0 -1
  131. package/dist/components/robots/KUKA_KR210_R2700.d.ts.map +0 -1
  132. package/dist/components/robots/KUKA_KR270_R2700.d.ts.map +0 -1
  133. package/dist/components/robots/Robot.d.ts.map +0 -1
  134. package/dist/components/robots/RobotAnimator.d.ts.map +0 -1
  135. package/dist/components/robots/SupportedRobot.d.ts.map +0 -1
  136. package/dist/components/robots/SupportedRobot.stories.d.ts.map +0 -1
  137. package/dist/components/robots/UniversalRobots_UR10.d.ts.map +0 -1
  138. package/dist/components/robots/UniversalRobots_UR10e.d.ts.map +0 -1
  139. package/dist/components/robots/UniversalRobots_UR3.d.ts.map +0 -1
  140. package/dist/components/robots/UniversalRobots_UR3e.d.ts.map +0 -1
  141. package/dist/components/robots/UniversalRobots_UR5.d.ts.map +0 -1
  142. package/dist/components/robots/UniversalRobots_UR5e.d.ts.map +0 -1
  143. package/dist/components/robots/Yaskawa_AR1440.d.ts.map +0 -1
  144. package/dist/components/robots/Yaskawa_AR1730.d.ts.map +0 -1
  145. package/dist/components/robots/Yaskawa_AR2010.d.ts.map +0 -1
  146. package/dist/components/robots/Yaskawa_AR3120.d.ts.map +0 -1
  147. package/dist/components/robots/Yaskawa_AR900.d.ts.map +0 -1
  148. package/dist/components/utils/converters.d.ts.map +0 -1
  149. package/dist/components/utils/errorHandling.d.ts.map +0 -1
  150. package/dist/components/utils/hooks.d.ts.map +0 -1
  151. package/dist/components/utils/robotTreeQuery.d.ts.map +0 -1
  152. package/dist/components/wandelscript-editor/WandelscriptEditor.d.ts.map +0 -1
  153. package/dist/components/wandelscript-editor/WandelscriptEditor.stories.d.ts.map +0 -1
  154. package/dist/components/wandelscript-editor/wandelscript.tmLanguage.d.ts.map +0 -1
  155. package/dist/externalizeComponent.d.ts +0 -7
  156. package/dist/externalizeComponent.d.ts.map +0 -1
  157. package/dist/i18n/config.d.ts.map +0 -1
  158. package/dist/icons/index.d.ts.map +0 -1
  159. package/dist/index.d.ts +0 -54
  160. package/dist/index.d.ts.map +0 -1
  161. package/dist/themes/color.d.ts.map +0 -1
  162. package/dist/themes/novaTheme.stories.d.ts.map +0 -1
  163. package/dist/themes/theming.d.ts.map +0 -1
  164. package/src/components/LoadingButton.stories.tsx +0 -54
  165. package/src/components/VelocitySlider.stories.tsx +0 -27
  166. package/src/components/jogging/JoggingCartesianAxisControl.stories.tsx +0 -41
  167. package/src/components/jogging/JoggingJointRotationControl.stories.tsx +0 -50
  168. package/src/components/jogging/JoggingPanel.stories.tsx +0 -29
  169. package/src/components/robots/SupportedRobot.stories.tsx +0 -130
  170. package/src/components/wandelscript-editor/WandelscriptEditor.stories.tsx +0 -45
  171. package/src/themes/novaTheme.stories.tsx +0 -77
  172. /package/dist/{Setup.d.ts → src/Setup.d.ts} +0 -0
  173. /package/dist/{components → src/components}/3d-viewport/CoordinateSystemTransform.d.ts +0 -0
  174. /package/dist/{components → src/components}/3d-viewport/PresetEnvironment.d.ts +0 -0
  175. /package/dist/{components → src/components}/3d-viewport/SafetyZonesRenderer.d.ts +0 -0
  176. /package/dist/{components → src/components}/ConsoleFilter.d.ts +0 -0
  177. /package/dist/{components → src/components}/CopyableText.d.ts +0 -0
  178. /package/dist/{components → src/components}/LoadingButton.d.ts +0 -0
  179. /package/dist/{components → src/components}/LoadingCover.d.ts +0 -0
  180. /package/dist/{components → src/components}/ThemeSelect.d.ts +0 -0
  181. /package/dist/{components → src/components}/VelocitySlider.d.ts +0 -0
  182. /package/dist/{components → src/components}/jogging/JoggingCartesianAxisControl.d.ts +0 -0
  183. /package/dist/{components → src/components}/jogging/JoggingCartesianTab.d.ts +0 -0
  184. /package/dist/{components → src/components}/jogging/JoggingCartesianValues.d.ts +0 -0
  185. /package/dist/{components → src/components}/jogging/JoggingFreedriveTab.d.ts +0 -0
  186. /package/dist/{components → src/components}/jogging/JoggingJointLimitDetector.d.ts +0 -0
  187. /package/dist/{components → src/components}/jogging/JoggingJointRotationControl.d.ts +0 -0
  188. /package/dist/{components → src/components}/jogging/JoggingJointTab.d.ts +0 -0
  189. /package/dist/{components → src/components}/jogging/JoggingJointValues.d.ts +0 -0
  190. /package/dist/{components → src/components}/jogging/JoggingOptions.d.ts +0 -0
  191. /package/dist/{components → src/components}/jogging/JoggingStore.d.ts +0 -0
  192. /package/dist/{components → src/components}/jogging/JoggingVelocitySlider.d.ts +0 -0
  193. /package/dist/{components → src/components}/modal/NoMotionGroupModal.d.ts +0 -0
  194. /package/dist/{components → src/components}/robots/ABB_1200_07_7.d.ts +0 -0
  195. /package/dist/{components → src/components}/robots/AxisConfig.d.ts +0 -0
  196. /package/dist/{components → src/components}/robots/DHRobot.d.ts +0 -0
  197. /package/dist/{components → src/components}/robots/FANUC_ARC_Mate_100iD.d.ts +0 -0
  198. /package/dist/{components → src/components}/robots/FANUC_ARC_Mate_120iD.d.ts +0 -0
  199. /package/dist/{components → src/components}/robots/FANUC_CRX10iA.d.ts +0 -0
  200. /package/dist/{components → src/components}/robots/FANUC_CRX20iAL.d.ts +0 -0
  201. /package/dist/{components → src/components}/robots/FANUC_CRX25iA.d.ts +0 -0
  202. /package/dist/{components → src/components}/robots/FANUC_CRX25iAL.d.ts +0 -0
  203. /package/dist/{components → src/components}/robots/KUKA_KR210_R2700.d.ts +0 -0
  204. /package/dist/{components → src/components}/robots/KUKA_KR270_R2700.d.ts +0 -0
  205. /package/dist/{components → src/components}/robots/Robot.d.ts +0 -0
  206. /package/dist/{components → src/components}/robots/RobotAnimator.d.ts +0 -0
  207. /package/dist/{components → src/components}/robots/UniversalRobots_UR10.d.ts +0 -0
  208. /package/dist/{components → src/components}/robots/UniversalRobots_UR10e.d.ts +0 -0
  209. /package/dist/{components → src/components}/robots/UniversalRobots_UR3.d.ts +0 -0
  210. /package/dist/{components → src/components}/robots/UniversalRobots_UR3e.d.ts +0 -0
  211. /package/dist/{components → src/components}/robots/UniversalRobots_UR5.d.ts +0 -0
  212. /package/dist/{components → src/components}/robots/UniversalRobots_UR5e.d.ts +0 -0
  213. /package/dist/{components → src/components}/robots/Yaskawa_AR1440.d.ts +0 -0
  214. /package/dist/{components → src/components}/robots/Yaskawa_AR1730.d.ts +0 -0
  215. /package/dist/{components → src/components}/robots/Yaskawa_AR2010.d.ts +0 -0
  216. /package/dist/{components → src/components}/robots/Yaskawa_AR3120.d.ts +0 -0
  217. /package/dist/{components → src/components}/robots/Yaskawa_AR900.d.ts +0 -0
  218. /package/dist/{components → src/components}/utils/converters.d.ts +0 -0
  219. /package/dist/{components → src/components}/utils/errorHandling.d.ts +0 -0
  220. /package/dist/{components → src/components}/utils/hooks.d.ts +0 -0
  221. /package/dist/{components → src/components}/utils/robotTreeQuery.d.ts +0 -0
  222. /package/dist/{components → src/components}/wandelscript-editor/WandelscriptEditor.d.ts +0 -0
  223. /package/dist/{components → src/components}/wandelscript-editor/wandelscript.tmLanguage.d.ts +0 -0
  224. /package/dist/{i18n → src/i18n}/config.d.ts +0 -0
  225. /package/dist/{icons → src/icons}/index.d.ts +0 -0
  226. /package/dist/{themes → src/themes}/color.d.ts +0 -0
  227. /package/dist/{themes → src/themes}/theming.d.ts +0 -0
  228. /package/dist/{themes → stories}/novaTheme.stories.d.ts +0 -0
@@ -6,122 +6,138 @@ import { JoggingJointTab } from "./JoggingJointTab"
6
6
  import { JoggingStore } from "./JoggingStore"
7
7
  import { LoadingCover } from "../LoadingCover"
8
8
  import { runInAction } from "mobx"
9
- import type { NovaClient } from "@wandelbots/wandelbots-js"
9
+ import { NovaClient } from "@wandelbots/wandelbots-js"
10
+ import { externalizeComponent } from "../../externalizeComponent"
10
11
 
11
12
  export type JoggingPanelProps = {
12
- /** Connection to a Nova instance to use for jogging */
13
- nova: NovaClient
14
- /** Id of the motion group to move e.g. 0@ur5e **/
13
+ /** Either an existing NovaClient or the base url of a deployed Nova instance */
14
+ nova: NovaClient | string
15
+ /** Id of the motion group to move e.g. 0@ur5e */
15
16
  motionGroupId: string
16
17
  /** Callback with the jogging panel's state store for further customization/config */
17
18
  onSetup?: (store: JoggingStore) => void
18
- /** Any children will go at the bottom of the panel under the default components */
19
+ /** Any children will go at the bottom of the panel under the default contents */
19
20
  children?: React.ReactNode
20
21
  }
21
22
 
22
- export const JoggingPanel = observer((props: JoggingPanelProps) => {
23
- const { nova } = props
23
+ /**
24
+ * A high-level, opinionated UI panel for jogging a robot using the Wandelbots Platform API
25
+ */
26
+ export const JoggingPanel = externalizeComponent(
27
+ observer((props: JoggingPanelProps) => {
28
+ const nova =
29
+ props.nova instanceof NovaClient
30
+ ? props.nova
31
+ : new NovaClient({ instanceUrl: props.nova })
24
32
 
25
- const state = useLocalObservable(() => ({
26
- joggingStore: null as JoggingStore | null,
27
- loadingError: null as unknown | null,
28
- }))
33
+ const state = useLocalObservable(() => ({
34
+ joggingStore: null as JoggingStore | null,
35
+ loadingError: null as unknown | null,
36
+ }))
29
37
 
30
- async function init() {
31
- try {
32
- const jogger = await nova.connectJogger(props.motionGroupId)
33
- const joggingStore = await JoggingStore.loadFor(jogger)
38
+ async function init() {
34
39
  runInAction(() => {
35
- state.joggingStore = joggingStore
40
+ state.loadingError = null
41
+ state.joggingStore = null
36
42
  })
37
- if (props.onSetup) {
38
- props.onSetup(joggingStore)
43
+
44
+ try {
45
+ const jogger = await nova.connectJogger(props.motionGroupId)
46
+ const joggingStore = await JoggingStore.loadFor(jogger)
47
+ runInAction(() => {
48
+ state.joggingStore = joggingStore
49
+ })
50
+ if (props.onSetup) {
51
+ props.onSetup(joggingStore)
52
+ }
53
+ } catch (err) {
54
+ state.loadingError = err
39
55
  }
40
- } catch (err) {
41
- state.loadingError = err
42
56
  }
43
- }
44
57
 
45
- useEffect(() => {
46
- init()
47
- return () => {
48
- state.joggingStore?.dispose()
49
- }
50
- }, [])
58
+ useEffect(() => {
59
+ init()
60
+ return () => {
61
+ state.joggingStore?.dispose()
62
+ }
63
+ }, [props.nova])
51
64
 
52
- // Set correct jogging mode on jogger based on user selections
53
- useEffect(() => {
54
- if (!state.joggingStore) return
65
+ // Set correct jogging mode on jogger based on user selections
66
+ useEffect(() => {
67
+ if (!state.joggingStore) return
55
68
 
56
- const {
57
- currentTab,
58
- selectedTcpId,
59
- activeCoordSystemId,
60
- selectedDiscreteIncrement,
61
- } = state.joggingStore
69
+ const {
70
+ currentTab,
71
+ selectedTcpId,
72
+ activeCoordSystemId,
73
+ selectedDiscreteIncrement,
74
+ } = state.joggingStore
62
75
 
63
- if (currentTab.id !== "cartesian" && currentTab.id !== "joint") return
76
+ if (currentTab.id !== "cartesian" && currentTab.id !== "joint") return
64
77
 
65
- const cartesianJoggingOpts = {
66
- tcpId: selectedTcpId,
67
- coordSystemId: activeCoordSystemId,
68
- }
78
+ const cartesianJoggingOpts = {
79
+ tcpId: selectedTcpId,
80
+ coordSystemId: activeCoordSystemId,
81
+ }
69
82
 
70
- if (selectedDiscreteIncrement && currentTab.id === "cartesian") {
71
- state.joggingStore.jogger.setJoggingMode(
72
- "increment",
73
- cartesianJoggingOpts,
74
- )
75
- } else {
76
- state.joggingStore.jogger.setJoggingMode(
77
- currentTab.id,
78
- cartesianJoggingOpts,
83
+ if (selectedDiscreteIncrement && currentTab.id === "cartesian") {
84
+ state.joggingStore.jogger.setJoggingMode(
85
+ "increment",
86
+ cartesianJoggingOpts,
87
+ )
88
+ } else {
89
+ state.joggingStore.jogger.setJoggingMode(
90
+ currentTab.id,
91
+ cartesianJoggingOpts,
92
+ )
93
+ }
94
+ }, [
95
+ state.joggingStore?.currentTab,
96
+ state.joggingStore?.selectedTcpId,
97
+ state.joggingStore?.activeCoordSystemId,
98
+ state.joggingStore?.selectedDiscreteIncrement,
99
+ ])
100
+
101
+ if (!state.joggingStore || state.loadingError) {
102
+ return (
103
+ <JoggingPanelOuter>
104
+ <LoadingCover message="Loading jogging" error={state.loadingError} />
105
+ </JoggingPanelOuter>
79
106
  )
80
107
  }
81
- }, [
82
- state.joggingStore?.currentTab,
83
- state.joggingStore?.selectedTcpId,
84
- state.joggingStore?.activeCoordSystemId,
85
- state.joggingStore?.selectedDiscreteIncrement,
86
- ])
87
-
88
- if (!state.joggingStore) {
89
- return (
90
- <JoggingPanelOuter>
91
- <LoadingCover message="Loading jogging" error={state.loadingError} />
92
- </JoggingPanelOuter>
93
- )
94
- }
95
108
 
96
- const { joggingStore: store } = state
109
+ const { joggingStore: store } = state
97
110
 
98
- return (
99
- <JoggingPanelOuter>
100
- <Stack flexGrow={1}>
101
- {/* Tab selection */}
102
- <Tabs value={store.tabIndex} onChange={store.onTabChange}>
103
- {store.tabs.map((tab) => (
104
- <Tab
105
- key={tab.id}
106
- label={tab.label}
107
- id={`jogging-tab-${tab.id}`}
108
- aria-controls={`jogging-tab-${tab.id}`}
109
- />
110
- ))}
111
- </Tabs>
112
-
113
- {/* Current tab content */}
111
+ return (
112
+ <JoggingPanelOuter>
114
113
  <Stack flexGrow={1}>
115
- {store.currentTab.id === "cartesian" && (
116
- <JoggingCartesianTab store={store} />
117
- )}
118
- {store.currentTab.id === "joint" && <JoggingJointTab store={store} />}
119
- {props.children}
114
+ {/* Tab selection */}
115
+ <Tabs value={store.tabIndex} onChange={store.onTabChange}>
116
+ {store.tabs.map((tab) => (
117
+ <Tab
118
+ key={tab.id}
119
+ label={tab.label}
120
+ id={`jogging-tab-${tab.id}`}
121
+ aria-controls={`jogging-tab-${tab.id}`}
122
+ />
123
+ ))}
124
+ </Tabs>
125
+
126
+ {/* Current tab content */}
127
+ <Stack flexGrow={1}>
128
+ {store.currentTab.id === "cartesian" && (
129
+ <JoggingCartesianTab store={store} />
130
+ )}
131
+ {store.currentTab.id === "joint" && (
132
+ <JoggingJointTab store={store} />
133
+ )}
134
+ {props.children}
135
+ </Stack>
120
136
  </Stack>
121
- </Stack>
122
- </JoggingPanelOuter>
123
- )
124
- })
137
+ </JoggingPanelOuter>
138
+ )
139
+ }),
140
+ )
125
141
 
126
142
  function JoggingPanelOuter({ children }: { children: React.ReactNode }) {
127
143
  return (
@@ -8,6 +8,7 @@ import {
8
8
  Typography,
9
9
  } from "@mui/material"
10
10
  import { observer } from "mobx-react-lite"
11
+ import { externalizeComponent } from "../../externalizeComponent"
11
12
 
12
13
  function getBaseUrl(): string {
13
14
  const currentUrl = window.location.href
@@ -17,70 +18,77 @@ function getBaseUrl(): string {
17
18
  )
18
19
  }
19
20
 
20
- export const NoMotionGroupModal = observer((baseUrl: string = getBaseUrl()) => {
21
- return (
22
- <Dialog
23
- aria-labelledby="no-motion-group-modal-title"
24
- open={true}
25
- fullWidth
26
- sx={{
27
- "& .MuiModal-backdrop": {
28
- backdropFilter: "blur(10px)",
29
- },
30
- "& .MuiDialog-paper": {
31
- "::before": {
32
- content: '""',
33
- height: "8px",
34
- width: "100%",
35
- background: "linear-gradient(90deg, #FF0E65 0%, #47D3FF 100%)",
36
- },
37
- background: "#101629",
38
- },
39
- }}
40
- >
41
- <DialogTitle id="no-motion-group-modal-title">
42
- No motion group found
43
- </DialogTitle>
44
-
45
- <DialogContent
21
+ export const NoMotionGroupModal = externalizeComponent(
22
+ observer((baseUrl: string = getBaseUrl()) => {
23
+ return (
24
+ <Dialog
25
+ aria-labelledby="no-motion-group-modal-title"
26
+ open={true}
27
+ fullWidth
46
28
  sx={{
47
- marginTop: "3rem",
48
- marginBottom: "1.5rem",
49
- textAlign: "center",
29
+ "& .MuiModal-backdrop": {
30
+ backdropFilter: "blur(10px)",
31
+ },
32
+ "& .MuiDialog-paper": {
33
+ "::before": {
34
+ content: '""',
35
+ height: "8px",
36
+ width: "100%",
37
+ background: "linear-gradient(90deg, #FF0E65 0%, #47D3FF 100%)",
38
+ },
39
+ background: "#101629",
40
+ },
50
41
  }}
51
42
  >
52
- <Typography color="#fff">Found no devices to connect to.</Typography>
53
- <Typography color="#fff">
54
- Please ensure a motion group has been created.
55
- </Typography>
56
- </DialogContent>
43
+ <DialogTitle id="no-motion-group-modal-title">
44
+ No motion group found
45
+ </DialogTitle>
57
46
 
58
- <DialogActions>
59
- <Stack width="100%" maxWidth="300px" margin="auto" marginBottom="2rem">
60
- <Button
61
- href={`${baseUrl}/settings`}
62
- variant="contained"
63
- sx={{
64
- borderRadius: "8px",
65
- width: "100%",
66
- }}
67
- >
68
- Go to settings app
69
- </Button>
70
- <Button
71
- href={`${baseUrl}`}
72
- variant="text"
73
- sx={{
74
- marginTop: "1rem",
75
- color: "#fff",
76
- textDecoration: "underline",
77
- fontSize: "0.75rem",
78
- }}
47
+ <DialogContent
48
+ sx={{
49
+ marginTop: "3rem",
50
+ marginBottom: "1.5rem",
51
+ textAlign: "center",
52
+ }}
53
+ >
54
+ <Typography color="#fff">Found no devices to connect to.</Typography>
55
+ <Typography color="#fff">
56
+ Please ensure a motion group has been created.
57
+ </Typography>
58
+ </DialogContent>
59
+
60
+ <DialogActions>
61
+ <Stack
62
+ width="100%"
63
+ maxWidth="300px"
64
+ margin="auto"
65
+ marginBottom="2rem"
79
66
  >
80
- Back to Homescreen
81
- </Button>
82
- </Stack>
83
- </DialogActions>
84
- </Dialog>
85
- )
86
- })
67
+ <Button
68
+ href={`${baseUrl}/settings`}
69
+ variant="contained"
70
+ sx={{
71
+ borderRadius: "8px",
72
+ width: "100%",
73
+ }}
74
+ >
75
+ Go to settings app
76
+ </Button>
77
+ <Button
78
+ href={`${baseUrl}`}
79
+ variant="text"
80
+ sx={{
81
+ marginTop: "1rem",
82
+ color: "#fff",
83
+ textDecoration: "underline",
84
+ fontSize: "0.75rem",
85
+ }}
86
+ >
87
+ Back to Homescreen
88
+ </Button>
89
+ </Stack>
90
+ </DialogActions>
91
+ </Dialog>
92
+ )
93
+ }),
94
+ )