@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.
- package/lib/Components/Callouts/UC/LookAtCameraUC.js +1 -1
- package/lib/Components/Camera/PM/CameraPM.d.ts +1 -0
- package/lib/Components/Camera/PM/CameraPM.js +8 -1
- package/lib/Components/Camera/index.d.ts +2 -0
- package/lib/Components/Camera/index.js +2 -0
- package/lib/Components/Challenge/Adapters/challengeAuthorHelpHookAdapter.d.ts +2 -2
- package/lib/Components/Challenge/Adapters/challengeConsumerHelpHookAdapter.d.ts +2 -2
- package/lib/Components/Challenge/Adapters/selectedChallengeHookAdapter.d.ts +2 -2
- package/lib/Components/Challenge/Adapters/selectedChallengeHookAdapter.js +20 -26
- package/lib/Components/Challenge/Controller/setChallenge.d.ts +1 -1
- package/lib/Components/Challenge/Entities/ChallengeEntity.d.ts +19 -26
- package/lib/Components/Challenge/Entities/ChallengeEntity.js +43 -53
- package/lib/Components/Challenge/Mocks/MockSelectedChallengePM.d.ts +2 -2
- package/lib/Components/Challenge/Mocks/MockSetChallengeUC.d.ts +2 -2
- package/lib/Components/Challenge/Mocks/index.d.ts +2 -0
- package/lib/Components/Challenge/Mocks/index.js +2 -0
- package/lib/Components/Challenge/PMs/ChallengeAuthorHelpPM.d.ts +1 -1
- package/lib/Components/Challenge/PMs/ChallengeAuthorHelpPM.js +6 -7
- package/lib/Components/Challenge/PMs/ChallengeConsumerHelpPM.d.ts +1 -1
- package/lib/Components/Challenge/PMs/ChallengeConsumerHelpPM.js +13 -16
- package/lib/Components/Challenge/PMs/SelectedChallengePM.d.ts +7 -6
- package/lib/Components/Challenge/PMs/SelectedChallengePM.js +14 -11
- package/lib/Components/Challenge/UCs/SerializeChallenge.d.ts +1 -1
- package/lib/Components/Challenge/UCs/SerializeChallenge.js +3 -7
- package/lib/Components/Challenge/UCs/SetChallengeUC.d.ts +4 -4
- package/lib/Components/Challenge/UCs/SetChallengeUC.js +23 -9
- package/lib/Components/Challenge/UCs/ShowChallengeHelpUC.d.ts +1 -1
- package/lib/Components/Challenge/UCs/ShowChallengeHelpUC.js +2 -2
- package/lib/Components/Challenge/UCs/TryChallengeAgainUC.d.ts +2 -1
- package/lib/Components/Challenge/UCs/TryChallengeAgainUC.js +25 -1
- package/lib/Components/Challenge/UCs/index.d.ts +0 -1
- package/lib/Components/Challenge/UCs/index.js +0 -1
- package/lib/Components/ChannelModel/Adapters/channelModelAdapter.js +2 -0
- package/lib/Components/ChannelModel/Adapters/index.d.ts +2 -0
- package/lib/Components/ChannelModel/Adapters/index.js +2 -0
- package/lib/Components/ChannelModel/Controllers/index.d.ts +1 -0
- package/lib/Components/ChannelModel/Controllers/index.js +1 -0
- package/lib/Components/ChannelModel/Mocks/ValidateChannelModelMock.d.ts +8 -0
- package/lib/Components/ChannelModel/Mocks/ValidateChannelModelMock.js +15 -0
- package/lib/Components/ChannelModel/Mocks/ValidateObjectPickUcMock.d.ts +8 -0
- package/lib/Components/ChannelModel/Mocks/ValidateObjectPickUcMock.js +15 -0
- package/lib/Components/ChannelModel/Mocks/index.d.ts +4 -0
- package/lib/Components/ChannelModel/Mocks/index.js +4 -0
- package/lib/Components/ChannelModel/PMs/index.d.ts +2 -0
- package/lib/Components/ChannelModel/PMs/index.js +2 -0
- package/lib/Components/ChannelModel/UC/ValidateChannelModel.d.ts +8 -0
- package/lib/Components/ChannelModel/UC/ValidateChannelModel.js +48 -0
- package/lib/Components/ChannelModel/UC/index.d.ts +3 -0
- package/lib/Components/ChannelModel/UC/index.js +3 -0
- package/lib/Components/Dispatcher/UC/DispatchStateChangeUC.js +1 -1
- package/lib/Components/Hideable/Adapters/isHiddenAdapter.js +2 -0
- package/lib/Components/Hideable/UCs/SerializeHideableObjects.d.ts +2 -2
- package/lib/Components/Hideable/UCs/SerializeHideableObjects.js +9 -9
- package/lib/Components/Hideable/UCs/index.d.ts +1 -0
- package/lib/Components/Hideable/UCs/index.js +1 -0
- package/lib/Components/Label/Adapters/labelAdapter.js +2 -0
- package/lib/Components/LabelDrop/Adapters/index.d.ts +6 -0
- package/lib/Components/LabelDrop/Adapters/index.js +18 -0
- package/lib/Components/LabelDrop/Adapters/labelDropDragItemAdapter.d.ts +3 -0
- package/lib/Components/LabelDrop/Adapters/labelDropDragItemAdapter.js +19 -0
- package/lib/Components/LabelDrop/Adapters/labelDropEditingIdAdapter.d.ts +3 -0
- package/lib/Components/LabelDrop/Adapters/labelDropEditingIdAdapter.js +19 -0
- package/lib/Components/LabelDrop/Adapters/labelDropListAdapter.d.ts +3 -0
- package/lib/Components/LabelDrop/Adapters/labelDropListAdapter.js +19 -0
- package/lib/Components/LabelDrop/Adapters/labelDropReviewAdapter.d.ts +3 -0
- package/lib/Components/LabelDrop/Adapters/labelDropReviewAdapter.js +19 -0
- package/lib/Components/LabelDrop/Adapters/labelDropTargetsAdapter.d.ts +3 -0
- package/lib/Components/LabelDrop/Adapters/labelDropTargetsAdapter.js +23 -0
- package/lib/Components/LabelDrop/Adapters/remainingLabelDropListAdapter.d.ts +3 -0
- package/lib/Components/LabelDrop/Adapters/remainingLabelDropListAdapter.js +19 -0
- package/lib/Components/LabelDrop/Controller/MouseLabelDropAuthor.d.ts +7 -0
- package/lib/Components/LabelDrop/Controller/MouseLabelDropAuthor.js +31 -0
- package/lib/Components/LabelDrop/Controller/StylusLabelDrop.d.ts +9 -0
- package/lib/Components/LabelDrop/Controller/StylusLabelDrop.js +61 -0
- package/lib/Components/LabelDrop/Controller/TouchLabelDropAuthor.d.ts +7 -0
- package/lib/Components/LabelDrop/Controller/TouchLabelDropAuthor.js +31 -0
- package/lib/Components/LabelDrop/Controller/addNewLabelDropAnswer.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/addNewLabelDropAnswer.js +13 -0
- package/lib/Components/LabelDrop/Controller/deleteAllLabelDropAnswers.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/deleteAllLabelDropAnswers.js +13 -0
- package/lib/Components/LabelDrop/Controller/deleteLabelDropAnswer.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/deleteLabelDropAnswer.js +13 -0
- package/lib/Components/LabelDrop/Controller/discardEditLabelDropAnswer.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/discardEditLabelDropAnswer.js +19 -0
- package/lib/Components/LabelDrop/Controller/dragLabelDropAnswerItemScreen.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/dragLabelDropAnswerItemScreen.js +14 -0
- package/lib/Components/LabelDrop/Controller/editLabelDropAnswerItem.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/editLabelDropAnswerItem.js +13 -0
- package/lib/Components/LabelDrop/Controller/index.d.ts +15 -0
- package/lib/Components/LabelDrop/Controller/index.js +27 -0
- package/lib/Components/LabelDrop/Controller/initializeDragLabelDropAnswerItem.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/initializeDragLabelDropAnswerItem.js +14 -0
- package/lib/Components/LabelDrop/Controller/initializeDragLabelDropAnswerItemWorld.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/initializeDragLabelDropAnswerItemWorld.js +19 -0
- package/lib/Components/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js +28 -0
- package/lib/Components/LabelDrop/Controller/releaseLabelDropAnswerItemWorld.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/releaseLabelDropAnswerItemWorld.js +19 -0
- package/lib/Components/LabelDrop/Controller/saveEditLabelDropAnswer.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/saveEditLabelDropAnswer.js +13 -0
- package/lib/Components/LabelDrop/Controller/toggleLabelDropItemTarget.d.ts +2 -0
- package/lib/Components/LabelDrop/Controller/toggleLabelDropItemTarget.js +13 -0
- package/lib/Components/LabelDrop/Entities/LabelDropItemEntity.d.ts +33 -0
- package/lib/Components/LabelDrop/Entities/LabelDropItemEntity.js +88 -0
- package/lib/Components/LabelDrop/Entities/LabelDropRepo.d.ts +51 -0
- package/lib/Components/LabelDrop/Entities/LabelDropRepo.js +193 -0
- package/lib/Components/LabelDrop/Entities/index.d.ts +2 -0
- package/lib/Components/LabelDrop/Entities/index.js +14 -0
- package/lib/Components/LabelDrop/Mocks/DeleteLabelDropUcMock.d.ts +8 -0
- package/lib/Components/LabelDrop/Mocks/DeleteLabelDropUcMock.js +15 -0
- package/lib/Components/LabelDrop/Mocks/EditLabelDropUcMock.d.ts +10 -0
- package/lib/Components/LabelDrop/Mocks/EditLabelDropUcMock.js +17 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropAnswerItemDetailsPmMock.d.ts +7 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropAnswerItemDetailsPmMock.js +11 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropDragItemPmMock.d.ts +8 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropDragItemPmMock.js +15 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropEditingIdPmMock.d.ts +8 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropEditingIdPmMock.js +15 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropListPmMock.d.ts +8 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropListPmMock.js +15 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropReviewPmMock.d.ts +8 -0
- package/lib/Components/LabelDrop/Mocks/LabelDropReviewPmMock.js +15 -0
- package/lib/Components/LabelDrop/Mocks/MockCorrectAnimation.d.ts +12 -0
- package/lib/Components/LabelDrop/Mocks/MockCorrectAnimation.js +19 -0
- package/lib/Components/LabelDrop/Mocks/MockDragLabelDropUC.d.ts +12 -0
- package/lib/Components/LabelDrop/Mocks/MockDragLabelDropUC.js +19 -0
- package/lib/Components/LabelDrop/Mocks/MockDragLabelDropWorldUC.d.ts +13 -0
- package/lib/Components/LabelDrop/Mocks/MockDragLabelDropWorldUC.js +20 -0
- package/lib/Components/LabelDrop/Mocks/MockDropAnimation.d.ts +15 -0
- package/lib/Components/LabelDrop/Mocks/MockDropAnimation.js +22 -0
- package/lib/Components/LabelDrop/Mocks/MockIncorrectAnimation.d.ts +14 -0
- package/lib/Components/LabelDrop/Mocks/MockIncorrectAnimation.js +21 -0
- package/lib/Components/LabelDrop/Mocks/RemainingLabelDropListPmMock.d.ts +8 -0
- package/lib/Components/LabelDrop/Mocks/RemainingLabelDropListPmMock.js +15 -0
- package/lib/Components/LabelDrop/Mocks/ToggleLabelDropTargetUcMock.d.ts +10 -0
- package/lib/Components/LabelDrop/Mocks/ToggleLabelDropTargetUcMock.js +17 -0
- package/lib/Components/LabelDrop/Mocks/ValidateLabelDropUc.d.ts +8 -0
- package/lib/Components/LabelDrop/Mocks/ValidateLabelDropUc.js +15 -0
- package/lib/Components/LabelDrop/Mocks/index.d.ts +15 -0
- package/lib/Components/LabelDrop/Mocks/index.js +27 -0
- package/lib/Components/LabelDrop/PM/LabelDropDragItemPM.d.ts +18 -0
- package/lib/Components/LabelDrop/PM/LabelDropDragItemPM.js +84 -0
- package/lib/Components/LabelDrop/PM/LabelDropEditingIDPM.d.ts +11 -0
- package/lib/Components/LabelDrop/PM/LabelDropEditingIDPM.js +46 -0
- package/lib/Components/LabelDrop/PM/LabelDropListPM.d.ts +11 -0
- package/lib/Components/LabelDrop/PM/LabelDropListPM.js +56 -0
- package/lib/Components/LabelDrop/PM/LabelDropReviewPM.d.ts +11 -0
- package/lib/Components/LabelDrop/PM/LabelDropReviewPM.js +57 -0
- package/lib/Components/LabelDrop/PM/LabelDropTargetsPM.d.ts +11 -0
- package/lib/Components/LabelDrop/PM/LabelDropTargetsPM.js +55 -0
- package/lib/Components/LabelDrop/PM/RemainingLabelDropListPM.d.ts +10 -0
- package/lib/Components/LabelDrop/PM/RemainingLabelDropListPM.js +56 -0
- package/lib/Components/LabelDrop/PM/index.d.ts +6 -0
- package/lib/Components/LabelDrop/PM/index.js +18 -0
- package/lib/Components/LabelDrop/UseCases/CorrectAnimationUC.d.ts +12 -0
- package/lib/Components/LabelDrop/UseCases/CorrectAnimationUC.js +72 -0
- package/lib/Components/LabelDrop/UseCases/DeleteAllLabelDropUC.d.ts +7 -0
- package/lib/Components/LabelDrop/UseCases/DeleteAllLabelDropUC.js +62 -0
- package/lib/Components/LabelDrop/UseCases/DeleteLabelDropUC.d.ts +7 -0
- package/lib/Components/LabelDrop/UseCases/DeleteLabelDropUC.js +61 -0
- package/lib/Components/LabelDrop/UseCases/DragLabelDropUC.d.ts +11 -0
- package/lib/Components/LabelDrop/UseCases/DragLabelDropUC.js +171 -0
- package/lib/Components/LabelDrop/UseCases/DragLabelDropWorldUC.d.ts +11 -0
- package/lib/Components/LabelDrop/UseCases/DragLabelDropWorldUC.js +181 -0
- package/lib/Components/LabelDrop/UseCases/DropOnNothingAnimationUC.d.ts +13 -0
- package/lib/Components/LabelDrop/UseCases/DropOnNothingAnimationUC.js +84 -0
- package/lib/Components/LabelDrop/UseCases/EditLabelDropUC.d.ts +9 -0
- package/lib/Components/LabelDrop/UseCases/EditLabelDropUC.js +149 -0
- package/lib/Components/LabelDrop/UseCases/IncorrectAnimationUC.d.ts +14 -0
- package/lib/Components/LabelDrop/UseCases/IncorrectAnimationUC.js +86 -0
- package/lib/Components/LabelDrop/UseCases/InitializeLabelDropLabelHook.d.ts +7 -0
- package/lib/Components/LabelDrop/UseCases/InitializeLabelDropLabelHook.js +36 -0
- package/lib/Components/LabelDrop/UseCases/LabelDropAnimation.d.ts +5 -0
- package/lib/Components/LabelDrop/UseCases/LabelDropAnimation.js +2 -0
- package/lib/Components/LabelDrop/UseCases/SerializeLabelDrop.d.ts +21 -0
- package/lib/Components/LabelDrop/UseCases/SerializeLabelDrop.js +69 -0
- package/lib/Components/LabelDrop/UseCases/ToggleLabelDropTargetUC.d.ts +10 -0
- package/lib/Components/LabelDrop/UseCases/ToggleLabelDropTargetUC.js +66 -0
- package/lib/Components/LabelDrop/UseCases/ValidateLabelDrop.d.ts +9 -0
- package/lib/Components/LabelDrop/UseCases/ValidateLabelDrop.js +59 -0
- package/lib/Components/LabelDrop/UseCases/index.d.ts +14 -0
- package/lib/Components/LabelDrop/UseCases/index.js +26 -0
- package/lib/Components/LabelDrop/UseCases/labelDropLabelValidator.d.ts +1 -0
- package/lib/Components/LabelDrop/UseCases/labelDropLabelValidator.js +16 -0
- package/lib/Components/LabelDrop/index.d.ts +6 -0
- package/lib/Components/LabelDrop/index.js +18 -0
- package/lib/Components/Question/Entities/QuestionEntity.d.ts +7 -1
- package/lib/Components/Question/Entities/QuestionEntity.js +8 -0
- package/lib/Components/Question/Mocks/MockValidateQuestion.d.ts +1 -1
- package/lib/Components/Question/Mocks/MockValidateQuestion.js +3 -3
- package/lib/Components/Question/Mocks/index.d.ts +2 -0
- package/lib/Components/Question/Mocks/index.js +14 -0
- package/lib/Components/Question/PM/QuestionChallengePM.js +2 -2
- package/lib/Components/Question/UC/SubmitQuestionAnswerUC.js +2 -2
- package/lib/Components/Question/UC/ValidateQuestionChallengeStateUC.js +2 -2
- package/lib/Components/Question/index.d.ts +1 -0
- package/lib/Components/Question/index.js +1 -0
- package/lib/Components/RequestHandler/UC/SetAppStateUC.js +1 -1
- package/lib/Components/RequestHandler/UC/SetIsAuthoringUC.js +2 -2
- package/lib/Components/RequestHandler/UC/StartAppUC.js +2 -2
- package/lib/Components/RequestHandler/UC/StopAppUC.js +2 -2
- package/lib/Components/Transform3D/Controllers/Mouse/index.d.ts +1 -0
- package/lib/Components/Transform3D/Controllers/Mouse/index.js +1 -0
- package/lib/Components/Transform3D/Controllers/Touch/index.d.ts +1 -0
- package/lib/Components/Transform3D/Controllers/Touch/index.js +1 -0
- package/lib/Components/Transform3D/Mocks/MockPanTransformUC.d.ts +1 -0
- package/lib/Components/Transform3D/Mocks/MockPanTransformUC.js +1 -0
- package/lib/Components/Transform3D/Mocks/index.d.ts +1 -0
- package/lib/Components/Transform3D/Mocks/index.js +1 -0
- package/lib/Components/Transform3D/UC/PanTransformUC.d.ts +3 -1
- package/lib/Components/Transform3D/UC/PanTransformUC.js +24 -6
- package/lib/Components/Transform3D/UC/StylusMoveTransformUC.js +10 -10
- package/lib/Components/Transform3D/UC/index.d.ts +1 -0
- package/lib/Components/Transform3D/UC/index.js +1 -0
- package/lib/Components/index.d.ts +4 -1
- package/lib/Components/index.js +4 -1
- package/lib/ValueObjects/Quaternion.d.ts +1 -0
- package/lib/ValueObjects/Quaternion.js +11 -0
- package/package.json +1 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeMouseLabelDropAuthor = exports.MouseLabelDropAuthor = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const MouseInput_1 = require("../../MouseInput/Entities/MouseInput");
|
|
6
|
+
const ToggleLabelDropTargetUC_1 = require("../UseCases/ToggleLabelDropTargetUC");
|
|
7
|
+
class MouseLabelDropAuthor extends AppObject_1.AppObjectController {
|
|
8
|
+
}
|
|
9
|
+
exports.MouseLabelDropAuthor = MouseLabelDropAuthor;
|
|
10
|
+
MouseLabelDropAuthor.type = "MouseLabelDropAuthor";
|
|
11
|
+
function makeMouseLabelDropAuthor(appObject) {
|
|
12
|
+
return new MouseLabelDropAuthorImp(appObject);
|
|
13
|
+
}
|
|
14
|
+
exports.makeMouseLabelDropAuthor = makeMouseLabelDropAuthor;
|
|
15
|
+
class MouseLabelDropAuthorImp extends MouseLabelDropAuthor {
|
|
16
|
+
constructor(appObject) {
|
|
17
|
+
var _a;
|
|
18
|
+
super(appObject, MouseLabelDropAuthor.type);
|
|
19
|
+
this.onClick = (e) => {
|
|
20
|
+
var _a;
|
|
21
|
+
(_a = this.addLabelDropCorrectObjectFromRayUC) === null || _a === void 0 ? void 0 : _a.tryToggleFromPixel(e.position);
|
|
22
|
+
};
|
|
23
|
+
(_a = this.mouseInput) === null || _a === void 0 ? void 0 : _a.registerController(this);
|
|
24
|
+
}
|
|
25
|
+
get mouseInput() {
|
|
26
|
+
return this.getCachedSingleton(MouseInput_1.MouseInputEntity.type);
|
|
27
|
+
}
|
|
28
|
+
get addLabelDropCorrectObjectFromRayUC() {
|
|
29
|
+
return this.getCachedSingleton(ToggleLabelDropTargetUC_1.ToggleLabelDropTargetUC.type);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { AppObject, AppObjectController } from "../../../AppObject";
|
|
2
|
+
import { StylusController } from "../../Stylus/Entity/StylusEntity";
|
|
3
|
+
export declare abstract class StylusLabelDrop extends AppObjectController implements StylusController {
|
|
4
|
+
static type: string;
|
|
5
|
+
abstract onButtonDown: (e: number) => void;
|
|
6
|
+
abstract onStylusMove: () => void;
|
|
7
|
+
abstract onButtonUp: (e: number) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function makeStylusLabelDrop(appObject: AppObject): StylusLabelDrop;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeStylusLabelDrop = exports.StylusLabelDrop = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const StylusEntity_1 = require("../../Stylus/Entity/StylusEntity");
|
|
6
|
+
const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
|
|
7
|
+
const DragLabelDropWorldUC_1 = require("../UseCases/DragLabelDropWorldUC");
|
|
8
|
+
class StylusLabelDrop extends AppObject_1.AppObjectController {
|
|
9
|
+
}
|
|
10
|
+
exports.StylusLabelDrop = StylusLabelDrop;
|
|
11
|
+
StylusLabelDrop.type = "StylusLabelDrop";
|
|
12
|
+
function makeStylusLabelDrop(appObject) {
|
|
13
|
+
return new StylusLabelDropImp(appObject);
|
|
14
|
+
}
|
|
15
|
+
exports.makeStylusLabelDrop = makeStylusLabelDrop;
|
|
16
|
+
class StylusLabelDropImp extends StylusLabelDrop {
|
|
17
|
+
constructor(appObject) {
|
|
18
|
+
super(appObject, StylusLabelDrop.type);
|
|
19
|
+
this.onButtonDown = (button) => { };
|
|
20
|
+
this.onStylusMove = () => {
|
|
21
|
+
if (!this.stylus)
|
|
22
|
+
return;
|
|
23
|
+
if (!this.labelDropEntity)
|
|
24
|
+
return;
|
|
25
|
+
if (!this.labelDropEntity.draggingID)
|
|
26
|
+
return;
|
|
27
|
+
if (!this.dragLabelDropWorldUC)
|
|
28
|
+
return;
|
|
29
|
+
this.dragLabelDropWorldUC.updateDrag(this.stylus.pickRay);
|
|
30
|
+
};
|
|
31
|
+
this.onButtonUp = (button) => {
|
|
32
|
+
if (!this.stylus)
|
|
33
|
+
return;
|
|
34
|
+
if (!this.labelDropEntity)
|
|
35
|
+
return;
|
|
36
|
+
if (!this.labelDropEntity.draggingID)
|
|
37
|
+
return;
|
|
38
|
+
if (!this.dragLabelDropWorldUC)
|
|
39
|
+
return;
|
|
40
|
+
this.dragLabelDropWorldUC.releaseDrag(this.stylus.pickRay);
|
|
41
|
+
};
|
|
42
|
+
this.labelDropEntity = LabelDropRepo_1.LabelDropRepo.get(this.appObjects);
|
|
43
|
+
if (!this.labelDropEntity) {
|
|
44
|
+
this.error("[StylusLabelDrop] unable to find LabelDropEntity");
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
this.dragLabelDropWorldUC = DragLabelDropWorldUC_1.DragLabelDropWorldUC.get(this.appObjects);
|
|
48
|
+
if (!this.dragLabelDropWorldUC) {
|
|
49
|
+
this.error("[StylusLabelDrop] unable to find DragLabelDropWorldUC");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
if (!this.stylus) {
|
|
53
|
+
this.error("[StylusLabelDrop] unable to find ZSpaceStylusEntity");
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
this.stylus.registerController(this);
|
|
57
|
+
}
|
|
58
|
+
get stylus() {
|
|
59
|
+
return this.getCachedSingleton(StylusEntity_1.StylusEntity.type);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AppObject, AppObjectController } from "../../../AppObject";
|
|
2
|
+
import { TouchController, TouchInputEvent } from "../../TouchController/Entities/TouchInput";
|
|
3
|
+
export declare abstract class TouchLabelDropAuthor extends AppObjectController implements TouchController {
|
|
4
|
+
static type: string;
|
|
5
|
+
abstract onTap: (e: TouchInputEvent) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function makeTouchLabelDropAuthor(appObject: AppObject): TouchLabelDropAuthor;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeTouchLabelDropAuthor = exports.TouchLabelDropAuthor = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const TouchInput_1 = require("../../TouchController/Entities/TouchInput");
|
|
6
|
+
const ToggleLabelDropTargetUC_1 = require("../UseCases/ToggleLabelDropTargetUC");
|
|
7
|
+
class TouchLabelDropAuthor extends AppObject_1.AppObjectController {
|
|
8
|
+
}
|
|
9
|
+
exports.TouchLabelDropAuthor = TouchLabelDropAuthor;
|
|
10
|
+
TouchLabelDropAuthor.type = "TouchLabelDropAuthor";
|
|
11
|
+
function makeTouchLabelDropAuthor(appObject) {
|
|
12
|
+
return new TouchLabelDropAuthorImp(appObject);
|
|
13
|
+
}
|
|
14
|
+
exports.makeTouchLabelDropAuthor = makeTouchLabelDropAuthor;
|
|
15
|
+
class TouchLabelDropAuthorImp extends TouchLabelDropAuthor {
|
|
16
|
+
constructor(appObject) {
|
|
17
|
+
var _a;
|
|
18
|
+
super(appObject, TouchLabelDropAuthor.type);
|
|
19
|
+
this.onTap = (e) => {
|
|
20
|
+
var _a;
|
|
21
|
+
(_a = this.addLabelDropCorrectObjectFromRayUC) === null || _a === void 0 ? void 0 : _a.tryToggleFromPixel(e.touchCenter);
|
|
22
|
+
};
|
|
23
|
+
(_a = this.touchInput) === null || _a === void 0 ? void 0 : _a.registerController(this);
|
|
24
|
+
}
|
|
25
|
+
get addLabelDropCorrectObjectFromRayUC() {
|
|
26
|
+
return this.getCachedSingleton(ToggleLabelDropTargetUC_1.ToggleLabelDropTargetUC.type);
|
|
27
|
+
}
|
|
28
|
+
get touchInput() {
|
|
29
|
+
return this.getCachedSingleton(TouchInput_1.TouchInputEntity.type);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addNewLabelDropAnswer = void 0;
|
|
4
|
+
const EditLabelDropUC_1 = require("../UseCases/EditLabelDropUC");
|
|
5
|
+
function addNewLabelDropAnswer(appObjects) {
|
|
6
|
+
const editUC = EditLabelDropUC_1.EditLabelDropUC.get(appObjects);
|
|
7
|
+
if (!editUC) {
|
|
8
|
+
appObjects.submitWarning("addNewLabelDropAnswer", "Unable to find EditLabelDropUC");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
editUC.start();
|
|
12
|
+
}
|
|
13
|
+
exports.addNewLabelDropAnswer = addNewLabelDropAnswer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteAllLabelDropAnswers = void 0;
|
|
4
|
+
const DeleteAllLabelDropUC_1 = require("../UseCases/DeleteAllLabelDropUC");
|
|
5
|
+
function deleteAllLabelDropAnswers(appObjects) {
|
|
6
|
+
const uc = DeleteAllLabelDropUC_1.DeleteAllLabelDropUC.get(appObjects);
|
|
7
|
+
if (!uc) {
|
|
8
|
+
appObjects.submitWarning("deleteAllLabelDropAnswers", "Unable to find DeleteAllLabelDropUC");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
uc.delete();
|
|
12
|
+
}
|
|
13
|
+
exports.deleteAllLabelDropAnswers = deleteAllLabelDropAnswers;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.deleteLabelDropAnswer = void 0;
|
|
4
|
+
const DeleteLabelDropUC_1 = require("../UseCases/DeleteLabelDropUC");
|
|
5
|
+
function deleteLabelDropAnswer(id, appObjects) {
|
|
6
|
+
const uc = DeleteLabelDropUC_1.DeleteLabelDropUC.get(appObjects);
|
|
7
|
+
if (!uc) {
|
|
8
|
+
appObjects.submitWarning("deleteLabelDropAnswer", "Unable to find DeleteLabelDropUC");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
uc.deleteLabelDrop(id);
|
|
12
|
+
}
|
|
13
|
+
exports.deleteLabelDropAnswer = deleteLabelDropAnswer;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.discardEditLabelDropAnswer = void 0;
|
|
4
|
+
const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
|
|
5
|
+
const EditLabelDropUC_1 = require("../UseCases/EditLabelDropUC");
|
|
6
|
+
function discardEditLabelDropAnswer(appObjects) {
|
|
7
|
+
const labelDropEntity = LabelDropRepo_1.LabelDropRepo.get(appObjects);
|
|
8
|
+
if (!labelDropEntity) {
|
|
9
|
+
appObjects.submitWarning("discardEditLabelDropAnswer", "Unable to find LabelDropEntity");
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const editUC = EditLabelDropUC_1.EditLabelDropUC.get(appObjects);
|
|
13
|
+
if (!editUC) {
|
|
14
|
+
appObjects.submitWarning("discardEditLabelDropAnswer", "Unable to find EditLabelDropUC");
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
editUC.discard();
|
|
18
|
+
}
|
|
19
|
+
exports.discardEditLabelDropAnswer = discardEditLabelDropAnswer;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.dragLabelDropAnswerItemScreen = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../../../ValueObjects");
|
|
5
|
+
const DragLabelDropUC_1 = require("../UseCases/DragLabelDropUC");
|
|
6
|
+
function dragLabelDropAnswerItemScreen(screenX, screenY, appObjects) {
|
|
7
|
+
const uc = DragLabelDropUC_1.DragLabelDropUC.get(appObjects);
|
|
8
|
+
if (!uc) {
|
|
9
|
+
appObjects.submitWarning("dragLabelDropAnswerItem", "Unable to find DragLabelDropUC");
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
uc.setPosition2D(new ValueObjects_1.Vector2(screenX, screenY));
|
|
13
|
+
}
|
|
14
|
+
exports.dragLabelDropAnswerItemScreen = dragLabelDropAnswerItemScreen;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.editLabelDropAnswerItem = void 0;
|
|
4
|
+
const EditLabelDropUC_1 = require("../UseCases/EditLabelDropUC");
|
|
5
|
+
function editLabelDropAnswerItem(labelDropID, appObjects) {
|
|
6
|
+
const editLabelDropUC = EditLabelDropUC_1.EditLabelDropUC.get(appObjects);
|
|
7
|
+
if (!editLabelDropUC) {
|
|
8
|
+
appObjects.submitWarning("editLabelDropAnswerItem", "Unable to find EditLabelDropUC");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
editLabelDropUC.start(labelDropID);
|
|
12
|
+
}
|
|
13
|
+
exports.editLabelDropAnswerItem = editLabelDropAnswerItem;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from "./MouseLabelDropAuthor";
|
|
2
|
+
export * from "./StylusLabelDrop";
|
|
3
|
+
export * from "./TouchLabelDropAuthor";
|
|
4
|
+
export * from "./addNewLabelDropAnswer";
|
|
5
|
+
export * from "./deleteAllLabelDropAnswers";
|
|
6
|
+
export * from "./deleteLabelDropAnswer";
|
|
7
|
+
export * from "./discardEditLabelDropAnswer";
|
|
8
|
+
export * from "./dragLabelDropAnswerItemScreen";
|
|
9
|
+
export * from "./editLabelDropAnswerItem";
|
|
10
|
+
export * from "./initializeDragLabelDropAnswerItem";
|
|
11
|
+
export * from "./initializeDragLabelDropAnswerItemWorld";
|
|
12
|
+
export * from "./releaseLabelDropAnswerItemScreen";
|
|
13
|
+
export * from "./releaseLabelDropAnswerItemWorld";
|
|
14
|
+
export * from "./saveEditLabelDropAnswer";
|
|
15
|
+
export * from "./toggleLabelDropItemTarget";
|
|
@@ -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("./MouseLabelDropAuthor"), exports);
|
|
14
|
+
__exportStar(require("./StylusLabelDrop"), exports);
|
|
15
|
+
__exportStar(require("./TouchLabelDropAuthor"), exports);
|
|
16
|
+
__exportStar(require("./addNewLabelDropAnswer"), exports);
|
|
17
|
+
__exportStar(require("./deleteAllLabelDropAnswers"), exports);
|
|
18
|
+
__exportStar(require("./deleteLabelDropAnswer"), exports);
|
|
19
|
+
__exportStar(require("./discardEditLabelDropAnswer"), exports);
|
|
20
|
+
__exportStar(require("./dragLabelDropAnswerItemScreen"), exports);
|
|
21
|
+
__exportStar(require("./editLabelDropAnswerItem"), exports);
|
|
22
|
+
__exportStar(require("./initializeDragLabelDropAnswerItem"), exports);
|
|
23
|
+
__exportStar(require("./initializeDragLabelDropAnswerItemWorld"), exports);
|
|
24
|
+
__exportStar(require("./releaseLabelDropAnswerItemScreen"), exports);
|
|
25
|
+
__exportStar(require("./releaseLabelDropAnswerItemWorld"), exports);
|
|
26
|
+
__exportStar(require("./saveEditLabelDropAnswer"), exports);
|
|
27
|
+
__exportStar(require("./toggleLabelDropItemTarget"), exports);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeDragLabelDropAnswerItem = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../../../ValueObjects");
|
|
5
|
+
const DragLabelDropUC_1 = require("../UseCases/DragLabelDropUC");
|
|
6
|
+
function initializeDragLabelDropAnswerItem(labelDropID, screenX, screenY, appObjects) {
|
|
7
|
+
const uc = DragLabelDropUC_1.DragLabelDropUC.get(appObjects);
|
|
8
|
+
if (!uc) {
|
|
9
|
+
appObjects.submitWarning("initializeDragLabelDropAnswerItem", "Unable to find DragLabelDropUC");
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
uc.initialize(labelDropID, new ValueObjects_1.Vector2(screenX, screenY));
|
|
13
|
+
}
|
|
14
|
+
exports.initializeDragLabelDropAnswerItem = initializeDragLabelDropAnswerItem;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.initializeDragLabelDropAnswerItemWorld = void 0;
|
|
4
|
+
const StylusEntity_1 = require("../../Stylus/Entity/StylusEntity");
|
|
5
|
+
const DragLabelDropWorldUC_1 = require("../UseCases/DragLabelDropWorldUC");
|
|
6
|
+
function initializeDragLabelDropAnswerItemWorld(labelDropID, appObjects) {
|
|
7
|
+
const uc = DragLabelDropWorldUC_1.DragLabelDropWorldUC.get(appObjects);
|
|
8
|
+
if (!uc) {
|
|
9
|
+
appObjects.submitWarning("initializeDragLabelDropAnswerItem", "Unable to find DragLabelDropWorldUC");
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const stylus = StylusEntity_1.StylusEntity.get(appObjects);
|
|
13
|
+
if (!stylus) {
|
|
14
|
+
appObjects.submitError("initializeDragLabelDropAnswerItemWorld", "Unable to find StylusEntity");
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
uc.initializeDrag(labelDropID, stylus.pickRay);
|
|
18
|
+
}
|
|
19
|
+
exports.initializeDragLabelDropAnswerItemWorld = initializeDragLabelDropAnswerItemWorld;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.releaseLabelDropAnswerItemScreen = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../../../ValueObjects");
|
|
5
|
+
const PixelToSceneRayUC_1 = require("../../Babylon/UC/PixelToSceneRayUC");
|
|
6
|
+
const FramedScreenEntity_1 = require("../../FramedScreen/Entities/FramedScreenEntity");
|
|
7
|
+
const DragLabelDropUC_1 = require("../UseCases/DragLabelDropUC");
|
|
8
|
+
function releaseLabelDropAnswerItemScreen(screenX, screenY, appObjects) {
|
|
9
|
+
var _a;
|
|
10
|
+
const uc = DragLabelDropUC_1.DragLabelDropUC.get(appObjects);
|
|
11
|
+
if (!uc) {
|
|
12
|
+
appObjects.submitWarning("releaseLabelDropAnswerItem", "Unable to find DragLabelDropUC");
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
let pickOffsetX = 0;
|
|
16
|
+
let pickOffsetY = 0;
|
|
17
|
+
const framedScreen = appObjects.getSingleton(FramedScreenEntity_1.FramedScreenEntity.type);
|
|
18
|
+
const renderCanvas = framedScreen === null || framedScreen === void 0 ? void 0 : framedScreen.getContainerByID("Render_Canvas");
|
|
19
|
+
if (renderCanvas) {
|
|
20
|
+
pickOffsetX += renderCanvas.position.x;
|
|
21
|
+
pickOffsetY += renderCanvas.position.y;
|
|
22
|
+
}
|
|
23
|
+
const ray = (_a = PixelToSceneRayUC_1.PixelToSceneRayUC.get(appObjects)) === null || _a === void 0 ? void 0 : _a.pixelToSceneRay(new ValueObjects_1.Vector2(screenX - pickOffsetX, screenY - pickOffsetY));
|
|
24
|
+
if (ray) {
|
|
25
|
+
uc.release(ray);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.releaseLabelDropAnswerItemScreen = releaseLabelDropAnswerItemScreen;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.releaseLabelDropAnswerItemWorld = void 0;
|
|
4
|
+
const StylusEntity_1 = require("../../Stylus/Entity/StylusEntity");
|
|
5
|
+
const DragLabelDropWorldUC_1 = require("../UseCases/DragLabelDropWorldUC");
|
|
6
|
+
function releaseLabelDropAnswerItemWorld(appObjects) {
|
|
7
|
+
const uc = DragLabelDropWorldUC_1.DragLabelDropWorldUC.get(appObjects);
|
|
8
|
+
if (!uc) {
|
|
9
|
+
appObjects.submitError("releaseLabelDropAnswerItem", "Unable to find DragLabelDropWorldUC");
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const stylus = StylusEntity_1.StylusEntity.get(appObjects);
|
|
13
|
+
if (!stylus) {
|
|
14
|
+
appObjects.submitError("releaseLabelDropAnswerItem", "Unable to find StylusEntity");
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
uc.releaseDrag(stylus.pickRay);
|
|
18
|
+
}
|
|
19
|
+
exports.releaseLabelDropAnswerItemWorld = releaseLabelDropAnswerItemWorld;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.saveEditLabelDropAnswer = void 0;
|
|
4
|
+
const EditLabelDropUC_1 = require("../UseCases/EditLabelDropUC");
|
|
5
|
+
function saveEditLabelDropAnswer(appObjects) {
|
|
6
|
+
const editUC = EditLabelDropUC_1.EditLabelDropUC.get(appObjects);
|
|
7
|
+
if (!editUC) {
|
|
8
|
+
appObjects.submitWarning("saveEditLabelDropAnswer", "Unable to find EditLabelDropUC");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
editUC.finish();
|
|
12
|
+
}
|
|
13
|
+
exports.saveEditLabelDropAnswer = saveEditLabelDropAnswer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toggleLabelDropItemTarget = void 0;
|
|
4
|
+
const ToggleLabelDropTargetUC_1 = require("../UseCases/ToggleLabelDropTargetUC");
|
|
5
|
+
function toggleLabelDropItemTarget(id, appObjects) {
|
|
6
|
+
const uc = ToggleLabelDropTargetUC_1.ToggleLabelDropTargetUC.get(appObjects);
|
|
7
|
+
if (!uc) {
|
|
8
|
+
appObjects.submitWarning("toggleLabelDropItemTarget", "Unable to find ToggleLabelDropTargetUC");
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
uc.toggleByID(id);
|
|
12
|
+
}
|
|
13
|
+
exports.toggleLabelDropItemTarget = toggleLabelDropItemTarget;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AppObject, AppObjectEntity, AppObjectRepo } from "../../../AppObject";
|
|
2
|
+
import { LabelEntity } from "../../Label/Entities";
|
|
3
|
+
export interface LabelDropItemDTO {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
correctAppObjectIDs: string[];
|
|
7
|
+
}
|
|
8
|
+
export declare class LabelDropItemEntity extends AppObjectEntity {
|
|
9
|
+
static type: string;
|
|
10
|
+
static LABEL_DROP_EMPTY: string;
|
|
11
|
+
static LABEL_DROP_TOO_LONG: string;
|
|
12
|
+
static LABEL_DROP_NEED_TARGETS: string;
|
|
13
|
+
static get(id: string, appObjects: AppObjectRepo): LabelDropItemEntity | undefined;
|
|
14
|
+
get id(): string;
|
|
15
|
+
get data(): LabelDropItemDTO;
|
|
16
|
+
set data(val: LabelDropItemDTO);
|
|
17
|
+
get label(): string;
|
|
18
|
+
set label(val: string);
|
|
19
|
+
readonly labelEntity: LabelEntity;
|
|
20
|
+
get targetValidationMessage(): string | undefined;
|
|
21
|
+
private _targetIds;
|
|
22
|
+
get targetIds(): string[];
|
|
23
|
+
set targetIds(val: string[]);
|
|
24
|
+
addTargetID: (id: string) => void;
|
|
25
|
+
removeTargetID: (id: string) => void;
|
|
26
|
+
private _tries;
|
|
27
|
+
get tries(): number;
|
|
28
|
+
private _answeredCorrectly?;
|
|
29
|
+
get answeredCorrectly(): boolean | undefined;
|
|
30
|
+
submitLabelDrop: (onObjectId: string) => boolean;
|
|
31
|
+
reset: () => void;
|
|
32
|
+
constructor(appObject: AppObject);
|
|
33
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LabelDropItemEntity = void 0;
|
|
4
|
+
const AppObject_1 = require("../../../AppObject");
|
|
5
|
+
const Entities_1 = require("../../Label/Entities");
|
|
6
|
+
class LabelDropItemEntity extends AppObject_1.AppObjectEntity {
|
|
7
|
+
constructor(appObject) {
|
|
8
|
+
super(appObject, LabelDropItemEntity.type);
|
|
9
|
+
this._targetIds = [];
|
|
10
|
+
this.addTargetID = (id) => {
|
|
11
|
+
if (this._targetIds.includes(id))
|
|
12
|
+
return;
|
|
13
|
+
this._targetIds.push(id);
|
|
14
|
+
this.notifyOnChange();
|
|
15
|
+
};
|
|
16
|
+
this.removeTargetID = (id) => {
|
|
17
|
+
if (!this._targetIds.includes(id))
|
|
18
|
+
return;
|
|
19
|
+
this._targetIds = this._targetIds.filter((existingID) => existingID !== id);
|
|
20
|
+
this.notifyOnChange();
|
|
21
|
+
};
|
|
22
|
+
this._tries = 0;
|
|
23
|
+
this.submitLabelDrop = (onObjectId) => {
|
|
24
|
+
this._tries++;
|
|
25
|
+
this._answeredCorrectly = this._targetIds.includes(onObjectId);
|
|
26
|
+
this.notifyOnChange();
|
|
27
|
+
return this._answeredCorrectly;
|
|
28
|
+
};
|
|
29
|
+
this.reset = () => {
|
|
30
|
+
this._tries = 0;
|
|
31
|
+
this._answeredCorrectly = undefined;
|
|
32
|
+
this.notifyOnChange();
|
|
33
|
+
};
|
|
34
|
+
this.labelEntity = Entities_1.LabelEntity.addIfMissing(appObject);
|
|
35
|
+
this.labelEntity.addChangeObserver(this.notifyOnChange);
|
|
36
|
+
}
|
|
37
|
+
static get(id, appObjects) {
|
|
38
|
+
var _a;
|
|
39
|
+
return (_a = appObjects
|
|
40
|
+
.get(id)) === null || _a === void 0 ? void 0 : _a.getComponent(LabelDropItemEntity.type);
|
|
41
|
+
}
|
|
42
|
+
get id() {
|
|
43
|
+
return this.appObject.id;
|
|
44
|
+
}
|
|
45
|
+
get data() {
|
|
46
|
+
return {
|
|
47
|
+
id: this.id,
|
|
48
|
+
correctAppObjectIDs: [...this._targetIds],
|
|
49
|
+
label: this.labelEntity.custom,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
set data(val) {
|
|
53
|
+
this.labelEntity.custom = val.label;
|
|
54
|
+
this.targetIds = val.correctAppObjectIDs;
|
|
55
|
+
}
|
|
56
|
+
get label() {
|
|
57
|
+
return this.labelEntity.custom;
|
|
58
|
+
}
|
|
59
|
+
set label(val) {
|
|
60
|
+
this.labelEntity.custom = val;
|
|
61
|
+
}
|
|
62
|
+
get targetValidationMessage() {
|
|
63
|
+
if (this._targetIds.length === 0) {
|
|
64
|
+
return LabelDropItemEntity.LABEL_DROP_NEED_TARGETS;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
return undefined;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
get targetIds() {
|
|
71
|
+
return [...this._targetIds];
|
|
72
|
+
}
|
|
73
|
+
set targetIds(val) {
|
|
74
|
+
this._targetIds = [...val];
|
|
75
|
+
this.notifyOnChange();
|
|
76
|
+
}
|
|
77
|
+
get tries() {
|
|
78
|
+
return this._tries;
|
|
79
|
+
}
|
|
80
|
+
get answeredCorrectly() {
|
|
81
|
+
return this._answeredCorrectly;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.LabelDropItemEntity = LabelDropItemEntity;
|
|
85
|
+
LabelDropItemEntity.type = "LabelDropItemEntity";
|
|
86
|
+
LabelDropItemEntity.LABEL_DROP_EMPTY = "Label Drop answer text cannot be empty";
|
|
87
|
+
LabelDropItemEntity.LABEL_DROP_TOO_LONG = "Label Drop answer text is limited to 40 characters";
|
|
88
|
+
LabelDropItemEntity.LABEL_DROP_NEED_TARGETS = "Label Drop answer must have at least one correct object";
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { AppObject, AppObjectEntityRepo, AppObjectRepo } from "../../../AppObject";
|
|
2
|
+
import { Vector2 } from "../../../ValueObjects";
|
|
3
|
+
import { Challenge } from "../../Challenge";
|
|
4
|
+
import { Transform3D } from "../../Transform3D";
|
|
5
|
+
import { LabelDropItemEntity } from "./LabelDropItemEntity";
|
|
6
|
+
export interface LabelDropResult {
|
|
7
|
+
id: string;
|
|
8
|
+
isCorrect: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare enum LabelDropDragMode {
|
|
11
|
+
SCREEN = "SCREEN",
|
|
12
|
+
WORLD = "WORLD"
|
|
13
|
+
}
|
|
14
|
+
export declare type OnLabelDropSubmissionObserver = (result: LabelDropResult) => void;
|
|
15
|
+
export declare abstract class LabelDropRepo extends AppObjectEntityRepo<LabelDropItemEntity> implements Challenge {
|
|
16
|
+
static readonly type = "LabelDropRepo";
|
|
17
|
+
readonly challengeID = "LABEL_DROP";
|
|
18
|
+
name: string;
|
|
19
|
+
helpHeading: string;
|
|
20
|
+
consumerHelpText: string;
|
|
21
|
+
authorHelpText: string;
|
|
22
|
+
static LABEL_DROP_ANSWER_REQUIRED: string;
|
|
23
|
+
abstract readonly dragLabelTransform: Transform3D;
|
|
24
|
+
abstract readonly dragHelperTransform: Transform3D;
|
|
25
|
+
abstract labelDropItemFactory(id: string): LabelDropItemEntity;
|
|
26
|
+
abstract makeLabelDropItem(id?: string): LabelDropItemEntity;
|
|
27
|
+
abstract deleteItem(id: string): void;
|
|
28
|
+
abstract deleteAllItems(): void;
|
|
29
|
+
abstract getRemainingLabelDrops: () => string[];
|
|
30
|
+
abstract submitLabelDrop: (labelDropID: string, hitAppObjectID: string) => boolean;
|
|
31
|
+
abstract reset: () => void;
|
|
32
|
+
abstract addLabelDropSubmissionObserver(observer: OnLabelDropSubmissionObserver): void;
|
|
33
|
+
abstract removeLabelDropSubmissionObserver(observer: OnLabelDropSubmissionObserver): void;
|
|
34
|
+
abstract get editingID(): string | undefined;
|
|
35
|
+
abstract set editingID(val: string | undefined);
|
|
36
|
+
abstract get isEditingNewAnswer(): boolean;
|
|
37
|
+
abstract set isEditingNewAnswer(val: boolean);
|
|
38
|
+
abstract get draggingID(): string | undefined;
|
|
39
|
+
abstract set draggingID(val: string | undefined);
|
|
40
|
+
abstract get screenPosition(): Vector2;
|
|
41
|
+
abstract set screenPosition(val: Vector2);
|
|
42
|
+
abstract get dragMode(): LabelDropDragMode;
|
|
43
|
+
abstract set dragMode(val: LabelDropDragMode);
|
|
44
|
+
abstract get resultIsCorrect(): boolean | undefined;
|
|
45
|
+
abstract set resultIsCorrect(val: boolean | undefined);
|
|
46
|
+
abstract get dragAlpha(): number;
|
|
47
|
+
abstract set dragAlpha(val: number);
|
|
48
|
+
abstract get validationMessage(): string | null;
|
|
49
|
+
static get(appObjects: AppObjectRepo): LabelDropRepo | undefined;
|
|
50
|
+
}
|
|
51
|
+
export declare function makeLabelDropRepo(appObj: AppObject): LabelDropRepo;
|