@vived/app 2.34.0 → 2.35.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/Entities/FramedScreen.d.ts +15 -0
- package/lib/Entities/FramedScreen.js +58 -0
- package/lib/Entities/FramedScreenContainer.d.ts +12 -0
- package/lib/Entities/FramedScreenContainer.js +41 -0
- package/lib/Entities/index.d.ts +2 -0
- package/lib/Entities/index.js +2 -0
- package/lib/PresentationManagers/FramedScreenContainerPM.d.ts +18 -0
- package/lib/PresentationManagers/FramedScreenContainerPM.js +55 -0
- package/lib/PresentationManagers/index.d.ts +1 -0
- package/lib/PresentationManagers/index.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { FramedScreenContainer } from "./FramedScreenContainer";
|
|
2
|
+
import { ObservableEntity } from "./ObservableEntity";
|
|
3
|
+
export declare abstract class FramedScreen extends ObservableEntity {
|
|
4
|
+
abstract get containers(): FramedScreenContainer[];
|
|
5
|
+
abstract addContainer(container: FramedScreenContainer): void;
|
|
6
|
+
abstract addContainerByID(id: string): FramedScreenContainer;
|
|
7
|
+
abstract removeContainer(id: string): void;
|
|
8
|
+
abstract hasContainer(id: string): boolean;
|
|
9
|
+
abstract getContainerByID(id: string): FramedScreenContainer | undefined;
|
|
10
|
+
abstract get screenWidth(): number;
|
|
11
|
+
abstract set screenWidth(width: number);
|
|
12
|
+
abstract get screenHeight(): number;
|
|
13
|
+
abstract set screenHeight(height: number);
|
|
14
|
+
}
|
|
15
|
+
export declare function makeFramedScreen(): FramedScreen;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeFramedScreen = exports.FramedScreen = void 0;
|
|
4
|
+
const FramedScreenContainer_1 = require("./FramedScreenContainer");
|
|
5
|
+
const MemoizedNumber_1 = require("./MemoizedNumber");
|
|
6
|
+
const ObservableEntity_1 = require("./ObservableEntity");
|
|
7
|
+
class FramedScreen extends ObservableEntity_1.ObservableEntity {
|
|
8
|
+
}
|
|
9
|
+
exports.FramedScreen = FramedScreen;
|
|
10
|
+
function makeFramedScreen() {
|
|
11
|
+
return new FramedScreenImp();
|
|
12
|
+
}
|
|
13
|
+
exports.makeFramedScreen = makeFramedScreen;
|
|
14
|
+
class FramedScreenImp extends FramedScreen {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.memoizeWidth = new MemoizedNumber_1.MemoizedNumber(0, this.notify);
|
|
18
|
+
this.memoizeHeight = new MemoizedNumber_1.MemoizedNumber(0, this.notify);
|
|
19
|
+
this._containerLookup = new Map();
|
|
20
|
+
}
|
|
21
|
+
get screenWidth() {
|
|
22
|
+
return this.memoizeWidth.val;
|
|
23
|
+
}
|
|
24
|
+
set screenWidth(val) {
|
|
25
|
+
this.memoizeWidth.val = val;
|
|
26
|
+
}
|
|
27
|
+
get screenHeight() {
|
|
28
|
+
return this.memoizeHeight.val;
|
|
29
|
+
}
|
|
30
|
+
set screenHeight(val) {
|
|
31
|
+
this.memoizeHeight.val = val;
|
|
32
|
+
}
|
|
33
|
+
get containers() {
|
|
34
|
+
return Array.from(this._containerLookup.values());
|
|
35
|
+
}
|
|
36
|
+
addContainer(container) {
|
|
37
|
+
this._containerLookup.set(container.id, container);
|
|
38
|
+
this.notify();
|
|
39
|
+
}
|
|
40
|
+
addContainerByID(id) {
|
|
41
|
+
const newContainer = FramedScreenContainer_1.makeFramedScreenContainer(id);
|
|
42
|
+
this.addContainer(newContainer);
|
|
43
|
+
return newContainer;
|
|
44
|
+
}
|
|
45
|
+
removeContainer(id) {
|
|
46
|
+
const container = this._containerLookup.get(id);
|
|
47
|
+
if (container) {
|
|
48
|
+
this._containerLookup.delete(id);
|
|
49
|
+
this.notify();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
hasContainer(id) {
|
|
53
|
+
return this._containerLookup.has(id);
|
|
54
|
+
}
|
|
55
|
+
getContainerByID(id) {
|
|
56
|
+
return this._containerLookup.get(id);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Vector2 } from "../ValueObjects";
|
|
2
|
+
import { ObservableEntity } from "./ObservableEntity";
|
|
3
|
+
export declare abstract class FramedScreenContainer extends ObservableEntity {
|
|
4
|
+
abstract readonly id: string;
|
|
5
|
+
abstract get position(): Vector2;
|
|
6
|
+
abstract set position(p: Vector2);
|
|
7
|
+
abstract get size(): Vector2;
|
|
8
|
+
abstract set size(s: Vector2);
|
|
9
|
+
abstract get show(): boolean;
|
|
10
|
+
abstract set show(s: boolean);
|
|
11
|
+
}
|
|
12
|
+
export declare function makeFramedScreenContainer(id: string): FramedScreenContainer;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeFramedScreenContainer = exports.FramedScreenContainer = void 0;
|
|
4
|
+
const ValueObjects_1 = require("../ValueObjects");
|
|
5
|
+
const MemoizedBoolean_1 = require("./MemoizedBoolean");
|
|
6
|
+
const MemoizedVector2_1 = require("./MemoizedVector2");
|
|
7
|
+
const ObservableEntity_1 = require("./ObservableEntity");
|
|
8
|
+
class FramedScreenContainer extends ObservableEntity_1.ObservableEntity {
|
|
9
|
+
}
|
|
10
|
+
exports.FramedScreenContainer = FramedScreenContainer;
|
|
11
|
+
function makeFramedScreenContainer(id) {
|
|
12
|
+
return new FramedScreenContainerImp(id);
|
|
13
|
+
}
|
|
14
|
+
exports.makeFramedScreenContainer = makeFramedScreenContainer;
|
|
15
|
+
class FramedScreenContainerImp extends FramedScreenContainer {
|
|
16
|
+
constructor(id) {
|
|
17
|
+
super();
|
|
18
|
+
this.memozedPos = new MemoizedVector2_1.MemoizedVector2(ValueObjects_1.Vector2.Zero(), this.notify);
|
|
19
|
+
this.memozedSize = new MemoizedVector2_1.MemoizedVector2(ValueObjects_1.Vector2.Zero(), this.notify);
|
|
20
|
+
this.memoizedShow = new MemoizedBoolean_1.MemoizedBoolean(true, this.notify);
|
|
21
|
+
this.id = id;
|
|
22
|
+
}
|
|
23
|
+
get position() {
|
|
24
|
+
return this.memozedPos.val;
|
|
25
|
+
}
|
|
26
|
+
set position(p) {
|
|
27
|
+
this.memozedPos.val = p;
|
|
28
|
+
}
|
|
29
|
+
get size() {
|
|
30
|
+
return this.memozedSize.val;
|
|
31
|
+
}
|
|
32
|
+
set size(s) {
|
|
33
|
+
this.memozedSize.val = s;
|
|
34
|
+
}
|
|
35
|
+
get show() {
|
|
36
|
+
return this.memoizedShow.val;
|
|
37
|
+
}
|
|
38
|
+
set show(s) {
|
|
39
|
+
this.memoizedShow.val = s;
|
|
40
|
+
}
|
|
41
|
+
}
|
package/lib/Entities/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export * from "./AppHandler";
|
|
|
4
4
|
export * from "./Babylon";
|
|
5
5
|
export * from "./BaseApp";
|
|
6
6
|
export * from "./DevicePreview";
|
|
7
|
+
export * from "./FramedScreenContainer";
|
|
8
|
+
export * from "./FramedScreen";
|
|
7
9
|
export * from "./HoverLabels";
|
|
8
10
|
export * from "./KeyboardInput";
|
|
9
11
|
export * from "./MemoizedBoolean";
|
package/lib/Entities/index.js
CHANGED
|
@@ -16,6 +16,8 @@ __exportStar(require("./AppHandler"), exports);
|
|
|
16
16
|
__exportStar(require("./Babylon"), exports);
|
|
17
17
|
__exportStar(require("./BaseApp"), exports);
|
|
18
18
|
__exportStar(require("./DevicePreview"), exports);
|
|
19
|
+
__exportStar(require("./FramedScreenContainer"), exports);
|
|
20
|
+
__exportStar(require("./FramedScreen"), exports);
|
|
19
21
|
__exportStar(require("./HoverLabels"), exports);
|
|
20
22
|
__exportStar(require("./KeyboardInput"), exports);
|
|
21
23
|
__exportStar(require("./MemoizedBoolean"), exports);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { FramedScreen } from "../Entities";
|
|
2
|
+
export interface FramedContainerVM {
|
|
3
|
+
top: number;
|
|
4
|
+
left: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
show: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare class FramedContainerPM {
|
|
10
|
+
private updateView;
|
|
11
|
+
private container?;
|
|
12
|
+
private lastVM?;
|
|
13
|
+
doUpdateView: () => void;
|
|
14
|
+
private vmHadChanged;
|
|
15
|
+
dispose: () => void;
|
|
16
|
+
constructor(containerID: string, framedScreen: FramedScreen, updateView: (vm: FramedContainerVM) => void);
|
|
17
|
+
}
|
|
18
|
+
export declare const defaultFramedContainerVM: FramedContainerVM;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.defaultFramedContainerVM = exports.FramedContainerPM = void 0;
|
|
4
|
+
class FramedContainerPM {
|
|
5
|
+
constructor(containerID, framedScreen, updateView) {
|
|
6
|
+
this.updateView = updateView;
|
|
7
|
+
this.doUpdateView = () => {
|
|
8
|
+
const vm = Object.assign({}, exports.defaultFramedContainerVM);
|
|
9
|
+
if (!this.container) {
|
|
10
|
+
this.updateView(vm);
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
vm.height = this.container.size.y;
|
|
14
|
+
vm.width = this.container.size.x;
|
|
15
|
+
vm.top = this.container.position.y;
|
|
16
|
+
vm.left = this.container.position.x;
|
|
17
|
+
vm.show = this.container.show;
|
|
18
|
+
if (!this.vmHadChanged(vm))
|
|
19
|
+
return;
|
|
20
|
+
this.updateView(vm);
|
|
21
|
+
this.lastVM = vm;
|
|
22
|
+
};
|
|
23
|
+
this.vmHadChanged = (newVM) => {
|
|
24
|
+
if (this.lastVM === undefined)
|
|
25
|
+
return true;
|
|
26
|
+
if (this.lastVM.height === newVM.height &&
|
|
27
|
+
this.lastVM.width === newVM.width &&
|
|
28
|
+
this.lastVM.top === newVM.top &&
|
|
29
|
+
this.lastVM.left === newVM.left &&
|
|
30
|
+
this.lastVM.show === newVM.show) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
this.dispose = () => {
|
|
38
|
+
var _a;
|
|
39
|
+
(_a = this.container) === null || _a === void 0 ? void 0 : _a.removeObserver(this.doUpdateView);
|
|
40
|
+
};
|
|
41
|
+
this.container = framedScreen.getContainerByID(containerID);
|
|
42
|
+
if (this.container) {
|
|
43
|
+
this.container.addObserver(this.doUpdateView);
|
|
44
|
+
}
|
|
45
|
+
this.doUpdateView();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
exports.FramedContainerPM = FramedContainerPM;
|
|
49
|
+
exports.defaultFramedContainerVM = {
|
|
50
|
+
height: 0,
|
|
51
|
+
left: 0,
|
|
52
|
+
top: 0,
|
|
53
|
+
width: 0,
|
|
54
|
+
show: false
|
|
55
|
+
};
|
|
@@ -11,6 +11,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./DevicePreviewPM"), exports);
|
|
14
|
+
__exportStar(require("./FramedScreenContainerPM"), exports);
|
|
14
15
|
__exportStar(require("./IsAuthoringPM"), exports);
|
|
15
16
|
__exportStar(require("./PresentationManager"), exports);
|
|
16
17
|
__exportStar(require("./ShowBabylonInspectorPM"), exports);
|