@vived/host 3.11.1 → 3.12.1

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 (55) hide show
  1. package/lib/Components/AppSandbox/Factories/setupAppSandbox.js +6 -0
  2. package/lib/Components/AppSandbox/UCs/submitActivityAssetHandlerSandbox.d.ts +3 -0
  3. package/lib/Components/AppSandbox/UCs/submitActivityAssetHandlerSandbox.js +37 -0
  4. package/lib/Components/Assets/Factories/setupAssetsForSandbox.js +1 -0
  5. package/lib/Components/Assets/Mocks/MockNewAssetUC.d.ts +8 -0
  6. package/lib/Components/Assets/Mocks/MockNewAssetUC.js +15 -0
  7. package/lib/Components/Assets/Mocks/index.d.ts +1 -0
  8. package/lib/Components/Assets/Mocks/index.js +1 -0
  9. package/lib/Components/Assets/UCs/NewAssetUC.d.ts +13 -0
  10. package/lib/Components/Assets/UCs/NewAssetUC.js +53 -0
  11. package/lib/Components/Assets/UCs/index.d.ts +1 -0
  12. package/lib/Components/Assets/UCs/index.js +1 -0
  13. package/lib/Components/Dialog/Entities/Alert.d.ts +1 -0
  14. package/lib/Components/Dialog/Entities/Alert.js +2 -0
  15. package/lib/Components/Dialog/Entities/Confirm.d.ts +1 -0
  16. package/lib/Components/Dialog/Entities/Confirm.js +3 -0
  17. package/lib/Components/Dialog/Entities/DialogQueue.d.ts +1 -0
  18. package/lib/Components/Dialog/Entities/DialogQueue.js +16 -3
  19. package/lib/Components/Dialog/Entities/MarkDownEditor.d.ts +3 -2
  20. package/lib/Components/Dialog/Entities/MarkDownEditor.js +7 -4
  21. package/lib/Components/Dialog/Entities/SelectModel.d.ts +1 -0
  22. package/lib/Components/Dialog/Entities/SelectModel.js +1 -0
  23. package/lib/Components/Dialog/Entities/Spinner.d.ts +1 -0
  24. package/lib/Components/Dialog/Entities/Spinner.js +2 -0
  25. package/lib/Components/Handler/setupStandardHostHandlers.js +1 -0
  26. package/lib/Components/VivedAPI/Mocks/MockSignedAuthToken.d.ts +1 -2
  27. package/lib/Components/VivedAPI/Mocks/MockSignedAuthToken.js +1 -2
  28. package/lib/Components/VivedAPI/UCs/DeleteAssetOnAPIUC.d.ts +1 -1
  29. package/lib/Components/VivedAPI/UCs/DeleteAssetOnAPIUC.js +5 -5
  30. package/lib/Components/VivedAPI/UCs/GetAppFromAPIUC.d.ts +1 -1
  31. package/lib/Components/VivedAPI/UCs/GetAppFromAPIUC.js +7 -7
  32. package/lib/Components/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.d.ts +2 -2
  33. package/lib/Components/VivedAPI/UCs/GetAssetsForOwnerFromAPIUC.js +7 -7
  34. package/lib/Components/VivedAPI/UCs/PatchAssetFileUC.js +1 -1
  35. package/lib/Components/VivedAPI/UCs/PatchAssetIsArchivedUC.js +1 -1
  36. package/lib/Components/VivedAPI/UCs/PatchAssetMetaUC.js +1 -1
  37. package/lib/Components/VivedAPI/UCs/PatchAssetUC.js +1 -1
  38. package/lib/Components/VivedAPI/UCs/PostNewAssetUC.d.ts +3 -3
  39. package/lib/Components/VivedAPI/UCs/PostNewAssetUC.js +10 -10
  40. package/lib/Components/VivedAPI/UCs/SignedAuthTokenUC.d.ts +1 -2
  41. package/package.json +1 -1
  42. package/lib/Components/Apps/UCs/appIDWithVersion.d.ts +0 -3
  43. package/lib/Components/Apps/UCs/appIDWithVersion.js +0 -8
  44. package/lib/Components/StateMachine/Mocks/MockStateEntity.d.ts +0 -16
  45. package/lib/Components/StateMachine/Mocks/MockStateEntity.js +0 -27
  46. package/lib/Components/StateMachine/UCs/setSandboxStatesFromStingData.d.ts +0 -8
  47. package/lib/Components/StateMachine/UCs/setSandboxStatesFromStingData.js +0 -29
  48. package/lib/Components/ZSpaceHost/UCs/StartSandboxZSpaceUC.d.ts +0 -3
  49. package/lib/Components/ZSpaceHost/UCs/StartSandboxZSpaceUC.js +0 -70
  50. package/lib/Components/ZSpaceHost/UCs/StartZSpaceUC.d.ts +0 -6
  51. package/lib/Components/ZSpaceHost/UCs/StartZSpaceUC.js +0 -11
  52. package/lib/Components/ZSpaceHost/UCs/StopSandboxZSpaceUC.d.ts +0 -3
  53. package/lib/Components/ZSpaceHost/UCs/StopSandboxZSpaceUC.js +0 -40
  54. package/lib/Components/ZSpaceHost/UCs/StopZSpaceUC.d.ts +0 -6
  55. package/lib/Components/ZSpaceHost/UCs/StopZSpaceUC.js +0 -11
@@ -9,6 +9,8 @@ const Entities_3 = require("../Entities");
9
9
  const PMs_1 = require("../PMs");
10
10
  const UCs_2 = require("../UCs");
11
11
  const setupStandardHostHandlers_1 = require("../../Handler/setupStandardHostHandlers");
