@vived/host 3.0.0 → 3.2.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/Apps/Adapters/activeAppPMAdapter.d.ts +3 -0
- package/lib/Components/Apps/Adapters/activeAppPMAdapter.js +23 -0
- package/lib/Components/Apps/Adapters/appListPMAdapter.d.ts +2 -0
- package/lib/Components/Apps/Adapters/appListPMAdapter.js +23 -0
- package/lib/Components/Apps/Adapters/appPMAdapter.d.ts +3 -0
- package/lib/Components/Apps/Adapters/appPMAdapter.js +23 -0
- package/lib/Components/Apps/Adapters/index.d.ts +3 -0
- package/lib/Components/Apps/Adapters/index.js +15 -0
- package/lib/Components/Apps/Controllers/index.d.ts +1 -0
- package/lib/Components/Apps/Controllers/index.js +13 -0
- package/lib/Components/Apps/Controllers/updateApp.d.ts +2 -0
- package/lib/Components/Apps/Controllers/updateApp.js +13 -0
- package/lib/Components/Apps/Entities/AppEntity.d.ts +28 -0
- package/lib/Components/Apps/Entities/AppEntity.js +93 -0
- package/lib/Components/Apps/Entities/AppRepo.d.ts +19 -0
- package/lib/Components/Apps/Entities/AppRepo.js +57 -0
- package/lib/Components/Apps/Entities/index.d.ts +2 -0
- package/lib/Components/Apps/Entities/index.js +14 -0
- package/lib/Components/Apps/Mocks/MockActiveAppPM.d.ts +8 -0
- package/lib/Components/Apps/Mocks/MockActiveAppPM.js +15 -0
- package/lib/Components/Apps/Mocks/MockAppListPM.d.ts +8 -0
- package/lib/Components/Apps/Mocks/MockAppListPM.js +15 -0
- package/lib/Components/Apps/Mocks/MockAppMounterUC.d.ts +10 -0
- package/lib/Components/Apps/Mocks/MockAppMounterUC.js +14 -0
- package/lib/Components/Apps/Mocks/MockAppPM.d.ts +7 -0
- package/lib/Components/Apps/Mocks/MockAppPM.js +11 -0
- package/lib/Components/Apps/Mocks/MockStartAppUC.d.ts +7 -0
- package/lib/Components/Apps/Mocks/MockStartAppUC.js +11 -0
- package/lib/Components/Apps/Mocks/MockStopAppUC.d.ts +7 -0
- package/lib/Components/Apps/Mocks/MockStopAppUC.js +11 -0
- package/lib/Components/Apps/Mocks/MockUpdateAppUC.d.ts +7 -0
- package/lib/Components/Apps/Mocks/MockUpdateAppUC.js +11 -0
- package/lib/Components/Apps/Mocks/index.d.ts +7 -0
- package/lib/Components/Apps/Mocks/index.js +19 -0
- package/lib/Components/Apps/PMs/ActiveAppPM.d.ts +10 -0
- package/lib/Components/Apps/PMs/ActiveAppPM.js +15 -0
- package/lib/Components/Apps/PMs/AppPM.d.ts +13 -0
- package/lib/Components/Apps/PMs/AppPM.js +57 -0
- package/lib/Components/Apps/PMs/AppsListPM.d.ts +6 -0
- package/lib/Components/Apps/PMs/AppsListPM.js +51 -0
- package/lib/Components/Apps/PMs/index.d.ts +3 -0
- package/lib/Components/Apps/PMs/index.js +15 -0
- package/lib/Components/Apps/UCs/MounterUC.d.ts +12 -0
- package/lib/Components/Apps/UCs/MounterUC.js +15 -0
- package/lib/Components/Apps/UCs/StartAppUC.d.ts +8 -0
- package/lib/Components/Apps/UCs/StartAppUC.js +27 -0
- package/lib/Components/Apps/UCs/StopAppUC.d.ts +8 -0
- package/lib/Components/Apps/UCs/StopAppUC.js +27 -0
- package/lib/Components/Apps/UCs/UpdateAppUC.d.ts +7 -0
- package/lib/Components/Apps/UCs/UpdateAppUC.js +23 -0
- package/lib/Components/Apps/UCs/appIDWithVersion.d.ts +3 -0
- package/lib/Components/Apps/UCs/appIDWithVersion.js +8 -0
- package/lib/Components/Apps/UCs/index.d.ts +5 -0
- package/lib/Components/Apps/UCs/index.js +17 -0
- package/lib/Components/Apps/index.d.ts +6 -0
- package/lib/Components/Apps/index.js +18 -0
- package/lib/Components/AssetPlugin/Adapters/assetPluginPMAdapter.d.ts +3 -0
- package/lib/Components/AssetPlugin/Adapters/assetPluginPMAdapter.js +23 -0
- package/lib/Components/AssetPlugin/Adapters/index.d.ts +1 -0
- package/lib/Components/AssetPlugin/Adapters/index.js +13 -0
- package/lib/Components/AssetPlugin/Controllers/clearAssetPluginContainer.d.ts +2 -0
- package/lib/Components/AssetPlugin/Controllers/clearAssetPluginContainer.js +14 -0
- package/lib/Components/AssetPlugin/Controllers/index.d.ts +2 -0
- package/lib/Components/AssetPlugin/Controllers/index.js +14 -0
- package/lib/Components/AssetPlugin/Controllers/setAssetPluginContainer.d.ts +2 -0
- package/lib/Components/AssetPlugin/Controllers/setAssetPluginContainer.js +14 -0
- package/lib/Components/AssetPlugin/Entities/AssetPluginEntity.d.ts +14 -0
- package/lib/Components/AssetPlugin/Entities/AssetPluginEntity.js +40 -0
- package/lib/Components/AssetPlugin/Entities/index.d.ts +1 -0
- package/lib/Components/AssetPlugin/Entities/index.js +13 -0
- package/lib/Components/AssetPlugin/Mocks/MockAssetPluginContainerUC.d.ts +9 -0
- package/lib/Components/AssetPlugin/Mocks/MockAssetPluginContainerUC.js +16 -0
- package/lib/Components/AssetPlugin/Mocks/MockAssetPluginPM.d.ts +8 -0
- package/lib/Components/AssetPlugin/Mocks/MockAssetPluginPM.js +15 -0
- package/lib/Components/AssetPlugin/Mocks/index.d.ts +2 -0
- package/lib/Components/AssetPlugin/Mocks/index.js +14 -0
- package/lib/Components/AssetPlugin/PM/AssetPluginPM.d.ts +12 -0
- package/lib/Components/AssetPlugin/PM/AssetPluginPM.js +68 -0
- package/lib/Components/AssetPlugin/PM/index.d.ts +1 -0
- package/lib/Components/AssetPlugin/PM/index.js +13 -0
- package/lib/Components/AssetPlugin/UCs/AssetPluginContainerUC.d.ts +7 -0
- package/lib/Components/AssetPlugin/UCs/AssetPluginContainerUC.js +11 -0
- package/lib/Components/AssetPlugin/UCs/index.d.ts +1 -0
- package/lib/Components/AssetPlugin/UCs/index.js +13 -0
- package/lib/Components/AssetPlugin/index.d.ts +6 -0
- package/lib/Components/AssetPlugin/index.js +18 -0
- package/lib/Components/Assets/Entities/AssetEntity.d.ts +1 -1
- package/lib/Components/Assets/Entities/AssetEntity.js +11 -9
- package/lib/Components/Assets/Mocks/MockPrefetchAssets.d.ts +8 -0
- package/lib/Components/Assets/Mocks/MockPrefetchAssets.js +15 -0
- package/lib/Components/Assets/Mocks/index.d.ts +1 -0
- package/lib/Components/Assets/Mocks/index.js +1 -0
- package/lib/Components/Assets/UCs/PrefetchAssetsUC.d.ts +7 -0
- package/lib/Components/Assets/UCs/PrefetchAssetsUC.js +69 -0
- package/lib/Components/Assets/UCs/index.d.ts +9 -8
- package/lib/Components/Assets/UCs/index.js +1 -0
- package/lib/Components/Dispatcher/Entities/HostDispatchEntity.js +7 -2
- package/lib/Components/Dispatcher/UCs/DispatchStartBrowseChannelsUC.d.ts +1 -1
- package/lib/Components/Dispatcher/UCs/DispatchStartBrowseChannelsUC.js +1 -1
- package/lib/Components/Handler/UCs/GetAssetFolderURLHandler.js +12 -2
- package/lib/Components/Handler/UCs/HasNextStateHandler.js +15 -2
- package/lib/Components/Handler/UCs/HasPreviousStateHandler.js +15 -2
- package/lib/Components/Handler/UCs/OnAppIsReadyHandler.js +9 -1
- package/lib/Components/Handler/UCs/OnStateChangeHandler.d.ts +3 -1
- package/lib/Components/Handler/UCs/OnStateChangeHandler.js +39 -2
- package/lib/Components/Handler/UCs/RegisterExternalStyleSheetsHandler.js +11 -1
- package/lib/Components/StateMachine/Adapters/hostStateMachinePMAdapter.d.ts +3 -0
- package/lib/Components/StateMachine/Adapters/hostStateMachinePMAdapter.js +23 -0
- package/lib/Components/StateMachine/Adapters/hostStateMachinePMAdater.d.ts +3 -0
- package/lib/Components/StateMachine/Adapters/hostStateMachinePMAdater.js +23 -0
- package/lib/Components/StateMachine/Adapters/index.d.ts +1 -0
- package/lib/Components/StateMachine/Adapters/index.js +13 -0
- package/lib/Components/StateMachine/Adapters/isEditingPMAdapter.d.ts +3 -0
- package/lib/Components/StateMachine/Adapters/isEditingPMAdapter.js +23 -0
- package/lib/Components/StateMachine/Controllers/deleteState.d.ts +2 -0
- package/lib/Components/StateMachine/Controllers/deleteState.js +13 -0
- package/lib/Components/StateMachine/Controllers/duplicateState.d.ts +2 -0
- package/lib/Components/StateMachine/Controllers/duplicateState.js +13 -0
- package/lib/Components/StateMachine/Controllers/index.d.ts +2 -0
- package/lib/Components/StateMachine/Controllers/index.js +14 -0
- package/lib/Components/StateMachine/Entities/HostEditingStateEntity.d.ts +16 -0
- package/lib/Components/StateMachine/Entities/HostEditingStateEntity.js +121 -0
- package/lib/Components/StateMachine/Entities/HostStateEntity.d.ts +31 -0
- package/lib/Components/StateMachine/Entities/HostStateEntity.js +124 -0
- package/lib/Components/StateMachine/Entities/HostStateMachine.d.ts +20 -0
- package/lib/Components/StateMachine/Entities/HostStateMachine.js +161 -0
- package/lib/Components/StateMachine/Entities/index.d.ts +3 -0
- package/lib/Components/StateMachine/Entities/index.js +15 -0
- package/lib/Components/StateMachine/Mocks/MockDeleteStateUC.d.ts +8 -0
- package/lib/Components/StateMachine/Mocks/MockDeleteStateUC.js +15 -0
- package/lib/Components/StateMachine/Mocks/MockDuplicateStateUC.d.ts +8 -0
- package/lib/Components/StateMachine/Mocks/MockDuplicateStateUC.js +15 -0
- package/lib/Components/StateMachine/Mocks/MockHostEditingStateEntity.d.ts +16 -0
- package/lib/Components/StateMachine/Mocks/MockHostEditingStateEntity.js +30 -0
- package/lib/Components/StateMachine/Mocks/MockHostStateMachinePM.d.ts +8 -0
- package/lib/Components/StateMachine/Mocks/MockHostStateMachinePM.js +15 -0
- package/lib/Components/StateMachine/Mocks/MockIsEditingStatePM.d.ts +8 -0
- package/lib/Components/StateMachine/Mocks/MockIsEditingStatePM.js +15 -0
- package/lib/Components/StateMachine/Mocks/MockStateEntity.d.ts +16 -0
- package/lib/Components/StateMachine/Mocks/MockStateEntity.js +27 -0
- package/lib/Components/StateMachine/Mocks/index.d.ts +6 -0
- package/lib/Components/StateMachine/Mocks/index.js +18 -0
- package/lib/Components/StateMachine/PMs/EditingStatePM.d.ts +19 -0
- package/lib/Components/StateMachine/PMs/EditingStatePM.js +54 -0
- package/lib/Components/StateMachine/PMs/HostStateMachinePM.d.ts +23 -0
- package/lib/Components/StateMachine/PMs/HostStateMachinePM.js +70 -0
- package/lib/Components/StateMachine/PMs/IsEditingStatePM.d.ts +13 -0
- package/lib/Components/StateMachine/PMs/IsEditingStatePM.js +36 -0
- package/lib/Components/StateMachine/PMs/index.d.ts +2 -0
- package/lib/Components/StateMachine/PMs/index.js +14 -0
- package/lib/Components/StateMachine/UCs/DeleteStateUC.d.ts +7 -0
- package/lib/Components/StateMachine/UCs/DeleteStateUC.js +37 -0
- package/lib/Components/StateMachine/UCs/DuplicateStateUC.d.ts +7 -0
- package/lib/Components/StateMachine/UCs/DuplicateStateUC.js +39 -0
- package/lib/Components/StateMachine/UCs/index.d.ts +2 -0
- package/lib/Components/StateMachine/UCs/index.js +14 -0
- package/lib/Components/StateMachine/index.d.ts +6 -0
- package/lib/Components/StateMachine/index.js +18 -0
- package/lib/Components/index.d.ts +3 -0
- package/lib/Components/index.js +3 -0
- package/lib/Types/PmAdapter.d.ts +6 -0
- package/lib/Types/PmAdapter.js +2 -0
- package/lib/Types/ReactHookPmAdapter.d.ts +6 -0
- package/lib/Types/ReactHookPmAdapter.js +2 -0
- package/lib/Types/SingletonPmAdapter.d.ts +6 -0
- package/lib/Types/SingletonPmAdapter.js +2 -0
- package/lib/Types/index.d.ts +3 -1
- package/lib/Types/index.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeAssetPluginPM = exports.AssetPluginPM = exports.defaultAssetPluginVM = void 0;
|
|
4
|
+
const HostAppObject_1 = require("../../../HostAppObject");
|
|
5
|
+
const Apps_1 = require("../../Apps");
|
|
6
|
+
const AssetPluginEntity_1 = require("../Entities/AssetPluginEntity");
|
|
7
|
+
exports.defaultAssetPluginVM = {
|
|
8
|
+
show: false,
|
|
9
|
+
loading: false,
|
|
10
|
+
styleSheets: []
|
|
11
|
+
};
|
|
12
|
+
class AssetPluginPM extends HostAppObject_1.HostAppObjectPM {
|
|
13
|
+
static get(appObjects) {
|
|
14
|
+
return HostAppObject_1.getSingletonComponent(AssetPluginPM.type, appObjects);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.AssetPluginPM = AssetPluginPM;
|
|
18
|
+
AssetPluginPM.type = "AssetSystemPluginPM";
|
|
19
|
+
function makeAssetPluginPM(appObject) {
|
|
20
|
+
return new AssetPluginPMImp(appObject);
|
|
21
|
+
}
|
|
22
|
+
exports.makeAssetPluginPM = makeAssetPluginPM;
|
|
23
|
+
class AssetPluginPMImp extends AssetPluginPM {
|
|
24
|
+
constructor(appObject) {
|
|
25
|
+
var _a;
|
|
26
|
+
super(appObject, AssetPluginPM.type);
|
|
27
|
+
this.onChange = () => {
|
|
28
|
+
var _a, _b, _c, _d;
|
|
29
|
+
if (!this.assetPlugin)
|
|
30
|
+
return;
|
|
31
|
+
const show = this.assetPlugin.show;
|
|
32
|
+
let loading = false;
|
|
33
|
+
if (show && ((_a = this.assetPlugin.app) === null || _a === void 0 ? void 0 : _a.state) === Apps_1.AppState.INIT) {
|
|
34
|
+
loading = true;
|
|
35
|
+
}
|
|
36
|
+
else if (show && ((_b = this.assetPlugin.app) === null || _b === void 0 ? void 0 : _b.state) === Apps_1.AppState.LOADING) {
|
|
37
|
+
loading = true;
|
|
38
|
+
}
|
|
39
|
+
const vm = {
|
|
40
|
+
show,
|
|
41
|
+
loading,
|
|
42
|
+
styleSheets: (_d = (_c = this.assetPlugin.app) === null || _c === void 0 ? void 0 : _c.styles) !== null && _d !== void 0 ? _d : []
|
|
43
|
+
};
|
|
44
|
+
this.doUpdateView(vm);
|
|
45
|
+
};
|
|
46
|
+
(_a = this.assetPlugin) === null || _a === void 0 ? void 0 : _a.addChangeObserver(this.onChange);
|
|
47
|
+
this.onChange();
|
|
48
|
+
this.appObjects.registerSingleton(this);
|
|
49
|
+
}
|
|
50
|
+
get assetPlugin() {
|
|
51
|
+
return this.getCachedSingleton(AssetPluginEntity_1.AssetPluginEntity.type);
|
|
52
|
+
}
|
|
53
|
+
vmsAreEqual(a, b) {
|
|
54
|
+
if (a.loading !== b.loading)
|
|
55
|
+
return false;
|
|
56
|
+
if (a.show !== b.show)
|
|
57
|
+
return false;
|
|
58
|
+
if (a.styleSheets.length !== b.styleSheets.length)
|
|
59
|
+
return false;
|
|
60
|
+
let stylesMatch = true;
|
|
61
|
+
a.styleSheets.forEach((styleA, i) => {
|
|
62
|
+
const styleB = b.styleSheets[i];
|
|
63
|
+
if (styleA !== styleB)
|
|
64
|
+
stylesMatch = false;
|
|
65
|
+
});
|
|
66
|
+
return stylesMatch;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./AssetPluginPM";
|
|
@@ -0,0 +1,13 @@
|
|
|
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("./AssetPluginPM"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
|
|
2
|
+
export declare abstract class AssetPluginContainerUC extends HostAppObjectUC {
|
|
3
|
+
static type: string;
|
|
4
|
+
static get(appObjects: HostAppObjectRepo): AssetPluginContainerUC | undefined;
|
|
5
|
+
abstract setContainer(container: HTMLElement): Promise<void>;
|
|
6
|
+
abstract clearContainer(): void;
|
|
7
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetPluginContainerUC = void 0;
|
|
4
|
+
const HostAppObject_1 = require("../../../HostAppObject");
|
|
5
|
+
class AssetPluginContainerUC extends HostAppObject_1.HostAppObjectUC {
|
|
6
|
+
static get(appObjects) {
|
|
7
|
+
return HostAppObject_1.getSingletonComponent(AssetPluginContainerUC.type, appObjects);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.AssetPluginContainerUC = AssetPluginContainerUC;
|
|
11
|
+
AssetPluginContainerUC.type = "AssetPluginContainerUC";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./AssetPluginContainerUC";
|
|
@@ -0,0 +1,13 @@
|
|
|
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("./AssetPluginContainerUC"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./Adapters"), exports);
|
|
14
|
+
__exportStar(require("./Controllers"), exports);
|
|
15
|
+
__exportStar(require("./Entities"), exports);
|
|
16
|
+
__exportStar(require("./Mocks"), exports);
|
|
17
|
+
__exportStar(require("./PM"), exports);
|
|
18
|
+
__exportStar(require("./UCs"), exports);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HostAppObject, HostAppObjectEntity } from
|
|
1
|
+
import { HostAppObject, HostAppObjectEntity } from "../../../HostAppObject";
|
|
2
2
|
export declare abstract class AssetEntity extends HostAppObjectEntity {
|
|
3
3
|
static type: string;
|
|
4
4
|
abstract readonly id: string;
|
|
@@ -7,13 +7,13 @@ class AssetEntity extends HostAppObject_1.HostAppObjectEntity {
|
|
|
7
7
|
static get(appObject) {
|
|
8
8
|
const asset = appObject.getComponent(AssetEntity.type);
|
|
9
9
|
if (!asset) {
|
|
10
|
-
appObject.appObjectRepo.submitWarning(
|
|
10
|
+
appObject.appObjectRepo.submitWarning("AssetEntity.get", "Unable to find AssetEntity on app object " + appObject.id);
|
|
11
11
|
}
|
|
12
12
|
return asset;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
15
|
exports.AssetEntity = AssetEntity;
|
|
16
|
-
AssetEntity.type =
|
|
16
|
+
AssetEntity.type = "AssetEntity";
|
|
17
17
|
function makeAssetEntity(appObject) {
|
|
18
18
|
return new AssetImp(appObject);
|
|
19
19
|
}
|
|
@@ -21,12 +21,12 @@ exports.makeAssetEntity = makeAssetEntity;
|
|
|
21
21
|
class AssetImp extends AssetEntity {
|
|
22
22
|
constructor(appObject) {
|
|
23
23
|
super(appObject, AssetEntity.type);
|
|
24
|
-
this._memoizedName = new Entities_1.MemoizedString(
|
|
25
|
-
this._memoizedOwner = new Entities_1.MemoizedString(
|
|
26
|
-
this._memoizedDescription = new Entities_1.MemoizedString(
|
|
24
|
+
this._memoizedName = new Entities_1.MemoizedString("", this.notifyOnChange);
|
|
25
|
+
this._memoizedOwner = new Entities_1.MemoizedString("", this.notifyOnChange);
|
|
26
|
+
this._memoizedDescription = new Entities_1.MemoizedString("", this.notifyOnChange);
|
|
27
27
|
this._memoizedArchived = new Entities_1.MemoizedBoolean(false, this.notifyOnChange);
|
|
28
|
-
this._memoizedFileURL = new Entities_1.MemoizedString(
|
|
29
|
-
this._memoizedFilename = new Entities_1.MemoizedString(
|
|
28
|
+
this._memoizedFileURL = new Entities_1.MemoizedString("", this.notifyOnChange);
|
|
29
|
+
this._memoizedFilename = new Entities_1.MemoizedString("", this.notifyOnChange);
|
|
30
30
|
this._file = undefined;
|
|
31
31
|
this._blobURL = undefined;
|
|
32
32
|
this.setFile = (file) => {
|
|
@@ -42,7 +42,7 @@ class AssetImp extends AssetEntity {
|
|
|
42
42
|
if (existingAsset === undefined) {
|
|
43
43
|
this._linkedAssets.push({
|
|
44
44
|
id,
|
|
45
|
-
type
|
|
45
|
+
type
|
|
46
46
|
});
|
|
47
47
|
this.notifyOnChange();
|
|
48
48
|
}
|
|
@@ -142,7 +142,9 @@ class AssetImp extends AssetEntity {
|
|
|
142
142
|
set fetchError(fetchError) {
|
|
143
143
|
if (fetchError === undefined && this.fetchError === undefined)
|
|
144
144
|
return;
|
|
145
|
-
if (fetchError !== undefined &&
|
|
145
|
+
if (fetchError !== undefined &&
|
|
146
|
+
this.fetchError !== undefined &&
|
|
147
|
+
fetchError.message === this.fetchError.message)
|
|
146
148
|
return;
|
|
147
149
|
this._fetchError = fetchError;
|
|
148
150
|
this.notifyOnChange();
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="jest" />
|
|
2
|
+
import { HostAppObject, HostAppObjectRepo } from "../../../HostAppObject";
|
|
3
|
+
import { PrefetchAssetsUC } from "../UCs/PrefetchAssetsUC";
|
|
4
|
+
export declare class MockPrefetchAssetsUC extends PrefetchAssetsUC {
|
|
5
|
+
prefetchAssets: jest.Mock<any, any>;
|
|
6
|
+
constructor(appObject: HostAppObject);
|
|
7
|
+
}
|
|
8
|
+
export declare function makeMockPrefetchAssetsUC(appObjects: HostAppObjectRepo): MockPrefetchAssetsUC;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeMockPrefetchAssetsUC = exports.MockPrefetchAssetsUC = void 0;
|
|
4
|
+
const PrefetchAssetsUC_1 = require("../UCs/PrefetchAssetsUC");
|
|
5
|
+
class MockPrefetchAssetsUC extends PrefetchAssetsUC_1.PrefetchAssetsUC {
|
|
6
|
+
constructor(appObject) {
|
|
7
|
+
super(appObject, PrefetchAssetsUC_1.PrefetchAssetsUC.type);
|
|
8
|
+
this.prefetchAssets = jest.fn().mockResolvedValue(undefined);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.MockPrefetchAssetsUC = MockPrefetchAssetsUC;
|
|
12
|
+
function makeMockPrefetchAssetsUC(appObjects) {
|
|
13
|
+
return new MockPrefetchAssetsUC(appObjects.getOrCreate("MockPrefetchAssetsUC"));
|
|
14
|
+
}
|
|
15
|
+
exports.makeMockPrefetchAssetsUC = makeMockPrefetchAssetsUC;
|
|
@@ -17,4 +17,5 @@ __exportStar(require("./MockGetAppAssetsUC"), exports);
|
|
|
17
17
|
__exportStar(require("./MockGetAssetBlobURLUC"), exports);
|
|
18
18
|
__exportStar(require("./MockGetAssetFileUC"), exports);
|
|
19
19
|
__exportStar(require("./MockGetAssetUC"), exports);
|
|
20
|
+
__exportStar(require("./MockPrefetchAssets"), exports);
|
|
20
21
|
__exportStar(require("./MockUpdateAssetFileUC"), exports);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HostAppObject, HostAppObjectRepo, HostAppObjectUC } from "../../../HostAppObject";
|
|
2
|
+
export declare abstract class PrefetchAssetsUC extends HostAppObjectUC {
|
|
3
|
+
static type: string;
|
|
4
|
+
abstract prefetchAssets(): Promise<void>;
|
|
5
|
+
static get(appObjects: HostAppObjectRepo): PrefetchAssetsUC | undefined;
|
|
6
|
+
}
|
|
7
|
+
export declare function makePrefetchAssets(appObject: HostAppObject): PrefetchAssetsUC;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.makePrefetchAssets = exports.PrefetchAssetsUC = void 0;
|
|
13
|
+
const HostAppObject_1 = require("../../../HostAppObject");
|
|
14
|
+
const StateMachine_1 = require("../../StateMachine");
|
|
15
|
+
const GetAssetFileUC_1 = require("./GetAssetFileUC");
|
|
16
|
+
class PrefetchAssetsUC extends HostAppObject_1.HostAppObjectUC {
|
|
17
|
+
static get(appObjects) {
|
|
18
|
+
return HostAppObject_1.getSingletonComponent(PrefetchAssetsUC.type, appObjects);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.PrefetchAssetsUC = PrefetchAssetsUC;
|
|
22
|
+
PrefetchAssetsUC.type = "PrefetchAssetsUC";
|
|
23
|
+
function makePrefetchAssets(appObject) {
|
|
24
|
+
return new HostAppObjectRepoImp(appObject);
|
|
25
|
+
}
|
|
26
|
+
exports.makePrefetchAssets = makePrefetchAssets;
|
|
27
|
+
class HostAppObjectRepoImp extends PrefetchAssetsUC {
|
|
28
|
+
constructor(appObject) {
|
|
29
|
+
super(appObject, PrefetchAssetsUC.type);
|
|
30
|
+
this.prefetchAssets = () => __awaiter(this, void 0, void 0, function* () {
|
|
31
|
+
const fetchAssetFile = this.fetchAssetFile;
|
|
32
|
+
if (!this.stateMachine || !fetchAssetFile) {
|
|
33
|
+
return Promise.reject();
|
|
34
|
+
}
|
|
35
|
+
const totalAssetIds = this.stateMachine.states.reduce((assetIds, stateID) => {
|
|
36
|
+
var _a;
|
|
37
|
+
const state = (_a = this.stateMachine) === null || _a === void 0 ? void 0 : _a.getStateByID(stateID);
|
|
38
|
+
if (state) {
|
|
39
|
+
return assetIds.concat(state.assets);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return [];
|
|
43
|
+
}
|
|
44
|
+
}, []);
|
|
45
|
+
const uniqueAssetIds = Array.from(new Set(totalAssetIds));
|
|
46
|
+
return new Promise((resolve, reject) => {
|
|
47
|
+
const fetchPromises = uniqueAssetIds.map((assetID) => {
|
|
48
|
+
return fetchAssetFile(assetID);
|
|
49
|
+
});
|
|
50
|
+
Promise.all(fetchPromises)
|
|
51
|
+
.then(() => {
|
|
52
|
+
resolve();
|
|
53
|
+
})
|
|
54
|
+
.catch((e) => {
|
|
55
|
+
this.warn(e.message);
|
|
56
|
+
reject(e);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
this.appObjects.registerSingleton(this);
|
|
61
|
+
}
|
|
62
|
+
get stateMachine() {
|
|
63
|
+
return this.getCachedSingleton(StateMachine_1.HostStateMachine.type);
|
|
64
|
+
}
|
|
65
|
+
get fetchAssetFile() {
|
|
66
|
+
var _a;
|
|
67
|
+
return (_a = this.getCachedSingleton(GetAssetFileUC_1.GetAssetFileUC.type)) === null || _a === void 0 ? void 0 : _a.getAssetFile;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export * from
|
|
3
|
-
export * from
|
|
4
|
-
export * from
|
|
5
|
-
export * from
|
|
6
|
-
export * from
|
|
7
|
-
export * from
|
|
8
|
-
export * from
|
|
1
|
+
export * from "./ArchiveAssetUC";
|
|
2
|
+
export * from "./DeleteAssetUC";
|
|
3
|
+
export * from "./DownloadAssetFileUC";
|
|
4
|
+
export * from "./GetAppAssetsUC";
|
|
5
|
+
export * from "./GetAssetBlobURLUC";
|
|
6
|
+
export * from "./GetAssetFileUC";
|
|
7
|
+
export * from "./GetAssetUC";
|
|
8
|
+
export * from "./PrefetchAssetsUC";
|
|
9
|
+
export * from "./UpdateAssetFileUC";
|
|
@@ -17,4 +17,5 @@ __exportStar(require("./GetAppAssetsUC"), exports);
|
|
|
17
17
|
__exportStar(require("./GetAssetBlobURLUC"), exports);
|
|
18
18
|
__exportStar(require("./GetAssetFileUC"), exports);
|
|
19
19
|
__exportStar(require("./GetAssetUC"), exports);
|
|
20
|
+
__exportStar(require("./PrefetchAssetsUC"), exports);
|
|
20
21
|
__exportStar(require("./UpdateAssetFileUC"), exports);
|
|
@@ -55,7 +55,12 @@ class HostDispatchEntityImp extends HostDispatchEntity {
|
|
|
55
55
|
this.error("No app handler has been registered");
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
|
-
|
|
58
|
+
try {
|
|
59
|
+
this.appHandler(request);
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
this.warn(e.message);
|
|
63
|
+
}
|
|
59
64
|
};
|
|
60
65
|
this.formRequestAndDispatch = (type, version, payload) => {
|
|
61
66
|
if (!this.appHandler) {
|
|
@@ -67,7 +72,7 @@ class HostDispatchEntityImp extends HostDispatchEntity {
|
|
|
67
72
|
version,
|
|
68
73
|
payload
|
|
69
74
|
};
|
|
70
|
-
this.
|
|
75
|
+
this.dispatch(request);
|
|
71
76
|
};
|
|
72
77
|
}
|
|
73
78
|
get appHandlerVersion() {
|
|
@@ -7,7 +7,7 @@ export interface BrowseChannelDTO {
|
|
|
7
7
|
}
|
|
8
8
|
export declare abstract class DispatchStartBrowseChannelsUC extends HostAppObjectUC {
|
|
9
9
|
static readonly type = "DispatchStartBrowseChannelsUC";
|
|
10
|
-
readonly requestType = "
|
|
10
|
+
readonly requestType = "START_SELECT_CHANNEL_MODEL";
|
|
11
11
|
abstract doDispatch(dto: BrowseChannelDTO): void;
|
|
12
12
|
static get(appObject: HostAppObject): DispatchStartBrowseChannelsUC | undefined;
|
|
13
13
|
static getByID(id: string, appObjects: HostAppObjectRepo): DispatchStartBrowseChannelsUC | undefined;
|
|
@@ -6,7 +6,7 @@ const Entities_1 = require("../Entities");
|
|
|
6
6
|
class DispatchStartBrowseChannelsUC extends HostAppObject_1.HostAppObjectUC {
|
|
7
7
|
constructor() {
|
|
8
8
|
super(...arguments);
|
|
9
|
-
this.requestType = "
|
|
9
|
+
this.requestType = "START_SELECT_CHANNEL_MODEL";
|
|
10
10
|
}
|
|
11
11
|
static get(appObject) {
|
|
12
12
|
const asset = appObject.getComponent(DispatchStartBrowseChannelsUC.type);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeGetAssetFolderURLHandler = exports.GetAssetFolderURLHandler = void 0;
|
|
4
4
|
const HostAppObject_1 = require("../../../HostAppObject");
|
|
5
|
+
const Apps_1 = require("../../Apps");
|
|
5
6
|
const Entities_1 = require("../Entities");
|
|
6
7
|
class GetAssetFolderURLHandler extends HostAppObject_1.HostAppObjectUC {
|
|
7
8
|
constructor() {
|
|
@@ -18,8 +19,14 @@ exports.makeGetAssetFolderURLHandler = makeGetAssetFolderURLHandler;
|
|
|
18
19
|
class GetAssetFolderURLHandlerImp extends GetAssetFolderURLHandler {
|
|
19
20
|
constructor(appObject) {
|
|
20
21
|
super(appObject, GetAssetFolderURLHandler.type);
|
|
21
|
-
this.action = () => {
|
|
22
|
-
|
|
22
|
+
this.action = (callback) => {
|
|
23
|
+
var _a;
|
|
24
|
+
if (!this.app) {
|
|
25
|
+
this.error("No AppEntity");
|
|
26
|
+
callback("");
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
callback((_a = this.app.appAssetFolderURL) !== null && _a !== void 0 ? _a : "");
|
|
23
30
|
};
|
|
24
31
|
this.handleRequest = (version, payload) => {
|
|
25
32
|
if (version === 1) {
|
|
@@ -37,6 +44,9 @@ class GetAssetFolderURLHandlerImp extends GetAssetFolderURLHandler {
|
|
|
37
44
|
}
|
|
38
45
|
hostHandler.registerRequestHandler(this);
|
|
39
46
|
}
|
|
47
|
+
get app() {
|
|
48
|
+
return this.getCachedLocalComponent(Apps_1.AppEntity.type);
|
|
49
|
+
}
|
|
40
50
|
castPayloadV1(payload) {
|
|
41
51
|
const castPayload = payload;
|
|
42
52
|
if (!castPayload.callback) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeHasNextStateHandler = exports.HasNextStateHandler = void 0;
|
|
4
4
|
const HostAppObject_1 = require("../../../HostAppObject");
|
|
5
|
+
const StateMachine_1 = require("../../StateMachine");
|
|
5
6
|
const Entities_1 = require("../Entities");
|
|
6
7
|
class HasNextStateHandler extends HostAppObject_1.HostAppObjectUC {
|
|
7
8
|
constructor() {
|
|
@@ -18,8 +19,17 @@ exports.makeHasNextStateHandler = makeHasNextStateHandler;
|
|
|
18
19
|
class HasNextStateHandlerImp extends HasNextStateHandler {
|
|
19
20
|
constructor(appObject) {
|
|
20
21
|
super(appObject, HasNextStateHandler.type);
|
|
21
|
-
this.action = () => {
|
|
22
|
-
|
|
22
|
+
this.action = (cb) => {
|
|
23
|
+
if (!this.stateMachine) {
|
|
24
|
+
cb(false);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (this.stateMachine.nextState) {
|
|
28
|
+
cb(true);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
cb(false);
|
|
32
|
+
}
|
|
23
33
|
};
|
|
24
34
|
this.handleRequest = (version, payload) => {
|
|
25
35
|
if (version === 1) {
|
|
@@ -37,6 +47,9 @@ class HasNextStateHandlerImp extends HasNextStateHandler {
|
|
|
37
47
|
}
|
|
38
48
|
hostHandler.registerRequestHandler(this);
|
|
39
49
|
}
|
|
50
|
+
get stateMachine() {
|
|
51
|
+
return this.getCachedSingleton(StateMachine_1.HostStateMachine.type);
|
|
52
|
+
}
|
|
40
53
|
castPayloadV1(payload) {
|
|
41
54
|
const castPayload = payload;
|
|
42
55
|
if (!castPayload.callback) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeHasPreviousStateHandler = exports.HasPreviousStateHandler = void 0;
|
|
4
4
|
const HostAppObject_1 = require("../../../HostAppObject");
|
|
5
|
+
const StateMachine_1 = require("../../StateMachine");
|
|
5
6
|
const Entities_1 = require("../Entities");
|
|
6
7
|
class HasPreviousStateHandler extends HostAppObject_1.HostAppObjectUC {
|
|
7
8
|
constructor() {
|
|
@@ -18,8 +19,17 @@ exports.makeHasPreviousStateHandler = makeHasPreviousStateHandler;
|
|
|
18
19
|
class HasPreviousStateHandlerImp extends HasPreviousStateHandler {
|
|
19
20
|
constructor(appObject) {
|
|
20
21
|
super(appObject, HasPreviousStateHandler.type);
|
|
21
|
-
this.action = () => {
|
|
22
|
-
|
|
22
|
+
this.action = (cb) => {
|
|
23
|
+
if (!this.stateMachine) {
|
|
24
|
+
cb(false);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (this.stateMachine.previousState) {
|
|
28
|
+
cb(true);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
cb(false);
|
|
32
|
+
}
|
|
23
33
|
};
|
|
24
34
|
this.handleRequest = (version, payload) => {
|
|
25
35
|
if (version === 1) {
|
|
@@ -37,6 +47,9 @@ class HasPreviousStateHandlerImp extends HasPreviousStateHandler {
|
|
|
37
47
|
}
|
|
38
48
|
hostHandler.registerRequestHandler(this);
|
|
39
49
|
}
|
|
50
|
+
get stateMachine() {
|
|
51
|
+
return this.getCachedSingleton(StateMachine_1.HostStateMachine.type);
|
|
52
|
+
}
|
|
40
53
|
castPayloadV1(payload) {
|
|
41
54
|
const castPayload = payload;
|
|
42
55
|
if (!castPayload.callback) {
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeOnAppIsReadyHandler = exports.OnAppIsReadyHandler = void 0;
|
|
4
4
|
const HostAppObject_1 = require("../../../HostAppObject");
|
|
5
|
+
const Apps_1 = require("../../Apps");
|
|
5
6
|
const Entities_1 = require("../Entities");
|
|
6
7
|
class OnAppIsReadyHandler extends HostAppObject_1.HostAppObjectUC {
|
|
7
8
|
constructor() {
|
|
@@ -19,7 +20,11 @@ class OnAppIsReadyHandlerImp extends OnAppIsReadyHandler {
|
|
|
19
20
|
constructor(appObject) {
|
|
20
21
|
super(appObject, OnAppIsReadyHandler.type);
|
|
21
22
|
this.action = () => {
|
|
22
|
-
|
|
23
|
+
if (!this.app) {
|
|
24
|
+
this.error("No App");
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
this.app.state = Apps_1.AppState.READY;
|
|
23
28
|
};
|
|
24
29
|
this.handleRequest = (version) => {
|
|
25
30
|
if (version === 1) {
|
|
@@ -36,4 +41,7 @@ class OnAppIsReadyHandlerImp extends OnAppIsReadyHandler {
|
|
|
36
41
|
}
|
|
37
42
|
hostHandler.registerRequestHandler(this);
|
|
38
43
|
}
|
|
44
|
+
get app() {
|
|
45
|
+
return this.getCachedLocalComponent(Apps_1.AppEntity.type);
|
|
46
|
+
}
|
|
39
47
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HostAppObject, HostAppObjectUC } from "../../../HostAppObject";
|
|
2
2
|
import { RequestHandler } from "../Entities";
|
|
3
|
-
export declare type OnStateChangeAction = (state: object, assets: string[], validationErrorMessage?: string) => void;
|
|
3
|
+
export declare type OnStateChangeAction = (state: object, assets: string[], validationErrorMessage?: string, responseType?: string) => void;
|
|
4
4
|
export declare abstract class OnStateChangeHandler extends HostAppObjectUC implements RequestHandler {
|
|
5
5
|
static readonly type = "OnStateChangeHandler";
|
|
6
6
|
readonly requestType = "ON_STATE_CHANGE";
|
|
@@ -9,10 +9,12 @@ export declare abstract class OnStateChangeHandler extends HostAppObjectUC imple
|
|
|
9
9
|
}
|
|
10
10
|
export declare function makeOnStateChangeHandler(appObject: HostAppObject): OnStateChangeHandler;
|
|
11
11
|
export declare class OnStateChangeHandlerImp extends OnStateChangeHandler {
|
|
12
|
+
private get editStateEntity();
|
|
12
13
|
action: OnStateChangeAction;
|
|
13
14
|
handleRequest: (version: number, payload: unknown) => void;
|
|
14
15
|
private castPayloadV1;
|
|
15
16
|
private castPayloadV2;
|
|
16
17
|
private castPayloadV3;
|
|
18
|
+
private castPayloadV4;
|
|
17
19
|
constructor(appObject: HostAppObject);
|
|
18
20
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OnStateChangeHandlerImp = exports.makeOnStateChangeHandler = exports.OnStateChangeHandler = void 0;
|
|
4
4
|
const HostAppObject_1 = require("../../../HostAppObject");
|
|
5
|
+
const StateMachine_1 = require("../../StateMachine");
|
|
5
6
|
const Entities_1 = require("../Entities");
|
|
6
7
|
class OnStateChangeHandler extends HostAppObject_1.HostAppObjectUC {
|
|
7
8
|
constructor() {
|
|
@@ -18,8 +19,22 @@ exports.makeOnStateChangeHandler = makeOnStateChangeHandler;
|
|
|
18
19
|
class OnStateChangeHandlerImp extends OnStateChangeHandler {
|
|
19
20
|
constructor(appObject) {
|
|
20
21
|
super(appObject, OnStateChangeHandler.type);
|
|
21
|
-
this.action = () => {
|
|
22
|
-
|
|
22
|
+
this.action = (state, assets, validationErrorMessage, responseType) => {
|
|
23
|
+
if (!this.editStateEntity)
|
|
24
|
+
return;
|
|
25
|
+
const editingState = this.editStateEntity.editingState;
|
|
26
|
+
if (!editingState)
|
|
27
|
+
return;
|
|
28
|
+
editingState.setStateData(state);
|
|
29
|
+
editingState.assets = assets;
|
|
30
|
+
this.editStateEntity.stateValidationMessage = validationErrorMessage;
|
|
31
|
+
if (!responseType)
|
|
32
|
+
return;
|
|
33
|
+
const response = responseLookupMap.get(responseType.toUpperCase());
|
|
34
|
+
if (!response) {
|
|
35
|
+
this.warn(`Unable to parse ${responseType} into an expected response`);
|
|
36
|
+
}
|
|
37
|
+
editingState.expectedResponse = response;
|
|
23
38
|
};
|
|
24
39
|
this.handleRequest = (version, payload) => {
|
|
25
40
|
if (version === 1) {
|
|
@@ -34,6 +49,10 @@ class OnStateChangeHandlerImp extends OnStateChangeHandler {
|
|
|
34
49
|
const { stateObject, assets, validationErrorMessage } = this.castPayloadV3(payload);
|
|
35
50
|
this.action(stateObject, assets, validationErrorMessage);
|
|
36
51
|
}
|
|
52
|
+
else if (version === 4) {
|
|
53
|
+
const { stateObject, assets, validationErrorMessage, responseType } = this.castPayloadV4(payload);
|
|
54
|
+
this.action(stateObject, assets, validationErrorMessage, responseType);
|
|
55
|
+
}
|
|
37
56
|
else {
|
|
38
57
|
throw new Entities_1.UnsupportedRequestVersion(this.requestType, version);
|
|
39
58
|
}
|
|
@@ -45,6 +64,9 @@ class OnStateChangeHandlerImp extends OnStateChangeHandler {
|
|
|
45
64
|
}
|
|
46
65
|
hostHandler.registerRequestHandler(this);
|
|
47
66
|
}
|
|
67
|
+
get editStateEntity() {
|
|
68
|
+
return this.getCachedSingleton(StateMachine_1.HostEditingStateEntity.type);
|
|
69
|
+
}
|
|
48
70
|
castPayloadV1(payload) {
|
|
49
71
|
const castPayload = payload;
|
|
50
72
|
if (castPayload.stateObject === undefined) {
|
|
@@ -66,5 +88,20 @@ class OnStateChangeHandlerImp extends OnStateChangeHandler {
|
|
|
66
88
|
}
|
|
67
89
|
return castPayload;
|
|
68
90
|
}
|
|
91
|
+
castPayloadV4(payload) {
|
|
92
|
+
const castPayload = payload;
|
|
93
|
+
if (castPayload.stateObject === undefined) {
|
|
94
|
+
throw new Entities_1.UnableToParsePayload(this.requestType, 3, JSON.stringify(payload));
|
|
95
|
+
}
|
|
96
|
+
return castPayload;
|
|
97
|
+
}
|
|
69
98
|
}
|
|
70
99
|
exports.OnStateChangeHandlerImp = OnStateChangeHandlerImp;
|
|
100
|
+
const responseLookupMap = new Map([
|
|
101
|
+
["HIT", StateMachine_1.ChallengeResponse.HIT],
|
|
102
|
+
["MULTIHIT", StateMachine_1.ChallengeResponse.MULTIHIT],
|
|
103
|
+
["NONE", StateMachine_1.ChallengeResponse.NONE],
|
|
104
|
+
["PROGRESS", StateMachine_1.ChallengeResponse.PROGRESS],
|
|
105
|
+
["QUALITY", StateMachine_1.ChallengeResponse.QUALITY],
|
|
106
|
+
["SCORE", StateMachine_1.ChallengeResponse.SCORE]
|
|
107
|
+
]);
|