@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
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeValidateLabelDropMock = exports.ValidateLabelDropMock = void 0;
4
+ const ValidateLabelDrop_1 = require("../UseCases/ValidateLabelDrop");
5
+ class ValidateLabelDropMock extends ValidateLabelDrop_1.ValidateLabelDrop {
6
+ constructor(appObject) {
7
+ super(appObject, ValidateLabelDrop_1.ValidateLabelDrop.type);
8
+ this.validate = jest.fn();
9
+ }
10
+ }
11
+ exports.ValidateLabelDropMock = ValidateLabelDropMock;
12
+ function makeValidateLabelDropMock(appObjects) {
13
+ return new ValidateLabelDropMock(appObjects.getOrCreate("ValidateLabelDropMock"));
14
+ }
15
+ exports.makeValidateLabelDropMock = makeValidateLabelDropMock;
@@ -0,0 +1,15 @@
1
+ export * from "./DeleteLabelDropUcMock";
2
+ export * from "./EditLabelDropUcMock";
3
+ export * from "./LabelDropAnswerItemDetailsPmMock";
4
+ export * from "./LabelDropDragItemPmMock";
5
+ export * from "./LabelDropEditingIdPmMock";
6
+ export * from "./LabelDropListPmMock";
7
+ export * from "./LabelDropReviewPmMock";
8
+ export * from "./MockCorrectAnimation";
9
+ export * from "./MockDragLabelDropUC";
10
+ export * from "./MockDragLabelDropWorldUC";
11
+ export * from "./MockDropAnimation";
12
+ export * from "./MockIncorrectAnimation";
13
+ export * from "./RemainingLabelDropListPmMock";
14
+ export * from "./ToggleLabelDropTargetUcMock";
15
+ export * from "./ValidateLabelDropUc";
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./DeleteLabelDropUcMock"), exports);
14
+ __exportStar(require("./EditLabelDropUcMock"), exports);
15
+ __exportStar(require("./LabelDropAnswerItemDetailsPmMock"), exports);
16
+ __exportStar(require("./LabelDropDragItemPmMock"), exports);
17
+ __exportStar(require("./LabelDropEditingIdPmMock"), exports);
18
+ __exportStar(require("./LabelDropListPmMock"), exports);
19
+ __exportStar(require("./LabelDropReviewPmMock"), exports);
20
+ __exportStar(require("./MockCorrectAnimation"), exports);
21
+ __exportStar(require("./MockDragLabelDropUC"), exports);
22
+ __exportStar(require("./MockDragLabelDropWorldUC"), exports);
23
+ __exportStar(require("./MockDropAnimation"), exports);
24
+ __exportStar(require("./MockIncorrectAnimation"), exports);
25
+ __exportStar(require("./RemainingLabelDropListPmMock"), exports);
26
+ __exportStar(require("./ToggleLabelDropTargetUcMock"), exports);
27
+ __exportStar(require("./ValidateLabelDropUc"), exports);
@@ -0,0 +1,18 @@
1
+ import { AppObject, AppObjectPM, AppObjectRepo } from "../../../AppObject";
2
+ import { Vector2 } from "../../../ValueObjects";
3
+ import { LabelDropDragMode } from "../Entities/LabelDropRepo";
4
+ export interface LabelDropDragItemVM {
5
+ id?: string;
6
+ label: string;
7
+ show: boolean;
8
+ mode: LabelDropDragMode;
9
+ resultIsCorrect?: boolean;
10
+ alpha: number;
11
+ screenPosition: Vector2;
12
+ }
13
+ export declare abstract class LabelDropDragItemPM extends AppObjectPM<LabelDropDragItemVM> {
14
+ static readonly type = "LabelDropDragItemPM";
15
+ static get(appObjects: AppObjectRepo): LabelDropDragItemPM | undefined;
16
+ }
17
+ export declare function makeLabelDropDragItemPM(appObject: AppObject): LabelDropDragItemPM;
18
+ export declare const defaultLabelDropDragItemVM: LabelDropDragItemVM;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultLabelDropDragItemVM = exports.makeLabelDropDragItemPM = exports.LabelDropDragItemPM = void 0;
4
+ const AppObject_1 = require("../../../AppObject");
5
+ const ValueObjects_1 = require("../../../ValueObjects");
6
+ const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
7
+ class LabelDropDragItemPM extends AppObject_1.AppObjectPM {
8
+ static get(appObjects) {
9
+ return AppObject_1.getSingletonComponent(LabelDropDragItemPM.type, appObjects);
10
+ }
11
+ }
12
+ exports.LabelDropDragItemPM = LabelDropDragItemPM;
13
+ LabelDropDragItemPM.type = "LabelDropDragItemPM";
14
+ function makeLabelDropDragItemPM(appObject) {
15
+ return new LabelDropDragItemPMImp(appObject);
16
+ }
17
+ exports.makeLabelDropDragItemPM = makeLabelDropDragItemPM;
18
+ class LabelDropDragItemPMImp extends LabelDropDragItemPM {
19
+ constructor(appObject) {
20
+ var _a;
21
+ super(appObject, LabelDropDragItemPM.type);
22
+ this.handleEntityChange = () => {
23
+ var _a;
24
+ if (!this.labelDropRepo)
25
+ return;
26
+ if (!this.labelDropRepo.draggingID) {
27
+ const notDraggingVM = Object.assign({}, exports.defaultLabelDropDragItemVM);
28
+ notDraggingVM.mode = this.labelDropRepo.dragMode;
29
+ this.doUpdateView(notDraggingVM);
30
+ return;
31
+ }
32
+ const dragItem = this.labelDropRepo.getForAppObject(this.labelDropRepo.draggingID);
33
+ const showDragItem = this.labelDropRepo.dragAlpha > 0;
34
+ const vm = {
35
+ id: this.labelDropRepo.draggingID,
36
+ label: (_a = dragItem === null || dragItem === void 0 ? void 0 : dragItem.labelEntity.display) !== null && _a !== void 0 ? _a : "",
37
+ show: showDragItem,
38
+ mode: this.labelDropRepo.dragMode,
39
+ resultIsCorrect: this.labelDropRepo.resultIsCorrect,
40
+ alpha: this.labelDropRepo.dragAlpha,
41
+ screenPosition: this.labelDropRepo.screenPosition
42
+ };
43
+ this.doUpdateView(vm);
44
+ };
45
+ this.dispose = () => {
46
+ var _a, _b;
47
+ super.dispose();
48
+ (_a = this.labelDropRepo) === null || _a === void 0 ? void 0 : _a.removeChangeObserver(this.handleEntityChange);
49
+ (_b = this.labelDropRepo) === null || _b === void 0 ? void 0 : _b.removeOnDisposeObserver(this.dispose);
50
+ };
51
+ (_a = this.labelDropRepo) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.handleEntityChange);
52
+ this.appObjects.registerSingleton(this);
53
+ this.handleEntityChange();
54
+ }
55
+ get labelDropRepo() {
56
+ return this.getCachedSingleton(LabelDropRepo_1.LabelDropRepo.type);
57
+ }
58
+ vmsAreEqual(a, b) {
59
+ if (a.id !== b.id)
60
+ return false;
61
+ if (a.label !== b.label)
62
+ return false;
63
+ if (a.show !== b.show)
64
+ return false;
65
+ if (a.mode !== b.mode)
66
+ return false;
67
+ if (a.resultIsCorrect !== b.resultIsCorrect)
68
+ return false;
69
+ if (a.alpha !== b.alpha)
70
+ return false;
71
+ if (!ValueObjects_1.Vector2.Equal(a.screenPosition, b.screenPosition))
72
+ return false;
73
+ return true;
74
+ }
75
+ }
76
+ exports.defaultLabelDropDragItemVM = {
77
+ id: undefined,
78
+ label: "",
79
+ show: false,
80
+ mode: LabelDropRepo_1.LabelDropDragMode.SCREEN,
81
+ resultIsCorrect: undefined,
82
+ alpha: 0,
83
+ screenPosition: new ValueObjects_1.Vector2(0, 0)
84
+ };
@@ -0,0 +1,11 @@
1
+ import { AppObject, AppObjectPM, AppObjectRepo } from "../../../AppObject";
2
+ export interface LabelDropEditingIdVM {
3
+ editingId: string | undefined;
4
+ isEditingNewAnswer: boolean;
5
+ }
6
+ export declare abstract class LabelDropEditingIDPM extends AppObjectPM<LabelDropEditingIdVM> {
7
+ static readonly type = "LabelDropEditingIDPM";
8
+ static get: (appObjects: AppObjectRepo) => LabelDropEditingIDPM | undefined;
9
+ }
10
+ export declare function makeLabelDropEditingIDPM(appObject: AppObject): LabelDropEditingIDPM;
11
+ export declare const defaultLabelDropEditingIDVM: LabelDropEditingIdVM;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.defaultLabelDropEditingIDVM = exports.makeLabelDropEditingIDPM = exports.LabelDropEditingIDPM = void 0;
4
+ const AppObject_1 = require("../../../AppObject");
5
+ const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
6
+ class LabelDropEditingIDPM extends AppObject_1.AppObjectPM {
7
+ }
8
+ exports.LabelDropEditingIDPM = LabelDropEditingIDPM;
9
+ LabelDropEditingIDPM.type = "LabelDropEditingIDPM";
10
+ LabelDropEditingIDPM.get = (appObjects) => AppObject_1.getSingletonComponent(LabelDropEditingIDPM.type, appObjects);
11
+ function makeLabelDropEditingIDPM(appObject) {
12
+ return new LabelDropEditingIDPMImp(appObject);
13
+ }
14
+ exports.makeLabelDropEditingIDPM = makeLabelDropEditingIDPM;
15
+ class LabelDropEditingIDPMImp extends LabelDropEditingIDPM {
16
+ constructor(appObject) {
17
+ var _a;
18
+ super(appObject, LabelDropEditingIDPM.type);
19
+ this.onEntityChange = () => {
20
+ if (!this.labelDropRepo)
21
+ return;
22
+ const vm = {
23
+ editingId: this.labelDropRepo.editingID,
24
+ isEditingNewAnswer: this.labelDropRepo.isEditingNewAnswer,
25
+ };
26
+ this.doUpdateView(vm);
27
+ };
28
+ (_a = this.labelDropRepo) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onEntityChange);
29
+ this.appObjects.registerSingleton(this);
30
+ this.onEntityChange();
31
+ }
32
+ get labelDropRepo() {
33
+ return this.getCachedSingleton(LabelDropRepo_1.LabelDropRepo.type);
34
+ }
35
+ vmsAreEqual(a, b) {
36
+ if (a.editingId !== b.editingId)
37
+ return false;
38
+ if (a.isEditingNewAnswer !== b.isEditingNewAnswer)
39
+ return false;
40
+ return true;
41
+ }
42
+ }
43
+ exports.defaultLabelDropEditingIDVM = {
44
+ editingId: undefined,
45
+ isEditingNewAnswer: false,
46
+ };
@@ -0,0 +1,11 @@
1
+ import { AppObject, AppObjectPM, AppObjectRepo } from "../../../AppObject";
2
+ export interface LabelDropListVM {
3
+ answerItemIds: string[];
4
+ challengeValidationMessage: string;
5
+ }
6
+ export declare const defaultLabelDropListVM: LabelDropListVM;
7
+ export declare abstract class LabelDropListPM extends AppObjectPM<LabelDropListVM> {
8
+ static readonly type = "LabelDropListPM";
9
+ static get: (appObjects: AppObjectRepo) => LabelDropListPM | undefined;
10
+ }
11
+ export declare function makeLabelDropListPM(appObject: AppObject): LabelDropListPM;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeLabelDropListPM = exports.LabelDropListPM = exports.defaultLabelDropListVM = void 0;
4
+ const AppObject_1 = require("../../../AppObject");
5
+ const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
6
+ exports.defaultLabelDropListVM = {
7
+ answerItemIds: [],
8
+ challengeValidationMessage: "",
9
+ };
10
+ class LabelDropListPM extends AppObject_1.AppObjectPM {
11
+ }
12
+ exports.LabelDropListPM = LabelDropListPM;
13
+ LabelDropListPM.type = "LabelDropListPM";
14
+ LabelDropListPM.get = (appObjects) => AppObject_1.getSingletonComponent(LabelDropListPM.type, appObjects);
15
+ function makeLabelDropListPM(appObject) {
16
+ return new LabelDropListPMImp(appObject);
17
+ }
18
+ exports.makeLabelDropListPM = makeLabelDropListPM;
19
+ class LabelDropListPMImp extends LabelDropListPM {
20
+ constructor(appObject) {
21
+ var _a;
22
+ super(appObject, LabelDropListPM.type);
23
+ this.onEntityChange = () => {
24
+ var _a;
25
+ if (!this.labelDropRepo)
26
+ return;
27
+ const answerItemIds = this.labelDropRepo
28
+ .getAll()
29
+ .map((item) => item.id);
30
+ const vm = {
31
+ answerItemIds,
32
+ challengeValidationMessage: (_a = this.labelDropRepo.validationMessage) !== null && _a !== void 0 ? _a : "",
33
+ };
34
+ this.doUpdateView(vm);
35
+ };
36
+ (_a = this.labelDropRepo) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onEntityChange);
37
+ this.appObjects.registerSingleton(this);
38
+ this.onEntityChange();
39
+ }
40
+ get labelDropRepo() {
41
+ return this.getCachedSingleton(LabelDropRepo_1.LabelDropRepo.type);
42
+ }
43
+ vmsAreEqual(a, b) {
44
+ if (a.answerItemIds.length !== b.answerItemIds.length)
45
+ return false;
46
+ if (a.challengeValidationMessage !== b.challengeValidationMessage)
47
+ return false;
48
+ let itemListIsEqual = true;
49
+ for (let i = 0; i < a.answerItemIds.length; i++) {
50
+ if (a.answerItemIds[i] !== b.answerItemIds[i]) {
51
+ itemListIsEqual = false;
52
+ }
53
+ }
54
+ return itemListIsEqual;
55
+ }
56
+ }
@@ -0,0 +1,11 @@
1
+ import { AppObject, AppObjectPM, AppObjectRepo } from "../../../AppObject";
2
+ export interface LabelDropItemReviewVM {
3
+ id: string;
4
+ label: string;
5
+ tries: number;
6
+ }
7
+ export declare abstract class LabelDropReviewPM extends AppObjectPM<LabelDropItemReviewVM[]> {
8
+ static readonly type = "LabelDropReviewPM";
9
+ static get: (appObjects: AppObjectRepo) => LabelDropReviewPM | undefined;
10
+ }
11
+ export declare function makeLabelDropReviewPM(appObject: AppObject): LabelDropReviewPM;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeLabelDropReviewPM = exports.LabelDropReviewPM = void 0;
4
+ const AppObject_1 = require("../../../AppObject");
5
+ const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
6
+ class LabelDropReviewPM extends AppObject_1.AppObjectPM {
7
+ }
8
+ exports.LabelDropReviewPM = LabelDropReviewPM;
9
+ LabelDropReviewPM.type = "LabelDropReviewPM";
10
+ LabelDropReviewPM.get = (appObjects) => AppObject_1.getSingletonComponent(LabelDropReviewPM.type, appObjects);
11
+ function makeLabelDropReviewPM(appObject) {
12
+ return new LabelDropReviewPMImp(appObject);
13
+ }
14
+ exports.makeLabelDropReviewPM = makeLabelDropReviewPM;
15
+ class LabelDropReviewPMImp extends LabelDropReviewPM {
16
+ constructor(appObject) {
17
+ var _a;
18
+ super(appObject, LabelDropReviewPM.type);
19
+ this.onEntityChange = () => {
20
+ if (!this.labelDropRepo)
21
+ return;
22
+ const labelDropReviewVM = this.labelDropRepo
23
+ .getAll()
24
+ .map((item) => {
25
+ return {
26
+ id: item.id,
27
+ label: item.labelEntity.display,
28
+ tries: item.tries
29
+ };
30
+ });
31
+ this.doUpdateView(labelDropReviewVM);
32
+ };
33
+ (_a = this.labelDropRepo) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onEntityChange);
34
+ this.appObjects.registerSingleton(this);
35
+ this.onEntityChange();
36
+ }
37
+ get labelDropRepo() {
38
+ return this.getCachedSingleton(LabelDropRepo_1.LabelDropRepo.type);
39
+ }
40
+ vmsAreEqual(a, b) {
41
+ if (a.length !== b.length)
42
+ return false;
43
+ let vmsEqual = true;
44
+ for (let i = 0; i < a.length; i++) {
45
+ if (a[i].id !== b[i].id) {
46
+ vmsEqual = false;
47
+ }
48
+ else if (a[i].label !== b[i].label) {
49
+ vmsEqual = false;
50
+ }
51
+ else if (a[i].tries !== b[i].tries) {
52
+ vmsEqual = false;
53
+ }
54
+ }
55
+ return vmsEqual;
56
+ }
57
+ }
@@ -0,0 +1,11 @@
1
+ import { AppObject, AppObjectPM, AppObjectRepo } from "../../../AppObject";
2
+ export interface LabelDropTargetsVM {
3
+ targetIds: string[];
4
+ targetValidationMessage: string | undefined;
5
+ }
6
+ export declare const defaultLabelDropTargetsVM: LabelDropTargetsVM;
7
+ export declare abstract class LabelDropTargetsPM extends AppObjectPM<LabelDropTargetsVM> {
8
+ static readonly type = "LabelDropTargetsPM";
9
+ static get(id: string, appObjects: AppObjectRepo): LabelDropTargetsPM | undefined;
10
+ }
11
+ export declare function makeLabelDropTargetsPM(appObject: AppObject): LabelDropTargetsPM;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeLabelDropTargetsPM = exports.LabelDropTargetsPM = exports.defaultLabelDropTargetsVM = void 0;
4
+ const AppObject_1 = require("../../../AppObject");
5
+ const LabelDropItemEntity_1 = require("../Entities/LabelDropItemEntity");
6
+ exports.defaultLabelDropTargetsVM = {
7
+ targetIds: [],
8
+ targetValidationMessage: undefined
9
+ };
10
+ class LabelDropTargetsPM extends AppObject_1.AppObjectPM {
11
+ static get(id, appObjects) {
12
+ var _a;
13
+ return (_a = appObjects
14
+ .get(id)) === null || _a === void 0 ? void 0 : _a.getComponent(LabelDropTargetsPM.type);
15
+ }
16
+ }
17
+ exports.LabelDropTargetsPM = LabelDropTargetsPM;
18
+ LabelDropTargetsPM.type = "LabelDropTargetsPM";
19
+ function makeLabelDropTargetsPM(appObject) {
20
+ return new LabelDropTargetsPMImp(appObject);
21
+ }
22
+ exports.makeLabelDropTargetsPM = makeLabelDropTargetsPM;
23
+ class LabelDropTargetsPMImp extends LabelDropTargetsPM {
24
+ constructor(appObject) {
25
+ var _a;
26
+ super(appObject, LabelDropTargetsPM.type);
27
+ this.onEntityChange = () => {
28
+ if (!this.entity)
29
+ return;
30
+ const vm = {
31
+ targetIds: [...this.entity.targetIds],
32
+ targetValidationMessage: this.entity.targetValidationMessage
33
+ };
34
+ this.doUpdateView(vm);
35
+ };
36
+ (_a = this.entity) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onEntityChange);
37
+ this.onEntityChange();
38
+ }
39
+ get entity() {
40
+ return this.getCachedLocalComponent(LabelDropItemEntity_1.LabelDropItemEntity.type);
41
+ }
42
+ vmsAreEqual(a, b) {
43
+ if (a.targetValidationMessage !== b.targetValidationMessage)
44
+ return false;
45
+ if (a.targetIds.length !== b.targetIds.length)
46
+ return false;
47
+ let targetsAreEqual = true;
48
+ for (let i = 0; i < a.targetIds.length; i++) {
49
+ if (a.targetIds[i] !== b.targetIds[i]) {
50
+ targetsAreEqual = false;
51
+ }
52
+ }
53
+ return targetsAreEqual;
54
+ }
55
+ }
@@ -0,0 +1,10 @@
1
+ import { AppObject, AppObjectPM, AppObjectRepo } from "../../../AppObject";
2
+ export interface RemainingLabelDropVM {
3
+ id: string;
4
+ label: string;
5
+ }
6
+ export declare abstract class RemainingLabelDropListPM extends AppObjectPM<RemainingLabelDropVM[]> {
7
+ static readonly type = "RemainingLabelDropListPM";
8
+ static get: (appObjects: AppObjectRepo) => RemainingLabelDropListPM | undefined;
9
+ }
10
+ export declare function makeRemainingLabelDropListPM(appObject: AppObject): RemainingLabelDropListPM;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeRemainingLabelDropListPM = exports.RemainingLabelDropListPM = void 0;
4
+ const AppObject_1 = require("../../../AppObject");
5
+ const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
6
+ class RemainingLabelDropListPM extends AppObject_1.AppObjectPM {
7
+ }
8
+ exports.RemainingLabelDropListPM = RemainingLabelDropListPM;
9
+ RemainingLabelDropListPM.type = "RemainingLabelDropListPM";
10
+ RemainingLabelDropListPM.get = (appObjects) => AppObject_1.getSingletonComponent(RemainingLabelDropListPM.type, appObjects);
11
+ function makeRemainingLabelDropListPM(appObject) {
12
+ return new RemainingLabelDropListPMImp(appObject);
13
+ }
14
+ exports.makeRemainingLabelDropListPM = makeRemainingLabelDropListPM;
15
+ class RemainingLabelDropListPMImp extends RemainingLabelDropListPM {
16
+ constructor(appObject) {
17
+ var _a;
18
+ super(appObject, RemainingLabelDropListPM.type);
19
+ this.onEntityChange = () => {
20
+ if (!this.labelDropRepo)
21
+ return;
22
+ const labelDropIds = this.labelDropRepo.getRemainingLabelDrops();
23
+ const items = this.labelDropRepo.getAll();
24
+ const datas = [];
25
+ items.forEach((item) => {
26
+ if (labelDropIds.includes(item.id)) {
27
+ datas.push({
28
+ id: item.id,
29
+ label: item.labelEntity.display,
30
+ });
31
+ }
32
+ });
33
+ this.doUpdateView(datas);
34
+ };
35
+ (_a = this.labelDropRepo) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onEntityChange);
36
+ this.appObjects.registerSingleton(this);
37
+ this.onEntityChange();
38
+ }
39
+ get labelDropRepo() {
40
+ return this.getCachedSingleton(LabelDropRepo_1.LabelDropRepo.type);
41
+ }
42
+ vmsAreEqual(a, b) {
43
+ if (a.length !== b.length)
44
+ return false;
45
+ let vmsEqual = true;
46
+ for (let i = 0; i < a.length; i++) {
47
+ if (a[i].id !== b[i].id) {
48
+ vmsEqual = false;
49
+ }
50
+ else if (a[i].label !== b[i].label) {
51
+ vmsEqual = false;
52
+ }
53
+ }
54
+ return vmsEqual;
55
+ }
56
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./LabelDropDragItemPM";
2
+ export * from "./LabelDropEditingIDPM";
3
+ export * from "./LabelDropListPM";
4
+ export * from "./LabelDropReviewPM";
5
+ export * from "./LabelDropTargetsPM";
6
+ export * from "./RemainingLabelDropListPM";
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./LabelDropDragItemPM"), exports);
14
+ __exportStar(require("./LabelDropEditingIDPM"), exports);
15
+ __exportStar(require("./LabelDropListPM"), exports);
16
+ __exportStar(require("./LabelDropReviewPM"), exports);
17
+ __exportStar(require("./LabelDropTargetsPM"), exports);
18
+ __exportStar(require("./RemainingLabelDropListPM"), exports);
@@ -0,0 +1,12 @@
1
+ import { AppObject, AppObjectRepo, AppObjectUC } from "../../../AppObject";
2
+ import { LabelDropAnimationI } from "./LabelDropAnimation";
3
+ export declare abstract class LabelDropCorrectAnimationUC extends AppObjectUC implements LabelDropAnimationI {
4
+ abstract feedbackDurationMS: number;
5
+ abstract fadeDurationMS: number;
6
+ abstract getIsAnimating(): boolean;
7
+ abstract start: () => Promise<boolean>;
8
+ abstract cancel: () => void;
9
+ static type: string;
10
+ static get(appObject: AppObjectRepo): LabelDropCorrectAnimationUC | undefined;
11
+ }
12
+ export declare function makeLabelDropCorrectAnimationUC(appObject: AppObject): LabelDropCorrectAnimationUC;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeLabelDropCorrectAnimationUC = exports.LabelDropCorrectAnimationUC = void 0;
4
+ const AppObject_1 = require("../../../AppObject");
5
+ const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
6
+ class LabelDropCorrectAnimationUC extends AppObject_1.AppObjectUC {
7
+ static get(appObject) {
8
+ return AppObject_1.getSingletonComponent(LabelDropCorrectAnimationUC.type, appObject);
9
+ }
10
+ }
11
+ exports.LabelDropCorrectAnimationUC = LabelDropCorrectAnimationUC;
12
+ LabelDropCorrectAnimationUC.type = "LabelDropCorrectAnimation";
13
+ function makeLabelDropCorrectAnimationUC(appObject) {
14
+ return new LabelDropCorrectAnimationUCImp(appObject);
15
+ }
16
+ exports.makeLabelDropCorrectAnimationUC = makeLabelDropCorrectAnimationUC;
17
+ class LabelDropCorrectAnimationUCImp extends LabelDropCorrectAnimationUC {
18
+ constructor(appObject) {
19
+ super(appObject, LabelDropCorrectAnimationUC.type);
20
+ this.feedbackDurationMS = 1000;
21
+ this.fadeDurationMS = 200;
22
+ this._isAnimating = false;
23
+ this.intervalDeltaMS = 10;
24
+ this.cancelAnimation = false;
25
+ this.start = () => {
26
+ if (!this.labelDropEntity) {
27
+ return Promise.reject(new Error("No label drop entity"));
28
+ }
29
+ return new Promise((resolve) => {
30
+ const startTime = Date.now();
31
+ const fadeStartTime = startTime + this.feedbackDurationMS;
32
+ const endTime = startTime + this.fadeDurationMS + this.feedbackDurationMS;
33
+ this._isAnimating = true;
34
+ const interval = setInterval(() => {
35
+ if (!this.labelDropEntity)
36
+ return;
37
+ if (this.cancelAnimation) {
38
+ clearInterval(interval);
39
+ this.cancelAnimation = false;
40
+ resolve(false);
41
+ return;
42
+ }
43
+ const currentTime = Date.now();
44
+ if (currentTime >= endTime || this.cancelAnimation) {
45
+ this._isAnimating = false;
46
+ this.labelDropEntity.dragAlpha = 0;
47
+ clearInterval(interval);
48
+ resolve(true);
49
+ }
50
+ else if (currentTime >= fadeStartTime) {
51
+ const fadePercent = (currentTime - fadeStartTime) / this.fadeDurationMS;
52
+ this.labelDropEntity.dragAlpha = 1 - fadePercent;
53
+ }
54
+ }, this.intervalDeltaMS);
55
+ });
56
+ };
57
+ this.cancel = () => {
58
+ if (!this.getIsAnimating) {
59
+ return;
60
+ }
61
+ this.cancelAnimation = true;
62
+ };
63
+ this.labelDropEntity = appObject.getComponent(LabelDropRepo_1.LabelDropRepo.type);
64
+ if (!this.labelDropEntity) {
65
+ this.error("UC added to an app object that does not have a LabelDropEntity");
66
+ }
67
+ this.appObjects.registerSingleton(this);
68
+ }
69
+ getIsAnimating() {
70
+ return this._isAnimating;
71
+ }
72
+ }
@@ -0,0 +1,7 @@
1
+ import { AppObject, AppObjectRepo, AppObjectUC } from "../../../AppObject";
2
+ export declare abstract class DeleteAllLabelDropUC extends AppObjectUC {
3
+ static readonly type = "DeleteAllLabelDropUC";
4
+ abstract delete(): void;
5
+ static get(appObjects: AppObjectRepo): DeleteAllLabelDropUC | undefined;
6
+ }
7
+ export declare function makeDeleteAllLabelDropUC(appObject: AppObject): DeleteAllLabelDropUC;