@vived/app 5.0.7 → 5.0.9
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/dist/cjs/BaseApp/UC/UpdateContentSizeUC.js +4 -0
- package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.js.map +1 -1
- package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js +27 -4
- package/dist/cjs/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js +2 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js.map +1 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +2 -1
- package/dist/cjs/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
- package/dist/esm/BaseApp/UC/UpdateContentSizeUC.js +4 -0
- package/dist/esm/BaseApp/UC/UpdateContentSizeUC.js.map +1 -1
- package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js +27 -4
- package/dist/esm/BaseApp/UC/UpdateContentSizeUC.test.js.map +1 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js +2 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.js.map +1 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js +2 -1
- package/dist/esm/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.js.map +1 -1
- package/dist/types/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -23,6 +23,10 @@ class UpdateContentSizeUCImp extends UpdateContentSizeUC {
|
|
|
23
23
|
if (!this.baseApp) {
|
|
24
24
|
return;
|
|
25
25
|
}
|
|
26
|
+
// Only update slide info content height if we are in authoring mode
|
|
27
|
+
if (!this.baseApp.isAuthoring) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
26
30
|
const newHeight = Math.ceil(size);
|
|
27
31
|
if (newHeight === this.baseApp.slideInfoContentHeight)
|
|
28
32
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateContentSizeUC.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.ts"],"names":[],"mappings":";;;AAkBA,0DAIC;AAtBD,sCAKqB;AACrB,iDAAuD;AACvD,sCAAyC;AAEzC,MAAsB,mBAAoB,SAAQ,kBAAW;;AAA7D,kDAOC;AANiB,wBAAI,GAAG,qBAAqB,CAAC;AAItC,uBAAG,GAAG,CAAC,UAAyB,EAAmC,EAAE,CAC1E,IAAA,4BAAqB,EAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAGhE,SAAgB,uBAAuB,CACrC,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,mBAAmB;IACtD,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAe,qBAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateContentSizeUC.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.ts"],"names":[],"mappings":";;;AAkBA,0DAIC;AAtBD,sCAKqB;AACrB,iDAAuD;AACvD,sCAAyC;AAEzC,MAAsB,mBAAoB,SAAQ,kBAAW;;AAA7D,kDAOC;AANiB,wBAAI,GAAG,qBAAqB,CAAC;AAItC,uBAAG,GAAG,CAAC,UAAyB,EAAmC,EAAE,CAC1E,IAAA,4BAAqB,EAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAGhE,SAAgB,uBAAuB,CACrC,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,mBAAmB;IACtD,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAe,qBAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAkBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAlB7C,sBAAiB,GAAG,CAAC,IAAY,EAAQ,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,oEAAoE;YACpE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,sBAAsB;gBAAE,OAAO;YAE9D,IAAI,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;YAChD,IAAA,gCAAmB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC;IAIF,CAAC;CACF","sourcesContent":["import {\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC,\r\n getSingletonComponent,\r\n} from \"@vived/core\";\r\nimport { dispatchStateChange } from \"../../Dispatcher\";\r\nimport { BaseAppState } from \"../Entity\";\r\n\r\nexport abstract class UpdateContentSizeUC extends AppObjectUC {\r\n static readonly type = \"UpdateContentSizeUC\";\r\n\r\n abstract updateContentSize(size: number): void;\r\n\r\n static get = (appObjects: AppObjectRepo): UpdateContentSizeUC | undefined =>\r\n getSingletonComponent(UpdateContentSizeUC.type, appObjects);\r\n}\r\n\r\nexport function makeUpdateContentSizeUC(\r\n appObject: AppObject\r\n): UpdateContentSizeUC {\r\n return new UpdateContentSizeUCImp(appObject);\r\n}\r\n\r\nclass UpdateContentSizeUCImp extends UpdateContentSizeUC {\r\n private get baseApp() {\r\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\r\n }\r\n updateContentSize = (size: number): void => {\r\n if (!this.baseApp) {\r\n return;\r\n }\r\n\r\n // Only update slide info content height if we are in authoring mode\r\n if (!this.baseApp.isAuthoring) {\r\n return;\r\n }\r\n\r\n const newHeight = Math.ceil(size);\r\n if (newHeight === this.baseApp.slideInfoContentHeight) return;\r\n\r\n this.baseApp.slideInfoContentHeight = newHeight;\r\n dispatchStateChange(this.appObjects);\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, UpdateContentSizeUC.type);\r\n }\r\n}\r\n"]}
|
|
@@ -15,29 +15,52 @@ function makeTestRig() {
|
|
|
15
15
|
return { baseApp, updateSize, doDispatchMock };
|
|
16
16
|
}
|
|
17
17
|
describe("Update Content Size", () => {
|
|
18
|
-
it("Sets the value in the entity", () => {
|
|
18
|
+
it("Sets the value in the entity when isAuthoring is true", () => {
|
|
19
19
|
const { baseApp, updateSize } = makeTestRig();
|
|
20
|
+
baseApp.isAuthoring = true;
|
|
20
21
|
baseApp.slideInfoContentHeight = 10;
|
|
21
22
|
updateSize(15);
|
|
22
23
|
expect(baseApp.slideInfoContentHeight).toEqual(15);
|
|
23
24
|
});
|
|
24
|
-
it("Dispatches a state change", () => {
|
|
25
|
+
it("Dispatches a state change when isAuthoring is true", () => {
|
|
25
26
|
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
27
|
+
baseApp.isAuthoring = true;
|
|
26
28
|
baseApp.slideInfoContentHeight = 10;
|
|
27
29
|
updateSize(15);
|
|
28
30
|
expect(doDispatchMock).toHaveBeenCalled();
|
|
29
31
|
});
|
|
30
|
-
it("Does not dispatches if there is no change
|
|
32
|
+
it("Does not dispatches if there is no change when isAuthoring is true", () => {
|
|
31
33
|
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
32
34
|
doDispatchMock.mockClear(); // Clear previous mock calls
|
|
35
|
+
baseApp.isAuthoring = true;
|
|
33
36
|
baseApp.slideInfoContentHeight = 10;
|
|
34
37
|
updateSize(10);
|
|
35
38
|
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
36
39
|
});
|
|
37
|
-
it("Rounds the size up", () => {
|
|
40
|
+
it("Rounds the size up when isAuthoring is true", () => {
|
|
38
41
|
const { baseApp, updateSize } = makeTestRig();
|
|
42
|
+
baseApp.isAuthoring = true;
|
|
43
|
+
baseApp.slideInfoContentHeight = 0;
|
|
39
44
|
updateSize(15.1);
|
|
40
45
|
expect(baseApp.slideInfoContentHeight).toEqual(16);
|
|
41
46
|
});
|
|
47
|
+
it("Does not update content height if isAuthoring is false", () => {
|
|
48
|
+
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
49
|
+
baseApp.isAuthoring = false;
|
|
50
|
+
baseApp.slideInfoContentHeight = 10;
|
|
51
|
+
doDispatchMock.mockClear();
|
|
52
|
+
updateSize(20);
|
|
53
|
+
expect(baseApp.slideInfoContentHeight).toEqual(10);
|
|
54
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
55
|
+
});
|
|
56
|
+
it("Updates content height if isAuthoring is true", () => {
|
|
57
|
+
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
58
|
+
baseApp.isAuthoring = true;
|
|
59
|
+
baseApp.slideInfoContentHeight = 10;
|
|
60
|
+
doDispatchMock.mockClear();
|
|
61
|
+
updateSize(20);
|
|
62
|
+
expect(baseApp.slideInfoContentHeight).toEqual(20);
|
|
63
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
64
|
+
});
|
|
42
65
|
});
|
|
43
66
|
//# sourceMappingURL=UpdateContentSizeUC.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateContentSizeUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,4FAA6F;AAC7F,sCAA6C;AAC7C,+DAAgE;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAA,yBAAgB,EAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAErE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,IAAA,qDAA2B,EAAC,UAAU,CAAC,CAAC,UAAU,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"UpdateContentSizeUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeBaseAppState } from \"../Entity\";\r\nimport { makeUpdateContentSizeUC } from \"./UpdateContentSizeUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const app = appObjects.getOrCreate(\"app\");\r\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"Base App\"));\r\n\r\n const doDispatchMock = jest.fn();\r\n makeMockDispatchStateChange(appObjects).doDispatch = doDispatchMock;\r\n\r\n const updateSizeUC = makeUpdateContentSizeUC(app);\r\n const updateSize = updateSizeUC.updateContentSize;\r\n\r\n return { baseApp, updateSize, doDispatchMock };\r\n}\r\n\r\ndescribe(\"Update Content Size\", () => {\r\n it(\"Sets the value in the entity when isAuthoring is true\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(15);\r\n });\r\n it(\"Dispatches a state change when isAuthoring is true\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n it(\"Does not dispatches if there is no change when isAuthoring is true\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n doDispatchMock.mockClear(); // Clear previous mock calls\r\n\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(10);\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n it(\"Rounds the size up when isAuthoring is true\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 0;\r\n\r\n updateSize(15.1);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(16);\r\n });\r\n\r\n it(\"Does not update content height if isAuthoring is false\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n baseApp.isAuthoring = false;\r\n baseApp.slideInfoContentHeight = 10;\r\n doDispatchMock.mockClear();\r\n\r\n updateSize(20);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(10);\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Updates content height if isAuthoring is true\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 10;\r\n doDispatchMock.mockClear();\r\n\r\n updateSize(20);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(20);\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
|
|
@@ -5,6 +5,7 @@ const core_1 = require("@vived/core");
|
|
|
5
5
|
const PixelToSceneRayUC_1 = require("../../Babylon/UC/PixelToSceneRayUC");
|
|
6
6
|
const FramedScreenEntity_1 = require("../../FramedScreen/Entities/FramedScreenEntity");
|
|
7
7
|
const DragLabelDropUC_1 = require("../UseCases/DragLabelDropUC");
|
|
8
|
+
const FramedScreen_1 = require("../../FramedScreen");
|
|
8
9
|
function releaseLabelDropAnswerItemScreen(screenX, screenY, appObjects) {
|
|
9
10
|
const uc = DragLabelDropUC_1.DragLabelDropUC.get(appObjects);
|
|
10
11
|
if (!uc) {
|
|
@@ -14,7 +15,7 @@ function releaseLabelDropAnswerItemScreen(screenX, screenY, appObjects) {
|
|
|
14
15
|
let pickOffsetX = 0;
|
|
15
16
|
let pickOffsetY = 0;
|
|
16
17
|
const framedScreen = appObjects.getSingleton(FramedScreenEntity_1.FramedScreenEntity.type);
|
|
17
|
-
const renderCanvas = framedScreen?.getContainerByID(
|
|
18
|
+
const renderCanvas = framedScreen?.getContainerByID(FramedScreen_1.RENDER_CANVAS_FRAMED_CONTAINER_ID);
|
|
18
19
|
if (renderCanvas) {
|
|
19
20
|
pickOffsetX += renderCanvas.position.x;
|
|
20
21
|
pickOffsetY += renderCanvas.position.y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseLabelDropAnswerItemScreen.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"releaseLabelDropAnswerItemScreen.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.ts"],"names":[],"mappings":";;AAOA,4EAiCC;AAvCD,sCAAsC;AACtC,0EAAuE;AACvE,uFAAoF;AACpF,iEAA8D;AAC9D,qDAAuE;AAEvE,SAAgB,gCAAgC,CAC9C,OAAe,EACf,OAAe,EACf,UAAyB;IAEzB,MAAM,EAAE,GAAG,iCAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,4BAA4B,EAC5B,gCAAgC,CACjC,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAC1C,uCAAkB,CAAC,IAAI,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,YAAY,EAAE,gBAAgB,CAAC,gDAAiC,CAAC,CAAC;IACvF,IAAI,YAAY,EAAE,CAAC;QACjB,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,qCAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,CAC5D,IAAI,cAAO,CAAC,OAAO,GAAG,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,CAC1D,CAAC;IACF,IAAI,GAAG,EAAE,CAAC;QACR,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;AACH,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { Vector2 } from \"@vived/core\";\r\nimport { PixelToSceneRayUC } from \"../../Babylon/UC/PixelToSceneRayUC\";\r\nimport { FramedScreenEntity } from \"../../FramedScreen/Entities/FramedScreenEntity\";\r\nimport { DragLabelDropUC } from \"../UseCases/DragLabelDropUC\";\r\nimport { RENDER_CANVAS_FRAMED_CONTAINER_ID } from \"../../FramedScreen\";\r\n\r\nexport function releaseLabelDropAnswerItemScreen(\r\n screenX: number,\r\n screenY: number,\r\n appObjects: AppObjectRepo\r\n) {\r\n const uc = DragLabelDropUC.get(appObjects);\r\n if (!uc) {\r\n appObjects.submitWarning(\r\n \"releaseLabelDropAnswerItem\",\r\n \"Unable to find DragLabelDropUC\"\r\n );\r\n return;\r\n }\r\n\r\n let pickOffsetX = 0;\r\n let pickOffsetY = 0;\r\n\r\n const framedScreen = appObjects.getSingleton<FramedScreenEntity>(\r\n FramedScreenEntity.type\r\n );\r\n\r\n const renderCanvas = framedScreen?.getContainerByID(RENDER_CANVAS_FRAMED_CONTAINER_ID);\r\n if (renderCanvas) {\r\n pickOffsetX += renderCanvas.position.x;\r\n pickOffsetY += renderCanvas.position.y;\r\n }\r\n\r\n const ray = PixelToSceneRayUC.get(appObjects)?.pixelToSceneRay(\r\n new Vector2(screenX - pickOffsetX, screenY - pickOffsetY)\r\n );\r\n if (ray) {\r\n uc.release(ray);\r\n }\r\n}\r\n"]}
|
|
@@ -8,6 +8,7 @@ const FramedContainerPM_1 = require("../../FramedScreen/PM/FramedContainerPM");
|
|
|
8
8
|
const LabelDropRepo_1 = require("../Entities/LabelDropRepo");
|
|
9
9
|
const MockDragLabelDropUC_1 = require("../Mocks/MockDragLabelDropUC");
|
|
10
10
|
const releaseLabelDropAnswerItemScreen_1 = require("./releaseLabelDropAnswerItemScreen");
|
|
11
|
+
const FramedScreen_1 = require("../../FramedScreen");
|
|
11
12
|
function makeTestRig() {
|
|
12
13
|
const appObjects = (0, core_1.makeAppObjectRepo)();
|
|
13
14
|
const ao = appObjects.getOrCreate("ao");
|
|
@@ -28,7 +29,7 @@ describe("Release Drag Label Drop Answer Item", () => {
|
|
|
28
29
|
const { mockUC, appObjects, pixelToSceneRayUC } = makeTestRig();
|
|
29
30
|
mockUC.release.mockClear();
|
|
30
31
|
const framedScreen = (0, Entities_1.makeFramedScreen)(appObjects.getOrCreate("FramedScreen"));
|
|
31
|
-
const ao = appObjects.getOrCreate(
|
|
32
|
+
const ao = appObjects.getOrCreate(FramedScreen_1.RENDER_CANVAS_FRAMED_CONTAINER_ID);
|
|
32
33
|
const renderCanvas = (0, Entities_1.makeFramedScreenContainer)(ao);
|
|
33
34
|
(0, FramedContainerPM_1.makeFramedContainerPM)(ao);
|
|
34
35
|
framedScreen.addContainer(renderCanvas);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseLabelDropAnswerItemScreen.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAAsD;AACtD,qFAAsF;AACtF,0DAGqC;AACrC,+EAAgF;AAChF,6DAA8D;AAC9D,sEAAuE;AACvE,yFAAsF;
|
|
1
|
+
{"version":3,"file":"releaseLabelDropAnswerItemScreen.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.ts"],"names":[],"mappings":";;AAAA,sCAAgD;AAChD,sCAAsD;AACtD,qFAAsF;AACtF,0DAGqC;AACrC,+EAAgF;AAChF,6DAA8D;AAC9D,sEAAuE;AACvE,yFAAsF;AACtF,qDAAuE;AAEvE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,IAAA,wBAAiB,GAAE,CAAC;IAEvC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,IAAA,iCAAiB,EAAC,EAAE,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,IAAA,6CAAuB,EAAC,UAAU,CAAC,CAAC;IAEnD,eAAe,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAErD,MAAM,iBAAiB,GAAG,IAAA,iDAAyB,EACjD,UAAU,CACX,CAAC,eAAe,CAAC,eAAe,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5D,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AACxE,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAE3B,IAAA,mEAAgC,EAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,qBAAc,CAAC,OAAO,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,WAAW,EAAE,CAAC;QAChE,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAE3B,MAAM,YAAY,GAAG,IAAA,2BAAgB,EACnC,UAAU,CAAC,WAAW,CAAC,cAAc,CAAC,CACvC,CAAC;QACF,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,gDAAiC,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,IAAA,oCAAyB,EAAC,EAAE,CAAC,CAAC;QACnD,IAAA,yCAAqB,EAAC,EAAE,CAAC,CAAC;QAC1B,YAAY,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACxC,YAAY,CAAC,QAAQ,GAAG,IAAI,cAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,IAAI,cAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,MAAM,cAAc,GAAG,IAAI,cAAO,CAChC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,EACtC,UAAU,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CACvC,CAAC;QAEF,IAAA,mEAAgC,EAAC,EAAE,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QACrD,MAAM,CAAC,iBAAiB,CAAC,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2 } from \"@vived/core\";\r\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon/Mocks/MockPixelToSceneRayUC\";\r\nimport {\r\n makeFramedScreen,\r\n makeFramedScreenContainer,\r\n} from \"../../FramedScreen/Entities\";\r\nimport { makeFramedContainerPM } from \"../../FramedScreen/PM/FramedContainerPM\";\r\nimport { makeLabelDropRepo } from \"../Entities/LabelDropRepo\";\r\nimport { makeMockDragLabelDropUC } from \"../Mocks/MockDragLabelDropUC\";\r\nimport { releaseLabelDropAnswerItemScreen } from \"./releaseLabelDropAnswerItemScreen\";\r\nimport { RENDER_CANVAS_FRAMED_CONTAINER_ID } from \"../../FramedScreen\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const labelDropEntity = makeLabelDropRepo(ao);\r\n\r\n const mockUC = makeMockDragLabelDropUC(appObjects);\r\n\r\n labelDropEntity.makeLabelDropItem(\"labelDropTestID\");\r\n\r\n const pixelToSceneRayUC = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ).pixelToSceneRay.mockReturnValue(ParametricLine.Forward());\r\n\r\n return { appObjects, ao, labelDropEntity, mockUC, pixelToSceneRayUC };\r\n}\r\n\r\ndescribe(\"Release Drag Label Drop Answer Item\", () => {\r\n it(\"Calls release on the UC\", () => {\r\n const { mockUC, appObjects } = makeTestRig();\r\n mockUC.release.mockClear();\r\n\r\n releaseLabelDropAnswerItemScreen(10, 20, appObjects);\r\n expect(mockUC.release).toHaveBeenCalledWith(ParametricLine.Forward());\r\n });\r\n\r\n it(\"Offsets with the render canvas if it exists\", () => {\r\n const { mockUC, appObjects, pixelToSceneRayUC } = makeTestRig();\r\n mockUC.release.mockClear();\r\n\r\n const framedScreen = makeFramedScreen(\r\n appObjects.getOrCreate(\"FramedScreen\")\r\n );\r\n const ao = appObjects.getOrCreate(RENDER_CANVAS_FRAMED_CONTAINER_ID);\r\n const renderCanvas = makeFramedScreenContainer(ao);\r\n makeFramedContainerPM(ao);\r\n framedScreen.addContainer(renderCanvas);\r\n renderCanvas.position = new Vector2(1, 2);\r\n\r\n const releasePos = new Vector2(10, 20);\r\n const expectedOffSet = new Vector2(\r\n releasePos.x - renderCanvas.position.x,\r\n releasePos.y - renderCanvas.position.y\r\n );\r\n\r\n releaseLabelDropAnswerItemScreen(10, 20, appObjects);\r\n expect(pixelToSceneRayUC).toHaveBeenCalledWith(expectedOffSet);\r\n });\r\n});\r\n"]}
|
|
@@ -18,6 +18,10 @@ class UpdateContentSizeUCImp extends UpdateContentSizeUC {
|
|
|
18
18
|
if (!this.baseApp) {
|
|
19
19
|
return;
|
|
20
20
|
}
|
|
21
|
+
// Only update slide info content height if we are in authoring mode
|
|
22
|
+
if (!this.baseApp.isAuthoring) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
21
25
|
const newHeight = Math.ceil(size);
|
|
22
26
|
if (newHeight === this.baseApp.slideInfoContentHeight)
|
|
23
27
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateContentSizeUC.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAgB,mBAAoB,SAAQ,WAAW;;AAC3C,wBAAI,GAAG,qBAAqB,CAAC;AAItC,uBAAG,GAAG,CAAC,UAAyB,EAAmC,EAAE,CAC1E,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAGhE,MAAM,UAAU,uBAAuB,CACrC,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,mBAAmB;IACtD,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAe,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateContentSizeUC.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,WAAW,EACX,qBAAqB,GACtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAgB,mBAAoB,SAAQ,WAAW;;AAC3C,wBAAI,GAAG,qBAAqB,CAAC;AAItC,uBAAG,GAAG,CAAC,UAAyB,EAAmC,EAAE,CAC1E,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAGhE,MAAM,UAAU,uBAAuB,CACrC,SAAoB;IAEpB,OAAO,IAAI,sBAAsB,CAAC,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,sBAAuB,SAAQ,mBAAmB;IACtD,IAAY,OAAO;QACjB,OAAO,IAAI,CAAC,kBAAkB,CAAe,YAAY,CAAC,IAAI,CAAC,CAAC;IAClE,CAAC;IAkBD,YAAY,SAAoB;QAC9B,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAlB7C,sBAAiB,GAAG,CAAC,IAAY,EAAQ,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO;YACT,CAAC;YAED,oEAAoE;YACpE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC9B,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,SAAS,KAAK,IAAI,CAAC,OAAO,CAAC,sBAAsB;gBAAE,OAAO;YAE9D,IAAI,CAAC,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;YAChD,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC;IAIF,CAAC;CACF","sourcesContent":["import {\r\n AppObject,\r\n AppObjectRepo,\r\n AppObjectUC,\r\n getSingletonComponent,\r\n} from \"@vived/core\";\r\nimport { dispatchStateChange } from \"../../Dispatcher\";\r\nimport { BaseAppState } from \"../Entity\";\r\n\r\nexport abstract class UpdateContentSizeUC extends AppObjectUC {\r\n static readonly type = \"UpdateContentSizeUC\";\r\n\r\n abstract updateContentSize(size: number): void;\r\n\r\n static get = (appObjects: AppObjectRepo): UpdateContentSizeUC | undefined =>\r\n getSingletonComponent(UpdateContentSizeUC.type, appObjects);\r\n}\r\n\r\nexport function makeUpdateContentSizeUC(\r\n appObject: AppObject\r\n): UpdateContentSizeUC {\r\n return new UpdateContentSizeUCImp(appObject);\r\n}\r\n\r\nclass UpdateContentSizeUCImp extends UpdateContentSizeUC {\r\n private get baseApp() {\r\n return this.getCachedSingleton<BaseAppState>(BaseAppState.type);\r\n }\r\n updateContentSize = (size: number): void => {\r\n if (!this.baseApp) {\r\n return;\r\n }\r\n\r\n // Only update slide info content height if we are in authoring mode\r\n if (!this.baseApp.isAuthoring) {\r\n return;\r\n }\r\n\r\n const newHeight = Math.ceil(size);\r\n if (newHeight === this.baseApp.slideInfoContentHeight) return;\r\n\r\n this.baseApp.slideInfoContentHeight = newHeight;\r\n dispatchStateChange(this.appObjects);\r\n };\r\n\r\n constructor(appObject: AppObject) {\r\n super(appObject, UpdateContentSizeUC.type);\r\n }\r\n}\r\n"]}
|
|
@@ -13,29 +13,52 @@ function makeTestRig() {
|
|
|
13
13
|
return { baseApp, updateSize, doDispatchMock };
|
|
14
14
|
}
|
|
15
15
|
describe("Update Content Size", () => {
|
|
16
|
-
it("Sets the value in the entity", () => {
|
|
16
|
+
it("Sets the value in the entity when isAuthoring is true", () => {
|
|
17
17
|
const { baseApp, updateSize } = makeTestRig();
|
|
18
|
+
baseApp.isAuthoring = true;
|
|
18
19
|
baseApp.slideInfoContentHeight = 10;
|
|
19
20
|
updateSize(15);
|
|
20
21
|
expect(baseApp.slideInfoContentHeight).toEqual(15);
|
|
21
22
|
});
|
|
22
|
-
it("Dispatches a state change", () => {
|
|
23
|
+
it("Dispatches a state change when isAuthoring is true", () => {
|
|
23
24
|
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
25
|
+
baseApp.isAuthoring = true;
|
|
24
26
|
baseApp.slideInfoContentHeight = 10;
|
|
25
27
|
updateSize(15);
|
|
26
28
|
expect(doDispatchMock).toHaveBeenCalled();
|
|
27
29
|
});
|
|
28
|
-
it("Does not dispatches if there is no change
|
|
30
|
+
it("Does not dispatches if there is no change when isAuthoring is true", () => {
|
|
29
31
|
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
30
32
|
doDispatchMock.mockClear(); // Clear previous mock calls
|
|
33
|
+
baseApp.isAuthoring = true;
|
|
31
34
|
baseApp.slideInfoContentHeight = 10;
|
|
32
35
|
updateSize(10);
|
|
33
36
|
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
34
37
|
});
|
|
35
|
-
it("Rounds the size up", () => {
|
|
38
|
+
it("Rounds the size up when isAuthoring is true", () => {
|
|
36
39
|
const { baseApp, updateSize } = makeTestRig();
|
|
40
|
+
baseApp.isAuthoring = true;
|
|
41
|
+
baseApp.slideInfoContentHeight = 0;
|
|
37
42
|
updateSize(15.1);
|
|
38
43
|
expect(baseApp.slideInfoContentHeight).toEqual(16);
|
|
39
44
|
});
|
|
45
|
+
it("Does not update content height if isAuthoring is false", () => {
|
|
46
|
+
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
47
|
+
baseApp.isAuthoring = false;
|
|
48
|
+
baseApp.slideInfoContentHeight = 10;
|
|
49
|
+
doDispatchMock.mockClear();
|
|
50
|
+
updateSize(20);
|
|
51
|
+
expect(baseApp.slideInfoContentHeight).toEqual(10);
|
|
52
|
+
expect(doDispatchMock).not.toHaveBeenCalled();
|
|
53
|
+
});
|
|
54
|
+
it("Updates content height if isAuthoring is true", () => {
|
|
55
|
+
const { baseApp, updateSize, doDispatchMock } = makeTestRig();
|
|
56
|
+
baseApp.isAuthoring = true;
|
|
57
|
+
baseApp.slideInfoContentHeight = 10;
|
|
58
|
+
doDispatchMock.mockClear();
|
|
59
|
+
updateSize(20);
|
|
60
|
+
expect(baseApp.slideInfoContentHeight).toEqual(20);
|
|
61
|
+
expect(doDispatchMock).toHaveBeenCalled();
|
|
62
|
+
});
|
|
40
63
|
});
|
|
41
64
|
//# sourceMappingURL=UpdateContentSizeUC.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateContentSizeUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gDAAgD,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,gBAAgB,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;IAErE,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;IACjC,2BAA2B,CAAC,UAAU,CAAC,CAAC,UAAU,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"UpdateContentSizeUC.test.js","sourceRoot":"","sources":["../../../../src/BaseApp/UC/UpdateContentSizeUC.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { makeMockDispatchStateChange } from \"../../Dispatcher/Mocks/MockDispatchStateChange\";\r\nimport { makeBaseAppState } from \"../Entity\";\r\nimport { makeUpdateContentSizeUC } from \"./UpdateContentSizeUC\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n const app = appObjects.getOrCreate(\"app\");\r\n const baseApp = makeBaseAppState(appObjects.getOrCreate(\"Base App\"));\r\n\r\n const doDispatchMock = jest.fn();\r\n makeMockDispatchStateChange(appObjects).doDispatch = doDispatchMock;\r\n\r\n const updateSizeUC = makeUpdateContentSizeUC(app);\r\n const updateSize = updateSizeUC.updateContentSize;\r\n\r\n return { baseApp, updateSize, doDispatchMock };\r\n}\r\n\r\ndescribe(\"Update Content Size\", () => {\r\n it(\"Sets the value in the entity when isAuthoring is true\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(15);\r\n });\r\n it(\"Dispatches a state change when isAuthoring is true\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(15);\r\n\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n it(\"Does not dispatches if there is no change when isAuthoring is true\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n doDispatchMock.mockClear(); // Clear previous mock calls\r\n\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 10;\r\n\r\n updateSize(10);\r\n\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n it(\"Rounds the size up when isAuthoring is true\", () => {\r\n const { baseApp, updateSize } = makeTestRig();\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 0;\r\n\r\n updateSize(15.1);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(16);\r\n });\r\n\r\n it(\"Does not update content height if isAuthoring is false\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n baseApp.isAuthoring = false;\r\n baseApp.slideInfoContentHeight = 10;\r\n doDispatchMock.mockClear();\r\n\r\n updateSize(20);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(10);\r\n expect(doDispatchMock).not.toHaveBeenCalled();\r\n });\r\n\r\n it(\"Updates content height if isAuthoring is true\", () => {\r\n const { baseApp, updateSize, doDispatchMock } = makeTestRig();\r\n baseApp.isAuthoring = true;\r\n baseApp.slideInfoContentHeight = 10;\r\n doDispatchMock.mockClear();\r\n\r\n updateSize(20);\r\n\r\n expect(baseApp.slideInfoContentHeight).toEqual(20);\r\n expect(doDispatchMock).toHaveBeenCalled();\r\n });\r\n});\r\n"]}
|
|
@@ -2,6 +2,7 @@ import { Vector2 } from "@vived/core";
|
|
|
2
2
|
import { PixelToSceneRayUC } from "../../Babylon/UC/PixelToSceneRayUC";
|
|
3
3
|
import { FramedScreenEntity } from "../../FramedScreen/Entities/FramedScreenEntity";
|
|
4
4
|
import { DragLabelDropUC } from "../UseCases/DragLabelDropUC";
|
|
5
|
+
import { RENDER_CANVAS_FRAMED_CONTAINER_ID } from "../../FramedScreen";
|
|
5
6
|
export function releaseLabelDropAnswerItemScreen(screenX, screenY, appObjects) {
|
|
6
7
|
const uc = DragLabelDropUC.get(appObjects);
|
|
7
8
|
if (!uc) {
|
|
@@ -11,7 +12,7 @@ export function releaseLabelDropAnswerItemScreen(screenX, screenY, appObjects) {
|
|
|
11
12
|
let pickOffsetX = 0;
|
|
12
13
|
let pickOffsetY = 0;
|
|
13
14
|
const framedScreen = appObjects.getSingleton(FramedScreenEntity.type);
|
|
14
|
-
const renderCanvas = framedScreen?.getContainerByID(
|
|
15
|
+
const renderCanvas = framedScreen?.getContainerByID(RENDER_CANVAS_FRAMED_CONTAINER_ID);
|
|
15
16
|
if (renderCanvas) {
|
|
16
17
|
pickOffsetX += renderCanvas.position.x;
|
|
17
18
|
pickOffsetY += renderCanvas.position.y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseLabelDropAnswerItemScreen.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"releaseLabelDropAnswerItemScreen.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,iCAAiC,EAAE,MAAM,oBAAoB,CAAC;AAEvE,MAAM,UAAU,gCAAgC,CAC9C,OAAe,EACf,OAAe,EACf,UAAyB;IAEzB,MAAM,EAAE,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,UAAU,CAAC,aAAa,CACtB,4BAA4B,EAC5B,gCAAgC,CACjC,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,WAAW,GAAG,CAAC,CAAC;IAEpB,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAC1C,kBAAkB,CAAC,IAAI,CACxB,CAAC;IAEF,MAAM,YAAY,GAAG,YAAY,EAAE,gBAAgB,CAAC,iCAAiC,CAAC,CAAC;IACvF,IAAI,YAAY,EAAE,CAAC;QACjB,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvC,WAAW,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,eAAe,CAC5D,IAAI,OAAO,CAAC,OAAO,GAAG,WAAW,EAAE,OAAO,GAAG,WAAW,CAAC,CAC1D,CAAC;IACF,IAAI,GAAG,EAAE,CAAC;QACR,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;AACH,CAAC","sourcesContent":["import { AppObjectRepo } from \"@vived/core\";\r\nimport { Vector2 } from \"@vived/core\";\r\nimport { PixelToSceneRayUC } from \"../../Babylon/UC/PixelToSceneRayUC\";\r\nimport { FramedScreenEntity } from \"../../FramedScreen/Entities/FramedScreenEntity\";\r\nimport { DragLabelDropUC } from \"../UseCases/DragLabelDropUC\";\r\nimport { RENDER_CANVAS_FRAMED_CONTAINER_ID } from \"../../FramedScreen\";\r\n\r\nexport function releaseLabelDropAnswerItemScreen(\r\n screenX: number,\r\n screenY: number,\r\n appObjects: AppObjectRepo\r\n) {\r\n const uc = DragLabelDropUC.get(appObjects);\r\n if (!uc) {\r\n appObjects.submitWarning(\r\n \"releaseLabelDropAnswerItem\",\r\n \"Unable to find DragLabelDropUC\"\r\n );\r\n return;\r\n }\r\n\r\n let pickOffsetX = 0;\r\n let pickOffsetY = 0;\r\n\r\n const framedScreen = appObjects.getSingleton<FramedScreenEntity>(\r\n FramedScreenEntity.type\r\n );\r\n\r\n const renderCanvas = framedScreen?.getContainerByID(RENDER_CANVAS_FRAMED_CONTAINER_ID);\r\n if (renderCanvas) {\r\n pickOffsetX += renderCanvas.position.x;\r\n pickOffsetY += renderCanvas.position.y;\r\n }\r\n\r\n const ray = PixelToSceneRayUC.get(appObjects)?.pixelToSceneRay(\r\n new Vector2(screenX - pickOffsetX, screenY - pickOffsetY)\r\n );\r\n if (ray) {\r\n uc.release(ray);\r\n }\r\n}\r\n"]}
|
|
@@ -6,6 +6,7 @@ import { makeFramedContainerPM } from "../../FramedScreen/PM/FramedContainerPM";
|
|
|
6
6
|
import { makeLabelDropRepo } from "../Entities/LabelDropRepo";
|
|
7
7
|
import { makeMockDragLabelDropUC } from "../Mocks/MockDragLabelDropUC";
|
|
8
8
|
import { releaseLabelDropAnswerItemScreen } from "./releaseLabelDropAnswerItemScreen";
|
|
9
|
+
import { RENDER_CANVAS_FRAMED_CONTAINER_ID } from "../../FramedScreen";
|
|
9
10
|
function makeTestRig() {
|
|
10
11
|
const appObjects = makeAppObjectRepo();
|
|
11
12
|
const ao = appObjects.getOrCreate("ao");
|
|
@@ -26,7 +27,7 @@ describe("Release Drag Label Drop Answer Item", () => {
|
|
|
26
27
|
const { mockUC, appObjects, pixelToSceneRayUC } = makeTestRig();
|
|
27
28
|
mockUC.release.mockClear();
|
|
28
29
|
const framedScreen = makeFramedScreen(appObjects.getOrCreate("FramedScreen"));
|
|
29
|
-
const ao = appObjects.getOrCreate(
|
|
30
|
+
const ao = appObjects.getOrCreate(RENDER_CANVAS_FRAMED_CONTAINER_ID);
|
|
30
31
|
const renderCanvas = makeFramedScreenContainer(ao);
|
|
31
32
|
makeFramedContainerPM(ao);
|
|
32
33
|
framedScreen.addContainer(renderCanvas);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseLabelDropAnswerItemScreen.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EACL,gBAAgB,EAChB,yBAAyB,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"releaseLabelDropAnswerItemScreen.test.js","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { makeAppObjectRepo } from \"@vived/core\";\r\nimport { ParametricLine, Vector2 } from \"@vived/core\";\r\nimport { makeMockPixelToSceneRayUC } from \"../../Babylon/Mocks/MockPixelToSceneRayUC\";\r\nimport {\r\n makeFramedScreen,\r\n makeFramedScreenContainer,\r\n} from \"../../FramedScreen/Entities\";\r\nimport { makeFramedContainerPM } from \"../../FramedScreen/PM/FramedContainerPM\";\r\nimport { makeLabelDropRepo } from \"../Entities/LabelDropRepo\";\r\nimport { makeMockDragLabelDropUC } from \"../Mocks/MockDragLabelDropUC\";\r\nimport { releaseLabelDropAnswerItemScreen } from \"./releaseLabelDropAnswerItemScreen\";\r\nimport { RENDER_CANVAS_FRAMED_CONTAINER_ID } from \"../../FramedScreen\";\r\n\r\nfunction makeTestRig() {\r\n const appObjects = makeAppObjectRepo();\r\n\r\n const ao = appObjects.getOrCreate(\"ao\");\r\n const labelDropEntity = makeLabelDropRepo(ao);\r\n\r\n const mockUC = makeMockDragLabelDropUC(appObjects);\r\n\r\n labelDropEntity.makeLabelDropItem(\"labelDropTestID\");\r\n\r\n const pixelToSceneRayUC = makeMockPixelToSceneRayUC(\r\n appObjects\r\n ).pixelToSceneRay.mockReturnValue(ParametricLine.Forward());\r\n\r\n return { appObjects, ao, labelDropEntity, mockUC, pixelToSceneRayUC };\r\n}\r\n\r\ndescribe(\"Release Drag Label Drop Answer Item\", () => {\r\n it(\"Calls release on the UC\", () => {\r\n const { mockUC, appObjects } = makeTestRig();\r\n mockUC.release.mockClear();\r\n\r\n releaseLabelDropAnswerItemScreen(10, 20, appObjects);\r\n expect(mockUC.release).toHaveBeenCalledWith(ParametricLine.Forward());\r\n });\r\n\r\n it(\"Offsets with the render canvas if it exists\", () => {\r\n const { mockUC, appObjects, pixelToSceneRayUC } = makeTestRig();\r\n mockUC.release.mockClear();\r\n\r\n const framedScreen = makeFramedScreen(\r\n appObjects.getOrCreate(\"FramedScreen\")\r\n );\r\n const ao = appObjects.getOrCreate(RENDER_CANVAS_FRAMED_CONTAINER_ID);\r\n const renderCanvas = makeFramedScreenContainer(ao);\r\n makeFramedContainerPM(ao);\r\n framedScreen.addContainer(renderCanvas);\r\n renderCanvas.position = new Vector2(1, 2);\r\n\r\n const releasePos = new Vector2(10, 20);\r\n const expectedOffSet = new Vector2(\r\n releasePos.x - renderCanvas.position.x,\r\n releasePos.y - renderCanvas.position.y\r\n );\r\n\r\n releaseLabelDropAnswerItemScreen(10, 20, appObjects);\r\n expect(pixelToSceneRayUC).toHaveBeenCalledWith(expectedOffSet);\r\n });\r\n});\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"releaseLabelDropAnswerItemScreen.d.ts","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"releaseLabelDropAnswerItemScreen.d.ts","sourceRoot":"","sources":["../../../../src/LabelDrop/Controller/releaseLabelDropAnswerItemScreen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAO5C,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,aAAa,QA8B1B"}
|