@smarterplan/ngx-smarterplan-core 1.2.10 → 1.2.12
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/README.md +24 -24
- package/esm2020/lib/components/csv-export/csv-export.component.mjs +3 -3
- package/esm2020/lib/components/loader/loader.component.mjs +3 -3
- package/esm2020/lib/components/menu-bar/avatar/avatar.component.mjs +1 -1
- package/esm2020/lib/components/menu-bar/menu-bar.component.mjs +3 -3
- package/esm2020/lib/components/menu-bar/navigation-bar/navigation-bar.component.mjs +3 -3
- package/esm2020/lib/components/menu-bar/range-date-picker/range-date-picker.component.mjs +1 -1
- package/esm2020/lib/components/modal-switch-visit/modal-switch-visit.component.mjs +3 -3
- package/esm2020/lib/components/search-bar/search-bar.component.mjs +3 -3
- package/esm2020/lib/components/support-modal/support-modal.component.mjs +3 -3
- package/esm2020/lib/config.mjs +1 -1
- package/esm2020/lib/helpers.service.mjs +1 -1
- package/esm2020/lib/matterport-extensions/nest-thermostat/CanvasImage.mjs +1 -1
- package/esm2020/lib/matterport-extensions/nest-thermostat/PlaneRenderer.mjs +1 -1
- package/esm2020/lib/matterport-extensions/scene-component/SceneComponent.mjs +1 -1
- package/esm2020/lib/matterport-extensions/tv-player/TvPlayer.mjs +1 -1
- package/esm2020/lib/mattertagData.mjs +1 -1
- package/esm2020/lib/ngx-smarterplan-core.module.mjs +1 -1
- package/esm2020/lib/ngx-smarterplan-core.service.mjs +1 -1
- package/esm2020/lib/pipes/duration-to-string.pipe.mjs +1 -1
- package/esm2020/lib/pipes/format-date-number-to-digits.pipe.mjs +1 -1
- package/esm2020/lib/pipes/hashtag-from-id.pipe.mjs +1 -1
- package/esm2020/lib/pipes/safe-url.pipe.mjs +1 -1
- package/esm2020/lib/pipes/time-date-to-local-string.pipe.mjs +1 -1
- package/esm2020/lib/pipes/username-from-id.pipe.mjs +1 -1
- package/esm2020/lib/services/amplify-cache.service.mjs +1 -1
- package/esm2020/lib/services/base-tab.service.mjs +1 -1
- package/esm2020/lib/services/baseVisibility.service.mjs +1 -1
- package/esm2020/lib/services/content.service.mjs +1 -1
- package/esm2020/lib/services/filter.service.mjs +1 -1
- package/esm2020/lib/services/intervention.service.mjs +1 -1
- package/esm2020/lib/services/locale.service.mjs +1 -1
- package/esm2020/lib/services/matterport-import.service.mjs +49 -41
- package/esm2020/lib/services/matterport.service.mjs +75 -1
- package/esm2020/lib/services/models/affectation.service.mjs +1 -1
- package/esm2020/lib/services/models/base-object.service.mjs +1 -1
- package/esm2020/lib/services/models/capture.service.mjs +1 -1
- package/esm2020/lib/services/models/comment.service.mjs +1 -1
- package/esm2020/lib/services/models/domain.service.mjs +1 -1
- package/esm2020/lib/services/models/equipment.service.mjs +1 -1
- package/esm2020/lib/services/models/event.service.mjs +1 -1
- package/esm2020/lib/services/models/feature.service.mjs +1 -1
- package/esm2020/lib/services/models/hashtag.service.mjs +1 -1
- package/esm2020/lib/services/models/layer.service.mjs +1 -1
- package/esm2020/lib/services/models/measurement.service.mjs +1 -1
- package/esm2020/lib/services/models/mission.service.mjs +1 -1
- package/esm2020/lib/services/models/navigation.service.mjs +1 -1
- package/esm2020/lib/services/models/node.service.mjs +1 -1
- package/esm2020/lib/services/models/object3D.service.mjs +1 -1
- package/esm2020/lib/services/models/operation.service.mjs +1 -1
- package/esm2020/lib/services/models/organisation.service.mjs +1 -1
- package/esm2020/lib/services/models/plan.service.mjs +1 -1
- package/esm2020/lib/services/models/poi.service.mjs +1 -1
- package/esm2020/lib/services/models/profile.service.mjs +1 -1
- package/esm2020/lib/services/models/property.service.mjs +1 -1
- package/esm2020/lib/services/models/space.service.mjs +1 -1
- package/esm2020/lib/services/models/template.service.mjs +1 -1
- package/esm2020/lib/services/models/ticket.service.mjs +1 -1
- package/esm2020/lib/services/models/visit.service.mjs +1 -1
- package/esm2020/lib/services/models/zone.service.mjs +1 -1
- package/esm2020/lib/services/navigator.service.mjs +1 -1
- package/esm2020/lib/services/s3.service.mjs +1 -1
- package/esm2020/lib/services/search.service.mjs +1 -1
- package/esm2020/lib/services/support.service.mjs +1 -1
- package/esm2020/lib/services/tag.service.mjs +18 -18
- package/esm2020/lib/services/user.service.mjs +1 -1
- package/esm2020/lib/services/validators.service.mjs +1 -1
- package/esm2020/lib/services/zone-drawer.service.mjs +1 -1
- package/esm2020/lib/services/zoneChange.service.mjs +1 -1
- package/esm2020/lib/validators/email.directive.mjs +1 -1
- package/esm2020/lib/validators/no-empty.directive.mjs +1 -1
- package/esm2020/lib/validators/number.directive.mjs +1 -1
- package/esm2020/lib/validators/text.directive.mjs +1 -1
- package/esm2020/public-api.mjs +1 -1
- package/fesm2015/smarterplan-ngx-smarterplan-core.mjs +156 -72
- package/fesm2015/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
- package/fesm2020/smarterplan-ngx-smarterplan-core.mjs +153 -71
- package/fesm2020/smarterplan-ngx-smarterplan-core.mjs.map +1 -1
- package/lib/components/csv-export/csv-export.component.d.ts.map +1 -0
- package/lib/components/loader/loader.component.d.ts.map +1 -0
- package/lib/components/menu-bar/avatar/avatar.component.d.ts.map +1 -0
- package/lib/components/menu-bar/menu-bar.component.d.ts.map +1 -0
- package/lib/components/menu-bar/navigation-bar/navigation-bar.component.d.ts.map +1 -0
- package/lib/components/menu-bar/range-date-picker/range-date-picker.component.d.ts.map +1 -0
- package/lib/components/modal-switch-visit/modal-switch-visit.component.d.ts.map +1 -0
- package/lib/components/search-bar/search-bar.component.d.ts.map +1 -0
- package/lib/components/support-modal/support-modal.component.d.ts.map +1 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/helpers.service.d.ts.map +1 -0
- package/lib/matterport-extensions/hsl-loader/HlsLoader.d.ts.map +1 -0
- package/lib/matterport-extensions/nest-thermostat/CanvasImage.d.ts.map +1 -0
- package/lib/matterport-extensions/nest-thermostat/CanvasRenderer.d.ts.map +1 -0
- package/lib/matterport-extensions/nest-thermostat/NestThermostat.d.ts.map +1 -0
- package/lib/matterport-extensions/nest-thermostat/PlaneRenderer.d.ts.map +1 -0
- package/lib/matterport-extensions/scene-component/SceneComponent.d.ts.map +1 -0
- package/lib/matterport-extensions/security-camera/SecurityCamera.d.ts.map +1 -0
- package/lib/matterport-extensions/tv-player/TvPlayer.d.ts.map +1 -0
- package/lib/matterport-extensions/video-renderer/VideoRenderer.d.ts.map +1 -0
- package/lib/matterport-extensions/view-frustum-mesh/ViewFrustumMesh.d.ts.map +1 -0
- package/lib/mattertagData.d.ts.map +1 -0
- package/lib/ngx-smarterplan-core.module.d.ts.map +1 -0
- package/lib/ngx-smarterplan-core.service.d.ts.map +1 -0
- package/lib/pipes/duration-to-string.pipe.d.ts.map +1 -0
- package/lib/pipes/format-date-number-to-digits.pipe.d.ts.map +1 -0
- package/lib/pipes/hashtag-from-id.pipe.d.ts.map +1 -0
- package/lib/pipes/safe-url.pipe.d.ts.map +1 -0
- package/lib/pipes/time-date-to-local-string.pipe.d.ts.map +1 -0
- package/lib/pipes/username-from-id.pipe.d.ts.map +1 -0
- package/lib/services/amplify-cache.service.d.ts.map +1 -0
- package/lib/services/base-tab.service.d.ts.map +1 -0
- package/lib/services/baseVisibility.service.d.ts.map +1 -0
- package/lib/services/content.service.d.ts.map +1 -0
- package/lib/services/filter.service.d.ts.map +1 -0
- package/lib/services/intervention.service.d.ts.map +1 -0
- package/lib/services/locale.service.d.ts.map +1 -0
- package/lib/services/matterport-import.service.d.ts +7 -0
- package/lib/services/matterport-import.service.d.ts.map +1 -0
- package/lib/services/matterport.service.d.ts.map +1 -0
- package/lib/services/models/affectation.service.d.ts.map +1 -0
- package/lib/services/models/base-object.service.d.ts.map +1 -0
- package/lib/services/models/capture.service.d.ts.map +1 -0
- package/lib/services/models/comment.service.d.ts.map +1 -0
- package/lib/services/models/domain.service.d.ts.map +1 -0
- package/lib/services/models/equipment.service.d.ts.map +1 -0
- package/lib/services/models/event.service.d.ts.map +1 -0
- package/lib/services/models/feature.service.d.ts.map +1 -0
- package/lib/services/models/hashtag.service.d.ts.map +1 -0
- package/lib/services/models/layer.service.d.ts.map +1 -0
- package/lib/services/models/measurement.service.d.ts.map +1 -0
- package/lib/services/models/mission.service.d.ts.map +1 -0
- package/lib/services/models/navigation.service.d.ts.map +1 -0
- package/lib/services/models/node.service.d.ts.map +1 -0
- package/lib/services/models/object3D.service.d.ts.map +1 -0
- package/lib/services/models/operation.service.d.ts.map +1 -0
- package/lib/services/models/organisation.service.d.ts.map +1 -0
- package/lib/services/models/plan.service.d.ts.map +1 -0
- package/lib/services/models/poi.service.d.ts.map +1 -0
- package/lib/services/models/profile.service.d.ts.map +1 -0
- package/lib/services/models/property.service.d.ts.map +1 -0
- package/lib/services/models/space.service.d.ts.map +1 -0
- package/lib/services/models/template.service.d.ts.map +1 -0
- package/lib/services/models/ticket.service.d.ts.map +1 -0
- package/lib/services/models/visit.service.d.ts.map +1 -0
- package/lib/services/models/zone.service.d.ts.map +1 -0
- package/lib/services/navigator.service.d.ts.map +1 -0
- package/lib/services/s3.service.d.ts.map +1 -0
- package/lib/services/search.service.d.ts.map +1 -0
- package/lib/services/support.service.d.ts.map +1 -0
- package/lib/services/tag.service.d.ts.map +1 -0
- package/lib/services/user.service.d.ts.map +1 -0
- package/lib/services/validators.service.d.ts.map +1 -0
- package/lib/services/viewer.service.d.ts.map +1 -0
- package/lib/services/zone-drawer.service.d.ts.map +1 -0
- package/lib/services/zoneChange.service.d.ts.map +1 -0
- package/lib/types.service.d.ts.map +1 -0
- package/lib/validators/email.directive.d.ts.map +1 -0
- package/lib/validators/no-empty.directive.d.ts.map +1 -0
- package/lib/validators/number.directive.d.ts.map +1 -0
- package/lib/validators/text.directive.d.ts.map +1 -0
- package/package.json +1 -1
- package/public-api.d.ts.map +1 -0
- package/smarterplan-ngx-smarterplan-core.d.ts.map +1 -0
|
@@ -82,10 +82,10 @@ class CsvExportComponent {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
CsvExportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CsvExportComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
-
CsvExportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CsvExportComponent, selector: "lib-csv-export", inputs: { headers: "headers", rowsInput: "rowsInput", getRows: "getRows", title: "title", buttonLabel: "buttonLabel" }, ngImport: i0, template: "<span [style.cursor]=\"'pointer'\" (click)=\"onClickDownload()\" class=\"download-csv d-flex\">\
|
|
85
|
+
CsvExportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CsvExportComponent, selector: "lib-csv-export", inputs: { headers: "headers", rowsInput: "rowsInput", getRows: "getRows", title: "title", buttonLabel: "buttonLabel" }, ngImport: i0, template: "<span [style.cursor]=\"'pointer'\" (click)=\"onClickDownload()\" class=\"download-csv d-flex\">\n <span class=\"iconify\" data-icon=\"mdi:file-download-outline\"></span>\n {{ buttonLabel | translate}}\n</span>\n", styles: [".download-csv{color:var(--smarterplan-primary)}\n"], pipes: { "translate": i1.TranslatePipe } });
|
|
86
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CsvExportComponent, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
|
-
args: [{ selector: 'lib-csv-export', template: "<span [style.cursor]=\"'pointer'\" (click)=\"onClickDownload()\" class=\"download-csv d-flex\">\
|
|
88
|
+
args: [{ selector: 'lib-csv-export', template: "<span [style.cursor]=\"'pointer'\" (click)=\"onClickDownload()\" class=\"download-csv d-flex\">\n <span class=\"iconify\" data-icon=\"mdi:file-download-outline\"></span>\n {{ buttonLabel | translate}}\n</span>\n", styles: [".download-csv{color:var(--smarterplan-primary)}\n"] }]
|
|
89
89
|
}], propDecorators: { headers: [{
|
|
90
90
|
type: Input
|
|
91
91
|
}], rowsInput: [{
|
|
@@ -2806,6 +2806,80 @@ class MatterportService {
|
|
|
2806
2806
|
// renderer.shadowMap.bias = 0.0001;
|
|
2807
2807
|
// renderer.shadowMap.type = three.PCFSoftShadowMap;
|
|
2808
2808
|
// });
|
|
2809
|
+
// Wait until Showcase is actually playing....
|
|
2810
|
+
this.sdk.Tag.data.subscribe({
|
|
2811
|
+
onAdded: async function (index, item, collection) {
|
|
2812
|
+
let thisOpacity = 0.2;
|
|
2813
|
+
this.sdk.Tag.editOpacity(index, thisOpacity);
|
|
2814
|
+
let source = null;
|
|
2815
|
+
try {
|
|
2816
|
+
source = await Promise.all([
|
|
2817
|
+
this.sdk.Sensor.createSource(this.sdk.Sensor.SourceType.SPHERE, {
|
|
2818
|
+
origin: item.anchorPosition,
|
|
2819
|
+
radius: Number(3),
|
|
2820
|
+
userData: {
|
|
2821
|
+
id: index + '-sphere-source',
|
|
2822
|
+
},
|
|
2823
|
+
})
|
|
2824
|
+
]);
|
|
2825
|
+
}
|
|
2826
|
+
catch (e) {
|
|
2827
|
+
console.log('could not create Sphere sensor');
|
|
2828
|
+
console.error(e);
|
|
2829
|
+
}
|
|
2830
|
+
if (!source) {
|
|
2831
|
+
return;
|
|
2832
|
+
}
|
|
2833
|
+
let sensor = null;
|
|
2834
|
+
try {
|
|
2835
|
+
sensor = await this.sdk.Sensor.createSensor(this.sdk.Sensor.SensorType.CAMERA);
|
|
2836
|
+
}
|
|
2837
|
+
catch (e) {
|
|
2838
|
+
console.log('could not create Camera sensor');
|
|
2839
|
+
console.error(e);
|
|
2840
|
+
}
|
|
2841
|
+
if (!sensor) {
|
|
2842
|
+
return;
|
|
2843
|
+
}
|
|
2844
|
+
sensor.addSource(...source);
|
|
2845
|
+
sensor.readings.subscribe({
|
|
2846
|
+
onUpdated(source, reading) {
|
|
2847
|
+
console.log(thisOpacity);
|
|
2848
|
+
let oldOpacity = thisOpacity;
|
|
2849
|
+
if (reading.inRange) {
|
|
2850
|
+
thisOpacity = 1;
|
|
2851
|
+
console.log(index + ' is inRange');
|
|
2852
|
+
}
|
|
2853
|
+
else if (reading.inView) {
|
|
2854
|
+
console.log(index + ' is inView but not inRange');
|
|
2855
|
+
thisOpacity = 0.5;
|
|
2856
|
+
}
|
|
2857
|
+
else {
|
|
2858
|
+
thisOpacity = 0.2;
|
|
2859
|
+
console.log(index + ' is not inView or inRange');
|
|
2860
|
+
}
|
|
2861
|
+
this.sdk.Tag.editOpacity(index, thisOpacity);
|
|
2862
|
+
/*
|
|
2863
|
+
let inc = 0.01;
|
|
2864
|
+
if (oldOpacity > thisOpacity) {
|
|
2865
|
+
inc = -0.01;
|
|
2866
|
+
}
|
|
2867
|
+
|
|
2868
|
+
for(var i = oldOpacity; i != thisOpacity; i=i+inc) {
|
|
2869
|
+
setTimeout(function() {
|
|
2870
|
+
mpSdk.Tag.editOpacity(index, i);
|
|
2871
|
+
console.log('Delay', i);
|
|
2872
|
+
},10);
|
|
2873
|
+
}
|
|
2874
|
+
*/
|
|
2875
|
+
}
|
|
2876
|
+
});
|
|
2877
|
+
//sensor.showDebug(true);
|
|
2878
|
+
}.bind(this),
|
|
2879
|
+
onCollectionUpdated: function (collection) {
|
|
2880
|
+
console.log('Collection received. There are ', Object.keys(collection).length, ' Tags in the collection', collection);
|
|
2881
|
+
}
|
|
2882
|
+
});
|
|
2809
2883
|
resolve(true);
|
|
2810
2884
|
}.bind(this));
|
|
2811
2885
|
});
|
|
@@ -4281,10 +4355,10 @@ class ModalSwitchVisitComponent {
|
|
|
4281
4355
|
}
|
|
4282
4356
|
}
|
|
4283
4357
|
ModalSwitchVisitComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalSwitchVisitComponent, deps: [{ token: i1$2.NgbActiveModal }, { token: i1$1.Router }, { token: ViewerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
4284
|
-
ModalSwitchVisitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalSwitchVisitComponent, selector: "lib-modal-switch-visit", inputs: { content: "content", model3D: "model3D", spaceID: "spaceID", dataToMove: "dataToMove" }, ngImport: i0, template: "<div class=\"modal-container\">\
|
|
4358
|
+
ModalSwitchVisitComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalSwitchVisitComponent, selector: "lib-modal-switch-visit", inputs: { content: "content", model3D: "model3D", spaceID: "spaceID", dataToMove: "dataToMove" }, ngImport: i0, template: "<div class=\"modal-container\">\n <p>{{content}}</p>\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"switchVisit()\">{{'Yes, switch visit' | translate }}</button>\n <button class=\"btn btn-outline-primary rounded-pill\"(click)=\"activeModal.close()\">{{'No, stay here' | translate }}</button>\n</div>\n", styles: [".modal-container{margin:10px}button{margin-right:8px}\n"], pipes: { "translate": i1.TranslatePipe } });
|
|
4285
4359
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalSwitchVisitComponent, decorators: [{
|
|
4286
4360
|
type: Component,
|
|
4287
|
-
args: [{ selector: 'lib-modal-switch-visit', template: "<div class=\"modal-container\">\
|
|
4361
|
+
args: [{ selector: 'lib-modal-switch-visit', template: "<div class=\"modal-container\">\n <p>{{content}}</p>\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"switchVisit()\">{{'Yes, switch visit' | translate }}</button>\n <button class=\"btn btn-outline-primary rounded-pill\"(click)=\"activeModal.close()\">{{'No, stay here' | translate }}</button>\n</div>\n", styles: [".modal-container{margin:10px}button{margin-right:8px}\n"] }]
|
|
4288
4362
|
}], ctorParameters: function () { return [{ type: i1$2.NgbActiveModal }, { type: i1$1.Router }, { type: ViewerService }]; }, propDecorators: { content: [{
|
|
4289
4363
|
type: Input
|
|
4290
4364
|
}], model3D: [{
|
|
@@ -7790,10 +7864,10 @@ class SearchBarComponent {
|
|
|
7790
7864
|
}
|
|
7791
7865
|
}
|
|
7792
7866
|
SearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SearchBarComponent, deps: [{ token: SearchService }], target: i0.ɵɵFactoryTarget.Component });
|
|
7793
|
-
SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SearchBarComponent, selector: "lib-search-bar", inputs: { searchable: "searchable", objectType: "objectType" }, outputs: { searchEvent: "searchEvent" }, ngImport: i0, template: "<div class=\"col-md-8 searchbar\">\
|
|
7867
|
+
SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SearchBarComponent, selector: "lib-search-bar", inputs: { searchable: "searchable", objectType: "objectType" }, outputs: { searchEvent: "searchEvent" }, ngImport: i0, template: "<div class=\"col-md-8 searchbar\">\n <div class=\"row depend\">\n <div class=\"col-md-5\">\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\n </div>\n <div class=\"col-md-5\">\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\n translate}}</button>\n </div>\n </div>\n</div>", styles: [".searchbar{margin-bottom:10px}\n"], pipes: { "translate": i1.TranslatePipe } });
|
|
7794
7868
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SearchBarComponent, decorators: [{
|
|
7795
7869
|
type: Component,
|
|
7796
|
-
args: [{ selector: 'lib-search-bar', template: "<div class=\"col-md-8 searchbar\">\
|
|
7870
|
+
args: [{ selector: 'lib-search-bar', template: "<div class=\"col-md-8 searchbar\">\n <div class=\"row depend\">\n <div class=\"col-md-5\">\n <input id=\"searchbar\" type=\"text\" class=\"form-control\" placeholder=\"keyword\" />\n </div>\n <div class=\"col-md-5\">\n <button class=\"btn btn-outline-primary rounded-pill\" (click)=\"onSubmit()\">{{ 'Search' |\n translate}}</button>\n </div>\n </div>\n</div>", styles: [".searchbar{margin-bottom:10px}\n"] }]
|
|
7797
7871
|
}], ctorParameters: function () { return [{ type: SearchService }]; }, propDecorators: { searchable: [{
|
|
7798
7872
|
type: Input
|
|
7799
7873
|
}], objectType: [{
|
|
@@ -8193,10 +8267,10 @@ class LoaderComponent {
|
|
|
8193
8267
|
}
|
|
8194
8268
|
}
|
|
8195
8269
|
LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8196
|
-
LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: LoaderComponent, selector: "lib-loader", inputs: { useLogo: "useLogo", color: "color" }, ngImport: i0, template: "<div class=\"sk-fading-circle\">\
|
|
8270
|
+
LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: LoaderComponent, selector: "lib-loader", inputs: { useLogo: "useLogo", color: "color" }, ngImport: i0, template: "<div class=\"sk-fading-circle\">\n <img *ngIf=\"useLogo\" src=\"../../../../assets/icons/smarterplan.svg\">\n <div class=\"sk-circle1 sk-circle\"></div>\n <div class=\"sk-circle2 sk-circle\"></div>\n <div class=\"sk-circle3 sk-circle\"></div>\n <div class=\"sk-circle4 sk-circle\"></div>\n <div class=\"sk-circle5 sk-circle\"></div>\n <div class=\"sk-circle6 sk-circle\"></div>\n <div class=\"sk-circle7 sk-circle\"></div>\n <div class=\"sk-circle8 sk-circle\"></div>\n <div class=\"sk-circle9 sk-circle\"></div>\n <div class=\"sk-circle10 sk-circle\"></div>\n <div class=\"sk-circle11 sk-circle\"></div>\n <div class=\"sk-circle12 sk-circle\"></div>\n</div>\n", styles: [".sk-fading-circle{width:88px;height:88px;position:relative}.sk-fading-circle img{width:2rem;position:absolute;left:calc(50% - 16px);top:calc(50% - 16px)}.sk-fading-circle .sk-circle{width:100%;height:100%;position:absolute;left:0;top:0}.sk-fading-circle .sk-circle:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;background-color:var(--color);border-radius:100%;animation:sk-circleFadeDelay 1.2s infinite ease-in-out both}.sk-fading-circle .sk-circle2{transform:rotate(30deg)}.sk-fading-circle .sk-circle3{transform:rotate(60deg)}.sk-fading-circle .sk-circle4{transform:rotate(90deg)}.sk-fading-circle .sk-circle5{transform:rotate(120deg)}.sk-fading-circle .sk-circle6{transform:rotate(150deg)}.sk-fading-circle .sk-circle7{transform:rotate(180deg)}.sk-fading-circle .sk-circle8{transform:rotate(210deg)}.sk-fading-circle .sk-circle9{transform:rotate(240deg)}.sk-fading-circle .sk-circle10{transform:rotate(270deg)}.sk-fading-circle .sk-circle11{transform:rotate(300deg)}.sk-fading-circle .sk-circle12{transform:rotate(330deg)}.sk-fading-circle .sk-circle2:before{animation-delay:-1.1s}.sk-fading-circle .sk-circle3:before{animation-delay:-1s}.sk-fading-circle .sk-circle4:before{animation-delay:-.9s}.sk-fading-circle .sk-circle5:before{animation-delay:-.8s}.sk-fading-circle .sk-circle6:before{animation-delay:-.7s}.sk-fading-circle .sk-circle7:before{animation-delay:-.6s}.sk-fading-circle .sk-circle8:before{animation-delay:-.5s}.sk-fading-circle .sk-circle9:before{animation-delay:-.4s}.sk-fading-circle .sk-circle10:before{animation-delay:-.3s}.sk-fading-circle .sk-circle11:before{animation-delay:-.2s}.sk-fading-circle .sk-circle12:before{animation-delay:-.1s}@keyframes sk-circleFadeDelay{0%,39%,to{opacity:0}40%{opacity:1}}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
8197
8271
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
8198
8272
|
type: Component,
|
|
8199
|
-
args: [{ selector: 'lib-loader', template: "<div class=\"sk-fading-circle\">\
|
|
8273
|
+
args: [{ selector: 'lib-loader', template: "<div class=\"sk-fading-circle\">\n <img *ngIf=\"useLogo\" src=\"../../../../assets/icons/smarterplan.svg\">\n <div class=\"sk-circle1 sk-circle\"></div>\n <div class=\"sk-circle2 sk-circle\"></div>\n <div class=\"sk-circle3 sk-circle\"></div>\n <div class=\"sk-circle4 sk-circle\"></div>\n <div class=\"sk-circle5 sk-circle\"></div>\n <div class=\"sk-circle6 sk-circle\"></div>\n <div class=\"sk-circle7 sk-circle\"></div>\n <div class=\"sk-circle8 sk-circle\"></div>\n <div class=\"sk-circle9 sk-circle\"></div>\n <div class=\"sk-circle10 sk-circle\"></div>\n <div class=\"sk-circle11 sk-circle\"></div>\n <div class=\"sk-circle12 sk-circle\"></div>\n</div>\n", styles: [".sk-fading-circle{width:88px;height:88px;position:relative}.sk-fading-circle img{width:2rem;position:absolute;left:calc(50% - 16px);top:calc(50% - 16px)}.sk-fading-circle .sk-circle{width:100%;height:100%;position:absolute;left:0;top:0}.sk-fading-circle .sk-circle:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;background-color:var(--color);border-radius:100%;animation:sk-circleFadeDelay 1.2s infinite ease-in-out both}.sk-fading-circle .sk-circle2{transform:rotate(30deg)}.sk-fading-circle .sk-circle3{transform:rotate(60deg)}.sk-fading-circle .sk-circle4{transform:rotate(90deg)}.sk-fading-circle .sk-circle5{transform:rotate(120deg)}.sk-fading-circle .sk-circle6{transform:rotate(150deg)}.sk-fading-circle .sk-circle7{transform:rotate(180deg)}.sk-fading-circle .sk-circle8{transform:rotate(210deg)}.sk-fading-circle .sk-circle9{transform:rotate(240deg)}.sk-fading-circle .sk-circle10{transform:rotate(270deg)}.sk-fading-circle .sk-circle11{transform:rotate(300deg)}.sk-fading-circle .sk-circle12{transform:rotate(330deg)}.sk-fading-circle .sk-circle2:before{animation-delay:-1.1s}.sk-fading-circle .sk-circle3:before{animation-delay:-1s}.sk-fading-circle .sk-circle4:before{animation-delay:-.9s}.sk-fading-circle .sk-circle5:before{animation-delay:-.8s}.sk-fading-circle .sk-circle6:before{animation-delay:-.7s}.sk-fading-circle .sk-circle7:before{animation-delay:-.6s}.sk-fading-circle .sk-circle8:before{animation-delay:-.5s}.sk-fading-circle .sk-circle9:before{animation-delay:-.4s}.sk-fading-circle .sk-circle10:before{animation-delay:-.3s}.sk-fading-circle .sk-circle11:before{animation-delay:-.2s}.sk-fading-circle .sk-circle12:before{animation-delay:-.1s}@keyframes sk-circleFadeDelay{0%,39%,to{opacity:0}40%{opacity:1}}\n"] }]
|
|
8200
8274
|
}], ctorParameters: function () { return []; }, propDecorators: { useLogo: [{
|
|
8201
8275
|
type: Input
|
|
8202
8276
|
}], color: [{
|
|
@@ -8248,10 +8322,10 @@ class SupportModalComponent {
|
|
|
8248
8322
|
}
|
|
8249
8323
|
}
|
|
8250
8324
|
SupportModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SupportModalComponent, deps: [{ token: SupportService }, { token: i1$2.NgbActiveModal }, { token: i3.FormBuilder }, { token: BaseUserService }, { token: ValidatorsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
8251
|
-
SupportModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SupportModalComponent, selector: "app-support-modal", ngImport: i0, template: "<div class=\"modal-header\">\
|
|
8325
|
+
SupportModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SupportModalComponent, selector: "app-support-modal", ngImport: i0, template: "<div class=\"modal-header\">\n <h5 class=\"modal-title\" translate=\"Help\"></h5>\n</div>\n<div class=\"modal-body\">\n <div class=\"support-loader-container\">\n <lib-loader *ngIf=\"loading\"></lib-loader>\n </div>\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"supportForm\" style=\"margin-top:1rem;\" *ngIf=\"!loading && status==='new'\">\n <div>\n <label>{{'Title' | translate}} *</label>\n <div>\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" data-testid=\"new-support-title\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['title'])}\"\n maxlength=\"255\">\n </div>\n <div class=\"invalid-feedback\">\n <span data-testid=\"new-support-title-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['title'])\"\n *ngIf=\" validatorsService.isControlError(supportForm.controls['title'])\"></span>\n </div>\n </div>\n <div *ngIf=\"!currentUser\">\n <label>{{'Email' | translate}} *</label>\n <div>\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" data-testid=\"new-support-email\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['email'])}\"\n maxlength=\"255\">\n </div>\n <div class=\"invalid-feedback\">\n <span data-testid=\"new-support-email-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['email'])\"\n *ngIf=\" validatorsService.isControlError(supportForm.controls['email'])\"></span>\n </div>\n </div>\n <div>\n <label>{{'Description' | translate}} *</label>\n <div>\n <textarea formControlName=\"description\" class=\"form-control\"\n data-testid=\"new-support-description\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['description'])}\"></textarea>\n </div>\n <div class=\"invalid-feedback\" >\n <span data-testid=\"new-support-description-invalid\" [translate]=\" validatorsService.getError(supportForm.controls['description'])\"\n *ngIf=\"validatorsService.isControlError(supportForm.controls['description'])\"></span>\n </div>\n </div>\n </form>\n\n <div *ngIf=\"status ==='send'\" translate=\"Your request has been registered\" data-testid=\"new-support-send-info\">\n </div>\n <div *ngIf=\"status ==='error'\" translate=\"An error has occurred, please renew your request\"\n data-testid=\"new-support-error-info\">\n\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn rounded-pill btn-museum\" data-dismiss=\"modal\" translate=\"Close\" (click)=\"onClose()\"\n data-testid=\"new-support-close-btn\"></button>\n <button *ngIf=\"!loading && status==='new'\" type=\"button\" class=\"btn rounded-pill btn-museum\" translate=\"Submit\"\n (click)=\"onSubmit()\" [disabled]=\"!supportForm.valid\" data-testid=\"new-support-submit-btn\"></button>\n</div>", styles: [".support-loader-container{width:88px;margin:auto}.invalid-feedback{height:16px}\n"], components: [{ type: LoaderComponent, selector: "lib-loader", inputs: ["useLogo", "color"] }], directives: [{ type: i1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
8252
8326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SupportModalComponent, decorators: [{
|
|
8253
8327
|
type: Component,
|
|
8254
|
-
args: [{ selector: 'app-support-modal', template: "<div class=\"modal-header\">\
|
|
8328
|
+
args: [{ selector: 'app-support-modal', template: "<div class=\"modal-header\">\n <h5 class=\"modal-title\" translate=\"Help\"></h5>\n</div>\n<div class=\"modal-body\">\n <div class=\"support-loader-container\">\n <lib-loader *ngIf=\"loading\"></lib-loader>\n </div>\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"supportForm\" style=\"margin-top:1rem;\" *ngIf=\"!loading && status==='new'\">\n <div>\n <label>{{'Title' | translate}} *</label>\n <div>\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" data-testid=\"new-support-title\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['title'])}\"\n maxlength=\"255\">\n </div>\n <div class=\"invalid-feedback\">\n <span data-testid=\"new-support-title-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['title'])\"\n *ngIf=\" validatorsService.isControlError(supportForm.controls['title'])\"></span>\n </div>\n </div>\n <div *ngIf=\"!currentUser\">\n <label>{{'Email' | translate}} *</label>\n <div>\n <input type=\"email\" class=\"form-control\" formControlName=\"email\" data-testid=\"new-support-email\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['email'])}\"\n maxlength=\"255\">\n </div>\n <div class=\"invalid-feedback\">\n <span data-testid=\"new-support-email-invalid\" [translate]=\"validatorsService.getError(supportForm.controls['email'])\"\n *ngIf=\" validatorsService.isControlError(supportForm.controls['email'])\"></span>\n </div>\n </div>\n <div>\n <label>{{'Description' | translate}} *</label>\n <div>\n <textarea formControlName=\"description\" class=\"form-control\"\n data-testid=\"new-support-description\"\n [ngClass]=\"{'is-invalid' : validatorsService.isControlError(supportForm.controls['description'])}\"></textarea>\n </div>\n <div class=\"invalid-feedback\" >\n <span data-testid=\"new-support-description-invalid\" [translate]=\" validatorsService.getError(supportForm.controls['description'])\"\n *ngIf=\"validatorsService.isControlError(supportForm.controls['description'])\"></span>\n </div>\n </div>\n </form>\n\n <div *ngIf=\"status ==='send'\" translate=\"Your request has been registered\" data-testid=\"new-support-send-info\">\n </div>\n <div *ngIf=\"status ==='error'\" translate=\"An error has occurred, please renew your request\"\n data-testid=\"new-support-error-info\">\n\n </div>\n</div>\n<div class=\"modal-footer\">\n <button type=\"button\" class=\"btn rounded-pill btn-museum\" data-dismiss=\"modal\" translate=\"Close\" (click)=\"onClose()\"\n data-testid=\"new-support-close-btn\"></button>\n <button *ngIf=\"!loading && status==='new'\" type=\"button\" class=\"btn rounded-pill btn-museum\" translate=\"Submit\"\n (click)=\"onSubmit()\" [disabled]=\"!supportForm.valid\" data-testid=\"new-support-submit-btn\"></button>\n</div>", styles: [".support-loader-container{width:88px;margin:auto}.invalid-feedback{height:16px}\n"] }]
|
|
8255
8329
|
}], ctorParameters: function () { return [{ type: SupportService }, { type: i1$2.NgbActiveModal }, { type: i3.FormBuilder }, { type: BaseUserService }, { type: ValidatorsService }]; } });
|
|
8256
8330
|
|
|
8257
8331
|
class LocaleService {
|
|
@@ -10938,10 +11012,10 @@ class NavigationBarComponent {
|
|
|
10938
11012
|
}
|
|
10939
11013
|
}
|
|
10940
11014
|
NavigationBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NavigationBarComponent, deps: [{ token: 'currentAwsKinesisAnalyticsService' }, { token: i1$1.Router }, { token: SpaceService }, { token: BaseUserService }, { token: ZoneService }, { token: VisitService }, { token: ViewerService }, { token: NavigatorService }, { token: ZoneChangeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
10941
|
-
NavigationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: NavigationBarComponent, selector: "lib-navigation-bar", viewQueries: [{ propertyName: "navbarSelectMenu", first: true, predicate: ["navbarSelectMenu"], descendants: true }], ngImport: i0, template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\
|
|
11015
|
+
NavigationBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: NavigationBarComponent, selector: "lib-navigation-bar", viewQueries: [{ propertyName: "navbarSelectMenu", first: true, predicate: ["navbarSelectMenu"], descendants: true }], ngImport: i0, template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\n <div class=\"d-flex col-12\">\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\n <div class=\"d-flex flex-column flex-md-row \">\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\n (ngModelChange)=\"onLocationClick()\">\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\n </option>\n </select>\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\n (ngModelChange)=\"onFloorClick()\">\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\n <option *ngFor=\"let floor of floorsPerSpace\" [ngValue]=\"floor\">{{ floor.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\n (ngModelChange)=\"onZoneClick()\">\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\"><span\n *ngIf=\"zone.code_ref\">{{zone.code_ref}}_</span>{{zone.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\n *ngIf=\"childrenZones && childrenZones.length>0\" (ngModelChange)=\"onChildZoneClick()\">\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <!-- <select class=\"form-control flex-fill\">\n <option i18n>{{'Favorites' | translate}}</option>\n </select> -->\n </div>\n <div class=\"row\" style=\"margin-left: 0;\">\n <div class=\"outer_circle\">\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\n (click)=\"goTo()\"></button>\n </div>\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\n </div>\n </div>\n\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\n {{ showLocation() }}\n </h4>\n </div>\n</nav>", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"], directives: [{ type: i1$2.NgbNavbar, selector: ".navbar" }, { type: i3.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i3.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
10942
11016
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NavigationBarComponent, decorators: [{
|
|
10943
11017
|
type: Component,
|
|
10944
|
-
args: [{ selector: 'lib-navigation-bar', template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\
|
|
11018
|
+
args: [{ selector: 'lib-navigation-bar', template: "<nav class=\"navbar navbar-expand-md navbar-dark navbar-inverse second-nav\">\n <div class=\"d-flex col-12\">\n <div #navbarSelectMenu class=\"collapse navbar-collapse\" id=\"nav-item-container-blue\">\n <div class=\"d-flex flex-column flex-md-row \">\n <select class=\"form-control flex-fill location select-menu\" [(ngModel)]=\"selectedLocation\"\n (ngModelChange)=\"onLocationClick()\">\n <option [ngValue]=\"null\" selected>{{ 'Location' | translate }}</option>\n <option *ngFor=\"let loc of locations; index as index\" [ngValue]=\"loc\"> {{ loc.name }}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" (change)=\"onVisitClick($event)\"\n *ngIf=\"visitsPerSpace && visitsPerSpace.length > 1\">\n <option value=\"default\" selected disabled hidden>{{'Visit' | translate}}</option>\n <option *ngFor=\"let visit of visitsPerSpace; index as index\" value=\"{{index}}\">{{ visit.name}}\n </option>\n </select>\n <select class=\"form-control flex-fill floor select-menu\" [(ngModel)]=\"selectedFloor\"\n (ngModelChange)=\"onFloorClick()\">\n <option [ngValue]=\"null\" selected>{{'Floor' | translate}}</option>\n <option *ngFor=\"let floor of floorsPerSpace\" [ngValue]=\"floor\">{{ floor.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu zone\" [(ngModel)]=\"selectedZone\"\n (ngModelChange)=\"onZoneClick()\">\n <option [ngValue]=\"null\" selected>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of zonesPerFloor\" [ngValue]=\"zone\"><span\n *ngIf=\"zone.code_ref\">{{zone.code_ref}}_</span>{{zone.name}}</option>\n </select>\n <select class=\"form-control flex-fill select-menu\" [(ngModel)]=\"selectedChildZone\"\n *ngIf=\"childrenZones && childrenZones.length>0\" (ngModelChange)=\"onChildZoneClick()\">\n <option [ngValue]=\"null\" selected disabled>{{'Zone' | translate}}</option>\n <option *ngFor=\"let zone of childrenZones\" [ngValue]=\"zone\">{{ zone.name}}</option>\n </select>\n <!-- <select class=\"form-control flex-fill\">\n <option i18n>{{'Favorites' | translate}}</option>\n </select> -->\n </div>\n <div class=\"row\" style=\"margin-left: 0;\">\n <div class=\"outer_circle\">\n <button id='btn-icon' [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\"\n (click)=\"goTo()\"></button>\n </div>\n <button (click)=\"goTo()\" class=\"btn rounded-pill btn-3d\"\n [disabled]=\"!selectedLocation || !selectedModel3d || !canGo()\">{{'3D visit' | translate}}</button>\n </div>\n </div>\n\n <h4 style=\"line-height: 29px;margin: 0;\" *ngIf=\"showLocation()\">\n {{ showLocation() }}\n </h4>\n </div>\n</nav>", styles: [":host{position:sticky;top:0;height:123px}.navbar{z-index:200;padding:.4rem 1rem}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0}.form-control{width:auto;min-width:80px;max-width:18%}.location{width:auto;max-width:35%}.floor,.zone{width:auto;max-width:30%}button{color:#fff;padding:5px 10px;font-size:1.1em}.btn-3d:active:hover:not([disabled]){color:var(--smarterplan-secondary)}.btn-3d[disabled]:hover{color:#fff}.navbar-toggler{margin-right:1em}.select-menu{max-width:inherit}#btn-icon{width:30px;height:30px;background:url(../../../../../assets/icons/goTo3d.svg);border:none;vertical-align:middle}#btn-icon:hover{background:url(../../../../../assets/icons/goTo3d-over.svg)}#btn-icon[disabled]:hover{background:url(../../../../../assets/icons/goTo3d.svg)}.outer_circle{background-color:#ebebeb;border-radius:50%;width:32px;height:32px;padding:1px}\n"] }]
|
|
10945
11019
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
10946
11020
|
type: Inject,
|
|
10947
11021
|
args: ['currentAwsKinesisAnalyticsService']
|
|
@@ -11027,10 +11101,10 @@ class MenuBarComponent {
|
|
|
11027
11101
|
}
|
|
11028
11102
|
}
|
|
11029
11103
|
MenuBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: MenuBarComponent, deps: [{ token: i1$1.Router }, { token: LocaleService }, { token: BaseUserService }, { token: NavigatorService }, { token: SupportService }, { token: BaseVisibilityService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11030
|
-
MenuBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: MenuBarComponent, selector: "lib-menu-bar", ngImport: i0, template: "<div id=\"menu-bar\">\
|
|
11104
|
+
MenuBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: MenuBarComponent, selector: "lib-menu-bar", ngImport: i0, template: "<div id=\"menu-bar\">\n <div *ngIf=\"!isVisitor\">\n <nav class=\"navbar navbar-expand-md navbar-light p-0\">\n <div class=\"container-fluid\" *ngIf=\"isVisible\">\n <div class=\"navbar-brand\" [routerLink]=\"['/dashboard']\">\n <img alt=\"\" src=\"../assets/images/logos/logo-rvb-straight.png\">\n </div>\n <!-- <button class=\"navbar-toggler\" data-bs-target=\".navbar-collapse\" data-bs-toggle=\"collapse\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button> -->\n <div class=\"collapse navbar-collapse\">\n <form class=\"form-inline ms-3\">\n <input class=\"form-control search-button\" placeholder=\"keyword\" id=\"mainSearchBar\" type=\"text\">\n <button class=\"btn btn-outline-primary rounded-pill me-2\" (click)=\"onSubmit()\">{{'Search' |\n translate}}</button>\n <lib-range-date-picker cacheName=\"mainDate\"></lib-range-date-picker>\n <div class=\"change-position-button\">\n <input type=\"checkbox\" class=\"btn-check\" id=\"btn-check-outlined\" autocomplete=\"off\">\n <label class=\"btn btn-outline-primary\" (click)=\"onChangePositionClick()\"\n for=\"btn-check-outlined\">{{\"Change position\" | translate}}</label>\n </div>\n </form>\n <div class=\"ms-auto nav-item dropdown\">\n <div class=\"profile_pic dropdown-toggle\" data-testid=\"dropdown-menu-button\" data-bs-toggle=\"dropdown\">\n <lib-avatar></lib-avatar>\n </div>\n <div class=\"dropdown-menu dropdown-menu-right\">\n <p *ngIf=\"user && mission\" class=\"p-2\">\n <span class=\"username\">{{ user.displayName }}</span><br />\n <span class=\"user-role\">{{ mission.role }}</span><br />\n <span class=\"org\">{{ mission.organisation ? mission.organisation.name : \"No organisation\" |\n translate}}</span>\n </p>\n <div class=\"dropdown-divider\"></div>\n <!-- <a class=\"dropdown-item\" routerLink=\"/debug\" *ngIf=\"isManager\">Debug</a> -->\n <a class=\"dropdown-item\" (click)=\"localeService.modal()\">{{'Language' | translate}}</a>\n <a class=\"dropdown-item\" routerLink=\"/dashboard\">{{'Data management' | translate}}</a>\n <a class=\"dropdown-item\" data-testid=\"user-management-btn\" routerLink=\"/admin\" *ngIf=\"isManager\">\n {{'Users management' | translate}}</a>\n <a class=\"dropdown-item\" routerLink=\"/profile\">\n {{'Profile' | translate}}</a>\n <div class=\"dropdown-divider\"></div>\n <button class=\"dropdown-item\" (click)=\"openSupportForm()\">{{\"Help\" | translate}}</button>\n <button data-testid=\"logout-auth-btn\" class=\"dropdown-item\" (click)=\"signOut()\">{{\"Logout\" |\n translate}}</button>\n </div>\n </div>\n </div>\n </div>\n </nav>\n <lib-navigation-bar *ngIf=\"isVisible && isChangePositionVisible\"></lib-navigation-bar>\n </div>\n <div *ngIf=\"isVisitor && isVisible\">\n <div class=\"visitor-div\">\n <div class=\"logo-container\" data-testid=\"dropdown-menu-button\">\n <img class=\"img-logo\" alt=\"SmarterPlanLogo\" src=\"../assets/images/logos/logo-reserve.png\">\n </div>\n <div class=\"avatar-container-menu\">\n <div class=\"profile_pic dropdown-toggle\" data-bs-toggle=\"dropdown\">\n <lib-avatar></lib-avatar>\n </div>\n <div class=\"dropdown-menu dropdown-menu-right\">\n <button class=\"dropdown-item\" (click)=\"localeService.modal()\">{{'Language' | translate}}</button>\n <button class=\"dropdown-item\" (click)=\"openSupportForm()\">{{\"Help\" | translate}}</button>\n <button data-testid=\"logout-auth-btn\" class=\"dropdown-item\" (click)=\"signOut()\">{{\"Logout\" |\n translate}}</button>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [":host{position:sticky;top:0;z-index:200}.navbar{z-index:200}.navbar-brand{padding-top:5px;padding-bottom:5px;cursor:pointer}.navbar-brand img{height:70px}.profile_pic{border-radius:50%;height:45px;width:45px;margin:8px;border:.2px solid #969696}.navbar-nav .profile-pic-container .dropdown-menu{position:absolute}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}.profile_pic.dropdown-toggle:after{display:none}.navbar-light{border-bottom:1px solid var(--smarterplan-primary);background-color:#fff}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0;width:auto}button{background-color:#fff;color:var(--smarterplan-primary);padding:5px 10px}button:disabled,button[disabled]{color:#c04f4f}.navbar-toggler{margin-right:1em}.icon{height:40px;width:40px;color:var(--smarterplan-primary)}.search-button{width:auto}.visitor-div{background-color:var(--smarterplan-primary);height:60px;display:flex;justify-content:space-between}.logo-container,.img-logo{height:100%}.change-position-button{margin-left:2rem}.change-position-button label,.change-position-button .btn-check:checked,.change-position-button .btn-check:focus,.change-position-button .btn-outline-primary,.change-position-button .btn{box-shadow:none!important;outline:0}.change-position-button label{border-radius:16px}.change-position-button .btn-check:checked+.btn{background-color:var(--smarterplan-primary);color:#fff!important}\n"], components: [{ type: RangeDatePickerComponent, selector: "lib-range-date-picker", inputs: ["cacheName"] }, { type: AvatarComponent, selector: "lib-avatar", inputs: ["size", "userID"] }, { type: NavigationBarComponent, selector: "lib-navigation-bar" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.NgbNavbar, selector: ".navbar" }, { type: i1$1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }, { type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i3.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i1$1.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "translate": i1.TranslatePipe } });
|
|
11031
11105
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: MenuBarComponent, decorators: [{
|
|
11032
11106
|
type: Component,
|
|
11033
|
-
args: [{ selector: 'lib-menu-bar', template: "<div id=\"menu-bar\">\
|
|
11107
|
+
args: [{ selector: 'lib-menu-bar', template: "<div id=\"menu-bar\">\n <div *ngIf=\"!isVisitor\">\n <nav class=\"navbar navbar-expand-md navbar-light p-0\">\n <div class=\"container-fluid\" *ngIf=\"isVisible\">\n <div class=\"navbar-brand\" [routerLink]=\"['/dashboard']\">\n <img alt=\"\" src=\"../assets/images/logos/logo-rvb-straight.png\">\n </div>\n <!-- <button class=\"navbar-toggler\" data-bs-target=\".navbar-collapse\" data-bs-toggle=\"collapse\" type=\"button\">\n <span class=\"navbar-toggler-icon\"></span>\n </button> -->\n <div class=\"collapse navbar-collapse\">\n <form class=\"form-inline ms-3\">\n <input class=\"form-control search-button\" placeholder=\"keyword\" id=\"mainSearchBar\" type=\"text\">\n <button class=\"btn btn-outline-primary rounded-pill me-2\" (click)=\"onSubmit()\">{{'Search' |\n translate}}</button>\n <lib-range-date-picker cacheName=\"mainDate\"></lib-range-date-picker>\n <div class=\"change-position-button\">\n <input type=\"checkbox\" class=\"btn-check\" id=\"btn-check-outlined\" autocomplete=\"off\">\n <label class=\"btn btn-outline-primary\" (click)=\"onChangePositionClick()\"\n for=\"btn-check-outlined\">{{\"Change position\" | translate}}</label>\n </div>\n </form>\n <div class=\"ms-auto nav-item dropdown\">\n <div class=\"profile_pic dropdown-toggle\" data-testid=\"dropdown-menu-button\" data-bs-toggle=\"dropdown\">\n <lib-avatar></lib-avatar>\n </div>\n <div class=\"dropdown-menu dropdown-menu-right\">\n <p *ngIf=\"user && mission\" class=\"p-2\">\n <span class=\"username\">{{ user.displayName }}</span><br />\n <span class=\"user-role\">{{ mission.role }}</span><br />\n <span class=\"org\">{{ mission.organisation ? mission.organisation.name : \"No organisation\" |\n translate}}</span>\n </p>\n <div class=\"dropdown-divider\"></div>\n <!-- <a class=\"dropdown-item\" routerLink=\"/debug\" *ngIf=\"isManager\">Debug</a> -->\n <a class=\"dropdown-item\" (click)=\"localeService.modal()\">{{'Language' | translate}}</a>\n <a class=\"dropdown-item\" routerLink=\"/dashboard\">{{'Data management' | translate}}</a>\n <a class=\"dropdown-item\" data-testid=\"user-management-btn\" routerLink=\"/admin\" *ngIf=\"isManager\">\n {{'Users management' | translate}}</a>\n <a class=\"dropdown-item\" routerLink=\"/profile\">\n {{'Profile' | translate}}</a>\n <div class=\"dropdown-divider\"></div>\n <button class=\"dropdown-item\" (click)=\"openSupportForm()\">{{\"Help\" | translate}}</button>\n <button data-testid=\"logout-auth-btn\" class=\"dropdown-item\" (click)=\"signOut()\">{{\"Logout\" |\n translate}}</button>\n </div>\n </div>\n </div>\n </div>\n </nav>\n <lib-navigation-bar *ngIf=\"isVisible && isChangePositionVisible\"></lib-navigation-bar>\n </div>\n <div *ngIf=\"isVisitor && isVisible\">\n <div class=\"visitor-div\">\n <div class=\"logo-container\" data-testid=\"dropdown-menu-button\">\n <img class=\"img-logo\" alt=\"SmarterPlanLogo\" src=\"../assets/images/logos/logo-reserve.png\">\n </div>\n <div class=\"avatar-container-menu\">\n <div class=\"profile_pic dropdown-toggle\" data-bs-toggle=\"dropdown\">\n <lib-avatar></lib-avatar>\n </div>\n <div class=\"dropdown-menu dropdown-menu-right\">\n <button class=\"dropdown-item\" (click)=\"localeService.modal()\">{{'Language' | translate}}</button>\n <button class=\"dropdown-item\" (click)=\"openSupportForm()\">{{\"Help\" | translate}}</button>\n <button data-testid=\"logout-auth-btn\" class=\"dropdown-item\" (click)=\"signOut()\">{{\"Logout\" |\n translate}}</button>\n </div>\n </div>\n </div>\n </div>\n</div>", styles: [":host{position:sticky;top:0;z-index:200}.navbar{z-index:200}.navbar-brand{padding-top:5px;padding-bottom:5px;cursor:pointer}.navbar-brand img{height:70px}.profile_pic{border-radius:50%;height:45px;width:45px;margin:8px;border:.2px solid #969696}.navbar-nav .profile-pic-container .dropdown-menu{position:absolute}.navbar.second-nav{z-index:199;background-color:var(--smarterplan-primary)}.profile_pic.dropdown-toggle:after{display:none}.navbar-light{border-bottom:1px solid var(--smarterplan-primary);background-color:#fff}input,select{margin-right:15px}.select{background:transparent;border:none;color:#fff;margin:6px 20px 0;width:auto}button{background-color:#fff;color:var(--smarterplan-primary);padding:5px 10px}button:disabled,button[disabled]{color:#c04f4f}.navbar-toggler{margin-right:1em}.icon{height:40px;width:40px;color:var(--smarterplan-primary)}.search-button{width:auto}.visitor-div{background-color:var(--smarterplan-primary);height:60px;display:flex;justify-content:space-between}.logo-container,.img-logo{height:100%}.change-position-button{margin-left:2rem}.change-position-button label,.change-position-button .btn-check:checked,.change-position-button .btn-check:focus,.change-position-button .btn-outline-primary,.change-position-button .btn{box-shadow:none!important;outline:0}.change-position-button label{border-radius:16px}.change-position-button .btn-check:checked+.btn{background-color:var(--smarterplan-primary);color:#fff!important}\n"] }]
|
|
11034
11108
|
}], ctorParameters: function () { return [{ type: i1$1.Router }, { type: LocaleService }, { type: BaseUserService }, { type: NavigatorService }, { type: SupportService }, { type: BaseVisibilityService }]; } });
|
|
11035
11109
|
|
|
11036
11110
|
class NgxSmarterplanCoreModule {
|
|
@@ -11136,7 +11210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
11136
11210
|
class BaseTagService {
|
|
11137
11211
|
constructor() { }
|
|
11138
11212
|
async getHtmlToInject(tagType, object) {
|
|
11139
|
-
throw new Error(`getHtmlToInject is not implemented in the base class.
|
|
11213
|
+
throw new Error(`getHtmlToInject is not implemented in the base class.
|
|
11140
11214
|
Please override this method in your extended class.`);
|
|
11141
11215
|
}
|
|
11142
11216
|
getUrlForSeeDetails(object, tagType) {
|
|
@@ -11161,27 +11235,27 @@ class BaseTagService {
|
|
|
11161
11235
|
}
|
|
11162
11236
|
}
|
|
11163
11237
|
async prepareEquipmentHtml(equip) {
|
|
11164
|
-
throw new Error(`prepareEquipmentHtml is not implemented in the base class.
|
|
11238
|
+
throw new Error(`prepareEquipmentHtml is not implemented in the base class.
|
|
11165
11239
|
Please override this method in your extended class.`);
|
|
11166
11240
|
}
|
|
11167
11241
|
async prepareTicketHtml(ticket) {
|
|
11168
|
-
throw new Error(`prepareTicketHtml is not implemented in the base class.
|
|
11242
|
+
throw new Error(`prepareTicketHtml is not implemented in the base class.
|
|
11169
11243
|
Please override this method in your extended class.`);
|
|
11170
11244
|
}
|
|
11171
11245
|
async prepareFeatureHtml(feature) {
|
|
11172
|
-
throw new Error(`prepareFeatureHtml is not implemented in the base class.
|
|
11246
|
+
throw new Error(`prepareFeatureHtml is not implemented in the base class.
|
|
11173
11247
|
Please override this method in your extended class.`);
|
|
11174
11248
|
}
|
|
11175
11249
|
async prepareMeasurementHtml(measure) {
|
|
11176
|
-
throw new Error(`prepareMeasurementHtml is not implemented in the base class.
|
|
11250
|
+
throw new Error(`prepareMeasurementHtml is not implemented in the base class.
|
|
11177
11251
|
Please override this method in your extended class.`);
|
|
11178
11252
|
}
|
|
11179
11253
|
async prepareDeskHtml(feature) {
|
|
11180
|
-
throw new Error(`prepareDeskHtml is not implemented in the base class.
|
|
11254
|
+
throw new Error(`prepareDeskHtml is not implemented in the base class.
|
|
11181
11255
|
Please override this method in your extended class.`);
|
|
11182
11256
|
}
|
|
11183
11257
|
async prepareIndicatorHtml(feature) {
|
|
11184
|
-
throw new Error(`prepareDeskHtml is not implemented in the base class.
|
|
11258
|
+
throw new Error(`prepareDeskHtml is not implemented in the base class.
|
|
11185
11259
|
Please override this method in your extended class.`);
|
|
11186
11260
|
}
|
|
11187
11261
|
async getSignedTagIconSource(tagIconSrc) {
|
|
@@ -11190,43 +11264,43 @@ class BaseTagService {
|
|
|
11190
11264
|
getIconTagImageForFeature(feature, poi) {
|
|
11191
11265
|
// const tagIcon = JSON.parse(poi.tagIcon);
|
|
11192
11266
|
// return tagIcon.src;
|
|
11193
|
-
throw new Error(`getIconTagImageForFeature is not implemented in the base class.
|
|
11267
|
+
throw new Error(`getIconTagImageForFeature is not implemented in the base class.
|
|
11194
11268
|
Please override this method in your extended class.`);
|
|
11195
11269
|
}
|
|
11196
11270
|
getScriptForTag(object, tagType) {
|
|
11197
|
-
throw new Error(`getScriptForTag is not implemented in the base class.
|
|
11271
|
+
throw new Error(`getScriptForTag is not implemented in the base class.
|
|
11198
11272
|
Please override this method in your extended class.`);
|
|
11199
11273
|
}
|
|
11200
11274
|
getAnnexeForCommentTypeInFeature(feature, commentType) {
|
|
11201
|
-
throw new Error(`getAnnexeForCommentTypeInFeature is not implemented in the base class.
|
|
11275
|
+
throw new Error(`getAnnexeForCommentTypeInFeature is not implemented in the base class.
|
|
11202
11276
|
Please override this method in your extended class.`);
|
|
11203
11277
|
}
|
|
11204
11278
|
getBillboardMediaToEmbed(object) {
|
|
11205
|
-
throw new Error(`getBillboardMediaToEmbed is not implemented in the base class.
|
|
11279
|
+
throw new Error(`getBillboardMediaToEmbed is not implemented in the base class.
|
|
11206
11280
|
Please override this method in your extended class.`);
|
|
11207
11281
|
}
|
|
11208
11282
|
onActionDetailClick(url) {
|
|
11209
|
-
throw new Error(`onActionDetailClick is not implemented in the base class.
|
|
11283
|
+
throw new Error(`onActionDetailClick is not implemented in the base class.
|
|
11210
11284
|
Please override this method in your extended class.`);
|
|
11211
11285
|
}
|
|
11212
11286
|
onActionAudioClick(audioCommentID) {
|
|
11213
|
-
throw new Error(`onActionDetailClick is not implemented in the base class.
|
|
11287
|
+
throw new Error(`onActionDetailClick is not implemented in the base class.
|
|
11214
11288
|
Please override this method in your extended class.`);
|
|
11215
11289
|
}
|
|
11216
11290
|
onActionVideoClick(url) {
|
|
11217
|
-
throw new Error(`onActionVideoClick is not implemented in the base class.
|
|
11291
|
+
throw new Error(`onActionVideoClick is not implemented in the base class.
|
|
11218
11292
|
Please override this method in your extended class.`);
|
|
11219
11293
|
}
|
|
11220
11294
|
onActionImageClick(imageCommentID) {
|
|
11221
|
-
throw new Error(`onActionImageClick is not implemented in the base class.
|
|
11295
|
+
throw new Error(`onActionImageClick is not implemented in the base class.
|
|
11222
11296
|
Please override this method in your extended class.`);
|
|
11223
11297
|
}
|
|
11224
11298
|
onActionDocClick(url) {
|
|
11225
|
-
throw new Error(`onActionDocClick is not implemented in the base class.
|
|
11299
|
+
throw new Error(`onActionDocClick is not implemented in the base class.
|
|
11226
11300
|
Please override this method in your extended class.`);
|
|
11227
11301
|
}
|
|
11228
11302
|
onActionYoutubeClick(url) {
|
|
11229
|
-
throw new Error(`onActionYoutubeClick is not implemented in the base class.
|
|
11303
|
+
throw new Error(`onActionYoutubeClick is not implemented in the base class.
|
|
11230
11304
|
Please override this method in your extended class.`);
|
|
11231
11305
|
}
|
|
11232
11306
|
}
|
|
@@ -11304,7 +11378,7 @@ class MatterportImportService {
|
|
|
11304
11378
|
this.importingImages = new Subject();
|
|
11305
11379
|
this.sweepProcessedCount = new Subject();
|
|
11306
11380
|
this.totalSweepsCount = new Subject();
|
|
11307
|
-
this.MAX_SCANS_RELOAD =
|
|
11381
|
+
this.MAX_SCANS_RELOAD = 5;
|
|
11308
11382
|
}
|
|
11309
11383
|
get spaceID() {
|
|
11310
11384
|
return this._spaceID;
|
|
@@ -11337,46 +11411,49 @@ class MatterportImportService {
|
|
|
11337
11411
|
const element = document.querySelector('#viewer-frame');
|
|
11338
11412
|
element.append(iframe);
|
|
11339
11413
|
this.currentFrame = iframe;
|
|
11340
|
-
|
|
11341
|
-
|
|
11342
|
-
|
|
11343
|
-
|
|
11344
|
-
|
|
11345
|
-
|
|
11346
|
-
|
|
11347
|
-
|
|
11348
|
-
|
|
11349
|
-
|
|
11350
|
-
|
|
11351
|
-
|
|
11352
|
-
|
|
11353
|
-
|
|
11354
|
-
|
|
11355
|
-
|
|
11356
|
-
|
|
11357
|
-
|
|
11358
|
-
|
|
11359
|
-
|
|
11414
|
+
return new Promise((res, rej) => {
|
|
11415
|
+
iframe.addEventListener('load', async () => {
|
|
11416
|
+
try {
|
|
11417
|
+
this.sdk = await window.MP_SDK.connect(iframe, 'qn9wsasuy5h2fzrbrn1nzr0id', '3.11');
|
|
11418
|
+
// Subscribe to Floor data
|
|
11419
|
+
this.sdk.Floor.data.subscribe({
|
|
11420
|
+
onCollectionUpdated: function upd(collection) {
|
|
11421
|
+
// console.log("Floors", collection);
|
|
11422
|
+
this.floors = collection;
|
|
11423
|
+
}.bind(this),
|
|
11424
|
+
});
|
|
11425
|
+
// Subscribe to current Floor
|
|
11426
|
+
this.sdk.Floor.current.subscribe(function upd(currentFloor) {
|
|
11427
|
+
this.currentFloor = currentFloor;
|
|
11428
|
+
}.bind(this));
|
|
11429
|
+
// Subscribe to Sweep data
|
|
11430
|
+
this.sdk.Sweep.data.subscribe({
|
|
11431
|
+
onCollectionUpdated: function upd(collection) {
|
|
11432
|
+
console.log('the entire up-to-date collection', collection);
|
|
11433
|
+
this.sweeps = collection;
|
|
11434
|
+
}.bind(this),
|
|
11435
|
+
});
|
|
11436
|
+
// remove labels
|
|
11437
|
+
await this.sdk.Settings.update('labels', false);
|
|
11438
|
+
let timeoutExpired = false;
|
|
11439
|
+
// start timeout
|
|
11440
|
+
setTimeout(() => (timeoutExpired = true), 7000);
|
|
11441
|
+
await waitUntil(() => (this.sweeps !== undefined && this.floors !== undefined) ||
|
|
11442
|
+
timeoutExpired === true);
|
|
11443
|
+
if (timeoutExpired) {
|
|
11444
|
+
// we are likely in matterport error case (that we cannot catch!)
|
|
11445
|
+
console.log('timeout intitialising Matterport');
|
|
11446
|
+
return rej(new Error('error init Matterport'));
|
|
11447
|
+
}
|
|
11448
|
+
console.log('init done');
|
|
11449
|
+
return res(true);
|
|
11450
|
+
}
|
|
11451
|
+
catch (e) {
|
|
11452
|
+
console.error(e);
|
|
11453
|
+
rej(new Error('error init Matterport'));
|
|
11454
|
+
}
|
|
11360
11455
|
});
|
|
11361
|
-
|
|
11362
|
-
await this.sdk.Settings.update('labels', false);
|
|
11363
|
-
let timeoutExpired = false;
|
|
11364
|
-
// start timeout
|
|
11365
|
-
setTimeout(() => (timeoutExpired = true), 7000);
|
|
11366
|
-
await waitUntil(() => (this.sweeps !== undefined && this.floors !== undefined) ||
|
|
11367
|
-
timeoutExpired === true);
|
|
11368
|
-
if (timeoutExpired) {
|
|
11369
|
-
// we are likely in matterport error case (that we cannot catch!)
|
|
11370
|
-
console.log('timeout intitialising Matterport');
|
|
11371
|
-
throw new Error('error init Matterport');
|
|
11372
|
-
}
|
|
11373
|
-
console.log('init done');
|
|
11374
|
-
return true;
|
|
11375
|
-
}
|
|
11376
|
-
catch (e) {
|
|
11377
|
-
console.error(e);
|
|
11378
|
-
throw new Error('error init Matterport');
|
|
11379
|
-
}
|
|
11456
|
+
});
|
|
11380
11457
|
}
|
|
11381
11458
|
async importData(spaceID, surface, reloading = false, node = null) {
|
|
11382
11459
|
if (!this.sweeps) {
|
|
@@ -11485,6 +11562,11 @@ class MatterportImportService {
|
|
|
11485
11562
|
}
|
|
11486
11563
|
for (let index = indexScan; index < maxScan; index += 1) {
|
|
11487
11564
|
if (!this.stop) {
|
|
11565
|
+
await new Promise((res) => {
|
|
11566
|
+
setTimeout(() => {
|
|
11567
|
+
res(null);
|
|
11568
|
+
}, 1000);
|
|
11569
|
+
});
|
|
11488
11570
|
await this.sdk.Sweep.moveTo(scans[index].uuid);
|
|
11489
11571
|
await this.sdk.Camera.setRotation({
|
|
11490
11572
|
x: 0,
|