@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.
@@ -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 './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHVtaXNjYXBoZS1uZy12aWV3ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9uZy12aWV3ZXIvc3JjL2x1bWlzY2FwaGUtbmctdmlld2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLXZpZXdlci9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2Ygbmctdmlld2VyXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbmctdmlld2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy12aWV3ZXIubW9kdWxlJztcbiJdfQ==
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
- export declare class NgViewerComponent implements AfterViewInit, OnChanges {
4
- viewer: Viewer;
5
- server: string;
6
- api: string;
7
- fit: 'contain' | 'cover' | 'fill';
8
- scene: Scene;
9
- encoder: Encoder;
10
- parameters: Parameters;
11
- view: View;
12
- vrcube: Partial<WidgetVRCube>;
13
- vrobject: Partial<WidgetVRObject>;
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
  }
@@ -1,4 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public_api';
4
+ /// <amd-module name="@lumiscaphe/ng-viewer" />
5
+ export * from './public-api';
package/package.json CHANGED
@@ -1,20 +1,32 @@
1
1
  {
2
2
  "name": "@lumiscaphe/ng-viewer",
3
- "version": "3.0.3",
3
+ "version": "4.0.1",
4
4
  "peerDependencies": {
5
- "@angular/common": "~12.2.0",
6
- "@angular/core": "~12.2.0",
7
- "@lumiscaphe/viewer": "~3.0.0"
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.2.0"
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
  }