@lumiscaphe/ng-viewer 3.0.3 → 4.0.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.
- package/esm2020/lib/ng-viewer.component.mjs +123 -0
- package/esm2020/lib/ng-viewer.module.mjs +21 -0
- package/{esm2015/lumiscaphe-ng-viewer.js → esm2020/lumiscaphe-ng-viewer.mjs} +2 -2
- package/{esm2015/public_api.js → esm2020/public-api.mjs} +1 -1
- package/fesm2015/lumiscaphe-ng-viewer.mjs +154 -0
- package/fesm2015/lumiscaphe-ng-viewer.mjs.map +1 -0
- package/fesm2020/lumiscaphe-ng-viewer.mjs +152 -0
- package/fesm2020/lumiscaphe-ng-viewer.mjs.map +1 -0
- package/lib/ng-viewer.component.d.ts +17 -13
- package/lib/ng-viewer.module.d.ts +5 -0
- package/lumiscaphe-ng-viewer.d.ts +2 -1
- package/package.json +26 -14
- package/{public_api.d.ts → public-api.d.ts} +0 -0
- package/bundles/lumiscaphe-ng-viewer.umd.js +0 -502
- package/bundles/lumiscaphe-ng-viewer.umd.js.map +0 -1
- package/esm2015/lib/ng-viewer.component.js +0 -101
- package/esm2015/lib/ng-viewer.module.js +0 -12
- package/fesm2015/lumiscaphe-ng-viewer.js +0 -122
- package/fesm2015/lumiscaphe-ng-viewer.js.map +0 -1
- package/lumiscaphe-ng-viewer.metadata.json +0 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, ViewChild, Output } from '@angular/core';
|
|
2
|
+
import { Viewer } from '@lumiscaphe/viewer';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NgViewerComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.onLoadStart = new EventEmitter();
|
|
7
|
+
this.onLoadProgress = new EventEmitter();
|
|
8
|
+
this.onLoadEnd = new EventEmitter();
|
|
9
|
+
this.onLoadError = new EventEmitter();
|
|
10
|
+
this.onInteraction = new EventEmitter();
|
|
11
|
+
this.onVrcubeInteraction = new EventEmitter();
|
|
12
|
+
this.onVrobjectInteraction = new EventEmitter();
|
|
13
|
+
}
|
|
14
|
+
ngAfterViewInit() {
|
|
15
|
+
this.viewer = new Viewer(this.container.nativeElement, {
|
|
16
|
+
server: this.server,
|
|
17
|
+
api: this.api || 'v1',
|
|
18
|
+
fit: this.fit || 'cover',
|
|
19
|
+
events: {
|
|
20
|
+
onLoadStart: (...args) => { this.onLoadStart.emit(...args); },
|
|
21
|
+
onLoadProgress: (...args) => { this.onLoadProgress.emit(...args); },
|
|
22
|
+
onLoadEnd: (...args) => { this.onLoadEnd.emit(...args); },
|
|
23
|
+
onLoadError: (...args) => { this.onLoadError.emit(...args); },
|
|
24
|
+
onInteraction: (...args) => { this.onInteraction.emit(...args); },
|
|
25
|
+
onVrcubeInteraction: (...args) => { this.onVrcubeInteraction.emit(...args); },
|
|
26
|
+
onVrobjectInteraction: (...args) => { this.onVrobjectInteraction.emit(...args); },
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
if (this['scene']) {
|
|
30
|
+
this.viewer.load(this.scene).catch(() => { });
|
|
31
|
+
}
|
|
32
|
+
if (this['encoder']) {
|
|
33
|
+
this.viewer.setEncoder(this.encoder).catch(() => { });
|
|
34
|
+
}
|
|
35
|
+
if (this.parameters) {
|
|
36
|
+
this.viewer.setParameters(this.parameters).catch(() => { });
|
|
37
|
+
}
|
|
38
|
+
if (this.view) {
|
|
39
|
+
this.viewer.setView(this.view).catch(() => { });
|
|
40
|
+
}
|
|
41
|
+
if (this.vrcube) {
|
|
42
|
+
this.viewer.setVrcube(this.vrcube);
|
|
43
|
+
}
|
|
44
|
+
if (this.vrobject) {
|
|
45
|
+
this.viewer.setVrobject(this.vrobject);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
ngOnDestroy() {
|
|
49
|
+
this.viewer?.destroy();
|
|
50
|
+
}
|
|
51
|
+
ngOnChanges(changes) {
|
|
52
|
+
if (!this.viewer) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
if (changes['scene'] && changes['scene'].currentValue) {
|
|
56
|
+
this.viewer.load(changes['scene'].currentValue).catch(() => { });
|
|
57
|
+
}
|
|
58
|
+
if (changes['encoder'] && changes['encoder'].currentValue) {
|
|
59
|
+
this.viewer.setEncoder(changes['encoder'].currentValue).catch(() => { });
|
|
60
|
+
}
|
|
61
|
+
if (changes['parameters'] && changes['parameters'].currentValue) {
|
|
62
|
+
this.viewer.setParameters(changes['parameters'].currentValue).catch(() => { });
|
|
63
|
+
}
|
|
64
|
+
if (changes['view'] && changes['view'].currentValue) {
|
|
65
|
+
this.viewer.setView(changes['view'].currentValue).catch(() => { });
|
|
66
|
+
}
|
|
67
|
+
if (changes['vrcube'] && changes['vrcube'].currentValue) {
|
|
68
|
+
this.viewer.setVrcube(changes['vrcube'].currentValue);
|
|
69
|
+
}
|
|
70
|
+
if (changes['vrobject'] && changes['vrobject'].currentValue) {
|
|
71
|
+
this.viewer.setVrobject(changes['vrobject'].currentValue);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
snapshot(type, quality) {
|
|
75
|
+
return this.viewer?.snapshot(type, quality);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
NgViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
NgViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: NgViewerComponent, selector: "NgViewer", inputs: { server: "server", api: "api", fit: "fit", scene: "scene", encoder: "encoder", parameters: "parameters", view: "view", vrcube: "vrcube", vrobject: "vrobject" }, outputs: { onLoadStart: "onLoadStart", onLoadProgress: "onLoadProgress", onLoadEnd: "onLoadEnd", onLoadError: "onLoadError", onInteraction: "onInteraction", onVrcubeInteraction: "onVrcubeInteraction", onVrobjectInteraction: "onVrobjectInteraction" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container></div>', isInline: true, styles: [":host{display:flex;flex:1 0 auto}\n"] });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerComponent, decorators: [{
|
|
81
|
+
type: Component,
|
|
82
|
+
args: [{
|
|
83
|
+
selector: 'NgViewer',
|
|
84
|
+
template: '<div #container></div>',
|
|
85
|
+
styles: [':host { display: flex; flex: 1 0 auto; }']
|
|
86
|
+
}]
|
|
87
|
+
}], ctorParameters: function () { return []; }, propDecorators: { server: [{
|
|
88
|
+
type: Input
|
|
89
|
+
}], api: [{
|
|
90
|
+
type: Input
|
|
91
|
+
}], fit: [{
|
|
92
|
+
type: Input
|
|
93
|
+
}], scene: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], encoder: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}], parameters: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], view: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], vrcube: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}], vrobject: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], onLoadStart: [{
|
|
106
|
+
type: Output
|
|
107
|
+
}], onLoadProgress: [{
|
|
108
|
+
type: Output
|
|
109
|
+
}], onLoadEnd: [{
|
|
110
|
+
type: Output
|
|
111
|
+
}], onLoadError: [{
|
|
112
|
+
type: Output
|
|
113
|
+
}], onInteraction: [{
|
|
114
|
+
type: Output
|
|
115
|
+
}], onVrcubeInteraction: [{
|
|
116
|
+
type: Output
|
|
117
|
+
}], onVrobjectInteraction: [{
|
|
118
|
+
type: Output
|
|
119
|
+
}], container: [{
|
|
120
|
+
type: ViewChild,
|
|
121
|
+
args: ['container']
|
|
122
|
+
}] } });
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpZXdlci9zcmMvbGliL25nLXZpZXdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBdUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsSixPQUFPLEVBQW9DLE1BQU0sRUFBZ0MsTUFBTSxvQkFBb0IsQ0FBQzs7QUFRNUcsTUFBTSxPQUFPLGlCQUFpQjtJQXdCNUI7UUFWVSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDbkMsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBS3JELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRTtZQUNyRCxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSTtZQUNyQixHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPO1lBQ3hCLE1BQU0sRUFBRTtnQkFDTixXQUFXLEVBQUUsQ0FBQyxHQUFHLElBQVcsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENB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LE1BQU0sRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7OzhHQXhHVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixrbEJBSmxCLHdCQUF3QjsyRkFJdkIsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxVQUFVO29CQUNwQixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxNQUFNLEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQztpQkFDckQ7MEVBTVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFFSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFFaUIsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgU2ltcGxlQ2hhbmdlcywgVmlld0NoaWxkLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRW5jb2RlciwgUGFyYW1ldGVycywgU2NlbmUsIFZpZXcsIFZpZXdlciwgV2lkZ2V0VlJDdWJlLCBXaWRnZXRWUk9iamVjdCB9IGZyb20gJ0BsdW1pc2NhcGhlL3ZpZXdlcic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ05nVmlld2VyJyxcbiAgdGVtcGxhdGU6ICc8ZGl2ICNjb250YWluZXI+PC9kaXY+JyxcbiAgc3R5bGVzOiBbJzpob3N0IHsgZGlzcGxheTogZmxleDsgZmxleDogMSAwIGF1dG87IH0nXVxufSlcblxuZXhwb3J0IGNsYXNzIE5nVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuXG4gIHB1YmxpYyB2aWV3ZXI6IFZpZXdlciB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSBzZXJ2ZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgYXBpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIEBJbnB1dCgpIGZpdDogJ2NvbnRhaW4nIHwgJ2NvdmVyJyB8ICdmaWxsJyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2NlbmU6IFNjZW5lIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBlbmNvZGVyOiBFbmNvZGVyIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBwYXJhbWV0ZXJzOiBQYXJhbWV0ZXJzIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSB2aWV3OiBWaWV3IHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSB2cmN1YmU6IFBhcnRpYWw8V2lkZ2V0VlJDdWJlPiB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdnJvYmplY3Q6IFBhcnRpYWw8V2lkZ2V0VlJPYmplY3Q+IHwgdW5kZWZpbmVkO1xuXG4gIEBPdXRwdXQoKSBvbkxvYWRTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uTG9hZFByb2dyZXNzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Mb2FkRW5kID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Mb2FkRXJyb3IgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkludGVyYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25WcmN1YmVJbnRlcmFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uVnJvYmplY3RJbnRlcmFjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAVmlld0NoaWxkKCdjb250YWluZXInKSBjb250YWluZXIhOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudmlld2VyID0gbmV3IFZpZXdlcih0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBzZXJ2ZXI6IHRoaXMuc2VydmVyLFxuICAgICAgYXBpOiB0aGlzLmFwaSB8fCAndjEnLFxuICAgICAgZml0OiB0aGlzLmZpdCB8fCAnY292ZXInLFxuICAgICAgZXZlbnRzOiB7XG4gICAgICAgIG9uTG9hZFN0YXJ0OiAoLi4uYXJnczogYW55W10pID0+IHsgdGhpcy5vbkxvYWRTdGFydC5lbWl0KC4uLmFyZ3MpOyB9LFxuICAgICAgICBvbkxvYWRQcm9ncmVzczogKC4uLmFyZ3M6IGFueVtdKSA9PiB7IHRoaXMub25Mb2FkUHJvZ3Jlc3MuZW1pdCguLi5hcmdzKTsgfSxcbiAgICAgICAgb25Mb2FkRW5kOiAoLi4uYXJnczogYW55W10pID0+IHsgdGhpcy5vbkxvYWRFbmQuZW1pdCguLi5hcmdzKTsgfSxcbiAgICAgICAgb25Mb2FkRXJyb3I6ICguLi5hcmdzOiBhbnlbXSkgPT4geyB0aGlzLm9uTG9hZEVycm9yLmVtaXQoLi4uYXJncyk7IH0sXG4gICAgICAgIG9uSW50ZXJhY3Rpb246ICguLi5hcmdzOiBhbnlbXSkgPT4geyB0aGlzLm9uSW50ZXJhY3Rpb24uZW1pdCguLi5hcmdzKTsgfSxcbiAgICAgICAgb25WcmN1YmVJbnRlcmFjdGlvbjogKC4uLmFyZ3M6IGFueVtdKSA9PiB7IHRoaXMub25WcmN1YmVJbnRlcmFjdGlvbi5lbWl0KC4uLmFyZ3MpOyB9LFxuICAgICAgICBvblZyb2JqZWN0SW50ZXJhY3Rpb246ICguLi5hcmdzOiBhbnlbXSkgPT4geyB0aGlzLm9uVnJvYmplY3RJbnRlcmFjdGlvbi5lbWl0KC4uLmFyZ3MpOyB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmICh0aGlzWydzY2VuZSddKSB7XG4gICAgICB0aGlzLnZpZXdlci5sb2FkKHRoaXMuc2NlbmUpLmNhdGNoKCgpID0+IHsgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXNbJ2VuY29kZXInXSkge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0RW5jb2Rlcih0aGlzLmVuY29kZXIpLmNhdGNoKCgpID0+IHsgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGFyYW1ldGVycykge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0UGFyYW1ldGVycyh0aGlzLnBhcmFtZXRlcnMpLmNhdGNoKCgpID0+IHsgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudmlldykge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0Vmlldyh0aGlzLnZpZXcpLmNhdGNoKCgpID0+IHsgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudnJjdWJlKSB7XG4gICAgICB0aGlzLnZpZXdlci5zZXRWcmN1YmUodGhpcy52cmN1YmUpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnZyb2JqZWN0KSB7XG4gICAgICB0aGlzLnZpZXdlci5zZXRWcm9iamVjdCh0aGlzLnZyb2JqZWN0KTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdlcj8uZGVzdHJveSgpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmICghdGhpcy52aWV3ZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snc2NlbmUnXSAmJiBjaGFuZ2VzWydzY2VuZSddLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy52aWV3ZXIubG9hZChjaGFuZ2VzWydzY2VuZSddLmN1cnJlbnRWYWx1ZSkuY2F0Y2goKCkgPT4geyB9KTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1snZW5jb2RlciddICYmIGNoYW5nZXNbJ2VuY29kZXInXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudmlld2VyLnNldEVuY29kZXIoY2hhbmdlc1snZW5jb2RlciddLmN1cnJlbnRWYWx1ZSkuY2F0Y2goKCkgPT4geyB9KTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1sncGFyYW1ldGVycyddICYmIGNoYW5nZXNbJ3BhcmFtZXRlcnMnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudmlld2VyLnNldFBhcmFtZXRlcnMoY2hhbmdlc1sncGFyYW1ldGVycyddLmN1cnJlbnRWYWx1ZSkuY2F0Y2goKCkgPT4geyB9KTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1sndmlldyddICYmIGNoYW5nZXNbJ3ZpZXcnXS5jdXJyZW50VmFsdWUpIHtcbiAgICAgIHRoaXMudmlld2VyLnNldFZpZXcoY2hhbmdlc1sndmlldyddLmN1cnJlbnRWYWx1ZSkuY2F0Y2goKCkgPT4geyB9KTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1sndnJjdWJlJ10gJiYgY2hhbmdlc1sndnJjdWJlJ10uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnZpZXdlci5zZXRWcmN1YmUoY2hhbmdlc1sndnJjdWJlJ10uY3VycmVudFZhbHVlKTtcbiAgICB9XG5cbiAgICBpZiAoY2hhbmdlc1sndnJvYmplY3QnXSAmJiBjaGFuZ2VzWyd2cm9iamVjdCddLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy52aWV3ZXIuc2V0VnJvYmplY3QoY2hhbmdlc1sndnJvYmplY3QnXS5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHNuYXBzaG90KHR5cGU6IHN0cmluZywgcXVhbGl0eTogbnVtYmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy52aWV3ZXI/LnNuYXBzaG90KHR5cGUsIHF1YWxpdHkpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { NgViewerComponent } from './ng-viewer.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class NgViewerModule {
|
|
5
|
+
}
|
|
6
|
+
NgViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
7
|
+
NgViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, declarations: [NgViewerComponent], exports: [NgViewerComponent] });
|
|
8
|
+
NgViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, imports: [[]] });
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, decorators: [{
|
|
10
|
+
type: NgModule,
|
|
11
|
+
args: [{
|
|
12
|
+
declarations: [
|
|
13
|
+
NgViewerComponent
|
|
14
|
+
],
|
|
15
|
+
imports: [],
|
|
16
|
+
exports: [
|
|
17
|
+
NgViewerComponent
|
|
18
|
+
]
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctdmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLXZpZXdlci9zcmMvbGliL25nLXZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFhMUQsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFUdkIsaUJBQWlCLGFBS2pCLGlCQUFpQjs0R0FJUixjQUFjLFlBUGhCLEVBQ1I7MkZBTVUsY0FBYztrQkFYMUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUUsRUFDUjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vbmctdmlld2VyLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE5nVmlld2VyQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIE5nVmlld2VyQ29tcG9uZW50XG4gIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBOZ1ZpZXdlck1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
|
-
export * from './
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVtaXNjYXBoZS1uZy12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZy12aWV3ZXIvc3JjL2x1bWlzY2FwaGUtbmctdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './lib/ng-viewer.component';
|
|
5
5
|
export * from './lib/ng-viewer.module';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXZpZXdlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmctdmlld2VyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctdmlld2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy12aWV3ZXIubW9kdWxlJztcbiJdfQ==
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, ViewChild, NgModule } from '@angular/core';
|
|
3
|
+
import { Viewer } from '@lumiscaphe/viewer';
|
|
4
|
+
|
|
5
|
+
class NgViewerComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.onLoadStart = new EventEmitter();
|
|
8
|
+
this.onLoadProgress = new EventEmitter();
|
|
9
|
+
this.onLoadEnd = new EventEmitter();
|
|
10
|
+
this.onLoadError = new EventEmitter();
|
|
11
|
+
this.onInteraction = new EventEmitter();
|
|
12
|
+
this.onVrcubeInteraction = new EventEmitter();
|
|
13
|
+
this.onVrobjectInteraction = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
ngAfterViewInit() {
|
|
16
|
+
this.viewer = new Viewer(this.container.nativeElement, {
|
|
17
|
+
server: this.server,
|
|
18
|
+
api: this.api || 'v1',
|
|
19
|
+
fit: this.fit || 'cover',
|
|
20
|
+
events: {
|
|
21
|
+
onLoadStart: (...args) => { this.onLoadStart.emit(...args); },
|
|
22
|
+
onLoadProgress: (...args) => { this.onLoadProgress.emit(...args); },
|
|
23
|
+
onLoadEnd: (...args) => { this.onLoadEnd.emit(...args); },
|
|
24
|
+
onLoadError: (...args) => { this.onLoadError.emit(...args); },
|
|
25
|
+
onInteraction: (...args) => { this.onInteraction.emit(...args); },
|
|
26
|
+
onVrcubeInteraction: (...args) => { this.onVrcubeInteraction.emit(...args); },
|
|
27
|
+
onVrobjectInteraction: (...args) => { this.onVrobjectInteraction.emit(...args); },
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
if (this['scene']) {
|
|
31
|
+
this.viewer.load(this.scene).catch(() => { });
|
|
32
|
+
}
|
|
33
|
+
if (this['encoder']) {
|
|
34
|
+
this.viewer.setEncoder(this.encoder).catch(() => { });
|
|
35
|
+
}
|
|
36
|
+
if (this.parameters) {
|
|
37
|
+
this.viewer.setParameters(this.parameters).catch(() => { });
|
|
38
|
+
}
|
|
39
|
+
if (this.view) {
|
|
40
|
+
this.viewer.setView(this.view).catch(() => { });
|
|
41
|
+
}
|
|
42
|
+
if (this.vrcube) {
|
|
43
|
+
this.viewer.setVrcube(this.vrcube);
|
|
44
|
+
}
|
|
45
|
+
if (this.vrobject) {
|
|
46
|
+
this.viewer.setVrobject(this.vrobject);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
ngOnDestroy() {
|
|
50
|
+
var _a;
|
|
51
|
+
(_a = this.viewer) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
52
|
+
}
|
|
53
|
+
ngOnChanges(changes) {
|
|
54
|
+
if (!this.viewer) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
if (changes['scene'] && changes['scene'].currentValue) {
|
|
58
|
+
this.viewer.load(changes['scene'].currentValue).catch(() => { });
|
|
59
|
+
}
|
|
60
|
+
if (changes['encoder'] && changes['encoder'].currentValue) {
|
|
61
|
+
this.viewer.setEncoder(changes['encoder'].currentValue).catch(() => { });
|
|
62
|
+
}
|
|
63
|
+
if (changes['parameters'] && changes['parameters'].currentValue) {
|
|
64
|
+
this.viewer.setParameters(changes['parameters'].currentValue).catch(() => { });
|
|
65
|
+
}
|
|
66
|
+
if (changes['view'] && changes['view'].currentValue) {
|
|
67
|
+
this.viewer.setView(changes['view'].currentValue).catch(() => { });
|
|
68
|
+
}
|
|
69
|
+
if (changes['vrcube'] && changes['vrcube'].currentValue) {
|
|
70
|
+
this.viewer.setVrcube(changes['vrcube'].currentValue);
|
|
71
|
+
}
|
|
72
|
+
if (changes['vrobject'] && changes['vrobject'].currentValue) {
|
|
73
|
+
this.viewer.setVrobject(changes['vrobject'].currentValue);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
snapshot(type, quality) {
|
|
77
|
+
var _a;
|
|
78
|
+
return (_a = this.viewer) === null || _a === void 0 ? void 0 : _a.snapshot(type, quality);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
NgViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
82
|
+
NgViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: NgViewerComponent, selector: "NgViewer", inputs: { server: "server", api: "api", fit: "fit", scene: "scene", encoder: "encoder", parameters: "parameters", view: "view", vrcube: "vrcube", vrobject: "vrobject" }, outputs: { onLoadStart: "onLoadStart", onLoadProgress: "onLoadProgress", onLoadEnd: "onLoadEnd", onLoadError: "onLoadError", onInteraction: "onInteraction", onVrcubeInteraction: "onVrcubeInteraction", onVrobjectInteraction: "onVrobjectInteraction" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container></div>', isInline: true, styles: [":host{display:flex;flex:1 0 auto}\n"] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerComponent, decorators: [{
|
|
84
|
+
type: Component,
|
|
85
|
+
args: [{
|
|
86
|
+
selector: 'NgViewer',
|
|
87
|
+
template: '<div #container></div>',
|
|
88
|
+
styles: [':host { display: flex; flex: 1 0 auto; }']
|
|
89
|
+
}]
|
|
90
|
+
}], ctorParameters: function () { return []; }, propDecorators: { server: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], api: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], fit: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], scene: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], encoder: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], parameters: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], view: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], vrcube: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], vrobject: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], onLoadStart: [{
|
|
109
|
+
type: Output
|
|
110
|
+
}], onLoadProgress: [{
|
|
111
|
+
type: Output
|
|
112
|
+
}], onLoadEnd: [{
|
|
113
|
+
type: Output
|
|
114
|
+
}], onLoadError: [{
|
|
115
|
+
type: Output
|
|
116
|
+
}], onInteraction: [{
|
|
117
|
+
type: Output
|
|
118
|
+
}], onVrcubeInteraction: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}], onVrobjectInteraction: [{
|
|
121
|
+
type: Output
|
|
122
|
+
}], container: [{
|
|
123
|
+
type: ViewChild,
|
|
124
|
+
args: ['container']
|
|
125
|
+
}] } });
|
|
126
|
+
|
|
127
|
+
class NgViewerModule {
|
|
128
|
+
}
|
|
129
|
+
NgViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
130
|
+
NgViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, declarations: [NgViewerComponent], exports: [NgViewerComponent] });
|
|
131
|
+
NgViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, imports: [[]] });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, decorators: [{
|
|
133
|
+
type: NgModule,
|
|
134
|
+
args: [{
|
|
135
|
+
declarations: [
|
|
136
|
+
NgViewerComponent
|
|
137
|
+
],
|
|
138
|
+
imports: [],
|
|
139
|
+
exports: [
|
|
140
|
+
NgViewerComponent
|
|
141
|
+
]
|
|
142
|
+
}]
|
|
143
|
+
}] });
|
|
144
|
+
|
|
145
|
+
/*
|
|
146
|
+
* Public API Surface of ng-viewer
|
|
147
|
+
*/
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Generated bundle index. Do not edit.
|
|
151
|
+
*/
|
|
152
|
+
|
|
153
|
+
export { NgViewerComponent, NgViewerModule };
|
|
154
|
+
//# sourceMappingURL=lumiscaphe-ng-viewer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lumiscaphe-ng-viewer.mjs","sources":["../../../projects/ng-viewer/src/lib/ng-viewer.component.ts","../../../projects/ng-viewer/src/lib/ng-viewer.module.ts","../../../projects/ng-viewer/src/public-api.ts","../../../projects/ng-viewer/src/lumiscaphe-ng-viewer.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, SimpleChanges, ViewChild, Output } from '@angular/core';\n\nimport { Encoder, Parameters, Scene, View, Viewer, WidgetVRCube, WidgetVRObject } from '@lumiscaphe/viewer';\n\n@Component({\n selector: 'NgViewer',\n template: '<div #container></div>',\n styles: [':host { display: flex; flex: 1 0 auto; }']\n})\n\nexport class NgViewerComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n public viewer: Viewer | undefined;\n\n @Input() server: string | undefined;\n @Input() api: string | undefined;\n @Input() fit: 'contain' | 'cover' | 'fill' | undefined;\n @Input() scene: Scene | undefined;\n @Input() encoder: Encoder | undefined;\n @Input() parameters: Parameters | undefined;\n @Input() view: View | undefined;\n @Input() vrcube: Partial<WidgetVRCube> | undefined;\n @Input() vrobject: Partial<WidgetVRObject> | undefined;\n\n @Output() onLoadStart = new EventEmitter();\n @Output() onLoadProgress = new EventEmitter();\n @Output() onLoadEnd = new EventEmitter();\n @Output() onLoadError = new EventEmitter();\n @Output() onInteraction = new EventEmitter();\n @Output() onVrcubeInteraction = new EventEmitter();\n @Output() onVrobjectInteraction = new EventEmitter();\n\n @ViewChild('container') container!: ElementRef;\n\n constructor() {\n }\n\n ngAfterViewInit() {\n this.viewer = new Viewer(this.container.nativeElement, {\n server: this.server,\n api: this.api || 'v1',\n fit: this.fit || 'cover',\n events: {\n onLoadStart: (...args: any[]) => { this.onLoadStart.emit(...args); },\n onLoadProgress: (...args: any[]) => { this.onLoadProgress.emit(...args); },\n onLoadEnd: (...args: any[]) => { this.onLoadEnd.emit(...args); },\n onLoadError: (...args: any[]) => { this.onLoadError.emit(...args); },\n onInteraction: (...args: any[]) => { this.onInteraction.emit(...args); },\n onVrcubeInteraction: (...args: any[]) => { this.onVrcubeInteraction.emit(...args); },\n onVrobjectInteraction: (...args: any[]) => { this.onVrobjectInteraction.emit(...args); },\n },\n });\n\n if (this['scene']) {\n this.viewer.load(this.scene).catch(() => { });\n }\n\n if (this['encoder']) {\n this.viewer.setEncoder(this.encoder).catch(() => { });\n }\n\n if (this.parameters) {\n this.viewer.setParameters(this.parameters).catch(() => { });\n }\n\n if (this.view) {\n this.viewer.setView(this.view).catch(() => { });\n }\n\n if (this.vrcube) {\n this.viewer.setVrcube(this.vrcube);\n }\n\n if (this.vrobject) {\n this.viewer.setVrobject(this.vrobject);\n }\n }\n\n ngOnDestroy(): void {\n this.viewer?.destroy();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.viewer) {\n return;\n }\n\n if (changes['scene'] && changes['scene'].currentValue) {\n this.viewer.load(changes['scene'].currentValue).catch(() => { });\n }\n\n if (changes['encoder'] && changes['encoder'].currentValue) {\n this.viewer.setEncoder(changes['encoder'].currentValue).catch(() => { });\n }\n\n if (changes['parameters'] && changes['parameters'].currentValue) {\n this.viewer.setParameters(changes['parameters'].currentValue).catch(() => { });\n }\n\n if (changes['view'] && changes['view'].currentValue) {\n this.viewer.setView(changes['view'].currentValue).catch(() => { });\n }\n\n if (changes['vrcube'] && changes['vrcube'].currentValue) {\n this.viewer.setVrcube(changes['vrcube'].currentValue);\n }\n\n if (changes['vrobject'] && changes['vrobject'].currentValue) {\n this.viewer.setVrobject(changes['vrobject'].currentValue);\n }\n }\n\n snapshot(type: string, quality: number): string | undefined {\n return this.viewer?.snapshot(type, quality);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { NgViewerComponent } from './ng-viewer.component';\n\n@NgModule({\n declarations: [\n NgViewerComponent\n ],\n imports: [\n ],\n exports: [\n NgViewerComponent\n ]\n})\n\nexport class NgViewerModule { }\n","/*\n * Public API Surface of ng-viewer\n */\n\nexport * from './lib/ng-viewer.component';\nexport * from './lib/ng-viewer.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Input, Output, ViewChild, NgModule } from '@angular/core';
|
|
3
|
+
import { Viewer } from '@lumiscaphe/viewer';
|
|
4
|
+
|
|
5
|
+
class NgViewerComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.onLoadStart = new EventEmitter();
|
|
8
|
+
this.onLoadProgress = new EventEmitter();
|
|
9
|
+
this.onLoadEnd = new EventEmitter();
|
|
10
|
+
this.onLoadError = new EventEmitter();
|
|
11
|
+
this.onInteraction = new EventEmitter();
|
|
12
|
+
this.onVrcubeInteraction = new EventEmitter();
|
|
13
|
+
this.onVrobjectInteraction = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
ngAfterViewInit() {
|
|
16
|
+
this.viewer = new Viewer(this.container.nativeElement, {
|
|
17
|
+
server: this.server,
|
|
18
|
+
api: this.api || 'v1',
|
|
19
|
+
fit: this.fit || 'cover',
|
|
20
|
+
events: {
|
|
21
|
+
onLoadStart: (...args) => { this.onLoadStart.emit(...args); },
|
|
22
|
+
onLoadProgress: (...args) => { this.onLoadProgress.emit(...args); },
|
|
23
|
+
onLoadEnd: (...args) => { this.onLoadEnd.emit(...args); },
|
|
24
|
+
onLoadError: (...args) => { this.onLoadError.emit(...args); },
|
|
25
|
+
onInteraction: (...args) => { this.onInteraction.emit(...args); },
|
|
26
|
+
onVrcubeInteraction: (...args) => { this.onVrcubeInteraction.emit(...args); },
|
|
27
|
+
onVrobjectInteraction: (...args) => { this.onVrobjectInteraction.emit(...args); },
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
if (this['scene']) {
|
|
31
|
+
this.viewer.load(this.scene).catch(() => { });
|
|
32
|
+
}
|
|
33
|
+
if (this['encoder']) {
|
|
34
|
+
this.viewer.setEncoder(this.encoder).catch(() => { });
|
|
35
|
+
}
|
|
36
|
+
if (this.parameters) {
|
|
37
|
+
this.viewer.setParameters(this.parameters).catch(() => { });
|
|
38
|
+
}
|
|
39
|
+
if (this.view) {
|
|
40
|
+
this.viewer.setView(this.view).catch(() => { });
|
|
41
|
+
}
|
|
42
|
+
if (this.vrcube) {
|
|
43
|
+
this.viewer.setVrcube(this.vrcube);
|
|
44
|
+
}
|
|
45
|
+
if (this.vrobject) {
|
|
46
|
+
this.viewer.setVrobject(this.vrobject);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
ngOnDestroy() {
|
|
50
|
+
this.viewer?.destroy();
|
|
51
|
+
}
|
|
52
|
+
ngOnChanges(changes) {
|
|
53
|
+
if (!this.viewer) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (changes['scene'] && changes['scene'].currentValue) {
|
|
57
|
+
this.viewer.load(changes['scene'].currentValue).catch(() => { });
|
|
58
|
+
}
|
|
59
|
+
if (changes['encoder'] && changes['encoder'].currentValue) {
|
|
60
|
+
this.viewer.setEncoder(changes['encoder'].currentValue).catch(() => { });
|
|
61
|
+
}
|
|
62
|
+
if (changes['parameters'] && changes['parameters'].currentValue) {
|
|
63
|
+
this.viewer.setParameters(changes['parameters'].currentValue).catch(() => { });
|
|
64
|
+
}
|
|
65
|
+
if (changes['view'] && changes['view'].currentValue) {
|
|
66
|
+
this.viewer.setView(changes['view'].currentValue).catch(() => { });
|
|
67
|
+
}
|
|
68
|
+
if (changes['vrcube'] && changes['vrcube'].currentValue) {
|
|
69
|
+
this.viewer.setVrcube(changes['vrcube'].currentValue);
|
|
70
|
+
}
|
|
71
|
+
if (changes['vrobject'] && changes['vrobject'].currentValue) {
|
|
72
|
+
this.viewer.setVrobject(changes['vrobject'].currentValue);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
snapshot(type, quality) {
|
|
76
|
+
return this.viewer?.snapshot(type, quality);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
NgViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
80
|
+
NgViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: NgViewerComponent, selector: "NgViewer", inputs: { server: "server", api: "api", fit: "fit", scene: "scene", encoder: "encoder", parameters: "parameters", view: "view", vrcube: "vrcube", vrobject: "vrobject" }, outputs: { onLoadStart: "onLoadStart", onLoadProgress: "onLoadProgress", onLoadEnd: "onLoadEnd", onLoadError: "onLoadError", onInteraction: "onInteraction", onVrcubeInteraction: "onVrcubeInteraction", onVrobjectInteraction: "onVrobjectInteraction" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container></div>', isInline: true, styles: [":host{display:flex;flex:1 0 auto}\n"] });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{
|
|
84
|
+
selector: 'NgViewer',
|
|
85
|
+
template: '<div #container></div>',
|
|
86
|
+
styles: [':host { display: flex; flex: 1 0 auto; }']
|
|
87
|
+
}]
|
|
88
|
+
}], ctorParameters: function () { return []; }, propDecorators: { server: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], api: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], fit: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], scene: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], encoder: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], parameters: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], view: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], vrcube: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], vrobject: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], onLoadStart: [{
|
|
107
|
+
type: Output
|
|
108
|
+
}], onLoadProgress: [{
|
|
109
|
+
type: Output
|
|
110
|
+
}], onLoadEnd: [{
|
|
111
|
+
type: Output
|
|
112
|
+
}], onLoadError: [{
|
|
113
|
+
type: Output
|
|
114
|
+
}], onInteraction: [{
|
|
115
|
+
type: Output
|
|
116
|
+
}], onVrcubeInteraction: [{
|
|
117
|
+
type: Output
|
|
118
|
+
}], onVrobjectInteraction: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}], container: [{
|
|
121
|
+
type: ViewChild,
|
|
122
|
+
args: ['container']
|
|
123
|
+
}] } });
|
|
124
|
+
|
|
125
|
+
class NgViewerModule {
|
|
126
|
+
}
|
|
127
|
+
NgViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
128
|
+
NgViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, declarations: [NgViewerComponent], exports: [NgViewerComponent] });
|
|
129
|
+
NgViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, imports: [[]] });
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: NgViewerModule, decorators: [{
|
|
131
|
+
type: NgModule,
|
|
132
|
+
args: [{
|
|
133
|
+
declarations: [
|
|
134
|
+
NgViewerComponent
|
|
135
|
+
],
|
|
136
|
+
imports: [],
|
|
137
|
+
exports: [
|
|
138
|
+
NgViewerComponent
|
|
139
|
+
]
|
|
140
|
+
}]
|
|
141
|
+
}] });
|
|
142
|
+
|
|
143
|
+
/*
|
|
144
|
+
* Public API Surface of ng-viewer
|
|
145
|
+
*/
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Generated bundle index. Do not edit.
|
|
149
|
+
*/
|
|
150
|
+
|
|
151
|
+
export { NgViewerComponent, NgViewerModule };
|
|
152
|
+
//# sourceMappingURL=lumiscaphe-ng-viewer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lumiscaphe-ng-viewer.mjs","sources":["../../../projects/ng-viewer/src/lib/ng-viewer.component.ts","../../../projects/ng-viewer/src/lib/ng-viewer.module.ts","../../../projects/ng-viewer/src/public-api.ts","../../../projects/ng-viewer/src/lumiscaphe-ng-viewer.ts"],"sourcesContent":["import { AfterViewInit, Component, ElementRef, EventEmitter, Input, OnChanges, OnDestroy, SimpleChanges, ViewChild, Output } from '@angular/core';\n\nimport { Encoder, Parameters, Scene, View, Viewer, WidgetVRCube, WidgetVRObject } from '@lumiscaphe/viewer';\n\n@Component({\n selector: 'NgViewer',\n template: '<div #container></div>',\n styles: [':host { display: flex; flex: 1 0 auto; }']\n})\n\nexport class NgViewerComponent implements AfterViewInit, OnChanges, OnDestroy {\n\n public viewer: Viewer | undefined;\n\n @Input() server: string | undefined;\n @Input() api: string | undefined;\n @Input() fit: 'contain' | 'cover' | 'fill' | undefined;\n @Input() scene: Scene | undefined;\n @Input() encoder: Encoder | undefined;\n @Input() parameters: Parameters | undefined;\n @Input() view: View | undefined;\n @Input() vrcube: Partial<WidgetVRCube> | undefined;\n @Input() vrobject: Partial<WidgetVRObject> | undefined;\n\n @Output() onLoadStart = new EventEmitter();\n @Output() onLoadProgress = new EventEmitter();\n @Output() onLoadEnd = new EventEmitter();\n @Output() onLoadError = new EventEmitter();\n @Output() onInteraction = new EventEmitter();\n @Output() onVrcubeInteraction = new EventEmitter();\n @Output() onVrobjectInteraction = new EventEmitter();\n\n @ViewChild('container') container!: ElementRef;\n\n constructor() {\n }\n\n ngAfterViewInit() {\n this.viewer = new Viewer(this.container.nativeElement, {\n server: this.server,\n api: this.api || 'v1',\n fit: this.fit || 'cover',\n events: {\n onLoadStart: (...args: any[]) => { this.onLoadStart.emit(...args); },\n onLoadProgress: (...args: any[]) => { this.onLoadProgress.emit(...args); },\n onLoadEnd: (...args: any[]) => { this.onLoadEnd.emit(...args); },\n onLoadError: (...args: any[]) => { this.onLoadError.emit(...args); },\n onInteraction: (...args: any[]) => { this.onInteraction.emit(...args); },\n onVrcubeInteraction: (...args: any[]) => { this.onVrcubeInteraction.emit(...args); },\n onVrobjectInteraction: (...args: any[]) => { this.onVrobjectInteraction.emit(...args); },\n },\n });\n\n if (this['scene']) {\n this.viewer.load(this.scene).catch(() => { });\n }\n\n if (this['encoder']) {\n this.viewer.setEncoder(this.encoder).catch(() => { });\n }\n\n if (this.parameters) {\n this.viewer.setParameters(this.parameters).catch(() => { });\n }\n\n if (this.view) {\n this.viewer.setView(this.view).catch(() => { });\n }\n\n if (this.vrcube) {\n this.viewer.setVrcube(this.vrcube);\n }\n\n if (this.vrobject) {\n this.viewer.setVrobject(this.vrobject);\n }\n }\n\n ngOnDestroy(): void {\n this.viewer?.destroy();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.viewer) {\n return;\n }\n\n if (changes['scene'] && changes['scene'].currentValue) {\n this.viewer.load(changes['scene'].currentValue).catch(() => { });\n }\n\n if (changes['encoder'] && changes['encoder'].currentValue) {\n this.viewer.setEncoder(changes['encoder'].currentValue).catch(() => { });\n }\n\n if (changes['parameters'] && changes['parameters'].currentValue) {\n this.viewer.setParameters(changes['parameters'].currentValue).catch(() => { });\n }\n\n if (changes['view'] && changes['view'].currentValue) {\n this.viewer.setView(changes['view'].currentValue).catch(() => { });\n }\n\n if (changes['vrcube'] && changes['vrcube'].currentValue) {\n this.viewer.setVrcube(changes['vrcube'].currentValue);\n }\n\n if (changes['vrobject'] && changes['vrobject'].currentValue) {\n this.viewer.setVrobject(changes['vrobject'].currentValue);\n }\n }\n\n snapshot(type: string, quality: number): string | undefined {\n return this.viewer?.snapshot(type, quality);\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { NgViewerComponent } from './ng-viewer.component';\n\n@NgModule({\n declarations: [\n NgViewerComponent\n ],\n imports: [\n ],\n exports: [\n NgViewerComponent\n ]\n})\n\nexport class NgViewerModule { }\n","/*\n * Public API Surface of ng-viewer\n */\n\nexport * from './lib/ng-viewer.component';\nexport * from './lib/ng-viewer.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
1
|
+
import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { Encoder, Parameters, Scene, View, Viewer, WidgetVRCube, WidgetVRObject } from '@lumiscaphe/viewer';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class NgViewerComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
5
|
+
viewer: Viewer | undefined;
|
|
6
|
+
server: string | undefined;
|
|
7
|
+
api: string | undefined;
|
|
8
|
+
fit: 'contain' | 'cover' | 'fill' | undefined;
|
|
9
|
+
scene: Scene | undefined;
|
|
10
|
+
encoder: Encoder | undefined;
|
|
11
|
+
parameters: Parameters | undefined;
|
|
12
|
+
view: View | undefined;
|
|
13
|
+
vrcube: Partial<WidgetVRCube> | undefined;
|
|
14
|
+
vrobject: Partial<WidgetVRObject> | undefined;
|
|
14
15
|
onLoadStart: EventEmitter<any>;
|
|
15
16
|
onLoadProgress: EventEmitter<any>;
|
|
16
17
|
onLoadEnd: EventEmitter<any>;
|
|
@@ -21,6 +22,9 @@ export declare class NgViewerComponent implements AfterViewInit, OnChanges {
|
|
|
21
22
|
container: ElementRef;
|
|
22
23
|
constructor();
|
|
23
24
|
ngAfterViewInit(): void;
|
|
25
|
+
ngOnDestroy(): void;
|
|
24
26
|
ngOnChanges(changes: SimpleChanges): void;
|
|
25
|
-
snapshot(type: string, quality: number): string;
|
|
27
|
+
snapshot(type: string, quality: number): string | undefined;
|
|
28
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgViewerComponent, never>;
|
|
29
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgViewerComponent, "NgViewer", never, { "server": "server"; "api": "api"; "fit": "fit"; "scene": "scene"; "encoder": "encoder"; "parameters": "parameters"; "view": "view"; "vrcube": "vrcube"; "vrobject": "vrobject"; }, { "onLoadStart": "onLoadStart"; "onLoadProgress": "onLoadProgress"; "onLoadEnd": "onLoadEnd"; "onLoadError": "onLoadError"; "onInteraction": "onInteraction"; "onVrcubeInteraction": "onVrcubeInteraction"; "onVrobjectInteraction": "onVrobjectInteraction"; }, never, never>;
|
|
26
30
|
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./ng-viewer.component";
|
|
1
3
|
export declare class NgViewerModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NgViewerModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NgViewerModule, [typeof i1.NgViewerComponent], never, [typeof i1.NgViewerComponent]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<NgViewerModule>;
|
|
2
7
|
}
|
package/package.json
CHANGED
|
@@ -1,20 +1,32 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lumiscaphe/ng-viewer",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
|
-
"@angular/common": "
|
|
6
|
-
"@angular/core": "
|
|
7
|
-
"@lumiscaphe/viewer": "
|
|
5
|
+
"@angular/common": "^13.0.0",
|
|
6
|
+
"@angular/core": "^13.0.0",
|
|
7
|
+
"@lumiscaphe/viewer": "^3.0.0"
|
|
8
8
|
},
|
|
9
|
-
"main": "bundles/lumiscaphe-ng-viewer.umd.js",
|
|
10
|
-
"module": "fesm2015/lumiscaphe-ng-viewer.js",
|
|
11
|
-
"es2015": "fesm2015/lumiscaphe-ng-viewer.js",
|
|
12
|
-
"esm2015": "esm2015/lumiscaphe-ng-viewer.js",
|
|
13
|
-
"fesm2015": "fesm2015/lumiscaphe-ng-viewer.js",
|
|
14
|
-
"typings": "lumiscaphe-ng-viewer.d.ts",
|
|
15
|
-
"metadata": "lumiscaphe-ng-viewer.metadata.json",
|
|
16
|
-
"sideEffects": false,
|
|
17
9
|
"dependencies": {
|
|
18
|
-
"tslib": "^2.
|
|
19
|
-
}
|
|
10
|
+
"tslib": "^2.3.0"
|
|
11
|
+
},
|
|
12
|
+
"module": "fesm2015/lumiscaphe-ng-viewer.mjs",
|
|
13
|
+
"es2020": "fesm2020/lumiscaphe-ng-viewer.mjs",
|
|
14
|
+
"esm2020": "esm2020/lumiscaphe-ng-viewer.mjs",
|
|
15
|
+
"fesm2020": "fesm2020/lumiscaphe-ng-viewer.mjs",
|
|
16
|
+
"fesm2015": "fesm2015/lumiscaphe-ng-viewer.mjs",
|
|
17
|
+
"typings": "lumiscaphe-ng-viewer.d.ts",
|
|
18
|
+
"exports": {
|
|
19
|
+
"./package.json": {
|
|
20
|
+
"default": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./lumiscaphe-ng-viewer.d.ts",
|
|
24
|
+
"esm2020": "./esm2020/lumiscaphe-ng-viewer.mjs",
|
|
25
|
+
"es2020": "./fesm2020/lumiscaphe-ng-viewer.mjs",
|
|
26
|
+
"es2015": "./fesm2015/lumiscaphe-ng-viewer.mjs",
|
|
27
|
+
"node": "./fesm2015/lumiscaphe-ng-viewer.mjs",
|
|
28
|
+
"default": "./fesm2020/lumiscaphe-ng-viewer.mjs"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"sideEffects": false
|
|
20
32
|
}
|