@vived/app 4.27.0 → 4.28.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.
Files changed (219) hide show
  1. package/lib/Components/Callouts/UC/LookAtCameraUC.js +1 -1
  2. package/lib/Components/Camera/PM/CameraPM.d.ts +1 -0
  3. package/lib/Components/Camera/PM/CameraPM.js +8 -1
  4. package/lib/Components/Camera/index.d.ts +2 -0
  5. package/lib/Components/Camera/index.js +2 -0
  6. package/lib/Components/Challenge/Adapters/challengeAuthorHelpHookAdapter.d.ts +2 -2
  7. package/lib/Components/Challenge/Adapters/challengeConsumerHelpHookAdapter.d.ts +2 -2
  8. package/lib/Components/Challenge/Adapters/selectedChallengeHookAdapter.d.ts +2 -2
  9. package/lib/Components/Challenge/Adapters/selectedChallengeHookAdapter.js +20 -26
  10. package/lib/Components/Challenge/Controller/setChallenge.d.ts +1 -1
  11. package/lib/Components/Challenge/Entities/ChallengeEntity.d.ts +19 -26
  12. package/lib/Components/Challenge/Entities/ChallengeEntity.js +43 -53
  13. package/lib/Components/Challenge/Mocks/MockSelectedChallengePM.d.ts +2 -2
  14. package/lib/Components/Challenge/Mocks/MockSetChallengeUC.d.ts +2 -2
  15. package/lib/Components/Challenge/Mocks/index.d.ts +2 -0
  16. package/lib/Components/Challenge/Mocks/index.js +2 -0
  17. package/lib/Components/Challenge/PMs/ChallengeAuthorHelpPM.d.ts +1 -1
  18. package/lib/Components/Challenge/PMs/ChallengeAuthorHelpPM.js +6 -7
  19. package/lib/Components/Challenge/PMs/ChallengeConsumerHelpPM.d.ts +1 -1
  20. package/lib/Components/Challenge/PMs/ChallengeConsumerHelpPM.js +13 -16
  21. package/lib/Components/Challenge/PMs/SelectedChallengePM.d.ts +7 -6
  22. package/lib/Components/Challenge/PMs/SelectedChallengePM.js +14 -11
  23. package/lib/Components/Challenge/UCs/SerializeChallenge.d.ts +1 -1
  24. package/lib/Components/Challenge/UCs/SerializeChallenge.js +3 -7
  25. package/lib/Components/Challenge/UCs/SetChallengeUC.d.ts +4 -4
  26. package/lib/Components/Challenge/UCs/SetChallengeUC.js +23 -9
  27. package/lib/Components/Challenge/UCs/ShowChallengeHelpUC.d.ts +1 -1
  28. package/lib/Components/Challenge/UCs/ShowChallengeHelpUC.js +2 -2
  29. package/lib/Components/Challenge/UCs/TryChallengeAgainUC.d.ts +2 -1
  30. package/lib/Components/Challenge/UCs/TryChallengeAgainUC.js +25 -1
  31. package/lib/Components/Challenge/UCs/index.d.ts +0 -1
  32. package/lib/Components/Challenge/UCs/index.js +0 -1
  33. package/lib/Components/ChannelModel/Adapters/channelModelAdapter.js +2 -0
  34. package/lib/Components/ChannelModel/Adapters/index.d.ts +2 -0
  35. package/lib/Components/ChannelModel/Adapters/index.js +2 -0
  36. package/lib/Components/ChannelModel/Controllers/index.d.ts +1 -0
  37. package/lib/Components/ChannelModel/Controllers/index.js +1 -0
  38. package/lib/Components/ChannelModel/Mocks/ValidateChannelModelMock.d.ts +8 -0
  39. package/lib/Components/ChannelModel/Mocks/ValidateChannelModelMock.js +15 -0
  40. package/lib/Components/ChannelModel/Mocks/ValidateObjectPickUcMock.d.ts +8 -0
  41. package/lib/Components/ChannelModel/Mocks/ValidateObjectPickUcMock.js +15 -0
  42. package/lib/Components/ChannelModel/Mocks/index.d.ts +4 -0
  43. package/lib/Components/ChannelModel/Mocks/index.js +4 -0
  44. package/lib/Components/ChannelModel/PMs/index.d.ts +2 -0
  45. package/lib/Components/ChannelModel/PMs/index.js +2 -0
  46. package/lib/Components/ChannelModel/UC/ValidateChannelModel.d.ts +8 -0
  47. package/lib/Components/ChannelModel/UC/ValidateChannelModel.js +48 -0
  48. package/lib/Components/ChannelModel/UC/index.d.ts +3 -0
  49. package/lib/Components/ChannelModel/UC/index.js +3 -0
  50. package/lib/Components/Dispatcher/UC/DispatchStateChangeUC.js +1 -1
  51. package/lib/Components/Hideable/Adapters/isHiddenAdapter.js +2 -0
  52. package/lib/Components/Hideable/UCs/SerializeHideableObjects.d.ts +2 -2
  53. package/lib/Components/Hideable/UCs/SerializeHideableObjects.js +9 -9
  54. package/lib/Components/Hideable/UCs/index.d.ts +1 -0
  55. package/lib/Components/Hideable/UCs/index.js +1 -0
  56. package/lib/Components/Label/Adapters/labelAdapter.js +2 -0
  57. package/lib/Components/LabelDrop/Adapters/index.d.ts +6 -0
  58. package/lib/Components/LabelDrop/Adapters/index.js +18 -0
  59. package/lib/Components/LabelDrop/Adapters/labelDropDragItemAdapter.d.ts +3 -0
  60. package/lib/Components/LabelDrop/Adapters/labelDropDragItemAdapter.js +19 -0
  61. package/lib/Components/LabelDrop/Adapters/labelDropEditingIdAdapter.d.ts +3 -0
  62. package/lib/Components/LabelDrop/Adapters/labelDropEditingIdAdapter.js +19 -0
  63. package/lib/Components/LabelDrop/Adapters/labelDropListAdapter.d.ts +3 -0
  64. package/lib/Components/LabelDrop/Adapters/labelDropListAdapter.js +19 -0
  65. package/lib/Components/LabelDrop/Adapters/labelDropReviewAdapter.d.ts +3 -0
  66. package/lib/Components/LabelDrop/Adapters/labelDropReviewAdapter.js +19 -0
  67. package/lib/Components/LabelDrop/Adapters/labelDropTargetsAdapter.d.ts +3 -0
  68. package/lib/Components/LabelDrop/Adapters/labelDropTargetsAdapter.js +23 -0
  69. package/lib/Components/LabelDrop/Adapters/remainingLabelDropListAdapter.d.ts +3 -0
  70. package/lib/Components/LabelDrop/Adapters/remainingLabelDropListAdapter.js +19 -0
  71. package/lib/Components/LabelDrop/Controller/MouseLabelDropAuthor.d.ts +7 -0
  72. package/lib/Components/LabelDrop/Controller/MouseLabelDropAuthor.js +31 -0
  73. package/lib/Components/LabelDrop/Controller/StylusLabelDrop.d.ts +9 -0
  74. package/lib/Components/LabelDrop/Controller/StylusLabelDrop.js +61 -0
  75. package/lib/Components/LabelDrop/Controller/TouchLabelDropAuthor.d.ts +7 -0
  76. package/lib/Components/LabelDrop/Controller/TouchLabelDropAuthor.js +31 -0
  77. package/lib/Components/LabelDrop/Controller/addNewLabelDropAnswer.d.ts +2 -0
  78. package/lib/Components/LabelDrop/Controller/addNewLabelDropAnswer.js +13 -0
  79. package/lib/Components/LabelDrop/Controller/deleteAllLabelDropAnswers.d.ts +2 -0
  80. package/lib/Components/LabelDrop/Controller/deleteAllLabelDropAnswers.js +13 -0
  81. package/lib/Components/LabelDrop/Controller/deleteLabelDropAnswer.d.ts +2 -0
  82. package/lib/Components/LabelDrop/Controller/deleteLabelDropAnswer.js +13 -0
  83. package/lib/Components/LabelDrop/Controller/discardEditLabelDropAnswer.d.ts +2 -0
  84. package/lib/Components/LabelDrop/Controller/discardEditLabelDropAnswer.js +19 -0
  85. package/lib/Components/LabelDrop/Controller/dragLabelDropAnswerItemScreen.d.ts +2 -0
  86. package/lib/Components/LabelDrop/Controller/dragLabelDropAnswerItemScreen.js +14 -0
  87. package/lib/Components/LabelDrop/Controller/editLabelDropAnswerItem.d.ts +2 -0
  88. package/lib/Components/LabelDrop/Controller/editLabelDropAnswerItem.js +13 -0
  89. package/lib/Components/LabelDrop/Controller/index.d.ts +15 -0
  90. package/lib/Components/LabelDrop/Controller/index.js +27 -0
  91. package/lib/Components/LabelDrop/Controller/initializeDragLabelDropAnswerItem.d.ts +2 -0
  92. package/lib/Components/LabelDrop/Controller/initializeDragLabelDropAnswerItem.js +14 -0
  93. package/lib/Components/LabelDrop/Controller/initializeDragLabelDropAnswerItemWorld.d.ts +2 -0
  94. package/lib/Components/LabelDrop/Controller/initializeDragLabelDropAnswerItemWorld.js +19 -0
  95. package/lib/Components/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.d.ts +2 -0
  96. package/lib/Components/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js +28 -0
  97. package/lib/Components/LabelDrop/Controller/releaseLabelDropAnswerItemWorld.d.ts +2 -0
  98. package/lib/Components/LabelDrop/Controller/releaseLabelDropAnswerItemWorld.js +19 -0
  99. package/lib/Components/LabelDrop/Controller/saveEditLabelDropAnswer.d.ts +2 -0
  100. package/lib/Components/LabelDrop/Controller/saveEditLabelDropAnswer.js +13 -0
  101. package/lib/Components/LabelDrop/Controller/toggleLabelDropItemTarget.d.ts +2 -0
  102. package/lib/Components/LabelDrop/Controller/toggleLabelDropItemTarget.js +13 -0
  103. package/lib/Components/LabelDrop/Entities/LabelDropItemEntity.d.ts +33 -0
  104. package/lib/Components/LabelDrop/Entities/LabelDropItemEntity.js +88 -0
  105. package/lib/Components/LabelDrop/Entities/LabelDropRepo.d.ts +51 -0
  106. package/lib/Components/LabelDrop/Entities/LabelDropRepo.js +193 -0
  107. package/lib/Components/LabelDrop/Entities/index.d.ts +2 -0
  108. package/lib/Components/LabelDrop/Entities/index.js +14 -0
  109. package/lib/Components/LabelDrop/Mocks/DeleteLabelDropUcMock.d.ts +8 -0
  110. package/lib/Components/LabelDrop/Mocks/DeleteLabelDropUcMock.js +15 -0
  111. package/lib/Components/LabelDrop/Mocks/EditLabelDropUcMock.d.ts +10 -0
  112. package/lib/Components/LabelDrop/Mocks/EditLabelDropUcMock.js +17 -0
  113. package/lib/Components/LabelDrop/Mocks/LabelDropAnswerItemDetailsPmMock.d.ts +7 -0
  114. package/lib/Components/LabelDrop/Mocks/LabelDropAnswerItemDetailsPmMock.js +11 -0
  115. package/lib/Components/LabelDrop/Mocks/LabelDropDragItemPmMock.d.ts +8 -0
  116. package/lib/Components/LabelDrop/Mocks/LabelDropDragItemPmMock.js +15 -0
  117. package/lib/Components/LabelDrop/Mocks/LabelDropEditingIdPmMock.d.ts +8 -0
  118. package/lib/Components/LabelDrop/Mocks/LabelDropEditingIdPmMock.js +15 -0
  119. package/lib/Components/LabelDrop/Mocks/LabelDropListPmMock.d.ts +8 -0
  120. package/lib/Components/LabelDrop/Mocks/LabelDropListPmMock.js +15 -0
  121. package/lib/Components/LabelDrop/Mocks/LabelDropReviewPmMock.d.ts +8 -0
  122. package/lib/Components/LabelDrop/Mocks/LabelDropReviewPmMock.js +15 -0
  123. package/lib/Components/LabelDrop/Mocks/MockCorrectAnimation.d.ts +12 -0
  124. package/lib/Components/LabelDrop/Mocks/MockCorrectAnimation.js +19 -0
  125. package/lib/Components/LabelDrop/Mocks/MockDragLabelDropUC.d.ts +12 -0
  126. package/lib/Components/LabelDrop/Mocks/MockDragLabelDropUC.js +19 -0
  127. package/lib/Components/LabelDrop/Mocks/MockDragLabelDropWorldUC.d.ts +13 -0
  128. package/lib/Components/LabelDrop/Mocks/MockDragLabelDropWorldUC.js +20 -0
  129. package/lib/Components/LabelDrop/Mocks/MockDropAnimation.d.ts +15 -0
  130. package/lib/Components/LabelDrop/Mocks/MockDropAnimation.js +22 -0
  131. package/lib/Components/LabelDrop/Mocks/MockIncorrectAnimation.d.ts +14 -0
  132. package/lib/Components/LabelDrop/Mocks/MockIncorrectAnimation.js +21 -0
  133. package/lib/Components/LabelDrop/Mocks/RemainingLabelDropListPmMock.d.ts +8 -0
  134. package/lib/Components/LabelDrop/Mocks/RemainingLabelDropListPmMock.js +15 -0
  135. package/lib/Components/LabelDrop/Mocks/ToggleLabelDropTargetUcMock.d.ts +10 -0
  136. package/lib/Components/LabelDrop/Mocks/ToggleLabelDropTargetUcMock.js +17 -0
  137. package/lib/Components/LabelDrop/Mocks/ValidateLabelDropUc.d.ts +8 -0
  138. package/lib/Components/LabelDrop/Mocks/ValidateLabelDropUc.js +15 -0
  139. package/lib/Components/LabelDrop/Mocks/index.d.ts +15 -0
  140. package/lib/Components/LabelDrop/Mocks/index.js +27 -0
  141. package/lib/Components/LabelDrop/PM/LabelDropDragItemPM.d.ts +18 -0
  142. package/lib/Components/LabelDrop/PM/LabelDropDragItemPM.js +84 -0
  143. package/lib/Components/LabelDrop/PM/LabelDropEditingIDPM.d.ts +11 -0
  144. package/lib/Components/LabelDrop/PM/LabelDropEditingIDPM.js +46 -0
  145. package/lib/Components/LabelDrop/PM/LabelDropListPM.d.ts +11 -0
  146. package/lib/Components/LabelDrop/PM/LabelDropListPM.js +56 -0
  147. package/lib/Components/LabelDrop/PM/LabelDropReviewPM.d.ts +11 -0
  148. package/lib/Components/LabelDrop/PM/LabelDropReviewPM.js +57 -0
  149. package/lib/Components/LabelDrop/PM/LabelDropTargetsPM.d.ts +11 -0
  150. package/lib/Components/LabelDrop/PM/LabelDropTargetsPM.js +55 -0
  151. package/lib/Components/LabelDrop/PM/RemainingLabelDropListPM.d.ts +10 -0
  152. package/lib/Components/LabelDrop/PM/RemainingLabelDropListPM.js +56 -0
  153. package/lib/Components/LabelDrop/PM/index.d.ts +6 -0
  154. package/lib/Components/LabelDrop/PM/index.js +18 -0
  155. package/lib/Components/LabelDrop/UseCases/CorrectAnimationUC.d.ts +12 -0
  156. package/lib/Components/LabelDrop/UseCases/CorrectAnimationUC.js +72 -0
  157. package/lib/Components/LabelDrop/UseCases/DeleteAllLabelDropUC.d.ts +7 -0
  158. package/lib/Components/LabelDrop/UseCases/DeleteAllLabelDropUC.js +62 -0
  159. package/lib/Components/LabelDrop/UseCases/DeleteLabelDropUC.d.ts +7 -0
  160. package/lib/Components/LabelDrop/UseCases/DeleteLabelDropUC.js +61 -0
  161. package/lib/Components/LabelDrop/UseCases/DragLabelDropUC.d.ts +11 -0
  162. package/lib/Components/LabelDrop/UseCases/DragLabelDropUC.js +171 -0
  163. package/lib/Components/LabelDrop/UseCases/DragLabelDropWorldUC.d.ts +11 -0
  164. package/lib/Components/LabelDrop/UseCases/DragLabelDropWorldUC.js +181 -0
  165. package/lib/Components/LabelDrop/UseCases/DropOnNothingAnimationUC.d.ts +13 -0
  166. package/lib/Components/LabelDrop/UseCases/DropOnNothingAnimationUC.js +84 -0
  167. package/lib/Components/LabelDrop/UseCases/EditLabelDropUC.d.ts +9 -0
  168. package/lib/Components/LabelDrop/UseCases/EditLabelDropUC.js +149 -0
  169. package/lib/Components/LabelDrop/UseCases/IncorrectAnimationUC.d.ts +14 -0
  170. package/lib/Components/LabelDrop/UseCases/IncorrectAnimationUC.js +86 -0
  171. package/lib/Components/LabelDrop/UseCases/InitializeLabelDropLabelHook.d.ts +7 -0
  172. package/lib/Components/LabelDrop/UseCases/InitializeLabelDropLabelHook.js +36 -0
  173. package/lib/Components/LabelDrop/UseCases/LabelDropAnimation.d.ts +5 -0
  174. package/lib/Components/LabelDrop/UseCases/LabelDropAnimation.js +2 -0
  175. package/lib/Components/LabelDrop/UseCases/SerializeLabelDrop.d.ts +21 -0
  176. package/lib/Components/LabelDrop/UseCases/SerializeLabelDrop.js +69 -0
  177. package/lib/Components/LabelDrop/UseCases/ToggleLabelDropTargetUC.d.ts +10 -0
  178. package/lib/Components/LabelDrop/UseCases/ToggleLabelDropTargetUC.js +66 -0
  179. package/lib/Components/LabelDrop/UseCases/ValidateLabelDrop.d.ts +9 -0
  180. package/lib/Components/LabelDrop/UseCases/ValidateLabelDrop.js +59 -0
  181. package/lib/Components/LabelDrop/UseCases/index.d.ts +14 -0
  182. package/lib/Components/LabelDrop/UseCases/index.js +26 -0
  183. package/lib/Components/LabelDrop/UseCases/labelDropLabelValidator.d.ts +1 -0
  184. package/lib/Components/LabelDrop/UseCases/labelDropLabelValidator.js +16 -0
  185. package/lib/Components/LabelDrop/index.d.ts +6 -0
  186. package/lib/Components/LabelDrop/index.js +18 -0
  187. package/lib/Components/Question/Entities/QuestionEntity.d.ts +7 -1
  188. package/lib/Components/Question/Entities/QuestionEntity.js +8 -0
  189. package/lib/Components/Question/Mocks/MockValidateQuestion.d.ts +1 -1
  190. package/lib/Components/Question/Mocks/MockValidateQuestion.js +3 -3
  191. package/lib/Components/Question/Mocks/index.d.ts +2 -0
  192. package/lib/Components/Question/Mocks/index.js +14 -0
  193. package/lib/Components/Question/PM/QuestionChallengePM.js +2 -2
  194. package/lib/Components/Question/UC/SubmitQuestionAnswerUC.js +2 -2
  195. package/lib/Components/Question/UC/ValidateQuestionChallengeStateUC.js +2 -2
  196. package/lib/Components/Question/index.d.ts +1 -0
  197. package/lib/Components/Question/index.js +1 -0
  198. package/lib/Components/RequestHandler/UC/SetAppStateUC.js +1 -1
  199. package/lib/Components/RequestHandler/UC/SetIsAuthoringUC.js +2 -2
  200. package/lib/Components/RequestHandler/UC/StartAppUC.js +2 -2
  201. package/lib/Components/RequestHandler/UC/StopAppUC.js +2 -2
  202. package/lib/Components/Transform3D/Controllers/Mouse/index.d.ts +1 -0
  203. package/lib/Components/Transform3D/Controllers/Mouse/index.js +1 -0
  204. package/lib/Components/Transform3D/Controllers/Touch/index.d.ts +1 -0
  205. package/lib/Components/Transform3D/Controllers/Touch/index.js +1 -0
  206. package/lib/Components/Transform3D/Mocks/MockPanTransformUC.d.ts +1 -0
  207. package/lib/Components/Transform3D/Mocks/MockPanTransformUC.js +1 -0
  208. package/lib/Components/Transform3D/Mocks/index.d.ts +1 -0
  209. package/lib/Components/Transform3D/Mocks/index.js +1 -0
  210. package/lib/Components/Transform3D/UC/PanTransformUC.d.ts +3 -1
  211. package/lib/Components/Transform3D/UC/PanTransformUC.js +24 -6
  212. package/lib/Components/Transform3D/UC/StylusMoveTransformUC.js +10 -10
  213. package/lib/Components/Transform3D/UC/index.d.ts +1 -0
  214. package/lib/Components/Transform3D/UC/index.js +1 -0
  215. package/lib/Components/index.d.ts +4 -1
  216. package/lib/Components/index.js +4 -1
  217. package/lib/ValueObjects/Quaternion.d.ts +1 -0
  218. package/lib/ValueObjects/Quaternion.js +11 -0
  219. package/package.json +1 -1