12
+ const Handler_1 = require("../../Handler");
13
+ const submitActivityAssetHandlerSandbox_1 = require("../UCs/submitActivityAssetHandlerSandbox");
12
14
  function setupAppSandbox(appID, appObjects) {
13
15
  const ao = appObjects.getOrCreate(appID);
14
16
  // Entities
@@ -27,6 +29,10 @@ function setupAppSandbox(appID, appObjects) {
27
29
  PMs_1.makeSandboxStatePM(ao);
28
30
  PMs_1.makeShowInspectorPM(ao);
29
31
  PMs_1.makeStartInZSpacePM(ao);
32
+ const submitActivityAssetUC = appObjects.getSingleton(Handler_1.SubmitActivityAssetHandler.type);
33
+ if (submitActivityAssetUC) {
34
+ submitActivityAssetUC.action = submitActivityAssetHandlerSandbox_1.makeSubmitActivityAssetHandlerSandbox(appObjects);
35
+ }
30
36
  return entity;
31
37
  }
32
38
  exports.setupAppSandbox = setupAppSandbox;
@@ -0,0 +1,3 @@
1
+ import { HostAppObjectRepo } from "../../../HostAppObject";
2
+ import { SubmitActivityAssetAction } from "../../Handler/UCs/SubmitActivityAssetHandler";
3
+ export declare function makeSubmitActivityAssetHandlerSandbox(appObjects: HostAppObjectRepo): SubmitActivityAssetAction;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeSubmitActivityAssetHandlerSandbox = void 0;
4
+ const __1 = require("..");
5
+ const Assets_1 = require("../../Assets");
6
+ function makeSubmitActivityAssetHandlerSandbox(appObjects) {
7
+ return function submitActivityAssetHandler(assetFile, callback) {
8
+ const sandbox = __1.AppSandboxEntity.get(appObjects);
9
+ if (!sandbox) {
10
+ appObjects.submitError("makeSubmitActivityAssetHandlerSandbox", "Unable to find AppSandboxEntity");
11
+ callback(undefined);
12
+ return;
13
+ }
14
+ if (!sandbox.mockActivityID) {
15
+ appObjects.submitError("makeSubmitActivityAssetHandlerSandbox", "No activity ID found");
16
+ callback(undefined);
17
+ return;
18
+ }
19
+ const ownerID = sandbox.mockActivityID;
20
+ const newAssetData = {
21
+ name: "Activity Asset",
22
+ description: "Asset for activity " + ownerID,
23
+ file: assetFile,
24
+ owner: ownerID
25
+ };
26
+ const newAssetUC = Assets_1.NewAssetUC.get(appObjects);
27
+ if (!newAssetUC) {
28
+ appObjects.submitError("makeSubmitActivityAssetHandlerSandbox", "Unable to find NewAssetUC");
29
+ callback(undefined);
30
+ return;
31
+ }
32
+ newAssetUC.create(newAssetData).then((assetID) => {
33
+ callback(assetID);
34
+ });
35
+ };
36
+ }
37
+ exports.makeSubmitActivityAssetHandlerSandbox = makeSubmitActivityAssetHandlerSandbox;
@@ -17,6 +17,7 @@ function setupAssetsForSandbox(appObjects) {
17
17
  UCs_1.makeGetAssetFileUC(assetRepoAO);
18
18
  UCs_1.makeGetAssetUC(assetRepoAO);
19
19
  UCs_1.makePrefetchAssets(assetRepoAO);
20
+ UCs_1.makeNewAssetUC(assetRepoAO);
20
21
  UCs_1.makeNewAppAssetUC(appAssetsAO);
21
22
  UCs_1.makeGetAppAssetUC(appAssetsAO);
22
23
  // PMs
@@ -0,0 +1,8 @@
1
+ /// <reference types="jest" />
2
+ import { HostAppObject, HostAppObjectRepo } from "../../../HostAppObject";
3
+ import { NewAssetUC } from "../UCs/NewAssetUC";
4
+ export declare class MockNewAssetUC extends NewAssetUC {
5
+ create: jest.Mock<any, any>;
6
+ constructor(appObject: HostAppObject);
7
+ }
8
+ export declare function makeMockNewAssetUC(appObjects: HostAppObjectRepo): MockNewAssetUC;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeMockNewAssetUC = exports.MockNewAssetUC = void 0;
4
+ const NewAssetUC_1 = require("../UCs/NewAssetUC");
5
+ class MockNewAssetUC extends NewAssetUC_1.NewAssetUC {
6
+ constructor(appObject) {
7
+ super(appObject, NewAssetUC_1.NewAssetUC.type);
8
+ this.create = jest.fn().mockResolvedValue('newAssetID');
9
+ }
10
+ }
11
+ exports.MockNewAssetUC = MockNewAssetUC;
12
+ function makeMockNewAssetUC(appObjects) {
13
+ return new MockNewAssetUC(appObjects.getOrCreate("MockNewAssetUC"));
14
+ }
15
+ exports.makeMockNewAssetUC = makeMockNewAssetUC;
@@ -10,6 +10,7 @@ export * from "./MockGetAssetBlobURLUC";
10
10
  export * from "./MockGetAssetFileUC";
11
11
  export * from "./MockGetAssetUC";
12
12
  export * from "./MockNewAppAsset";
13
+ export * from "./MockNewAssetUC";
13
14
  export * from "./MockPrefetchAssets";
14
15
  export * from "./MockUpdateAssetFileUC";
15
16
  export * from "./MockUpdateAppAssetMetaUC";
@@ -22,6 +22,7 @@ __exportStar(require("./MockGetAssetBlobURLUC"), exports);
22
22
  __exportStar(require("./MockGetAssetFileUC"), exports);
23
23
  __exportStar(require("./MockGetAssetUC"), exports);
24
24
  __exportStar(require("./MockNewAppAsset"), exports);
25
+ __exportStar(require("./MockNewAssetUC"), exports);
25
26
  __exportStar(require("./MockPrefetchAssets"), exports);
26
27
  __exportStar(require("./MockUpdateAssetFileUC"), exports);
27
28
  __exportStar(require("./MockUpdateAppAssetMetaUC"), exports);
@@ -0,0 +1,13 @@
1
+ import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
2
+ export interface NewAssetDto {
3
+ file: File;
4
+ name: string;
5
+ description: string;
6
+ owner: string;
7
+ }
8
+ export declare abstract class NewAssetUC extends HostAppObjectUC {
9
+ static type: string;
10
+ abstract create(data: NewAssetDto): Promise<string>;
11
+ static get(appObjects: HostAppObjectRepo): NewAssetUC | undefined;
12
+ }
13
+ export declare function makeNewAssetUC(appObject: HostAppObject): NewAssetUC;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeNewAssetUC = exports.NewAssetUC = void 0;
4
+ const HostAppObject_1 = require("../../../HostAppObject");
5
+ const UCs_1 = require("../../VivedAPI/UCs");
6
+ const Entities_1 = require("../Entities");
7
+ class NewAssetUC extends HostAppObject_1.HostAppObjectUC {
8
+ static get(appObjects) {
9
+ return HostAppObject_1.getSingletonComponent(NewAssetUC.type, appObjects);
10
+ }
11
+ }
12
+ exports.NewAssetUC = NewAssetUC;
13
+ NewAssetUC.type = "NewAssetUC";
14
+ function makeNewAssetUC(appObject) {
15
+ return new NewAssetUCImp(appObject);
16
+ }
17
+ exports.makeNewAssetUC = makeNewAssetUC;
18
+ class NewAssetUCImp extends NewAssetUC {
19
+ constructor(appObject) {
20
+ super(appObject, NewAssetUC.type);
21
+ this.create = (data) => {
22
+ const postNewAsset = this.postNewAsset;
23
+ const assetRepo = this.assetRepo;
24
+ if (!postNewAsset || !assetRepo) {
25
+ return Promise.reject(new Error("Missing dependencies"));
26
+ }
27
+ const { description, file, name, owner } = data;
28
+ const newAssetData = {
29
+ description,
30
+ name,
31
+ file,
32
+ ownerID: owner
33
+ };
34
+ return postNewAsset(newAssetData).then((resp) => {
35
+ const newAsset = assetRepo.assetFactory(resp.id);
36
+ newAsset.setFile(file);
37
+ newAsset.description = description;
38
+ newAsset.name = name;
39
+ newAsset.filename = resp.filename;
40
+ assetRepo.add(newAsset);
41
+ return resp.id;
42
+ });
43
+ };
44
+ this.appObjects.registerSingleton(this);
45
+ }
46
+ get postNewAsset() {
47
+ var _a;
48
+ return (_a = this.getCachedSingleton(UCs_1.PostNewAssetUC.type)) === null || _a === void 0 ? void 0 : _a.doPost;
49
+ }
50
+ get assetRepo() {
51
+ return this.getCachedSingleton(Entities_1.AssetRepo.type);
52
+ }
53
+ }
@@ -7,6 +7,7 @@ export * from "./GetAssetBlobURLUC";
7
7
  export * from "./GetAssetFileUC";
8
8
  export * from "./GetAssetUC";
9
9
  export * from "./NewAppAssetUC";
10
+ export * from "./NewAssetUC";
10
11
  export * from "./PrefetchAssetsUC";
11
12
  export * from "./UpdateAppAssetMetaUC";
12
13
  export * from "./UpdateAssetFileUC";
@@ -19,6 +19,7 @@ __exportStar(require("./GetAssetBlobURLUC"), exports);
19
19
  __exportStar(require("./GetAssetFileUC"), exports);
20
20
  __exportStar(require("./GetAssetUC"), exports);
21
21
  __exportStar(require("./NewAppAssetUC"), exports);
22
+ __exportStar(require("./NewAssetUC"), exports);
22
23
  __exportStar(require("./PrefetchAssetsUC"), exports);
23
24
  __exportStar(require("./UpdateAppAssetMetaUC"), exports);
24
25
  __exportStar(require("./UpdateAssetFileUC"), exports);
@@ -16,6 +16,7 @@ export declare class AlertDialogEntity extends Dialog {
16
16
  readonly message: string;
17
17
  readonly buttonLabel: string;
18
18
  readonly preventOutsideDismiss: boolean;
19
+ hasBeenClosed: boolean;
19
20
  private postClose?;
20
21
  close: () => void;
21
22
  private _isOpen;
@@ -9,7 +9,9 @@ class AlertDialogEntity extends DialogQueue_1.Dialog {
9
9
  super(appObject, AlertDialogEntity.type);
10
10
  this.dialogType = exports.alertDialogType;
11
11
  this.preventOutsideDismiss = false;
12
+ this.hasBeenClosed = false;
12
13
  this.close = () => {
14
+ this.hasBeenClosed = true;
13
15
  this.isOpen = false;
14
16
  if (this.postClose) {
15
17
  this.postClose();
@@ -18,6 +18,7 @@ export declare class ConfirmDialogEntity extends Dialog {
18
18
  readonly confirmButtonLabel: string;
19
19
  readonly cancelButtonLabel: string;
20
20
  readonly preventOutsideDismiss = true;
21
+ hasBeenClosed: boolean;
21
22
  private postCancel?;
22
23
  cancel: () => void;
23
24
  private postConfirm?;
@@ -9,13 +9,16 @@ class ConfirmDialogEntity extends DialogQueue_1.Dialog {
9
9
  super(appObject, ConfirmDialogEntity.type);
10
10
  this.dialogType = exports.confirmDialogType;
11
11
  this.preventOutsideDismiss = true;
12
+ this.hasBeenClosed = false;
12
13
  this.cancel = () => {
14
+ this.hasBeenClosed = true;
13
15
  this.isOpen = false;
14
16
  if (this.postCancel) {
15
17
  this.postCancel();
16
18
  }
17
19
  };
18
20
  this.confirm = () => {
21
+ this.hasBeenClosed = true;
19
22
  this.isOpen = false;
20
23
  if (this.postConfirm) {
21
24
  this.postConfirm();
@@ -3,6 +3,7 @@ export declare abstract class Dialog extends HostAppObjectEntity {
3
3
  abstract dialogType: string;
4
4
  abstract preventOutsideDismiss: boolean;
5
5
  abstract isOpen: boolean;
6
+ abstract hasBeenClosed: boolean;
6
7
  }
7
8
  export declare abstract class DialogQueue extends HostAppObjectEntity {
8
9
  static type: string;
@@ -29,17 +29,30 @@ class DialogRepoImp extends DialogQueue {
29
29
  this.notifyOnChange();
30
30
  };
31
31
  this.activeDialogHasClosed = () => {
32
- const activeDialog = this.activeDialog;
33
- if (activeDialog !== null) {
32
+ const currentActiveDialog = this.activeDialog;
33
+ if (currentActiveDialog !== null) {
34
+ currentActiveDialog.removeChangeObserver(this.notifyOnChange);
35
+ this.filterOutClosedDialogs();
34
36
  this.dialogQueue.splice(0, 1);
35
37
  const newActiveDialog = this.activeDialog;
36
38
  if (newActiveDialog !== null) {
37
39
  newActiveDialog.isOpen = true;
38
40
  }
39
- activeDialog.removeChangeObserver(this.notifyOnChange);
40
41
  this.notifyOnChange();
41
42
  }
42
43
  };
44
+ this.filterOutClosedDialogs = () => {
45
+ const dialogsToKeep = [];
46
+ this.dialogQueue.forEach((dialog) => {
47
+ if (!dialog.hasBeenClosed) {
48
+ dialogsToKeep.push(dialog);
49
+ }
50
+ else {
51
+ dialog.removeChangeObserver(this.notifyOnChange);
52
+ }
53
+ });
54
+ this.dialogQueue = dialogsToKeep;
55
+ };
43
56
  this.appObjects.registerSingleton(this);
44
57
  }
45
58
  get activeDialog() {
@@ -1,5 +1,5 @@
1
- import { HostAppObject, HostAppObjectRepo } from '../../../HostAppObject';
2
- import { Dialog } from './DialogQueue';
1
+ import { HostAppObject, HostAppObjectRepo } from "../../../HostAppObject";
2
+ import { Dialog } from "./DialogQueue";
3
3
  export interface DialogMarkDownEditorDTO {
4
4
  initialText: string;
5
5
  onConfirm: (text: string) => void;
@@ -11,6 +11,7 @@ export declare class MarkDownEditorDialogEntity extends Dialog {
11
11
  readonly dialogType = "MARKDOWN_EDITOR";
12
12
  readonly initialText: string;
13
13
  readonly preventOutsideDismiss = true;
14
+ hasBeenClosed: boolean;
14
15
  cancel: () => void;
15
16
  private postConfirm;
16
17
  confirm: (text: string) => void;
@@ -3,16 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MarkDownEditorDialogEntity = exports.markDownEditorDialogType = void 0;
4
4
  const Entities_1 = require("../../../Entities");
5
5
  const DialogQueue_1 = require("./DialogQueue");
6
- exports.markDownEditorDialogType = 'MARKDOWN_EDITOR';
6
+ exports.markDownEditorDialogType = "MARKDOWN_EDITOR";
7
7
  class MarkDownEditorDialogEntity extends DialogQueue_1.Dialog {
8
8
  constructor(data, appObject) {
9
9
  super(appObject, MarkDownEditorDialogEntity.type);
10
10
  this.dialogType = exports.markDownEditorDialogType;
11
11
  this.preventOutsideDismiss = true;
12
+ this.hasBeenClosed = false;
12
13
  this.cancel = () => {
14
+ this.hasBeenClosed = true; // added setting hasBeenClosed
13
15
  this.isOpen = false;
14
16
  };
15
17
  this.confirm = (text) => {
18
+ this.hasBeenClosed = true; // added setting hasBeenClosed
16
19
  this.isOpen = false;
17
20
  this.postConfirm(text);
18
21
  };
@@ -23,12 +26,12 @@ class MarkDownEditorDialogEntity extends DialogQueue_1.Dialog {
23
26
  static get(assetID, appObjects) {
24
27
  const appObject = appObjects.get(assetID);
25
28
  if (!appObject) {
26
- appObjects.submitWarning('MarkDownEditorDialogEntity.get', 'Unable to find app object');
29
+ appObjects.submitWarning("MarkDownEditorDialogEntity.get", "Unable to find app object");
27
30
  return undefined;
28
31
  }
29
32
  const uc = appObject.getComponent(MarkDownEditorDialogEntity.type);
30
33
  if (!uc) {
31
- appObjects.submitWarning('MarkDownEditorDialogEntity.get', 'App Object does not have DialogAlertEntity');
34
+ appObjects.submitWarning("MarkDownEditorDialogEntity.get", "App Object does not have DialogAlertEntity");
32
35
  return undefined;
33
36
  }
34
37
  return uc;
@@ -41,4 +44,4 @@ class MarkDownEditorDialogEntity extends DialogQueue_1.Dialog {
41
44
  }
42
45
  }
43
46
  exports.MarkDownEditorDialogEntity = MarkDownEditorDialogEntity;
44
- MarkDownEditorDialogEntity.type = 'MarkDownEditorDialogEntity';
47
+ MarkDownEditorDialogEntity.type = "MarkDownEditorDialogEntity";
@@ -6,6 +6,7 @@ export declare class SelectModelDialogEntity extends Dialog {
6
6
  static type: string;
7
7
  static get(assetID: string, appObjects: HostAppObjectRepo): SelectModelDialogEntity | undefined;
8
8
  readonly dialogType = "SELECT_CHANNEL_MODEL";
9
+ hasBeenClosed: boolean;
9
10
  private _isOpen;
10
11
  get isOpen(): boolean;
11
12
  set isOpen(val: boolean);
@@ -8,6 +8,7 @@ class SelectModelDialogEntity extends DialogQueue_1.Dialog {
8
8
  constructor(appObject) {
9
9
  super(appObject, SelectModelDialogEntity.type);
10
10
  this.dialogType = exports.selectModelDialogType;
11
+ this.hasBeenClosed = false;
11
12
  this._isOpen = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
12
13
  this.preventOutsideDismiss = true;
13
14
  this.memoizedIsReady = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
@@ -19,6 +19,7 @@ export declare class SpinnerDialogEntity extends Dialog {
19
19
  private _isOpen;
20
20
  set isOpen(open: boolean);
21
21
  get isOpen(): boolean;
22
+ hasBeenClosed: boolean;
22
23
  close: () => void;
23
24
  constructor(data: DialogSpinnerDTO, appObject: HostAppObject);
24
25
  }
@@ -11,7 +11,9 @@ class SpinnerDialogEntity extends DialogQueue_1.Dialog {
11
11
  this.mininumuLifespan = 2000;
12
12
  this.preventOutsideDismiss = true;
13
13
  this._isOpen = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
14
+ this.hasBeenClosed = false;
14
15
  this.close = () => {
16
+ this.hasBeenClosed = true;
15
17
  if (this.createdAt === undefined) {
16
18
  this.isOpen = false;
17
19
  return;
@@ -23,6 +23,7 @@ function setupStandardHostHandlers(appObject) {
23
23
  UCs_1.makeShowSpinnerHandler(appObject);
24
24
  UCs_1.makeStartZSpaceHandler(appObject);
25
25
  UCs_1.makeStopZSpaceHandler(appObject);
26
+ UCs_1.makeSubmitActivityAssetHandler(appObject);
26
27
  UCs_1.makeSubmitLogHandler(appObject);
27
28
  UCs_1.makeSubmitResultHandler(appObject);
28
29
  }
@@ -2,8 +2,7 @@
2
2
  import { HostAppObject, HostAppObjectRepo } from "../../../HostAppObject";
3
3
  import { SignedAuthTokenUC } from "../UCs/SignedAuthTokenUC";
4
4
  export declare class MockSignedAuthTokenUC extends SignedAuthTokenUC {
5
- getPlayerAuthToken: jest.Mock<any, any>;
6
- getUserAuthToken: jest.Mock<any, any>;
5
+ getAuthToken: jest.Mock<any, any>;
7
6
  constructor(appObject: HostAppObject);
8
7
  }
9
8
  export declare function makeMockSignedAuthTokenUC(appObjects: HostAppObjectRepo): MockSignedAuthTokenUC;
@@ -5,8 +5,7 @@ const SignedAuthTokenUC_1 = require("../UCs/SignedAuthTokenUC");
5
5
  class MockSignedAuthTokenUC extends SignedAuthTokenUC_1.SignedAuthTokenUC {
6
6
  constructor(appObject) {
7
7
  super(appObject, SignedAuthTokenUC_1.SignedAuthTokenUC.type);
8
- this.getPlayerAuthToken = jest.fn();
9
- this.getUserAuthToken = jest.fn();
8
+ this.getAuthToken = jest.fn();
10
9
  }
11
10
  }
12
11
  exports.MockSignedAuthTokenUC = MockSignedAuthTokenUC;
@@ -1,4 +1,4 @@
1
- import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from '../../../HostAppObject';
1
+ import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
2
2
  export declare abstract class DeleteAssetOnAPIUC extends HostAppObjectUC {
3
3
  static type: string;
4
4
  abstract doDelete(assetID: string): Promise<void>;
@@ -11,7 +11,7 @@ class DeleteAssetOnAPIUC extends HostAppObject_1.HostAppObjectUC {
11
11
  }
12
12
  }
13
13
  exports.DeleteAssetOnAPIUC = DeleteAssetOnAPIUC;
14
- DeleteAssetOnAPIUC.type = 'DeleteAssetOnAPIUC';
14
+ DeleteAssetOnAPIUC.type = "DeleteAssetOnAPIUC";
15
15
  function makeDeleteAssetOnAPIUC(appObject) {
16
16
  return new DeleteAssetUCImp(appObject);
17
17
  }
@@ -31,10 +31,10 @@ class DeleteAssetUCImp extends DeleteAssetOnAPIUC {
31
31
  .then((token) => {
32
32
  const postURL = vivedAPI.getEndpointURL(`assets/${assetID}`);
33
33
  const options = {
34
- method: 'DELETE',
34
+ method: "DELETE",
35
35
  headers: {
36
- Authorization: 'Bearer ' + token,
37
- },
36
+ Authorization: "Bearer " + token
37
+ }
38
38
  };
39
39
  return jsonRequester(postURL, options);
40
40
  })
@@ -55,7 +55,7 @@ class DeleteAssetUCImp extends DeleteAssetOnAPIUC {
55
55
  }
56
56
  get getAuthToken() {
57
57
  var _a;
58
- return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getUserAuthToken;
58
+ return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getAuthToken;
59
59
  }
60
60
  get vivedAPI() {
61
61
  return this.getCachedSingleton(VivedAPIEntity_1.VivedAPIEntity.type);
@@ -1,4 +1,4 @@
1
- import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from '../../../HostAppObject';
1
+ import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
2
2
  export interface GetAppResponseDTO {
3
3
  interfaceVersion: string;
4
4
  assetFolderURL: string;
@@ -11,7 +11,7 @@ class GetAppFromAPIUC extends HostAppObject_1.HostAppObjectUC {
11
11
  }
12
12
  }
13
13
  exports.GetAppFromAPIUC = GetAppFromAPIUC;
14
- GetAppFromAPIUC.type = 'GetAppFromAPIUC';
14
+ GetAppFromAPIUC.type = "GetAppFromAPIUC";
15
15
  function makeGetAppFromAPIUC(appObject) {
16
16
  return new GetAppUCImp(appObject);
17
17
  }
@@ -30,12 +30,12 @@ class GetAppUCImp extends GetAppFromAPIUC {
30
30
  getAuthToken()
31
31
  .then((token) => {
32
32
  const endpointURL = vivedAPI.getEndpointURL(`apps/${appID}/${version}`);
33
- endpointURL.searchParams.set('function_version', '2');
33
+ endpointURL.searchParams.set("function_version", "2");
34
34
  const options = {
35
- method: 'GET',
35
+ method: "GET",
36
36
  headers: {
37
- Authorization: 'Bearer ' + token,
38
- },
37
+ Authorization: "Bearer " + token
38
+ }
39
39
  };
40
40
  return jsonRequester(endpointURL, options);
41
41
  })
@@ -44,7 +44,7 @@ class GetAppUCImp extends GetAppFromAPIUC {
44
44
  const appDTO = {
45
45
  interfaceVersion: app.appInterfaceVersion,
46
46
  assetFolderURL: app.baseAssetsUrl,
47
- entrypoints: [...app.files],
47
+ entrypoints: [...app.files]
48
48
  };
49
49
  resolve(appDTO);
50
50
  })
@@ -62,7 +62,7 @@ class GetAppUCImp extends GetAppFromAPIUC {
62
62
  }
63
63
  get getAuthToken() {
64
64
  var _a;
65
- return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getUserAuthToken;
65
+ return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getAuthToken;
66
66
  }
67
67
  get vivedAPI() {
68
68
  return this.getCachedSingleton(VivedAPIEntity_1.VivedAPIEntity.type);
@@ -1,5 +1,5 @@
1
- import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from '../../../HostAppObject';
2
- import { AssetDTO } from '../../Assets';
1
+ import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
2
+ import { AssetDTO } from "../../Assets";
3
3
  export declare abstract class GetAssetsForOwnerFromAPIUC extends HostAppObjectUC {
4
4
  static type: string;
5
5
  abstract getAssets(ownerID: string): Promise<AssetDTO[]>;
@@ -11,7 +11,7 @@ class GetAssetsForOwnerFromAPIUC extends HostAppObject_1.HostAppObjectUC {
11
11
  }
12
12
  }
13
13
  exports.GetAssetsForOwnerFromAPIUC = GetAssetsForOwnerFromAPIUC;
14
- GetAssetsForOwnerFromAPIUC.type = 'GetAssetsForOwnerFromAPIUC';
14
+ GetAssetsForOwnerFromAPIUC.type = "GetAssetsForOwnerFromAPIUC";
15
15
  function makeGetAssetsForOwnerFromAPIUC(appObject) {
16
16
  return new GetAssetsForOwnerUCImp(appObject);
17
17
  }
@@ -32,10 +32,10 @@ class GetAssetsForOwnerUCImp extends GetAssetsForOwnerFromAPIUC {
32
32
  const url = vivedAPI.getEndpointURL(`assets/group/${ownerID}`);
33
33
  const page = 1;
34
34
  const itemsPerPage = 100;
35
- url.searchParams.append('page', page.toString());
36
- url.searchParams.append('itemsPerPage', itemsPerPage.toString());
35
+ url.searchParams.append("page", page.toString());
36
+ url.searchParams.append("itemsPerPage", itemsPerPage.toString());
37
37
  const options = {
38
- method: 'GET',
38
+ method: "GET"
39
39
  };
40
40
  return jsonRequester(url, options);
41
41
  })
@@ -59,7 +59,7 @@ class GetAssetsForOwnerUCImp extends GetAssetsForOwnerFromAPIUC {
59
59
  }
60
60
  get getAuthToken() {
61
61
  var _a;
62
- return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getUserAuthToken;
62
+ return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getAuthToken;
63
63
  }
64
64
  get vivedAPI() {
65
65
  return this.getCachedSingleton(VivedAPIEntity_1.VivedAPIEntity.type);
@@ -68,7 +68,7 @@ class GetAssetsForOwnerUCImp extends GetAssetsForOwnerFromAPIUC {
68
68
  const linkedAssets = resp.linkedAssets.map((linkedAssetResp) => {
69
69
  return {
70
70
  type: linkedAssetResp.type,
71
- asset: this.responseToDTO(linkedAssetResp.asset),
71
+ asset: this.responseToDTO(linkedAssetResp.asset)
72
72
  };
73
73
  });
74
74
  const dto = {
@@ -79,7 +79,7 @@ class GetAssetsForOwnerUCImp extends GetAssetsForOwnerFromAPIUC {
79
79
  id: resp.id,
80
80
  name: resp.name,
81
81
  linkedAssets,
82
- ownerId: resp.ownerId,
82
+ ownerId: resp.ownerId
83
83
  };
84
84
  return dto;
85
85
  }
@@ -72,7 +72,7 @@ class PatchAssetFileUCImp extends PatchAssetFileUC {
72
72
  }
73
73
  get getAuthToken() {
74
74
  var _a;
75
- return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getUserAuthToken;
75
+ return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getAuthToken;
76
76
  }
77
77
  get fileUpload() {
78
78
  var _a;
@@ -59,7 +59,7 @@ class PatchAssetIsArchivedUCImp extends PatchAssetIsArchivedUC {
59
59
  }
60
60
  get getAuthToken() {
61
61
  var _a;
62
- return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getUserAuthToken;
62
+ return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getAuthToken;
63
63
  }
64
64
  get vivedAPI() {
65
65
  return this.getCachedSingleton(VivedAPIEntity_1.VivedAPIEntity.type);
@@ -62,7 +62,7 @@ class PatchAssetMetaUCImp extends PatchAssetMetaUC {
62
62
  }
63
63
  get getAuthToken() {
64
64
  var _a;
65
- return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getUserAuthToken;
65
+ return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getAuthToken;
66
66
  }
67
67
  get vivedAPI() {
68
68
  return this.getCachedSingleton(VivedAPIEntity_1.VivedAPIEntity.type);
@@ -76,7 +76,7 @@ class PatchAssetUCImp extends PatchAssetUC {
76
76
  }
77
77
  get getAuthToken() {
78
78
  var _a;
79
- return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getUserAuthToken;
79
+ return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getAuthToken;
80
80
  }
81
81
  get fileUpload() {
82
82
  var _a;
@@ -1,5 +1,5 @@
1
- import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from '../../../HostAppObject';
2
- export interface NewAssetDTO {
1
+ import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
2
+ export interface NewAssetApiDto {
3
3
  name: string;
4
4
  description: string;
5
5
  ownerID: string;
@@ -11,7 +11,7 @@ export interface NewAssetResponseDTO {
11
11
  }
12
12
  export declare abstract class PostNewAssetUC extends HostAppObjectUC {
13
13
  static type: string;
14
- abstract doPost(data: NewAssetDTO): Promise<NewAssetResponseDTO>;
14
+ abstract doPost(data: NewAssetApiDto): Promise<NewAssetResponseDTO>;
15
15
  static get(appObjects: HostAppObjectRepo): PostNewAssetUC | undefined;
16
16
  }
17
17
  export declare function makePostNewAssetUC(appObject: HostAppObject): PostNewAssetUC;
@@ -13,7 +13,7 @@ class PostNewAssetUC extends HostAppObject_1.HostAppObjectUC {
13
13
  }
14
14
  }
15
15
  exports.PostNewAssetUC = PostNewAssetUC;
16
- PostNewAssetUC.type = 'PostNewAssetUC';
16
+ PostNewAssetUC.type = "PostNewAssetUC";
17
17
  function makePostNewAssetUC(appObject) {
18
18
  return new PostNewAssetUCImp(appObject);
19
19
  }
@@ -32,30 +32,30 @@ class PostNewAssetUCImp extends PostNewAssetUC {
32
32
  return new Promise((resolve, reject) => {
33
33
  const { description, file, name, ownerID } = data;
34
34
  let assetId;
35
- const nameSplits = file.name.split('.');
35
+ const nameSplits = file.name.split(".");
36
36
  const extension = nameSplits[nameSplits.length - 1];
37
37
  const filename = `${Utilities_1.generateUniqueID()}.${extension}`;
38
38
  const assetFile = new File([file], filename, {
39
- lastModified: Date.now(),
39
+ lastModified: Date.now()
40
40
  });
41
41
  fileUploader(assetFile)
42
42
  .then((_) => {
43
43
  return getPlayerAuthToken();
44
44
  })
45
45
  .then((token) => {
46
- const postURL = vivedAPI.getEndpointURL('assets');
46
+ const postURL = vivedAPI.getEndpointURL("assets");
47
47
  const body = {
48
48
  ownerId: ownerID,
49
49
  name,
50
50
  description,
51
- filename,
51
+ filename
52
52
  };
53
53
  const options = {
54
- method: 'POST',
54
+ method: "POST",
55
55
  body: JSON.stringify(body),
56
56
  headers: {
57
- Authorization: 'Bearer ' + token,
58
- },
57
+ Authorization: "Bearer " + token
58
+ }
59
59
  };
60
60
  return jsonRequester(postURL, options);
61
61
  })
@@ -63,7 +63,7 @@ class PostNewAssetUCImp extends PostNewAssetUC {
63
63
  assetId = result.assetId;
64
64
  resolve({
65
65
  id: assetId,
66
- filename,
66
+ filename
67
67
  });
68
68
  })
69
69
  .catch((e) => {
@@ -80,7 +80,7 @@ class PostNewAssetUCImp extends PostNewAssetUC {
80
80
  }
81
81
  get getPlayerAuthToken() {
82
82
  var _a;
83
- return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getUserAuthToken;
83
+ return (_a = this.getCachedSingleton(SignedAuthTokenUC_1.SignedAuthTokenUC.type)) === null || _a === void 0 ? void 0 : _a.getAuthToken;
84
84
  }
85
85
  get fileUploader() {
86
86
  var _a;
@@ -1,7 +1,6 @@
1
1
  import { HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
2
2
  export declare abstract class SignedAuthTokenUC extends HostAppObjectUC {
3
3
  static type: string;
4
- abstract getPlayerAuthToken(): Promise<string>;
5
- abstract getUserAuthToken(): Promise<string>;
4
+ abstract getAuthToken(): Promise<string>;
6
5
  static get(appObjects: HostAppObjectRepo): SignedAuthTokenUC | undefined;
7
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vived/host",
3
- "version": "3.11.1",
3
+ "version": "3.12.1",
4
4
  "description": "Public Host package for the VIVED Learning App system",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -1,3 +0,0 @@
1
- import { Version } from "../../../ValueObjects";
2
- import { AppEntity } from "../Entities";
3
- export declare function appIDWithVersion(app: AppEntity, version: Version): string;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.appIDWithVersion = void 0;
4
- function appIDWithVersion(app, version) {
5
- const versionString = version.baseVersionString.split(".").join("_");
6
- return `${app.id}-${versionString}`;
7
- }
8
- exports.appIDWithVersion = appIDWithVersion;
@@ -1,16 +0,0 @@
1
- /// <reference types="jest" />
2
- import { HostAppObject, HostAppObjectRepo } from "../../../HostAppObject";
3
- import { ChallengeResponse, HostStateEntity } from "../Entities";
4
- export declare class MockHostStateEntity extends HostStateEntity {
5
- get id(): string;
6
- name: string;
7
- assets: never[];
8
- expectedResponse: ChallengeResponse;
9
- appID: string;
10
- getDTO: jest.Mock<any, any>;
11
- setDTO: jest.Mock<any, any>;
12
- get stateData(): object;
13
- setStateData: jest.Mock<any, any>;
14
- constructor(appObject: HostAppObject);
15
- }
16
- export declare function makeMockHostStateEntity(id: string, appObjects: HostAppObjectRepo): MockHostStateEntity;
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeMockHostStateEntity = exports.MockHostStateEntity = void 0;
4
- const Entities_1 = require("../Entities");
5
- class MockHostStateEntity extends Entities_1.HostStateEntity {
6
- constructor(appObject) {
7
- super(appObject, Entities_1.HostStateEntity.type);
8
- this.name = "State Name";
9
- this.assets = [];
10
- this.expectedResponse = Entities_1.ChallengeResponse.NONE;
11
- this.appID = "AppID";
12
- this.getDTO = jest.fn();
13
- this.setDTO = jest.fn();
14
- this.setStateData = jest.fn();
15
- }
16
- get id() {
17
- return this.appObject.id;
18
- }
19
- get stateData() {
20
- return { foo: "bar" };
21
- }
22
- }
23
- exports.MockHostStateEntity = MockHostStateEntity;
24
- function makeMockHostStateEntity(id, appObjects) {
25
- return new MockHostStateEntity(appObjects.getOrCreate(id));
26
- }
27
- exports.makeMockHostStateEntity = makeMockHostStateEntity;
@@ -1,8 +0,0 @@
1
- import { HostAppObjectRepo } from "../../../HostAppObject";
2
- export interface SandboxStateStringData {
3
- id: string;
4
- name: string;
5
- data: string;
6
- assets: string[];
7
- }
8
- export declare function setSandboxStatesFromStingData(datas: SandboxStateStringData[], appObjects: HostAppObjectRepo): void;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setSandboxStatesFromStingData = void 0;
4
- const Entities_1 = require("../../AppSandbox/Entities");
5
- const Entities_2 = require("../Entities");
6
- function setSandboxStatesFromStingData(datas, appObjects) {
7
- const stateMachine = Entities_2.HostStateMachine.get(appObjects);
8
- if (!stateMachine) {
9
- appObjects.submitError("setSandboxStatesFromData", "Unable to find StateMachineEntity");
10
- return;
11
- }
12
- const sandbox = Entities_1.AppSandboxEntity.get(appObjects);
13
- if (!sandbox) {
14
- appObjects.submitWarning("setSandboxStatesFromData", "Could not find AppSandboxEntity");
15
- return;
16
- }
17
- const states = [];
18
- datas.forEach((stateData) => {
19
- const { data, id, name, assets } = stateData;
20
- const state = stateMachine.stateFactory(id);
21
- state.setStateData(JSON.parse(data));
22
- state.name = name;
23
- state.appID = sandbox.appID;
24
- state.assets = assets;
25
- states.push(state);
26
- });
27
- stateMachine.setStates(states);
28
- }
29
- exports.setSandboxStatesFromStingData = setSandboxStatesFromStingData;
@@ -1,3 +0,0 @@
1
- import { HostAppObject } from "../../../HostAppObject";
2
- import { StartZSpaceUC } from "./StartZSpaceUC";
3
- export declare function makeStartSandboxZSpaceUC(appObject: HostAppObject): StartZSpaceUC;
@@ -1,70 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeStartSandboxZSpaceUC = void 0;
4
- const AppSandbox_1 = require("../../AppSandbox");
5
- const Dispatcher_1 = require("../../Dispatcher");
6
- const Entities_1 = require("../Entities");
7
- const StartZSpaceUC_1 = require("./StartZSpaceUC");
8
- const StopZSpaceUC_1 = require("./StopZSpaceUC");
9
- function makeStartSandboxZSpaceUC(appObject) {
10
- return new StartSandboxZSpaceUCImp(appObject);
11
- }
12
- exports.makeStartSandboxZSpaceUC = makeStartSandboxZSpaceUC;
13
- class StartSandboxZSpaceUCImp extends StartZSpaceUC_1.StartZSpaceUC {
14
- constructor(appObject) {
15
- super(appObject, StartZSpaceUC_1.StartZSpaceUC.type);
16
- this.startZSpace = () => {
17
- if (!this.zSpace || !this.sandbox || !this.stopUC) {
18
- return Promise.reject("Missing Components");
19
- }
20
- const dispatcher = Dispatcher_1.DispatchStartZSpaceUC.getByID(this.sandbox.appID, this.appObjects);
21
- if (!dispatcher) {
22
- return Promise.reject("Missing Dispatcher");
23
- }
24
- if (this.zSpace.isActive) {
25
- return Promise.resolve();
26
- }
27
- if (this.zSpace.emulate) {
28
- if (this.sandbox.state === AppSandbox_1.SandboxState.PLAYING) {
29
- dispatcher.doDispatch({}, true);
30
- }
31
- this.zSpace.isActive = true;
32
- return Promise.resolve();
33
- }
34
- if (!this.zSpace.isSupported) {
35
- return Promise.reject(new Error("ZSpace is not supported"));
36
- }
37
- const zSpace = this.zSpace;
38
- const sandbox = this.sandbox;
39
- const stopUC = this.stopUC;
40
- return new Promise((resolve, reject) => {
41
- navigator.xr
42
- .requestSession("immersive-vr")
43
- .then((xrSession) => {
44
- xrSession.addEventListener("end", stopUC.stopZSpace, {
45
- once: true
46
- });
47
- zSpace.session = xrSession;
48
- if (sandbox.state === AppSandbox_1.SandboxState.PLAYING) {
49
- dispatcher.doDispatch(xrSession, false);
50
- }
51
- zSpace.isActive = true;
52
- resolve();
53
- })
54
- .catch((e) => {
55
- reject(e);
56
- });
57
- });
58
- };
59
- this.appObjects.registerSingleton(this);
60
- }
61
- get zSpace() {
62
- return this.getCachedSingleton(Entities_1.ZSpaceHostEntity.type);
63
- }
64
- get sandbox() {
65
- return this.getCachedSingleton(AppSandbox_1.AppSandboxEntity.type);
66
- }
67
- get stopUC() {
68
- return this.getCachedSingleton(StopZSpaceUC_1.StopZSpaceUC.type);
69
- }
70
- }
@@ -1,6 +0,0 @@
1
- import { HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
2
- export declare abstract class StartZSpaceUC extends HostAppObjectUC {
3
- static type: string;
4
- abstract startZSpace(): Promise<void>;
5
- static get(appObjects: HostAppObjectRepo): StartZSpaceUC | undefined;
6
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StartZSpaceUC = void 0;
4
- const HostAppObject_1 = require("../../../HostAppObject");
5
- class StartZSpaceUC extends HostAppObject_1.HostAppObjectUC {
6
- static get(appObjects) {
7
- return HostAppObject_1.getSingletonComponent(StartZSpaceUC.type, appObjects);
8
- }
9
- }
10
- exports.StartZSpaceUC = StartZSpaceUC;
11
- StartZSpaceUC.type = "StartZSpaceUC";
@@ -1,3 +0,0 @@
1
- import { HostAppObject } from "../../../HostAppObject";
2
- import { StopZSpaceUC } from "./StopZSpaceUC";
3
- export declare function makeStopSandboxZSpaceUC(appObject: HostAppObject): StopZSpaceUC;
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeStopSandboxZSpaceUC = void 0;
4
- const AppSandbox_1 = require("../../AppSandbox");
5
- const Dispatcher_1 = require("../../Dispatcher");
6
- const Entities_1 = require("../Entities");
7
- const StopZSpaceUC_1 = require("./StopZSpaceUC");
8
- function makeStopSandboxZSpaceUC(appObject) {
9
- return new StopSandboxZSpaceUCImp(appObject);
10
- }
11
- exports.makeStopSandboxZSpaceUC = makeStopSandboxZSpaceUC;
12
- class StopSandboxZSpaceUCImp extends StopZSpaceUC_1.StopZSpaceUC {
13
- constructor(appObject) {
14
- super(appObject, StopZSpaceUC_1.StopZSpaceUC.type);
15
- this.stopZSpace = () => {
16
- var _a, _b;
17
- if (!this.sandbox || !this.zSpace)
18
- return;
19
- const dispatcher = Dispatcher_1.DispatchStopZSpaceUC.getByID(this.sandbox.appID, this.appObjects);
20
- if (!dispatcher) {
21
- this.warn("Unable to find DispatchStopZSpaceUC");
22
- return;
23
- }
24
- if (!this.zSpace.isActive)
25
- return;
26
- dispatcher.doDispatch();
27
- (_a = this.zSpace.session) === null || _a === void 0 ? void 0 : _a.removeEventListener("end", this.stopZSpace);
28
- (_b = this.zSpace.session) === null || _b === void 0 ? void 0 : _b.end();
29
- this.zSpace.session = undefined;
30
- this.zSpace.isActive = false;
31
- };
32
- this.appObjects.registerSingleton(this);
33
- }
34
- get zSpace() {
35
- return this.getCachedSingleton(Entities_1.ZSpaceHostEntity.type);
36
- }
37
- get sandbox() {
38
- return this.getCachedSingleton(AppSandbox_1.AppSandboxEntity.type);
39
- }
40
- }
@@ -1,6 +0,0 @@
1
- import { HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
2
- export declare abstract class StopZSpaceUC extends HostAppObjectUC {
3
- static type: string;
4
- abstract stopZSpace(): void;
5
- static get(appObjects: HostAppObjectRepo): StopZSpaceUC | undefined;
6
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StopZSpaceUC = void 0;
4
- const HostAppObject_1 = require("../../../HostAppObject");
5
- class StopZSpaceUC extends HostAppObject_1.HostAppObjectUC {
6
- static get(appObjects) {
7
- return HostAppObject_1.getSingletonComponent(StopZSpaceUC.type, appObjects);
8
- }
9
- }
10
- exports.StopZSpaceUC = StopZSpaceUC;
11
- StopZSpaceUC.type = "StopZSpaceUC";