@@ -91,7 +91,7 @@ class LookAtCameraUCIMP extends LookAtCameraUC {
91
91
  const kd = 5;
92
92
  const pEffect = kp * error;
93
93
  const dEffect = kd * (deltaError / 10);
94
- let deltaAng = pEffect + dEffect;
94
+ const deltaAng = pEffect + dEffect;
95
95
  let slerpPercent = deltaAng / error;
96
96
  if (slerpPercent > 1) {
97
97
  slerpPercent = 1;
@@ -7,6 +7,7 @@ export interface CameraVM {
7
7
  farClip: number;
8
8
  fov: Angle;
9
9
  }
10
+ export declare const defaultCameraVM: CameraVM;
10
11
  export declare abstract class CameraPM extends AppObjectPM<CameraVM> {
11
12
  static readonly type = "CameraPM";
12
13
  static get: (appObjects: AppObjectRepo) => CameraPM | undefined;
@@ -1,9 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeCameraPM = exports.CameraPM = void 0;
3
+ exports.makeCameraPM = exports.CameraPM = exports.defaultCameraVM = void 0;
4
4
  const AppObject_1 = require("../../../AppObject");
5
5
  const ValueObjects_1 = require("../../../ValueObjects");
6
6
  const CameraEntity_1 = require("../Entities/CameraEntity");
7
+ exports.defaultCameraVM = {
8
+ farClip: 0,
9
+ fov: ValueObjects_1.Angle.FromDegrees(60),
10
+ nearClip: 0,
11
+ position: ValueObjects_1.Vector3.Zero(),
12
+ target: ValueObjects_1.Vector3.One()
13
+ };
7
14
  class CameraPM extends AppObject_1.AppObjectPM {
8
15
  }
9
16
  exports.CameraPM = CameraPM;
@@ -1,2 +1,4 @@
1
+ export * from "./Adapters";
1
2
  export * from "./Entities";
3
+ export * from "./Mocks";
2
4
  export * from "./PM";
@@ -10,5 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./Adapters"), exports);
13
14
  __exportStar(require("./Entities"), exports);
15
+ __exportStar(require("./Mocks"), exports);
14
16
  __exportStar(require("./PM"), exports);
@@ -1,3 +1,3 @@
1
- import { ReactHookPmAdapter } from "../../../Types/ReactHookPmAdapter";
1
+ import { SingletonPmAdapter } from "../../../Types";
2
2
  import { ChallengeAuthorHelpVM } from "../PMs/ChallengeAuthorHelpPM";
3
- export declare const challengeAuthorHelpHookAdapter: ReactHookPmAdapter<ChallengeAuthorHelpVM>;
3
+ export declare const challengeAuthorHelpHookAdapter: SingletonPmAdapter<ChallengeAuthorHelpVM>;
@@ -1,3 +1,3 @@
1
- import { ReactHookPmAdapter } from "../../../Types/ReactHookPmAdapter";
1
+ import { SingletonPmAdapter } from "../../../Types";
2
2
  import { ChallengeConsumerHelpVM } from "../PMs/ChallengeConsumerHelpPM";
3
- export declare const challengeConsumerHelpHookAdapter: ReactHookPmAdapter<ChallengeConsumerHelpVM>;
3
+ export declare const challengeConsumerHelpHookAdapter: SingletonPmAdapter<ChallengeConsumerHelpVM>;
@@ -1,3 +1,3 @@
1
- import { ReactHookPmAdapter } from "../../../Types/ReactHookPmAdapter";
1
+ import { SingletonPmAdapter } from "../../../Types";
2
2
  import { SelectedChallengeVM } from "../PMs/SelectedChallengePM";
3
- export declare function makeSelectedChallengeHookAdapter<CT>(): ReactHookPmAdapter<SelectedChallengeVM<CT>>;
3
+ export declare const selectedChallengeHookAdapter: SingletonPmAdapter<SelectedChallengeVM>;
@@ -1,29 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeSelectedChallengeHookAdapter = void 0;
3
+ exports.selectedChallengeHookAdapter = void 0;
4
4
  const SelectedChallengePM_1 = require("../PMs/SelectedChallengePM");
5
- function makeSelectedChallengeHookAdapter() {
6
- return {
7
- defaultVM: {
8
- challenge: undefined,
9
- options: [],
10
- },
11
- subscribe: (appObjects, setVM) => {
12
- const pm = SelectedChallengePM_1.SelectedChallengePM.get(appObjects);
13
- if (!pm) {
14
- appObjects.submitError("inspectorTabAdapter", "Unable to find InspectorTabPM");
15
- return;
16
- }
17
- pm.addView(setVM);
18
- },
19
- unsubscribe: (appObjects, setVM) => {
20
- const pm = SelectedChallengePM_1.SelectedChallengePM.get(appObjects);
21
- if (!pm) {
22
- appObjects.submitError("inspectorTabAdapter", "Unable to find InspectorTabPM");
23
- return;
24
- }
25
- pm.removeView(setVM);
26
- },
27
- };
28
- }
29
- exports.makeSelectedChallengeHookAdapter = makeSelectedChallengeHookAdapter;
5
+ exports.selectedChallengeHookAdapter = {
6
+ defaultVM: SelectedChallengePM_1.defaultSelectedChallengeVM,
7
+ subscribe: (appObjects, setVM) => {
8
+ const pm = SelectedChallengePM_1.SelectedChallengePM.get(appObjects);
9
+ if (!pm) {
10
+ appObjects.submitError("inspectorTabAdapter", "Unable to find InspectorTabPM");
11
+ return;
12
+ }
13
+ pm.addView(setVM);
14
+ },
15
+ unsubscribe: (appObjects, setVM) => {
16
+ const pm = SelectedChallengePM_1.SelectedChallengePM.get(appObjects);
17
+ if (!pm) {
18
+ appObjects.submitError("inspectorTabAdapter", "Unable to find InspectorTabPM");
19
+ return;
20
+ }
21
+ pm.removeView(setVM);
22
+ },
23
+ };
@@ -1,2 +1,2 @@
1
1
  import { AppObjectRepo } from "../../../AppObject";
2
- export declare function setChallenge<CT>(challenge: CT, appObjects: AppObjectRepo): void;
2
+ export declare function setChallenge(challenge: string, appObjects: AppObjectRepo): void;
@@ -1,30 +1,23 @@
1
1
  import { AppObject, AppObjectEntity, AppObjectRepo } from "../../../AppObject";
2
- export declare abstract class ChallengeEntity<CT> extends AppObjectEntity {
2
+ export interface Challenge {
3
+ challengeID: string;
4
+ name: string;
5
+ helpHeading: string;
6
+ consumerHelpText: string;
7
+ authorHelpText: string;
8
+ reset: () => void;
9
+ }
10
+ export declare abstract class ChallengeEntity extends AppObjectEntity {
3
11
  static type: string;
4
- abstract readonly defaultChallenge: CT;
5
- abstract get selectedChallenge(): CT;
6
- abstract set selectedChallenge(val: CT);
12
+ abstract registerChallenge(challenge: Challenge): void;
13
+ abstract get selectedChallenge(): string;
14
+ abstract set selectedChallenge(id: string);
15
+ abstract get allChallenges(): Challenge[];
16
+ abstract get selectedChallengeHeading(): string;
7
17
  abstract get selectedChallengeName(): string;
8
- abstract get allChallengeNames(): Map<CT, string>;
9
- abstract setChallengeNames(list: {
10
- value: CT;
11
- label: string;
12
- }[]): void;
13
- abstract get helpHeading(): string;
14
- abstract setHelpHeading(list: {
15
- value: CT;
16
- label: string;
17
- }[]): void;
18
- abstract get helpText(): string;
19
- abstract setHelpText(list: {
20
- value: CT;
21
- label: string;
22
- }[]): void;
23
- abstract get authorHelp(): string;
24
- abstract setAuthorHelp(list: {
25
- value: CT;
26
- label: string;
27
- }[]): void;
28
- static get<ChallengeType>(appObjects: AppObjectRepo): ChallengeEntity<ChallengeType> | undefined;
18
+ abstract get selectedChallengeConsumerHelp(): string;
19
+ abstract get selectedChallengeAuthorHelp(): string;
20
+ abstract resetSelectedChallenge(): void;
21
+ static get(appObjects: AppObjectRepo): ChallengeEntity | undefined;
29
22
  }
30
- export declare function makeChallengeEntity<CT>(appObject: AppObject, defaultChallenge: CT): ChallengeEntity<CT>;
23
+ export declare function makeChallengeEntity(appObject: AppObject): ChallengeEntity;
@@ -9,71 +9,61 @@ class ChallengeEntity extends AppObject_1.AppObjectEntity {
9
9
  }
10
10
  exports.ChallengeEntity = ChallengeEntity;
11
11
  ChallengeEntity.type = "ChallengeEntity";
12
- function makeChallengeEntity(appObject, defaultChallenge) {
13
- return new ChallengeEntityImp(appObject, defaultChallenge);
12
+ function makeChallengeEntity(appObject) {
13
+ return new ChallengeEntityImp(appObject);
14
14
  }
15
15
  exports.makeChallengeEntity = makeChallengeEntity;
16
16
  class ChallengeEntityImp extends ChallengeEntity {
17
- constructor(appObject, defaultChallenge) {
17
+ constructor(appObject) {
18
18
  super(appObject, ChallengeEntity.type);
19
- this.challengeNameLookup = new Map();
20
- this.helpTextLookup = new Map();
21
- this.authorHelpLookup = new Map();
22
- this.helpHeadingLookup = new Map();
23
- this.defaultChallenge = defaultChallenge;
19
+ this.challengeLookup = new Map();
20
+ this.noChallenge = {
21
+ authorHelpText: "",
22
+ consumerHelpText: "",
23
+ helpHeading: "",
24
+ challengeID: "NONE",
25
+ name: "None",
26
+ reset: () => { },
27
+ };
28
+ this._selectedChallenge = this.noChallenge;
29
+ this.resetSelectedChallenge = () => {
30
+ this._selectedChallenge.reset();
31
+ };
24
32
  this.appObjects.registerSingleton(this);
33
+ this.registerChallenge(this.noChallenge);
25
34
  }
26
- get selectedChallengeName() {
27
- var _a;
28
- return (_a = this.challengeNameLookup.get(this.selectedChallenge)) !== null && _a !== void 0 ? _a : "";
29
- }
30
- get allChallengeNames() {
31
- return this.challengeNameLookup;
32
- }
33
- setChallengeNames(list) {
34
- list.forEach((item) => {
35
- this.challengeNameLookup.set(item.value, item.label);
36
- });
37
- }
38
- get helpText() {
39
- var _a;
40
- return (_a = this.helpTextLookup.get(this.selectedChallenge)) !== null && _a !== void 0 ? _a : "";
41
- }
42
- setHelpText(list) {
43
- list.forEach((item) => {
44
- this.helpTextLookup.set(item.value, item.label);
45
- });
46
- }
47
- get authorHelp() {
48
- var _a;
49
- return (_a = this.authorHelpLookup.get(this.selectedChallenge)) !== null && _a !== void 0 ? _a : "";
50
- }
51
- setAuthorHelp(list) {
52
- list.forEach((item) => {
53
- this.authorHelpLookup.set(item.value, item.label);
54
- });
55
- }
56
- get helpHeading() {
57
- var _a;
58
- return (_a = this.helpHeadingLookup.get(this.selectedChallenge)) !== null && _a !== void 0 ? _a : "";
35
+ registerChallenge(challenge) {
36
+ this.challengeLookup.set(challenge.challengeID, challenge);
37
+ this.notifyOnChange();
59
38
  }
60
- setHelpHeading(list) {
61
- list.forEach((item) => {
62
- this.helpHeadingLookup.set(item.value, item.label);
63
- });
39
+ get allChallenges() {
40
+ return Array.from(this.challengeLookup.values());
64
41
  }
65
42
  get selectedChallenge() {
66
- if (!this._selectedChallenge) {
67
- return this.defaultChallenge;
43
+ return this._selectedChallenge.challengeID;
44
+ }
45
+ set selectedChallenge(id) {
46
+ if (id === this._selectedChallenge.challengeID)
47
+ return;
48
+ const desiredChallenge = this.challengeLookup.get(id);
49
+ if (desiredChallenge) {
50
+ this._selectedChallenge = desiredChallenge;
51
+ this.notifyOnChange();
68
52
  }
69
53
  else {
70
- return this._selectedChallenge;
54
+ this.warn(`Challenge ${id} not register`);
71
55
  }
72
56
  }
73
- set selectedChallenge(val) {
74
- if (this._selectedChallenge === val)
75
- return;
76
- this._selectedChallenge = val;
77
- this.notifyOnChange();
57
+ get selectedChallengeName() {
58
+ return this._selectedChallenge.name;
59
+ }
60
+ get selectedChallengeConsumerHelp() {
61
+ return this._selectedChallenge.consumerHelpText;
62
+ }
63
+ get selectedChallengeAuthorHelp() {
64
+ return this._selectedChallenge.authorHelpText;
65
+ }
66
+ get selectedChallengeHeading() {
67
+ return this._selectedChallenge.helpHeading;
78
68
  }
79
69
  }
@@ -1,8 +1,8 @@
1
1
  /// <reference types="jest" />
2
2
  import { AppObject, AppObjectRepo } from "../../../AppObject";
3
3
  import { SelectedChallengePM } from "../PMs/SelectedChallengePM";
4
- export declare class MockSelectedChallengePM<CT> extends SelectedChallengePM<CT> {
4
+ export declare class MockSelectedChallengePM extends SelectedChallengePM {
5
5
  vmsAreEqual: jest.Mock<any, any>;
6
6
  constructor(appObject: AppObject);
7
7
  }
8
- export declare function makeMockSelectedChallengePM<CT>(appObjects: AppObjectRepo): MockSelectedChallengePM<CT>;
8
+ export declare function makeMockSelectedChallengePM(appObjects: AppObjectRepo): MockSelectedChallengePM;
@@ -1,8 +1,8 @@
1
1
  /// <reference types="jest" />
2
2
  import { AppObject, AppObjectRepo } from "../../../AppObject";
3
3
  import { SetChallengeUC } from "../UCs/SetChallengeUC";
4
- export declare class MockSetChallengeUC<CT> extends SetChallengeUC<CT> {
4
+ export declare class MockSetChallengeUC extends SetChallengeUC {
5
5
  setChallenge: jest.Mock<any, any>;
6
6
  constructor(appObject: AppObject);
7
7
  }
8
- export declare function makeMockSetChallengeUC<CT>(appObjects: AppObjectRepo): MockSetChallengeUC<CT>;
8
+ export declare function makeMockSetChallengeUC(appObjects: AppObjectRepo): MockSetChallengeUC;
@@ -1,3 +1,5 @@
1
+ export * from "./ChallengeEntityMock";
2
+ export * from "./ChallengeMock";
1
3
  export * from "./MockChallengeAuthorHelpPM";
2
4
  export * from "./MockChallengeConsumerHelpPM";
3
5
  export * from "./MockSelectedChallengePM";
@@ -10,6 +10,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./ChallengeEntityMock"), exports);
14
+ __exportStar(require("./ChallengeMock"), exports);
13
15
  __exportStar(require("./MockChallengeAuthorHelpPM"), exports);
14
16
  __exportStar(require("./MockChallengeConsumerHelpPM"), exports);
15
17
  __exportStar(require("./MockSelectedChallengePM"), exports);
@@ -7,5 +7,5 @@ export declare abstract class ChallengeAuthorHelpPM extends AppObjectPM<Challeng
7
7
  static type: string;
8
8
  static get(appObjects: AppObjectRepo): ChallengeAuthorHelpPM | undefined;
9
9
  }
10
- export declare function makeChallengeAuthorHelpPM<CT>(appObject: AppObject): ChallengeAuthorHelpPM;
10
+ export declare function makeChallengeAuthorHelpPM(appObject: AppObject): ChallengeAuthorHelpPM;
11
11
  export declare const defaultChallengeAuthorHelpVM: ChallengeAuthorHelpVM;
@@ -16,11 +16,12 @@ function makeChallengeAuthorHelpPM(appObject) {
16
16
  exports.makeChallengeAuthorHelpPM = makeChallengeAuthorHelpPM;
17
17
  class ChallengeAuthorHelpPMImp extends AppObject_1.AppObjectPM {
18
18
  constructor(appObject) {
19
+ var _a;
19
20
  super(appObject, ChallengeAuthorHelpPM.type);
20
21
  this.onEntityChange = () => {
21
22
  if (!this.challengeEntity)
22
23
  return;
23
- const text = this.challengeEntity.authorHelp;
24
+ const text = this.challengeEntity.selectedChallengeAuthorHelp;
24
25
  const heading = this.challengeEntity.selectedChallengeName;
25
26
  const vm = {
26
27
  heading,
@@ -28,15 +29,13 @@ class ChallengeAuthorHelpPMImp extends AppObject_1.AppObjectPM {
28
29
  };
29
30
  this.doUpdateView(vm);
30
31
  };
31
- this.challengeEntity = appObject.getComponent(ChallengeEntity_1.ChallengeEntity.type);
32
- if (!this.challengeEntity) {
33
- this.error("PM has been added to an app object that does not have ChallengeEntity");
34
- return;
35
- }
36
- this.challengeEntity.addChangeObserver(this.onEntityChange);
32
+ (_a = this.challengeEntity) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onEntityChange);
37
33
  this.onEntityChange();
38
34
  this.appObjects.registerSingleton(this);
39
35
  }
36
+ get challengeEntity() {
37
+ return this.getCachedSingleton(ChallengeEntity_1.ChallengeEntity.type);
38
+ }
40
39
  vmsAreEqual(a, b) {
41
40
  if (a.heading !== b.heading)
42
41
  return false;
@@ -8,5 +8,5 @@ export declare abstract class ChallengeConsumerHelpPM extends AppObjectPM<Challe
8
8
  static type: string;
9
9
  static get(appObjects: AppObjectRepo): ChallengeConsumerHelpPM | undefined;
10
10
  }
11
- export declare function makeChallengeConsumerHelpPM<CT>(appObject: AppObject): ChallengeConsumerHelpPM;
11
+ export declare function makeChallengeConsumerHelpPM(appObject: AppObject): ChallengeConsumerHelpPM;
12
12
  export declare const defaultChallengeConsumerHelpVM: ChallengeConsumerHelpVM;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaultChallengeConsumerHelpVM = exports.makeChallengeConsumerHelpPM = exports.ChallengeConsumerHelpPM = void 0;
4
4
  const AppObject_1 = require("../../../AppObject");
5
- const App_1 = require("../../App");
5
+ const BaseApp_1 = require("../../BaseApp");
6
6
  const ChallengeEntity_1 = require("../Entities/ChallengeEntity");
7
7
  class ChallengeConsumerHelpPM extends AppObject_1.AppObjectPM {
8
8
  static get(appObjects) {
@@ -15,14 +15,15 @@ function makeChallengeConsumerHelpPM(appObject) {
15
15
  return new ChallengeConsumerHelpPMImp(appObject);
16
16
  }
17
17
  exports.makeChallengeConsumerHelpPM = makeChallengeConsumerHelpPM;
18
- class ChallengeConsumerHelpPMImp extends AppObject_1.AppObjectPM {
18
+ class ChallengeConsumerHelpPMImp extends ChallengeConsumerHelpPM {
19
19
  constructor(appObject) {
20
+ var _a, _b;
20
21
  super(appObject, ChallengeConsumerHelpPM.type);
21
22
  this.onEntityChange = () => {
22
23
  if (!this.challengeEntity || !this.baseApp)
23
24
  return;
24
- const text = this.challengeEntity.helpText;
25
- const heading = this.challengeEntity.helpHeading;
25
+ const text = this.challengeEntity.selectedChallengeConsumerHelp;
26
+ const heading = this.challengeEntity.selectedChallengeHeading;
26
27
  let challengeHelpShow = true;
27
28
  if (!text || !heading || this.baseApp.isReviewing) {
28
29
  challengeHelpShow = false;
@@ -34,21 +35,17 @@ class ChallengeConsumerHelpPMImp extends AppObject_1.AppObjectPM {
34
35
  };
35
36
  this.doUpdateView(vm);
36
37
  };
37
- this.challengeEntity = appObject.getComponent(ChallengeEntity_1.ChallengeEntity.type);
38
- if (!this.challengeEntity) {
39
- this.error("PM has been added to an app object that does not have ChallengeEntity");
40
- return;
41
- }
42
- this.baseApp = App_1.BaseAppState.get(appObject.appObjectRepo);
43
- if (!this.baseApp) {
44
- this.warn(`Unable to find the Base App State`);
45
- return;
46
- }
47
- this.baseApp.addChangeObserver(this.onEntityChange);
48
- this.challengeEntity.addChangeObserver(this.onEntityChange);
38
+ (_a = this.baseApp) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onEntityChange);
39
+ (_b = this.challengeEntity) === null || _b === void 0 ? void 0 : _b.addChangeObserver(this.onEntityChange);
49
40
  this.onEntityChange();
50
41
  this.appObjects.registerSingleton(this);
51
42
  }
43
+ get challengeEntity() {
44
+ return this.getCachedSingleton(ChallengeEntity_1.ChallengeEntity.type);
45
+ }
46
+ get baseApp() {
47
+ return this.getCachedSingleton(BaseApp_1.BaseAppState.type);
48
+ }
52
49
  vmsAreEqual(a, b) {
53
50
  if (a.heading !== b.heading)
54
51
  return false;
@@ -1,13 +1,14 @@
1
1
  import { AppObject, AppObjectPM, AppObjectRepo } from "../../../AppObject";
2
- export interface SelectedChallengeVM<CT> {
3
- challenge: CT | undefined;
2
+ export interface SelectedChallengeVM {
3
+ selectedChallenge: string;
4
4
  options: {
5
- value: CT;
5
+ value: string;
6
6
  label: string;
7
7
  }[];
8
8
  }
9
- export declare abstract class SelectedChallengePM<CT> extends AppObjectPM<SelectedChallengeVM<CT>> {
9
+ export declare const defaultSelectedChallengeVM: SelectedChallengeVM;
10
+ export declare abstract class SelectedChallengePM extends AppObjectPM<SelectedChallengeVM> {
10
11
  static type: string;
11
- static get<CT>(appObjects: AppObjectRepo): SelectedChallengePM<CT> | undefined;
12
+ static get(appObjects: AppObjectRepo): SelectedChallengePM | undefined;
12
13
  }
13
- export declare function makeSelectedChallengePM<CT>(appObject: AppObject): SelectedChallengePM<CT>;
14
+ export declare function makeSelectedChallengePM(appObject: AppObject): SelectedChallengePM;
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeSelectedChallengePM = exports.SelectedChallengePM = void 0;
3
+ exports.makeSelectedChallengePM = exports.SelectedChallengePM = exports.defaultSelectedChallengeVM = void 0;
4
4
  const AppObject_1 = require("../../../AppObject");
5
5
  const ChallengeEntity_1 = require("../Entities/ChallengeEntity");
6
+ exports.defaultSelectedChallengeVM = {
7
+ options: [],
8
+ selectedChallenge: "",
9
+ };
6
10
  class SelectedChallengePM extends AppObject_1.AppObjectPM {
7
11
  static get(appObjects) {
8
12
  return AppObject_1.getSingletonComponent(SelectedChallengePM.type, appObjects);
@@ -16,31 +20,30 @@ function makeSelectedChallengePM(appObject) {
16
20
  exports.makeSelectedChallengePM = makeSelectedChallengePM;
17
21
  class SelectedChallengePMImp extends SelectedChallengePM {
18
22
  constructor(appObject) {
23
+ var _a;
19
24
  super(appObject, SelectedChallengePM.type);
20
25
  this.onChallengeChange = () => {
21
26
  if (!this.challengeEntity)
22
27
  return;
23
28
  const options = [];
24
- this.challengeEntity.allChallengeNames.forEach((challengeName, challengeType) => {
25
- options.push({ value: challengeType, label: challengeName });
29
+ this.challengeEntity.allChallenges.forEach((challenge) => {
30
+ options.push({ value: challenge.challengeID, label: challenge.name });
26
31
  });
27
32
  const vm = {
28
- challenge: this.challengeEntity.selectedChallenge,
33
+ selectedChallenge: this.challengeEntity.selectedChallenge,
29
34
  options,
30
35
  };
31
36
  this.doUpdateView(vm);
32
37
  };
33
- this.challengeEntity = appObject.getComponent(ChallengeEntity_1.ChallengeEntity.type);
34
- if (!this.challengeEntity) {
35
- this.error("PM has been added to an app object that does not have ChallengeEntity");
36
- return;
37
- }
38
- this.challengeEntity.addChangeObserver(this.onChallengeChange);
38
+ (_a = this.challengeEntity) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onChallengeChange);
39
39
  this.onChallengeChange();
40
40
  this.appObjects.registerSingleton(this);
41
41
  }
42
+ get challengeEntity() {
43
+ return this.getCachedSingleton(ChallengeEntity_1.ChallengeEntity.type);
44
+ }
42
45
  vmsAreEqual(a, b) {
43
- if (a.challenge !== b.challenge)
46
+ if (a.selectedChallenge !== b.selectedChallenge)
44
47
  return false;
45
48
  if (a.options.length !== b.options.length)
46
49
  return false;
@@ -1,6 +1,6 @@
1
1
  import { AppObject, AppObjectUC } from "../../../AppObject";
2
2
  import { SerializedSystem } from "../../StateMachine";
3
- export declare class SerializeChallengeUC<CT> extends AppObjectUC implements SerializedSystem {
3
+ export declare class SerializeChallengeUC extends AppObjectUC implements SerializedSystem {
4
4
  static readonly type = "SerializeChallengeUC";
5
5
  name: string;
6
6
  seriliziationVersion: number;
@@ -14,7 +14,7 @@ class SerializeChallengeUC extends AppObject_1.AppObjectUC {
14
14
  stateMachine.registerSerializedSystem(this);
15
15
  }
16
16
  else {
17
- this.warn("Unable to find StateMachineEntity");
17
+ this.error("Unable to find StateMachineEntity");
18
18
  }
19
19
  }
20
20
  get challenge() {
@@ -23,11 +23,7 @@ class SerializeChallengeUC extends AppObject_1.AppObjectUC {
23
23
  getSystemState() {
24
24
  if (!this.challenge)
25
25
  return {};
26
- let challenge = this.challenge
27
- .defaultChallenge;
28
- if (this.challenge.selectedChallenge) {
29
- challenge = this.challenge.selectedChallenge;
30
- }
26
+ const challenge = this.challenge.selectedChallenge;
31
27
  const state = {
32
28
  challenge,
33
29
  };
@@ -49,7 +45,7 @@ class SerializeChallengeUC extends AppObject_1.AppObjectUC {
49
45
  applyDefaultState() {
50
46
  if (!this.challenge)
51
47
  return;
52
- this.challenge.selectedChallenge = this.challenge.defaultChallenge;
48
+ this.challenge.selectedChallenge = "NONE";
53
49
  }
54
50
  }
55
51
  exports.SerializeChallengeUC = SerializeChallengeUC;
@@ -1,7 +1,7 @@
1
1
  import { AppObject, AppObjectRepo, AppObjectUC } from "../../../AppObject";
2
- export declare abstract class SetChallengeUC<CT> extends AppObjectUC {
2
+ export declare abstract class SetChallengeUC extends AppObjectUC {
3
3
  static type: string;
4
- abstract setChallenge(challenge: CT): void;
5
- static get<CT>(appObjects: AppObjectRepo): SetChallengeUC<CT> | undefined;
4
+ abstract setChallenge(challenge: string): void;
5
+ static get(appObjects: AppObjectRepo): SetChallengeUC | undefined;
6
6
  }
7
- export declare function makeSetChallengeUC<CT>(appObject: AppObject): SetChallengeUC<CT>;
7
+ export declare function makeSetChallengeUC<CT>(appObject: AppObject): SetChallengeUC;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeSetChallengeUC = exports.SetChallengeUC = void 0;
4
4
  const AppObject_1 = require("../../../AppObject");
5
5
  const Dispatcher_1 = require("../../Dispatcher");
6
+ const UndoRedo_1 = require("../../UndoRedo");
6
7
  const ChallengeEntity_1 = require("../Entities/ChallengeEntity");
7
- const SetChallengeUndo_1 = require("./SetChallengeUndo");
8
8
  class SetChallengeUC extends AppObject_1.AppObjectUC {
9
9
  static get(appObjects) {
10
10
  return AppObject_1.getSingletonComponent(SetChallengeUC.type, appObjects);
@@ -21,20 +21,34 @@ class SetChallengeUCImp extends SetChallengeUC {
21
21
  return this.getCachedSingleton(ChallengeEntity_1.ChallengeEntity.type);
22
22
  }
23
23
  get dispatchStateChange() {
24
- return this.getCachedSingleton(Dispatcher_1.DispatchStateChangeUC.type);
24
+ var _a;
25
+ return (_a = this.getCachedSingleton(Dispatcher_1.DispatchStateChangeUC.type)) === null || _a === void 0 ? void 0 : _a.doDispatch;
26
+ }
27
+ get undo() {
28
+ return this.getCachedSingleton(UndoRedo_1.UndoRedoEntity.type);
25
29
  }
26
30
  setChallenge(challenge) {
27
31
  var _a;
28
- if (!this.challengeEntity) {
32
+ const challengeEntity = this.challengeEntity;
33
+ const dispatchStateChange = this.dispatchStateChange;
34
+ if (!challengeEntity || !dispatchStateChange) {
29
35
  return;
30
36
  }
31
- if (this.challengeEntity.selectedChallenge === challenge)
37
+ if (challengeEntity.selectedChallenge === challenge)
32
38
  return;
33
- if (this.challengeEntity.selectedChallenge) {
34
- new SetChallengeUndo_1.SetChallengeUndo(this.challengeEntity.selectedChallenge, this.appObjects);
35
- }
36
- this.challengeEntity.selectedChallenge = challenge;
37
- (_a = this.dispatchStateChange) === null || _a === void 0 ? void 0 : _a.doDispatch();
39
+ const initialChallenge = challengeEntity.selectedChallenge;
40
+ challengeEntity.selectedChallenge = challenge;
41
+ dispatchStateChange();
42
+ (_a = this.undo) === null || _a === void 0 ? void 0 : _a.submitAction({
43
+ undoAction: () => {
44
+ challengeEntity.selectedChallenge = initialChallenge;
45
+ dispatchStateChange();
46
+ },
47
+ redoAction: () => {
48
+ challengeEntity.selectedChallenge = challenge;
49
+ dispatchStateChange();
50
+ },
51
+ });
38
52
  }
39
53
  constructor(appObject) {
40
54
  super(appObject, SetChallengeUC.type);
@@ -4,4 +4,4 @@ export declare abstract class ShowChallengeHelpUC extends AppObjectUC {
4
4
  abstract showChallengeHelp(): void;
5
5
  static get: (appObjects: AppObjectRepo) => ShowChallengeHelpUC | undefined;
6
6
  }
7
- export declare function makeShowChallengeHelpUC<CT>(appObject: AppObject): ShowChallengeHelpUC;
7
+ export declare function makeShowChallengeHelpUC(appObject: AppObject): ShowChallengeHelpUC;