@colijnit/homedecorator 255.1.4 → 255.1.5
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/app/core/enum/message-type.enum.d.ts +3 -1
- package/app/core/interface/message-with-payload.interface.d.ts +6 -0
- package/app/core/service/homedecorator-app-event.service.d.ts +1 -0
- package/app/core/service/homedecorator-connector-adapter.service.d.ts +2 -0
- package/app/core/service/homedecorator-connector.service.d.ts +5 -4
- package/app/core/service/presets.service.d.ts +3 -1
- package/app/homedecorator.component.d.ts +3 -1
- package/app/plugins/core3d/service/floor.service.d.ts +3 -1
- package/app/plugins/core3d/service/post-processing.service.d.ts +16 -4
- package/app/plugins/core3d/service/ssr.service.d.ts +0 -1
- package/app/plugins/model-uploader/model-previewer/model-preview.component.d.ts +10 -2
- package/app/plugins/model-uploader/model-previewer/model-preview.component.scss +180 -15
- package/app/plugins/model-uploader/model-uploader.module.d.ts +5 -1
- package/app/plugins/render/render-dialog/render-dialog.component.d.ts +4 -1
- package/app/plugins/room-planner/components/floorplanner/floorplanner.component.d.ts +3 -1
- package/app/plugins/room-planner/components/floorplanner/service/room.service.d.ts +1 -0
- package/app/plugins/room-planner/components/texture-editor/texture-editor.component.d.ts +4 -1
- package/app/plugins/threedselector/threedselector/service/build-furniture.service.d.ts +0 -3
- package/app/plugins/toolbar/draw-dialog/draw-dialog.component.d.ts +2 -0
- package/app/plugins/toolbar/draw-dialog/draw-dialog.component.scss +1 -1
- package/app/plugins/toolbar/toolbar/toolbar.component.d.ts +2 -0
- package/assets/icons/dash-button.svg +7 -0
- package/assets/icons/pen-ruler.svg +1 -0
- package/assets/icons/retry-button.svg +7 -0
- package/bundles/colijnit-homedecorator.umd.js +514 -423
- package/bundles/colijnit-homedecorator.umd.js.map +1 -1
- package/esm2015/app/app.version.js +3 -3
- package/esm2015/app/core/enum/message-type.enum.js +3 -1
- package/esm2015/app/core/interface/message-with-payload.interface.js +1 -1
- package/esm2015/app/core/service/3dm-api.js +4 -4
- package/esm2015/app/core/service/homedecorator-app-event.service.js +2 -1
- package/esm2015/app/core/service/homedecorator-connector-adapter.service.js +25 -2
- package/esm2015/app/core/service/homedecorator-connector.service.js +25 -22
- package/esm2015/app/core/service/presets.service.js +13 -5
- package/esm2015/app/core/utils/material.utils.js +3 -3
- package/esm2015/app/homedecorator.component.js +25 -19
- package/esm2015/app/plugins/core3d/core3d/components/scenecontrol/scene-control.component.js +2 -2
- package/esm2015/app/plugins/core3d/items/custom-cylinder-floor-item.js +2 -2
- package/esm2015/app/plugins/core3d/items/custom-cylinder-wall-item.js +2 -2
- package/esm2015/app/plugins/core3d/items/custom-shape-floor-item.js +2 -2
- package/esm2015/app/plugins/core3d/items/custom-shape-wall-item.js +2 -2
- package/esm2015/app/plugins/core3d/service/ar.service.js +2 -1
- package/esm2015/app/plugins/core3d/service/floor-tile-intersection.service.js +2 -2
- package/esm2015/app/plugins/core3d/service/floor.service.js +9 -4
- package/esm2015/app/plugins/core3d/service/post-processing.service.js +96 -35
- package/esm2015/app/plugins/core3d/service/scene.service.js +17 -11
- package/esm2015/app/plugins/core3d/service/ssr.service.js +1 -52
- package/esm2015/app/plugins/lite-selector/lite-selector/lite-selector.component.js +2 -2
- package/esm2015/app/plugins/model-uploader/model-previewer/model-preview.component.js +264 -168
- package/esm2015/app/plugins/model-uploader/model-uploader.module.js +22 -3
- package/esm2015/app/plugins/render/render-dialog/render-dialog.component.js +19 -14
- package/esm2015/app/plugins/room-planner/components/custom-cylinder-creator/custom-cylinder-creator.component.js +4 -2
- package/esm2015/app/plugins/room-planner/components/custome-shape-creator/custom-shape-creator.component.js +2 -2
- package/esm2015/app/plugins/room-planner/components/floorplanner/floorplanner.component.js +24 -12
- package/esm2015/app/plugins/room-planner/components/floorplanner/service/room.service.js +5 -2
- package/esm2015/app/plugins/room-planner/components/texture-editor/texture-editor.component.js +31 -15
- package/esm2015/app/plugins/threedselector/threedselector/service/build-furniture.service.js +4 -15
- package/esm2015/app/plugins/toolbar/draw-dialog/draw-dialog.component.js +26 -20
- package/esm2015/app/plugins/toolbar/save-dialog/save-dialog.component.js +2 -2
- package/esm2015/app/plugins/toolbar/toolbar/toolbar.component.js +15 -8
- package/esm2015/app/shared/model-dialog/model-dialog-furniture-list.component.js +3 -3
- package/fesm2015/colijnit-homedecorator.js +682 -483
- package/fesm2015/colijnit-homedecorator.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@colijnit/configuratorapi/build/enum/node-type.enum'), require('@colijnit/configuratorapi/build/model/configurator-statistics-environment'), require('@colijnit/ioneconnector/build/model/options'), require('@colijnit/ioneconnector/build/model/data-service-response-data'), require('@colijnit/configuratorapi/build/model/frozen-article'), require('@colijnit/configuratorapi/build/model/selection'), require('@colijnit/configuratorapi/build/model/answer-price'), require('@colijnit/configuratorapi/build/model/article'), require('@colijnit/configuratorapi/build/model/deco-node'), require('@colijnit/configuratorapi/build/model/skip-button-info'), require('@colijnit/configuratorapi'), require('@colijnit/mainapi'), require('@colijnit/articleapi/build/articles'), require('@colijnit/configuratorapi/build/model/article-text.bo'), require('@colijnit/ioneconnector/build/service/business-object-factory'), require('@colijnit/ioneconnector/build/utils/image-utils'), require('@colijnit/articleapi/build/model/external-catalog-startup-info'), require('@colijnit/articleapi/build/model/catalog-definition.bo'), require('@colijnit/articleapi/build/model/external-source.bo'), require('@colijnit/articleapi/build/model/article-full-object'), require('@colijnit/configuratorapi/build/model/article-category'), require('@colijnit/articleapi/build/model/article-flat.bo'), require('@colijnit/mainapi/build/enum/internal-param.enum'), require('@colijnit/ioneconnector/build/utils/string-utils'), require('@colijnit/configuratorapi/build/utils/image-utils'), require('@angular/common/http'), require('axios'), require('textdiff-patch'), require('three'), require('@tweenjs/tween.js'), require('polygon-tools'), require('three-gpu-pathtracer'), require('three-mesh-bvh/src/workers/ParallelMeshBVHWorker.js'), require('three/examples/jsm/geometries/TextGeometry'), require('three/examples/jsm/loaders/FontLoader'), require('three/examples/jsm/webxr/XRControllerModelFactory'), require('@colijnit/configuratorapi/build/enum/hdeco-positioning.enum'), require('three/examples/jsm/postprocessing/OutlinePass'), require('three/examples/jsm/postprocessing/EffectComposer'), require('three/examples/jsm/postprocessing/RenderPass'), require('three/examples/jsm/postprocessing/ShaderPass'), require('three/examples/jsm/shaders/FXAAShader'), require('three/examples/jsm/postprocessing/OutputPass'), require('
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@colijnit/homedecorator', ['exports', '@angular/core', 'rxjs', '@colijnit/configuratorapi/build/enum/node-type.enum', '@colijnit/configuratorapi/build/model/configurator-statistics-environment', '@colijnit/ioneconnector/build/model/options', '@colijnit/ioneconnector/build/model/data-service-response-data', '@colijnit/configuratorapi/build/model/frozen-article', '@colijnit/configuratorapi/build/model/selection', '@colijnit/configuratorapi/build/model/answer-price', '@colijnit/configuratorapi/build/model/article', '@colijnit/configuratorapi/build/model/deco-node', '@colijnit/configuratorapi/build/model/skip-button-info', '@colijnit/configuratorapi', '@colijnit/mainapi', '@colijnit/articleapi/build/articles', '@colijnit/configuratorapi/build/model/article-text.bo', '@colijnit/ioneconnector/build/service/business-object-factory', '@colijnit/ioneconnector/build/utils/image-utils', '@colijnit/articleapi/build/model/external-catalog-startup-info', '@colijnit/articleapi/build/model/catalog-definition.bo', '@colijnit/articleapi/build/model/external-source.bo', '@colijnit/articleapi/build/model/article-full-object', '@colijnit/configuratorapi/build/model/article-category', '@colijnit/articleapi/build/model/article-flat.bo', '@colijnit/mainapi/build/enum/internal-param.enum', '@colijnit/ioneconnector/build/utils/string-utils', '@colijnit/configuratorapi/build/utils/image-utils', '@angular/common/http', 'axios', 'textdiff-patch', 'three', '@tweenjs/tween.js', 'polygon-tools', 'three-gpu-pathtracer', 'three-mesh-bvh/src/workers/ParallelMeshBVHWorker.js', 'three/examples/jsm/geometries/TextGeometry', 'three/examples/jsm/loaders/FontLoader', 'three/examples/jsm/webxr/XRControllerModelFactory', '@colijnit/configuratorapi/build/enum/hdeco-positioning.enum', 'three/examples/jsm/postprocessing/OutlinePass', 'three/examples/jsm/postprocessing/EffectComposer', 'three/examples/jsm/postprocessing/RenderPass', 'three/examples/jsm/postprocessing/ShaderPass', 'three/examples/jsm/shaders/FXAAShader', 'three/examples/jsm/postprocessing/OutputPass', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.homedecorator = {}), global.ng.core, global.rxjs, global.nodeType_enum, global.configuratorStatisticsEnvironment, global.options, global.dataServiceResponseData, global.frozenArticle, global.selection, global.answerPrice, global.article, global.decoNode, global.skipButtonInfo, global.configuratorapi, global.mainapi, global.articles, global.articleText_bo, global.businessObjectFactory, global.imageUtils, global.externalCatalogStartupInfo, global.catalogDefinition_bo, global.externalSource_bo, global.articleFullObject, global.articleCategory, global.articleFlat_bo, global.internalParam_enum, global.stringUtils, global.imageUtils$1, global.ng.common.http, global.axios, global.applyPatch, global.THREE, global.TWEEN, global.PolygonTools, global.threeGpuPathtracer, global.ParallelMeshBVHWorker_js, global.TextGeometry, global.FontLoader, global.XRControllerModelFactory, global.hdecoPositioning_enum, global.OutlinePass, global.EffectComposer, global.RenderPass, global.ShaderPass, global.FXAAShader, global.OutputPass, global.
|
|
5
|
-
})(this, (function (exports, i0, rxjs, nodeType_enum, configuratorStatisticsEnvironment, options, dataServiceResponseData, frozenArticle, selection, answerPrice, article, decoNode, skipButtonInfo, configuratorapi, mainapi, articles, articleText_bo, businessObjectFactory, imageUtils, externalCatalogStartupInfo, catalogDefinition_bo, externalSource_bo, articleFullObject, articleCategory, articleFlat_bo, internalParam_enum, stringUtils, imageUtils$1, i2, axios, applyPatch, THREE, TWEEN, PolygonTools, threeGpuPathtracer, ParallelMeshBVHWorker_js, TextGeometry, FontLoader, XRControllerModelFactory, hdecoPositioning_enum, OutlinePass, EffectComposer, RenderPass, ShaderPass, FXAAShader, OutputPass,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@colijnit/configuratorapi/build/enum/node-type.enum'), require('@colijnit/configuratorapi/build/model/configurator-statistics-environment'), require('@colijnit/ioneconnector/build/model/options'), require('@colijnit/ioneconnector/build/model/data-service-response-data'), require('@colijnit/configuratorapi/build/model/frozen-article'), require('@colijnit/configuratorapi/build/model/selection'), require('@colijnit/configuratorapi/build/model/answer-price'), require('@colijnit/configuratorapi/build/model/article'), require('@colijnit/configuratorapi/build/model/deco-node'), require('@colijnit/configuratorapi/build/model/skip-button-info'), require('@colijnit/configuratorapi'), require('@colijnit/mainapi'), require('@colijnit/articleapi/build/articles'), require('@colijnit/configuratorapi/build/model/article-text.bo'), require('@colijnit/ioneconnector/build/service/business-object-factory'), require('@colijnit/ioneconnector/build/utils/image-utils'), require('@colijnit/articleapi/build/model/external-catalog-startup-info'), require('@colijnit/articleapi/build/model/catalog-definition.bo'), require('@colijnit/articleapi/build/model/external-source.bo'), require('@colijnit/articleapi/build/model/article-full-object'), require('@colijnit/configuratorapi/build/model/article-category'), require('@colijnit/articleapi/build/model/article-flat.bo'), require('@colijnit/mainapi/build/model/co-domain-value.bo'), require('@colijnit/mainapi/build/enum/domain-name.enum'), require('@colijnit/mainapi/build/enum/internal-param.enum'), require('@colijnit/ioneconnector/build/utils/string-utils'), require('@colijnit/configuratorapi/build/utils/image-utils'), require('@angular/common/http'), require('axios'), require('textdiff-patch'), require('three'), require('@tweenjs/tween.js'), require('polygon-tools'), require('three-gpu-pathtracer'), require('three-mesh-bvh/src/workers/ParallelMeshBVHWorker.js'), require('three/examples/jsm/geometries/TextGeometry'), require('three/examples/jsm/loaders/FontLoader'), require('three/examples/jsm/webxr/XRControllerModelFactory'), require('@colijnit/configuratorapi/build/enum/hdeco-positioning.enum'), require('three/examples/jsm/postprocessing/OutlinePass'), require('three/examples/jsm/postprocessing/EffectComposer'), require('three/examples/jsm/postprocessing/RenderPass'), require('three/examples/jsm/postprocessing/ShaderPass'), require('three/examples/jsm/shaders/FXAAShader'), require('three/examples/jsm/postprocessing/OutputPass'), require('three/examples/jsm/libs/lil-gui.module.min'), require('n8ao'), require('three/examples/jsm/shaders/BlendShader'), require('@angular/platform-browser'), require('ngx-device-detector'), require('@angular/material/icon'), require('@angular/animations'), require('@angular/common'), require('@angular/material/dialog'), require('three/examples/jsm/loaders/RGBELoader'), require('@colijnit/configuratorapi/build/enum/hdeco-placement.enum'), require('rxjs/internal/observable/fromEvent'), require('rxjs/operators'), require('rxjs/internal/observable/of'), require('three/examples/jsm/utils/BufferGeometryUtils.js'), require('three/examples/jsm/loaders/OBJLoader'), require('three/examples/jsm/loaders/MTLLoader'), require('three/examples/jsm/loaders/GLTFLoader'), require('three/examples/jsm/exporters/GLTFExporter'), require('three/examples/jsm/loaders/DRACOLoader'), require('three/examples/jsm/loaders/KTX2Loader'), require('three/examples/jsm/exporters/USDZExporter'), require('@angular/material/list'), require('@angular/material/core'), require('@colijnit/configuratorapi/build/enum/deco-node-type.enum'), require('jszip'), require('@colijnit/configuratorapi/build/enum/deco-node-kind.enum'), require('@angular/material/checkbox'), require('@angular/material/button'), require('@angular/forms'), require('three/examples/jsm/utils/BufferGeometryUtils'), require('three-mesh-bvh'), require('three/src/constants'), require('@colijnit/corecomponents'), require('@angular/material/form-field'), require('@angular/material/select'), require('@angular/material/tooltip'), require('@colijnit/corecomponents_v12'), require('@angular/material/slider'), require('@angular/material/input'), require('dat.gui'), require('@migenius/realityserver-client'), require('@angular/material/grid-list'), require('@angular/material/progress-spinner'), require('@angular/flex-layout/flex'), require('@angular/material/progress-bar'), require('three/examples/jsm/geometries/DecalGeometry'), require('fabric'), require('@angular/material/button-toggle'), require('@angular/material/snack-bar'), require('@angular/material/slide-toggle'), require('@angular/material/divider'), require('browser-image-compression'), require('@angular/material/tabs'), require('@angular/flex-layout/extended'), require('ngx-color/chrome'), require('@angular/router'), require('delaunator'), require('three/examples/jsm/helpers/VertexNormalsHelper'), require('@angular/cdk/portal'), require('file-saver'), require('ng2-pdf-viewer'), require('html2canvas'), require('three/examples/jsm/controls/OrbitControls'), require('three/examples/jsm/loaders/FBXLoader'), require('three/examples/jsm/loaders/TDSLoader'), require('three/examples/jsm/loaders/STLLoader'), require('@angular/material/toolbar'), require('@angular/material/menu'), require('@angular/material/card'), require('@angular/material/sidenav'), require('@angular/material/badge'), require('@colijnit/articleapi/build/model/external-catalog-startup-info-request'), require('@colijnit/catalog'), require('ngx-lightbox'), require('@angular/flex-layout'), require('@angular/cdk/drag-drop'), require('jspdf'), require('jspdf-autotable'), require('@angular/material/radio')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@colijnit/homedecorator', ['exports', '@angular/core', 'rxjs', '@colijnit/configuratorapi/build/enum/node-type.enum', '@colijnit/configuratorapi/build/model/configurator-statistics-environment', '@colijnit/ioneconnector/build/model/options', '@colijnit/ioneconnector/build/model/data-service-response-data', '@colijnit/configuratorapi/build/model/frozen-article', '@colijnit/configuratorapi/build/model/selection', '@colijnit/configuratorapi/build/model/answer-price', '@colijnit/configuratorapi/build/model/article', '@colijnit/configuratorapi/build/model/deco-node', '@colijnit/configuratorapi/build/model/skip-button-info', '@colijnit/configuratorapi', '@colijnit/mainapi', '@colijnit/articleapi/build/articles', '@colijnit/configuratorapi/build/model/article-text.bo', '@colijnit/ioneconnector/build/service/business-object-factory', '@colijnit/ioneconnector/build/utils/image-utils', '@colijnit/articleapi/build/model/external-catalog-startup-info', '@colijnit/articleapi/build/model/catalog-definition.bo', '@colijnit/articleapi/build/model/external-source.bo', '@colijnit/articleapi/build/model/article-full-object', '@colijnit/configuratorapi/build/model/article-category', '@colijnit/articleapi/build/model/article-flat.bo', '@colijnit/mainapi/build/model/co-domain-value.bo', '@colijnit/mainapi/build/enum/domain-name.enum', '@colijnit/mainapi/build/enum/internal-param.enum', '@colijnit/ioneconnector/build/utils/string-utils', '@colijnit/configuratorapi/build/utils/image-utils', '@angular/common/http', 'axios', 'textdiff-patch', 'three', '@tweenjs/tween.js', 'polygon-tools', 'three-gpu-pathtracer', 'three-mesh-bvh/src/workers/ParallelMeshBVHWorker.js', 'three/examples/jsm/geometries/TextGeometry', 'three/examples/jsm/loaders/FontLoader', 'three/examples/jsm/webxr/XRControllerModelFactory', '@colijnit/configuratorapi/build/enum/hdeco-positioning.enum', 'three/examples/jsm/postprocessing/OutlinePass', 'three/examples/jsm/postprocessing/EffectComposer', 'three/examples/jsm/postprocessing/RenderPass', 'three/examples/jsm/postprocessing/ShaderPass', 'three/examples/jsm/shaders/FXAAShader', 'three/examples/jsm/postprocessing/OutputPass', 'three/examples/jsm/libs/lil-gui.module.min', 'n8ao', 'three/examples/jsm/shaders/BlendShader', '@angular/platform-browser', 'ngx-device-detector', '@angular/material/icon', '@angular/animations', '@angular/common', '@angular/material/dialog', 'three/examples/jsm/loaders/RGBELoader', '@colijnit/configuratorapi/build/enum/hdeco-placement.enum', 'rxjs/internal/observable/fromEvent', 'rxjs/operators', 'rxjs/internal/observable/of', 'three/examples/jsm/utils/BufferGeometryUtils.js', 'three/examples/jsm/loaders/OBJLoader', 'three/examples/jsm/loaders/MTLLoader', 'three/examples/jsm/loaders/GLTFLoader', 'three/examples/jsm/exporters/GLTFExporter', 'three/examples/jsm/loaders/DRACOLoader', 'three/examples/jsm/loaders/KTX2Loader', 'three/examples/jsm/exporters/USDZExporter', '@angular/material/list', '@angular/material/core', '@colijnit/configuratorapi/build/enum/deco-node-type.enum', 'jszip', '@colijnit/configuratorapi/build/enum/deco-node-kind.enum', '@angular/material/checkbox', '@angular/material/button', '@angular/forms', 'three/examples/jsm/utils/BufferGeometryUtils', 'three-mesh-bvh', 'three/src/constants', '@colijnit/corecomponents', '@angular/material/form-field', '@angular/material/select', '@angular/material/tooltip', '@colijnit/corecomponents_v12', '@angular/material/slider', '@angular/material/input', 'dat.gui', '@migenius/realityserver-client', '@angular/material/grid-list', '@angular/material/progress-spinner', '@angular/flex-layout/flex', '@angular/material/progress-bar', 'three/examples/jsm/geometries/DecalGeometry', 'fabric', '@angular/material/button-toggle', '@angular/material/snack-bar', '@angular/material/slide-toggle', '@angular/material/divider', 'browser-image-compression', '@angular/material/tabs', '@angular/flex-layout/extended', 'ngx-color/chrome', '@angular/router', 'delaunator', 'three/examples/jsm/helpers/VertexNormalsHelper', '@angular/cdk/portal', 'file-saver', 'ng2-pdf-viewer', 'html2canvas', 'three/examples/jsm/controls/OrbitControls', 'three/examples/jsm/loaders/FBXLoader', 'three/examples/jsm/loaders/TDSLoader', 'three/examples/jsm/loaders/STLLoader', '@angular/material/toolbar', '@angular/material/menu', '@angular/material/card', '@angular/material/sidenav', '@angular/material/badge', '@colijnit/articleapi/build/model/external-catalog-startup-info-request', '@colijnit/catalog', 'ngx-lightbox', '@angular/flex-layout', '@angular/cdk/drag-drop', 'jspdf', 'jspdf-autotable', '@angular/material/radio'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.homedecorator = {}), global.ng.core, global.rxjs, global.nodeType_enum, global.configuratorStatisticsEnvironment, global.options, global.dataServiceResponseData, global.frozenArticle, global.selection, global.answerPrice, global.article, global.decoNode, global.skipButtonInfo, global.configuratorapi, global.mainapi, global.articles, global.articleText_bo, global.businessObjectFactory, global.imageUtils, global.externalCatalogStartupInfo, global.catalogDefinition_bo, global.externalSource_bo, global.articleFullObject, global.articleCategory, global.articleFlat_bo, global.coDomainValue_bo, global.domainName_enum, global.internalParam_enum, global.stringUtils, global.imageUtils$1, global.ng.common.http, global.axios, global.applyPatch, global.THREE, global.TWEEN, global.PolygonTools, global.threeGpuPathtracer, global.ParallelMeshBVHWorker_js, global.TextGeometry, global.FontLoader, global.XRControllerModelFactory, global.hdecoPositioning_enum, global.OutlinePass, global.EffectComposer, global.RenderPass, global.ShaderPass, global.FXAAShader, global.OutputPass, global.GUI, global.n8ao, global.BlendShader, global.ng.platformBrowser, global.i2$1, global.ng.material.icon, global.ng.animations, global.ng.common, global.ng.material.dialog, global.RGBELoader, global.hdecoPlacement_enum, global.rxjs["internal/observable/fromEvent"], global.rxjs.operators, global.rxjs["internal/observable/of"], global.BufferGeometryUtils, global.OBJLoader, global.MTLLoader, global.GLTFLoader, global.GLTFExporter, global.DRACOLoader, global.KTX2Loader, global.USDZExporter, global.ng.material.list, global.ng.material.core, global.decoNodeType_enum, global.JSZip, global.decoNodeKind_enum, global.ng.material.checkbox, global.ng.material.button, global.ng.forms, global.BufferGeometryUtils$1, global.threeMeshBvh, global.constants, global.i4, global.ng.material.formField, global.ng.material.select, global.ng.material.tooltip, global.i4$1, global.ng.material.slider, global.ng.material.input, global.dat, global.realityserverClient, global.ng.material.gridList, global.ng.material.progressSpinner, global.ng.flexLayout.flex, global.ng.material.progressBar, global.DecalGeometry, global.fabric, global.ng.material.buttonToggle, global.ng.material.snackBar, global.ng.material.slideToggle, global.ng.material.divider, global.imageCompression, global.ng.material.tabs, global.ng.flexLayout.extended, global.i1$3, global.ng.router, global.Delaunator, global.VertexNormalsHelper, global.ng.cdk.portal, global.fileSaver, global.i6$2, global.html2canvas, global.OrbitControls, global.FBXLoader, global.TDSLoader, global.STLLoader, global.ng.material.toolbar, global.ng.material.menu, global.ng.material.card, global.ng.material.sidenav, global.ng.material.badge, global.externalCatalogStartupInfoRequest, global.i7$2, global.i1$5, global.ng.flexLayout, global.ng.cdk.dragDrop, global.jspdf, global.autoTable, global.ng.material.radio));
|
|
5
|
+
})(this, (function (exports, i0, rxjs, nodeType_enum, configuratorStatisticsEnvironment, options, dataServiceResponseData, frozenArticle, selection, answerPrice, article, decoNode, skipButtonInfo, configuratorapi, mainapi, articles, articleText_bo, businessObjectFactory, imageUtils, externalCatalogStartupInfo, catalogDefinition_bo, externalSource_bo, articleFullObject, articleCategory, articleFlat_bo, coDomainValue_bo, domainName_enum, internalParam_enum, stringUtils, imageUtils$1, i2, axios, applyPatch, THREE, TWEEN, PolygonTools, threeGpuPathtracer, ParallelMeshBVHWorker_js, TextGeometry, FontLoader, XRControllerModelFactory, hdecoPositioning_enum, OutlinePass, EffectComposer, RenderPass, ShaderPass, FXAAShader, OutputPass, GUI, n8ao, BlendShader, i1, i2$1, i5$1, animations, i5, i1$1, RGBELoader, hdecoPlacement_enum, fromEvent, operators, of, BufferGeometryUtils, OBJLoader, MTLLoader, GLTFLoader, GLTFExporter, DRACOLoader, KTX2Loader, USDZExporter, i2$2, i3, decoNodeType_enum, JSZip, decoNodeKind_enum, i1$2, i3$1, i8, BufferGeometryUtils$1, threeMeshBvh, constants, i4, i7, i12, i10, i4$1, i7$1, i19, dat, realityserverClient, i3$2, i16, i3$3, i2$3, DecalGeometry, fabric, i8$1, i2$4, i10$1, i6, imageCompression, i1$4, i6$1, i1$3, i5$2, Delaunator, VertexNormalsHelper, i28, fileSaver, i6$2, html2canvas, OrbitControls, FBXLoader, TDSLoader, STLLoader, i19$1, i22, i23, i26, i30, externalCatalogStartupInfoRequest, i7$2, i1$5, flexLayout, i10$2, jspdf, autoTable, radio) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -31,7 +31,6 @@
|
|
|
31
31
|
var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
|
|
32
32
|
var TWEEN__namespace = /*#__PURE__*/_interopNamespace(TWEEN);
|
|
33
33
|
var PolygonTools__namespace = /*#__PURE__*/_interopNamespace(PolygonTools);
|
|
34
|
-
var md5__namespace = /*#__PURE__*/_interopNamespace(md5);
|
|
35
34
|
var GUI__default = /*#__PURE__*/_interopDefaultLegacy(GUI);
|
|
36
35
|
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
|
37
36
|
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
|
|
@@ -48,17 +47,17 @@
|
|
|
48
47
|
var BufferGeometryUtils__namespace$1 = /*#__PURE__*/_interopNamespace(BufferGeometryUtils$1);
|
|
49
48
|
var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
|
|
50
49
|
var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
|
|
51
|
-
var
|
|
50
|
+
var i12__namespace = /*#__PURE__*/_interopNamespace(i12);
|
|
52
51
|
var i10__namespace = /*#__PURE__*/_interopNamespace(i10);
|
|
53
52
|
var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
|
|
54
53
|
var i7__namespace$1 = /*#__PURE__*/_interopNamespace(i7$1);
|
|
55
54
|
var i19__namespace = /*#__PURE__*/_interopNamespace(i19);
|
|
56
55
|
var dat__namespace = /*#__PURE__*/_interopNamespace(dat);
|
|
57
56
|
var i3__namespace$2 = /*#__PURE__*/_interopNamespace(i3$2);
|
|
58
|
-
var
|
|
57
|
+
var i16__namespace = /*#__PURE__*/_interopNamespace(i16);
|
|
59
58
|
var i3__namespace$3 = /*#__PURE__*/_interopNamespace(i3$3);
|
|
60
59
|
var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
|
|
61
|
-
var
|
|
60
|
+
var i8__namespace$1 = /*#__PURE__*/_interopNamespace(i8$1);
|
|
62
61
|
var i2__namespace$4 = /*#__PURE__*/_interopNamespace(i2$4);
|
|
63
62
|
var i10__namespace$1 = /*#__PURE__*/_interopNamespace(i10$1);
|
|
64
63
|
var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
|
|
@@ -71,13 +70,12 @@
|
|
|
71
70
|
var i28__namespace = /*#__PURE__*/_interopNamespace(i28);
|
|
72
71
|
var i6__namespace$2 = /*#__PURE__*/_interopNamespace(i6$2);
|
|
73
72
|
var html2canvas__default = /*#__PURE__*/_interopDefaultLegacy(html2canvas);
|
|
74
|
-
var i9__namespace$1 = /*#__PURE__*/_interopNamespace(i9$1);
|
|
75
73
|
var i19__namespace$1 = /*#__PURE__*/_interopNamespace(i19$1);
|
|
76
74
|
var i22__namespace = /*#__PURE__*/_interopNamespace(i22);
|
|
77
75
|
var i23__namespace = /*#__PURE__*/_interopNamespace(i23);
|
|
78
76
|
var i26__namespace = /*#__PURE__*/_interopNamespace(i26);
|
|
79
77
|
var i30__namespace = /*#__PURE__*/_interopNamespace(i30);
|
|
80
|
-
var i7__namespace$
|
|
78
|
+
var i7__namespace$2 = /*#__PURE__*/_interopNamespace(i7$2);
|
|
81
79
|
var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$5);
|
|
82
80
|
var i10__namespace$2 = /*#__PURE__*/_interopNamespace(i10$2);
|
|
83
81
|
var autoTable__default = /*#__PURE__*/_interopDefaultLegacy(autoTable);
|
|
@@ -211,7 +209,7 @@
|
|
|
211
209
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
212
210
|
return Reflect.metadata(metadataKey, metadataValue);
|
|
213
211
|
}
|
|
214
|
-
function __awaiter$
|
|
212
|
+
function __awaiter$1n(thisArg, _arguments, P, generator) {
|
|
215
213
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
216
214
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
217
215
|
function fulfilled(value) { try {
|
|
@@ -536,7 +534,7 @@
|
|
|
536
534
|
__decorate: __decorate,
|
|
537
535
|
__param: __param,
|
|
538
536
|
__metadata: __metadata,
|
|
539
|
-
__awaiter: __awaiter$
|
|
537
|
+
__awaiter: __awaiter$1n,
|
|
540
538
|
__generator: __generator,
|
|
541
539
|
__createBinding: __createBinding,
|
|
542
540
|
__exportStar: __exportStar,
|
|
@@ -628,6 +626,8 @@
|
|
|
628
626
|
MessageType["StartCroppingPDF"] = "StartCroppingPDF";
|
|
629
627
|
MessageType["BlenderRenderFileReady"] = "BlenderRenderFileReady";
|
|
630
628
|
MessageType["UserModelUploaded"] = "UserModelUploaded";
|
|
629
|
+
MessageType["ChangeTexture"] = "ChangeTexture";
|
|
630
|
+
MessageType["RenderError"] = "RenderError";
|
|
631
631
|
})(MessageType || (MessageType = {}));
|
|
632
632
|
|
|
633
633
|
var Preset = /** @class */ (function () {
|
|
@@ -734,6 +734,7 @@
|
|
|
734
734
|
this.objectMovingOrRotating = new rxjs.Subject();
|
|
735
735
|
this.addToCart = new rxjs.Subject();
|
|
736
736
|
this.addExternalSourceToCart = new rxjs.Subject();
|
|
737
|
+
this.dirty = new rxjs.Subject();
|
|
737
738
|
}
|
|
738
739
|
return HomedecoratorAppEventService;
|
|
739
740
|
}());
|
|
@@ -746,7 +747,7 @@
|
|
|
746
747
|
}]
|
|
747
748
|
}] });
|
|
748
749
|
|
|
749
|
-
var __awaiter$
|
|
750
|
+
var __awaiter$1m = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
750
751
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
751
752
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
752
753
|
function fulfilled(value) { try {
|
|
@@ -822,7 +823,7 @@
|
|
|
822
823
|
configurable: true
|
|
823
824
|
});
|
|
824
825
|
HomedecoratorConnectorAdapterService.prototype.initConnector = function (options, externalSource, forceReload, externalSourceId) {
|
|
825
|
-
return __awaiter$
|
|
826
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
826
827
|
var renewConnector, _a, externalSourceData, externalMainApi, externalVersion, catalogSettings, externalConfigurator, loginResponse, externalArticleApi, externalConnector;
|
|
827
828
|
var _this = this;
|
|
828
829
|
return __generator(this, function (_b) {
|
|
@@ -851,6 +852,8 @@
|
|
|
851
852
|
case 3:
|
|
852
853
|
if (!!this.connectors.hasOwnProperty(externalSource)) return [3 /*break*/, 8];
|
|
853
854
|
if (!(externalSourceId !== null)) return [3 /*break*/, 5];
|
|
855
|
+
// make sure to set this.externalSource = undefined to get the data of the HOST and not the previous external source
|
|
856
|
+
this.externalSource = undefined;
|
|
854
857
|
return [4 /*yield*/, this.getExternalSource(externalSourceId)];
|
|
855
858
|
case 4:
|
|
856
859
|
externalSourceData = _b.sent();
|
|
@@ -899,7 +902,7 @@
|
|
|
899
902
|
});
|
|
900
903
|
};
|
|
901
904
|
HomedecoratorConnectorAdapterService.prototype.logOut = function () {
|
|
902
|
-
return __awaiter$
|
|
905
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
903
906
|
return __generator(this, function (_a) {
|
|
904
907
|
switch (_a.label) {
|
|
905
908
|
case 0: return [4 /*yield*/, this.connector.logOut()];
|
|
@@ -934,7 +937,7 @@
|
|
|
934
937
|
return 2;
|
|
935
938
|
};
|
|
936
939
|
HomedecoratorConnectorAdapterService.prototype.getWebViewStartupInfo = function (request) {
|
|
937
|
-
return __awaiter$
|
|
940
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
938
941
|
var response;
|
|
939
942
|
return __generator(this, function (_a) {
|
|
940
943
|
switch (_a.label) {
|
|
@@ -953,7 +956,7 @@
|
|
|
953
956
|
});
|
|
954
957
|
};
|
|
955
958
|
HomedecoratorConnectorAdapterService.prototype.getGoodIdFromArticleNr = function (sku) {
|
|
956
|
-
return __awaiter$
|
|
959
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
957
960
|
var response;
|
|
958
961
|
return __generator(this, function (_a) {
|
|
959
962
|
switch (_a.label) {
|
|
@@ -981,7 +984,7 @@
|
|
|
981
984
|
return this.connector.copyInstance(instanceId, shouldSaveCurrentInstanceId);
|
|
982
985
|
};
|
|
983
986
|
HomedecoratorConnectorAdapterService.prototype.saveConfigurations = function () {
|
|
984
|
-
return __awaiter$
|
|
987
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
985
988
|
var _a, _b, _i, key, connector;
|
|
986
989
|
return __generator(this, function (_c) {
|
|
987
990
|
switch (_c.label) {
|
|
@@ -1016,7 +1019,7 @@
|
|
|
1016
1019
|
};
|
|
1017
1020
|
// @returns The initial article
|
|
1018
1021
|
HomedecoratorConnectorAdapterService.prototype.getArticle = function (sku, branch) {
|
|
1019
|
-
return __awaiter$
|
|
1022
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1020
1023
|
var goodId;
|
|
1021
1024
|
return __generator(this, function (_a) {
|
|
1022
1025
|
switch (_a.label) {
|
|
@@ -1032,7 +1035,7 @@
|
|
|
1032
1035
|
});
|
|
1033
1036
|
};
|
|
1034
1037
|
HomedecoratorConnectorAdapterService.prototype.getArticleQuickSel = function (goodId, branch) {
|
|
1035
|
-
return __awaiter$
|
|
1038
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1036
1039
|
var response;
|
|
1037
1040
|
return __generator(this, function (_a) {
|
|
1038
1041
|
switch (_a.label) {
|
|
@@ -1057,7 +1060,7 @@
|
|
|
1057
1060
|
return this.connector.getQuestionAndAnswers();
|
|
1058
1061
|
};
|
|
1059
1062
|
HomedecoratorConnectorAdapterService.prototype.getSelectionsAsync = function () {
|
|
1060
|
-
return __awaiter$
|
|
1063
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1061
1064
|
var response;
|
|
1062
1065
|
return __generator(this, function (_a) {
|
|
1063
1066
|
switch (_a.label) {
|
|
@@ -1073,7 +1076,7 @@
|
|
|
1073
1076
|
});
|
|
1074
1077
|
};
|
|
1075
1078
|
HomedecoratorConnectorAdapterService.prototype.getDecosAsync = function () {
|
|
1076
|
-
return __awaiter$
|
|
1079
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1077
1080
|
var response;
|
|
1078
1081
|
return __generator(this, function (_a) {
|
|
1079
1082
|
switch (_a.label) {
|
|
@@ -1089,7 +1092,7 @@
|
|
|
1089
1092
|
});
|
|
1090
1093
|
};
|
|
1091
1094
|
HomedecoratorConnectorAdapterService.prototype.getAnswerPrices = function () {
|
|
1092
|
-
return __awaiter$
|
|
1095
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1093
1096
|
var response;
|
|
1094
1097
|
return __generator(this, function (_a) {
|
|
1095
1098
|
switch (_a.label) {
|
|
@@ -1107,13 +1110,14 @@
|
|
|
1107
1110
|
HomedecoratorConnectorAdapterService.prototype.getJsonConfiguredArticles = function (goodId, goodType, quantity, externalSource, showLoader, instanceId, configuratorStatistics) {
|
|
1108
1111
|
if (externalSource === void 0) { externalSource = false; }
|
|
1109
1112
|
if (showLoader === void 0) { showLoader = true; }
|
|
1110
|
-
|
|
1113
|
+
// @ts-ignore
|
|
1114
|
+
return this.articleApi.getJsonArticleFlatTree(goodId, goodType, quantity, externalSource, showLoader, instanceId.toString(), configuratorStatistics);
|
|
1111
1115
|
};
|
|
1112
1116
|
// public getJsonMatchTableArticles(): Promise<void> {
|
|
1113
1117
|
// return this.connector.getJsonMatchTableArticles();
|
|
1114
1118
|
// }
|
|
1115
1119
|
HomedecoratorConnectorAdapterService.prototype.setInstanceToConfigure = function (id) {
|
|
1116
|
-
return __awaiter$
|
|
1120
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1117
1121
|
return __generator(this, function (_a) {
|
|
1118
1122
|
if (id !== null) {
|
|
1119
1123
|
return [2 /*return*/, this.connector.setInstanceToConfigure(id)];
|
|
@@ -1126,7 +1130,7 @@
|
|
|
1126
1130
|
});
|
|
1127
1131
|
};
|
|
1128
1132
|
HomedecoratorConnectorAdapterService.prototype.selectAnswer = function (answer, userInput) {
|
|
1129
|
-
return __awaiter$
|
|
1133
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1130
1134
|
return __generator(this, function (_a) {
|
|
1131
1135
|
return [2 /*return*/, this.connector.selectAnswer(answer, false, userInput)];
|
|
1132
1136
|
});
|
|
@@ -1148,7 +1152,7 @@
|
|
|
1148
1152
|
HomedecoratorConnectorAdapterService.prototype.getImageForAnswerOrSelection = function (answerOrSelection, publication, thumbNail, showLoader) {
|
|
1149
1153
|
if (thumbNail === void 0) { thumbNail = true; }
|
|
1150
1154
|
if (showLoader === void 0) { showLoader = true; }
|
|
1151
|
-
return __awaiter$
|
|
1155
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1152
1156
|
var response;
|
|
1153
1157
|
return __generator(this, function (_a) {
|
|
1154
1158
|
switch (_a.label) {
|
|
@@ -1172,7 +1176,7 @@
|
|
|
1172
1176
|
});
|
|
1173
1177
|
};
|
|
1174
1178
|
HomedecoratorConnectorAdapterService.prototype.getSkipButtonImageAndText = function (goodId) {
|
|
1175
|
-
return __awaiter$
|
|
1179
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1176
1180
|
var response;
|
|
1177
1181
|
return __generator(this, function (_a) {
|
|
1178
1182
|
switch (_a.label) {
|
|
@@ -1192,7 +1196,7 @@
|
|
|
1192
1196
|
return this.getImageForAnswerOrSelection(answerOrSelection, 32);
|
|
1193
1197
|
};
|
|
1194
1198
|
HomedecoratorConnectorAdapterService.prototype.getAnswerInfo = function (answer) {
|
|
1195
|
-
return __awaiter$
|
|
1199
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1196
1200
|
var response;
|
|
1197
1201
|
return __generator(this, function (_a) {
|
|
1198
1202
|
switch (_a.label) {
|
|
@@ -1208,7 +1212,7 @@
|
|
|
1208
1212
|
});
|
|
1209
1213
|
};
|
|
1210
1214
|
HomedecoratorConnectorAdapterService.prototype.getInternalParameter = function (parameter) {
|
|
1211
|
-
return __awaiter$
|
|
1215
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1212
1216
|
var response;
|
|
1213
1217
|
return __generator(this, function (_a) {
|
|
1214
1218
|
switch (_a.label) {
|
|
@@ -1227,7 +1231,7 @@
|
|
|
1227
1231
|
});
|
|
1228
1232
|
};
|
|
1229
1233
|
HomedecoratorConnectorAdapterService.prototype.store3DModelCDN = function (filename, fileContents) {
|
|
1230
|
-
return __awaiter$
|
|
1234
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1231
1235
|
var response;
|
|
1232
1236
|
return __generator(this, function (_a) {
|
|
1233
1237
|
switch (_a.label) {
|
|
@@ -1237,6 +1241,9 @@
|
|
|
1237
1241
|
if (response && response.validationResult && response.validationResult.success) {
|
|
1238
1242
|
return [2 /*return*/, response.resultObject];
|
|
1239
1243
|
}
|
|
1244
|
+
else if (!response.validationResult.success) {
|
|
1245
|
+
return [2 /*return*/, Promise.reject(response.validationResult.messages[0].message)];
|
|
1246
|
+
}
|
|
1240
1247
|
else {
|
|
1241
1248
|
return [2 /*return*/, ''];
|
|
1242
1249
|
}
|
|
@@ -1246,13 +1253,17 @@
|
|
|
1246
1253
|
});
|
|
1247
1254
|
};
|
|
1248
1255
|
HomedecoratorConnectorAdapterService.prototype.getCatalogDefinitionsList = function () {
|
|
1249
|
-
return __awaiter$
|
|
1256
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1250
1257
|
var response;
|
|
1251
1258
|
return __generator(this, function (_a) {
|
|
1252
1259
|
switch (_a.label) {
|
|
1253
|
-
case 0:
|
|
1254
|
-
|
|
1255
|
-
|
|
1260
|
+
case 0:
|
|
1261
|
+
if (!this.articleApi) {
|
|
1262
|
+
return [2 /*return*/];
|
|
1263
|
+
}
|
|
1264
|
+
return [4 /*yield*/, this.articleApi.getCatalogDefinitions().catch(function (e) {
|
|
1265
|
+
return new dataServiceResponseData.DataServiceResponseData();
|
|
1266
|
+
})];
|
|
1256
1267
|
case 1:
|
|
1257
1268
|
response = _a.sent();
|
|
1258
1269
|
if (response && response.validationResult && response.validationResult.success) {
|
|
@@ -1267,7 +1278,7 @@
|
|
|
1267
1278
|
});
|
|
1268
1279
|
};
|
|
1269
1280
|
HomedecoratorConnectorAdapterService.prototype.getExternalSource = function (externalSourceId) {
|
|
1270
|
-
return __awaiter$
|
|
1281
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1271
1282
|
var response;
|
|
1272
1283
|
return __generator(this, function (_a) {
|
|
1273
1284
|
switch (_a.label) {
|
|
@@ -1295,7 +1306,7 @@
|
|
|
1295
1306
|
});
|
|
1296
1307
|
};
|
|
1297
1308
|
HomedecoratorConnectorAdapterService.prototype.getArticleFullObject = function (goodId) {
|
|
1298
|
-
return __awaiter$
|
|
1309
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1299
1310
|
var result;
|
|
1300
1311
|
return __generator(this, function (_a) {
|
|
1301
1312
|
switch (_a.label) {
|
|
@@ -1314,7 +1325,7 @@
|
|
|
1314
1325
|
});
|
|
1315
1326
|
};
|
|
1316
1327
|
HomedecoratorConnectorAdapterService.prototype.getArticleCategories = function (publicationCode) {
|
|
1317
|
-
return __awaiter$
|
|
1328
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1318
1329
|
var result;
|
|
1319
1330
|
return __generator(this, function (_a) {
|
|
1320
1331
|
switch (_a.label) {
|
|
@@ -1334,7 +1345,7 @@
|
|
|
1334
1345
|
};
|
|
1335
1346
|
//
|
|
1336
1347
|
HomedecoratorConnectorAdapterService.prototype.getArticleFlat = function (sku) {
|
|
1337
|
-
return __awaiter$
|
|
1348
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1338
1349
|
var result;
|
|
1339
1350
|
return __generator(this, function (_a) {
|
|
1340
1351
|
switch (_a.label) {
|
|
@@ -1352,6 +1363,25 @@
|
|
|
1352
1363
|
});
|
|
1353
1364
|
});
|
|
1354
1365
|
};
|
|
1366
|
+
HomedecoratorConnectorAdapterService.prototype.getModelPlacementOptions = function () {
|
|
1367
|
+
return __awaiter$1m(this, void 0, void 0, function () {
|
|
1368
|
+
var result;
|
|
1369
|
+
return __generator(this, function (_a) {
|
|
1370
|
+
switch (_a.label) {
|
|
1371
|
+
case 0: return [4 /*yield*/, this.mainApi.getDomainCollection('NL', domainName_enum.DomainName.Dom3DPlacement)];
|
|
1372
|
+
case 1:
|
|
1373
|
+
result = _a.sent();
|
|
1374
|
+
if (result.validationResult && result.validationResult.success) {
|
|
1375
|
+
return [2 /*return*/, this._boFactory.makeBOArrayFromRawBackendDataArray(coDomainValue_bo.CoDomainValue, result.resultObjects)];
|
|
1376
|
+
}
|
|
1377
|
+
else {
|
|
1378
|
+
console.error(result.validationMessagesAsString);
|
|
1379
|
+
}
|
|
1380
|
+
return [2 /*return*/];
|
|
1381
|
+
}
|
|
1382
|
+
});
|
|
1383
|
+
});
|
|
1384
|
+
};
|
|
1355
1385
|
// public async addToCart(goodId: number, goodType: GoodType, instanceId: number, sessionId: string, quantity: number = 1): Promise<void> {
|
|
1356
1386
|
// const json: string = await this._getJSONFromArticleObject(goodId, goodType, instanceId, sessionId, quantity);
|
|
1357
1387
|
// this._appEventService.addToCart.next({article: json, quantity: 1});
|
|
@@ -1384,7 +1414,7 @@
|
|
|
1384
1414
|
}]
|
|
1385
1415
|
}], ctorParameters: function () { return [{ type: HomedecoratorAppEventService }]; } });
|
|
1386
1416
|
|
|
1387
|
-
var __awaiter$
|
|
1417
|
+
var __awaiter$1l = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
1388
1418
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
1389
1419
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
1390
1420
|
function fulfilled(value) { try {
|
|
@@ -1408,10 +1438,10 @@
|
|
|
1408
1438
|
}
|
|
1409
1439
|
JsonUtilsService.prototype.readJsonFile = function (filePath, includeBaseUrl) {
|
|
1410
1440
|
if (includeBaseUrl === void 0) { includeBaseUrl = true; }
|
|
1411
|
-
return __awaiter$
|
|
1441
|
+
return __awaiter$1l(this, void 0, void 0, function () {
|
|
1412
1442
|
var _this = this;
|
|
1413
1443
|
return __generator(this, function (_a) {
|
|
1414
|
-
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter$
|
|
1444
|
+
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter$1l(_this, void 0, void 0, function () {
|
|
1415
1445
|
var response, empty_1, e_1;
|
|
1416
1446
|
return __generator(this, function (_a) {
|
|
1417
1447
|
switch (_a.label) {
|
|
@@ -1595,7 +1625,7 @@
|
|
|
1595
1625
|
return value === null || value === undefined || value === '';
|
|
1596
1626
|
}
|
|
1597
1627
|
|
|
1598
|
-
var __awaiter$
|
|
1628
|
+
var __awaiter$1k = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
1599
1629
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
1600
1630
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
1601
1631
|
function fulfilled(value) { try {
|
|
@@ -1641,7 +1671,7 @@
|
|
|
1641
1671
|
return text ? text : key;
|
|
1642
1672
|
};
|
|
1643
1673
|
HomedecoratorDictionaryService.prototype.setDictionary = function (path, client, languageCode, additionalTranslationFile) {
|
|
1644
|
-
return __awaiter$
|
|
1674
|
+
return __awaiter$1k(this, void 0, void 0, function () {
|
|
1645
1675
|
var dictionaryData, fileName, fileName;
|
|
1646
1676
|
return __generator(this, function (_a) {
|
|
1647
1677
|
switch (_a.label) {
|
|
@@ -1677,7 +1707,7 @@
|
|
|
1677
1707
|
});
|
|
1678
1708
|
};
|
|
1679
1709
|
HomedecoratorDictionaryService.prototype._getDictionaryData = function (path) {
|
|
1680
|
-
return __awaiter$
|
|
1710
|
+
return __awaiter$1k(this, void 0, void 0, function () {
|
|
1681
1711
|
return __generator(this, function (_a) {
|
|
1682
1712
|
switch (_a.label) {
|
|
1683
1713
|
case 0: return [4 /*yield*/, this._jsonUtilsService.readJsonFile(path, false)
|
|
@@ -1700,7 +1730,7 @@
|
|
|
1700
1730
|
}]
|
|
1701
1731
|
}], ctorParameters: function () { return [{ type: JsonUtilsService }]; } });
|
|
1702
1732
|
|
|
1703
|
-
var __awaiter$
|
|
1733
|
+
var __awaiter$1j = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
1704
1734
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
1705
1735
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
1706
1736
|
function fulfilled(value) { try {
|
|
@@ -1786,7 +1816,7 @@
|
|
|
1786
1816
|
}
|
|
1787
1817
|
};
|
|
1788
1818
|
HomedecoratorSettingsService.prototype.initializeSettings = function () {
|
|
1789
|
-
return __awaiter$
|
|
1819
|
+
return __awaiter$1j(this, void 0, void 0, function () {
|
|
1790
1820
|
var jsonSettings;
|
|
1791
1821
|
return __generator(this, function (_a) {
|
|
1792
1822
|
switch (_a.label) {
|
|
@@ -1810,7 +1840,7 @@
|
|
|
1810
1840
|
});
|
|
1811
1841
|
};
|
|
1812
1842
|
HomedecoratorSettingsService.prototype.initialize = function (settings) {
|
|
1813
|
-
return __awaiter$
|
|
1843
|
+
return __awaiter$1j(this, void 0, void 0, function () {
|
|
1814
1844
|
var path, e_1, path, uploadSetting;
|
|
1815
1845
|
return __generator(this, function (_a) {
|
|
1816
1846
|
switch (_a.label) {
|
|
@@ -1865,7 +1895,7 @@
|
|
|
1865
1895
|
});
|
|
1866
1896
|
};
|
|
1867
1897
|
HomedecoratorSettingsService.prototype._checkUrlParameters = function () {
|
|
1868
|
-
return __awaiter$
|
|
1898
|
+
return __awaiter$1j(this, void 0, void 0, function () {
|
|
1869
1899
|
var urlParams, client, jsonSettings;
|
|
1870
1900
|
return __generator(this, function (_a) {
|
|
1871
1901
|
switch (_a.label) {
|
|
@@ -1896,7 +1926,7 @@
|
|
|
1896
1926
|
}]
|
|
1897
1927
|
}], ctorParameters: function () { return [{ type: JsonUtilsService }, { type: HomedecoratorDictionaryService }, { type: HomedecoratorConnectorAdapterService }]; } });
|
|
1898
1928
|
|
|
1899
|
-
var __awaiter$
|
|
1929
|
+
var __awaiter$1i = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
1900
1930
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
1901
1931
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
1902
1932
|
function fulfilled(value) { try {
|
|
@@ -1940,7 +1970,7 @@
|
|
|
1940
1970
|
configurable: true
|
|
1941
1971
|
});
|
|
1942
1972
|
SkipButtonInfoService.prototype.getSkipButtonImageAndText = function (goodId) {
|
|
1943
|
-
return __awaiter$
|
|
1973
|
+
return __awaiter$1i(this, void 0, void 0, function () {
|
|
1944
1974
|
var skipButtonInfo, image;
|
|
1945
1975
|
return __generator(this, function (_a) {
|
|
1946
1976
|
switch (_a.label) {
|
|
@@ -2031,7 +2061,7 @@
|
|
|
2031
2061
|
}]
|
|
2032
2062
|
}] });
|
|
2033
2063
|
|
|
2034
|
-
var __awaiter$
|
|
2064
|
+
var __awaiter$1h = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2035
2065
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
2036
2066
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
2037
2067
|
function fulfilled(value) { try {
|
|
@@ -2138,7 +2168,7 @@
|
|
|
2138
2168
|
configurable: true
|
|
2139
2169
|
});
|
|
2140
2170
|
PermanentStoreService.prototype.updateRegisterForm = function (furniture) {
|
|
2141
|
-
return __awaiter$
|
|
2171
|
+
return __awaiter$1h(this, void 0, void 0, function () {
|
|
2142
2172
|
var collectiveSheetKey, collectiveSheetScriptURL, customSheetScriptURL, sheetKey, postUrl, hostUrl, payLoad;
|
|
2143
2173
|
var _this = this;
|
|
2144
2174
|
return __generator(this, function (_a) {
|
|
@@ -2270,7 +2300,7 @@
|
|
|
2270
2300
|
}]
|
|
2271
2301
|
}], ctorParameters: function () { return [{ type: HomedecoratorSettingsService }, { type: PermanentStoreService }]; } });
|
|
2272
2302
|
|
|
2273
|
-
var __awaiter$
|
|
2303
|
+
var __awaiter$1g = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2274
2304
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
2275
2305
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
2276
2306
|
function fulfilled(value) { try {
|
|
@@ -2303,7 +2333,6 @@
|
|
|
2303
2333
|
this.articleReceived = new rxjs.Subject();
|
|
2304
2334
|
this.selectionsReceived = new rxjs.Subject();
|
|
2305
2335
|
// public readonly decoNodesReceived: Subject<DecoNode[]> = new Subject<DecoNode[]>();
|
|
2306
|
-
this.answerCountReceived = new rxjs.Subject();
|
|
2307
2336
|
this.answersReceived = new rxjs.Subject();
|
|
2308
2337
|
this.extraAnswerDataLoaded = new rxjs.Subject();
|
|
2309
2338
|
// public readonly moodImagesReceived: Subject<{ answerOrSelection: Answer | Selection, imageData: string }> =
|
|
@@ -2311,12 +2340,11 @@
|
|
|
2311
2340
|
this.selectionsAndDecosLinked = new rxjs.Subject();
|
|
2312
2341
|
this.connectionReset = new rxjs.Subject();
|
|
2313
2342
|
this.selectionsToDisplay = [];
|
|
2343
|
+
this.activeAnswers = [];
|
|
2314
2344
|
this._hideLoaderTimerTimeout = 500;
|
|
2315
2345
|
this._selections = [];
|
|
2316
2346
|
this._currentSelections = [];
|
|
2317
2347
|
this._decoNodes = [];
|
|
2318
|
-
// private _activeQuestion: Question;
|
|
2319
|
-
this._activeAnswers = [];
|
|
2320
2348
|
this._articlePrice = 0;
|
|
2321
2349
|
this._connectorOptions = new options.Options();
|
|
2322
2350
|
this._subs = [];
|
|
@@ -2362,16 +2390,6 @@
|
|
|
2362
2390
|
enumerable: false,
|
|
2363
2391
|
configurable: true
|
|
2364
2392
|
});
|
|
2365
|
-
Object.defineProperty(HomedecoratorConnectorService.prototype, "activeAnswers", {
|
|
2366
|
-
// public get activeQuestion(): Question {
|
|
2367
|
-
// return this._activeQuestion;
|
|
2368
|
-
// }
|
|
2369
|
-
get: function () {
|
|
2370
|
-
return this._activeAnswers;
|
|
2371
|
-
},
|
|
2372
|
-
enumerable: false,
|
|
2373
|
-
configurable: true
|
|
2374
|
-
});
|
|
2375
2393
|
Object.defineProperty(HomedecoratorConnectorService.prototype, "activeSelection", {
|
|
2376
2394
|
get: function () {
|
|
2377
2395
|
return this._activeSelection;
|
|
@@ -2410,14 +2428,14 @@
|
|
|
2410
2428
|
this._imageCache.clear();
|
|
2411
2429
|
};
|
|
2412
2430
|
HomedecoratorConnectorService.prototype.getWebViewStartupInfo = function (request) {
|
|
2413
|
-
return __awaiter$
|
|
2431
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2414
2432
|
return __generator(this, function (_a) {
|
|
2415
2433
|
return [2 /*return*/, this._connector.getWebViewStartupInfo(request)];
|
|
2416
2434
|
});
|
|
2417
2435
|
});
|
|
2418
2436
|
};
|
|
2419
2437
|
HomedecoratorConnectorService.prototype.initNodeInstance = function (sku) {
|
|
2420
|
-
return __awaiter$
|
|
2438
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2421
2439
|
var goodId, response;
|
|
2422
2440
|
return __generator(this, function (_a) {
|
|
2423
2441
|
switch (_a.label) {
|
|
@@ -2433,7 +2451,7 @@
|
|
|
2433
2451
|
});
|
|
2434
2452
|
};
|
|
2435
2453
|
HomedecoratorConnectorService.prototype.changeConnection = function (instanceId, oldConnection, newConnection) {
|
|
2436
|
-
return __awaiter$
|
|
2454
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2437
2455
|
var response;
|
|
2438
2456
|
return __generator(this, function (_a) {
|
|
2439
2457
|
switch (_a.label) {
|
|
@@ -2450,6 +2468,10 @@
|
|
|
2450
2468
|
this.selectionsToDisplay.length = 0;
|
|
2451
2469
|
this.decoNodes.length = 0;
|
|
2452
2470
|
};
|
|
2471
|
+
HomedecoratorConnectorService.prototype.emptyAnswersAndQuestion = function () {
|
|
2472
|
+
this.activeAnswers.length = 0;
|
|
2473
|
+
this.activeQuestion = undefined;
|
|
2474
|
+
};
|
|
2453
2475
|
/**
|
|
2454
2476
|
* Used for obsolete furniture
|
|
2455
2477
|
* @param selections
|
|
@@ -2468,7 +2490,7 @@
|
|
|
2468
2490
|
this._decoNodes = decoNodes;
|
|
2469
2491
|
};
|
|
2470
2492
|
HomedecoratorConnectorService.prototype.initConnection = function (forceReload) {
|
|
2471
|
-
return __awaiter$
|
|
2493
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2472
2494
|
var settings, e_1;
|
|
2473
2495
|
var _this = this;
|
|
2474
2496
|
return __generator(this, function (_a) {
|
|
@@ -2516,7 +2538,7 @@
|
|
|
2516
2538
|
// return this._connector.getJsonMatchTableArticles();
|
|
2517
2539
|
// }
|
|
2518
2540
|
HomedecoratorConnectorService.prototype.setInstance = function (id) {
|
|
2519
|
-
return __awaiter$
|
|
2541
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2520
2542
|
var response;
|
|
2521
2543
|
return __generator(this, function (_a) {
|
|
2522
2544
|
switch (_a.label) {
|
|
@@ -2538,7 +2560,7 @@
|
|
|
2538
2560
|
return this._copyInstance(instanceId, false, result);
|
|
2539
2561
|
};
|
|
2540
2562
|
HomedecoratorConnectorService.prototype.saveConfigurations = function () {
|
|
2541
|
-
return __awaiter$
|
|
2563
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2542
2564
|
var success;
|
|
2543
2565
|
return __generator(this, function (_a) {
|
|
2544
2566
|
switch (_a.label) {
|
|
@@ -2554,13 +2576,13 @@
|
|
|
2554
2576
|
});
|
|
2555
2577
|
};
|
|
2556
2578
|
HomedecoratorConnectorService.prototype.getArticle = function (sku, branch) {
|
|
2557
|
-
return __awaiter$
|
|
2579
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2558
2580
|
var article;
|
|
2559
2581
|
return __generator(this, function (_a) {
|
|
2560
2582
|
switch (_a.label) {
|
|
2561
2583
|
case 0:
|
|
2562
|
-
this.
|
|
2563
|
-
this.
|
|
2584
|
+
this.emptySelections();
|
|
2585
|
+
this.emptyAnswersAndQuestion();
|
|
2564
2586
|
return [4 /*yield*/, this._connector.getArticle(sku, branch)
|
|
2565
2587
|
.catch(function (e) {
|
|
2566
2588
|
return Promise.reject(e);
|
|
@@ -2586,7 +2608,7 @@
|
|
|
2586
2608
|
// this._connector.getQuestionAndAnswers();
|
|
2587
2609
|
// }
|
|
2588
2610
|
HomedecoratorConnectorService.prototype.getQuestionAndAnswersAsync = function () {
|
|
2589
|
-
return __awaiter$
|
|
2611
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2590
2612
|
var questionAndAnswers;
|
|
2591
2613
|
var _this = this;
|
|
2592
2614
|
return __generator(this, function (_a) {
|
|
@@ -2595,13 +2617,24 @@
|
|
|
2595
2617
|
case 1:
|
|
2596
2618
|
questionAndAnswers = _a.sent();
|
|
2597
2619
|
questionAndAnswers.answers = questionAndAnswers.answers.filter(function (a) { return _this._isAnswerPublished(a); });
|
|
2620
|
+
// if (questionAndAnswers.question && !questionAndAnswers.question.grouped) {
|
|
2621
|
+
this.handleAnswersReceived(questionAndAnswers.answers);
|
|
2622
|
+
// }
|
|
2623
|
+
this._appEventService.answerCountReceived.next(questionAndAnswers.answers.length);
|
|
2624
|
+
if (questionAndAnswers.answers.length === 0) {
|
|
2625
|
+
this.emptyAnswersAndQuestion();
|
|
2626
|
+
}
|
|
2627
|
+
else {
|
|
2628
|
+
this.activeQuestion = questionAndAnswers.question;
|
|
2629
|
+
this.activeAnswers = questionAndAnswers.answers;
|
|
2630
|
+
}
|
|
2598
2631
|
return [2 /*return*/, questionAndAnswers];
|
|
2599
2632
|
}
|
|
2600
2633
|
});
|
|
2601
2634
|
});
|
|
2602
2635
|
};
|
|
2603
2636
|
HomedecoratorConnectorService.prototype.getSelectionsAsync = function () {
|
|
2604
|
-
return __awaiter$
|
|
2637
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2605
2638
|
var selections;
|
|
2606
2639
|
return __generator(this, function (_a) {
|
|
2607
2640
|
switch (_a.label) {
|
|
@@ -2621,7 +2654,7 @@
|
|
|
2621
2654
|
});
|
|
2622
2655
|
};
|
|
2623
2656
|
HomedecoratorConnectorService.prototype.getDecosAsync = function () {
|
|
2624
|
-
return __awaiter$
|
|
2657
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2625
2658
|
var _a;
|
|
2626
2659
|
return __generator(this, function (_b) {
|
|
2627
2660
|
switch (_b.label) {
|
|
@@ -2657,7 +2690,7 @@
|
|
|
2657
2690
|
return this._connector.replaceSelection(selection);
|
|
2658
2691
|
};
|
|
2659
2692
|
HomedecoratorConnectorService.prototype.getAnswerInfo = function (answer) {
|
|
2660
|
-
return __awaiter$
|
|
2693
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2661
2694
|
var articleTexts;
|
|
2662
2695
|
return __generator(this, function (_a) {
|
|
2663
2696
|
switch (_a.label) {
|
|
@@ -2672,7 +2705,7 @@
|
|
|
2672
2705
|
};
|
|
2673
2706
|
HomedecoratorConnectorService.prototype.extendWithAnswerTextAndImage = function (answer, showLoader) {
|
|
2674
2707
|
if (showLoader === void 0) { showLoader = true; }
|
|
2675
|
-
return __awaiter$
|
|
2708
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2676
2709
|
var _this = this;
|
|
2677
2710
|
return __generator(this, function (_a) {
|
|
2678
2711
|
if (answer.nodeId) {
|
|
@@ -2698,7 +2731,7 @@
|
|
|
2698
2731
|
};
|
|
2699
2732
|
HomedecoratorConnectorService.prototype.extendWithSelectionImage = function (selection, showLoader) {
|
|
2700
2733
|
if (showLoader === void 0) { showLoader = true; }
|
|
2701
|
-
return __awaiter$
|
|
2734
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2702
2735
|
var _this = this;
|
|
2703
2736
|
return __generator(this, function (_a) {
|
|
2704
2737
|
if (selection.nodeId) {
|
|
@@ -2822,7 +2855,7 @@
|
|
|
2822
2855
|
});
|
|
2823
2856
|
};
|
|
2824
2857
|
HomedecoratorConnectorService.prototype.addToCart = function (goodId, goodType, quantity, instanceId, externalSource) {
|
|
2825
|
-
return __awaiter$
|
|
2858
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2826
2859
|
var json, statistics, frozenArticle$1;
|
|
2827
2860
|
return __generator(this, function (_a) {
|
|
2828
2861
|
switch (_a.label) {
|
|
@@ -2850,18 +2883,11 @@
|
|
|
2850
2883
|
});
|
|
2851
2884
|
};
|
|
2852
2885
|
HomedecoratorConnectorService.prototype.handleAnswersReceived = function (answers) {
|
|
2853
|
-
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
this.answersReceived.next(answers);
|
|
2859
|
-
if (this._activeAnswers) {
|
|
2860
|
-
this._loadPricesOfActiveAnswers();
|
|
2861
|
-
}
|
|
2862
|
-
return [2 /*return*/];
|
|
2863
|
-
});
|
|
2864
|
-
});
|
|
2886
|
+
this._preloadCachedImages(answers);
|
|
2887
|
+
this.answersReceived.next(answers);
|
|
2888
|
+
if (this.activeAnswers && this.activeAnswers.length > 0) {
|
|
2889
|
+
this._loadPricesOfActiveAnswers();
|
|
2890
|
+
}
|
|
2865
2891
|
};
|
|
2866
2892
|
HomedecoratorConnectorService.prototype._prepareSelectionsToDisplayImages = function () {
|
|
2867
2893
|
var _this = this;
|
|
@@ -2966,7 +2992,7 @@
|
|
|
2966
2992
|
};
|
|
2967
2993
|
// POSTCONDITION: current activeAnswers have price values.
|
|
2968
2994
|
HomedecoratorConnectorService.prototype._loadPricesOfActiveAnswers = function () {
|
|
2969
|
-
return __awaiter$
|
|
2995
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2970
2996
|
var answerPrices;
|
|
2971
2997
|
var _this = this;
|
|
2972
2998
|
return __generator(this, function (_a) {
|
|
@@ -2977,7 +3003,7 @@
|
|
|
2977
3003
|
if (answerPrices) {
|
|
2978
3004
|
// paste price data onto our current answer objects; AnswerPrice.selId corresponds to Answer.node
|
|
2979
3005
|
answerPrices.forEach(function (answerPrice) {
|
|
2980
|
-
var answerMatch = _this.
|
|
3006
|
+
var answerMatch = _this.activeAnswers.find(function (ans) { return ans.node === answerPrice.selId; });
|
|
2981
3007
|
if (answerMatch) {
|
|
2982
3008
|
answerMatch.price = // temp fix for price until backend is ready
|
|
2983
3009
|
answerMatch.nodeLevel === 0 && answerPrice.addRetailPrice && answerMatch.seqO === 1 ?
|
|
@@ -2993,7 +3019,7 @@
|
|
|
2993
3019
|
});
|
|
2994
3020
|
};
|
|
2995
3021
|
HomedecoratorConnectorService.prototype._copyInstance = function (originalInstanceId, shouldSaveCurrentInstanceId, result) {
|
|
2996
|
-
return __awaiter$
|
|
3022
|
+
return __awaiter$1g(this, void 0, void 0, function () {
|
|
2997
3023
|
var copyInstanceResponse, newInstanceId;
|
|
2998
3024
|
return __generator(this, function (_a) {
|
|
2999
3025
|
switch (_a.label) {
|
|
@@ -3038,7 +3064,7 @@
|
|
|
3038
3064
|
}]
|
|
3039
3065
|
}], ctorParameters: function () { return [{ type: HomedecoratorConnectorAdapterService }, { type: JsonUtilsService }, { type: HomedecoratorSettingsService }, { type: SkipButtonInfoService }, { type: MessageBusService }, { type: HomedecoratorAppEventService }, { type: GoogleTagManagerService }]; } });
|
|
3040
3066
|
|
|
3041
|
-
var __awaiter$
|
|
3067
|
+
var __awaiter$1f = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3042
3068
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3043
3069
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
3044
3070
|
function fulfilled(value) { try {
|
|
@@ -3095,7 +3121,7 @@
|
|
|
3095
3121
|
window.history.replaceState(data, title, url);
|
|
3096
3122
|
};
|
|
3097
3123
|
AppStateService.prototype.undo = function () {
|
|
3098
|
-
return __awaiter$
|
|
3124
|
+
return __awaiter$1f(this, void 0, void 0, function () {
|
|
3099
3125
|
return __generator(this, function (_a) {
|
|
3100
3126
|
switch (_a.label) {
|
|
3101
3127
|
case 0:
|
|
@@ -3109,7 +3135,7 @@
|
|
|
3109
3135
|
});
|
|
3110
3136
|
};
|
|
3111
3137
|
AppStateService.prototype.redo = function () {
|
|
3112
|
-
return __awaiter$
|
|
3138
|
+
return __awaiter$1f(this, void 0, void 0, function () {
|
|
3113
3139
|
return __generator(this, function (_a) {
|
|
3114
3140
|
switch (_a.label) {
|
|
3115
3141
|
case 0:
|
|
@@ -3387,7 +3413,7 @@
|
|
|
3387
3413
|
}]
|
|
3388
3414
|
}], ctorParameters: function () { return []; } });
|
|
3389
3415
|
|
|
3390
|
-
var __awaiter$
|
|
3416
|
+
var __awaiter$1e = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3391
3417
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3392
3418
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
3393
3419
|
function fulfilled(value) { try {
|
|
@@ -3432,7 +3458,7 @@
|
|
|
3432
3458
|
}
|
|
3433
3459
|
};
|
|
3434
3460
|
LocalStorageService.prototype.getRecoverySaveState = function () {
|
|
3435
|
-
return __awaiter$
|
|
3461
|
+
return __awaiter$1e(this, void 0, void 0, function () {
|
|
3436
3462
|
var indexedDBSave, localStorageSave;
|
|
3437
3463
|
return __generator(this, function (_a) {
|
|
3438
3464
|
switch (_a.label) {
|
|
@@ -3455,7 +3481,7 @@
|
|
|
3455
3481
|
});
|
|
3456
3482
|
};
|
|
3457
3483
|
LocalStorageService.prototype.getIndexedDBSaveState = function () {
|
|
3458
|
-
return __awaiter$
|
|
3484
|
+
return __awaiter$1e(this, void 0, void 0, function () {
|
|
3459
3485
|
var getMessage;
|
|
3460
3486
|
return __generator(this, function (_a) {
|
|
3461
3487
|
switch (_a.label) {
|
|
@@ -3468,7 +3494,7 @@
|
|
|
3468
3494
|
});
|
|
3469
3495
|
};
|
|
3470
3496
|
LocalStorageService.prototype.writeIndexedDBSaveState = function (saveState) {
|
|
3471
|
-
return __awaiter$
|
|
3497
|
+
return __awaiter$1e(this, void 0, void 0, function () {
|
|
3472
3498
|
var saveMessage;
|
|
3473
3499
|
return __generator(this, function (_a) {
|
|
3474
3500
|
switch (_a.label) {
|
|
@@ -3485,7 +3511,7 @@
|
|
|
3485
3511
|
});
|
|
3486
3512
|
};
|
|
3487
3513
|
LocalStorageService.prototype.checkForLocalSave = function () {
|
|
3488
|
-
return __awaiter$
|
|
3514
|
+
return __awaiter$1e(this, void 0, void 0, function () {
|
|
3489
3515
|
var indexedDBSave;
|
|
3490
3516
|
return __generator(this, function (_a) {
|
|
3491
3517
|
switch (_a.label) {
|
|
@@ -3517,7 +3543,7 @@
|
|
|
3517
3543
|
}]
|
|
3518
3544
|
}], ctorParameters: function () { return [{ type: WebWorkerService }]; } });
|
|
3519
3545
|
|
|
3520
|
-
var __awaiter$
|
|
3546
|
+
var __awaiter$1d = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3521
3547
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3522
3548
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
3523
3549
|
function fulfilled(value) { try {
|
|
@@ -3608,7 +3634,7 @@
|
|
|
3608
3634
|
}
|
|
3609
3635
|
};
|
|
3610
3636
|
FileUtils.SaveGLBFile = function (data, assetPath) {
|
|
3611
|
-
return __awaiter$
|
|
3637
|
+
return __awaiter$1d(this, void 0, void 0, function () {
|
|
3612
3638
|
return __generator(this, function (_a) {
|
|
3613
3639
|
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
3614
3640
|
var xhr = new XMLHttpRequest();
|
|
@@ -3767,7 +3793,7 @@
|
|
|
3767
3793
|
}());
|
|
3768
3794
|
FileUtils._cachedTextureUploads = new Map();
|
|
3769
3795
|
|
|
3770
|
-
var __awaiter$
|
|
3796
|
+
var __awaiter$1c = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3771
3797
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3772
3798
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
3773
3799
|
function fulfilled(value) { try {
|
|
@@ -3791,7 +3817,7 @@
|
|
|
3791
3817
|
this._settingsService = _settingsService;
|
|
3792
3818
|
}
|
|
3793
3819
|
FileService.prototype.getTotalDownloadSize = function (files) {
|
|
3794
|
-
return __awaiter$
|
|
3820
|
+
return __awaiter$1c(this, void 0, void 0, function () {
|
|
3795
3821
|
var url, data, response;
|
|
3796
3822
|
return __generator(this, function (_a) {
|
|
3797
3823
|
switch (_a.label) {
|
|
@@ -3827,7 +3853,7 @@
|
|
|
3827
3853
|
}]
|
|
3828
3854
|
}], ctorParameters: function () { return [{ type: HomedecoratorSettingsService }]; } });
|
|
3829
3855
|
|
|
3830
|
-
var __awaiter$
|
|
3856
|
+
var __awaiter$1b = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3831
3857
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3832
3858
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
3833
3859
|
function fulfilled(value) { try {
|
|
@@ -3864,7 +3890,7 @@
|
|
|
3864
3890
|
configurable: true
|
|
3865
3891
|
});
|
|
3866
3892
|
ProgressService.prototype.prepareDownloads = function (furniture) {
|
|
3867
|
-
return __awaiter$
|
|
3893
|
+
return __awaiter$1b(this, void 0, void 0, function () {
|
|
3868
3894
|
var files, i, model, realUrl, url, _a;
|
|
3869
3895
|
return __generator(this, function (_b) {
|
|
3870
3896
|
switch (_b.label) {
|
|
@@ -4785,7 +4811,7 @@
|
|
|
4785
4811
|
RelativePositionUtils.appOffsetTop = 0;
|
|
4786
4812
|
RelativePositionUtils.appOffsetLeft = 0;
|
|
4787
4813
|
|
|
4788
|
-
var __awaiter$
|
|
4814
|
+
var __awaiter$1a = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
4789
4815
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4790
4816
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4791
4817
|
function fulfilled(value) { try {
|
|
@@ -4994,7 +5020,7 @@
|
|
|
4994
5020
|
scope.pan(new THREE__namespace.Vector2(x, y));
|
|
4995
5021
|
};
|
|
4996
5022
|
this.animateCamera = function (type, change) {
|
|
4997
|
-
return __awaiter$
|
|
5023
|
+
return __awaiter$1a(this, void 0, void 0, function () {
|
|
4998
5024
|
var changing, tween;
|
|
4999
5025
|
var _this = this;
|
|
5000
5026
|
return __generator(this, function (_a) {
|
|
@@ -5010,7 +5036,7 @@
|
|
|
5010
5036
|
});
|
|
5011
5037
|
};
|
|
5012
5038
|
this.animateCameraMovement = function (endPosition, endTarget, endDuration) {
|
|
5013
|
-
return __awaiter$
|
|
5039
|
+
return __awaiter$1a(this, void 0, void 0, function () {
|
|
5014
5040
|
var duration, position, target, targetTween, positionTween, targetPromise, positionPromise;
|
|
5015
5041
|
var _this = this;
|
|
5016
5042
|
return __generator(this, function (_a) {
|
|
@@ -5086,7 +5112,7 @@
|
|
|
5086
5112
|
this.updatePositionTarget(this.camera.position, this.target);
|
|
5087
5113
|
};
|
|
5088
5114
|
this.animateMoveTo = function (target) {
|
|
5089
|
-
return __awaiter$
|
|
5115
|
+
return __awaiter$1a(this, void 0, void 0, function () {
|
|
5090
5116
|
var position, distance, tween;
|
|
5091
5117
|
return __generator(this, function (_a) {
|
|
5092
5118
|
position = scope.target.clone();
|
|
@@ -5277,7 +5303,7 @@
|
|
|
5277
5303
|
return event && event.target && event.target === document.body;
|
|
5278
5304
|
}
|
|
5279
5305
|
function onMouseMove(event) {
|
|
5280
|
-
return __awaiter$
|
|
5306
|
+
return __awaiter$1a(this, void 0, void 0, function () {
|
|
5281
5307
|
var mousePos;
|
|
5282
5308
|
return __generator(this, function (_a) {
|
|
5283
5309
|
if (!isMouseEventAllowed(event)) {
|
|
@@ -5643,7 +5669,7 @@
|
|
|
5643
5669
|
}]
|
|
5644
5670
|
}] });
|
|
5645
5671
|
|
|
5646
|
-
var __awaiter$
|
|
5672
|
+
var __awaiter$19 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
5647
5673
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
5648
5674
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5649
5675
|
function fulfilled(value) { try {
|
|
@@ -5854,7 +5880,7 @@
|
|
|
5854
5880
|
this.cameraMovementChanged.next();
|
|
5855
5881
|
};
|
|
5856
5882
|
CameraService.prototype.moveCameraToFitObject = function (object, offset) {
|
|
5857
|
-
return __awaiter$
|
|
5883
|
+
return __awaiter$19(this, void 0, void 0, function () {
|
|
5858
5884
|
var boundingBox, center, size, maxDim, fov, cameraZ, newPosition, tween;
|
|
5859
5885
|
return __generator(this, function (_a) {
|
|
5860
5886
|
switch (_a.label) {
|
|
@@ -5924,7 +5950,7 @@
|
|
|
5924
5950
|
return target.clone().add(new THREE.Vector3(0, targetDistance, targetDistance));
|
|
5925
5951
|
};
|
|
5926
5952
|
CameraService.prototype._placeWalkThroughCameraInCorner = function (viewCorner) {
|
|
5927
|
-
return __awaiter$
|
|
5953
|
+
return __awaiter$19(this, void 0, void 0, function () {
|
|
5928
5954
|
var center2d, center, corner2d, corner, distance, diff, lerpAlpha, nearCorner, tween;
|
|
5929
5955
|
return __generator(this, function (_a) {
|
|
5930
5956
|
switch (_a.label) {
|
|
@@ -6115,7 +6141,7 @@
|
|
|
6115
6141
|
}]
|
|
6116
6142
|
}], ctorParameters: function () { return []; } });
|
|
6117
6143
|
|
|
6118
|
-
var __awaiter$
|
|
6144
|
+
var __awaiter$18 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
6119
6145
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6120
6146
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6121
6147
|
function fulfilled(value) { try {
|
|
@@ -6141,7 +6167,7 @@
|
|
|
6141
6167
|
this.messages = [];
|
|
6142
6168
|
}
|
|
6143
6169
|
MessageBoardService.prototype.init = function (scene) {
|
|
6144
|
-
return __awaiter$
|
|
6170
|
+
return __awaiter$18(this, void 0, void 0, function () {
|
|
6145
6171
|
return __generator(this, function (_a) {
|
|
6146
6172
|
this.scene = scene;
|
|
6147
6173
|
if (this._settingsService.settings.options.xrDebug) {
|
|
@@ -6183,7 +6209,7 @@
|
|
|
6183
6209
|
}]
|
|
6184
6210
|
}], ctorParameters: function () { return [{ type: HomedecoratorSettingsService }, { type: FontService }]; } });
|
|
6185
6211
|
|
|
6186
|
-
var __awaiter$
|
|
6212
|
+
var __awaiter$17 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
6187
6213
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6188
6214
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6189
6215
|
function fulfilled(value) { try {
|
|
@@ -6223,7 +6249,7 @@
|
|
|
6223
6249
|
this._subs.forEach(function (s) { return s.unsubscribe(); });
|
|
6224
6250
|
};
|
|
6225
6251
|
XrService.prototype.init = function (renderer, scene, camera) {
|
|
6226
|
-
return __awaiter$
|
|
6252
|
+
return __awaiter$17(this, void 0, void 0, function () {
|
|
6227
6253
|
var displays;
|
|
6228
6254
|
var _this = this;
|
|
6229
6255
|
return __generator(this, function (_a) {
|
|
@@ -6508,7 +6534,7 @@
|
|
|
6508
6534
|
}]
|
|
6509
6535
|
}], ctorParameters: function () { return [{ type: HomedecoratorSettingsService }, { type: DebugService }, { type: MessageBoardService }]; } });
|
|
6510
6536
|
|
|
6511
|
-
var __awaiter$
|
|
6537
|
+
var __awaiter$16 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
6512
6538
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
6513
6539
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
6514
6540
|
function fulfilled(value) { try {
|
|
@@ -6574,7 +6600,7 @@
|
|
|
6574
6600
|
* @param {XRCoordinateSystem} frameOfRef
|
|
6575
6601
|
*/
|
|
6576
6602
|
Reticle.prototype.update = function (session, camera, frameOfRef) {
|
|
6577
|
-
return __awaiter$
|
|
6603
|
+
return __awaiter$16(this, void 0, void 0, function () {
|
|
6578
6604
|
var ray, origin, direction, hits, hit, hitMatrix;
|
|
6579
6605
|
return __generator(this, function (_a) {
|
|
6580
6606
|
this._rayCaster = this._rayCaster || new THREE.Raycaster();
|
|
@@ -7196,7 +7222,7 @@
|
|
|
7196
7222
|
return ServiceLocator;
|
|
7197
7223
|
}());
|
|
7198
7224
|
|
|
7199
|
-
var __awaiter$
|
|
7225
|
+
var __awaiter$15 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
7200
7226
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
7201
7227
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
7202
7228
|
function fulfilled(value) { try {
|
|
@@ -7278,7 +7304,7 @@
|
|
|
7278
7304
|
this._outlinePass.selectedObjects = [item];
|
|
7279
7305
|
};
|
|
7280
7306
|
OutlineService.prototype.showOutline = function (item) {
|
|
7281
|
-
return __awaiter$
|
|
7307
|
+
return __awaiter$15(this, void 0, void 0, function () {
|
|
7282
7308
|
var _this = this;
|
|
7283
7309
|
return __generator(this, function (_a) {
|
|
7284
7310
|
// if (item && (item instanceof FloorPin || item instanceof WallPin)) {
|
|
@@ -7301,7 +7327,7 @@
|
|
|
7301
7327
|
});
|
|
7302
7328
|
};
|
|
7303
7329
|
OutlineService.prototype.hideOutline = function () {
|
|
7304
|
-
return __awaiter$
|
|
7330
|
+
return __awaiter$15(this, void 0, void 0, function () {
|
|
7305
7331
|
return __generator(this, function (_a) {
|
|
7306
7332
|
if (this._outlinePass.selectedObjects.length > 0) {
|
|
7307
7333
|
// await this._animatedOutlineStrength(300, 0);
|
|
@@ -8198,7 +8224,7 @@
|
|
|
8198
8224
|
TextureType[TextureType["PBR"] = 3] = "PBR";
|
|
8199
8225
|
})(TextureType || (TextureType = {}));
|
|
8200
8226
|
|
|
8201
|
-
var __awaiter$
|
|
8227
|
+
var __awaiter$14 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8202
8228
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8203
8229
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
8204
8230
|
function fulfilled(value) { try {
|
|
@@ -8267,7 +8293,7 @@
|
|
|
8267
8293
|
};
|
|
8268
8294
|
// use canvas to create rotated textures
|
|
8269
8295
|
MaterialUtils.RotatedCanvasTexture = function (texture, textureURL, dimensions, adjustScale, repeatX, repeatY) {
|
|
8270
|
-
return __awaiter$
|
|
8296
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8271
8297
|
var img;
|
|
8272
8298
|
return __generator(this, function (_a) {
|
|
8273
8299
|
switch (_a.label) {
|
|
@@ -8280,7 +8306,7 @@
|
|
|
8280
8306
|
});
|
|
8281
8307
|
};
|
|
8282
8308
|
MaterialUtils.CustomTileMapTexture = function (texture, dimensions) {
|
|
8283
|
-
return __awaiter$
|
|
8309
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8284
8310
|
var img, ratio, tileSizeMax, newTileSize, t, image;
|
|
8285
8311
|
return __generator(this, function (_a) {
|
|
8286
8312
|
switch (_a.label) {
|
|
@@ -8323,7 +8349,7 @@
|
|
|
8323
8349
|
};
|
|
8324
8350
|
// use canvas to create texture from photo
|
|
8325
8351
|
MaterialUtils.FromImage = function (texture /*, dimensions: THREE.Vector2*/) {
|
|
8326
|
-
return __awaiter$
|
|
8352
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8327
8353
|
var img, canvas, threeTexture;
|
|
8328
8354
|
return __generator(this, function (_a) {
|
|
8329
8355
|
switch (_a.label) {
|
|
@@ -8342,7 +8368,7 @@
|
|
|
8342
8368
|
});
|
|
8343
8369
|
};
|
|
8344
8370
|
MaterialUtils.ReadAndResizePhotoAsDataURL = function (file) {
|
|
8345
|
-
return __awaiter$
|
|
8371
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8346
8372
|
var imageSrc;
|
|
8347
8373
|
return __generator(this, function (_a) {
|
|
8348
8374
|
switch (_a.label) {
|
|
@@ -8362,7 +8388,8 @@
|
|
|
8362
8388
|
var srcKey = src;
|
|
8363
8389
|
var type = 'image/jpeg';
|
|
8364
8390
|
if (isDataUri) {
|
|
8365
|
-
srcKey =
|
|
8391
|
+
// srcKey = md5(src);
|
|
8392
|
+
srcKey = src;
|
|
8366
8393
|
if (src.indexOf('image/png') > -1) {
|
|
8367
8394
|
type = 'image/png';
|
|
8368
8395
|
}
|
|
@@ -8409,7 +8436,7 @@
|
|
|
8409
8436
|
});
|
|
8410
8437
|
};
|
|
8411
8438
|
MaterialUtils.GetMaterialMaps = function (material, texture, dimensions) {
|
|
8412
|
-
return __awaiter$
|
|
8439
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8413
8440
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
8414
8441
|
return __generator(this, function (_s) {
|
|
8415
8442
|
switch (_s.label) {
|
|
@@ -8524,7 +8551,7 @@
|
|
|
8524
8551
|
});
|
|
8525
8552
|
};
|
|
8526
8553
|
MaterialUtils.loadMaterializeMaps = function (material, texture) {
|
|
8527
|
-
return __awaiter$
|
|
8554
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8528
8555
|
var _a, _b, _c, _d, _e;
|
|
8529
8556
|
return __generator(this, function (_f) {
|
|
8530
8557
|
switch (_f.label) {
|
|
@@ -8604,7 +8631,7 @@
|
|
|
8604
8631
|
};
|
|
8605
8632
|
// use canvas to create texture from flipped photo
|
|
8606
8633
|
MaterialUtils.FromFlippedImage = function (texture, dimensions) {
|
|
8607
|
-
return __awaiter$
|
|
8634
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8608
8635
|
var origImg, canvas, threeTexture;
|
|
8609
8636
|
return __generator(this, function (_a) {
|
|
8610
8637
|
switch (_a.label) {
|
|
@@ -8642,7 +8669,7 @@
|
|
|
8642
8669
|
};
|
|
8643
8670
|
// use canvas to create custom textures
|
|
8644
8671
|
MaterialUtils.CustomTileTexture = function (texture) {
|
|
8645
|
-
return __awaiter$
|
|
8672
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8646
8673
|
var img, canvas;
|
|
8647
8674
|
return __generator(this, function (_a) {
|
|
8648
8675
|
switch (_a.label) {
|
|
@@ -8658,7 +8685,7 @@
|
|
|
8658
8685
|
});
|
|
8659
8686
|
};
|
|
8660
8687
|
MaterialUtils.RotatedImageTexture = function (texture, textureURL) {
|
|
8661
|
-
return __awaiter$
|
|
8688
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8662
8689
|
var img, canvas;
|
|
8663
8690
|
return __generator(this, function (_a) {
|
|
8664
8691
|
switch (_a.label) {
|
|
@@ -8674,7 +8701,7 @@
|
|
|
8674
8701
|
});
|
|
8675
8702
|
};
|
|
8676
8703
|
MaterialUtils.CreateTileDataUrl = function (img, texture) {
|
|
8677
|
-
return __awaiter$
|
|
8704
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8678
8705
|
var canvas, tileUnit, tileCtx;
|
|
8679
8706
|
return __generator(this, function (_a) {
|
|
8680
8707
|
switch (_a.label) {
|
|
@@ -8697,7 +8724,7 @@
|
|
|
8697
8724
|
});
|
|
8698
8725
|
};
|
|
8699
8726
|
MaterialUtils.CreateTileMap = function (img, texture, oDimensions, adjustScale, repeatX, repeatY) {
|
|
8700
|
-
return __awaiter$
|
|
8727
|
+
return __awaiter$14(this, void 0, void 0, function () {
|
|
8701
8728
|
var dimensions, canvas, rotation, imgSize, ctx, bbHeight, bbWidth, i, j, threeTexture;
|
|
8702
8729
|
return __generator(this, function (_a) {
|
|
8703
8730
|
switch (_a.label) {
|
|
@@ -8785,7 +8812,7 @@
|
|
|
8785
8812
|
MaterialUtils.imageCache = new Map();
|
|
8786
8813
|
MaterialUtils.textureCache = new Map();
|
|
8787
8814
|
|
|
8788
|
-
var __awaiter$
|
|
8815
|
+
var __awaiter$13 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
8789
8816
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
8790
8817
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
8791
8818
|
function fulfilled(value) { try {
|
|
@@ -8840,7 +8867,7 @@
|
|
|
8840
8867
|
Utils$1.DisposeObject(this._pointRepresentation);
|
|
8841
8868
|
};
|
|
8842
8869
|
ArService.prototype.resetPlaneDetection = function () {
|
|
8843
|
-
return __awaiter$
|
|
8870
|
+
return __awaiter$13(this, void 0, void 0, function () {
|
|
8844
8871
|
var _this = this;
|
|
8845
8872
|
return __generator(this, function (_a) {
|
|
8846
8873
|
switch (_a.label) {
|
|
@@ -8868,7 +8895,7 @@
|
|
|
8868
8895
|
this._session.end();
|
|
8869
8896
|
};
|
|
8870
8897
|
ArService.prototype.arIOSSupported = function () {
|
|
8871
|
-
return __awaiter$
|
|
8898
|
+
return __awaiter$13(this, void 0, void 0, function () {
|
|
8872
8899
|
var isIOS, anchor;
|
|
8873
8900
|
return __generator(this, function (_a) {
|
|
8874
8901
|
isIOS = /iPad|iPhone|iPod/.test(navigator.platform) ||
|
|
@@ -8885,7 +8912,7 @@
|
|
|
8885
8912
|
});
|
|
8886
8913
|
};
|
|
8887
8914
|
ArService.prototype.arSupported = function () {
|
|
8888
|
-
return __awaiter$
|
|
8915
|
+
return __awaiter$13(this, void 0, void 0, function () {
|
|
8889
8916
|
return __generator(this, function (_a) {
|
|
8890
8917
|
switch (_a.label) {
|
|
8891
8918
|
case 0:
|
|
@@ -9057,6 +9084,7 @@
|
|
|
9057
9084
|
this._lightProbe.addEventListener('reflectionchange', function () {
|
|
9058
9085
|
var rawData = _this._glBinding.getReflectionCubeMap(_this._lightProbe);
|
|
9059
9086
|
var texProps = _this._renderer.properties.get(_this._cubeMapTexture);
|
|
9087
|
+
// @ts-ignore
|
|
9060
9088
|
texProps.__webglTexture = rawData;
|
|
9061
9089
|
});
|
|
9062
9090
|
};
|
|
@@ -9257,7 +9285,7 @@
|
|
|
9257
9285
|
}
|
|
9258
9286
|
};
|
|
9259
9287
|
ArService.prototype._createPlaneMaterial = function () {
|
|
9260
|
-
return __awaiter$
|
|
9288
|
+
return __awaiter$13(this, void 0, void 0, function () {
|
|
9261
9289
|
var pm, _a;
|
|
9262
9290
|
return __generator(this, function (_b) {
|
|
9263
9291
|
switch (_b.label) {
|
|
@@ -9276,7 +9304,7 @@
|
|
|
9276
9304
|
});
|
|
9277
9305
|
};
|
|
9278
9306
|
ArService.prototype._onSessionStarted = function (session) {
|
|
9279
|
-
return __awaiter$
|
|
9307
|
+
return __awaiter$13(this, void 0, void 0, function () {
|
|
9280
9308
|
var domOverlay;
|
|
9281
9309
|
var _this = this;
|
|
9282
9310
|
return __generator(this, function (_a) {
|
|
@@ -9410,7 +9438,7 @@
|
|
|
9410
9438
|
}
|
|
9411
9439
|
};
|
|
9412
9440
|
ArService.prototype._checkIfHoldTouchEvent = function ($event) {
|
|
9413
|
-
return __awaiter$
|
|
9441
|
+
return __awaiter$13(this, void 0, void 0, function () {
|
|
9414
9442
|
var _this = this;
|
|
9415
9443
|
return __generator(this, function (_a) {
|
|
9416
9444
|
setTimeout(function () {
|
|
@@ -9771,37 +9799,87 @@
|
|
|
9771
9799
|
this._renderer = renderer;
|
|
9772
9800
|
this._scene = scene;
|
|
9773
9801
|
this._camera = camera;
|
|
9774
|
-
this.
|
|
9775
|
-
|
|
9776
|
-
|
|
9777
|
-
|
|
9778
|
-
|
|
9779
|
-
|
|
9780
|
-
this.
|
|
9781
|
-
this.
|
|
9782
|
-
this.
|
|
9783
|
-
|
|
9784
|
-
|
|
9785
|
-
this.
|
|
9786
|
-
|
|
9802
|
+
this._width = width;
|
|
9803
|
+
this._height = height;
|
|
9804
|
+
this._postProcessingGui = new GUI__default["default"]();
|
|
9805
|
+
this._postProcessingGui.hide();
|
|
9806
|
+
this._renderPass = new RenderPass.RenderPass(this._scene, this._camera);
|
|
9807
|
+
this._outputPass = new OutputPass.OutputPass();
|
|
9808
|
+
this._initAoComposer();
|
|
9809
|
+
this._initAaComposer();
|
|
9810
|
+
this._initBlendComposer();
|
|
9811
|
+
};
|
|
9812
|
+
PostProcessingService.prototype._initAaComposer = function () {
|
|
9813
|
+
this._aaRenderTarget = new THREE.WebGLRenderTarget(this._width, this._height, {
|
|
9814
|
+
samples: 4,
|
|
9815
|
+
type: THREE.HalfFloatType /*,
|
|
9816
|
+
minFilter: NearestFilter,
|
|
9817
|
+
magFilter: NearestFilter,
|
|
9818
|
+
format: RGBAFormat,
|
|
9819
|
+
colorSpace: SRGBColorSpace*/
|
|
9820
|
+
});
|
|
9821
|
+
this._aaComposer = new EffectComposer.EffectComposer(this._renderer, this._aaRenderTarget);
|
|
9822
|
+
this._aaComposer.renderToScreen = false;
|
|
9823
|
+
var fxaaPass = new ShaderPass.ShaderPass(FXAAShader.FXAAShader);
|
|
9824
|
+
var pixelRatio = this._renderer.getPixelRatio();
|
|
9825
|
+
// fxaaPass.material.uniforms[ 'resolution' ].value.x = 1 / (this._width * pixelRatio);
|
|
9826
|
+
// fxaaPass.material.uniforms[ 'resolution' ].value.y = 1 / (this._height * pixelRatio);
|
|
9827
|
+
fxaaPass.uniforms['resolution'].value.x = 1 / (this._width * pixelRatio);
|
|
9828
|
+
fxaaPass.uniforms['resolution'].value.y = 1 / (this._height * pixelRatio);
|
|
9829
|
+
// this._taaRenderPass = new TAARenderPass(this._scene, this._camera, 0x000000, 0);
|
|
9830
|
+
// this._taaRenderPass.unbiased = true;
|
|
9831
|
+
// this._taaRenderPass.sampleLevel = 4;
|
|
9832
|
+
// this._renderPass.enabled = false;
|
|
9833
|
+
// sao
|
|
9834
|
+
// this._saoPass = new SAOPass( this._scene, this._camera, new Vector2(2048, 2048));
|
|
9835
|
+
// this._saoPass.resolution.set(2048, 2048);
|
|
9836
|
+
// this._saoPass.renderToScreen = true;
|
|
9837
|
+
// this._saoPass.enabled = true;
|
|
9838
|
+
this._aaComposer.addPass(this._renderPass);
|
|
9839
|
+
// this._aaComposer.addPass(this._taaRenderPass);
|
|
9840
|
+
this._aaComposer.addPass(fxaaPass);
|
|
9841
|
+
this._aaComposer.addPass(this._outputPass);
|
|
9842
|
+
this._createGuiTaaPass();
|
|
9843
|
+
};
|
|
9844
|
+
PostProcessingService.prototype._initAoComposer = function () {
|
|
9845
|
+
this._aoRenderTarget = new THREE.WebGLRenderTarget(this._width, this._height, {
|
|
9846
|
+
samples: 4,
|
|
9847
|
+
type: THREE.HalfFloatType /*,
|
|
9848
|
+
minFilter: NearestFilter,
|
|
9849
|
+
magFilter: NearestFilter,
|
|
9850
|
+
format: RGBAFormat,
|
|
9851
|
+
colorSpace: SRGBColorSpace*/
|
|
9852
|
+
});
|
|
9853
|
+
this._aoComposer = new EffectComposer.EffectComposer(this._renderer, this._aoRenderTarget);
|
|
9854
|
+
this._aoComposer.renderToScreen = false;
|
|
9855
|
+
this._n8aoPass = new n8ao.N8AOPass(this._scene, this._camera, this._width, this._height);
|
|
9856
|
+
// this._n8aoPass.configuration.gammaCorrection = false;
|
|
9857
|
+
// this._n8aoPass.renderToScreen = false;
|
|
9858
|
+
// this._n8aoPass.debugMode = true;
|
|
9787
9859
|
// const smaaPass = new SMAAPass(width, height);
|
|
9788
9860
|
// this._composer.addPass(smaaPass);
|
|
9789
|
-
// const fxaaPass = new ShaderPass(FXAAShader);
|
|
9790
|
-
// const pixelRatio = this._renderer.getPixelRatio();
|
|
9791
|
-
// fxaaPass.material.uniforms[ 'resolution' ].value.x = 1 / (width * pixelRatio);
|
|
9792
|
-
// fxaaPass.material.uniforms[ 'resolution' ].value.y = 1 / (height * pixelRatio);
|
|
9793
|
-
this._outputPass = new OutputPass.OutputPass();
|
|
9794
|
-
this._taaRenderPass = new TAARenderPass.TAARenderPass(this._scene, this._camera, 0x000000, 0);
|
|
9795
|
-
this._taaRenderPass.unbiased = false;
|
|
9796
|
-
this._taaRenderPass.sampleLevel = 4;
|
|
9797
|
-
this._renderPass = new RenderPass.RenderPass(this._scene, this._camera);
|
|
9798
9861
|
// this._renderPass.enabled = false;
|
|
9799
|
-
|
|
9800
|
-
this.
|
|
9801
|
-
this.
|
|
9802
|
-
this.
|
|
9862
|
+
// sao
|
|
9863
|
+
// this._saoPass = new SAOPass( this._scene, this._camera, new Vector2(2048, 2048));
|
|
9864
|
+
// this._saoPass.resolution.set(2048, 2048);
|
|
9865
|
+
// this._saoPass.renderToScreen = true;
|
|
9866
|
+
// this._saoPass.enabled = true;
|
|
9867
|
+
this._aoComposer.addPass(this._renderPass);
|
|
9868
|
+
this._aoComposer.addPass(this._n8aoPass);
|
|
9869
|
+
this._aoComposer.addPass(this._outputPass);
|
|
9870
|
+
// this._composer.addPass(this._saoPass);
|
|
9871
|
+
// this._aoComposer.addPass(this._aoOutputPass);
|
|
9803
9872
|
this._createGui();
|
|
9804
|
-
|
|
9873
|
+
};
|
|
9874
|
+
PostProcessingService.prototype._initBlendComposer = function () {
|
|
9875
|
+
this._blendShader = new ShaderPass.ShaderPass(BlendShader.BlendShader);
|
|
9876
|
+
this._blendShader.uniforms.tDiffuse1.value = this._aaRenderTarget.texture;
|
|
9877
|
+
this._blendShader.uniforms.tDiffuse2.value = this._aoRenderTarget.texture;
|
|
9878
|
+
// blendShader.uniforms['mixRatio'].value = 0.9;
|
|
9879
|
+
this._blendComposer = new EffectComposer.EffectComposer(this._renderer);
|
|
9880
|
+
this._blendComposer.renderToScreen = true;
|
|
9881
|
+
this._blendComposer.addPass(this._renderPass);
|
|
9882
|
+
this._blendComposer.addPass(this._blendShader);
|
|
9805
9883
|
};
|
|
9806
9884
|
PostProcessingService.prototype._updatePass = function () {
|
|
9807
9885
|
this._n8aoPass.configuration.aoRadius = this._effectController.aoRadius;
|
|
@@ -9823,10 +9901,8 @@
|
|
|
9823
9901
|
};
|
|
9824
9902
|
PostProcessingService.prototype._createGuiTaaPass = function () {
|
|
9825
9903
|
var _this = this;
|
|
9826
|
-
this._taaPassGui = new GUI__default["default"]();
|
|
9827
|
-
this._taaPassGui.hide();
|
|
9828
9904
|
var param = { TAAEnabled: '1', TAASampleLevel: 0 };
|
|
9829
|
-
this.
|
|
9905
|
+
this._postProcessingGui.add(param, 'TAAEnabled', {
|
|
9830
9906
|
'Disabled': '0',
|
|
9831
9907
|
'Enabled': '1'
|
|
9832
9908
|
}).onFinishChange(function () {
|
|
@@ -9835,7 +9911,7 @@
|
|
|
9835
9911
|
}
|
|
9836
9912
|
_this.render();
|
|
9837
9913
|
});
|
|
9838
|
-
this.
|
|
9914
|
+
this._postProcessingGui.add(param, 'TAASampleLevel', {
|
|
9839
9915
|
'Level 0: 1 Sample': 0,
|
|
9840
9916
|
'Level 1: 2 Samples': 1,
|
|
9841
9917
|
'Level 2: 4 Samples': 2,
|
|
@@ -9848,13 +9924,16 @@
|
|
|
9848
9924
|
}
|
|
9849
9925
|
_this.render();
|
|
9850
9926
|
});
|
|
9851
|
-
this._taaPassGui.open();
|
|
9852
9927
|
};
|
|
9853
9928
|
PostProcessingService.prototype.setSize = function (width, height) {
|
|
9854
|
-
this.
|
|
9929
|
+
this._aoComposer.setSize(width, height);
|
|
9930
|
+
this._aaComposer.setSize(width, height);
|
|
9931
|
+
this._blendComposer.setSize(width, height);
|
|
9855
9932
|
};
|
|
9856
9933
|
PostProcessingService.prototype.render = function () {
|
|
9857
|
-
this.
|
|
9934
|
+
this._aaComposer.render();
|
|
9935
|
+
this._aoComposer.render();
|
|
9936
|
+
this._blendComposer.render();
|
|
9858
9937
|
};
|
|
9859
9938
|
PostProcessingService.prototype.showGui = function () {
|
|
9860
9939
|
this._postProcessingGui.show(true);
|
|
@@ -9867,8 +9946,16 @@
|
|
|
9867
9946
|
};
|
|
9868
9947
|
PostProcessingService.prototype._createGui = function () {
|
|
9869
9948
|
var _this = this;
|
|
9870
|
-
|
|
9871
|
-
this._postProcessingGui.
|
|
9949
|
+
var param = { Enabled: '1' };
|
|
9950
|
+
this._postProcessingGui.add(param, 'Enabled', {
|
|
9951
|
+
'Disabled': '0',
|
|
9952
|
+
'Enabled': '1'
|
|
9953
|
+
}).onFinishChange(function () {
|
|
9954
|
+
if (_this._aoComposer) {
|
|
9955
|
+
_this._aoComposer.renderToScreen = (param.Enabled === '1');
|
|
9956
|
+
}
|
|
9957
|
+
_this.render();
|
|
9958
|
+
});
|
|
9872
9959
|
this._postProcessingGui.add(this._effectController, 'aoSamples', 1.0, 64.0, 1.0).onChange(function () { return _this._updatePass(); });
|
|
9873
9960
|
this._postProcessingGui.add(this._effectController, 'denoiseSamples', 1.0, 64.0, 1.0).onChange(function () { return _this._updatePass(); });
|
|
9874
9961
|
this._postProcessingGui.add(this._effectController, 'denoiseRadius', 0.0, 24.0, 0.01).onChange(function () { return _this._updatePass(); });
|
|
@@ -9916,25 +10003,6 @@
|
|
|
9916
10003
|
}]
|
|
9917
10004
|
}], ctorParameters: function () { return [{ type: ConfigurationService }]; } });
|
|
9918
10005
|
|
|
9919
|
-
var __awaiter$13 = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
9920
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
9921
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
9922
|
-
function fulfilled(value) { try {
|
|
9923
|
-
step(generator.next(value));
|
|
9924
|
-
}
|
|
9925
|
-
catch (e) {
|
|
9926
|
-
reject(e);
|
|
9927
|
-
} }
|
|
9928
|
-
function rejected(value) { try {
|
|
9929
|
-
step(generator["throw"](value));
|
|
9930
|
-
}
|
|
9931
|
-
catch (e) {
|
|
9932
|
-
reject(e);
|
|
9933
|
-
} }
|
|
9934
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
9935
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9936
|
-
});
|
|
9937
|
-
};
|
|
9938
10006
|
var SsrService = /** @class */ (function () {
|
|
9939
10007
|
function SsrService(_settingsService) {
|
|
9940
10008
|
this._settingsService = _settingsService;
|
|
@@ -9957,70 +10025,6 @@
|
|
|
9957
10025
|
SsrService.prototype.ngOnDestroy = function () {
|
|
9958
10026
|
this._subs.forEach(function (s) { return s.unsubscribe(); });
|
|
9959
10027
|
};
|
|
9960
|
-
SsrService.prototype.init = function () {
|
|
9961
|
-
var _this = this;
|
|
9962
|
-
var socket = new WebSocket('ws://localhost:7005');
|
|
9963
|
-
var peerConnection = new RTCPeerConnection({
|
|
9964
|
-
iceServers: [{ urls: 'stun:stun.1.google.com:19302' }]
|
|
9965
|
-
});
|
|
9966
|
-
peerConnection.onicecandidate = function (event) {
|
|
9967
|
-
if (event.candidate) {
|
|
9968
|
-
socket.send(JSON.stringify({ candidate: event.candidate }));
|
|
9969
|
-
}
|
|
9970
|
-
};
|
|
9971
|
-
peerConnection.ontrack = function (event) {
|
|
9972
|
-
var remoteVideo = document.getElementById('remoteVideo');
|
|
9973
|
-
// @ts-ignore
|
|
9974
|
-
if (remoteVideo.srcObject !== event.streams[0]) {
|
|
9975
|
-
// @ts-ignore
|
|
9976
|
-
remoteVideo.srcObject = event.streams[0];
|
|
9977
|
-
}
|
|
9978
|
-
};
|
|
9979
|
-
socket.onmessage = function (message) { return __awaiter$13(_this, void 0, void 0, function () {
|
|
9980
|
-
var text, data, answer, e_1, e_2;
|
|
9981
|
-
return __generator(this, function (_a) {
|
|
9982
|
-
switch (_a.label) {
|
|
9983
|
-
case 0:
|
|
9984
|
-
_a.trys.push([0, 10, , 11]);
|
|
9985
|
-
return [4 /*yield*/, message.data.text()];
|
|
9986
|
-
case 1:
|
|
9987
|
-
text = _a.sent();
|
|
9988
|
-
data = JSON.parse(text);
|
|
9989
|
-
if (!data.offer) return [3 /*break*/, 5];
|
|
9990
|
-
return [4 /*yield*/, peerConnection.setRemoteDescription(new RTCSessionDescription(data.offer))];
|
|
9991
|
-
case 2:
|
|
9992
|
-
_a.sent();
|
|
9993
|
-
return [4 /*yield*/, peerConnection.createAnswer()];
|
|
9994
|
-
case 3:
|
|
9995
|
-
answer = _a.sent();
|
|
9996
|
-
return [4 /*yield*/, peerConnection.setLocalDescription(answer)];
|
|
9997
|
-
case 4:
|
|
9998
|
-
_a.sent();
|
|
9999
|
-
socket.send(JSON.stringify({ answer: peerConnection.localDescription }));
|
|
10000
|
-
return [3 /*break*/, 9];
|
|
10001
|
-
case 5:
|
|
10002
|
-
if (!data.candidate) return [3 /*break*/, 9];
|
|
10003
|
-
_a.label = 6;
|
|
10004
|
-
case 6:
|
|
10005
|
-
_a.trys.push([6, 8, , 9]);
|
|
10006
|
-
return [4 /*yield*/, peerConnection.addIceCandidate(new RTCIceCandidate(data.candidate))];
|
|
10007
|
-
case 7:
|
|
10008
|
-
_a.sent();
|
|
10009
|
-
return [3 /*break*/, 9];
|
|
10010
|
-
case 8:
|
|
10011
|
-
e_1 = _a.sent();
|
|
10012
|
-
console.error('Error adding ICE-Candidate', e_1);
|
|
10013
|
-
return [3 /*break*/, 9];
|
|
10014
|
-
case 9: return [3 /*break*/, 11];
|
|
10015
|
-
case 10:
|
|
10016
|
-
e_2 = _a.sent();
|
|
10017
|
-
console.error(e_2);
|
|
10018
|
-
return [3 /*break*/, 11];
|
|
10019
|
-
case 11: return [2 /*return*/];
|
|
10020
|
-
}
|
|
10021
|
-
});
|
|
10022
|
-
}); };
|
|
10023
|
-
};
|
|
10024
10028
|
SsrService.prototype.sceneChanged = function (scene) {
|
|
10025
10029
|
if (this._websocket.readyState === WebSocket.OPEN) {
|
|
10026
10030
|
var sceneClone = scene.clone(true);
|
|
@@ -10295,7 +10299,7 @@
|
|
|
10295
10299
|
var canvasElement, context;
|
|
10296
10300
|
return __generator(this, function (_a) {
|
|
10297
10301
|
canvasElement = document.createElement('canvas');
|
|
10298
|
-
context = canvasElement.getContext('webgl2'
|
|
10302
|
+
context = canvasElement.getContext('webgl2');
|
|
10299
10303
|
this.webGL2Available = context !== undefined;
|
|
10300
10304
|
// this.renderer = new WebGPURenderer({ alpha: true, antialias: true });
|
|
10301
10305
|
// this.renderer =
|
|
@@ -10309,15 +10313,21 @@
|
|
|
10309
10313
|
// logarithmicDepthBuffer: true*/
|
|
10310
10314
|
// });
|
|
10311
10315
|
// this.renderer = new WebGLRenderer({alpha: true, antialias: false, preserveDrawingBuffer: true, premultipliedAlpha: true});
|
|
10312
|
-
this.renderer = new THREE.WebGLRenderer(
|
|
10313
|
-
|
|
10314
|
-
|
|
10315
|
-
|
|
10316
|
-
|
|
10317
|
-
|
|
10318
|
-
|
|
10316
|
+
this.renderer = new THREE.WebGLRenderer({
|
|
10317
|
+
/*
|
|
10318
|
+
precision: 'highp',
|
|
10319
|
+
powerPreference: 'high-performance',
|
|
10320
|
+
*/
|
|
10321
|
+
/*
|
|
10322
|
+
antialias: true,
|
|
10323
|
+
*/
|
|
10324
|
+
/*
|
|
10325
|
+
stencil: false,
|
|
10326
|
+
depth: false
|
|
10327
|
+
*/
|
|
10328
|
+
});
|
|
10319
10329
|
this.renderer.outputColorSpace = THREE.SRGBColorSpace;
|
|
10320
|
-
this.renderer.autoClear =
|
|
10330
|
+
this.renderer.autoClear = true;
|
|
10321
10331
|
this.renderer.setPixelRatio(window.devicePixelRatio);
|
|
10322
10332
|
this.renderer.toneMapping = THREE.NoToneMapping; // ACESFilmicToneMapping; // LinearToneMapping;
|
|
10323
10333
|
this.renderer.shadowMap.enabled = true;
|
|
@@ -10382,7 +10392,7 @@
|
|
|
10382
10392
|
}
|
|
10383
10393
|
else {
|
|
10384
10394
|
this._postProcessing.render();
|
|
10385
|
-
this._outlineService.render();
|
|
10395
|
+
// this._outlineService.render();
|
|
10386
10396
|
}
|
|
10387
10397
|
// this.renderer.render(this.scene, this._cameraService.camera);
|
|
10388
10398
|
}
|
|
@@ -10477,7 +10487,7 @@
|
|
|
10477
10487
|
// }
|
|
10478
10488
|
//
|
|
10479
10489
|
var PresetsService = /** @class */ (function () {
|
|
10480
|
-
function PresetsService(_appStateService, _permanentStoreService, _jsonUtils, _messageService, _settingsService, _configurationService, _storageService, _progressService, _sceneService) {
|
|
10490
|
+
function PresetsService(_appStateService, _permanentStoreService, _jsonUtils, _messageService, _settingsService, _configurationService, _storageService, _progressService, _sceneService, _eventService) {
|
|
10481
10491
|
var _this = this;
|
|
10482
10492
|
this._appStateService = _appStateService;
|
|
10483
10493
|
this._permanentStoreService = _permanentStoreService;
|
|
@@ -10488,6 +10498,7 @@
|
|
|
10488
10498
|
this._storageService = _storageService;
|
|
10489
10499
|
this._progressService = _progressService;
|
|
10490
10500
|
this._sceneService = _sceneService;
|
|
10501
|
+
this._eventService = _eventService;
|
|
10491
10502
|
// public static presetsPath = '/assets/presets';
|
|
10492
10503
|
this.isLoading = false;
|
|
10493
10504
|
this.beforeLoad = new rxjs.Subject();
|
|
@@ -10552,6 +10563,9 @@
|
|
|
10552
10563
|
_b.label = 2;
|
|
10553
10564
|
case 2:
|
|
10554
10565
|
modelObj = JSON.parse(preset.model);
|
|
10566
|
+
if (modelObj.floorplan && modelObj.floorplan.corners && Object.keys(modelObj.floorplan.corners).length > 0) {
|
|
10567
|
+
this._eventService.dirty.next(true);
|
|
10568
|
+
}
|
|
10555
10569
|
return [2 /*return*/, JSON.stringify(!modelObj.hasOwnProperty('needRescale') ? this._reScaleModel(modelObj) : modelObj)];
|
|
10556
10570
|
}
|
|
10557
10571
|
});
|
|
@@ -10559,7 +10573,10 @@
|
|
|
10559
10573
|
};
|
|
10560
10574
|
PresetsService.prototype._loadSavedRoomFromCloud = function (code) {
|
|
10561
10575
|
var _this = this;
|
|
10562
|
-
this._loadRoomPlan(function () { return new Promise(function (resolve) {
|
|
10576
|
+
this._loadRoomPlan(function () { return new Promise(function (resolve) {
|
|
10577
|
+
_this._eventService.dirty.next(true);
|
|
10578
|
+
_this._permanentStoreService.load(code).subscribe(function (json) { return resolve(JSON.stringify(json)); });
|
|
10579
|
+
}); });
|
|
10563
10580
|
};
|
|
10564
10581
|
PresetsService.prototype._clear = function () {
|
|
10565
10582
|
return __awaiter$11(this, void 0, void 0, function () {
|
|
@@ -10797,14 +10814,14 @@
|
|
|
10797
10814
|
};
|
|
10798
10815
|
return PresetsService;
|
|
10799
10816
|
}());
|
|
10800
|
-
PresetsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PresetsService, deps: [{ token: AppStateService }, { token: PermanentStoreService }, { token: JsonUtilsService }, { token: MessageBusService }, { token: HomedecoratorSettingsService }, { token: ConfigurationService }, { token: LocalStorageService }, { token: ProgressService }, { token: SceneService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
10817
|
+
PresetsService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PresetsService, deps: [{ token: AppStateService }, { token: PermanentStoreService }, { token: JsonUtilsService }, { token: MessageBusService }, { token: HomedecoratorSettingsService }, { token: ConfigurationService }, { token: LocalStorageService }, { token: ProgressService }, { token: SceneService }, { token: HomedecoratorAppEventService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
10801
10818
|
PresetsService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PresetsService, providedIn: 'root' });
|
|
10802
10819
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: PresetsService, decorators: [{
|
|
10803
10820
|
type: i0.Injectable,
|
|
10804
10821
|
args: [{
|
|
10805
10822
|
providedIn: 'root'
|
|
10806
10823
|
}]
|
|
10807
|
-
}], ctorParameters: function () { return [{ type: AppStateService }, { type: PermanentStoreService }, { type: JsonUtilsService }, { type: MessageBusService }, { type: HomedecoratorSettingsService }, { type: ConfigurationService }, { type: LocalStorageService }, { type: ProgressService }, { type: SceneService }]; } });
|
|
10824
|
+
}], ctorParameters: function () { return [{ type: AppStateService }, { type: PermanentStoreService }, { type: JsonUtilsService }, { type: MessageBusService }, { type: HomedecoratorSettingsService }, { type: ConfigurationService }, { type: LocalStorageService }, { type: ProgressService }, { type: SceneService }, { type: HomedecoratorAppEventService }]; } });
|
|
10808
10825
|
|
|
10809
10826
|
var DeviceSizeType;
|
|
10810
10827
|
(function (DeviceSizeType) {
|
|
@@ -14309,8 +14326,8 @@
|
|
|
14309
14326
|
/* tslint:disable */
|
|
14310
14327
|
var VersionInfo = {
|
|
14311
14328
|
application: "Homedecorator",
|
|
14312
|
-
appVersion: "255.1.
|
|
14313
|
-
revision: "
|
|
14329
|
+
appVersion: "255.1.4",
|
|
14330
|
+
revision: "112028"
|
|
14314
14331
|
};
|
|
14315
14332
|
/* tslint:enable */
|
|
14316
14333
|
|
|
@@ -15026,7 +15043,7 @@
|
|
|
15026
15043
|
});
|
|
15027
15044
|
var origScale = this.metadata.scale ? new THREE.Vector3(1, 1, 1).divide(this.metadata.scale) : new THREE.Vector3(1, 1, 1);
|
|
15028
15045
|
var metadata = Object.assign({}, this.metadata);
|
|
15029
|
-
metadata.skin = this.skin;
|
|
15046
|
+
metadata.skin = Object.assign({}, this.skin);
|
|
15030
15047
|
var copy = new CustomShapeFloorItem(metadata, new THREE.Mesh(this.customMesh.geometry.clone().scale(origScale.x, origScale.y, origScale.z), materialsCloned));
|
|
15031
15048
|
copy.scaleGeometry(this.scale.x, this.scale.y, this.scale.z);
|
|
15032
15049
|
copy.calculateHalfSize();
|
|
@@ -15091,7 +15108,7 @@
|
|
|
15091
15108
|
});
|
|
15092
15109
|
var origScale = this.metadata.scale ? new THREE.Vector3(1, 1, 1).divide(this.metadata.scale) : new THREE.Vector3(1, 1, 1);
|
|
15093
15110
|
var metadata = Object.assign({}, this.metadata);
|
|
15094
|
-
metadata.skin = this.skin;
|
|
15111
|
+
metadata.skin = Object.assign({}, this.skin);
|
|
15095
15112
|
var copy = new CustomCylinderFloorItem(metadata, new THREE.Mesh(this.customMesh.geometry.clone().scale(origScale.x, origScale.y, origScale.z), materialsCloned));
|
|
15096
15113
|
copy.scaleGeometry(this.scale.x, this.scale.y, this.scale.z);
|
|
15097
15114
|
copy.calculateHalfSize();
|
|
@@ -15577,12 +15594,13 @@
|
|
|
15577
15594
|
});
|
|
15578
15595
|
};
|
|
15579
15596
|
var FloorService = /** @class */ (function () {
|
|
15580
|
-
function FloorService(_sceneService, _outlineService, _itemService, _settingsService) {
|
|
15597
|
+
function FloorService(_sceneService, _outlineService, _itemService, _settingsService, _messageService) {
|
|
15581
15598
|
var _this = this;
|
|
15582
15599
|
this._sceneService = _sceneService;
|
|
15583
15600
|
this._outlineService = _outlineService;
|
|
15584
15601
|
this._itemService = _itemService;
|
|
15585
15602
|
this._settingsService = _settingsService;
|
|
15603
|
+
this._messageService = _messageService;
|
|
15586
15604
|
this._floors = [];
|
|
15587
15605
|
this._subs = [];
|
|
15588
15606
|
this._subs.push(this._sceneService.sceneInitialized.subscribe(function (initialized) {
|
|
@@ -15636,6 +15654,8 @@
|
|
|
15636
15654
|
else {
|
|
15637
15655
|
this._updateFloorMaterial(this._floors[0], floorMaterial, texture);
|
|
15638
15656
|
}
|
|
15657
|
+
// emit new texture for appearance-section
|
|
15658
|
+
this._messageService.emit(MessageType.ChangeTexture, texture);
|
|
15639
15659
|
return [2 /*return*/];
|
|
15640
15660
|
}
|
|
15641
15661
|
});
|
|
@@ -15813,14 +15833,14 @@
|
|
|
15813
15833
|
};
|
|
15814
15834
|
return FloorService;
|
|
15815
15835
|
}());
|
|
15816
|
-
FloorService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloorService, deps: [{ token: SceneService }, { token: OutlineService }, { token: ItemService }, { token: HomedecoratorSettingsService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
15836
|
+
FloorService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloorService, deps: [{ token: SceneService }, { token: OutlineService }, { token: ItemService }, { token: HomedecoratorSettingsService }, { token: MessageBusService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
|
|
15817
15837
|
FloorService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloorService, providedIn: 'root' });
|
|
15818
15838
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloorService, decorators: [{
|
|
15819
15839
|
type: i0.Injectable,
|
|
15820
15840
|
args: [{
|
|
15821
15841
|
providedIn: 'root'
|
|
15822
15842
|
}]
|
|
15823
|
-
}], ctorParameters: function () { return [{ type: SceneService }, { type: OutlineService }, { type: ItemService }, { type: HomedecoratorSettingsService }]; } });
|
|
15843
|
+
}], ctorParameters: function () { return [{ type: SceneService }, { type: OutlineService }, { type: ItemService }, { type: HomedecoratorSettingsService }, { type: MessageBusService }]; } });
|
|
15824
15844
|
|
|
15825
15845
|
var CeilingService = /** @class */ (function () {
|
|
15826
15846
|
function CeilingService(_sceneService, _configurationService) {
|
|
@@ -15968,7 +15988,7 @@
|
|
|
15968
15988
|
this._subs = [];
|
|
15969
15989
|
this._subs.push(this._appService.floorTexturesLoaded.subscribe(function (floors) {
|
|
15970
15990
|
if (floors) {
|
|
15971
|
-
_this._defaultFloorTexture = floors.find(function (f) { return f.default === true; });
|
|
15991
|
+
_this._defaultFloorTexture = floors.find(function (f) { return f.default === true && !f.useStandalone; });
|
|
15972
15992
|
}
|
|
15973
15993
|
}), this._cameraService.cameraMovementChanged.subscribe(function () { return _this._updateEdgeVisibility(_this._cameraService.camera.position); }), this._presetService.afterLoad.subscribe(function () { return _this._updateEdgeVisibility(_this._cameraService.camera.position); }), this._viewModeService.viewModeChanged.subscribe(function (mode) { return __awaiter$W(_this, void 0, void 0, function () {
|
|
15974
15994
|
return __generator(this, function (_a) {
|
|
@@ -16218,6 +16238,9 @@
|
|
|
16218
16238
|
}
|
|
16219
16239
|
});
|
|
16220
16240
|
};
|
|
16241
|
+
RoomService.prototype.resetAllRooms = function () {
|
|
16242
|
+
this.rooms = [];
|
|
16243
|
+
};
|
|
16221
16244
|
RoomService.prototype._showHideWalls = function (show) {
|
|
16222
16245
|
this.walls.forEach(function (w) { return w.showHideWall(show); });
|
|
16223
16246
|
this._sceneService.needsRender = true;
|
|
@@ -17463,7 +17486,7 @@
|
|
|
17463
17486
|
});
|
|
17464
17487
|
var origScale = this.metadata.scale ? new THREE.Vector3(1, 1, 1).divide(this.metadata.scale) : new THREE.Vector3(1, 1, 1);
|
|
17465
17488
|
var metadata = Object.assign({}, this.metadata);
|
|
17466
|
-
metadata.skin = this.skin;
|
|
17489
|
+
metadata.skin = Object.assign({}, this.skin);
|
|
17467
17490
|
var copy = new CustomShapeWallItem(metadata, new THREE.Mesh(this.customMesh.geometry.clone().scale(origScale.x, origScale.y, origScale.z), materialsCloned));
|
|
17468
17491
|
copy.scaleGeometry(this.scale.x, this.scale.y, this.scale.z);
|
|
17469
17492
|
copy.calculateHalfSize();
|
|
@@ -17522,7 +17545,7 @@
|
|
|
17522
17545
|
});
|
|
17523
17546
|
var origScale = this.metadata.scale ? new THREE.Vector3(1, 1, 1).divide(this.metadata.scale) : new THREE.Vector3(1, 1, 1);
|
|
17524
17547
|
var metadata = Object.assign({}, this.metadata);
|
|
17525
|
-
metadata.skin = this.skin;
|
|
17548
|
+
metadata.skin = Object.assign({}, this.skin);
|
|
17526
17549
|
var copy = new CustomCylinderWallItem(metadata, new THREE.Mesh(this.customMesh.geometry.clone().scale(origScale.x, origScale.y, origScale.z), materialsCloned));
|
|
17527
17550
|
copy.scaleGeometry(this.scale.x, this.scale.y, this.scale.z);
|
|
17528
17551
|
copy.calculateHalfSize();
|
|
@@ -19631,7 +19654,7 @@
|
|
|
19631
19654
|
_this.messageService.emit(MessageType.ShowLoadingIndicator, { title: 'Rendering...' });
|
|
19632
19655
|
_this.requestRender(filename, camera, standalone, renderParameters);
|
|
19633
19656
|
}).catch(function (error) {
|
|
19634
|
-
|
|
19657
|
+
_this.messageService.emit(MessageType.RenderError, { title: 'Upload error', message: error.message });
|
|
19635
19658
|
});
|
|
19636
19659
|
return [2 /*return*/];
|
|
19637
19660
|
});
|
|
@@ -19675,8 +19698,8 @@
|
|
|
19675
19698
|
return dataURL;
|
|
19676
19699
|
};
|
|
19677
19700
|
}
|
|
19678
|
-
}).catch(function (
|
|
19679
|
-
|
|
19701
|
+
}).catch(function (error) {
|
|
19702
|
+
_this.messageService.emit(MessageType.RenderError, { title: 'Render error', message: error.message });
|
|
19680
19703
|
})];
|
|
19681
19704
|
case 1:
|
|
19682
19705
|
_a.sent();
|
|
@@ -24943,7 +24966,7 @@
|
|
|
24943
24966
|
edge: 0,
|
|
24944
24967
|
total: 0,
|
|
24945
24968
|
};
|
|
24946
|
-
console.log(floorMesh.position);
|
|
24969
|
+
// console.log(floorMesh.position);
|
|
24947
24970
|
var _b = this._checkIntersection2(floorMesh, floorPattern, geometry), floorHits = _b.floorHits, edgeHits = _b.edgeHits;
|
|
24948
24971
|
try {
|
|
24949
24972
|
for (var floorHits_1 = __values(floorHits), floorHits_1_1 = floorHits_1.next(); !floorHits_1_1.done; floorHits_1_1 = floorHits_1.next()) {
|
|
@@ -25136,7 +25159,6 @@
|
|
|
25136
25159
|
this.arPlacementUpdate = new rxjs.Subject();
|
|
25137
25160
|
this.showElementToolbar = false;
|
|
25138
25161
|
this.isMouseOverObject = false;
|
|
25139
|
-
this.activeAnswers = [];
|
|
25140
25162
|
this.standAloneFirstBuildReady = false;
|
|
25141
25163
|
this._useNodeIdToLink = true;
|
|
25142
25164
|
this._standAlone = false;
|
|
@@ -25370,7 +25392,7 @@
|
|
|
25370
25392
|
if (looseOriginalConfiguration === void 0) { looseOriginalConfiguration = true; }
|
|
25371
25393
|
if (firstBuild === void 0) { firstBuild = false; }
|
|
25372
25394
|
return __awaiter$G(this, void 0, void 0, function () {
|
|
25373
|
-
var originalInstanceId_1, _a, _b
|
|
25395
|
+
var originalInstanceId_1, _a, _b;
|
|
25374
25396
|
return __generator(this, function (_c) {
|
|
25375
25397
|
switch (_c.label) {
|
|
25376
25398
|
case 0:
|
|
@@ -25413,22 +25435,14 @@
|
|
|
25413
25435
|
this.startPosition = result.metaData.position ? result.metaData.position.clone() : new THREE.Vector3();
|
|
25414
25436
|
return [4 /*yield*/, this._iOne.getQuestionAndAnswersAsync()];
|
|
25415
25437
|
case 7:
|
|
25416
|
-
|
|
25417
|
-
if (
|
|
25418
|
-
this._iOne.handleAnswersReceived(questionAndAnswers.answers);
|
|
25419
|
-
}
|
|
25420
|
-
this._appEventService.answerCountReceived.next(questionAndAnswers.answers.length);
|
|
25421
|
-
if (!(questionAndAnswers.answers.length === 0)) return [3 /*break*/, 9];
|
|
25422
|
-
this.activeAnswers = [];
|
|
25423
|
-
this.activeQuestion = undefined;
|
|
25438
|
+
_c.sent(); // see if there is user input needed
|
|
25439
|
+
if (!(this._iOne.activeAnswers.length === 0)) return [3 /*break*/, 9];
|
|
25424
25440
|
return [4 /*yield*/, this._prepareSelectionsAndDecos(result)
|
|
25425
25441
|
.catch(function (e) { return Promise.reject(e); })];
|
|
25426
25442
|
case 8:
|
|
25427
25443
|
_c.sent();
|
|
25428
25444
|
return [2 /*return*/, this.build(result)];
|
|
25429
25445
|
case 9:
|
|
25430
|
-
this.activeQuestion = questionAndAnswers.question;
|
|
25431
|
-
this.activeAnswers = questionAndAnswers.answers;
|
|
25432
25446
|
if (!firstBuild) return [3 /*break*/, 11];
|
|
25433
25447
|
return [4 /*yield*/, this._prepareSelectionsAndDecos(result)
|
|
25434
25448
|
.catch(function (e) { return Promise.reject(e); })];
|
|
@@ -26053,7 +26067,6 @@
|
|
|
26053
26067
|
if (rebuild === void 0) { rebuild = true; }
|
|
26054
26068
|
if (getAnswers === void 0) { getAnswers = false; }
|
|
26055
26069
|
return __awaiter$G(this, void 0, void 0, function () {
|
|
26056
|
-
var questionAndAnswers;
|
|
26057
26070
|
return __generator(this, function (_a) {
|
|
26058
26071
|
switch (_a.label) {
|
|
26059
26072
|
case 0: return [4 /*yield*/, this._iOne.cancelAnswer()];
|
|
@@ -26066,9 +26079,7 @@
|
|
|
26066
26079
|
if (!getAnswers) return [3 /*break*/, 4];
|
|
26067
26080
|
return [4 /*yield*/, this._iOne.getQuestionAndAnswersAsync()];
|
|
26068
26081
|
case 3:
|
|
26069
|
-
|
|
26070
|
-
this._iOne.handleAnswersReceived(questionAndAnswers.answers);
|
|
26071
|
-
this._appEventService.answerCountReceived.next(questionAndAnswers.answers.length);
|
|
26082
|
+
_a.sent(); // see if there is user input needed
|
|
26072
26083
|
_a.label = 4;
|
|
26073
26084
|
case 4: return [2 /*return*/];
|
|
26074
26085
|
}
|
|
@@ -27264,7 +27275,7 @@
|
|
|
27264
27275
|
return SelectedChildMaterialTextureComponent;
|
|
27265
27276
|
}());
|
|
27266
27277
|
SelectedChildMaterialTextureComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectedChildMaterialTextureComponent, deps: [{ token: HomedecoratorIconCacheService }, { token: SceneService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
27267
|
-
SelectedChildMaterialTextureComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectedChildMaterialTextureComponent, selector: "development-selected-child-material-texture", inputs: { map: "map", title: "title" }, outputs: { mapChange: "mapChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["inputFile"], descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div class=\"map-title-wrapper\">\n <div class=\"map-title\" [textContent]=\"title\"></div>\n <div class=\"collapse-wrapper\">\n <div class=\"collapse-handle\" [class.expanded]=\"showContent\" *ngIf=\"map\" (click)=\"showContent = !showContent\">\n <co-icon class=\"collapse-handle-icon\" [iconData]=\"iconService.getIcon(icon.ArrowPointDown)\"></co-icon>\n </div>\n <div class=\"zoom-button\" [class.expanded]=\"showContent\" *ngIf=\"map\" (click)=\"showLargeImage()\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Magnifier)\"></co-icon>\n </div>\n <div class=\"delete-button\" *ngIf=\"map\" (click)=\"deleteMap()\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Cross)\"></co-icon>\n </div>\n <div class=\"map-image\" (click)=\"uploadImage('map')\">\n <div class=\"no-image\" *ngIf=\"!map || !map.image || !map.image.currentSrc\"></div>\n <img class=\"value\" *ngIf=\"map && map.image && map.image.currentSrc\" [src]=\"map.image.currentSrc\">\n </div>\n </div>\n </div>\n <div class=\"map-content\" *ngIf=\"showContent\" @showHideMapContent>\n <div class=\"label\" [textContent]=\"'anisotrophy'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"map.anisotropy\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'center'\"></div>\n <div class=\"value\">\n <span>x:</span><input type=\"number\" [(ngModel)]=\"map.center.x\" (ngModelChange)=\"render()\">\n <span>y:</span><input type=\"number\" [(ngModel)]=\"map.center.y\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'encoding'\"></div>\n<!-- <mat-form-field class=\"value\">-->\n<!-- <mat-select [(value)]=\"map.encoding\">-->\n<!-- <mat-option *ngFor=\"let encoding of textureEncodingList\" [value]=\"encoding.id\" (click)=\"render()\">-->\n<!-- {{ encoding.description }}-->\n<!-- </mat-option>-->\n<!-- </mat-select>-->\n<!-- </mat-form-field>-->\n <div class=\"label\" [textContent]=\"'flipY'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [ngModel]=\"map.flipY\" (ngModelChange)=\"changeFlip($event)\">\n </div>\n <div class=\"label\" [textContent]=\"'format'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.format\">\n <mat-option *ngFor=\"let format of pixelFormatList\" [value]=\"format.id\" (click)=\"render()\">\n {{ format.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'generateMipmaps'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"map.generateMipmaps\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'magFilter'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.magFilter\">\n <mat-option *ngFor=\"let filter of textureFilterList\" [value]=\"filter.id\" (click)=\"render()\">\n {{ filter.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'mapping'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.mapping\">\n <mat-option *ngFor=\"let mapping of mappingList\" [value]=\"mapping.id\" (click)=\"render()\">\n {{ mapping.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'minFilter'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.minFilter\">\n <mat-option *ngFor=\"let filter of textureFilterList\" [value]=\"filter.id\" (click)=\"render()\">\n {{ filter.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'offset'\"></div>\n <div class=\"value\">\n <span>x:</span><input type=\"number\" [(ngModel)]=\"map.offset.x\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n <span>y:</span><input type=\"number\" [(ngModel)]=\"map.offset.y\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'premultiplyAlpha'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"map.premultiplyAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'repeat'\"></div>\n <div class=\"value\">\n <span>x:</span><input type=\"number\" [(ngModel)]=\"map.repeat.x\" [min]=\"0\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n <span>y:</span><input type=\"number\" [(ngModel)]=\"map.repeat.y\" [min]=\"0\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'rotation'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"map.rotation\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'type'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.type\">\n <mat-option *ngFor=\"let type of typeList\" [value]=\"type.id\" (click)=\"render()\">\n {{ type.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'wrapS'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.wrapS\">\n <mat-option *ngFor=\"let wrapping of wrappingList\" [value]=\"wrapping.id\" (click)=\"render()\">\n {{ wrapping.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'wrapT'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.wrapT\">\n <mat-option *ngFor=\"let wrapping of wrappingList\" [value]=\"wrapping.id\" (click)=\"render()\">\n {{ wrapping.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"large-image-viewer\" *ngIf=\"showZoomImage && viewImageSrc\" (click)=\"hideZoomImage($event)\">\n <div class=\"large-image-viewer-content\">\n <img [src]=\"viewImageSrc\">\n <div class=\"large-image-viewer-close\" (click)=\"hideZoomImage($event)\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Cross)\"></co-icon>\n </div>\n </div>\n </div>\n <input #inputFile [accept]=\"'image/*'\" (change)=\"handleFileChange($event)\" type=\"file\" hidden/>\n ", isInline: true, styles: [".map-title-wrapper{display:flex;flex-direction:row;justify-content:space-between;height:30px}.map-title-wrapper .map-title{display:flex;align-items:center;font-size:12px}.map-title-wrapper .map-title img{height:30px;width:30px}.map-title-wrapper .collapse-wrapper{display:flex;flex-direction:row;grid-column-gap:10px;column-gap:10px}.map-title-wrapper .collapse-wrapper .collapse-handle.expanded{transition:all .2s}.map-title-wrapper .collapse-wrapper .collapse-handle.expanded .collapse-handle-icon{transform:rotate(180deg)}.map-title-wrapper img{height:30px;width:30px}.map-title-wrapper .no-image,.map-title-wrapper img{cursor:pointer;display:flex;height:30px;width:30px;border:1px solid;position:relative}.map-title-wrapper .no-image:before,.map-title-wrapper .no-image:after,.map-title-wrapper img:before,.map-title-wrapper img:after{content:\"\";position:absolute;width:42px;height:42px}.map-title-wrapper .no-image:after,.map-title-wrapper img:after{border-bottom:1px solid;transform:rotate(135deg);top:8px;left:9px}.map-title-wrapper .no-image:before,.map-title-wrapper img:before{border-top:1px solid;transform:rotate(45deg);top:8px;left:-21px}.map-content{display:grid;grid-template-areas:\"label value\";grid-template-columns:175px 1fr;margin-left:10px}.map-content .label{grid-area:label;grid-row:auto;display:flex;align-items:center;border-bottom:1px solid #d3d3d3}.map-content .value{grid-area:value;grid-row:auto;display:flex;height:35px;align-items:center;border-bottom:1px solid #d3d3d3}.map-content .value>*{display:flex;flex-basis:auto;flex-grow:1;flex-shrink:1;width:100%}.map-content .no-image,.map-content img{height:50px;width:50px;border:1px solid}.large-image-viewer{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999}.large-image-viewer .large-image-viewer-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-height:100vh;max-width:100vw}.large-image-viewer .large-image-viewer-content img{border:1px solid white}.large-image-viewer .large-image-viewer-content .large-image-viewer-close{cursor:pointer;position:absolute;top:0;right:0;background:rgba(255,255,255,.5)}\n"], components: [{ type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i9__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i8__namespace.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: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8__namespace.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8__namespace.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i8__namespace.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }], animations: [
|
|
27278
|
+
SelectedChildMaterialTextureComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectedChildMaterialTextureComponent, selector: "development-selected-child-material-texture", inputs: { map: "map", title: "title" }, outputs: { mapChange: "mapChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["inputFile"], descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div class=\"map-title-wrapper\">\n <div class=\"map-title\" [textContent]=\"title\"></div>\n <div class=\"collapse-wrapper\">\n <div class=\"collapse-handle\" [class.expanded]=\"showContent\" *ngIf=\"map\" (click)=\"showContent = !showContent\">\n <co-icon class=\"collapse-handle-icon\" [iconData]=\"iconService.getIcon(icon.ArrowPointDown)\"></co-icon>\n </div>\n <div class=\"zoom-button\" [class.expanded]=\"showContent\" *ngIf=\"map\" (click)=\"showLargeImage()\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Magnifier)\"></co-icon>\n </div>\n <div class=\"delete-button\" *ngIf=\"map\" (click)=\"deleteMap()\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Cross)\"></co-icon>\n </div>\n <div class=\"map-image\" (click)=\"uploadImage('map')\">\n <div class=\"no-image\" *ngIf=\"!map || !map.image || !map.image.currentSrc\"></div>\n <img class=\"value\" *ngIf=\"map && map.image && map.image.currentSrc\" [src]=\"map.image.currentSrc\">\n </div>\n </div>\n </div>\n <div class=\"map-content\" *ngIf=\"showContent\" @showHideMapContent>\n <div class=\"label\" [textContent]=\"'anisotrophy'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"map.anisotropy\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'center'\"></div>\n <div class=\"value\">\n <span>x:</span><input type=\"number\" [(ngModel)]=\"map.center.x\" (ngModelChange)=\"render()\">\n <span>y:</span><input type=\"number\" [(ngModel)]=\"map.center.y\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'encoding'\"></div>\n<!-- <mat-form-field class=\"value\">-->\n<!-- <mat-select [(value)]=\"map.encoding\">-->\n<!-- <mat-option *ngFor=\"let encoding of textureEncodingList\" [value]=\"encoding.id\" (click)=\"render()\">-->\n<!-- {{ encoding.description }}-->\n<!-- </mat-option>-->\n<!-- </mat-select>-->\n<!-- </mat-form-field>-->\n <div class=\"label\" [textContent]=\"'flipY'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [ngModel]=\"map.flipY\" (ngModelChange)=\"changeFlip($event)\">\n </div>\n <div class=\"label\" [textContent]=\"'format'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.format\">\n <mat-option *ngFor=\"let format of pixelFormatList\" [value]=\"format.id\" (click)=\"render()\">\n {{ format.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'generateMipmaps'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"map.generateMipmaps\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'magFilter'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.magFilter\">\n <mat-option *ngFor=\"let filter of textureFilterList\" [value]=\"filter.id\" (click)=\"render()\">\n {{ filter.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'mapping'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.mapping\">\n <mat-option *ngFor=\"let mapping of mappingList\" [value]=\"mapping.id\" (click)=\"render()\">\n {{ mapping.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'minFilter'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.minFilter\">\n <mat-option *ngFor=\"let filter of textureFilterList\" [value]=\"filter.id\" (click)=\"render()\">\n {{ filter.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'offset'\"></div>\n <div class=\"value\">\n <span>x:</span><input type=\"number\" [(ngModel)]=\"map.offset.x\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n <span>y:</span><input type=\"number\" [(ngModel)]=\"map.offset.y\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'premultiplyAlpha'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"map.premultiplyAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'repeat'\"></div>\n <div class=\"value\">\n <span>x:</span><input type=\"number\" [(ngModel)]=\"map.repeat.x\" [min]=\"0\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n <span>y:</span><input type=\"number\" [(ngModel)]=\"map.repeat.y\" [min]=\"0\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'rotation'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"map.rotation\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'type'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.type\">\n <mat-option *ngFor=\"let type of typeList\" [value]=\"type.id\" (click)=\"render()\">\n {{ type.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'wrapS'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.wrapS\">\n <mat-option *ngFor=\"let wrapping of wrappingList\" [value]=\"wrapping.id\" (click)=\"render()\">\n {{ wrapping.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'wrapT'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"map.wrapT\">\n <mat-option *ngFor=\"let wrapping of wrappingList\" [value]=\"wrapping.id\" (click)=\"render()\">\n {{ wrapping.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n <div class=\"large-image-viewer\" *ngIf=\"showZoomImage && viewImageSrc\" (click)=\"hideZoomImage($event)\">\n <div class=\"large-image-viewer-content\">\n <img [src]=\"viewImageSrc\">\n <div class=\"large-image-viewer-close\" (click)=\"hideZoomImage($event)\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Cross)\"></co-icon>\n </div>\n </div>\n </div>\n <input #inputFile [accept]=\"'image/*'\" (change)=\"handleFileChange($event)\" type=\"file\" hidden/>\n ", isInline: true, styles: [".map-title-wrapper{display:flex;flex-direction:row;justify-content:space-between;height:30px}.map-title-wrapper .map-title{display:flex;align-items:center;font-size:12px}.map-title-wrapper .map-title img{height:30px;width:30px}.map-title-wrapper .collapse-wrapper{display:flex;flex-direction:row;grid-column-gap:10px;column-gap:10px}.map-title-wrapper .collapse-wrapper .collapse-handle.expanded{transition:all .2s}.map-title-wrapper .collapse-wrapper .collapse-handle.expanded .collapse-handle-icon{transform:rotate(180deg)}.map-title-wrapper img{height:30px;width:30px}.map-title-wrapper .no-image,.map-title-wrapper img{cursor:pointer;display:flex;height:30px;width:30px;border:1px solid;position:relative}.map-title-wrapper .no-image:before,.map-title-wrapper .no-image:after,.map-title-wrapper img:before,.map-title-wrapper img:after{content:\"\";position:absolute;width:42px;height:42px}.map-title-wrapper .no-image:after,.map-title-wrapper img:after{border-bottom:1px solid;transform:rotate(135deg);top:8px;left:9px}.map-title-wrapper .no-image:before,.map-title-wrapper img:before{border-top:1px solid;transform:rotate(45deg);top:8px;left:-21px}.map-content{display:grid;grid-template-areas:\"label value\";grid-template-columns:175px 1fr;margin-left:10px}.map-content .label{grid-area:label;grid-row:auto;display:flex;align-items:center;border-bottom:1px solid #d3d3d3}.map-content .value{grid-area:value;grid-row:auto;display:flex;height:35px;align-items:center;border-bottom:1px solid #d3d3d3}.map-content .value>*{display:flex;flex-basis:auto;flex-grow:1;flex-shrink:1;width:100%}.map-content .no-image,.map-content img{height:50px;width:50px;border:1px solid}.large-image-viewer{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);z-index:999}.large-image-viewer .large-image-viewer-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);max-height:100vh;max-width:100vw}.large-image-viewer .large-image-viewer-content img{border:1px solid white}.large-image-viewer .large-image-viewer-content .large-image-viewer-close{cursor:pointer;position:absolute;top:0;right:0;background:rgba(255,255,255,.5)}\n"], components: [{ type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i8__namespace.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: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8__namespace.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8__namespace.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i8__namespace.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }], animations: [
|
|
27268
27279
|
animations.trigger('showHideMapContent', [
|
|
27269
27280
|
animations.state('void', animations.style({ 'height': '0', opacity: 0 })),
|
|
27270
27281
|
animations.state('*', animations.style({ 'height': '*', opacity: 1 })),
|
|
@@ -27502,7 +27513,7 @@
|
|
|
27502
27513
|
return SelectedChildMaterialComponent;
|
|
27503
27514
|
}());
|
|
27504
27515
|
SelectedChildMaterialComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectedChildMaterialComponent, deps: [{ token: HomedecoratorIconCacheService }, { token: SceneService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
27505
|
-
SelectedChildMaterialComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectedChildMaterialComponent, selector: "development-selected-child-material", inputs: { material: "material", title: "title" }, outputs: { materialChange: "materialChange" }, ngImport: i0__namespace, template: "\n <ng-container *ngIf=\"material\">\n <div class=\"development-selected-child-material-wrapper\">\n <div class=\"material-map-wrapper\">\n <div class=\"title-wrapper\">\n <span class=\"title\" [textContent]=\"title\"></span>\n <button class=\"save-button\" mat-mini-fab matTooltip=\"{{'SAVE_MATERIAL' | localize}}\" (click)=\"saveMaterial()\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Download)\"></co-icon>\n </button>\n </div>\n <div class=\"selected-child-material-content\">\n <div class=\"label\" [textContent]=\"'alphaToCoverage'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.alphaToCoverage\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'aoMapIntensity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.aoMapIntensity\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'blendDst'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.blendDst\">\n <mat-option *ngFor=\"let blendDstFactor of blendDstFactorList\" [value]=\"blendDstFactor.id\" (click)=\"render()\">\n {{ blendDstFactor.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'blendDstAlpha'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.blendDstAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'blendEquation'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.blendEquation\">\n <mat-option *ngFor=\"let blendingEquation of blendingEquationList\" [value]=\"blendingEquation.id\" (click)=\"render()\">\n {{ blendingEquation.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'blendEquationAlpha'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.blendEquationAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'blendSrc'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.blendSrc\">\n <mat-option *ngFor=\"let blendSrcFactor of blendSrcFactorList\" [value]=\"blendSrcFactor.id\" (click)=\"render()\">\n {{ blendSrcFactor.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'blendSrcAlpha'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.blendSrcAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'blending'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.blending\">\n <mat-option *ngFor=\"let blending of blendingList\" [value]=\"blending.id\" (click)=\"render()\">\n {{ blending.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'bumpScale'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.bumpScale\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'clipIntersection'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.clipIntersection\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'clipShadows'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.clipShadows\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'color'\"></div>\n <div class=\"value\">\n <input type=\"color\" [ngModel]=\"getColor(material.color)\" (ngModelChange)=\"changeColor('color', $event)\">\n </div>\n <div class=\"label\" [textContent]=\"'colorWrite'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.colorWrite\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'depthTest'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.depthTest\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'depthWrite'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.depthWrite\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'displacementBias'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.displacementBias\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'displacementScale'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.displacementScale\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'dithering'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.dithering\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'emissive'\"></div>\n <div class=\"value\">\n <input type=\"color\" [ngModel]=\"getColor(material.emissive)\" (ngModelChange)=\"changeColor('emissive', $event)\">\n </div>\n <div class=\"label\" [textContent]=\"'emissiveIntensity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.emissiveIntensity\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'envMapIntensity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.envMapIntensity\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'flatShading'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.flatShading\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'fog'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.fog\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'format'\"></div>\n<!-- <mat-form-field class=\"value\">-->\n<!-- <mat-select [(value)]=\"material.format\">-->\n<!-- <mat-option *ngFor=\"let pixelFormat of pixelFormatList\" [value]=\"pixelFormat.id\" (click)=\"render()\">-->\n<!-- {{ pixelFormat.description }}-->\n<!-- </mat-option>-->\n<!-- </mat-select>-->\n<!-- </mat-form-field>-->\n <div class=\"label\" [textContent]=\"'lightMapIntensity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.lightMapIntensity\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'metalness'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.metalness\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'normalMapType'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.normalMapType\">\n <mat-option *ngFor=\"let normalMapType of normalMapTypeList\" [value]=\"normalMapType.id\" (click)=\"render()\">\n {{ normalMapType.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'normalScale'\"></div>\n <div class=\"value\">\n <span>x:</span><input type=\"number\" [(ngModel)]=\"material.normalScale.x\" (ngModelChange)=\"render()\">\n <span>y:</span><input type=\"number\" [(ngModel)]=\"material.normalScale.y\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'opacity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.opacity\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'polygonOffset'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.polygonOffset\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'polygonOffsetFactor'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.polygonOffsetFactor\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'polygonOffsetUnits'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.polygonOffsetUnits\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'precision'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.precision\">\n <mat-option *ngFor=\"let precision of precisionList\" [value]=\"precision.id\" (click)=\"render()\">\n {{ precision.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'premultipliedAlpha'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.premultipliedAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'reflectivity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.reflectivity\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'refractionRatio'\"></div>\n<!-- <div class=\"value\">-->\n<!-- <input type=\"number\" [(ngModel)]=\"material.refractionRatio\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">-->\n<!-- </div>-->\n <div class=\"label\" [textContent]=\"'roughness'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.roughness\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'shadowSide'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.shadowSide\">\n <mat-option *ngFor=\"let side of sideListWithEmpty\" [value]=\"side.id\" (click)=\"render()\">\n {{ side.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'sheen'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.sheen\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'sheenColor'\"></div>\n <div class=\"value\">\n <input type=\"color\" [ngModel]=\"getColor(material.sheenColor)\" (ngModelChange)=\"changeColor('sheenColor', $event)\">\n </div>\n <div class=\"label\" [textContent]=\"'sheenRougness'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.sheenRoughness\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'side'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.side\">\n <mat-option *ngFor=\"let side of sideList\" [value]=\"side.id\" (click)=\"render()\">\n {{ side.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'stencilFail'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.stencilFail\">\n <mat-option *ngFor=\"let stencilOp of stencilOpList\" [value]=\"stencilOp.id\" (click)=\"render()\">\n {{ stencilOp.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'stencilFunc'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.stencilFunc\">\n <mat-option *ngFor=\"let stencilFunc of stencilFuncList\" [value]=\"stencilFunc.id\" (click)=\"render()\">\n {{ stencilFunc.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'stencilFuncMask'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.stencilFuncMask\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'stencilRef'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.stencilRef\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'stencilWrite'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.stencilWrite\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'stencilWriteMask'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.stencilWriteMask\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'stencilZFail'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.stencilZFail\">\n <mat-option *ngFor=\"let stencilOp of stencilOpList\" [value]=\"stencilOp.id\" (click)=\"render()\">\n {{ stencilOp.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'stencilZPass'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.stencilZPass\">\n <mat-option *ngFor=\"let stencilOp of stencilOpList\" [value]=\"stencilOp.id\" (click)=\"render()\">\n {{ stencilOp.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'toneMapped'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.toneMapped\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'transparent'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.transparent\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'type'\"></div>\n <div class=\"value\">\n <input type=\"text\" [(ngModel)]=\"material.type\" readonly>\n </div>\n <div class=\"label\" [textContent]=\"'uuid'\"></div>\n <div class=\"value\">\n <input type=\"text\" [(ngModel)]=\"material.uuid\" readonly>\n </div>\n <div class=\"label\" [textContent]=\"'version'\"></div>\n <div class=\"value\">\n <input type=\"text\" [(ngModel)]=\"material.version\" readonly>\n </div>\n <div class=\"label\" [textContent]=\"'vertexColors'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.vertexColors\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'visible'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.visible\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'wireframe'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.wireframe\" (ngModelChange)=\"render()\">\n </div>\n </div>\n <div class=\"map-wrapper\">\n <development-selected-child-material-texture [title]=\"'alphaMap'\" [(map)]=\"material.alphaMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'aoMap'\" [(map)]=\"material.aoMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'bumpMap'\" [(map)]=\"material.bumpMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'displacementMap'\" [(map)]=\"material.displacementMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'emissiveMap'\" [(map)]=\"material.emissiveMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'envMap'\" [(map)]=\"material.envMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'lightMap'\" [(map)]=\"material.lightMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'map'\" [(map)]=\"material.map\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'metalnessMap'\" [(map)]=\"material.metalnessMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'normalMap'\" [(map)]=\"material.normalMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'roughnessMap'\" [(map)]=\"material.roughnessMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'sheenRoughnessMap'\" [(map)]=\"material.sheenRoughnessMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'sheenColorMap'\" [(map)]=\"material.sheenColorMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n </div>\n </div>\n </div>\n </ng-container>\n ", isInline: true, styles: [".development-selected-child-material-wrapper{font-size:12px;position:fixed;right:0;top:65px;width:400px;height:100%;background:white;box-shadow:0 0 4px #01010180;z-index:10}.development-selected-child-material-wrapper .material-map-wrapper{padding:10px;height:calc(100% - 85px);overflow-y:auto;overflow-x:hidden}.development-selected-child-material-wrapper .selected-child-material-content{display:grid;grid-template-areas:\"label value\";grid-template-columns:175px 1fr}.development-selected-child-material-wrapper .title{font-size:14px;font-weight:bold;margin-bottom:10px}.development-selected-child-material-wrapper .label{grid-area:label;grid-row:auto;display:flex;align-items:center;height:30px;border-bottom:1px solid #9bb0d0;background-color:#e4edf4}.development-selected-child-material-wrapper .value{grid-area:value;grid-row:auto;display:flex;align-items:center;height:30px;border-bottom:1px solid #9bb0d0;background-color:#e4edf4}\n"], components: [{ type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i9__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: SelectedChildMaterialTextureComponent, selector: "development-selected-child-material-texture", inputs: ["map", "title"], outputs: ["mapChange"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i8__namespace.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8__namespace.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i8__namespace.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: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8__namespace.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i8__namespace.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }], pipes: { "localize": LocalizePipe } });
|
|
27516
|
+
SelectedChildMaterialComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SelectedChildMaterialComponent, selector: "development-selected-child-material", inputs: { material: "material", title: "title" }, outputs: { materialChange: "materialChange" }, ngImport: i0__namespace, template: "\n <ng-container *ngIf=\"material\">\n <div class=\"development-selected-child-material-wrapper\">\n <div class=\"material-map-wrapper\">\n <div class=\"title-wrapper\">\n <span class=\"title\" [textContent]=\"title\"></span>\n <button class=\"save-button\" mat-mini-fab matTooltip=\"{{'SAVE_MATERIAL' | localize}}\" (click)=\"saveMaterial()\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Download)\"></co-icon>\n </button>\n </div>\n <div class=\"selected-child-material-content\">\n <div class=\"label\" [textContent]=\"'alphaToCoverage'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.alphaToCoverage\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'aoMapIntensity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.aoMapIntensity\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'blendDst'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.blendDst\">\n <mat-option *ngFor=\"let blendDstFactor of blendDstFactorList\" [value]=\"blendDstFactor.id\" (click)=\"render()\">\n {{ blendDstFactor.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'blendDstAlpha'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.blendDstAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'blendEquation'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.blendEquation\">\n <mat-option *ngFor=\"let blendingEquation of blendingEquationList\" [value]=\"blendingEquation.id\" (click)=\"render()\">\n {{ blendingEquation.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'blendEquationAlpha'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.blendEquationAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'blendSrc'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.blendSrc\">\n <mat-option *ngFor=\"let blendSrcFactor of blendSrcFactorList\" [value]=\"blendSrcFactor.id\" (click)=\"render()\">\n {{ blendSrcFactor.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'blendSrcAlpha'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.blendSrcAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'blending'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.blending\">\n <mat-option *ngFor=\"let blending of blendingList\" [value]=\"blending.id\" (click)=\"render()\">\n {{ blending.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'bumpScale'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.bumpScale\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'clipIntersection'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.clipIntersection\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'clipShadows'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.clipShadows\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'color'\"></div>\n <div class=\"value\">\n <input type=\"color\" [ngModel]=\"getColor(material.color)\" (ngModelChange)=\"changeColor('color', $event)\">\n </div>\n <div class=\"label\" [textContent]=\"'colorWrite'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.colorWrite\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'depthTest'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.depthTest\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'depthWrite'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.depthWrite\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'displacementBias'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.displacementBias\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'displacementScale'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.displacementScale\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'dithering'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.dithering\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'emissive'\"></div>\n <div class=\"value\">\n <input type=\"color\" [ngModel]=\"getColor(material.emissive)\" (ngModelChange)=\"changeColor('emissive', $event)\">\n </div>\n <div class=\"label\" [textContent]=\"'emissiveIntensity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.emissiveIntensity\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'envMapIntensity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.envMapIntensity\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'flatShading'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.flatShading\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'fog'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.fog\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'format'\"></div>\n<!-- <mat-form-field class=\"value\">-->\n<!-- <mat-select [(value)]=\"material.format\">-->\n<!-- <mat-option *ngFor=\"let pixelFormat of pixelFormatList\" [value]=\"pixelFormat.id\" (click)=\"render()\">-->\n<!-- {{ pixelFormat.description }}-->\n<!-- </mat-option>-->\n<!-- </mat-select>-->\n<!-- </mat-form-field>-->\n <div class=\"label\" [textContent]=\"'lightMapIntensity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.lightMapIntensity\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'metalness'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.metalness\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'normalMapType'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.normalMapType\">\n <mat-option *ngFor=\"let normalMapType of normalMapTypeList\" [value]=\"normalMapType.id\" (click)=\"render()\">\n {{ normalMapType.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'normalScale'\"></div>\n <div class=\"value\">\n <span>x:</span><input type=\"number\" [(ngModel)]=\"material.normalScale.x\" (ngModelChange)=\"render()\">\n <span>y:</span><input type=\"number\" [(ngModel)]=\"material.normalScale.y\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'opacity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.opacity\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'polygonOffset'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.polygonOffset\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'polygonOffsetFactor'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.polygonOffsetFactor\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'polygonOffsetUnits'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.polygonOffsetUnits\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'precision'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.precision\">\n <mat-option *ngFor=\"let precision of precisionList\" [value]=\"precision.id\" (click)=\"render()\">\n {{ precision.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'premultipliedAlpha'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.premultipliedAlpha\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'reflectivity'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.reflectivity\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'refractionRatio'\"></div>\n<!-- <div class=\"value\">-->\n<!-- <input type=\"number\" [(ngModel)]=\"material.refractionRatio\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">-->\n<!-- </div>-->\n <div class=\"label\" [textContent]=\"'roughness'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.roughness\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'shadowSide'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.shadowSide\">\n <mat-option *ngFor=\"let side of sideListWithEmpty\" [value]=\"side.id\" (click)=\"render()\">\n {{ side.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'sheen'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.sheen\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'sheenColor'\"></div>\n <div class=\"value\">\n <input type=\"color\" [ngModel]=\"getColor(material.sheenColor)\" (ngModelChange)=\"changeColor('sheenColor', $event)\">\n </div>\n <div class=\"label\" [textContent]=\"'sheenRougness'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.sheenRoughness\" [min]=\"0\" [max]=\"1\" [step]=\"0.01\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'side'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.side\">\n <mat-option *ngFor=\"let side of sideList\" [value]=\"side.id\" (click)=\"render()\">\n {{ side.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'stencilFail'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.stencilFail\">\n <mat-option *ngFor=\"let stencilOp of stencilOpList\" [value]=\"stencilOp.id\" (click)=\"render()\">\n {{ stencilOp.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'stencilFunc'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.stencilFunc\">\n <mat-option *ngFor=\"let stencilFunc of stencilFuncList\" [value]=\"stencilFunc.id\" (click)=\"render()\">\n {{ stencilFunc.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'stencilFuncMask'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.stencilFuncMask\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'stencilRef'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.stencilRef\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'stencilWrite'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.stencilWrite\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'stencilWriteMask'\"></div>\n <div class=\"value\">\n <input type=\"number\" [(ngModel)]=\"material.stencilWriteMask\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'stencilZFail'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.stencilZFail\">\n <mat-option *ngFor=\"let stencilOp of stencilOpList\" [value]=\"stencilOp.id\" (click)=\"render()\">\n {{ stencilOp.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'stencilZPass'\"></div>\n <mat-form-field class=\"value\">\n <mat-select [(value)]=\"material.stencilZPass\">\n <mat-option *ngFor=\"let stencilOp of stencilOpList\" [value]=\"stencilOp.id\" (click)=\"render()\">\n {{ stencilOp.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n <div class=\"label\" [textContent]=\"'toneMapped'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.toneMapped\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'transparent'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.transparent\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'type'\"></div>\n <div class=\"value\">\n <input type=\"text\" [(ngModel)]=\"material.type\" readonly>\n </div>\n <div class=\"label\" [textContent]=\"'uuid'\"></div>\n <div class=\"value\">\n <input type=\"text\" [(ngModel)]=\"material.uuid\" readonly>\n </div>\n <div class=\"label\" [textContent]=\"'version'\"></div>\n <div class=\"value\">\n <input type=\"text\" [(ngModel)]=\"material.version\" readonly>\n </div>\n <div class=\"label\" [textContent]=\"'vertexColors'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.vertexColors\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'visible'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.visible\" (ngModelChange)=\"render()\">\n </div>\n <div class=\"label\" [textContent]=\"'wireframe'\"></div>\n <div class=\"value\">\n <input type=\"checkbox\" [(ngModel)]=\"material.wireframe\" (ngModelChange)=\"render()\">\n </div>\n </div>\n <div class=\"map-wrapper\">\n <development-selected-child-material-texture [title]=\"'alphaMap'\" [(map)]=\"material.alphaMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'aoMap'\" [(map)]=\"material.aoMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'bumpMap'\" [(map)]=\"material.bumpMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'displacementMap'\" [(map)]=\"material.displacementMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'emissiveMap'\" [(map)]=\"material.emissiveMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'envMap'\" [(map)]=\"material.envMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'lightMap'\" [(map)]=\"material.lightMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'map'\" [(map)]=\"material.map\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'metalnessMap'\" [(map)]=\"material.metalnessMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'normalMap'\" [(map)]=\"material.normalMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'roughnessMap'\" [(map)]=\"material.roughnessMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'sheenRoughnessMap'\" [(map)]=\"material.sheenRoughnessMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n <development-selected-child-material-texture [title]=\"'sheenColorMap'\" [(map)]=\"material.sheenColorMap\" (mapChange)=\"handleMapChange($event)\"></development-selected-child-material-texture>\n </div>\n </div>\n </div>\n </ng-container>\n ", isInline: true, styles: [".development-selected-child-material-wrapper{font-size:12px;position:fixed;right:0;top:65px;width:400px;height:100%;background:white;box-shadow:0 0 4px #01010180;z-index:10}.development-selected-child-material-wrapper .material-map-wrapper{padding:10px;height:calc(100% - 85px);overflow-y:auto;overflow-x:hidden}.development-selected-child-material-wrapper .selected-child-material-content{display:grid;grid-template-areas:\"label value\";grid-template-columns:175px 1fr}.development-selected-child-material-wrapper .title{font-size:14px;font-weight:bold;margin-bottom:10px}.development-selected-child-material-wrapper .label{grid-area:label;grid-row:auto;display:flex;align-items:center;height:30px;border-bottom:1px solid #9bb0d0;background-color:#e4edf4}.development-selected-child-material-wrapper .value{grid-area:value;grid-row:auto;display:flex;align-items:center;height:30px;border-bottom:1px solid #9bb0d0;background-color:#e4edf4}\n"], components: [{ type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: SelectedChildMaterialTextureComponent, selector: "development-selected-child-material-texture", inputs: ["map", "title"], outputs: ["mapChange"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i8__namespace.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8__namespace.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i8__namespace.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: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8__namespace.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { type: i8__namespace.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }], pipes: { "localize": LocalizePipe } });
|
|
27506
27517
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SelectedChildMaterialComponent, decorators: [{
|
|
27507
27518
|
type: i0.Component,
|
|
27508
27519
|
args: [{
|
|
@@ -28442,7 +28453,7 @@
|
|
|
28442
28453
|
return EditLightComponent;
|
|
28443
28454
|
}());
|
|
28444
28455
|
EditLightComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditLightComponent, deps: [{ token: SceneService }, { token: LightsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
28445
|
-
EditLightComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditLightComponent, selector: "edit-light", inputs: { light: "light" }, outputs: { okClick: "okClick", cancelClick: "cancelClick" }, host: { listeners: { "document:mousemove": "moveDialog($event)", "document:mouseup": "cancelMoveDialog($event)" } }, viewQueries: [{ propertyName: "dialogElement", first: true, predicate: ["dialog"], descendants: true, read: i0.ElementRef, static: true }], ngImport: i0__namespace, template: "<div class=\"edit-popup\" #dialog @showHideDialog [style.top.px]=\"top\" [style.left.px]=\"left\">\r\n <div class=\"title-bar\">\r\n <div class=\"title-bar-move\" (mousedown)=\"handleTitleMouseMove($event)\">\r\n <div class=\"title-description\" [textContent]=\"'EDIT' | localize\"></div>\r\n </div>\r\n <button mat-icon-button class=\"hide-dialog\" (click)=\"hidePopup()\">\r\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"edit-popup-wrapper\">\r\n <mat-form-field class=\"full-width\">\r\n <mat-label [textContent]=\"'NAME' | localize\"></mat-label>\r\n <input matInput [(ngModel)]=\"light.name\">\r\n </mat-form-field>\r\n <div class=\"key-value-grid\">\r\n <span class=\"key\" [textContent]=\"'VISIBLE' | localize\"></span>\r\n <mat-checkbox class=\"value\" [(ngModel)]=\"light.visible\" (ngModelChange)=\"render()\"></mat-checkbox>\r\n <span class=\"value-readonly\"></span>\r\n\r\n <ng-container *ngIf=\"light.type === 'DirectionalLight'\">\r\n <span class=\"key\" [textContent]=\"'TOP-DOWN-DIRECTIONAL' | localize\"></span>\r\n <mat-checkbox class=\"value\" [(ngModel)]=\"light.userData.topDownDirectional\" (ngModelChange)=\"this.updateOffsets(light)\"></mat-checkbox>\r\n <span class=\"value-readonly\"></span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasPosition && !light.userData.topDownDirectional\">\r\n\r\n <span class=\"key\" [textContent]=\"'WALL-OFFSET'\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"50\" step=\"1\" [(ngModel)]=\"light.userData.wallOffset\" (ngModelChange)=\"this.updateOffsets(light)\"></mat-slider>\r\n <input matInput type=\"number\" [(ngModel)]=\"light.userData.wallOffset\" (ngModelChange)=\"render()\">\r\n\r\n <span class=\"key\" [textContent]=\"'ROTATION-OFFSET'\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"359\" step=\"1\" [(ngModel)]=\"light.userData.rotationOffset\" (ngModelChange)=\"this.updateOffsets(light)\"></mat-slider>\r\n <input matInput type=\"number\" [(ngModel)]=\"light.userData.rotationOffset\" (ngModelChange)=\"render()\">\r\n\r\n <span class=\"key\" [textContent]=\"'Y'\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"50\" step=\"1\" [(ngModel)]=\"light.position.y\" (ngModelChange)=\"render()\"></mat-slider>\r\n <input matInput type=\"number\" [(ngModel)]=\"light.position.y\" (ngModelChange)=\"render()\">\r\n\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"light.hasOwnProperty('color')\">\r\n <span class=\"key\" [textContent]=\"'COLOR' | localize\"></span>\r\n <input class=\"value\" type=\"color\" matInput [ngModel]=\"lightColor\" (ngModelChange)=\"changeLightColor($event)\">\r\n <span class=\"value-readonly\" [textContent]=\"lightColor\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"light.hasOwnProperty('groundColor')\">\r\n <span class=\"key\" [textContent]=\"'GROUND_COLOR' | localize\"></span>\r\n <input class=\"value\" type=\"color\" matInput [ngModel]=\"lightGroundColor\" (ngModelChange)=\"changeGroundLightColor($event)\">\r\n <span class=\"value-readonly\" [textContent]=\"lightGroundColor\"></span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"light.hasOwnProperty('intensity')\">\r\n <span class=\"key\" [textContent]=\"'INTENSITY' | localize\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.intensity\" (ngModelChange)=\"render()\"></mat-slider>\r\n <input matInput type=\"number\" [(ngModel)]=\"light.intensity\" (ngModelChange)=\"render()\">\r\n </ng-container>\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('angle')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'ANGLE' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.angle\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.angle\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('power')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'POWER' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.power\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.power\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('decay')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'DECAY' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"4\" step=\"0.001\" [(ngModel)]=\"light.decay\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.decay\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('distance')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'DISTANCE' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.distance\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.distance\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('penumbra')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'PENUMBRA' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"1\" step=\"0.01\" [(ngModel)]=\"light.penumbra\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.penumbra\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('bias')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'BIAS' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.bias\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.bias\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('radius')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'RADIUS' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.radius\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [value]=\"!light.radius ? 0 : light.radius\" [(ngModel)]=\"light.radius\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n <ng-container *ngIf=\"light.hasOwnProperty('castShadow')\">\r\n <span class=\"key\" [textContent]=\"'CAST_SHADOW' | localize\"></span>\r\n <mat-checkbox class=\"value\" [(ngModel)]=\"light.castShadow\" (ngModelChange)=\"render()\"></mat-checkbox>\r\n <span class=\"value-readonly\"></span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"light.hasOwnProperty('shadow')\">\r\n <span class=\"key\" [textContent]=\"'NEAR' | localize\"></span>\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"50\" step=\"1\" [(ngModel)]=\"light.shadow.near\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [value]=\"light.shadow.near\" [(ngModel)]=\"light.shadow.near\" (ngModelChange)=\"render()\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'FAR' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"50\" step=\"1\" [(ngModel)]=\"light.shadow.far\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [value]=\"light.shadow.far\" [(ngModel)]=\"light.shadow.far\" (ngModelChange)=\"render()\">-->\r\n <span class=\"key\" [textContent]=\"'SHADOW_MAPSIZE' | localize\"></span>\r\n <mat-select class=\"dropdown-container\" [value]=\"light.shadow.mapSize.x\">\r\n <mat-option *ngFor=\"let mapSize of mapSizes\" [value]=\"mapSize\" (click)=\"updateShadowMapSize(mapSize)\">\r\n {{ mapSize }}\r\n </mat-option>\r\n </mat-select>\r\n <span class=\"value-readonly\"></span>\r\n <span class=\"key\" [textContent]=\"'SHADOW_MAP_RADIUS' | localize\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"5\" step=\"0.1\" [(ngModel)]=\"light.shadow.radius\" (ngModelChange)=\"updateShadowMap()\"></mat-slider>\r\n <input matInput type=\"number\" [placeholder]=\"0\" [value]=\"light.shadow.radius\" [(ngModel)]=\"light.shadow.radius\" (ngModelChange)=\"updateShadowMap()\">\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasHelper\">\r\n <span class=\"key\" [textContent]=\"'HELPER' | localize\"></span>\r\n <mat-checkbox class=\"value\" [ngModel]=\"lightHelper\" (ngModelChange)=\"showHideHelper($event)\"></mat-checkbox>\r\n <span class=\"value-readonly\"></span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"button-wrapper\">\r\n <button mat-button class=\"custom-button\" (click)=\"cancel()\">\r\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">cancel</mat-icon>\r\n {{ 'CANCEL' | localize}}\r\n </button>\r\n <button mat-button class=\"custom-button\" (click)=\"save()\">\r\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">save</mat-icon>\r\n {{ 'SAVE' | localize}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host .edit-wrapper{display:flex;flex-direction:row;align-items:center}:host .custom-button{font-size:11px;border:1px solid #3760a1;border-radius:25px}:host .edit-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:1px 1px 3px 2px #0101014d;background:white;min-height:400px;min-width:500px;display:flex;flex-direction:column;z-index:905}:host .edit-popup .title-bar{display:flex;justify-content:space-between;background:#3760a1;color:#fff;padding-left:10px}:host .edit-popup .title-bar .title-bar-move{display:flex;flex-basis:100%;align-items:center}:host .edit-popup .title-bar .title-bar-move .title-description{-webkit-user-select:none;user-select:none}:host .edit-popup .title-bar mat-icon{color:#fff}:host .edit-popup .edit-popup-wrapper{padding:15px;font-size:14px;overflow-y:auto}:host .edit-popup .button-wrapper{display:flex;align-items:center;justify-content:flex-end;height:60px;padding:10px;bottom:0;right:0}:host .edit-popup .button-wrapper .custom-button:not(last-child){margin-right:10px}:host .edit-popup .full-width{width:100%}:host .edit-popup .key-value-grid{display:grid;grid-template-columns:30% 60% 10%;grid-auto-rows:30px}:host .edit-popup .key-value-grid .key,:host .edit-popup .key-value-grid .value,:host .edit-popup .key-value-grid .value-readonly{align-self:center}:host .edit-popup .key-value-grid mat-slider{height:30px}:host .edit-popup .key-value-grid ::ng-deep .mat-slider-horizontal .mat-slider-wrapper{top:50%}:host .dropdown-container{display:flex;flex-direction:column;justify-content:center}\n"], components: [{ type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i1__namespace$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i7__namespace$1.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "vertical", "displayWith", "valueText"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }, { type: i9__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i7__namespace.MatLabel, selector: "mat-label" }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i8__namespace.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: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "localize": LocalizePipe }, animations: [
|
|
28456
|
+
EditLightComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditLightComponent, selector: "edit-light", inputs: { light: "light" }, outputs: { okClick: "okClick", cancelClick: "cancelClick" }, host: { listeners: { "document:mousemove": "moveDialog($event)", "document:mouseup": "cancelMoveDialog($event)" } }, viewQueries: [{ propertyName: "dialogElement", first: true, predicate: ["dialog"], descendants: true, read: i0.ElementRef, static: true }], ngImport: i0__namespace, template: "<div class=\"edit-popup\" #dialog @showHideDialog [style.top.px]=\"top\" [style.left.px]=\"left\">\r\n <div class=\"title-bar\">\r\n <div class=\"title-bar-move\" (mousedown)=\"handleTitleMouseMove($event)\">\r\n <div class=\"title-description\" [textContent]=\"'EDIT' | localize\"></div>\r\n </div>\r\n <button mat-icon-button class=\"hide-dialog\" (click)=\"hidePopup()\">\r\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">close</mat-icon>\r\n </button>\r\n </div>\r\n <div class=\"edit-popup-wrapper\">\r\n <mat-form-field class=\"full-width\">\r\n <mat-label [textContent]=\"'NAME' | localize\"></mat-label>\r\n <input matInput [(ngModel)]=\"light.name\">\r\n </mat-form-field>\r\n <div class=\"key-value-grid\">\r\n <span class=\"key\" [textContent]=\"'VISIBLE' | localize\"></span>\r\n <mat-checkbox class=\"value\" [(ngModel)]=\"light.visible\" (ngModelChange)=\"render()\"></mat-checkbox>\r\n <span class=\"value-readonly\"></span>\r\n\r\n <ng-container *ngIf=\"light.type === 'DirectionalLight'\">\r\n <span class=\"key\" [textContent]=\"'TOP-DOWN-DIRECTIONAL' | localize\"></span>\r\n <mat-checkbox class=\"value\" [(ngModel)]=\"light.userData.topDownDirectional\" (ngModelChange)=\"this.updateOffsets(light)\"></mat-checkbox>\r\n <span class=\"value-readonly\"></span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasPosition && !light.userData.topDownDirectional\">\r\n\r\n <span class=\"key\" [textContent]=\"'WALL-OFFSET'\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"50\" step=\"1\" [(ngModel)]=\"light.userData.wallOffset\" (ngModelChange)=\"this.updateOffsets(light)\"></mat-slider>\r\n <input matInput type=\"number\" [(ngModel)]=\"light.userData.wallOffset\" (ngModelChange)=\"render()\">\r\n\r\n <span class=\"key\" [textContent]=\"'ROTATION-OFFSET'\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"359\" step=\"1\" [(ngModel)]=\"light.userData.rotationOffset\" (ngModelChange)=\"this.updateOffsets(light)\"></mat-slider>\r\n <input matInput type=\"number\" [(ngModel)]=\"light.userData.rotationOffset\" (ngModelChange)=\"render()\">\r\n\r\n <span class=\"key\" [textContent]=\"'Y'\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"50\" step=\"1\" [(ngModel)]=\"light.position.y\" (ngModelChange)=\"render()\"></mat-slider>\r\n <input matInput type=\"number\" [(ngModel)]=\"light.position.y\" (ngModelChange)=\"render()\">\r\n\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"light.hasOwnProperty('color')\">\r\n <span class=\"key\" [textContent]=\"'COLOR' | localize\"></span>\r\n <input class=\"value\" type=\"color\" matInput [ngModel]=\"lightColor\" (ngModelChange)=\"changeLightColor($event)\">\r\n <span class=\"value-readonly\" [textContent]=\"lightColor\"></span>\r\n </ng-container>\r\n <ng-container *ngIf=\"light.hasOwnProperty('groundColor')\">\r\n <span class=\"key\" [textContent]=\"'GROUND_COLOR' | localize\"></span>\r\n <input class=\"value\" type=\"color\" matInput [ngModel]=\"lightGroundColor\" (ngModelChange)=\"changeGroundLightColor($event)\">\r\n <span class=\"value-readonly\" [textContent]=\"lightGroundColor\"></span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"light.hasOwnProperty('intensity')\">\r\n <span class=\"key\" [textContent]=\"'INTENSITY' | localize\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.intensity\" (ngModelChange)=\"render()\"></mat-slider>\r\n <input matInput type=\"number\" [(ngModel)]=\"light.intensity\" (ngModelChange)=\"render()\">\r\n </ng-container>\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('angle')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'ANGLE' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.angle\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.angle\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('power')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'POWER' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.power\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.power\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('decay')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'DECAY' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"4\" step=\"0.001\" [(ngModel)]=\"light.decay\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.decay\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('distance')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'DISTANCE' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.distance\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.distance\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('penumbra')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'PENUMBRA' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"1\" step=\"0.01\" [(ngModel)]=\"light.penumbra\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.penumbra\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('bias')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'BIAS' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.bias\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [(ngModel)]=\"light.bias\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n<!-- <ng-container *ngIf=\"light.hasOwnProperty('radius')\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'RADIUS' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"20\" step=\"0.01\" [(ngModel)]=\"light.radius\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [value]=\"!light.radius ? 0 : light.radius\" [(ngModel)]=\"light.radius\" (ngModelChange)=\"render()\">-->\r\n<!-- </ng-container>-->\r\n\r\n <ng-container *ngIf=\"light.hasOwnProperty('castShadow')\">\r\n <span class=\"key\" [textContent]=\"'CAST_SHADOW' | localize\"></span>\r\n <mat-checkbox class=\"value\" [(ngModel)]=\"light.castShadow\" (ngModelChange)=\"render()\"></mat-checkbox>\r\n <span class=\"value-readonly\"></span>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"light.hasOwnProperty('shadow')\">\r\n <span class=\"key\" [textContent]=\"'NEAR' | localize\"></span>\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"50\" step=\"1\" [(ngModel)]=\"light.shadow.near\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [value]=\"light.shadow.near\" [(ngModel)]=\"light.shadow.near\" (ngModelChange)=\"render()\">-->\r\n<!-- <span class=\"key\" [textContent]=\"'FAR' | localize\"></span>-->\r\n<!-- <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"50\" step=\"1\" [(ngModel)]=\"light.shadow.far\" (ngModelChange)=\"render()\"></mat-slider>-->\r\n<!-- <input matInput type=\"number\" [placeholder]=\"0\" [value]=\"light.shadow.far\" [(ngModel)]=\"light.shadow.far\" (ngModelChange)=\"render()\">-->\r\n <span class=\"key\" [textContent]=\"'SHADOW_MAPSIZE' | localize\"></span>\r\n <mat-select class=\"dropdown-container\" [value]=\"light.shadow.mapSize.x\">\r\n <mat-option *ngFor=\"let mapSize of mapSizes\" [value]=\"mapSize\" (click)=\"updateShadowMapSize(mapSize)\">\r\n {{ mapSize }}\r\n </mat-option>\r\n </mat-select>\r\n <span class=\"value-readonly\"></span>\r\n <span class=\"key\" [textContent]=\"'SHADOW_MAP_RADIUS' | localize\"></span>\r\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"5\" step=\"0.1\" [(ngModel)]=\"light.shadow.radius\" (ngModelChange)=\"updateShadowMap()\"></mat-slider>\r\n <input matInput type=\"number\" [placeholder]=\"0\" [value]=\"light.shadow.radius\" [(ngModel)]=\"light.shadow.radius\" (ngModelChange)=\"updateShadowMap()\">\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"hasHelper\">\r\n <span class=\"key\" [textContent]=\"'HELPER' | localize\"></span>\r\n <mat-checkbox class=\"value\" [ngModel]=\"lightHelper\" (ngModelChange)=\"showHideHelper($event)\"></mat-checkbox>\r\n <span class=\"value-readonly\"></span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"button-wrapper\">\r\n <button mat-button class=\"custom-button\" (click)=\"cancel()\">\r\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">cancel</mat-icon>\r\n {{ 'CANCEL' | localize}}\r\n </button>\r\n <button mat-button class=\"custom-button\" (click)=\"save()\">\r\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">save</mat-icon>\r\n {{ 'SAVE' | localize}}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [":host .edit-wrapper{display:flex;flex-direction:row;align-items:center}:host .custom-button{font-size:11px;border:1px solid #3760a1;border-radius:25px}:host .edit-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:1px 1px 3px 2px #0101014d;background:white;min-height:400px;min-width:500px;display:flex;flex-direction:column;z-index:905}:host .edit-popup .title-bar{display:flex;justify-content:space-between;background:#3760a1;color:#fff;padding-left:10px}:host .edit-popup .title-bar .title-bar-move{display:flex;flex-basis:100%;align-items:center}:host .edit-popup .title-bar .title-bar-move .title-description{-webkit-user-select:none;user-select:none}:host .edit-popup .title-bar mat-icon{color:#fff}:host .edit-popup .edit-popup-wrapper{padding:15px;font-size:14px;overflow-y:auto}:host .edit-popup .button-wrapper{display:flex;align-items:center;justify-content:flex-end;height:60px;padding:10px;bottom:0;right:0}:host .edit-popup .button-wrapper .custom-button:not(last-child){margin-right:10px}:host .edit-popup .full-width{width:100%}:host .edit-popup .key-value-grid{display:grid;grid-template-columns:30% 60% 10%;grid-auto-rows:30px}:host .edit-popup .key-value-grid .key,:host .edit-popup .key-value-grid .value,:host .edit-popup .key-value-grid .value-readonly{align-self:center}:host .edit-popup .key-value-grid mat-slider{height:30px}:host .edit-popup .key-value-grid ::ng-deep .mat-slider-horizontal .mat-slider-wrapper{top:50%}:host .dropdown-container{display:flex;flex-direction:column;justify-content:center}\n"], components: [{ type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i1__namespace$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i7__namespace$1.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "vertical", "displayWith", "valueText"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i7__namespace.MatLabel, selector: "mat-label" }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i8__namespace.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: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "localize": LocalizePipe }, animations: [
|
|
28446
28457
|
animations.trigger('showHideDialog', [
|
|
28447
28458
|
animations.state('void', animations.style({ opacity: 0 })),
|
|
28448
28459
|
animations.state('*', animations.style({ opacity: 1 })),
|
|
@@ -28540,7 +28551,7 @@
|
|
|
28540
28551
|
return EditLightplanComponent;
|
|
28541
28552
|
}());
|
|
28542
28553
|
EditLightplanComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditLightplanComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
28543
|
-
EditLightplanComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditLightplanComponent, selector: "edit-lightplan", inputs: { lightPreset: "lightPreset" }, outputs: { saveClick: "saveClick", cancelClick: "cancelClick" }, ngImport: i0__namespace, template: "\n <div class=\"edit-popup\">\n <div class=\"title-bar\">\n <div class=\"title-description\" [textContent]=\"'EDIT' | localize\"></div>\n </div>\n <div class=\"edit-popup-wrapper\">\n <mat-form-field class=\"full-width\">\n <mat-label [textContent]=\"'NAME' | localize\"></mat-label>\n <input matInput [(ngModel)]=\"lightPresetClone.name\">\n </mat-form-field>\n <mat-form-field class=\"full-width\">\n <mat-label [textContent]=\"'GROUP' | localize\"></mat-label>\n <input matInput [(ngModel)]=\"lightPresetClone.group\">\n </mat-form-field>\n <div class=\"key-value-grid\">\n <span class=\"key\" [textContent]=\"'NAVIGATOR_TYPE' | localize\"></span>\n <mat-select class=\"dropdown-container\" [value]=\"lightPresetClone.navigatorType\" (keydown)=\"handleSelectKeyDown($event, 'navigatorType')\">\n <mat-option *ngFor=\"let navigatorType of navigatorTypes | keys\" [value]=\"navigatorType.key\" (click)=\"lightPresetClone.navigatorType = navigatorType.value\">\n {{ navigatorType.key }}\n </mat-option>\n </mat-select>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'SHADOW_MAP_TYPE' | localize\"></span>\n <mat-select class=\"dropdown-container\" [value]=\"lightPresetClone.shadowMapType\">\n <mat-option *ngFor=\"let mapType of shadowMapTypes | keys\" [value]=\"mapType.key\" (click)=\"lightPresetClone.shadowMapType = mapType.value\">\n {{ mapType.key }}\n </mat-option>\n </mat-select>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'OUTPUT_ENCODING' | localize\"></span>\n <mat-select class=\"dropdown-container\" [value]=\"lightPresetClone.outputEncoding\">\n <mat-option *ngFor=\"let encoding of encodings | keys\" [value]=\"encoding.key\" (click)=\"lightPresetClone.outputEncoding = encoding.value\">\n {{ encoding.key }}\n </mat-option>\n </mat-select>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'TONE_MAPPING_EXPOSURE' | localize\"></span>\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"3\" step=\"0.1\" [value]=\"lightPresetClone.toneMappingExposure\" [(ngModel)]=\"lightPresetClone.toneMappingExposure\"></mat-slider>\n <input matInput type=\"number\" [step]=\"0.1\" [placeholder]=\"1\" [value]=\"lightPresetClone.toneMappingExposure\" [(ngModel)]=\"lightPresetClone.toneMappingExposure\">\n\n <span class=\"key\" [textContent]=\"'PHYSICALLY_CORRECT_LIGHTS' | localize\"></span>\n <mat-checkbox class=\"value\" [(ngModel)]=\"lightPresetClone.physicallyCorrectLights\"></mat-checkbox>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'DEFAULT' | localize\"></span>\n <mat-checkbox class=\"value\" [(ngModel)]=\"lightPresetClone.default\"></mat-checkbox>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'STANDALONE' | localize\"></span>\n <mat-checkbox class=\"value\" [(ngModel)]=\"lightPresetClone.standalone\"></mat-checkbox>\n <span class=\"value-readonly\"></span>\n </div>\n </div>\n <div class=\"button-wrapper\">\n <button mat-button class=\"custom-button\" (click)=\"cancel()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">cancel</mat-icon>\n {{ 'CANCEL' | localize}}\n </button>\n <button mat-button class=\"custom-button\" (click)=\"save()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">save</mat-icon>\n {{ 'SAVE' | localize}}\n </button>\n </div>\n </div>\n ", isInline: true, styles: [":host .edit-wrapper{display:flex;flex-direction:row;align-items:center}:host .custom-button{font-size:11px;border:1px solid #3760a1;border-radius:25px}:host .edit-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:1px 1px 3px 2px #0101014d;background:white;display:flex;flex-direction:column;z-index:905}:host .edit-popup .title-bar{display:flex;justify-content:space-between;align-items:center;height:40px;background:#3760a1;color:#fff;padding-left:10px}:host .edit-popup .title-bar .title-bar-move{display:flex;flex-basis:100%;align-items:center}:host .edit-popup .title-bar .title-bar-move .title-description{-webkit-user-select:none;user-select:none}:host .edit-popup .title-bar mat-icon{color:#fff}:host .edit-popup .edit-popup-wrapper{padding:10px;font-size:12px;overflow-y:auto}:host .edit-popup .button-wrapper{display:flex;align-items:center;justify-content:flex-end;height:60px;padding:10px;bottom:0;right:0}:host .edit-popup .button-wrapper .custom-button:not(last-child){margin-right:10px}:host .edit-popup .full-width{width:100%}:host .edit-popup .key-value-grid{display:grid;grid-template-columns:40% 50% 10%;grid-auto-rows:30px}:host .edit-popup .key-value-grid .key,:host .edit-popup .key-value-grid .value,:host .edit-popup .key-value-grid .value-readonly{align-self:center}:host .edit-popup .key-value-grid mat-slider{height:30px}:host .edit-popup .key-value-grid ::ng-deep .mat-slider-horizontal .mat-slider-wrapper{top:50%}:host .dropdown-container{display:flex;flex-direction:column;justify-content:center}\n"], components: [{ type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type:
|
|
28554
|
+
EditLightplanComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditLightplanComponent, selector: "edit-lightplan", inputs: { lightPreset: "lightPreset" }, outputs: { saveClick: "saveClick", cancelClick: "cancelClick" }, ngImport: i0__namespace, template: "\n <div class=\"edit-popup\">\n <div class=\"title-bar\">\n <div class=\"title-description\" [textContent]=\"'EDIT' | localize\"></div>\n </div>\n <div class=\"edit-popup-wrapper\">\n <mat-form-field class=\"full-width\">\n <mat-label [textContent]=\"'NAME' | localize\"></mat-label>\n <input matInput [(ngModel)]=\"lightPresetClone.name\">\n </mat-form-field>\n <mat-form-field class=\"full-width\">\n <mat-label [textContent]=\"'GROUP' | localize\"></mat-label>\n <input matInput [(ngModel)]=\"lightPresetClone.group\">\n </mat-form-field>\n <div class=\"key-value-grid\">\n <span class=\"key\" [textContent]=\"'NAVIGATOR_TYPE' | localize\"></span>\n <mat-select class=\"dropdown-container\" [value]=\"lightPresetClone.navigatorType\" (keydown)=\"handleSelectKeyDown($event, 'navigatorType')\">\n <mat-option *ngFor=\"let navigatorType of navigatorTypes | keys\" [value]=\"navigatorType.key\" (click)=\"lightPresetClone.navigatorType = navigatorType.value\">\n {{ navigatorType.key }}\n </mat-option>\n </mat-select>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'SHADOW_MAP_TYPE' | localize\"></span>\n <mat-select class=\"dropdown-container\" [value]=\"lightPresetClone.shadowMapType\">\n <mat-option *ngFor=\"let mapType of shadowMapTypes | keys\" [value]=\"mapType.key\" (click)=\"lightPresetClone.shadowMapType = mapType.value\">\n {{ mapType.key }}\n </mat-option>\n </mat-select>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'OUTPUT_ENCODING' | localize\"></span>\n <mat-select class=\"dropdown-container\" [value]=\"lightPresetClone.outputEncoding\">\n <mat-option *ngFor=\"let encoding of encodings | keys\" [value]=\"encoding.key\" (click)=\"lightPresetClone.outputEncoding = encoding.value\">\n {{ encoding.key }}\n </mat-option>\n </mat-select>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'TONE_MAPPING_EXPOSURE' | localize\"></span>\n <mat-slider class=\"value\" thumbLabel min=\"0\" max=\"3\" step=\"0.1\" [value]=\"lightPresetClone.toneMappingExposure\" [(ngModel)]=\"lightPresetClone.toneMappingExposure\"></mat-slider>\n <input matInput type=\"number\" [step]=\"0.1\" [placeholder]=\"1\" [value]=\"lightPresetClone.toneMappingExposure\" [(ngModel)]=\"lightPresetClone.toneMappingExposure\">\n\n <span class=\"key\" [textContent]=\"'PHYSICALLY_CORRECT_LIGHTS' | localize\"></span>\n <mat-checkbox class=\"value\" [(ngModel)]=\"lightPresetClone.physicallyCorrectLights\"></mat-checkbox>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'DEFAULT' | localize\"></span>\n <mat-checkbox class=\"value\" [(ngModel)]=\"lightPresetClone.default\"></mat-checkbox>\n <span class=\"value-readonly\"></span>\n\n <span class=\"key\" [textContent]=\"'STANDALONE' | localize\"></span>\n <mat-checkbox class=\"value\" [(ngModel)]=\"lightPresetClone.standalone\"></mat-checkbox>\n <span class=\"value-readonly\"></span>\n </div>\n </div>\n <div class=\"button-wrapper\">\n <button mat-button class=\"custom-button\" (click)=\"cancel()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">cancel</mat-icon>\n {{ 'CANCEL' | localize}}\n </button>\n <button mat-button class=\"custom-button\" (click)=\"save()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">save</mat-icon>\n {{ 'SAVE' | localize}}\n </button>\n </div>\n </div>\n ", isInline: true, styles: [":host .edit-wrapper{display:flex;flex-direction:row;align-items:center}:host .custom-button{font-size:11px;border:1px solid #3760a1;border-radius:25px}:host .edit-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:1px 1px 3px 2px #0101014d;background:white;display:flex;flex-direction:column;z-index:905}:host .edit-popup .title-bar{display:flex;justify-content:space-between;align-items:center;height:40px;background:#3760a1;color:#fff;padding-left:10px}:host .edit-popup .title-bar .title-bar-move{display:flex;flex-basis:100%;align-items:center}:host .edit-popup .title-bar .title-bar-move .title-description{-webkit-user-select:none;user-select:none}:host .edit-popup .title-bar mat-icon{color:#fff}:host .edit-popup .edit-popup-wrapper{padding:10px;font-size:12px;overflow-y:auto}:host .edit-popup .button-wrapper{display:flex;align-items:center;justify-content:flex-end;height:60px;padding:10px;bottom:0;right:0}:host .edit-popup .button-wrapper .custom-button:not(last-child){margin-right:10px}:host .edit-popup .full-width{width:100%}:host .edit-popup .key-value-grid{display:grid;grid-template-columns:40% 50% 10%;grid-auto-rows:30px}:host .edit-popup .key-value-grid .key,:host .edit-popup .key-value-grid .value,:host .edit-popup .key-value-grid .value-readonly{align-self:center}:host .edit-popup .key-value-grid mat-slider{height:30px}:host .edit-popup .key-value-grid ::ng-deep .mat-slider-horizontal .mat-slider-wrapper{top:50%}:host .dropdown-container{display:flex;flex-direction:column;justify-content:center}\n"], components: [{ type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i7__namespace$1.MatSlider, selector: "mat-slider", inputs: ["disabled", "color", "tabIndex", "invert", "max", "min", "step", "thumbLabel", "tickInterval", "value", "vertical", "displayWith", "valueText"], outputs: ["change", "input", "valueChange"], exportAs: ["matSlider"] }, { type: i1__namespace$2.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7__namespace.MatLabel, selector: "mat-label" }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i8__namespace.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: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8__namespace.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }], pipes: { "localize": LocalizePipe, "keys": KeysPipe } });
|
|
28544
28555
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditLightplanComponent, decorators: [{
|
|
28545
28556
|
type: i0.Component,
|
|
28546
28557
|
args: [{
|
|
@@ -28746,7 +28757,7 @@
|
|
|
28746
28757
|
return LightplanComponent;
|
|
28747
28758
|
}());
|
|
28748
28759
|
LightplanComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LightplanComponent, deps: [{ token: LightsService }, { token: ConfigurationService }, { token: DialogService }, { token: HomedecoratorDictionaryService }, { token: i0__namespace.ChangeDetectorRef }, { token: LightPresetsService }, { token: SceneService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
28749
|
-
LightplanComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LightplanComponent, selector: "lightplan", host: { listeners: { "document:mousemove": "moveDialog($event)", "document:mouseup": "cancelMoveDialog($event)" }, properties: { "class.show": "this.showDialog", "class.popup-showing": "this.showPlanEditPopup" } }, viewQueries: [{ propertyName: "dialogElement", first: true, predicate: ["dialog"], descendants: true, read: i0.ElementRef, static: true }], ngImport: i0__namespace, template: "\n <ng-container *ngIf=\"showDialog\">\n <div class=\"lightplan-wrapper\" #dialog @showHideDialog [style.top.px]=\"top\" [style.left.px]=\"left\">\n <div class=\"title-bar\">\n <div class=\"title-bar-move\" (mousedown)=\"handleTitleMouseMove($event)\"></div>\n <button mat-icon-button class=\"hide-dialog\" (click)=\"hideDialog()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">close</mat-icon>\n </button>\n </div>\n <div class=\"content-wrapper\">\n <div class=\"section\">\n <div class=\"edit-lightplan-wrapper\">\n <h4 [textContent]=\"'LIGHTPLAN' | localize\"></h4>\n <div class=\"edit-button-wrapper\">\n <div matTooltip=\"{{'ADD' | localize}}\">\n <button mat-icon-button (click)=\"newPreset()\">\n <mat-icon class=\"homedecorator-material-icons\">add</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"light-preset-selection\">\n <mat-select class=\"dropdown-container\" [ngModel]=\"lightPresetsService.activeLightPreset.name\" panelClass=\"dropdown-container\">\n <mat-select-trigger>\n {{ lightPresetsService.activeLightPreset.name }}\n </mat-select-trigger>\n <div *ngFor=\"let lightPreset of lightPresetsService.loadedLightPresets\">\n <mat-option [value]=\"lightPreset.name\" (click)=\"loadPreset(lightPreset)\">\n {{ lightPreset.name }}\n <mat-icon *ngIf=\"lightPreset.dirty\" class=\"homedecorator-material-icons\" (click)=\"saveAsPreset($event, lightPreset)\">save</mat-icon>\n </mat-option>\n </div>\n </mat-select>\n <div matTooltip=\"{{'EDIT' | localize}}\">\n <button mat-icon-button (click)=\"editPreset(true)\">\n <mat-icon class=\"homedecorator-material-icons\">edit</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'REMOVE' | localize}}\">\n <button mat-icon-button (click)=\"deletePreset()\">\n <mat-icon class=\"homedecorator-material-icons\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'GROUP' | localize\"></h4>\n <span [textContent]=\"lightPresetsService.activeLightPreset.group\"></span>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'NAVIGATOR_TYPE' | localize\"></h4>\n <span [textContent]=\"lightPresetsService.activeLightPreset.navigatorType\"></span>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'RENDER' | localize\"></h4>\n <div class=\"section-row\">\n <span [textContent]=\"'SHADOW_MAP_TYPE' | localize\"></span>\n <span [textContent]=\"lightPresetsService.activeLightPreset.shadowMapType\"></span>\n </div>\n <div class=\"section-row\">\n <span [textContent]=\"'OUTPUT_ENCODING' | localize\"></span>\n <span [textContent]=\"lightPresetsService.activeLightPreset.outputEncoding\"></span>\n </div>\n <div class=\"section-row\">\n <span [textContent]=\"'TONE_MAPPING_EXPOSURE' | localize\"></span>\n <span [textContent]=\"lightPresetsService.activeLightPreset.toneMappingExposure\"></span>\n </div>\n <div class=\"section-row\">\n <span [textContent]=\"'PHYSICALLY_CORRECT_LIGHTS' | localize\"></span>\n <span [textContent]=\"(lightPresetsService.activeLightPreset.physicallyCorrectLights ? 'TRUE' : 'FALSE') | localize\"></span>\n </div>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'ADD' | localize\"></h4>\n <div class=\"button-row\">\n <button mat-button class=\"add-light\" (click)=\"addLight(light.SpotLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'SPOTLIGHT' | localize }}\n </button>\n <button mat-button class=\"add-light\" (click)=\"addLight(light.DirectionalLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'DIRECTIONAL' | localize }}\n </button>\n <button mat-button class=\"add-light\" (click)=\"addLight(light.HemisphereLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'HEMISPHERE' | localize }}\n </button>\n <button mat-button class=\"add-light\" (click)=\"addLight(light.AmbientLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'AMBIENT' | localize }}\n </button>\n <button mat-button class=\"add-light\" (click)=\"addLight(light.PointLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'POINT' | localize }}\n </button>\n </div>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'EDIT' | localize\"></h4>\n <div class=\"scene-lights\">\n <div class=\"scene-light\" *ngFor=\"let light of getLights(); let index = index\">\n <div class=\"edit-wrapper\">\n <div class=\"light-name\" [textContent]=\"light.name\"></div>\n <div class=\"edit-button-wrapper\">\n <div matTooltip=\"{{'EDIT' | localize}}\">\n <button mat-icon-button (click)=\"editLight(index)\">\n <mat-icon class=\"homedecorator-material-icons\">edit</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'REMOVE' | localize}}\">\n <button mat-icon-button (click)=\"removeLight(index)\">\n <mat-icon class=\"homedecorator-material-icons\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"button-wrapper\">\n <div matTooltip=\"{{'SAVE_AS_PRESET' | localize}}\">\n <button mat-icon-button (click)=\"saveAsPreset($event)\">\n <mat-icon class=\"homedecorator-material-icons\">save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n <edit-light *ngIf=\"showEditPopup\"\n [light]=\"lightToEdit\"\n (okClick)=\"handleSaveLight($event)\"\n (cancelClick)=\"handleCancelLight($event)\"\n ></edit-light>\n <edit-lightplan *ngIf=\"showPlanEditPopup\"\n [lightPreset]=\"lightPresetsService.activeLightPreset\"\n (saveClick)=\"savePreset($event)\"\n (cancelClick)=\"showPlanEditPopup = false\"\n ></edit-lightplan>\n ", isInline: true, styles: [":host.popup-showing .lightplan-wrapper{opacity:.1!important}:host.show{display:flex}:host .lightplan-wrapper{opacity:1;position:fixed;background:white;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:1px 1px 3px 2px #0101014d;z-index:904}:host .lightplan-wrapper .scene-lights{max-height:300px;overflow-y:auto}:host .title-bar{display:flex;justify-content:flex-end;background:#3760a1}:host .title-bar mat-icon{color:#fff}:host .title-bar .title-bar-move{display:flex;flex-basis:100%}:host .content-wrapper{font-size:14px;padding:15px;background:white;min-height:400px;min-width:500px;display:flex;flex-direction:column;max-height:500px;overflow-y:auto}:host .section:not(last-child){margin-bottom:20px}:host .button-wrapper{display:flex;height:60px;align-items:center;justify-content:flex-end}:host .edit-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between}:host .edit-button-wrapper{display:flex}:host h4{margin:10px 0}:host .edit-lightplan-wrapper{display:flex}:host .light-preset-selection{display:flex}:host .button-row{display:flex}:host .add-light{font-size:11px;border:1px solid #3760a1;border-radius:25px}:host .add-light:not(last-child){margin-right:5px}:host .dropdown-container{align-self:center}:host .section-row{display:flex;flex-direction:row;justify-content:space-between}::ng-deep .cdk-overlay-container .mat-select-panel .mat-option-text{display:flex;justify-content:space-between;align-items:center}\n"], components: [{ type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i9__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: EditLightComponent, selector: "edit-light", inputs: ["light"], outputs: ["okClick", "cancelClick"] }, { type: EditLightplanComponent, selector: "edit-lightplan", inputs: ["lightPreset"], outputs: ["saveClick", "cancelClick"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i9__namespace.MatSelectTrigger, selector: "mat-select-trigger" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "localize": LocalizePipe }, animations: [
|
|
28760
|
+
LightplanComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LightplanComponent, selector: "lightplan", host: { listeners: { "document:mousemove": "moveDialog($event)", "document:mouseup": "cancelMoveDialog($event)" }, properties: { "class.show": "this.showDialog", "class.popup-showing": "this.showPlanEditPopup" } }, viewQueries: [{ propertyName: "dialogElement", first: true, predicate: ["dialog"], descendants: true, read: i0.ElementRef, static: true }], ngImport: i0__namespace, template: "\n <ng-container *ngIf=\"showDialog\">\n <div class=\"lightplan-wrapper\" #dialog @showHideDialog [style.top.px]=\"top\" [style.left.px]=\"left\">\n <div class=\"title-bar\">\n <div class=\"title-bar-move\" (mousedown)=\"handleTitleMouseMove($event)\"></div>\n <button mat-icon-button class=\"hide-dialog\" (click)=\"hideDialog()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">close</mat-icon>\n </button>\n </div>\n <div class=\"content-wrapper\">\n <div class=\"section\">\n <div class=\"edit-lightplan-wrapper\">\n <h4 [textContent]=\"'LIGHTPLAN' | localize\"></h4>\n <div class=\"edit-button-wrapper\">\n <div matTooltip=\"{{'ADD' | localize}}\">\n <button mat-icon-button (click)=\"newPreset()\">\n <mat-icon class=\"homedecorator-material-icons\">add</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"light-preset-selection\">\n <mat-select class=\"dropdown-container\" [ngModel]=\"lightPresetsService.activeLightPreset.name\" panelClass=\"dropdown-container\">\n <mat-select-trigger>\n {{ lightPresetsService.activeLightPreset.name }}\n </mat-select-trigger>\n <div *ngFor=\"let lightPreset of lightPresetsService.loadedLightPresets\">\n <mat-option [value]=\"lightPreset.name\" (click)=\"loadPreset(lightPreset)\">\n {{ lightPreset.name }}\n <mat-icon *ngIf=\"lightPreset.dirty\" class=\"homedecorator-material-icons\" (click)=\"saveAsPreset($event, lightPreset)\">save</mat-icon>\n </mat-option>\n </div>\n </mat-select>\n <div matTooltip=\"{{'EDIT' | localize}}\">\n <button mat-icon-button (click)=\"editPreset(true)\">\n <mat-icon class=\"homedecorator-material-icons\">edit</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'REMOVE' | localize}}\">\n <button mat-icon-button (click)=\"deletePreset()\">\n <mat-icon class=\"homedecorator-material-icons\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'GROUP' | localize\"></h4>\n <span [textContent]=\"lightPresetsService.activeLightPreset.group\"></span>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'NAVIGATOR_TYPE' | localize\"></h4>\n <span [textContent]=\"lightPresetsService.activeLightPreset.navigatorType\"></span>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'RENDER' | localize\"></h4>\n <div class=\"section-row\">\n <span [textContent]=\"'SHADOW_MAP_TYPE' | localize\"></span>\n <span [textContent]=\"lightPresetsService.activeLightPreset.shadowMapType\"></span>\n </div>\n <div class=\"section-row\">\n <span [textContent]=\"'OUTPUT_ENCODING' | localize\"></span>\n <span [textContent]=\"lightPresetsService.activeLightPreset.outputEncoding\"></span>\n </div>\n <div class=\"section-row\">\n <span [textContent]=\"'TONE_MAPPING_EXPOSURE' | localize\"></span>\n <span [textContent]=\"lightPresetsService.activeLightPreset.toneMappingExposure\"></span>\n </div>\n <div class=\"section-row\">\n <span [textContent]=\"'PHYSICALLY_CORRECT_LIGHTS' | localize\"></span>\n <span [textContent]=\"(lightPresetsService.activeLightPreset.physicallyCorrectLights ? 'TRUE' : 'FALSE') | localize\"></span>\n </div>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'ADD' | localize\"></h4>\n <div class=\"button-row\">\n <button mat-button class=\"add-light\" (click)=\"addLight(light.SpotLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'SPOTLIGHT' | localize }}\n </button>\n <button mat-button class=\"add-light\" (click)=\"addLight(light.DirectionalLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'DIRECTIONAL' | localize }}\n </button>\n <button mat-button class=\"add-light\" (click)=\"addLight(light.HemisphereLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'HEMISPHERE' | localize }}\n </button>\n <button mat-button class=\"add-light\" (click)=\"addLight(light.AmbientLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'AMBIENT' | localize }}\n </button>\n <button mat-button class=\"add-light\" (click)=\"addLight(light.PointLight)\" fxLayout=\"row\" fxLayoutalign=\"center center\">\n <mat-icon class=\"homedecorator-material-icons\">wb_incandescent</mat-icon>\n {{ 'POINT' | localize }}\n </button>\n </div>\n </div>\n <div class=\"section\">\n <h4 [textContent]=\"'EDIT' | localize\"></h4>\n <div class=\"scene-lights\">\n <div class=\"scene-light\" *ngFor=\"let light of getLights(); let index = index\">\n <div class=\"edit-wrapper\">\n <div class=\"light-name\" [textContent]=\"light.name\"></div>\n <div class=\"edit-button-wrapper\">\n <div matTooltip=\"{{'EDIT' | localize}}\">\n <button mat-icon-button (click)=\"editLight(index)\">\n <mat-icon class=\"homedecorator-material-icons\">edit</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'REMOVE' | localize}}\">\n <button mat-icon-button (click)=\"removeLight(index)\">\n <mat-icon class=\"homedecorator-material-icons\">delete</mat-icon>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"button-wrapper\">\n <div matTooltip=\"{{'SAVE_AS_PRESET' | localize}}\">\n <button mat-icon-button (click)=\"saveAsPreset($event)\">\n <mat-icon class=\"homedecorator-material-icons\">save</mat-icon>\n </button>\n </div>\n </div>\n </div>\n </ng-container>\n <edit-light *ngIf=\"showEditPopup\"\n [light]=\"lightToEdit\"\n (okClick)=\"handleSaveLight($event)\"\n (cancelClick)=\"handleCancelLight($event)\"\n ></edit-light>\n <edit-lightplan *ngIf=\"showPlanEditPopup\"\n [lightPreset]=\"lightPresetsService.activeLightPreset\"\n (saveClick)=\"savePreset($event)\"\n (cancelClick)=\"showPlanEditPopup = false\"\n ></edit-lightplan>\n ", isInline: true, styles: [":host.popup-showing .lightplan-wrapper{opacity:.1!important}:host.show{display:flex}:host .lightplan-wrapper{opacity:1;position:fixed;background:white;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:1px 1px 3px 2px #0101014d;z-index:904}:host .lightplan-wrapper .scene-lights{max-height:300px;overflow-y:auto}:host .title-bar{display:flex;justify-content:flex-end;background:#3760a1}:host .title-bar mat-icon{color:#fff}:host .title-bar .title-bar-move{display:flex;flex-basis:100%}:host .content-wrapper{font-size:14px;padding:15px;background:white;min-height:400px;min-width:500px;display:flex;flex-direction:column;max-height:500px;overflow-y:auto}:host .section:not(last-child){margin-bottom:20px}:host .button-wrapper{display:flex;height:60px;align-items:center;justify-content:flex-end}:host .edit-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-between}:host .edit-button-wrapper{display:flex}:host h4{margin:10px 0}:host .edit-lightplan-wrapper{display:flex}:host .light-preset-selection{display:flex}:host .button-row{display:flex}:host .add-light{font-size:11px;border:1px solid #3760a1;border-radius:25px}:host .add-light:not(last-child){margin-right:5px}:host .dropdown-container{align-self:center}:host .section-row{display:flex;flex-direction:row;justify-content:space-between}::ng-deep .cdk-overlay-container .mat-select-panel .mat-option-text{display:flex;justify-content:space-between;align-items:center}\n"], components: [{ type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: EditLightComponent, selector: "edit-light", inputs: ["light"], outputs: ["okClick", "cancelClick"] }, { type: EditLightplanComponent, selector: "edit-lightplan", inputs: ["lightPreset"], outputs: ["saveClick", "cancelClick"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i12__namespace.MatSelectTrigger, selector: "mat-select-trigger" }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "localize": LocalizePipe }, animations: [
|
|
28750
28761
|
animations.trigger('showHideDialog', [
|
|
28751
28762
|
animations.state('void', animations.style({ opacity: 0 })),
|
|
28752
28763
|
animations.state('*', animations.style({ opacity: 1 })),
|
|
@@ -28843,7 +28854,7 @@
|
|
|
28843
28854
|
this.addRenderOptions(this._sceneService.renderer);
|
|
28844
28855
|
this.addLights(this._sceneService.scene);
|
|
28845
28856
|
};
|
|
28846
|
-
SceneControlComponent.prototype.addRenderOptions = function (renderer) {
|
|
28857
|
+
SceneControlComponent.prototype.addRenderOptions = function (renderer /*| WebGPURenderer*/) {
|
|
28847
28858
|
var _this = this;
|
|
28848
28859
|
var folder = this.gui.addFolder('renderer');
|
|
28849
28860
|
folder.add(renderer, 'toneMappingExposure', 0, 5).onChange(function () {
|
|
@@ -30849,7 +30860,7 @@
|
|
|
30849
30860
|
});
|
|
30850
30861
|
};
|
|
30851
30862
|
var RenderDialogComponent = /** @class */ (function () {
|
|
30852
|
-
function RenderDialogComponent(cameraService, renderService, messageService, _utilsService, _domSanitizer, _settingsService, _newRenderService, _3dmRenderApi) {
|
|
30863
|
+
function RenderDialogComponent(cameraService, renderService, messageService, _utilsService, _domSanitizer, _settingsService, _newRenderService, _3dmRenderApi, _dialog) {
|
|
30853
30864
|
var _this = this;
|
|
30854
30865
|
this.cameraService = cameraService;
|
|
30855
30866
|
this.renderService = renderService;
|
|
@@ -30859,6 +30870,7 @@
|
|
|
30859
30870
|
this._settingsService = _settingsService;
|
|
30860
30871
|
this._newRenderService = _newRenderService;
|
|
30861
30872
|
this._3dmRenderApi = _3dmRenderApi;
|
|
30873
|
+
this._dialog = _dialog;
|
|
30862
30874
|
this.renderStatus = RenderStatus;
|
|
30863
30875
|
this.iconName = IconName;
|
|
30864
30876
|
this.renderModes = RenderModes;
|
|
@@ -31057,6 +31069,10 @@
|
|
|
31057
31069
|
this.messageService.emit(MessageType.ShowLoadingIndicator, { title: 'Uploading...' });
|
|
31058
31070
|
this._utilsService.prepRoomForRender(false, renderInput);
|
|
31059
31071
|
};
|
|
31072
|
+
RenderDialogComponent.prototype.cancelBlenderRender = function () {
|
|
31073
|
+
this.messageService.emit(MessageType.HideLoadingIndicator);
|
|
31074
|
+
this._dialog.closeAll();
|
|
31075
|
+
};
|
|
31060
31076
|
RenderDialogComponent.prototype.saveImage = function (url) {
|
|
31061
31077
|
var link = document.createElement('a');
|
|
31062
31078
|
link.setAttribute('target', '_blank');
|
|
@@ -31129,8 +31145,8 @@
|
|
|
31129
31145
|
};
|
|
31130
31146
|
return RenderDialogComponent;
|
|
31131
31147
|
}());
|
|
31132
|
-
RenderDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RenderDialogComponent, deps: [{ token: CameraService }, { token: RenderService }, { token: MessageBusService }, { token: UtilsService }, { token: i1__namespace.DomSanitizer }, { token: HomedecoratorSettingsService }, { token: NewRenderService }, { token: ApiServiceModule }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
31133
|
-
RenderDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RenderDialogComponent, selector: "rp-render-dialog", viewQueries: [{ propertyName: "renderImageField", first: true, predicate: ["render_image"], descendants: true, static: true }, { propertyName: "imageWidthField", first: true, predicate: ["render_image_width"], descendants: true, static: true }, { propertyName: "imageHeightField", first: true, predicate: ["render_image_height"], descendants: true, static: true }], ngImport: i0__namespace, template: "<ng-container *ngIf=\"renderService.serverData.renderMode === renderModes.RenderIone\">\r\n <div mat-dialog-content>\r\n <div class=\"render-camera-positions\">\r\n <div class=\"render-camera-positions-left\">\r\n <!--\r\n <button mat-raised-button class=\"matrixToggle\" (click)=\"toggleCameraPosition()\">{{ showMatrix ? ('HIDE_MATRIX' | localize) : ('SHOW_MATRIX' | localize) }}</button>\r\n <div class=\"position-matrix-container\" *ngIf=\"showMatrix\">\r\n <mat-grid-list [cols]=\"4\" rowHeight=\"35px\" class=\"camera_position_grid\">\r\n <ng-container *ngFor=\"let item of cameraMatrix; let i = index\">\r\n <mat-grid-tile colspan=\"1\"><b>{{ i }}:</b></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><span>{{item}}</span></mat-grid-tile>\r\n </ng-container>\r\n </mat-grid-list>\r\n </div>\r\n -->\r\n\r\n <h4>{{'LIGHTNING' | localize}}</h4>\r\n <mat-form-field class=\"face-select-form\">\r\n <mat-select [(ngModel)]=\"inputLight\">\r\n <mat-option *ngFor=\"let light of renderService.lightnings\" [value]=\"light.id\">{{ light.name }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <h4>{{'SIZE' | localize}}</h4>\r\n <mat-form-field class=\"face-select-form\">\r\n <mat-select [(value)]=\"inputSize\">\r\n <mat-option *ngFor=\"let size of renderService.imageSizes\" [value]=\"size.id\">{{ size.name }} | <em>{{ size.width }}x{{ size.height }}</em></mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <p>You selected: {{inputSize}}</p>\r\n <div class=\"position-separator\"></div>\r\n\r\n <h4>{{'NAME' | localize}}</h4>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n type=\"text\"\r\n [(ngModel)]=\"inputName\"\r\n />\r\n </mat-form-field>\r\n\r\n <p>{{ 'ADD_CURRENT_CAMERA_POSITION_TO_RENDER' | localize }}</p>\r\n\r\n <button mat-raised-button class=\"add_camera_position\" color=\"primary\" title=\"{{'ADD_CURRENT_POSITION' | localize}}\" (click)=\"addRenderCustom()\">\r\n {{'ADD_CURRENT_POSITION' | localize}}\r\n </button>\r\n\r\n <ng-container *ngIf=\"this.galleryInfo.items === 0\">\r\n\r\n <div class=\"position-separator\"></div>\r\n\r\n <p>{{ 'ADD_GALLERY_POSITIONS_TO_RENDER_INFO' | localize }}</p>\r\n\r\n <button mat-raised-button class=\"add_gallery_positions\" color=\"primary\" title=\"{{'ADD_GALLERY_POSITIONS' | localize}}\" (click)=\"addRenderGallery()\">\r\n {{'ADD_GALLERY_POSITIONS' | localize}}\r\n </button>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n <div class=\"render-camera-positions-right\">\r\n <mat-grid-list [cols]=\"16\" rowHeight=\"35px\" class=\"camera_positions_grid\">\r\n <mat-grid-tile colspan=\"1\"><div class=\"grid-tile-head\"></div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-head\">{{'AVAILABLE' | localize}}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"5\"><div class=\"grid-tile-head\">{{'NAME' | localize}}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-head\">{{'LIGHT' | localize}}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-head\">{{'SIZE' | localize}}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"1\"></mat-grid-tile>\r\n </mat-grid-list>\r\n <mat-grid-list [cols]=\"16\" rowHeight=\"55px\" class=\"camera_positions_grid\">\r\n <ng-container *ngFor=\"let render of renderService.renders; index as i\">\r\n <ng-container *ngIf=\"render.cameraPosition.type === 'custom' && render.productHash === renderService.currentProductHash\" class=\"grid_head\">\r\n <mat-grid-tile colspan=\"1\">\r\n <div class=\"grid-tile-content no-padding\" [hidden]=\"render.status === renderStatus.IsWaiting || render.status === renderStatus.IsRunning\">\r\n <input type=\"checkbox\" [(ngModel)]=\"inputReRenderChecked[i]\" [value]=\"render.id\" (change)=\"renderOnChange()\">\r\n </div>\r\n </mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\">\r\n <div class=\"grid-tile-content grid-tile-image\">\r\n <div class=\"image-container\">\r\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"render.url === '' && render.status !== renderStatus.IsRunning\">camera_alt</mat-icon>\r\n <a href=\"{{ render.url }}\" target=\"_blank\" download *ngIf=\"render.url !== '' && render.status !== renderStatus.IsRunning\">\r\n <img src=\"{{ render.url }}\">\r\n </a>\r\n <mat-spinner *ngIf=\"render.status === renderStatus.IsRunning\" [diameter]=\"25\" [mode]=\"'determinate'\" [value]=\"render.progress > 10 ? render.progress : 10\"></mat-spinner>\r\n </div>\r\n </div>\r\n </mat-grid-tile>\r\n <mat-grid-tile colspan=\"5\"><div class=\"grid-tile-content\">{{ render.cameraPosition.name }}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-content\">{{ render.lightning.name }}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-content\">{{ render.imageSize.name }} | <em>{{ render.imageSize.width }}x{{ render.imageSize.height }}</em></div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"1\"><div class=\"grid-tile-content no-padding right\"><button (click)=\"removeCameraPosition(render)\" class=\"remove-btn\" [hidden]=\"render.status === renderStatus.IsWaiting || render.status === renderStatus.IsRunning\"><mat-icon class=\"homedecorator-material-icons\">delete</mat-icon></button></div></mat-grid-tile>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"this.galleryInfo.items > 0\">\r\n <ng-container>\r\n <mat-grid-tile colspan=\"1\" class=\"grid_head\">\r\n <div class=\"grid-tile-content no-padding\" [hidden]=\"galleryInfo.renderInfo.status === renderStatus.IsWaiting || galleryInfo.renderInfo.status === renderStatus.IsRunning\">\r\n <input type=\"checkbox\" (change)=\"galleryRenderOnChange($event)\">\r\n </div>\r\n </mat-grid-tile>\r\n <mat-grid-tile colspan=\"8\" class=\"grid_head\"><div class=\"grid-tile-content\">{{ 'GALLERY_IMAGES_FROM' | localize }} {{ galleryInfo.items }} {{ 'CAMERA_POSITIONS' | localize }}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\" class=\"grid_head\"><div class=\"grid-tile-content\">{{ galleryInfo.renderInfo.lightning.name }}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\" class=\"grid_head\"><div class=\"grid-tile-content\">{{ galleryInfo.renderInfo.imageSize.name }} | <em>{{ galleryInfo.renderInfo.imageSize.width }}x{{ galleryInfo.renderInfo.imageSize.height }}</em></div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"1\" class=\"grid_head\"><div class=\"grid-tile-content no-padding right\"><button (click)=\"removeCameraPosition('gallery')\" class=\"remove-btn\" [hidden]=\"galleryInfo.renderInfo.status === renderStatus.IsWaiting || galleryInfo.renderInfo.status === renderStatus.IsRunning\"><mat-icon class=\"homedecorator-material-icons\">delete</mat-icon></button></div></mat-grid-tile>\r\n </ng-container>\r\n <ng-container *ngFor=\"let render of renderService.renders; index as i\">\r\n <ng-container *ngIf=\"render.cameraPosition.type === 'gallery' && render.productHash === renderService.currentProductHash\">\r\n <mat-grid-tile colspan=\"2\">\r\n <div class=\"grid-tile-content\" [hidden]=\"true\"><input type=\"checkbox\" [(ngModel)]=\"inputReRenderChecked[i]\" [value]=\"render.id\" (change)=\"renderOnChange()\"></div>\r\n <div class=\"grid-tile-content small-padding grid-tile-image\">\r\n <div class=\"image-container\">\r\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"render.url === '' && render.status !== renderStatus.IsRunning\">camera_alt</mat-icon>\r\n <a href=\"{{ render.url }}\" target=\"_blank\" download *ngIf=\"render.url !== '' && render.status !== renderStatus.IsRunning\">\r\n <img src=\"{{ render.url }}\">\r\n </a>\r\n <mat-spinner *ngIf=\"render.status === renderStatus.IsRunning\" [diameter]=\"25\" [mode]=\"'determinate'\" [value]=\"render.progress > 10 ? render.progress : 10\"></mat-spinner>\r\n </div>\r\n </div>\r\n </mat-grid-tile>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </mat-grid-list>\r\n </div>\r\n </div>\r\n\r\n <button mat-raised-button class=\"render_btn\" (click)=\"addRendersToQueue()\" color=\"primary\" title=\"{{'CREATE_RENDERS' | localize}}\" [disabled]=\"!canRender || renderService.renderQueue.length > 0\">\r\n {{'CREATE_RENDERS' | localize}}\r\n </button>\r\n\r\n </div>\r\n\r\n <button mat-button mat-dialog-close class=\"close_btn\">X</button>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"renderService.serverData.renderMode === renderModes.RenderRoom\">\r\n\r\n <div mat-dialog-content>\r\n <div class=\"render-camera-positions\">\r\n <div class=\"render-camera-positions-left large\">\r\n <div *ngIf=\"imageRenderSource != ''\" class=\"render-image-content\">\r\n <img [src]=\"imageRenderSource\" #render_image>\r\n <div class=\"loader\" [ngClass]=\"(renderProgress == 100 ? 'ready' : '')\">\r\n <span class=\"loader_progress\" [style.width.%]=\"(renderProgress ? renderProgress : 0)\">\r\n <span>{{ (renderProgress ? renderProgress : 0) }}</span>\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"imageRenderSource == ''\" class=\"image_spacer\">\r\n <mat-icon class=\"homedecorator-material-icons\">camera_alt</mat-icon>\r\n </div>\r\n <div class=\"position-separator\"></div>\r\n <mat-form-field class=\"face-select-form\" *ngIf=\"renderService.serverData.renderMode === renderModes.RenderRoom\">\r\n <mat-label>{{\"IMAGE_SIZE\" | localize}}</mat-label>\r\n <mat-select [(ngModel)]=\"renderService.selectedImageSize\">\r\n <mat-option *ngFor=\"let size of renderService.imageSizes\" [value]=\"size.id\">{{ size.name }} {{ size.width }}x{{ size.height }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <div *ngIf=\"renderService.blenderRenderService\">\r\n <mat-form-field\r\n class=\"face-select-form\"\r\n *ngIf=\"renderService.serverData.renderMode === renderModes.RenderRoom\">\r\n <mat-label>{{ \"ENVIRONMENT\" | localize }}</mat-label>\r\n <mat-select [(ngModel)]=\"renderService.selectedRenderScene\">\r\n <mat-option\r\n *ngFor=\"let scene of renderService.renderScenes\"\r\n [value]=\"scene.sceneAssetId\">{{ scene.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n\r\n\r\n<!-- <mat-form-field class=\"face-select-form\" *ngIf=\"renderService.serverData.renderMode === renderModes.RenderRoom\">-->\r\n<!-- <mat-label>{{\"ENVIRONMENT\" | localize}}</mat-label>-->\r\n<!-- <mat-select [(ngModel)]=\"renderService.selectedEnvironment\">-->\r\n<!-- <mat-option *ngFor=\"let renderEnvironment of renderService.renderEnvironments\" [value]=\"renderEnvironment.id\">{{ renderEnvironment.name }}</mat-option>-->\r\n<!-- </mat-select>-->\r\n<!-- </mat-form-field>-->\r\n\r\n <button *ngIf=\"!renderService.blenderRenderService\" mat-raised-button (click)=\"startRenderingRoom()\" color=\"primary\" title=\"{{'MAKE_A_PICTURE' | localize}}\" [disabled]=\"disablePictureButton\">\r\n {{'MAKE_A_PICTURE' | localize}}\r\n </button>\r\n\r\n <button *ngIf=\"renderService.blenderRenderService\" mat-raised-button (click)=\"createBlenderRender()\" color=\"primary\" title=\"{{'MAKE_A_PICTURE' | localize}}\" [disabled]=\"disablePictureButton\">\r\n {{'MAKE_A_PICTURE' | localize}}\r\n </button>\r\n\r\n </div>\r\n\r\n\r\n<!-- <div class=\"render-camera-positions-right small\">-->\r\n<!-- <mat-grid-list [cols]=\"10\" rowHeight=\"35px\" class=\"camera_positions_grid\">-->\r\n<!-- <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-head\">{{'IMAGE' | localize}}</div></mat-grid-tile>-->\r\n<!-- <mat-grid-tile colspan=\"6\"><div class=\"grid-tile-head\">{{'NAME' | localize}}</div></mat-grid-tile>-->\r\n<!-- <mat-grid-tile colspan=\"1\"><div class=\"grid-tile-head\"></div></mat-grid-tile>-->\r\n<!-- </mat-grid-list>-->\r\n<!-- <mat-grid-list [cols]=\"11\" rowHeight=\"55px\" class=\"camera_positions_grid\">-->\r\n<!-- <ng-container *ngFor=\"let image of renderedImages; let index = index\">-->\r\n<!-- <mat-grid-tile colspan=\"3\">-->\r\n<!-- <div class=\"grid-tile-content grid-tile-image\">-->\r\n<!-- <div class=\"image-container\">-->\r\n<!-- <a href=\"{{ image }}\" target=\"_blank\" download>-->\r\n<!-- <img src=\"{{ image }}\">-->\r\n<!-- </a>-->\r\n<!-- </div>-->\r\n<!-- </div>-->\r\n<!-- </mat-grid-tile>-->\r\n<!-- <mat-grid-tile colspan=\"6\"><div class=\"grid-tile-content\">{{ 'IMAGE' | localize }}</div></mat-grid-tile>-->\r\n<!-- <mat-grid-tile colspan=\"2\">-->\r\n<!-- <div class=\"grid-tile-content\">-->\r\n<!-- <button mat-icon-button (click)=\"saveImage(image)\" title=\"{{'DOWNLOAD_IMAGE' | localize}}\">-->\r\n<!-- <mat-icon class=\"homedecorator-material-icons\">get_app</mat-icon>-->\r\n<!-- </button>-->\r\n<!-- </div>-->\r\n<!-- <div class=\"grid-tile-content no-padding right\"><button (click)=\"removeRender(image, index)\" class=\"remove-btn\"><mat-icon class=\"homedecorator-material-icons\">delete</mat-icon></button></div>-->\r\n<!-- </mat-grid-tile>-->\r\n<!-- </ng-container>-->\r\n<!-- </mat-grid-list>-->\r\n<!-- </div>-->\r\n </div>\r\n\r\n <button mat-button mat-dialog-close class=\"close_btn\">X</button>\r\n\r\n </div>\r\n\r\n</ng-container>\r\n", styles: ["::ng-deep .render-dialog-content .mat-dialog-container{margin:0;padding:0}::ng-deep .render-dialog-content .mat-dialog-container .mat-dialog-content{margin:0;padding:0}:host{display:block;max-width:100%;position:relative;box-sizing:border-box}:host *{box-sizing:border-box}:host [hidden]{display:none!important}:host .close_btn{position:absolute;top:0;right:0;font-size:30px;padding:0;width:50px;min-width:0px;line-height:45px}:host .render_btn{position:absolute;left:65%;margin:0 0 0 -83px;bottom:15px}:host .render-camera-positions{display:flex;font-size:14px}:host .render-camera-positions .render-camera-positions-left{min-width:300px;background:#e4edf4;padding:15px;text-align:center}:host .render-camera-positions .render-camera-positions-left h3{text-align:left}:host .render-camera-positions .render-camera-positions-left h4{text-align:left;margin:0}:host .render-camera-positions .render-camera-positions-left .position-separator{width:100%;font-size:0;height:1px;background:#fff;margin:15px 0}:host .render-camera-positions .render-camera-positions-left p{font-size:12px;text-align:center;line-height:170%}:host .render-camera-positions .render-camera-positions-left button{font-size:12px;line-height:32px}:host .render-camera-positions .render-camera-positions-left button.matrixToggle{margin:0 0 5px}:host .render-camera-positions .render-camera-positions-left mat-grid-list{text-align:left}:host .render-camera-positions .render-camera-positions-left mat-grid-list mat-grid-tile .mat-figure{justify-content:left}:host .render-camera-positions .render-camera-positions-left mat-grid-list mat-grid-tile b{text-align:left;width:100%}:host .render-camera-positions .render-camera-positions-left mat-grid-list mat-grid-tile span{display:inline-block;text-align:right;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;background:#fff;border-radius:5px;line-height:30px;font-size:90%}:host .render-camera-positions .render-camera-positions-left .mat-form-field{width:100%}:host .render-camera-positions .render-camera-positions-left mat-slide-toggle{float:right}:host .render-camera-positions .render-camera-positions-left .render-image-content{width:100%;align-self:start;position:relative}:host .render-camera-positions .render-camera-positions-left .render-image-content img{width:100%;max-width:100%;align-self:start;border-radius:5px}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader{align-self:start;width:calc(100% - 20px);font-size:0;line-height:0;height:6px;position:absolute;left:10px;bottom:15px;z-index:2;text-align:left}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader.ready .loader_progress{background:#74B77F}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader.ready .loader_progress span{color:#74b77f;border-color:#74b77f}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader .loader_progress{vertical-align:top;display:inline-block;background:#3760a1;height:6px;position:relative;transition:.2s ease-in-out;-moz-transition:.2s ease-in-out;-webkit-transition:.2s ease-in-out;border-radius:5px;min-width:25px}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader .loader_progress span{float:left;width:25px;height:16px;line-height:16px;border-radius:4px;text-align:center;position:absolute;top:-5px;font-size:9px;font-weight:bold;background:#fff;right:0px}:host .render-camera-positions .render-camera-positions-left .image_spacer{position:relative;background:#fafafa;width:100%;height:200px;border-radius:5px}:host .render-camera-positions .render-camera-positions-left .image_spacer .mat-icon{position:absolute;margin:auto;left:0;top:0;right:0;bottom:0;width:60px;height:60px;font-size:60px}:host .render-camera-positions .render-camera-positions-right{width:70%;padding:15px 15px 66px;font-size:12px}:host .render-camera-positions .render-camera-positions-right.large{width:60%}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile{border-bottom:1px solid #e4edf4}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile.grid_head{border-color:#fff}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-head{width:100%;text-align:left;font-weight:bold;padding:0 15px}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content{width:100%;text-align:left;padding:0 15px}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.no-padding{padding:0}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.small-padding{padding:0 2px}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.right{text-align:right}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container{width:100%;height:46px;border:1px solid #e4edf4;border-radius:5px;vertical-align:top;text-align:center;display:table;font-size:0}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container a{display:table-cell;vertical-align:middle}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container a img{max-width:100%;max-height:46px;display:inline-block}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container .mat-icon{height:46px;line-height:46px}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container .mat-spinner{margin:11px 0 0;display:inline-block}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content .remove-btn{border:none;background:transparent;color:#0003;cursor:pointer}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content .remove-btn:hover{color:red}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content .remove-btn .mat-icon{height:18px;width:18px;font-size:18px}\n"], components: [{ type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i9__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3__namespace$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i3__namespace$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i15__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i8__namespace.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: i8__namespace.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1__namespace$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7__namespace.MatLabel, selector: "mat-label" }], pipes: { "localize": LocalizePipe }, animations: [
|
|
31148
|
+
RenderDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RenderDialogComponent, deps: [{ token: CameraService }, { token: RenderService }, { token: MessageBusService }, { token: UtilsService }, { token: i1__namespace.DomSanitizer }, { token: HomedecoratorSettingsService }, { token: NewRenderService }, { token: ApiServiceModule }, { token: i1__namespace$1.MatDialog }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
31149
|
+
RenderDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RenderDialogComponent, selector: "rp-render-dialog", viewQueries: [{ propertyName: "renderImageField", first: true, predicate: ["render_image"], descendants: true, static: true }, { propertyName: "imageWidthField", first: true, predicate: ["render_image_width"], descendants: true, static: true }, { propertyName: "imageHeightField", first: true, predicate: ["render_image_height"], descendants: true, static: true }], ngImport: i0__namespace, template: "<ng-container *ngIf=\"renderService.serverData.renderMode === renderModes.RenderIone\">\r\n <div mat-dialog-content>\r\n <div class=\"render-camera-positions\">\r\n <div class=\"render-camera-positions-left\">\r\n <!--\r\n <button mat-raised-button class=\"matrixToggle\" (click)=\"toggleCameraPosition()\">{{ showMatrix ? ('HIDE_MATRIX' | localize) : ('SHOW_MATRIX' | localize) }}</button>\r\n <div class=\"position-matrix-container\" *ngIf=\"showMatrix\">\r\n <mat-grid-list [cols]=\"4\" rowHeight=\"35px\" class=\"camera_position_grid\">\r\n <ng-container *ngFor=\"let item of cameraMatrix; let i = index\">\r\n <mat-grid-tile colspan=\"1\"><b>{{ i }}:</b></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><span>{{item}}</span></mat-grid-tile>\r\n </ng-container>\r\n </mat-grid-list>\r\n </div>\r\n -->\r\n\r\n <h4>{{'LIGHTNING' | localize}}</h4>\r\n <mat-form-field class=\"face-select-form\">\r\n <mat-select [(ngModel)]=\"inputLight\">\r\n <mat-option *ngFor=\"let light of renderService.lightnings\" [value]=\"light.id\">{{ light.name }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <h4>{{'SIZE' | localize}}</h4>\r\n <mat-form-field class=\"face-select-form\">\r\n <mat-select [(value)]=\"inputSize\">\r\n <mat-option *ngFor=\"let size of renderService.imageSizes\" [value]=\"size.id\">{{ size.name }} | <em>{{ size.width }}x{{ size.height }}</em></mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n <p>You selected: {{inputSize}}</p>\r\n <div class=\"position-separator\"></div>\r\n\r\n <h4>{{'NAME' | localize}}</h4>\r\n <mat-form-field>\r\n <input\r\n matInput\r\n type=\"text\"\r\n [(ngModel)]=\"inputName\"\r\n />\r\n </mat-form-field>\r\n\r\n <p>{{ 'ADD_CURRENT_CAMERA_POSITION_TO_RENDER' | localize }}</p>\r\n\r\n <button mat-raised-button class=\"add_camera_position\" color=\"primary\" title=\"{{'ADD_CURRENT_POSITION' | localize}}\" (click)=\"addRenderCustom()\">\r\n {{'ADD_CURRENT_POSITION' | localize}}\r\n </button>\r\n\r\n <ng-container *ngIf=\"this.galleryInfo.items === 0\">\r\n\r\n <div class=\"position-separator\"></div>\r\n\r\n <p>{{ 'ADD_GALLERY_POSITIONS_TO_RENDER_INFO' | localize }}</p>\r\n\r\n <button mat-raised-button class=\"add_gallery_positions\" color=\"primary\" title=\"{{'ADD_GALLERY_POSITIONS' | localize}}\" (click)=\"addRenderGallery()\">\r\n {{'ADD_GALLERY_POSITIONS' | localize}}\r\n </button>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n <div class=\"render-camera-positions-right\">\r\n <mat-grid-list [cols]=\"16\" rowHeight=\"35px\" class=\"camera_positions_grid\">\r\n <mat-grid-tile colspan=\"1\"><div class=\"grid-tile-head\"></div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-head\">{{'AVAILABLE' | localize}}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"5\"><div class=\"grid-tile-head\">{{'NAME' | localize}}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-head\">{{'LIGHT' | localize}}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-head\">{{'SIZE' | localize}}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"1\"></mat-grid-tile>\r\n </mat-grid-list>\r\n <mat-grid-list [cols]=\"16\" rowHeight=\"55px\" class=\"camera_positions_grid\">\r\n <ng-container *ngFor=\"let render of renderService.renders; index as i\">\r\n <ng-container *ngIf=\"render.cameraPosition.type === 'custom' && render.productHash === renderService.currentProductHash\" class=\"grid_head\">\r\n <mat-grid-tile colspan=\"1\">\r\n <div class=\"grid-tile-content no-padding\" [hidden]=\"render.status === renderStatus.IsWaiting || render.status === renderStatus.IsRunning\">\r\n <input type=\"checkbox\" [(ngModel)]=\"inputReRenderChecked[i]\" [value]=\"render.id\" (change)=\"renderOnChange()\">\r\n </div>\r\n </mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\">\r\n <div class=\"grid-tile-content grid-tile-image\">\r\n <div class=\"image-container\">\r\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"render.url === '' && render.status !== renderStatus.IsRunning\">camera_alt</mat-icon>\r\n <a href=\"{{ render.url }}\" target=\"_blank\" download *ngIf=\"render.url !== '' && render.status !== renderStatus.IsRunning\">\r\n <img src=\"{{ render.url }}\">\r\n </a>\r\n <mat-spinner *ngIf=\"render.status === renderStatus.IsRunning\" [diameter]=\"25\" [mode]=\"'determinate'\" [value]=\"render.progress > 10 ? render.progress : 10\"></mat-spinner>\r\n </div>\r\n </div>\r\n </mat-grid-tile>\r\n <mat-grid-tile colspan=\"5\"><div class=\"grid-tile-content\">{{ render.cameraPosition.name }}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-content\">{{ render.lightning.name }}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-content\">{{ render.imageSize.name }} | <em>{{ render.imageSize.width }}x{{ render.imageSize.height }}</em></div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"1\"><div class=\"grid-tile-content no-padding right\"><button (click)=\"removeCameraPosition(render)\" class=\"remove-btn\" [hidden]=\"render.status === renderStatus.IsWaiting || render.status === renderStatus.IsRunning\"><mat-icon class=\"homedecorator-material-icons\">delete</mat-icon></button></div></mat-grid-tile>\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"this.galleryInfo.items > 0\">\r\n <ng-container>\r\n <mat-grid-tile colspan=\"1\" class=\"grid_head\">\r\n <div class=\"grid-tile-content no-padding\" [hidden]=\"galleryInfo.renderInfo.status === renderStatus.IsWaiting || galleryInfo.renderInfo.status === renderStatus.IsRunning\">\r\n <input type=\"checkbox\" (change)=\"galleryRenderOnChange($event)\">\r\n </div>\r\n </mat-grid-tile>\r\n <mat-grid-tile colspan=\"8\" class=\"grid_head\"><div class=\"grid-tile-content\">{{ 'GALLERY_IMAGES_FROM' | localize }} {{ galleryInfo.items }} {{ 'CAMERA_POSITIONS' | localize }}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\" class=\"grid_head\"><div class=\"grid-tile-content\">{{ galleryInfo.renderInfo.lightning.name }}</div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"3\" class=\"grid_head\"><div class=\"grid-tile-content\">{{ galleryInfo.renderInfo.imageSize.name }} | <em>{{ galleryInfo.renderInfo.imageSize.width }}x{{ galleryInfo.renderInfo.imageSize.height }}</em></div></mat-grid-tile>\r\n <mat-grid-tile colspan=\"1\" class=\"grid_head\"><div class=\"grid-tile-content no-padding right\"><button (click)=\"removeCameraPosition('gallery')\" class=\"remove-btn\" [hidden]=\"galleryInfo.renderInfo.status === renderStatus.IsWaiting || galleryInfo.renderInfo.status === renderStatus.IsRunning\"><mat-icon class=\"homedecorator-material-icons\">delete</mat-icon></button></div></mat-grid-tile>\r\n </ng-container>\r\n <ng-container *ngFor=\"let render of renderService.renders; index as i\">\r\n <ng-container *ngIf=\"render.cameraPosition.type === 'gallery' && render.productHash === renderService.currentProductHash\">\r\n <mat-grid-tile colspan=\"2\">\r\n <div class=\"grid-tile-content\" [hidden]=\"true\"><input type=\"checkbox\" [(ngModel)]=\"inputReRenderChecked[i]\" [value]=\"render.id\" (change)=\"renderOnChange()\"></div>\r\n <div class=\"grid-tile-content small-padding grid-tile-image\">\r\n <div class=\"image-container\">\r\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"render.url === '' && render.status !== renderStatus.IsRunning\">camera_alt</mat-icon>\r\n <a href=\"{{ render.url }}\" target=\"_blank\" download *ngIf=\"render.url !== '' && render.status !== renderStatus.IsRunning\">\r\n <img src=\"{{ render.url }}\">\r\n </a>\r\n <mat-spinner *ngIf=\"render.status === renderStatus.IsRunning\" [diameter]=\"25\" [mode]=\"'determinate'\" [value]=\"render.progress > 10 ? render.progress : 10\"></mat-spinner>\r\n </div>\r\n </div>\r\n </mat-grid-tile>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </mat-grid-list>\r\n </div>\r\n </div>\r\n\r\n <button mat-raised-button class=\"render_btn\" (click)=\"addRendersToQueue()\" color=\"primary\" title=\"{{'CREATE_RENDERS' | localize}}\" [disabled]=\"!canRender || renderService.renderQueue.length > 0\">\r\n {{'CREATE_RENDERS' | localize}}\r\n </button>\r\n\r\n </div>\r\n\r\n <button mat-button mat-dialog-close class=\"close_btn\">X</button>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"renderService.serverData.renderMode === renderModes.RenderRoom\">\r\n\r\n <div mat-dialog-content>\r\n <div class=\"render-camera-positions\">\r\n <div class=\"render-camera-positions-left large\">\r\n <div *ngIf=\"imageRenderSource != ''\" class=\"render-image-content\">\r\n <img [src]=\"imageRenderSource\" #render_image>\r\n <div class=\"loader\" [ngClass]=\"(renderProgress == 100 ? 'ready' : '')\">\r\n <span class=\"loader_progress\" [style.width.%]=\"(renderProgress ? renderProgress : 0)\">\r\n <span>{{ (renderProgress ? renderProgress : 0) }}</span>\r\n </span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"imageRenderSource == ''\" class=\"image_spacer\">\r\n <mat-icon class=\"homedecorator-material-icons\">camera_alt</mat-icon>\r\n </div>\r\n <div class=\"position-separator\"></div>\r\n <mat-form-field class=\"face-select-form\" *ngIf=\"renderService.serverData.renderMode === renderModes.RenderRoom\">\r\n <mat-label>{{\"IMAGE_SIZE\" | localize}}</mat-label>\r\n <mat-select [(ngModel)]=\"renderService.selectedImageSize\">\r\n <mat-option *ngFor=\"let size of renderService.imageSizes\" [value]=\"size.id\">{{ size.name }} {{ size.width }}x{{ size.height }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <div *ngIf=\"renderService.blenderRenderService\">\r\n <mat-form-field\r\n class=\"face-select-form\"\r\n *ngIf=\"renderService.serverData.renderMode === renderModes.RenderRoom\">\r\n <mat-label>{{ \"ENVIRONMENT\" | localize }}</mat-label>\r\n <mat-select [(ngModel)]=\"renderService.selectedRenderScene\">\r\n <mat-option\r\n *ngFor=\"let scene of renderService.renderScenes\"\r\n [value]=\"scene.sceneAssetId\">{{ scene.name }}\r\n </mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n\r\n\r\n\r\n<!-- <mat-form-field class=\"face-select-form\" *ngIf=\"renderService.serverData.renderMode === renderModes.RenderRoom\">-->\r\n<!-- <mat-label>{{\"ENVIRONMENT\" | localize}}</mat-label>-->\r\n<!-- <mat-select [(ngModel)]=\"renderService.selectedEnvironment\">-->\r\n<!-- <mat-option *ngFor=\"let renderEnvironment of renderService.renderEnvironments\" [value]=\"renderEnvironment.id\">{{ renderEnvironment.name }}</mat-option>-->\r\n<!-- </mat-select>-->\r\n<!-- </mat-form-field>-->\r\n\r\n <button *ngIf=\"!renderService.blenderRenderService\" mat-raised-button (click)=\"startRenderingRoom()\" color=\"primary\" title=\"{{'MAKE_A_PICTURE' | localize}}\" [disabled]=\"disablePictureButton\">\r\n {{'MAKE_A_PICTURE' | localize}}\r\n </button>\r\n\r\n <button *ngIf=\"renderService.blenderRenderService\" mat-raised-button (click)=\"createBlenderRender()\" color=\"primary\" title=\"{{'MAKE_A_PICTURE' | localize}}\" [disabled]=\"disablePictureButton\">\r\n {{'MAKE_A_PICTURE' | localize}}\r\n </button>\r\n\r\n <button *ngIf=\"renderService.blenderRenderService\" mat-raised-button (click)=\"cancelBlenderRender()\" color=\"accent\" title=\"{{'CANCEL' | localize}}\" [disabled]=\"disablePictureButton\">\r\n {{'CANCEL' | localize}}\r\n </button>\r\n\r\n </div>\r\n\r\n\r\n<!-- <div class=\"render-camera-positions-right small\">-->\r\n<!-- <mat-grid-list [cols]=\"10\" rowHeight=\"35px\" class=\"camera_positions_grid\">-->\r\n<!-- <mat-grid-tile colspan=\"3\"><div class=\"grid-tile-head\">{{'IMAGE' | localize}}</div></mat-grid-tile>-->\r\n<!-- <mat-grid-tile colspan=\"6\"><div class=\"grid-tile-head\">{{'NAME' | localize}}</div></mat-grid-tile>-->\r\n<!-- <mat-grid-tile colspan=\"1\"><div class=\"grid-tile-head\"></div></mat-grid-tile>-->\r\n<!-- </mat-grid-list>-->\r\n<!-- <mat-grid-list [cols]=\"11\" rowHeight=\"55px\" class=\"camera_positions_grid\">-->\r\n<!-- <ng-container *ngFor=\"let image of renderedImages; let index = index\">-->\r\n<!-- <mat-grid-tile colspan=\"3\">-->\r\n<!-- <div class=\"grid-tile-content grid-tile-image\">-->\r\n<!-- <div class=\"image-container\">-->\r\n<!-- <a href=\"{{ image }}\" target=\"_blank\" download>-->\r\n<!-- <img src=\"{{ image }}\">-->\r\n<!-- </a>-->\r\n<!-- </div>-->\r\n<!-- </div>-->\r\n<!-- </mat-grid-tile>-->\r\n<!-- <mat-grid-tile colspan=\"6\"><div class=\"grid-tile-content\">{{ 'IMAGE' | localize }}</div></mat-grid-tile>-->\r\n<!-- <mat-grid-tile colspan=\"2\">-->\r\n<!-- <div class=\"grid-tile-content\">-->\r\n<!-- <button mat-icon-button (click)=\"saveImage(image)\" title=\"{{'DOWNLOAD_IMAGE' | localize}}\">-->\r\n<!-- <mat-icon class=\"homedecorator-material-icons\">get_app</mat-icon>-->\r\n<!-- </button>-->\r\n<!-- </div>-->\r\n<!-- <div class=\"grid-tile-content no-padding right\"><button (click)=\"removeRender(image, index)\" class=\"remove-btn\"><mat-icon class=\"homedecorator-material-icons\">delete</mat-icon></button></div>-->\r\n<!-- </mat-grid-tile>-->\r\n<!-- </ng-container>-->\r\n<!-- </mat-grid-list>-->\r\n<!-- </div>-->\r\n </div>\r\n\r\n <button mat-button mat-dialog-close class=\"close_btn\">X</button>\r\n\r\n </div>\r\n\r\n</ng-container>\r\n", styles: ["::ng-deep .render-dialog-content .mat-dialog-container{margin:0;padding:0}::ng-deep .render-dialog-content .mat-dialog-container .mat-dialog-content{margin:0;padding:0}:host{display:block;max-width:100%;position:relative;box-sizing:border-box}:host *{box-sizing:border-box}:host [hidden]{display:none!important}:host .close_btn{position:absolute;top:0;right:0;font-size:30px;padding:0;width:50px;min-width:0px;line-height:45px}:host .render_btn{position:absolute;left:65%;margin:0 0 0 -83px;bottom:15px}:host .render-camera-positions{display:flex;font-size:14px}:host .render-camera-positions .render-camera-positions-left{min-width:300px;background:#e4edf4;padding:15px;text-align:center}:host .render-camera-positions .render-camera-positions-left h3{text-align:left}:host .render-camera-positions .render-camera-positions-left h4{text-align:left;margin:0}:host .render-camera-positions .render-camera-positions-left .position-separator{width:100%;font-size:0;height:1px;background:#fff;margin:15px 0}:host .render-camera-positions .render-camera-positions-left p{font-size:12px;text-align:center;line-height:170%}:host .render-camera-positions .render-camera-positions-left button{font-size:12px;line-height:32px}:host .render-camera-positions .render-camera-positions-left button.matrixToggle{margin:0 0 5px}:host .render-camera-positions .render-camera-positions-left mat-grid-list{text-align:left}:host .render-camera-positions .render-camera-positions-left mat-grid-list mat-grid-tile .mat-figure{justify-content:left}:host .render-camera-positions .render-camera-positions-left mat-grid-list mat-grid-tile b{text-align:left;width:100%}:host .render-camera-positions .render-camera-positions-left mat-grid-list mat-grid-tile span{display:inline-block;text-align:right;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px;background:#fff;border-radius:5px;line-height:30px;font-size:90%}:host .render-camera-positions .render-camera-positions-left .mat-form-field{width:100%}:host .render-camera-positions .render-camera-positions-left mat-slide-toggle{float:right}:host .render-camera-positions .render-camera-positions-left .render-image-content{width:100%;align-self:start;position:relative}:host .render-camera-positions .render-camera-positions-left .render-image-content img{width:100%;max-width:100%;align-self:start;border-radius:5px}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader{align-self:start;width:calc(100% - 20px);font-size:0;line-height:0;height:6px;position:absolute;left:10px;bottom:15px;z-index:2;text-align:left}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader.ready .loader_progress{background:#74B77F}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader.ready .loader_progress span{color:#74b77f;border-color:#74b77f}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader .loader_progress{vertical-align:top;display:inline-block;background:#3760a1;height:6px;position:relative;transition:.2s ease-in-out;-moz-transition:.2s ease-in-out;-webkit-transition:.2s ease-in-out;border-radius:5px;min-width:25px}:host .render-camera-positions .render-camera-positions-left .render-image-content .loader .loader_progress span{float:left;width:25px;height:16px;line-height:16px;border-radius:4px;text-align:center;position:absolute;top:-5px;font-size:9px;font-weight:bold;background:#fff;right:0px}:host .render-camera-positions .render-camera-positions-left .image_spacer{position:relative;background:#fafafa;width:100%;height:200px;border-radius:5px}:host .render-camera-positions .render-camera-positions-left .image_spacer .mat-icon{position:absolute;margin:auto;left:0;top:0;right:0;bottom:0;width:60px;height:60px;font-size:60px}:host .render-camera-positions .render-camera-positions-right{width:70%;padding:15px 15px 66px;font-size:12px}:host .render-camera-positions .render-camera-positions-right.large{width:60%}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile{border-bottom:1px solid #e4edf4}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile.grid_head{border-color:#fff}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-head{width:100%;text-align:left;font-weight:bold;padding:0 15px}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content{width:100%;text-align:left;padding:0 15px}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.no-padding{padding:0}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.small-padding{padding:0 2px}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.right{text-align:right}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container{width:100%;height:46px;border:1px solid #e4edf4;border-radius:5px;vertical-align:top;text-align:center;display:table;font-size:0}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container a{display:table-cell;vertical-align:middle}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container a img{max-width:100%;max-height:46px;display:inline-block}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container .mat-icon{height:46px;line-height:46px}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content.grid-tile-image .image-container .mat-spinner{margin:11px 0 0;display:inline-block}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content .remove-btn{border:none;background:transparent;color:#0003;cursor:pointer}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content .remove-btn:hover{color:red}:host .render-camera-positions .render-camera-positions-right .mat-grid-tile .grid-tile-content .remove-btn .mat-icon{height:18px;width:18px;font-size:18px}\n"], components: [{ type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3__namespace$2.MatGridList, selector: "mat-grid-list", inputs: ["cols", "gutterSize", "rowHeight"], exportAs: ["matGridList"] }, { type: i3__namespace$2.MatGridTile, selector: "mat-grid-tile", inputs: ["rowspan", "colspan"], exportAs: ["matGridTile"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i16__namespace.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1__namespace$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i8__namespace.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: i8__namespace.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i1__namespace$1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["type", "mat-dialog-close", "aria-label", "matDialogClose"], exportAs: ["matDialogClose"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7__namespace.MatLabel, selector: "mat-label" }], pipes: { "localize": LocalizePipe }, animations: [
|
|
31134
31150
|
animations.trigger('slideInOut', [
|
|
31135
31151
|
animations.state('1', animations.style({ 'max-height': '*' })),
|
|
31136
31152
|
animations.state('0', animations.style({ 'max-height': '0px' })),
|
|
@@ -31151,7 +31167,7 @@
|
|
|
31151
31167
|
templateUrl: './render-dialog.component.html',
|
|
31152
31168
|
styleUrls: ['./render-dialog.component.scss']
|
|
31153
31169
|
}]
|
|
31154
|
-
}], ctorParameters: function () { return [{ type: CameraService }, { type: RenderService }, { type: MessageBusService }, { type: UtilsService }, { type: i1__namespace.DomSanitizer }, { type: HomedecoratorSettingsService }, { type: NewRenderService }, { type: ApiServiceModule }]; }, propDecorators: { renderImageField: [{
|
|
31170
|
+
}], ctorParameters: function () { return [{ type: CameraService }, { type: RenderService }, { type: MessageBusService }, { type: UtilsService }, { type: i1__namespace.DomSanitizer }, { type: HomedecoratorSettingsService }, { type: NewRenderService }, { type: ApiServiceModule }, { type: i1__namespace$1.MatDialog }]; }, propDecorators: { renderImageField: [{
|
|
31155
31171
|
type: i0.ViewChild,
|
|
31156
31172
|
args: ['render_image', { static: true }]
|
|
31157
31173
|
}], imageWidthField: [{
|
|
@@ -32832,7 +32848,7 @@
|
|
|
32832
32848
|
return LiteSelectorComponent;
|
|
32833
32849
|
}());
|
|
32834
32850
|
LiteSelectorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: LiteSelectorComponent, deps: [{ token: HomedecoratorConnectorService }, { token: BuildFurnitureService }, { token: HomedecoratorSettingsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
32835
|
-
LiteSelectorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LiteSelectorComponent, selector: "rp-lite-selector", inputs: { showAnswers: "showAnswers", show: "show", showSelections: "showSelections", showLabel: "showLabel", canClose: "canClose", metadata: "metadata", customDimensions: "customDimensions" }, outputs: { showChange: "showChange", answerChosen: "answerChosen" }, host: { properties: { "class.custom-dimensions": "this.customDimensions" } }, viewQueries: [{ propertyName: "templateAnswers", first: true, predicate: ["templateAnswers"], descendants: true, read: i0.TemplateRef, static: true }], ngImport: i0__namespace, template: "<ng-container *ngIf=\"show\">\r\n <rp-selections-summary *ngIf=\"showSelections && iOne.selectionsToDisplay.length > 0\" @showSelections [@.disabled]=\"!animateSlideout\"\r\n class=\"rp-selections-summary\"\r\n [showLabel]=\"showLabel\"\r\n [canClose]=\"canClose\"\r\n [customDimensions]=\"customDimensions\"\r\n [answersTemplate]=\"inlineAnswers ? templateAnswers : undefined\"\r\n [answerToShowFromSelectionText]=\"answerToShowFromSelectionText\"\r\n [selections]=\"iOne.selectionsToDisplay\"\r\n (selectSelection)=\"onSelectionsSummarySelectSelection($event)\"\r\n (closeClick)=\"onCloseLiteSelectorButtonClick()\"\r\n >\r\n </rp-selections-summary>\r\n <ng-container *ngIf=\"!inlineAnswers\" [ngTemplateOutlet]=\"templateAnswers\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #templateAnswers>\r\n <rp-answers-slideout\r\n class=\"rp-answers-slideout\"\r\n [metadata]=\"metadata\"\r\n [isShown]=\"showAnswers &&
|
|
32851
|
+
LiteSelectorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: LiteSelectorComponent, selector: "rp-lite-selector", inputs: { showAnswers: "showAnswers", show: "show", showSelections: "showSelections", showLabel: "showLabel", canClose: "canClose", metadata: "metadata", customDimensions: "customDimensions" }, outputs: { showChange: "showChange", answerChosen: "answerChosen" }, host: { properties: { "class.custom-dimensions": "this.customDimensions" } }, viewQueries: [{ propertyName: "templateAnswers", first: true, predicate: ["templateAnswers"], descendants: true, read: i0.TemplateRef, static: true }], ngImport: i0__namespace, template: "<ng-container *ngIf=\"show\">\r\n <rp-selections-summary *ngIf=\"showSelections && iOne.selectionsToDisplay.length > 0\" @showSelections [@.disabled]=\"!animateSlideout\"\r\n class=\"rp-selections-summary\"\r\n [showLabel]=\"showLabel\"\r\n [canClose]=\"canClose\"\r\n [customDimensions]=\"customDimensions\"\r\n [answersTemplate]=\"inlineAnswers ? templateAnswers : undefined\"\r\n [answerToShowFromSelectionText]=\"answerToShowFromSelectionText\"\r\n [selections]=\"iOne.selectionsToDisplay\"\r\n (selectSelection)=\"onSelectionsSummarySelectSelection($event)\"\r\n (closeClick)=\"onCloseLiteSelectorButtonClick()\"\r\n >\r\n </rp-selections-summary>\r\n <ng-container *ngIf=\"!inlineAnswers\" [ngTemplateOutlet]=\"templateAnswers\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #templateAnswers>\r\n <rp-answers-slideout\r\n class=\"rp-answers-slideout\"\r\n [metadata]=\"metadata\"\r\n [isShown]=\"showAnswers && iOne.activeAnswers.length > 0\"\r\n [showTitle]=\"!inlineAnswers\"\r\n [showFilter]=\"!inlineAnswers\"\r\n [useSlideout]=\"!inlineAnswers\"\r\n [customDimensions]=\"customDimensions\"\r\n [question]=\"iOne.activeQuestion\"\r\n [answers]=\"iOne.activeAnswers\"\r\n (answerChosen)=\"onAnswersSlideoutAnswerChosen($event)\"\r\n ></rp-answers-slideout>\r\n</ng-template>\r\n", styles: [":host.floating ::ng-deep rp-selections-summary{position:absolute;right:0;max-height:calc(100vh - 120px)}:host:not(.custom-dimensions).floating ::ng-deep rp-selections-summary{top:64px;max-height:calc(100vh - 184px)}\n"], components: [{ type: SelectionsSummaryComponent, selector: "rp-selections-summary", inputs: ["selections", "showLabel", "canClose", "answersTemplate", "answerToShowFromSelectionText", "customDimensions"], outputs: ["closeClick", "cancelAnswers", "selectSelection"] }, { type: AnswersSlideoutComponent, selector: "rp-answers-slideout", inputs: ["isShown", "question", "showTitle", "showFilter", "metadata", "answers", "useSlideout", "customDimensions"], outputs: ["isShownChange", "answerChosen"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
|
|
32836
32852
|
animations.trigger('showSelections', [
|
|
32837
32853
|
animations.state('void', animations.style({ 'transform': 'translateX(100%)', opacity: 0 })),
|
|
32838
32854
|
animations.state('*', animations.style({ 'transform': 'translateX(0%)', opacity: 1 })),
|
|
@@ -33595,7 +33611,7 @@
|
|
|
33595
33611
|
});
|
|
33596
33612
|
};
|
|
33597
33613
|
var FloorplannerComponent = /** @class */ (function () {
|
|
33598
|
-
function FloorplannerComponent(_floorplanService, _messageBusService, _configurationService, _dimensionService, _viewModeService) {
|
|
33614
|
+
function FloorplannerComponent(_floorplanService, _messageBusService, _configurationService, _dimensionService, _viewModeService, _roomService) {
|
|
33599
33615
|
var _a, _b;
|
|
33600
33616
|
var _this = this;
|
|
33601
33617
|
this._floorplanService = _floorplanService;
|
|
@@ -33603,6 +33619,7 @@
|
|
|
33603
33619
|
this._configurationService = _configurationService;
|
|
33604
33620
|
this._dimensionService = _dimensionService;
|
|
33605
33621
|
this._viewModeService = _viewModeService;
|
|
33622
|
+
this._roomService = _roomService;
|
|
33606
33623
|
this.selectedWallChange = new rxjs.Subject();
|
|
33607
33624
|
this._viewScaleMin = 50;
|
|
33608
33625
|
this._viewScaleMax = 300;
|
|
@@ -33732,7 +33749,11 @@
|
|
|
33732
33749
|
}
|
|
33733
33750
|
};
|
|
33734
33751
|
FloorplannerComponent.prototype.showStartMessage = function () {
|
|
33735
|
-
this._diagramBackground
|
|
33752
|
+
if (this._diagramBackground) {
|
|
33753
|
+
this._diagramBackground.src = '';
|
|
33754
|
+
}
|
|
33755
|
+
this._floorplanService.reset();
|
|
33756
|
+
this._draw();
|
|
33736
33757
|
this.showStartingMessages = true;
|
|
33737
33758
|
};
|
|
33738
33759
|
FloorplannerComponent.prototype.setMode = function (mode) {
|
|
@@ -34203,7 +34224,13 @@
|
|
|
34203
34224
|
this.setSelectedMode(value);
|
|
34204
34225
|
};
|
|
34205
34226
|
FloorplannerComponent.prototype.setDiagramSettings = function (input) {
|
|
34227
|
+
this.reset();
|
|
34228
|
+
this._resetOrigin();
|
|
34229
|
+
this._viewScale = 100;
|
|
34230
|
+
this._updateCmPerPixel();
|
|
34231
|
+
this._draw();
|
|
34206
34232
|
this._floorplanService.reset();
|
|
34233
|
+
this._roomService.resetAllRooms();
|
|
34207
34234
|
this._diagramBackground = input.background;
|
|
34208
34235
|
this._diagramBackgroundHeight = input.backgroundHeight;
|
|
34209
34236
|
this._diagramBackgroundWidth = input.backgroundWidth;
|
|
@@ -34889,8 +34916,8 @@
|
|
|
34889
34916
|
};
|
|
34890
34917
|
return FloorplannerComponent;
|
|
34891
34918
|
}());
|
|
34892
|
-
FloorplannerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloorplannerComponent, deps: [{ token: FloorplanService }, { token: MessageBusService }, { token: ConfigurationService }, { token: DimensioningService }, { token: ViewModeService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
34893
|
-
FloorplannerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FloorplannerComponent, selector: "floor-planner", outputs: { selectedWallChange: "selectedWallChange" }, host: { listeners: { "document:keydown": "handleDocKeyDown($event)", "document:keyup": "handleDocKeyUp($event)", "window:resize": "resizeGrid()" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["floorplannerCanvas"], descendants: true, read: i0.ElementRef, static: true }], ngImport: i0__namespace, template: "<canvas #floorplannerCanvas\r\n (contextmenu)=\"handleContextMenu($event)\"\r\n (mousedown)=\"handleMouseDown($event)\"\r\n (mousemove)=\"handleMouseMove($event)\"\r\n (mouseup)=\"handleMouseUp($event)\"\r\n (mouseleave)=\"handleMouseLeave($event)\"\r\n (wheel)=\"handleMouseWheel($event)\"\r\n (touchstart)=\"handleTouchStart($event)\"\r\n (touchmove)=\"handleTouchMove($event)\"\r\n (touchend)=\"handleTouchUp($event)\"\r\n (touchcancel)=\"handleTouchEnd($event)\"\r\n></canvas>\r\n\r\n<wall-length-input></wall-length-input>\r\n\r\n<div class=\"controls-top\">\r\n <mat-button-toggle-group class=\"mode-toggle\"\r\n (change)=\"changeFloorplannerMode($event.value)\"\r\n [value]=\"selectedMode\"\r\n >\r\n <mat-button-toggle [value]=\"floorplannerMode.Draw\" [matTooltip]=\"'DRAW_WALLS' | localize\">\r\n <mat-icon class=\"homedecorator-material-icons\">edit</mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"floorplannerMode.Move\" [matTooltip]=\"'SELECT_AND_MOVE_WALLS' | localize\">\r\n <mat-icon class=\"homedecorator-material-icons\" svgIcon=\"hand-pointer\"></mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n</div>\r\n\r\n<div class=\"hint\" *ngIf=\"mode === floorplannerMode.Drawing\" (click)=\"changeFloorplannerMode(floorplannerMode.Draw)\">\r\n {{ 'CLICK_HERE_TO_EXIT_DRAWING_MODE_OR_PRESS_THE_ESC_KEY' | localize }}\r\n</div>\r\n\r\n<div class=\"hint\" *ngIf=\"mode === floorplannerMode.Draw && this.showStartingMessages\">\r\n {{ 'TAB_ANYWHERE_TO_START' | localize }}\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;background:#fff}:host.hidden{visibility:hidden}canvas{width:inherit;height:inherit}.controls-top{pointer-events:none;position:absolute;top:80px;width:100%;display:flex;align-items:center;justify-content:center}.controls-top>*{pointer-events:all;background:#fff;margin:0 3px}.hint{position:absolute;bottom:20px;left:50%;margin-left:-200px;padding:10px 20px;background:#74B77F;border:1px solid #cccccc;border-radius:3px;text-align:center}.mode-toggle>.mat-button-toggle-checked{color:#fff;background-color:#3760a1}\n"], components: [{ type: WallLengthInputComponent, selector: "wall-length-input" }, { type:
|
|
34919
|
+
FloorplannerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloorplannerComponent, deps: [{ token: FloorplanService }, { token: MessageBusService }, { token: ConfigurationService }, { token: DimensioningService }, { token: ViewModeService }, { token: RoomService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
34920
|
+
FloorplannerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: FloorplannerComponent, selector: "floor-planner", outputs: { selectedWallChange: "selectedWallChange" }, host: { listeners: { "document:keydown": "handleDocKeyDown($event)", "document:keyup": "handleDocKeyUp($event)", "window:resize": "resizeGrid()" } }, viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["floorplannerCanvas"], descendants: true, read: i0.ElementRef, static: true }], ngImport: i0__namespace, template: "<canvas #floorplannerCanvas\r\n (contextmenu)=\"handleContextMenu($event)\"\r\n (mousedown)=\"handleMouseDown($event)\"\r\n (mousemove)=\"handleMouseMove($event)\"\r\n (mouseup)=\"handleMouseUp($event)\"\r\n (mouseleave)=\"handleMouseLeave($event)\"\r\n (wheel)=\"handleMouseWheel($event)\"\r\n (touchstart)=\"handleTouchStart($event)\"\r\n (touchmove)=\"handleTouchMove($event)\"\r\n (touchend)=\"handleTouchUp($event)\"\r\n (touchcancel)=\"handleTouchEnd($event)\"\r\n></canvas>\r\n\r\n<wall-length-input></wall-length-input>\r\n\r\n<div class=\"controls-top\">\r\n <mat-button-toggle-group class=\"mode-toggle\"\r\n (change)=\"changeFloorplannerMode($event.value)\"\r\n [value]=\"selectedMode\"\r\n >\r\n <mat-button-toggle [value]=\"floorplannerMode.Draw\" [matTooltip]=\"'DRAW_WALLS' | localize\">\r\n <mat-icon class=\"homedecorator-material-icons\">edit</mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"floorplannerMode.Move\" [matTooltip]=\"'SELECT_AND_MOVE_WALLS' | localize\">\r\n <mat-icon class=\"homedecorator-material-icons\" svgIcon=\"hand-pointer\"></mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n</div>\r\n\r\n<div class=\"hint\" *ngIf=\"mode === floorplannerMode.Drawing\" (click)=\"changeFloorplannerMode(floorplannerMode.Draw)\">\r\n {{ 'CLICK_HERE_TO_EXIT_DRAWING_MODE_OR_PRESS_THE_ESC_KEY' | localize }}\r\n</div>\r\n\r\n<div class=\"hint\" *ngIf=\"mode === floorplannerMode.Draw && this.showStartingMessages\">\r\n {{ 'TAB_ANYWHERE_TO_START' | localize }}\r\n</div>\r\n", styles: [":host{display:flex;height:100%;width:100%;background:#fff}:host.hidden{visibility:hidden}canvas{width:inherit;height:inherit}.controls-top{pointer-events:none;position:absolute;top:80px;width:100%;display:flex;align-items:center;justify-content:center}.controls-top>*{pointer-events:all;background:#fff;margin:0 3px}.hint{position:absolute;bottom:20px;left:50%;margin-left:-200px;padding:10px 20px;background:#74B77F;border:1px solid #cccccc;border-radius:3px;text-align:center}.mode-toggle>.mat-button-toggle-checked{color:#fff;background-color:#3760a1}\n"], components: [{ type: WallLengthInputComponent, selector: "wall-length-input" }, { type: i8__namespace$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i8__namespace$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "localize": LocalizePipe } });
|
|
34894
34921
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: FloorplannerComponent, decorators: [{
|
|
34895
34922
|
type: i0.Component,
|
|
34896
34923
|
args: [{
|
|
@@ -34898,7 +34925,7 @@
|
|
|
34898
34925
|
templateUrl: './floorplanner.component.html',
|
|
34899
34926
|
styleUrls: ['./floorplanner.component.scss']
|
|
34900
34927
|
}]
|
|
34901
|
-
}], ctorParameters: function () { return [{ type: FloorplanService }, { type: MessageBusService }, { type: ConfigurationService }, { type: DimensioningService }, { type: ViewModeService }]; }, propDecorators: { canvasElement: [{
|
|
34928
|
+
}], ctorParameters: function () { return [{ type: FloorplanService }, { type: MessageBusService }, { type: ConfigurationService }, { type: DimensioningService }, { type: ViewModeService }, { type: RoomService }]; }, propDecorators: { canvasElement: [{
|
|
34902
34929
|
type: i0.ViewChild,
|
|
34903
34930
|
args: ['floorplannerCanvas', { read: i0.ElementRef, static: true }]
|
|
34904
34931
|
}], selectedWallChange: [{
|
|
@@ -35940,9 +35967,10 @@
|
|
|
35940
35967
|
TextureEditorOptions[TextureEditorOptions["Both"] = 3] = "Both";
|
|
35941
35968
|
})(TextureEditorOptions || (TextureEditorOptions = {}));
|
|
35942
35969
|
var TextureEditorComponent = /** @class */ (function () {
|
|
35943
|
-
function TextureEditorComponent(_settingsService) {
|
|
35970
|
+
function TextureEditorComponent(messageService, _settingsService) {
|
|
35944
35971
|
var _a;
|
|
35945
35972
|
var _this = this;
|
|
35973
|
+
this.messageService = messageService;
|
|
35946
35974
|
this._settingsService = _settingsService;
|
|
35947
35975
|
this.textureType = TextureType;
|
|
35948
35976
|
this.dragNDropEnforced = false;
|
|
@@ -35984,6 +36012,7 @@
|
|
|
35984
36012
|
};
|
|
35985
36013
|
};
|
|
35986
36014
|
// this.dampSetTexture = this.createDampener(this.setTexture);
|
|
36015
|
+
this._subs.push(this.messageService.subscribe(MessageType.ChangeTexture, function (texture) { return _this.setNewTexture(texture); }));
|
|
35987
36016
|
}
|
|
35988
36017
|
TextureEditorComponent.prototype.ngOnInit = function () {
|
|
35989
36018
|
var _this = this;
|
|
@@ -36005,7 +36034,9 @@
|
|
|
36005
36034
|
TextureEditorComponent.prototype.ngOnDestroy = function () {
|
|
36006
36035
|
var _this = this;
|
|
36007
36036
|
// this.dampSetTexture.release();
|
|
36008
|
-
this._subs.forEach(function (s) {
|
|
36037
|
+
this._subs.forEach(function (s) {
|
|
36038
|
+
s.unsubscribe();
|
|
36039
|
+
});
|
|
36009
36040
|
this.canvas.nativeElement.removeEventListener('mousedown', function () { return _this.onMouseDown(); });
|
|
36010
36041
|
this.canvas.nativeElement.removeEventListener('mouseup', function () { return _this.onMouseUp(); });
|
|
36011
36042
|
this.canvas.nativeElement.removeEventListener('mousemove', function (e) { return _this.onMouseMove(e); });
|
|
@@ -36029,6 +36060,9 @@
|
|
|
36029
36060
|
this.initializeTexture();
|
|
36030
36061
|
}
|
|
36031
36062
|
};
|
|
36063
|
+
TextureEditorComponent.prototype.setNewTexture = function (texture) {
|
|
36064
|
+
this.plainTexture = texture;
|
|
36065
|
+
};
|
|
36032
36066
|
TextureEditorComponent.prototype.handleRemoveTextureClick = function (event) {
|
|
36033
36067
|
this.imageHasBeenResized = false;
|
|
36034
36068
|
this.removeTexture.emit(event);
|
|
@@ -36242,7 +36276,12 @@
|
|
|
36242
36276
|
return __generator(this, function (_a) {
|
|
36243
36277
|
switch (_a.label) {
|
|
36244
36278
|
case 0:
|
|
36245
|
-
|
|
36279
|
+
if (this.texturePlane && this.texturePlane.getTexture() !== undefined) {
|
|
36280
|
+
texture = this.texturePlane.getTexture();
|
|
36281
|
+
}
|
|
36282
|
+
else {
|
|
36283
|
+
texture = this.plainTexture;
|
|
36284
|
+
}
|
|
36246
36285
|
if (!texture) return [3 /*break*/, 2];
|
|
36247
36286
|
return [4 /*yield*/, this._loadTextureData(texture, false)];
|
|
36248
36287
|
case 1:
|
|
@@ -36600,8 +36639,8 @@
|
|
|
36600
36639
|
};
|
|
36601
36640
|
return TextureEditorComponent;
|
|
36602
36641
|
}());
|
|
36603
|
-
TextureEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextureEditorComponent, deps: [{ token: HomedecoratorSettingsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
36604
|
-
TextureEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextureEditorComponent, selector: "rp-texture-editor", inputs: { width: "width", height: "height", texturePlane: "texturePlane", plainTexture: "plainTexture", changedTexture: "changedTexture", options: "options", dragNDropEnforced: "dragNDropEnforced" }, outputs: { setTexture: "setTexture", removeTexture: "removeTexture" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }, { propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<rp-file-drop\r\n [showDragDrop]=\"((!changedTexture || texture?.type === textureType.Basic) && options !== Options.None) || dragNDropEnforced\"\r\n [showRemove]=\"changedTexture\"\r\n (fileContentChanged)=\"onPhotoDataChange($event)\"\r\n (removeClick)=\"handleRemoveTextureClick($event)\"\r\n>\r\n</rp-file-drop>\r\n\r\n<div class=\"resize-message-wrapper\" *ngIf=\"imageHasBeenResized\">\r\n <span class=\"resize-message\" [textContent]=\"'IMAGE_RESIZED' | localize\"></span>\r\n</div>\r\n\r\n<div class=\"picture-editor\" [hidden]=\"!texture || !changedTexture || dragNDropEnforced\">\r\n <div\r\n class=\"picture-editor-canvas\"\r\n [hidden]=\"options === Options.None || (texture?.type === textureType.Basic)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event)\"\r\n >\r\n <div\r\n class=\"canvas-wrapper\"\r\n fxLayout=\"column inline\"\r\n fxLayoutAlign=\"center center\"\r\n >\r\n <canvas [hidden]=\"texture && texture.stretch\" #canvas></canvas>\r\n <mat-button-toggle-group\r\n *ngIf=\"options === Options.Both\"\r\n (change)=\"tiledChanged($event.value === 'texture')\"\r\n [value]=\"tiled ? 'texture' : 'stretch'\"\r\n >\r\n <mat-button-toggle\r\n value=\"stretch\"\r\n title=\"{{'PICTURE' | localize}}\"\r\n [checked]=\"!tiled\">\r\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <mat-icon class=\"homedecorator-material-icons\">photo_size_select_large</mat-icon>\r\n {{'SKIN_FULL_WALL' | localize}}\r\n </div>\r\n </mat-button-toggle>\r\n <mat-button-toggle\r\n value=\"texture\"\r\n title=\"{{'TILE' | localize}}\"\r\n [checked]=\"tiled\"\r\n >\r\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <mat-icon class=\"homedecorator-material-icons\">texture</mat-icon>\r\n {{'CREATE_TEXTURE' | localize}}\r\n </div>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n\r\n <div class=\"sliders\" *ngIf=\"texture?.type === textureType.CustomPattern\r\n || ((texture?.type === textureType.Basic || texture?.type === textureType.PBR)\r\n && options === Options.None)\r\n\"\r\n >\r\n <rp-slider-input\r\n title=\"{{'TILE_ROTATION' | localize}}\"\r\n min=\"-180\"\r\n max=\"180\"\r\n step=\"1\"\r\n [value]=\"tileRotationDeg\"\r\n (onChange)=\"onTileRotationChange($event)\">\r\n </rp-slider-input>\r\n <rp-slider-input\r\n title=\"{{'TILE_SIZE' | localize}}\"\r\n [min]=\"tileSizeMin\"\r\n [max]=\"tileSizeMax\"\r\n step=\"0.1\"\r\n [value]=\"tileSize\"\r\n (onChange)=\"onTileSizeChange($event)\">\r\n </rp-slider-input>\r\n </div>\r\n\r\n <div class=\"sliders\" *ngIf=\"!isBasic(texture) && !isPBR(texture)\">\r\n <rp-slider-input\r\n title=\"{{'ROTATION' | localize}}\"\r\n min=\"-180\"\r\n max=\"180\"\r\n step=\"1\"\r\n [value]=\"textureRotationDeg\"\r\n (onChange)=\"onRotationChange($event)\">\r\n </rp-slider-input>\r\n <rp-slider-input\r\n title=\"{{'ZOOM' | localize}}\"\r\n [min]=\"-zoomSliderMax\"\r\n [max]=\"zoomSliderMax\"\r\n step=\"0.1\"\r\n [value]=\"textureScaleSlider\"\r\n (onChange)=\"onScaleChange($event)\">\r\n </rp-slider-input>\r\n </div>\r\n\r\n <!--\r\n <footer class=\"picture-editor-footer\">\r\n <button *ngIf=\"texture?.type !== TextureType.Basic || options === Options.None\"\r\n mat-stroked-button color=\"warn\"\r\n (click)=\"resetTexture()\"\r\n >\r\n {{ 'Remove' | localize }}\r\n </button>\r\n </footer>\r\n -->\r\n</div>\r\n", styles: ["rp-texture-editor{display:block;width:100%}.picture-editor-footer{margin-bottom:16px}.picture-editor-canvas{margin-top:.75em;margin-bottom:1.5em;text-align:center}.canvas-wrapper{position:relative}.canvas-wrapper mat-button-toggle-group{text-align:center;width:320px}.canvas-wrapper mat-button-toggle{flex-basis:50%;padding:4px 0}.resize-message-wrapper{margin:10px 3px 3px;text-align:-webkit-center}.resize-message-wrapper .resize-message{color:red;font-style:italic;font-weight:bold;font-size:.9em}\n"], components: [{ type: FileDropComponent, selector: "rp-file-drop", inputs: ["showDragDrop", "showRemove"], outputs: ["fileContentChanged", "removeClick"] }, { type:
|
|
36642
|
+
TextureEditorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextureEditorComponent, deps: [{ token: MessageBusService }, { token: HomedecoratorSettingsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
36643
|
+
TextureEditorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TextureEditorComponent, selector: "rp-texture-editor", inputs: { width: "width", height: "height", texturePlane: "texturePlane", plainTexture: "plainTexture", changedTexture: "changedTexture", options: "options", dragNDropEnforced: "dragNDropEnforced" }, outputs: { setTexture: "setTexture", removeTexture: "removeTexture" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }, { propertyName: "canvas", first: true, predicate: ["canvas"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0__namespace, template: "<rp-file-drop\r\n [showDragDrop]=\"((!changedTexture || texture?.type === textureType.Basic) && options !== Options.None) || dragNDropEnforced\"\r\n [showRemove]=\"changedTexture\"\r\n (fileContentChanged)=\"onPhotoDataChange($event)\"\r\n (removeClick)=\"handleRemoveTextureClick($event)\"\r\n>\r\n</rp-file-drop>\r\n\r\n<div class=\"resize-message-wrapper\" *ngIf=\"imageHasBeenResized\">\r\n <span class=\"resize-message\" [textContent]=\"'IMAGE_RESIZED' | localize\"></span>\r\n</div>\r\n\r\n<div class=\"picture-editor\" [hidden]=\"!texture || !changedTexture || dragNDropEnforced\">\r\n <div\r\n class=\"picture-editor-canvas\"\r\n [hidden]=\"options === Options.None || (texture?.type === textureType.Basic)\"\r\n (dragover)=\"onDragOver($event)\"\r\n (drop)=\"onDrop($event)\"\r\n >\r\n <div\r\n class=\"canvas-wrapper\"\r\n fxLayout=\"column inline\"\r\n fxLayoutAlign=\"center center\"\r\n >\r\n <canvas [hidden]=\"texture && texture.stretch\" #canvas></canvas>\r\n <mat-button-toggle-group\r\n *ngIf=\"options === Options.Both\"\r\n (change)=\"tiledChanged($event.value === 'texture')\"\r\n [value]=\"tiled ? 'texture' : 'stretch'\"\r\n >\r\n <mat-button-toggle\r\n value=\"stretch\"\r\n title=\"{{'PICTURE' | localize}}\"\r\n [checked]=\"!tiled\">\r\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <mat-icon class=\"homedecorator-material-icons\">photo_size_select_large</mat-icon>\r\n {{'SKIN_FULL_WALL' | localize}}\r\n </div>\r\n </mat-button-toggle>\r\n <mat-button-toggle\r\n value=\"texture\"\r\n title=\"{{'TILE' | localize}}\"\r\n [checked]=\"tiled\"\r\n >\r\n <div fxLayout=\"column\" fxLayoutAlign=\"center center\">\r\n <mat-icon class=\"homedecorator-material-icons\">texture</mat-icon>\r\n {{'CREATE_TEXTURE' | localize}}\r\n </div>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n\r\n <div class=\"sliders\" *ngIf=\"texture?.type === textureType.CustomPattern\r\n || ((texture?.type === textureType.Basic || texture?.type === textureType.PBR)\r\n && options === Options.None)\r\n\"\r\n >\r\n <rp-slider-input\r\n title=\"{{'TILE_ROTATION' | localize}}\"\r\n min=\"-180\"\r\n max=\"180\"\r\n step=\"1\"\r\n [value]=\"tileRotationDeg\"\r\n (onChange)=\"onTileRotationChange($event)\">\r\n </rp-slider-input>\r\n <rp-slider-input\r\n title=\"{{'TILE_SIZE' | localize}}\"\r\n [min]=\"tileSizeMin\"\r\n [max]=\"tileSizeMax\"\r\n step=\"0.1\"\r\n [value]=\"tileSize\"\r\n (onChange)=\"onTileSizeChange($event)\">\r\n </rp-slider-input>\r\n </div>\r\n\r\n <div class=\"sliders\" *ngIf=\"!isBasic(texture) && !isPBR(texture)\">\r\n <rp-slider-input\r\n title=\"{{'ROTATION' | localize}}\"\r\n min=\"-180\"\r\n max=\"180\"\r\n step=\"1\"\r\n [value]=\"textureRotationDeg\"\r\n (onChange)=\"onRotationChange($event)\">\r\n </rp-slider-input>\r\n <rp-slider-input\r\n title=\"{{'ZOOM' | localize}}\"\r\n [min]=\"-zoomSliderMax\"\r\n [max]=\"zoomSliderMax\"\r\n step=\"0.1\"\r\n [value]=\"textureScaleSlider\"\r\n (onChange)=\"onScaleChange($event)\">\r\n </rp-slider-input>\r\n </div>\r\n\r\n <!--\r\n <footer class=\"picture-editor-footer\">\r\n <button *ngIf=\"texture?.type !== TextureType.Basic || options === Options.None\"\r\n mat-stroked-button color=\"warn\"\r\n (click)=\"resetTexture()\"\r\n >\r\n {{ 'Remove' | localize }}\r\n </button>\r\n </footer>\r\n -->\r\n</div>\r\n", styles: ["rp-texture-editor{display:block;width:100%}.picture-editor-footer{margin-bottom:16px}.picture-editor-canvas{margin-top:.75em;margin-bottom:1.5em;text-align:center}.canvas-wrapper{position:relative}.canvas-wrapper mat-button-toggle-group{text-align:center;width:320px}.canvas-wrapper mat-button-toggle{flex-basis:50%;padding:4px 0}.resize-message-wrapper{margin:10px 3px 3px;text-align:-webkit-center}.resize-message-wrapper .resize-message{color:red;font-style:italic;font-weight:bold;font-size:.9em}\n"], components: [{ type: FileDropComponent, selector: "rp-file-drop", inputs: ["showDragDrop", "showRemove"], outputs: ["fileContentChanged", "removeClick"] }, { type: i8__namespace$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: SliderInputComponent, selector: "rp-slider-input", inputs: ["title", "min", "max", "step", "value"], outputs: ["onChange"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace$3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i8__namespace$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }], pipes: { "localize": LocalizePipe } });
|
|
36605
36644
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: TextureEditorComponent, decorators: [{
|
|
36606
36645
|
type: i0.Component,
|
|
36607
36646
|
args: [{
|
|
@@ -36609,7 +36648,7 @@
|
|
|
36609
36648
|
templateUrl: './texture-editor.component.html',
|
|
36610
36649
|
styleUrls: ['./texture-editor.component.scss']
|
|
36611
36650
|
}]
|
|
36612
|
-
}], ctorParameters: function () { return [{ type: HomedecoratorSettingsService }]; }, propDecorators: { fileInput: [{
|
|
36651
|
+
}], ctorParameters: function () { return [{ type: MessageBusService }, { type: HomedecoratorSettingsService }]; }, propDecorators: { fileInput: [{
|
|
36613
36652
|
type: i0.ViewChild,
|
|
36614
36653
|
args: ['fileInput', { static: true }]
|
|
36615
36654
|
}], canvas: [{
|
|
@@ -37473,7 +37512,7 @@
|
|
|
37473
37512
|
return CustomShapeCreatorComponent;
|
|
37474
37513
|
}());
|
|
37475
37514
|
CustomShapeCreatorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomShapeCreatorComponent, deps: [{ token: HudService }, { token: SceneService }, { token: RoomService }, { token: ItemService }, { token: SceneEventService }, { token: MessageBusService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
37476
|
-
CustomShapeCreatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomShapeCreatorComponent, selector: "rp-custom-shape-creator", inputs: { shape: "shape" }, ngImport: i0__namespace, template: "<section>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"auto center\">\r\n <mat-form-field fxFlex=\"grow\">\r\n <input matInput #nameInputRef\r\n type=\"text\"\r\n placeholder=\"{{'SHAPES_NAME' | localize}}\"\r\n [value]=\"name\"\r\n >\r\n </mat-form-field>\r\n <button mat-icon-button\r\n [disabled]=\"name === nameInputRef.value\"\r\n (click)=\"setName(nameInputRef.value)\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons size-16\">check</mat-icon>\r\n </button>\r\n <button mat-icon-button\r\n [disabled]=\"name === nameInputRef.value\"\r\n (click)=\"nameInputRef.value = name\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons size-16\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"switcher\">\r\n <h2 class=\"mat-body-2\">{{isFloorType ? ('FLOOR' | localize) : ('WALL' | localize)}}</h2>\r\n <mat-slide-toggle\r\n [checked]=\"isFloorType\"\r\n (change)=\"toggleItemType()\"\r\n [labelPosition]=\"'before'\"\r\n >\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <h3 class=\"mat-subheading-2\"> {{ 'MEASUREMENTS' | localize}}</h3>\r\n <div>\r\n <rp-dimension-input\r\n title=\"{{'HEIGHT' | localize}}\"\r\n [sourceValue]=\"height * scaleFactor\"\r\n [minValue]=\"
|
|
37515
|
+
CustomShapeCreatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomShapeCreatorComponent, selector: "rp-custom-shape-creator", inputs: { shape: "shape" }, ngImport: i0__namespace, template: "<section>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"auto center\">\r\n <mat-form-field fxFlex=\"grow\">\r\n <input matInput #nameInputRef\r\n type=\"text\"\r\n placeholder=\"{{'SHAPES_NAME' | localize}}\"\r\n [value]=\"name\"\r\n >\r\n </mat-form-field>\r\n <button mat-icon-button\r\n [disabled]=\"name === nameInputRef.value\"\r\n (click)=\"setName(nameInputRef.value)\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons size-16\">check</mat-icon>\r\n </button>\r\n <button mat-icon-button\r\n [disabled]=\"name === nameInputRef.value\"\r\n (click)=\"nameInputRef.value = name\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons size-16\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"switcher\">\r\n <h2 class=\"mat-body-2\">{{isFloorType ? ('FLOOR' | localize) : ('WALL' | localize)}}</h2>\r\n <mat-slide-toggle\r\n [checked]=\"isFloorType\"\r\n (change)=\"toggleItemType()\"\r\n [labelPosition]=\"'before'\"\r\n >\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <h3 class=\"mat-subheading-2\"> {{ 'MEASUREMENTS' | localize}}</h3>\r\n <div>\r\n <rp-dimension-input\r\n title=\"{{'HEIGHT' | localize}}\"\r\n [sourceValue]=\"height * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setHeight($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n\r\n <rp-dimension-input\r\n title=\"{{'WIDTH' | localize}}\"\r\n [sourceValue]=\"width * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setWidth($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n\r\n <rp-dimension-input\r\n title=\"{{'DEPTH' | localize}}\"\r\n [sourceValue]=\"depth * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setDepth($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n\r\n <rp-dimension-input\r\n title=\"{{'ELEVATION' | localize}}\"\r\n [sourceValue]=\"elevation * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setElevation($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n </div>\r\n\r\n <div>\r\n <h3 class=\"mat-subheading-2\"> {{ 'TEXTURES' | localize}}</h3>\r\n <mat-form-field id=\"face-select-form\">\r\n <mat-label>{{\"SELECT_FACE\" | localize}}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedFace\">\r\n <mat-option [value]=\"faceRef.All\">{{ 'ALL' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Top\">{{ 'TOP' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Bottom\">{{ 'BOTTOM' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Front\">{{ 'FRONT' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Back\">{{ 'BACK' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Left\">{{ 'LEFT' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Right\">{{ 'RIGHT' | localize }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <rp-appearance-section\r\n type=\"shape\"\r\n [hideTextureTab]=\"true\"\r\n [color]=\"skin[selectedFace].color\"\r\n [plainTexture]=\"skin[selectedFace].texture\"\r\n [textureWidth]=\"skin[selectedFace].width() * 100\"\r\n [textureHeight]=\"skin[selectedFace].height() * 100\"\r\n [photoOptions]=\"textureOptions.Tiles\"\r\n (setTexture)=\"setTexture($event)\"\r\n (setColor)=\"setColor($event)\"\r\n >\r\n </rp-appearance-section>\r\n </div>\r\n</section>\r\n", styles: [":host{overflow:hidden}:host section{overflow-y:auto;height:100%}#face-select-form{width:100%}#create-button{color:#fff;background:#3760a1}::ng-deep .mat-select-panel{max-height:80vh!important}.switcher{margin-right:10px}\n"], components: [{ type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10__namespace$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked", "aria-describedby"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: DimensionInputComponent, selector: "rp-dimension-input", inputs: ["minValue", "maxValue", "sourceValue", "title"], outputs: ["dimensionChanged", "focus", "blur"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: AppearanceSectionComponent, selector: "rp-appearance-section", inputs: ["type", "hideTextureTab", "hideColorTab", "hidePhotoTab", "showGlassOption", "texturePlane", "plainTexture", "color", "textureWidth", "textureHeight", "photoOptions", "glassMaterial"], outputs: ["setTexture", "setColor", "setMaterial"] }], directives: [{ type: i3__namespace$3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3__namespace$3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i7__namespace.MatLabel, selector: "mat-label" }, { type: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "localize": LocalizePipe } });
|
|
37477
37516
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomShapeCreatorComponent, decorators: [{
|
|
37478
37517
|
type: i0.Component,
|
|
37479
37518
|
args: [{
|
|
@@ -37726,6 +37765,8 @@
|
|
|
37726
37765
|
return [4 /*yield*/, MaterialUtils.FromImage(texture)];
|
|
37727
37766
|
case 1:
|
|
37728
37767
|
_a[_b] = new (_c.apply(THREE.MeshPhongMaterial, [void 0, (_d.map = _e.sent(),
|
|
37768
|
+
_d.transparent = true,
|
|
37769
|
+
_d.alphaTest = 0.5,
|
|
37729
37770
|
_d)]))();
|
|
37730
37771
|
_e.label = 2;
|
|
37731
37772
|
case 2:
|
|
@@ -37743,7 +37784,7 @@
|
|
|
37743
37784
|
return CustomCylinderCreatorComponent;
|
|
37744
37785
|
}());
|
|
37745
37786
|
CustomCylinderCreatorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomCylinderCreatorComponent, deps: [{ token: HudService }, { token: SceneService }, { token: ItemService }, { token: RoomService }, { token: SceneEventService }, { token: MessageBusService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
37746
|
-
CustomCylinderCreatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomCylinderCreatorComponent, selector: "custom-cylinder-creator", inputs: { shape: "shape" }, ngImport: i0__namespace, template: "<section>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"auto center\">\r\n <mat-form-field fxFlex=\"grow\">\r\n <input matInput #nameInputRef\r\n type=\"text\"\r\n placeholder=\"{{'SHAPES_NAME' | localize}}\"\r\n [value]=\"name\"\r\n >\r\n </mat-form-field>\r\n <button mat-icon-button\r\n [disabled]=\"name === nameInputRef.value\"\r\n (click)=\"setName(nameInputRef.value)\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons size-16\">check</mat-icon>\r\n </button>\r\n <button mat-icon-button\r\n [disabled]=\"name === nameInputRef.value\"\r\n (click)=\"nameInputRef.value = name\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons size-16\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"switcher\">\r\n <h2 class=\"mat-body-2\">{{isFloorType ? ('FLOOR' | localize) : ('WALL' | localize)}}</h2>\r\n <mat-slide-toggle\r\n [checked]=\"isFloorType\"\r\n (change)=\"toggleItemType()\"\r\n [labelPosition]=\"'before'\"\r\n >\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <h3 class=\"mat-subheading-2\"> {{ 'MEASUREMENTS' | localize}}</h3>\r\n <div>\r\n <rp-dimension-input\r\n title=\"{{'RADIUS' | localize}}\"\r\n [sourceValue]=\"radius * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setRadius($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n\r\n <rp-dimension-input\r\n title=\"{{'HEIGHT' | localize}}\"\r\n [sourceValue]=\"height * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setHeight($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n\r\n <rp-dimension-input\r\n *ngIf=\"isFloorType\"\r\n title=\"{{'ELEVATION' | localize}}\"\r\n [sourceValue]=\"elevation * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setElevation($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n </div>\r\n\r\n <div>\r\n <h3 class=\"mat-subheading-2\"> {{ 'TEXTURES' | localize}}</h3>\r\n <mat-form-field class=\"face-select-form\">\r\n <mat-label>{{\"SELECT_FACE\" | localize}}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedFace\">\r\n <mat-option [value]=\"faceRef.All\">{{ 'ALL' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Top\">{{ 'TOP' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Bottom\">{{ 'BOTTOM' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Front\">{{ 'FRONT' | localize }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <rp-appearance-section\r\n [hideTextureTab]=\"true\"\r\n [color]=\"skin[selectedFace].color\"\r\n [plainTexture]=\"skin[selectedFace].texture\"\r\n [photoOptions]=\"textureOptions.Tiles\"\r\n [textureWidth]=\"skin[selectedFace].width() * 100\"\r\n [textureHeight]=\"skin[selectedFace].height() * 100\"\r\n (setTexture)=\"setTexture($event)\"\r\n (setColor)=\"setColor($event)\"\r\n >\r\n </rp-appearance-section>\r\n </div>\r\n</section>\r\n", styles: [":host{overflow:hidden}:host section{overflow-y:auto;height:100%}.face-select-form{width:100%}::ng-deep .mat-select-panel{max-height:80vh!important}.switcher{margin-right:10px}\n"], components: [{ type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10__namespace$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked", "aria-describedby"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: DimensionInputComponent, selector: "rp-dimension-input", inputs: ["minValue", "maxValue", "sourceValue", "title"], outputs: ["dimensionChanged", "focus", "blur"] }, { type:
|
|
37787
|
+
CustomCylinderCreatorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CustomCylinderCreatorComponent, selector: "custom-cylinder-creator", inputs: { shape: "shape" }, ngImport: i0__namespace, template: "<section>\r\n <div fxLayout=\"row\" fxLayoutAlign=\"auto center\">\r\n <mat-form-field fxFlex=\"grow\">\r\n <input matInput #nameInputRef\r\n type=\"text\"\r\n placeholder=\"{{'SHAPES_NAME' | localize}}\"\r\n [value]=\"name\"\r\n >\r\n </mat-form-field>\r\n <button mat-icon-button\r\n [disabled]=\"name === nameInputRef.value\"\r\n (click)=\"setName(nameInputRef.value)\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons size-16\">check</mat-icon>\r\n </button>\r\n <button mat-icon-button\r\n [disabled]=\"name === nameInputRef.value\"\r\n (click)=\"nameInputRef.value = name\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons size-16\">cancel</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div fxLayout=\"row\" fxLayoutAlign=\"space-between center\" class=\"switcher\">\r\n <h2 class=\"mat-body-2\">{{isFloorType ? ('FLOOR' | localize) : ('WALL' | localize)}}</h2>\r\n <mat-slide-toggle\r\n [checked]=\"isFloorType\"\r\n (change)=\"toggleItemType()\"\r\n [labelPosition]=\"'before'\"\r\n >\r\n </mat-slide-toggle>\r\n </div>\r\n\r\n <h3 class=\"mat-subheading-2\"> {{ 'MEASUREMENTS' | localize}}</h3>\r\n <div>\r\n <rp-dimension-input\r\n title=\"{{'RADIUS' | localize}}\"\r\n [sourceValue]=\"radius * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setRadius($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n\r\n <rp-dimension-input\r\n title=\"{{'HEIGHT' | localize}}\"\r\n [sourceValue]=\"height * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setHeight($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n\r\n <rp-dimension-input\r\n *ngIf=\"isFloorType\"\r\n title=\"{{'ELEVATION' | localize}}\"\r\n [sourceValue]=\"elevation * scaleFactor\"\r\n [minValue]=\"0\"\r\n (dimensionChanged)=\"setElevation($event / scaleFactor)\"\r\n >\r\n </rp-dimension-input>\r\n </div>\r\n\r\n <div>\r\n <h3 class=\"mat-subheading-2\"> {{ 'TEXTURES' | localize}}</h3>\r\n <mat-form-field class=\"face-select-form\">\r\n <mat-label>{{\"SELECT_FACE\" | localize}}</mat-label>\r\n <mat-select [(ngModel)]=\"selectedFace\">\r\n <mat-option [value]=\"faceRef.All\">{{ 'ALL' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Top\">{{ 'TOP' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Bottom\">{{ 'BOTTOM' | localize }}</mat-option>\r\n <mat-option [value]=\"faceRef.Front\">{{ 'FRONT' | localize }}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <rp-appearance-section\r\n [hideTextureTab]=\"true\"\r\n [color]=\"skin[selectedFace].color\"\r\n [plainTexture]=\"skin[selectedFace].texture\"\r\n [photoOptions]=\"textureOptions.Tiles\"\r\n [textureWidth]=\"skin[selectedFace].width() * 100\"\r\n [textureHeight]=\"skin[selectedFace].height() * 100\"\r\n (setTexture)=\"setTexture($event)\"\r\n (setColor)=\"setColor($event)\"\r\n >\r\n </rp-appearance-section>\r\n </div>\r\n</section>\r\n", styles: [":host{overflow:hidden}:host section{overflow-y:auto;height:100%}.face-select-form{width:100%}::ng-deep .mat-select-panel{max-height:80vh!important}.switcher{margin-right:10px}\n"], components: [{ type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i10__namespace$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked", "aria-describedby"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: DimensionInputComponent, selector: "rp-dimension-input", inputs: ["minValue", "maxValue", "sourceValue", "title"], outputs: ["dimensionChanged", "focus", "blur"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: AppearanceSectionComponent, selector: "rp-appearance-section", inputs: ["type", "hideTextureTab", "hideColorTab", "hidePhotoTab", "showGlassOption", "texturePlane", "plainTexture", "color", "textureWidth", "textureHeight", "photoOptions", "glassMaterial"], outputs: ["setTexture", "setColor", "setMaterial"] }], directives: [{ type: i3__namespace$3.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3__namespace$3.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i3__namespace$3.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i19__namespace.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7__namespace.MatLabel, selector: "mat-label" }, { type: i8__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8__namespace.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "localize": LocalizePipe } });
|
|
37747
37788
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: CustomCylinderCreatorComponent, decorators: [{
|
|
37748
37789
|
type: i0.Component,
|
|
37749
37790
|
args: [{
|
|
@@ -40335,7 +40376,7 @@
|
|
|
40335
40376
|
return ModelDialogFurnitureListComponent;
|
|
40336
40377
|
}());
|
|
40337
40378
|
ModelDialogFurnitureListComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModelDialogFurnitureListComponent, deps: [{ token: HomedecoratorIconCacheService }, { token: HomedecoratorSettingsService }, { token: ItemService }, { token: GoogleTagManagerService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
40338
|
-
ModelDialogFurnitureListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ModelDialogFurnitureListComponent, selector: "dialog-furniture-list", inputs: { list: "list", label: "label", subLabel: "subLabel", showCopy: "showCopy", showDelete: "showDelete", showTotals: "showTotals" }, ngImport: i0__namespace, template: "\n <ng-container *ngIf=\"list.length > 0\">\n <div class=\"title\">\n <h4 class=\"label\" *ngIf=\"label\" [textContent]=\"label | localize\"></h4>\n <p class=\"sub-label\" *ngIf=\"subLabel\" [textContent]=\"subLabel | localize\"></p>\n </div>\n\n\n <ul class=\"furniture-list\">\n <li *ngFor=\"let item of list; let i = index\" [attr.data-index]=\"i\" class=\"furniture-item\">\n <div class=\"furniture-item-wrap\">\n <div class=\"furniture-item-left\">\n <div class=\"furniture-item-wrapper\">\n <co-icon *ngIf=\"item.errorMessages.length > 0\" class=\"error-expand-handle\" [class.expanded]=\"item.showErrors\"\n [iconData]=\"iconService.getIcon(icon.ArrowPointDown)\" (click)=\"item.showErrors = !item.showErrors\"></co-icon>\n <span class=\"furniture-item-title\" [textContent]=\"item.name\"></span>\n <button *ngIf=showCopy class=\"furniture-item-copy\"\n [textContent]=\"item.toggle ? ('COPIED' | localize) : ('COPY' | localize)\"\n (click)=\"copyFurnitureName(item)\"></button>\n </div>\n <div class=\"error-messages-wrapper\" *ngIf=\"item.showErrors\" @showErrorMessages>\n <error-messages [messages]=\"item.errorMessages\"></error-messages>\n </div>\n </div>\n <div class=\"furniture-item-right\" *ngIf=\"showDelete\">\n <button class=\"furniture-item-delete\" matTooltip=\"{{'REMOVE' | localize}}\"\n (click)=\"removeFurniture(item)\">\n <mat-icon class=\"homedecorator-material-icons\">delete</mat-icon>\n </button>\n </div>\n </div>\n <!-- add conversionbtn here-->\n <div class=\"furniture-item-conversion-wrap\" *ngIf=\"settingsService.settings.showConversionButtons\">\n <div class=\"furniture-item-conversion-row furniture-item-conversion-button-wrap\">\n <button\n (click)=\"sendConversionToTagManager(item)\"\n class=\"furniture-item-button furniture-item-conversion\"\n [ngClass]=\"item.metaData.conversionGTMSend ? 'furniture-item-conversion-highlight':''\">\n <mat-icon class=\"homedecorator-material-icons\">add_shopping_cart</mat-icon>\n </button>\n </div>\n <div class=\"furniture-item-conversion-row furniture-item-conversion-input-wrap\">\n <label *ngIf=\"item.metaData.conversionGTMSend\" class=\"furniture-item-conversion-input-label\">\n {{ 'SALESPRICE' | localize }}\n </label>\n <input\n type=\"text\"\n [value]=\"item.metaData.conversionSubmittedPrice ? item.metaData.conversionSubmittedPrice : ''\"\n [disabled]=\"!item.metaData.conversionGTMSend\"\n (keydown.enter)=\"getInputValue($event, item)\"\n (keydown.tab)=\"getInputValue($event, item)\"\n [id]=\"item.instanceId\"\n >\n <button\n class=\"input-binded-button\"\n (click)=\"submitInput(item.instanceId, item)\"\n [ngClass]=\"item.metaData.conversionSubmittedPrice && item.metaData.conversionSubmittedPrice !== '' ? 'input-binded-button-highlight' : ''\"\n >\n <mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon>\n </button>\n </div>\n </div>\n </li>\n </ul>\n\n <div class=\"furniture-item-totals\" *ngIf=\"showTotals && settingsService.settings.showConversionButtons\">\n <div class=\"furniture-item-total-row furniture-item-total\">\n <span>{{ 'TOTALPRICE' | localize }}: {{ totalPrice }}</span>\n </div>\n <div class=\"furniture-item-total-row furniture-item-total-submit\">\n <button\n name=\"submit project conversion\"\n alt=\"submit project conversion\"\n class=\"furniture-item-button furniture-item-total-button\"\n (click)=\"submitTotalPriceEvent()\"\n [ngClass]=\"totalEventSubmitted ? 'furniture-item-total-button-highlight' : ''\">\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"!totalEventSubmitted\">arrow_upward</mat-icon>\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"totalEventSubmitted\">check_circle</mat-icon>\n </button>\n </div>\n </div>\n\n </ng-container>\n ", isInline: true, styles: [".title{margin-bottom:10px}.label{margin:0}.sub-label{font-size:12px;font-style:italic;margin:0}.furniture-item-button{-webkit-user-select:none;user-select:none;width:36px;height:36px;color:#fff;background:#3760a1;border:none;border-radius:100%;cursor:pointer;flex-shrink:0}.furniture-item-button .mat-icon{font-size:18px;line-height:36px;width:auto;height:auto}.furniture-list{display:flex;flex-direction:column;width:100%;padding:0;overflow:hidden;margin:0 0 10px}.furniture-list .furniture-item{display:flex;align-items:flex-start;width:100%;margin:2px 0 0;overflow:hidden}.furniture-list .furniture-item.furniture-model .furniture-item-left{padding-right:10px}.furniture-list .furniture-item .furniture-item-wrapper{display:flex;align-items:center}.furniture-list .furniture-item .furniture-item-wrapper .error-expand-handle{cursor:pointer;transform:rotate(0);height:40px;width:40px}.furniture-list .furniture-item .furniture-item-wrapper .error-expand-handle.expanded{transform:rotate(180deg);transition:.3s ease-in-out}.furniture-list .furniture-item .furniture-item-wrap{border:1px solid #dce4ea;padding:4px 0 4px 10px;display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left{display:flex;flex-direction:column;width:80%;font-size:13px;margin:0}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left .furniture-item-title{display:flex;flex-direction:column;justify-content:center;width:100%;min-height:32px}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left .furniture-item-copy{float:right;border:none;padding:0 15px;margin:0 0 0 10px;line-height:32px;font-size:12px;text-transform:uppercase;background:transparent;color:#dce4ea;font-weight:600;cursor:pointer}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left .furniture-item-copy:focus{outline:0}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left .furniture-item-copy:hover{color:#000000de}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-right{display:flex;padding-top:4px;width:20%;flex-direction:column;justify-content:center;align-items:center}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-right .furniture-item-delete{-webkit-user-select:none;user-select:none;width:36px;height:36px;color:#fff;background:#3760a1;border:none;border-radius:100%;cursor:pointer;flex-shrink:0}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-right .furniture-item-delete .mat-icon{font-size:18px;line-height:36px;width:auto;height:auto}.furniture-list .furniture-item .furniture-item-conversion-wrap{display:flex;flex-direction:row;flex-wrap:wrap;padding-top:9px;box-sizing:border-box}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-row{display:flex;flex-direction:column;justify-content:center;align-items:center}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-button-wrap{width:30%}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap{width:70%;position:relative}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap input{width:90%;border:1px solid #e8eceb;border-radius:3px;box-sizing:border-box;padding:10px 5px}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap input:disabled{background:#eee}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap .furniture-item-conversion-input-label{font-size:8px;position:absolute;top:2px;left:10px}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap .input-binded-button{background:none;border:none;cursor:pointer;position:absolute;right:0;top:10px;color:#000}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap .input-binded-button .mat-icon{height:14px;width:14px;font-size:14px}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap .input-binded-button-highlight{color:#009a6d}.furniture-item-conversion-highlight{background:#009a6d}.furniture-item-conversion-highlight svg{fill:#fff}::ng-deep error-messages .error-message{font-weight:bold;font-size:12px}::ng-deep error-messages .error-description{font-size:11px}.furniture-item-totals{display:flex;flex-direction:row;justify-content:right;align-items:center}.furniture-item-totals .furniture-item-total-row{display:flex;flex-direction:column;margin-left:15px}.furniture-item-totals .furniture-item-total-button-highlight{background:#009a6d;color:#fff}\n"], components: [{ type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: ErrorMessageComponent, selector: "error-messages", inputs: ["messages"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "localize": LocalizePipe }, animations: [
|
|
40379
|
+
ModelDialogFurnitureListComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ModelDialogFurnitureListComponent, selector: "dialog-furniture-list", inputs: { list: "list", label: "label", subLabel: "subLabel", showCopy: "showCopy", showDelete: "showDelete", showTotals: "showTotals" }, ngImport: i0__namespace, template: "\n <ng-container *ngIf=\"list.length > 0\">\n <div class=\"title\">\n <h4 class=\"label\" *ngIf=\"label\" [textContent]=\"label | localize\"></h4>\n <p class=\"sub-label\" *ngIf=\"subLabel\" [textContent]=\"subLabel | localize\"></p>\n </div>\n\n\n <ul class=\"furniture-list\">\n <li *ngFor=\"let item of list; let i = index\" [attr.data-index]=\"i\" class=\"furniture-item\">\n <div class=\"furniture-item-wrap\">\n <div class=\"furniture-item-left\">\n <div class=\"furniture-item-wrapper\">\n <co-icon *ngIf=\"item.errorMessages.length > 0\" class=\"error-expand-handle\" [class.expanded]=\"item.showErrors\"\n [iconData]=\"iconService.getIcon(icon.ArrowPointDown)\" (click)=\"item.showErrors = !item.showErrors\"></co-icon>\n <span class=\"furniture-item-title\" [textContent]=\"item.name ? item.name : item.sku\"></span>\n <button *ngIf=showCopy class=\"furniture-item-copy\"\n [textContent]=\"item.toggle ? ('COPIED' | localize) : ('COPY' | localize)\"\n (click)=\"copyFurnitureName(item)\"></button>\n </div>\n <div class=\"error-messages-wrapper\" *ngIf=\"item.showErrors\" @showErrorMessages>\n <error-messages [messages]=\"item.errorMessages\"></error-messages>\n </div>\n </div>\n <div class=\"furniture-item-right\" *ngIf=\"showDelete\">\n <button class=\"furniture-item-delete\" matTooltip=\"{{'REMOVE' | localize}}\"\n (click)=\"removeFurniture(item)\">\n <mat-icon class=\"homedecorator-material-icons\">delete</mat-icon>\n </button>\n </div>\n </div>\n <!-- add conversionbtn here-->\n <div class=\"furniture-item-conversion-wrap\" *ngIf=\"settingsService.settings.showConversionButtons\">\n <div class=\"furniture-item-conversion-row furniture-item-conversion-button-wrap\">\n <button\n (click)=\"sendConversionToTagManager(item)\"\n class=\"furniture-item-button furniture-item-conversion\"\n [ngClass]=\"item.metaData.conversionGTMSend ? 'furniture-item-conversion-highlight':''\">\n <mat-icon class=\"homedecorator-material-icons\">add_shopping_cart</mat-icon>\n </button>\n </div>\n <div class=\"furniture-item-conversion-row furniture-item-conversion-input-wrap\">\n <label *ngIf=\"item.metaData.conversionGTMSend\" class=\"furniture-item-conversion-input-label\">\n {{ 'SALESPRICE' | localize }}\n </label>\n <input\n type=\"text\"\n [value]=\"item.metaData.conversionSubmittedPrice ? item.metaData.conversionSubmittedPrice : ''\"\n [disabled]=\"!item.metaData.conversionGTMSend\"\n (keydown.enter)=\"getInputValue($event, item)\"\n (keydown.tab)=\"getInputValue($event, item)\"\n [id]=\"item.instanceId\"\n >\n <button\n class=\"input-binded-button\"\n (click)=\"submitInput(item.instanceId, item)\"\n [ngClass]=\"item.metaData.conversionSubmittedPrice && item.metaData.conversionSubmittedPrice !== '' ? 'input-binded-button-highlight' : ''\"\n >\n <mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon>\n </button>\n </div>\n </div>\n </li>\n </ul>\n\n <div class=\"furniture-item-totals\" *ngIf=\"showTotals && settingsService.settings.showConversionButtons\">\n <div class=\"furniture-item-total-row furniture-item-total\">\n <span>{{ 'TOTALPRICE' | localize }}: {{ totalPrice }}</span>\n </div>\n <div class=\"furniture-item-total-row furniture-item-total-submit\">\n <button\n name=\"submit project conversion\"\n alt=\"submit project conversion\"\n class=\"furniture-item-button furniture-item-total-button\"\n (click)=\"submitTotalPriceEvent()\"\n [ngClass]=\"totalEventSubmitted ? 'furniture-item-total-button-highlight' : ''\">\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"!totalEventSubmitted\">arrow_upward</mat-icon>\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"totalEventSubmitted\">check_circle</mat-icon>\n </button>\n </div>\n </div>\n\n </ng-container>\n ", isInline: true, styles: [".title{margin-bottom:10px}.label{margin:0}.sub-label{font-size:12px;font-style:italic;margin:0}.furniture-item-button{-webkit-user-select:none;user-select:none;width:36px;height:36px;color:#fff;background:#3760a1;border:none;border-radius:100%;cursor:pointer;flex-shrink:0}.furniture-item-button .mat-icon{font-size:18px;line-height:36px;width:auto;height:auto}.furniture-list{display:flex;flex-direction:column;width:100%;padding:0;overflow:hidden;margin:0 0 10px}.furniture-list .furniture-item{display:flex;align-items:flex-start;width:100%;margin:2px 0 0;overflow:hidden}.furniture-list .furniture-item.furniture-model .furniture-item-left{padding-right:10px}.furniture-list .furniture-item .furniture-item-wrapper{display:flex;align-items:center}.furniture-list .furniture-item .furniture-item-wrapper .error-expand-handle{cursor:pointer;transform:rotate(0);height:40px;width:40px}.furniture-list .furniture-item .furniture-item-wrapper .error-expand-handle.expanded{transform:rotate(180deg);transition:.3s ease-in-out}.furniture-list .furniture-item .furniture-item-wrap{border:1px solid #dce4ea;padding:4px 0 4px 10px;display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left{display:flex;flex-direction:column;width:80%;font-size:13px;margin:0}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left .furniture-item-title{display:flex;flex-direction:column;justify-content:center;width:100%;min-height:32px}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left .furniture-item-copy{float:right;border:none;padding:0 15px;margin:0 0 0 10px;line-height:32px;font-size:12px;text-transform:uppercase;background:transparent;color:#dce4ea;font-weight:600;cursor:pointer}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left .furniture-item-copy:focus{outline:0}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-left .furniture-item-copy:hover{color:#000000de}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-right{display:flex;padding-top:4px;width:20%;flex-direction:column;justify-content:center;align-items:center}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-right .furniture-item-delete{-webkit-user-select:none;user-select:none;width:36px;height:36px;color:#fff;background:#3760a1;border:none;border-radius:100%;cursor:pointer;flex-shrink:0}.furniture-list .furniture-item .furniture-item-wrap .furniture-item-right .furniture-item-delete .mat-icon{font-size:18px;line-height:36px;width:auto;height:auto}.furniture-list .furniture-item .furniture-item-conversion-wrap{display:flex;flex-direction:row;flex-wrap:wrap;padding-top:9px;box-sizing:border-box}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-row{display:flex;flex-direction:column;justify-content:center;align-items:center}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-button-wrap{width:30%}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap{width:70%;position:relative}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap input{width:90%;border:1px solid #e8eceb;border-radius:3px;box-sizing:border-box;padding:10px 5px}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap input:disabled{background:#eee}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap .furniture-item-conversion-input-label{font-size:8px;position:absolute;top:2px;left:10px}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap .input-binded-button{background:none;border:none;cursor:pointer;position:absolute;right:0;top:10px;color:#000}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap .input-binded-button .mat-icon{height:14px;width:14px;font-size:14px}.furniture-list .furniture-item .furniture-item-conversion-wrap .furniture-item-conversion-input-wrap .input-binded-button-highlight{color:#009a6d}.furniture-item-conversion-highlight{background:#009a6d}.furniture-item-conversion-highlight svg{fill:#fff}::ng-deep error-messages .error-message{font-weight:bold;font-size:12px}::ng-deep error-messages .error-description{font-size:11px}.furniture-item-totals{display:flex;flex-direction:row;justify-content:right;align-items:center}.furniture-item-totals .furniture-item-total-row{display:flex;flex-direction:column;margin-left:15px}.furniture-item-totals .furniture-item-total-button-highlight{background:#009a6d;color:#fff}\n"], components: [{ type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: ErrorMessageComponent, selector: "error-messages", inputs: ["messages"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i5__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "localize": LocalizePipe }, animations: [
|
|
40339
40380
|
animations.trigger('slideInOut', [
|
|
40340
40381
|
animations.transition(':leave', [
|
|
40341
40382
|
animations.style({ transform: 'translateY(0%)', opacity: '1' }),
|
|
@@ -40352,7 +40393,7 @@
|
|
|
40352
40393
|
type: i0.Component,
|
|
40353
40394
|
args: [{
|
|
40354
40395
|
selector: 'dialog-furniture-list',
|
|
40355
|
-
template: "\n <ng-container *ngIf=\"list.length > 0\">\n <div class=\"title\">\n <h4 class=\"label\" *ngIf=\"label\" [textContent]=\"label | localize\"></h4>\n <p class=\"sub-label\" *ngIf=\"subLabel\" [textContent]=\"subLabel | localize\"></p>\n </div>\n\n\n <ul class=\"furniture-list\">\n <li *ngFor=\"let item of list; let i = index\" [attr.data-index]=\"i\" class=\"furniture-item\">\n <div class=\"furniture-item-wrap\">\n <div class=\"furniture-item-left\">\n <div class=\"furniture-item-wrapper\">\n <co-icon *ngIf=\"item.errorMessages.length > 0\" class=\"error-expand-handle\" [class.expanded]=\"item.showErrors\"\n [iconData]=\"iconService.getIcon(icon.ArrowPointDown)\" (click)=\"item.showErrors = !item.showErrors\"></co-icon>\n <span class=\"furniture-item-title\" [textContent]=\"item.name\"></span>\n <button *ngIf=showCopy class=\"furniture-item-copy\"\n [textContent]=\"item.toggle ? ('COPIED' | localize) : ('COPY' | localize)\"\n (click)=\"copyFurnitureName(item)\"></button>\n </div>\n <div class=\"error-messages-wrapper\" *ngIf=\"item.showErrors\" @showErrorMessages>\n <error-messages [messages]=\"item.errorMessages\"></error-messages>\n </div>\n </div>\n <div class=\"furniture-item-right\" *ngIf=\"showDelete\">\n <button class=\"furniture-item-delete\" matTooltip=\"{{'REMOVE' | localize}}\"\n (click)=\"removeFurniture(item)\">\n <mat-icon class=\"homedecorator-material-icons\">delete</mat-icon>\n </button>\n </div>\n </div>\n <!-- add conversionbtn here-->\n <div class=\"furniture-item-conversion-wrap\" *ngIf=\"settingsService.settings.showConversionButtons\">\n <div class=\"furniture-item-conversion-row furniture-item-conversion-button-wrap\">\n <button\n (click)=\"sendConversionToTagManager(item)\"\n class=\"furniture-item-button furniture-item-conversion\"\n [ngClass]=\"item.metaData.conversionGTMSend ? 'furniture-item-conversion-highlight':''\">\n <mat-icon class=\"homedecorator-material-icons\">add_shopping_cart</mat-icon>\n </button>\n </div>\n <div class=\"furniture-item-conversion-row furniture-item-conversion-input-wrap\">\n <label *ngIf=\"item.metaData.conversionGTMSend\" class=\"furniture-item-conversion-input-label\">\n {{ 'SALESPRICE' | localize }}\n </label>\n <input\n type=\"text\"\n [value]=\"item.metaData.conversionSubmittedPrice ? item.metaData.conversionSubmittedPrice : ''\"\n [disabled]=\"!item.metaData.conversionGTMSend\"\n (keydown.enter)=\"getInputValue($event, item)\"\n (keydown.tab)=\"getInputValue($event, item)\"\n [id]=\"item.instanceId\"\n >\n <button\n class=\"input-binded-button\"\n (click)=\"submitInput(item.instanceId, item)\"\n [ngClass]=\"item.metaData.conversionSubmittedPrice && item.metaData.conversionSubmittedPrice !== '' ? 'input-binded-button-highlight' : ''\"\n >\n <mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon>\n </button>\n </div>\n </div>\n </li>\n </ul>\n\n <div class=\"furniture-item-totals\" *ngIf=\"showTotals && settingsService.settings.showConversionButtons\">\n <div class=\"furniture-item-total-row furniture-item-total\">\n <span>{{ 'TOTALPRICE' | localize }}: {{ totalPrice }}</span>\n </div>\n <div class=\"furniture-item-total-row furniture-item-total-submit\">\n <button\n name=\"submit project conversion\"\n alt=\"submit project conversion\"\n class=\"furniture-item-button furniture-item-total-button\"\n (click)=\"submitTotalPriceEvent()\"\n [ngClass]=\"totalEventSubmitted ? 'furniture-item-total-button-highlight' : ''\">\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"!totalEventSubmitted\">arrow_upward</mat-icon>\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"totalEventSubmitted\">check_circle</mat-icon>\n </button>\n </div>\n </div>\n\n </ng-container>\n ",
|
|
40396
|
+
template: "\n <ng-container *ngIf=\"list.length > 0\">\n <div class=\"title\">\n <h4 class=\"label\" *ngIf=\"label\" [textContent]=\"label | localize\"></h4>\n <p class=\"sub-label\" *ngIf=\"subLabel\" [textContent]=\"subLabel | localize\"></p>\n </div>\n\n\n <ul class=\"furniture-list\">\n <li *ngFor=\"let item of list; let i = index\" [attr.data-index]=\"i\" class=\"furniture-item\">\n <div class=\"furniture-item-wrap\">\n <div class=\"furniture-item-left\">\n <div class=\"furniture-item-wrapper\">\n <co-icon *ngIf=\"item.errorMessages.length > 0\" class=\"error-expand-handle\" [class.expanded]=\"item.showErrors\"\n [iconData]=\"iconService.getIcon(icon.ArrowPointDown)\" (click)=\"item.showErrors = !item.showErrors\"></co-icon>\n <span class=\"furniture-item-title\" [textContent]=\"item.name ? item.name : item.sku\"></span>\n <button *ngIf=showCopy class=\"furniture-item-copy\"\n [textContent]=\"item.toggle ? ('COPIED' | localize) : ('COPY' | localize)\"\n (click)=\"copyFurnitureName(item)\"></button>\n </div>\n <div class=\"error-messages-wrapper\" *ngIf=\"item.showErrors\" @showErrorMessages>\n <error-messages [messages]=\"item.errorMessages\"></error-messages>\n </div>\n </div>\n <div class=\"furniture-item-right\" *ngIf=\"showDelete\">\n <button class=\"furniture-item-delete\" matTooltip=\"{{'REMOVE' | localize}}\"\n (click)=\"removeFurniture(item)\">\n <mat-icon class=\"homedecorator-material-icons\">delete</mat-icon>\n </button>\n </div>\n </div>\n <!-- add conversionbtn here-->\n <div class=\"furniture-item-conversion-wrap\" *ngIf=\"settingsService.settings.showConversionButtons\">\n <div class=\"furniture-item-conversion-row furniture-item-conversion-button-wrap\">\n <button\n (click)=\"sendConversionToTagManager(item)\"\n class=\"furniture-item-button furniture-item-conversion\"\n [ngClass]=\"item.metaData.conversionGTMSend ? 'furniture-item-conversion-highlight':''\">\n <mat-icon class=\"homedecorator-material-icons\">add_shopping_cart</mat-icon>\n </button>\n </div>\n <div class=\"furniture-item-conversion-row furniture-item-conversion-input-wrap\">\n <label *ngIf=\"item.metaData.conversionGTMSend\" class=\"furniture-item-conversion-input-label\">\n {{ 'SALESPRICE' | localize }}\n </label>\n <input\n type=\"text\"\n [value]=\"item.metaData.conversionSubmittedPrice ? item.metaData.conversionSubmittedPrice : ''\"\n [disabled]=\"!item.metaData.conversionGTMSend\"\n (keydown.enter)=\"getInputValue($event, item)\"\n (keydown.tab)=\"getInputValue($event, item)\"\n [id]=\"item.instanceId\"\n >\n <button\n class=\"input-binded-button\"\n (click)=\"submitInput(item.instanceId, item)\"\n [ngClass]=\"item.metaData.conversionSubmittedPrice && item.metaData.conversionSubmittedPrice !== '' ? 'input-binded-button-highlight' : ''\"\n >\n <mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon>\n </button>\n </div>\n </div>\n </li>\n </ul>\n\n <div class=\"furniture-item-totals\" *ngIf=\"showTotals && settingsService.settings.showConversionButtons\">\n <div class=\"furniture-item-total-row furniture-item-total\">\n <span>{{ 'TOTALPRICE' | localize }}: {{ totalPrice }}</span>\n </div>\n <div class=\"furniture-item-total-row furniture-item-total-submit\">\n <button\n name=\"submit project conversion\"\n alt=\"submit project conversion\"\n class=\"furniture-item-button furniture-item-total-button\"\n (click)=\"submitTotalPriceEvent()\"\n [ngClass]=\"totalEventSubmitted ? 'furniture-item-total-button-highlight' : ''\">\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"!totalEventSubmitted\">arrow_upward</mat-icon>\n <mat-icon class=\"homedecorator-material-icons\" *ngIf=\"totalEventSubmitted\">check_circle</mat-icon>\n </button>\n </div>\n </div>\n\n </ng-container>\n ",
|
|
40356
40397
|
styleUrls: [
|
|
40357
40398
|
'./model-dialog-furniture-list.component.scss'
|
|
40358
40399
|
],
|
|
@@ -43840,7 +43881,7 @@
|
|
|
43840
43881
|
return SaveDialogComponent;
|
|
43841
43882
|
}());
|
|
43842
43883
|
SaveDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SaveDialogComponent, deps: [{ token: i1$1.MAT_DIALOG_DATA }, { token: PermanentStoreService }, { token: HomedecoratorIconCacheService }, { token: i1__namespace$1.MatDialog }, { token: i1__namespace$1.MatDialogRef }, { token: MessageBusService }, { token: PresetsService }, { token: HomedecoratorDictionaryService }, { token: HomedecoratorSettingsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
43843
|
-
SaveDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SaveDialogComponent, selector: "rp-save-dialog", ngImport: i0__namespace, template: "<h1 mat-dialog-title>{{'SAVE_THE_PLAN' | localize}}</h1>\r\n<div mat-dialog-content class=\"dialog-wrapper\" cdkTrapFocus>\r\n <mat-nav-list>\r\n <mat-list-item (click)=\"saveToCloud()\">\r\n <h4 mat-line><strong>{{'SAVE_TO_CLOUD' | localize}}</strong></h4>\r\n <p mat-line class=\"item-description\">{{'ACCESS_THE_PLAN_USING_A_UNIQUE_CODE' | localize}}</p>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"wasPlanSaved\" (click)=\"saveToCloud(true)\">\r\n <h4 mat-line><strong>{{'SAVE_AS_NEW' | localize}}</strong></h4>\r\n <p mat-line class=\"item-description\">{{'CREATE_A_COPY_OF_THE_PLAN' | localize}}</p>\r\n </mat-list-item>\r\n <button mat-mini-fab class=\"download-button\" (click)=\"download()\"
|
|
43884
|
+
SaveDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: SaveDialogComponent, selector: "rp-save-dialog", ngImport: i0__namespace, template: "<h1 mat-dialog-title>{{'SAVE_THE_PLAN' | localize}}</h1>\r\n<div mat-dialog-content class=\"dialog-wrapper\" cdkTrapFocus>\r\n <mat-nav-list>\r\n <mat-list-item (click)=\"saveToCloud()\">\r\n <h4 mat-line><strong>{{'SAVE_TO_CLOUD' | localize}}</strong></h4>\r\n <p mat-line class=\"item-description\">{{'ACCESS_THE_PLAN_USING_A_UNIQUE_CODE' | localize}}</p>\r\n </mat-list-item>\r\n <mat-list-item *ngIf=\"wasPlanSaved\" (click)=\"saveToCloud(true)\">\r\n <h4 mat-line><strong>{{'SAVE_AS_NEW' | localize}}</strong></h4>\r\n <p mat-line class=\"item-description\">{{'CREATE_A_COPY_OF_THE_PLAN' | localize}}</p>\r\n </mat-list-item>\r\n <ng-container *ngIf=\"permanentStoreService.code || showLocalSave\">\r\n <button mat-mini-fab class=\"download-button\" (click)=\"download()\">\r\n <co-icon [iconData]=\"iconCache.getIcon(icon.Download)\"></co-icon>\r\n </button>\r\n </ng-container>\r\n </mat-nav-list>\r\n</div>\r\n", styles: [":host .mat-dialog-content{margin:0;padding:0;overflow:hidden}:host .mat-nav-list{display:flex;flex-direction:column}:host .mat-nav-list .mat-list-item:not(:last-child){margin-bottom:30px}:host .download-button{box-shadow:none;background-color:#3760a1;display:flex;align-items:center;justify-content:center;align-self:flex-end}:host .download-button ::ng-deep co-icon [fill]{fill:#fff}.mat-dialog-actions{margin-bottom:0}.item-description{white-space:inherit!important}\n"], components: [{ type: i2__namespace$2.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2__namespace$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }], directives: [{ type: i1__namespace$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1__namespace$1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3__namespace.MatLine, selector: "[mat-line], [matLine]" }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "localize": LocalizePipe } });
|
|
43844
43885
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: SaveDialogComponent, decorators: [{
|
|
43845
43886
|
type: i0.Component,
|
|
43846
43887
|
args: [{
|
|
@@ -43886,8 +43927,8 @@
|
|
|
43886
43927
|
this.draftingMode = 'movement';
|
|
43887
43928
|
this.cameraOffset = { x: window.innerWidth / 2, y: window.innerHeight / 2 };
|
|
43888
43929
|
this.cameraZoom = 1;
|
|
43889
|
-
this.maxZoom =
|
|
43890
|
-
this.minZoom = 1;
|
|
43930
|
+
this.maxZoom = 10;
|
|
43931
|
+
this.minZoom = 0.1;
|
|
43891
43932
|
this.scrollSensitivity = 0.005;
|
|
43892
43933
|
this.isDragging = false;
|
|
43893
43934
|
this.dragStart = { x: 0, y: 0 };
|
|
@@ -43937,6 +43978,17 @@
|
|
|
43937
43978
|
_this._context.stroke();
|
|
43938
43979
|
}
|
|
43939
43980
|
}
|
|
43981
|
+
if (_this.draftingMode === 'movement') {
|
|
43982
|
+
_this._canvas.style.cursor = 'pointer';
|
|
43983
|
+
}
|
|
43984
|
+
else {
|
|
43985
|
+
if (_this.isDragging) {
|
|
43986
|
+
_this._canvas.style.cursor = 'pointer';
|
|
43987
|
+
}
|
|
43988
|
+
else {
|
|
43989
|
+
_this._canvas.style.cursor = "url(" + drawModeCursorImageUrl + ") 0 " + drawModeCursorHeight + ", auto";
|
|
43990
|
+
}
|
|
43991
|
+
}
|
|
43940
43992
|
requestAnimationFrame(function () { return _this.draw(); });
|
|
43941
43993
|
};
|
|
43942
43994
|
}
|
|
@@ -43975,6 +44027,9 @@
|
|
|
43975
44027
|
this.hiddenImage.nativeElement.src = url;
|
|
43976
44028
|
}
|
|
43977
44029
|
};
|
|
44030
|
+
DrawDialogComponent.prototype.updateUserValue = function () {
|
|
44031
|
+
this.customerInputLenght = this.inputLength.nativeElement.value;
|
|
44032
|
+
};
|
|
43978
44033
|
DrawDialogComponent.prototype.handleMouseDown = function (event) {
|
|
43979
44034
|
if (this.draftingMode === 'movement') {
|
|
43980
44035
|
this.isDragging = true;
|
|
@@ -44020,16 +44075,13 @@
|
|
|
44020
44075
|
this.cameraZoom = Math.max(this.cameraZoom, this.minZoom);
|
|
44021
44076
|
};
|
|
44022
44077
|
DrawDialogComponent.prototype.handleMouseWheel = function (event) {
|
|
44023
|
-
|
|
44024
|
-
|
|
44025
|
-
|
|
44026
|
-
|
|
44027
|
-
if (zoomAmount) {
|
|
44028
|
-
this.cameraZoom -= zoomAmount;
|
|
44029
|
-
}
|
|
44030
|
-
this.cameraZoom = Math.min(this.cameraZoom, this.maxZoom);
|
|
44031
|
-
this.cameraZoom = Math.max(this.cameraZoom, this.minZoom);
|
|
44078
|
+
var zoomAmount = event.deltaY * this.scrollSensitivity;
|
|
44079
|
+
if (!this.isDragging) {
|
|
44080
|
+
if (zoomAmount) {
|
|
44081
|
+
this.cameraZoom -= zoomAmount;
|
|
44032
44082
|
}
|
|
44083
|
+
this.cameraZoom = Math.min(this.cameraZoom, this.maxZoom);
|
|
44084
|
+
this.cameraZoom = Math.max(this.cameraZoom, this.minZoom);
|
|
44033
44085
|
}
|
|
44034
44086
|
};
|
|
44035
44087
|
DrawDialogComponent.prototype.getEventLocation = function (e) {
|
|
@@ -44042,12 +44094,6 @@
|
|
|
44042
44094
|
};
|
|
44043
44095
|
DrawDialogComponent.prototype.setModus = function (modus) {
|
|
44044
44096
|
this.draftingMode = modus;
|
|
44045
|
-
if (this.draftingMode === 'scaling') {
|
|
44046
|
-
this._canvas.style.cursor = "url(assets/cursors/pencil.png) 0 26}, auto";
|
|
44047
|
-
}
|
|
44048
|
-
else {
|
|
44049
|
-
this._canvas.style.cursor = '';
|
|
44050
|
-
}
|
|
44051
44097
|
};
|
|
44052
44098
|
DrawDialogComponent.prototype.submitLength = function () {
|
|
44053
44099
|
if (this.inputLength.nativeElement.value !== '' && this.measurePoints.length === 2) {
|
|
@@ -44071,6 +44117,7 @@
|
|
|
44071
44117
|
backgroundWidth: this.hiddenImage.nativeElement.width,
|
|
44072
44118
|
cameraZoom: this.cameraZoom
|
|
44073
44119
|
};
|
|
44120
|
+
this._messageService.emit(MessageType.StartWithEmptyRoom);
|
|
44074
44121
|
this._messageService.emit(MessageType.LoadScaledDiagram, output);
|
|
44075
44122
|
this._dialog.closeAll();
|
|
44076
44123
|
}
|
|
@@ -44123,7 +44170,7 @@
|
|
|
44123
44170
|
return DrawDialogComponent;
|
|
44124
44171
|
}());
|
|
44125
44172
|
DrawDialogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DrawDialogComponent, deps: [{ token: i1$1.MAT_DIALOG_DATA }, { token: i1__namespace$1.MatDialogRef }, { token: i1__namespace$1.MatDialog }, { token: MessageBusService }, { token: UtilsService }, { token: PresetsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
44126
|
-
DrawDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DrawDialogComponent, selector: "rp-draw-dialog", viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["drawCanvas"], descendants: true, read: i0.ElementRef, static: true }, { propertyName: "inputLength", first: true, predicate: ["inputLength"], descendants: true }, { propertyName: "hiddenImage", first: true, predicate: ["hiddenImage"], descendants: true }], ngImport: i0__namespace, template: "<h1 mat-dialog-title>{{ 'OPEN_A_DIAGRAM' | localize }}</h1>\r\n\r\n\r\n<div class=\"top-bar-container\" >\r\n <div class=\"reference-input-container\" *ngIf=\"draftingMode === 'scaling'\">\r\n <div class=\"input-button-container\">\r\n <input\r\n #inputLength\r\n type=\"number\"\r\n placeholder=\"{{ 'PDF_REFERENCE_PLACEHOLDER' | localize}}\"\r\n [attr.disabled]=\"this.measurePoints.length === 0 ? '' : null\"\r\n >\r\n <button (click)=\"resetPoints()\" title=\"Reset referentie meting\">\r\n <mat-icon class=\"homedecorator-material-icons\">refresh</mat-icon>\r\n </button>\r\n </div>\r\n <p class=\"helper-text\">{{ 'PDF_REFERENCE_HELPER' | localize }}</p>\r\n </div>\r\n\r\n<!-- <div class=\"rotation-input-container\" *ngIf=\"draftingMode === 'scaling'\">-->\r\n<!-- rotatiedingen-->\r\n<!-- </div>-->\r\n\r\n <div class=\"zoom-button-containers\" *ngIf=\"draftingMode === 'movement'\">\r\n <button (click)=\"clickingZoom('in')\">\r\n <mat-icon class=\"homedecorator-material-icons\">zoom_in</mat-icon>\r\n </button>\r\n <button (click)=\"clickingZoom('reset')\">\r\n <mat-icon class=\"homedecorator-material-icons\">all_out</mat-icon>\r\n </button>\r\n <button (click)=\"clickingZoom('out')\">\r\n <mat-icon class=\"homedecorator-material-icons\">zoom_out</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class=\"main-button-container\">\r\n <mat-button-toggle-group\r\n class=\"mode-toggle\"\r\n (change)=\"setModus($event.value)\"\r\n [value]=\"draftingMode\">\r\n <mat-button-toggle [value]=\"'movement'\" [matTooltip]=\"'Zoom / verplaats modus'\">\r\n <mat-icon svgIcon=\"hand-pointer\"></mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"'scaling'\" [matTooltip]=\"'Maak referentie meting'\">\r\n <mat-icon svgIcon=\"pen-ruler\"></mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n</div>\r\n\r\n<div class=\"canvas-wrapper\">\r\n <canvas\r\n #drawCanvas\r\n (mousedown)=\"handleMouseDown($event)\"\r\n (mousemove)=\"handleMouseMove($event)\"\r\n (mouseup)=\"handleMouseUp($event)\"\r\n (mouseleave)=\"handleMouseLeave($event)\"\r\n (wheel)=\"handleMouseWheel($event)\"\r\n ></canvas>\r\n</div>\r\n\r\n<div class=\"save-cancel-button-container\">\r\n <button (click)=\"cancelAndReset()\">\r\n <mat-icon class=\"homedecorator-material-icons\">cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n <button (click)=\"submitLength()\" title=\"Opslaan\" *ngIf=\"draftingMode === 'scaling'\">\r\n <mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon>\r\n <span>Ok</span>\r\n </button>\r\n</div>\r\n\r\n<img #hiddenImage src=\"\" style=\"display: none;\">\r\n", styles: ["canvas{position:relative}button{cursor:pointer;color:#fff;background:#dda73f;border:1px solid #dda73f;border-radius:3px;box-sizing:border-box;padding:5px;display:flex;align-items:center}button:hover{background:#dda73f;color:#fff}.main-button-container{display:flex;justify-content:center;margin-bottom:15px}.main-button-container .mat-button-toggle-checked{background:#dda73f;color:#fff}.reference-input-container .input-button-container{display:flex;align-items:center}.reference-input-container .input-button-container input{min-width:285px;border:1px solid #f7f7f9;border-radius:3px;height:35px;line-height:35px;box-sizing:border-box;padding:10px}.reference-input-container .input-button-container input:disabled{background:#f7f7f9;cursor:default}.reference-input-container .input-button-container button{border:none;display:inline-block}.reference-input-container .helper-text{font-size:13px;font-style:italic;margin:0;padding:0;display:block}.zoom-button-containers{display:flex;justify-items:center;justify-content:right}.zoom-button-containers button{margin:0 5px}.save-cancel-button-container{display:flex;justify-content:center;justify-items:center}.save-cancel-button-container button{margin:3px 10px;padding:8px 15px}.save-cancel-button-container button .homedecorator-material-icons{font-size:18px}.save-cancel-button-container button span{line-height:18px;font-size:15px}.canvas-wrapper{overflow:
|
|
44173
|
+
DrawDialogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: DrawDialogComponent, selector: "rp-draw-dialog", viewQueries: [{ propertyName: "canvasElement", first: true, predicate: ["drawCanvas"], descendants: true, read: i0.ElementRef, static: true }, { propertyName: "inputLength", first: true, predicate: ["inputLength"], descendants: true }, { propertyName: "hiddenImage", first: true, predicate: ["hiddenImage"], descendants: true }], ngImport: i0__namespace, template: "<h1 mat-dialog-title>{{ 'OPEN_A_DIAGRAM' | localize }}</h1>\r\n\r\n\r\n<div class=\"top-bar-container\" >\r\n <div class=\"reference-input-container\" *ngIf=\"draftingMode === 'scaling'\">\r\n <div class=\"input-button-container\">\r\n <input\r\n (change)=\"updateUserValue()\"\r\n [value]=\"customerInputLenght\"\r\n #inputLength\r\n type=\"number\"\r\n placeholder=\"{{ 'PDF_REFERENCE_PLACEHOLDER' | localize}}\"\r\n [attr.disabled]=\"this.measurePoints.length === 0 ? '' : null\"\r\n >\r\n <button (click)=\"resetPoints()\" title=\"Reset referentie meting\">\r\n <mat-icon class=\"homedecorator-material-icons\">refresh</mat-icon>\r\n </button>\r\n </div>\r\n <p class=\"helper-text\">{{ 'PDF_REFERENCE_HELPER' | localize }}</p>\r\n </div>\r\n\r\n<!-- <div class=\"rotation-input-container\" *ngIf=\"draftingMode === 'scaling'\">-->\r\n<!-- rotatiedingen-->\r\n<!-- </div>-->\r\n\r\n <div class=\"zoom-button-containers\" *ngIf=\"draftingMode === 'movement'\">\r\n <button (click)=\"clickingZoom('in')\">\r\n <mat-icon class=\"homedecorator-material-icons\">zoom_in</mat-icon>\r\n </button>\r\n <button (click)=\"clickingZoom('reset')\">\r\n <mat-icon class=\"homedecorator-material-icons\">all_out</mat-icon>\r\n </button>\r\n <button (click)=\"clickingZoom('out')\">\r\n <mat-icon class=\"homedecorator-material-icons\">zoom_out</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class=\"main-button-container\">\r\n <mat-button-toggle-group\r\n class=\"mode-toggle\"\r\n (change)=\"setModus($event.value)\"\r\n [value]=\"draftingMode\">\r\n <mat-button-toggle [value]=\"'movement'\" [matTooltip]=\"'Zoom / verplaats modus'\">\r\n <mat-icon svgIcon=\"hand-pointer\"></mat-icon>\r\n </mat-button-toggle>\r\n <mat-button-toggle [value]=\"'scaling'\" [matTooltip]=\"'Maak referentie meting'\">\r\n <mat-icon svgIcon=\"pen-ruler\"></mat-icon>\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n</div>\r\n\r\n<div class=\"canvas-wrapper\">\r\n <canvas\r\n #drawCanvas\r\n (mousedown)=\"handleMouseDown($event)\"\r\n (mousemove)=\"handleMouseMove($event)\"\r\n (mouseup)=\"handleMouseUp($event)\"\r\n (mouseleave)=\"handleMouseLeave($event)\"\r\n (wheel)=\"handleMouseWheel($event)\"\r\n ></canvas>\r\n</div>\r\n\r\n<div class=\"save-cancel-button-container\">\r\n <button (click)=\"cancelAndReset()\">\r\n <mat-icon class=\"homedecorator-material-icons\">cancel</mat-icon>\r\n <span>Cancel</span>\r\n </button>\r\n <button (click)=\"submitLength()\" title=\"Opslaan\" *ngIf=\"draftingMode === 'scaling'\">\r\n <mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon>\r\n <span>Ok</span>\r\n </button>\r\n</div>\r\n\r\n<img #hiddenImage src=\"\" style=\"display: none;\">\r\n", styles: ["canvas{position:relative}button{cursor:pointer;color:#fff;background:#dda73f;border:1px solid #dda73f;border-radius:3px;box-sizing:border-box;padding:5px;display:flex;align-items:center}button:hover{background:#dda73f;color:#fff}.main-button-container{display:flex;justify-content:center;margin-bottom:15px}.main-button-container .mat-button-toggle-checked{background:#dda73f;color:#fff}.reference-input-container .input-button-container{display:flex;align-items:center}.reference-input-container .input-button-container input{min-width:285px;border:1px solid #f7f7f9;border-radius:3px;height:35px;line-height:35px;box-sizing:border-box;padding:10px}.reference-input-container .input-button-container input:disabled{background:#f7f7f9;cursor:default}.reference-input-container .input-button-container button{border:none;display:inline-block}.reference-input-container .helper-text{font-size:13px;font-style:italic;margin:0;padding:0;display:block}.zoom-button-containers{display:flex;justify-items:center;justify-content:right}.zoom-button-containers button{margin:0 5px}.save-cancel-button-container{display:flex;justify-content:center;justify-items:center}.save-cancel-button-container button{margin:3px 10px;padding:8px 15px}.save-cancel-button-container button .homedecorator-material-icons{font-size:18px}.save-cancel-button-container button span{line-height:18px;font-size:15px}.canvas-wrapper{overflow:hidden;max-height:60vh;max-width:80vw}\n"], components: [{ type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i8__namespace$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }], directives: [{ type: i1__namespace$1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8__namespace$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }], pipes: { "localize": LocalizePipe } });
|
|
44127
44174
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: DrawDialogComponent, decorators: [{
|
|
44128
44175
|
type: i0.Component,
|
|
44129
44176
|
args: [{
|
|
@@ -44430,9 +44477,10 @@
|
|
|
44430
44477
|
});
|
|
44431
44478
|
};
|
|
44432
44479
|
var ModelPreviewComponent = /** @class */ (function () {
|
|
44433
|
-
function ModelPreviewComponent(data, settingsService, _dialogRef, _thirdPartyModelService, _messageService, _dialog, _adapterService, _lightPresetsService, _dictionaryService, _fontService) {
|
|
44480
|
+
function ModelPreviewComponent(data, settingsService, iconCache, _dialogRef, _thirdPartyModelService, _messageService, _dialog, _adapterService, _lightPresetsService, _dictionaryService, _fontService) {
|
|
44434
44481
|
this.data = data;
|
|
44435
44482
|
this.settingsService = settingsService;
|
|
44483
|
+
this.iconCache = iconCache;
|
|
44436
44484
|
this._dialogRef = _dialogRef;
|
|
44437
44485
|
this._thirdPartyModelService = _thirdPartyModelService;
|
|
44438
44486
|
this._messageService = _messageService;
|
|
@@ -44442,6 +44490,7 @@
|
|
|
44442
44490
|
this._dictionaryService = _dictionaryService;
|
|
44443
44491
|
this._fontService = _fontService;
|
|
44444
44492
|
this.unitsOfMeasurement = 'cm';
|
|
44493
|
+
this.units = ['cm', 'inches'];
|
|
44445
44494
|
this.mathPi = Math.PI;
|
|
44446
44495
|
this.showReferenceModel = true;
|
|
44447
44496
|
this.floorSizeHeight = 10;
|
|
@@ -44451,16 +44500,23 @@
|
|
|
44451
44500
|
this.distanceStep = 1;
|
|
44452
44501
|
this.stackable = false;
|
|
44453
44502
|
this.heightAdjustable = false;
|
|
44503
|
+
this.selectedPlacement = 0;
|
|
44454
44504
|
this._measurements = [];
|
|
44505
|
+
this.icon = IconEnum;
|
|
44455
44506
|
this.font = this._fontService.hudFont;
|
|
44456
44507
|
}
|
|
44457
44508
|
ModelPreviewComponent.prototype.ngOnInit = function () {
|
|
44509
|
+
var _this = this;
|
|
44458
44510
|
this.initScene();
|
|
44459
44511
|
this.loadModel(this.data);
|
|
44512
|
+
this._adapterService.getModelPlacementOptions().then(function (result) {
|
|
44513
|
+
_this.placementOptions = result;
|
|
44514
|
+
});
|
|
44460
44515
|
};
|
|
44461
44516
|
ModelPreviewComponent.prototype.ngOnDestroy = function () {
|
|
44462
44517
|
};
|
|
44463
44518
|
ModelPreviewComponent.prototype.initScene = function () {
|
|
44519
|
+
var viewScale = 1.3;
|
|
44464
44520
|
// init scene
|
|
44465
44521
|
this.scenePreview = new THREE.Scene();
|
|
44466
44522
|
// init renderer
|
|
@@ -44484,11 +44540,11 @@
|
|
|
44484
44540
|
this.rendererPreview.outputColorSpace = THREE.LinearSRGBColorSpace;
|
|
44485
44541
|
canvReference.appendChild(this.rendererPreview.domElement);
|
|
44486
44542
|
this.rendererPreview.domElement.setAttribute('id', 'threed');
|
|
44487
|
-
this.rendererPreview.setSize(window.
|
|
44543
|
+
this.rendererPreview.setSize(window.innerHeight / viewScale, window.innerHeight / viewScale, true);
|
|
44488
44544
|
// init camera
|
|
44489
44545
|
this.cameraPreview = new THREE.PerspectiveCamera(45, 1, 0.01, 100000000);
|
|
44490
44546
|
this.cameraPreview.position.set(0, 2, 10);
|
|
44491
|
-
this.cameraPreview.aspect = window.
|
|
44547
|
+
this.cameraPreview.aspect = (window.innerHeight / viewScale) / (window.innerHeight / viewScale);
|
|
44492
44548
|
this.cameraPreview.updateProjectionMatrix();
|
|
44493
44549
|
this.controls = new OrbitControls.OrbitControls(this.cameraPreview, this.rendererPreview.domElement);
|
|
44494
44550
|
this.controls.update();
|
|
@@ -44618,6 +44674,7 @@
|
|
|
44618
44674
|
}, options);
|
|
44619
44675
|
};
|
|
44620
44676
|
ModelPreviewComponent.prototype.scaleArticle = function () {
|
|
44677
|
+
var model = this.scenePreview.getObjectByName(this.modelName);
|
|
44621
44678
|
var inputHeight = this.heightArticle.nativeElement.value;
|
|
44622
44679
|
var heightInMeter;
|
|
44623
44680
|
if (this.unitsOfMeasurement === 'cm') {
|
|
@@ -44628,7 +44685,8 @@
|
|
|
44628
44685
|
}
|
|
44629
44686
|
// scale = this.bounding / heightInMeter and use Y as up/ height
|
|
44630
44687
|
var scale = this.boundingBoxSize.y / heightInMeter;
|
|
44631
|
-
|
|
44688
|
+
model.scale.set(model.scale.x / scale, model.scale.y / scale, model.scale.z / scale);
|
|
44689
|
+
this._getBoundingBox(model);
|
|
44632
44690
|
};
|
|
44633
44691
|
ModelPreviewComponent.prototype.rotateModel = function (axis, degrees) {
|
|
44634
44692
|
var model = this.scenePreview.getObjectByName(this.modelName);
|
|
@@ -44654,12 +44712,15 @@
|
|
|
44654
44712
|
else if (axis === 'z') {
|
|
44655
44713
|
model.position.z += amount;
|
|
44656
44714
|
}
|
|
44715
|
+
else if (axis === 'all') {
|
|
44716
|
+
model.position.set(0, 0, 0);
|
|
44717
|
+
}
|
|
44657
44718
|
this._getBoundingBox(model);
|
|
44658
44719
|
};
|
|
44659
44720
|
ModelPreviewComponent.prototype.setUnit = function (event) {
|
|
44660
44721
|
this.unitsOfMeasurement = event.value;
|
|
44661
44722
|
};
|
|
44662
|
-
ModelPreviewComponent.prototype.toggleShowReferenceModel = function () {
|
|
44723
|
+
ModelPreviewComponent.prototype.toggleShowReferenceModel = function ($event) {
|
|
44663
44724
|
var model = this.scenePreview.getObjectByName('Reference_model');
|
|
44664
44725
|
model.visible = !this.showReferenceModel;
|
|
44665
44726
|
this.showReferenceModel = !this.showReferenceModel;
|
|
@@ -44723,6 +44784,8 @@
|
|
|
44723
44784
|
});
|
|
44724
44785
|
});
|
|
44725
44786
|
}
|
|
44787
|
+
}).catch(function (error) {
|
|
44788
|
+
_this._messageService.emit(MessageType.RenderError, { title: 'Upload error', message: error });
|
|
44726
44789
|
});
|
|
44727
44790
|
return [2 /*return*/];
|
|
44728
44791
|
});
|
|
@@ -44798,6 +44861,8 @@
|
|
|
44798
44861
|
this.boundingBoxSize = boundingBox.getSize(new THREE.Vector3());
|
|
44799
44862
|
this._setMeasurements(this.boundingBoxSize);
|
|
44800
44863
|
this._showMeasurements();
|
|
44864
|
+
var modelBoxhelper = this.scenePreview.getObjectByName('modelBoxhelper');
|
|
44865
|
+
this.scenePreview.remove(modelBoxhelper);
|
|
44801
44866
|
var boxHelper = new THREE.BoxHelper(object);
|
|
44802
44867
|
boxHelper.material.color.set(0xFF00FF);
|
|
44803
44868
|
boxHelper.name = 'modelBoxhelper';
|
|
@@ -44928,20 +44993,20 @@
|
|
|
44928
44993
|
};
|
|
44929
44994
|
return ModelPreviewComponent;
|
|
44930
44995
|
}());
|
|
44931
|
-
ModelPreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModelPreviewComponent, deps: [{ token: i1$1.MAT_DIALOG_DATA }, { token: HomedecoratorSettingsService }, { token: i1__namespace$1.MatDialogRef }, { token: ThirdPartyModelService }, { token: MessageBusService }, { token: i1__namespace$1.MatDialog }, { token: HomedecoratorConnectorAdapterService }, { token: LightPresetsService }, { token: HomedecoratorDictionaryService }, { token: FontService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
44932
|
-
ModelPreviewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ModelPreviewComponent, selector: "rp-model-preview", viewQueries: [{ propertyName: "glbExportName", first: true, predicate: ["fileName"], descendants: true }, { propertyName: "heightArticle", first: true, predicate: ["heightArticle"], descendants: true }], ngImport: i0__namespace, template: "\n <div class=\"model-preview\">\n <div class=\"model-preview-container\" id=\"canvasContainer\">\n </div>\n <div class=\"model-preview-actions\">\n <div class=\"input-height-container\">\n <p>Centimeters of inches</p>\n <div class=\"mat-radio-wrapper\">\n <mat-radio-group aria-label=\"Select an unit\" (change)=\"setUnit($event)\">\n <mat-radio-button [checked]=\"true\" value=\"cm\">Height in cm</mat-radio-button>\n <mat-radio-button value=\"inches\">Height in inches</mat-radio-button>\n </mat-radio-group>\n </div>\n <div>\n <input type=\"text\" id=\"heightArticle\" #heightArticle>\n <button (click)=\"scaleArticle()\">scale</button>\n </div>\n </div>\n\n <div>\n <button (click)=\"toggleShowReferenceModel()\">Show Reference model</button>\n </div>\n\n <div class=\"rotation-button-container\">\n <p>Rotation</p>\n <div class=\"rotation-x-buttons\">\n <button (click)=\"rotateModel('x', mathPi / 2)\">x-as + 90 graden</button>\n <button (click)=\"rotateModel('x', -mathPi / 2)\">x-as - 90 graden</button>\n </div>\n <div class=\"rotation-y-buttons\">\n <button (click)=\"rotateModel('y', mathPi / 2)\">y-as + 90 graden</button>\n <button (click)=\"rotateModel('y', -mathPi / 2)\">y-as - 90 graden</button>\n </div>\n <div class=\"rotation-z-buttons\">\n <button (click)=\"rotateModel('z', mathPi / 2)\">z-as + 90 graden</button>\n <button (click)=\"rotateModel('z', -mathPi / 2)\">z-as - 90 graden</button>\n </div>\n </div>\n\n\n <div class=\"rotation-button-container\">\n <p>Positie</p>\n <div class=\"rotation-x-buttons\">\n <button (click)=\"moveModel('x', 0.01)\">x-as + 0.01</button>\n <button (click)=\"moveModel('x', -0.01)\">x-as -0.01</button>\n </div>\n <div class=\"rotation-y-buttons\">\n <button (click)=\"moveModel('y', 0.01)\">y-as + 0.01</button>\n <button (click)=\"moveModel('y', -0.01)\">y-as - 0.01</button>\n </div>\n <div class=\"rotation-z-buttons\">\n <button (click)=\"moveModel('z', 0.01)\">z-as + 0.01</button>\n <button (click)=\"moveModel('z', -0.01)\">z-as -0.01</button>\n </div>\n </div>\n\n <div class=\"model-preview-info\" *ngIf=\"this.data\">\n <div class=\"model-preview-info-container\">\n <div class=\"model-preview-info-left\">\n <label>Name</label>\n </div>\n <div class=\"model-preview-info-right\">\n <input type=\"text\" id=\"fileName\" #fileName value=\"{{ this.data.file.file.name }}\">\n </div>\n </div>\n\n <div class=\"model-preview-info-container\">\n <div class=\"model-preview-info-left\">\n <label>Stackable</label>\n </div>\n <div class=\"model-preview-info-right\">\n <div class=\"mat-radio-wrapper\">\n <mat-radio-group aria-label=\"Select an unit\" (change)=\"setStackable($event)\">\n <mat-radio-button [checked]=\"true\" value=\"false\">No</mat-radio-button>\n <mat-radio-button value=\"true\">Yes</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n </div>\n\n <div class=\"model-preview-info-container\">\n <div class=\"model-preview-info-left\">\n <label>Height adjustable</label>\n </div>\n <div class=\"model-preview-info-right\">\n <div class=\"mat-radio-wrapper\">\n <mat-radio-group aria-label=\"Select an unit\" (change)=\"setHeightAdjustable($event)\">\n <mat-radio-button [checked]=\"true\" value=\"false\">No</mat-radio-button>\n <mat-radio-button value=\"true\">Yes</mat-radio-button>\n </mat-radio-group>\n </div>\n </div>\n </div>\n\n <div class=\"model-preview-info-container\">\n <div class=\"model-preview-info-left\">\n <label>Extension</label>\n </div>\n <div class=\"model-preview-info-right\">\n <label>{{ this.data.file.fileType }}</label>\n </div>\n </div>\n <button class=\"exportButton\" (click)=\"exportSceneAsGLB('upload')\">Upload to CDN and add to scene</button>\n <p></p>\n <button class=\"exportButton\" (click)=\"exportSceneAsGLB('download')\">Download model</button>\n </div>\n </div>\n </div>\n ", isInline: true, styles: [".model-preview{display:flex;flex-direction:row}.model-preview .model-preview-actions{min-width:240px;box-sizing:border-box;padding:10px 20px;border-left:1px solid #5b6875}.model-preview .model-preview-actions .model-preview-info-container{margin-bottom:10px}.model-preview .model-preview-actions .model-preview-info-container .model-preview-info-left{font-weight:bolder}.model-preview .exportButton{cursor:pointer;color:#fff;background:#dda73f;border:1px solid #dda73f;border-radius:3px;box-sizing:border-box;padding:5px;display:flex;align-items:center}.model-preview .exportButton:hover{background:#dda73f;color:#fff}input{border:1px solid #5b6875;box-sizing:border-box;padding:3px 10px;border-radius:3px}.mat-radio-wrapper{margin:10px 0}mat-radio-group mat-radio-button{display:block}.rotation-button-container div{display:flex;justify-content:space-between;margin-bottom:10px}.rotation-button-container div button{cursor:pointer;color:#fff;background:#dda73f;border:1px solid #dda73f;border-radius:3px;box-sizing:border-box;padding:5px}.rotation-button-container div button:hover{background:#dda73f;color:#fff}\n"], components: [{ type: i9__namespace$1.MatRadioButton, selector: "mat-radio-button", inputs: ["disableRipple", "tabIndex"], exportAs: ["matRadioButton"] }], directives: [{ type: i9__namespace$1.MatRadioGroup, selector: "mat-radio-group", exportAs: ["matRadioGroup"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
44996
|
+
ModelPreviewComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModelPreviewComponent, deps: [{ token: i1$1.MAT_DIALOG_DATA }, { token: HomedecoratorSettingsService }, { token: HomedecoratorIconCacheService }, { token: i1__namespace$1.MatDialogRef }, { token: ThirdPartyModelService }, { token: MessageBusService }, { token: i1__namespace$1.MatDialog }, { token: HomedecoratorConnectorAdapterService }, { token: LightPresetsService }, { token: HomedecoratorDictionaryService }, { token: FontService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
44997
|
+
ModelPreviewComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ModelPreviewComponent, selector: "rp-model-preview", viewQueries: [{ propertyName: "glbExportName", first: true, predicate: ["fileName"], descendants: true }, { propertyName: "heightArticle", first: true, predicate: ["heightArticle"], descendants: true }], ngImport: i0__namespace, template: "\n <div class=\"model-preview\">\n <div class=\"model-preview-window\">\n <div class=\"model-preview-container\" id=\"canvasContainer\"></div>\n <div class=\"model-preview-window-bottom\">\n <div>\n <mat-slide-toggle\n [checked]=\"showReferenceModel\"\n [labelPosition]=\"'after'\"\n (change)=\"toggleShowReferenceModel($event)\">\n Show Reference model\n </mat-slide-toggle>\n </div>\n <div class=\"disclaimer-text-container\">\n <p class=\"disclaimer-text\">\n Grid scale: 1 tile = 1x1 meter\n </p>\n </div>\n </div>\n </div>\n <div class=\"model-preview-actions\">\n <div class=\"input-height-container\">\n <h2>Model settings</h2>\n <div>\n <h3>Scale:</h3>\n <input type=\"text\" id=\"heightArticle\" #heightArticle placeholder=\"Set model height\">\n <mat-form-field class=\"units-select-form\">\n <mat-select class=\"units-mat-select\" [(value)]=\"unitsOfMeasurement\">\n <mat-option class=\"units-mat-option\" *ngFor=\"let unit of units\" [value]=\"unit\">{{ unit }}</mat-option>\n </mat-select>\n </mat-form-field>\n <button class=\"apply-button base-button\" (click)=\"scaleArticle()\">Apply</button>\n </div>\n </div>\n <div class=\"rotation-button-container\">\n <h3>Rotation:</h3>\n <div>\n <p>Rotate on X axis (90 degrees)</p>\n <p>\n <button (click)=\"rotateModel('x', -mathPi / 2)\">\n <mat-icon svgIcon=\"dash-button\"></mat-icon>\n </button>\n <button (click)=\"rotateModel('x', mathPi / 2)\">\n <mat-icon svgIcon=\"add-button\"></mat-icon>\n </button>\n </p>\n </div>\n <div>\n <p>Rotate on Y axis (90 degrees)</p>\n <p>\n <button (click)=\"rotateModel('y', -mathPi / 2)\">\n <mat-icon svgIcon=\"dash-button\"></mat-icon>\n </button>\n <button (click)=\"rotateModel('y', mathPi / 2)\">\n <mat-icon svgIcon=\"add-button\"></mat-icon>\n </button>\n </p>\n </div>\n <div>\n <p>Rotate on Z axis (90 degrees)</p>\n <p>\n <button (click)=\"rotateModel('z', -mathPi / 2)\">\n <mat-icon svgIcon=\"dash-button\"></mat-icon>\n </button>\n <button (click)=\"rotateModel('z', mathPi / 2)\">\n <mat-icon svgIcon=\"add-button\"></mat-icon>\n </button>\n </p>\n </div>\n </div>\n <div class=\"rotation-button-container\">\n <h3>Position:</h3>\n <div>\n <p>Reset to coordinates 0,0,0</p>\n <p>\n <button class=\"button-as-link\" (click)=\"moveModel('all', 0)\">\n <mat-icon svgIcon=\"retry-button\"></mat-icon>\n Reset\n </button>\n </p>\n </div>\n <div>\n <p>Move on the Y axis (0.01 unit)</p>\n <p>\n <button (click)=\"moveModel('y', -0.01)\">\n <mat-icon svgIcon=\"dash-button\"></mat-icon>\n </button>\n <button (click)=\"moveModel('y', 0.01)\">\n <mat-icon svgIcon=\"add-button\"></mat-icon>\n </button>\n </p>\n </div>\n </div>\n\n <div class=\"model-preview-info-container\">\n <h3>Properties:</h3>\n <div>\n <mat-slide-toggle\n [checked]=\"false\"\n [labelPosition]=\"'before'\"\n (change)=\"setStackable($event)\">\n Stackable\n </mat-slide-toggle>\n </div>\n <div>\n <mat-slide-toggle\n [checked]=\"false\"\n [labelPosition]=\"'before'\"\n (change)=\"setHeightAdjustable($event)\">\n Height adjustable\n </mat-slide-toggle>\n </div>\n\n <div class=\"model-placement-container\">\n <div>\n <label>Placement</label>\n\n <mat-form-field *ngIf=\"placementOptions\">\n <mat-select [(value)]=\"selectedPlacement\">\n <mat-option *ngFor=\"let placementOption of placementOptions\"\n [value]=\"placementOption.code\">{{ placementOption.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div class=\"model-preview-info\" *ngIf=\"this.data\">\n <div class=\"model-preview-info-container\">\n <div class=\"model-preview-info-left\">\n <label>Save as:</label>\n </div>\n <div class=\"model-preview-info-right\">\n <input type=\"text\" id=\"fileName\" #fileName value=\"{{ this.data.file.file.name }}\">\n </div>\n </div>\n <div>\n <button class=\"base-button exportButton\" (click)=\"exportSceneAsGLB('upload')\">Upload and add to scene</button>\n <button class=\"base-button exportButtonDark\" (click)=\"exportSceneAsGLB('download')\">Download</button>\n </div>\n </div>\n </div>\n </div>\n ", isInline: true, styles: [".model-preview{display:flex;flex-direction:row;font-size:14px}.model-preview .model-preview-window .model-preview-window-bottom{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.model-preview .model-preview-window .model-preview-window-bottom .disclaimer-text-container{padding-right:20px;text-align:right;font-style:italic;font-size:12px}.model-preview .model-preview-actions{min-width:350px;box-sizing:border-box;padding:10px 20px;border-left:1px solid #5b6875}.model-preview .model-preview-actions #heightArticle{max-width:160px}.model-preview .model-preview-actions .units-select-form{width:80px;margin:0 5px}.model-preview .model-preview-actions .model-preview-info-container{margin-bottom:10px}.model-preview .model-preview-actions .model-preview-info-container .model-preview-info-left{font-weight:bolder}.model-preview .model-preview-actions .model-preview-info{margin-top:80px}.model-preview .exportButton{cursor:pointer;color:#fff;background:#dda73f;border:1px solid #dda73f;border-radius:3px;box-sizing:border-box;padding:5px;display:flex;align-items:center}.model-preview .exportButton:hover{background:#dda73f;color:#fff}.model-preview input{border:1px solid #5b6875;box-sizing:border-box;padding:3px 10px;border-radius:3px;line-height:30px;width:100%}.mat-radio-wrapper{margin:10px 0}mat-radio-group mat-radio-button{display:block}.base-button{cursor:pointer;color:#fff;background:#dda73f;border:1px solid #dda73f;border-radius:3px;box-sizing:border-box;padding:4px 10px;line-height:30px}.base-button:hover{background:#dda73f;color:#fff}.model-placement-container div{display:flex;justify-content:space-between;margin:5px 0;align-items:center}.rotation-button-container div{display:flex;justify-content:space-between;margin-bottom:5px}.rotation-button-container div p{margin:0;padding:0}.rotation-button-container div button{margin:0 0 0 10px;cursor:pointer;color:#5b6875;background:#fff;border:2px solid #5b6875;border-radius:50%;box-sizing:border-box;padding:0;height:22px;width:22px;font-size:18px;text-align:center}.rotation-button-container div button:hover{background:#dda73f;color:#fff}.rotation-button-container div .button-as-link{color:#dda73f;border:none;width:100%;height:100%;font-size:14px;position:relative;top:-15px}.rotation-button-container div .button-as-link ::ng-deep mat-icon{width:25px;height:25px;position:relative;top:8px}.rotation-button-container div .button-as-link ::ng-deep mat-icon svg path{fill:#dda73f}.rotation-button-container div .button-as-link:hover{background:none;color:#dda73f}.error-container{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid #f5c6cb;border-radius:.25rem;color:#721c24;background-color:#f8d7da;max-width:190px}.exportButton,.exportButtonDark{display:inline-block!important;margin-right:10px}.exportButtonDark{background:#5b6875;border-color:#5b6875}.exportButtonDark:hover{background:#5b6875;color:#fff}:host ::ng-deep .mat-form-field-wrapper{padding-bottom:0;border:1px solid #5b6875;border-radius:4px}:host ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-infix{padding:0;border:none}:host ::ng-deep .mat-select-value{padding-left:5px}:host ::ng-deep .mat-form-field-appearance-legacy .mat-form-field-underline{height:0}:host ::ng-deep .mat-select-trigger{line-height:36px}:host ::ng-deep mat-icon{width:18px;height:18px}:host ::ng-deep mat-icon svg path{fill:#5b6875}:host ::ng-deep .mat-slide-toggle-content{width:calc(100% - 36px);min-width:300px}\n"], components: [{ type: i10__namespace$1.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "required", "checked", "aria-describedby"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { type: i7__namespace.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i12__namespace.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i3__namespace.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
44933
44998
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModelPreviewComponent, decorators: [{
|
|
44934
44999
|
type: i0.Component,
|
|
44935
45000
|
args: [{
|
|
44936
45001
|
selector: 'rp-model-preview',
|
|
44937
|
-
template: "\n <div class=\"model-preview\">\n <div class=\"model-preview-
|
|
45002
|
+
template: "\n <div class=\"model-preview\">\n <div class=\"model-preview-window\">\n <div class=\"model-preview-container\" id=\"canvasContainer\"></div>\n <div class=\"model-preview-window-bottom\">\n <div>\n <mat-slide-toggle\n [checked]=\"showReferenceModel\"\n [labelPosition]=\"'after'\"\n (change)=\"toggleShowReferenceModel($event)\">\n Show Reference model\n </mat-slide-toggle>\n </div>\n <div class=\"disclaimer-text-container\">\n <p class=\"disclaimer-text\">\n Grid scale: 1 tile = 1x1 meter\n </p>\n </div>\n </div>\n </div>\n <div class=\"model-preview-actions\">\n <div class=\"input-height-container\">\n <h2>Model settings</h2>\n <div>\n <h3>Scale:</h3>\n <input type=\"text\" id=\"heightArticle\" #heightArticle placeholder=\"Set model height\">\n <mat-form-field class=\"units-select-form\">\n <mat-select class=\"units-mat-select\" [(value)]=\"unitsOfMeasurement\">\n <mat-option class=\"units-mat-option\" *ngFor=\"let unit of units\" [value]=\"unit\">{{ unit }}</mat-option>\n </mat-select>\n </mat-form-field>\n <button class=\"apply-button base-button\" (click)=\"scaleArticle()\">Apply</button>\n </div>\n </div>\n <div class=\"rotation-button-container\">\n <h3>Rotation:</h3>\n <div>\n <p>Rotate on X axis (90 degrees)</p>\n <p>\n <button (click)=\"rotateModel('x', -mathPi / 2)\">\n <mat-icon svgIcon=\"dash-button\"></mat-icon>\n </button>\n <button (click)=\"rotateModel('x', mathPi / 2)\">\n <mat-icon svgIcon=\"add-button\"></mat-icon>\n </button>\n </p>\n </div>\n <div>\n <p>Rotate on Y axis (90 degrees)</p>\n <p>\n <button (click)=\"rotateModel('y', -mathPi / 2)\">\n <mat-icon svgIcon=\"dash-button\"></mat-icon>\n </button>\n <button (click)=\"rotateModel('y', mathPi / 2)\">\n <mat-icon svgIcon=\"add-button\"></mat-icon>\n </button>\n </p>\n </div>\n <div>\n <p>Rotate on Z axis (90 degrees)</p>\n <p>\n <button (click)=\"rotateModel('z', -mathPi / 2)\">\n <mat-icon svgIcon=\"dash-button\"></mat-icon>\n </button>\n <button (click)=\"rotateModel('z', mathPi / 2)\">\n <mat-icon svgIcon=\"add-button\"></mat-icon>\n </button>\n </p>\n </div>\n </div>\n <div class=\"rotation-button-container\">\n <h3>Position:</h3>\n <div>\n <p>Reset to coordinates 0,0,0</p>\n <p>\n <button class=\"button-as-link\" (click)=\"moveModel('all', 0)\">\n <mat-icon svgIcon=\"retry-button\"></mat-icon>\n Reset\n </button>\n </p>\n </div>\n <div>\n <p>Move on the Y axis (0.01 unit)</p>\n <p>\n <button (click)=\"moveModel('y', -0.01)\">\n <mat-icon svgIcon=\"dash-button\"></mat-icon>\n </button>\n <button (click)=\"moveModel('y', 0.01)\">\n <mat-icon svgIcon=\"add-button\"></mat-icon>\n </button>\n </p>\n </div>\n </div>\n\n <div class=\"model-preview-info-container\">\n <h3>Properties:</h3>\n <div>\n <mat-slide-toggle\n [checked]=\"false\"\n [labelPosition]=\"'before'\"\n (change)=\"setStackable($event)\">\n Stackable\n </mat-slide-toggle>\n </div>\n <div>\n <mat-slide-toggle\n [checked]=\"false\"\n [labelPosition]=\"'before'\"\n (change)=\"setHeightAdjustable($event)\">\n Height adjustable\n </mat-slide-toggle>\n </div>\n\n <div class=\"model-placement-container\">\n <div>\n <label>Placement</label>\n\n <mat-form-field *ngIf=\"placementOptions\">\n <mat-select [(value)]=\"selectedPlacement\">\n <mat-option *ngFor=\"let placementOption of placementOptions\"\n [value]=\"placementOption.code\">{{ placementOption.description }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </div>\n </div>\n\n <div class=\"model-preview-info\" *ngIf=\"this.data\">\n <div class=\"model-preview-info-container\">\n <div class=\"model-preview-info-left\">\n <label>Save as:</label>\n </div>\n <div class=\"model-preview-info-right\">\n <input type=\"text\" id=\"fileName\" #fileName value=\"{{ this.data.file.file.name }}\">\n </div>\n </div>\n <div>\n <button class=\"base-button exportButton\" (click)=\"exportSceneAsGLB('upload')\">Upload and add to scene</button>\n <button class=\"base-button exportButtonDark\" (click)=\"exportSceneAsGLB('download')\">Download</button>\n </div>\n </div>\n </div>\n </div>\n ",
|
|
44938
45003
|
styleUrls: ['./model-preview.component.scss']
|
|
44939
45004
|
}]
|
|
44940
45005
|
}], ctorParameters: function () {
|
|
44941
45006
|
return [{ type: undefined, decorators: [{
|
|
44942
45007
|
type: i0.Inject,
|
|
44943
45008
|
args: [i1$1.MAT_DIALOG_DATA]
|
|
44944
|
-
}] }, { type: HomedecoratorSettingsService }, { type: i1__namespace$1.MatDialogRef }, { type: ThirdPartyModelService }, { type: MessageBusService }, { type: i1__namespace$1.MatDialog }, { type: HomedecoratorConnectorAdapterService }, { type: LightPresetsService }, { type: HomedecoratorDictionaryService }, { type: FontService }];
|
|
45009
|
+
}] }, { type: HomedecoratorSettingsService }, { type: HomedecoratorIconCacheService }, { type: i1__namespace$1.MatDialogRef }, { type: ThirdPartyModelService }, { type: MessageBusService }, { type: i1__namespace$1.MatDialog }, { type: HomedecoratorConnectorAdapterService }, { type: LightPresetsService }, { type: HomedecoratorDictionaryService }, { type: FontService }];
|
|
44945
45010
|
}, propDecorators: { glbExportName: [{
|
|
44946
45011
|
type: i0.ViewChild,
|
|
44947
45012
|
args: ['fileName']
|
|
@@ -45026,7 +45091,7 @@
|
|
|
45026
45091
|
this._subs = [];
|
|
45027
45092
|
this._subs.push(this.messageService.subscribe(MessageType.SetLeftSidebar, function (templateRef) { return _this._setLeftSidebar(templateRef); }), this.messageService.subscribe(MessageType.HideLeftSidebar, function () { return _this._closeLeftSidebar({ keepTemplateRef: true }); }), this.messageService.subscribe(MessageType.RegisterToolbarIcon, function (icon) { return _this._registerToolbarIcon(icon); }), this.messageService.subscribe(MessageType.ViewModeChanged, function () { return _this._closeLeftSidebar(); }), this.messageService.subscribe(MessageType.NewRoom, function () { return _this.newRoom(); }), this.messageService.subscribe(MessageType.ShowOpenDialog, function () { return _this.openOpenDialog(); }), this.messageService.subscribe(MessageType.FinishedIOneFurnitureBuild, function () { return _this._hideToast(); }), this.messageService.subscribe(MessageType.UndefinedErrorOccured, function () { return _this._hideToast(); }), this.messageService.subscribe(MessageType.RenderServiceTryToConnect, function () { return _this._hideToast(); }), this.messageService.subscribe(MessageType.RenderServiceConnected, function () { return _this._hideToast(); }), this._toastService.showToastSub.subscribe(function (toast) { return _this._showToast(toast); }), this._screenSizeService.screenSizeChanged.subscribe(function (info) { return _this.phoneSizeScreen = info.isPhoneSize; }),
|
|
45028
45093
|
// this.messageService.subscribe(MessageType.StartWithDiagram, () => this.openUploadDiagram()),
|
|
45029
|
-
this.messageService.subscribe(MessageType.StartDrawingDiagram, function (file) { return _this.openDrawDiagram(file); }), this.messageService.subscribe(MessageType.StartCroppingPDF, function (file) { return _this.openCroppingDiagram(file); }), this.messageService.subscribe(MessageType.UserModelUploaded, function (file) { return _this.openModelPreview(file); }));
|
|
45094
|
+
this.messageService.subscribe(MessageType.StartDrawingDiagram, function (file) { return _this.openDrawDiagram(file); }), this.messageService.subscribe(MessageType.StartCroppingPDF, function (file) { return _this.openCroppingDiagram(file); }), this.messageService.subscribe(MessageType.UserModelUploaded, function (file) { return _this.openModelPreview(file); }), this.messageService.subscribe(MessageType.RenderError, function (data) { return _this.showRenderError(data); }));
|
|
45030
45095
|
}
|
|
45031
45096
|
ToolbarComponent.prototype.handleKeyDown = function (event) {
|
|
45032
45097
|
if (event.ctrlKey && event.shiftKey && event.key === 'S') {
|
|
@@ -45257,6 +45322,12 @@
|
|
|
45257
45322
|
data: { file: file }
|
|
45258
45323
|
});
|
|
45259
45324
|
};
|
|
45325
|
+
ToolbarComponent.prototype.showRenderError = function (data) {
|
|
45326
|
+
this._dialog.open(ErrorDialogComponent, {
|
|
45327
|
+
data: data
|
|
45328
|
+
});
|
|
45329
|
+
this.messageService.emit(MessageType.HideLoadingIndicator);
|
|
45330
|
+
};
|
|
45260
45331
|
ToolbarComponent.prototype.testRender = function () {
|
|
45261
45332
|
this._newRenderService.forceRenderImage();
|
|
45262
45333
|
};
|
|
@@ -45315,7 +45386,7 @@
|
|
|
45315
45386
|
return ToolbarComponent;
|
|
45316
45387
|
}());
|
|
45317
45388
|
ToolbarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ToolbarComponent, deps: [{ token: AppStateService }, { token: PresetsService }, { token: MessageBusService }, { token: HomedecoratorSettingsService }, { token: LocalStorageService }, { token: ScreenSizeAnalysisService }, { token: i1__namespace$1.MatDialog }, { token: ToastService }, { token: HomedecoratorAppService }, { token: PermanentStoreService }, { token: UtilsService }, { token: ThreedselectorService }, { token: ItemService }, { token: FloorplanService }, { token: FloorService }, { token: AnimationService }, { token: DevelopmentService }, { token: NewRenderService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
45318
|
-
ToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolbarComponent, selector: "rp-toolbar", host: { listeners: { "document:keydown": "handleKeyDown($event)" } }, viewQueries: [{ propertyName: "leftSidebar", first: true, predicate: ["leftSidebar"], descendants: true, static: true }], ngImport: i0__namespace, template: "\n <!--\n <div class=\"layer layer--toolbar\">\n -->\n <mat-toolbar class=\"toolbar\" color=\"primary\">\n <button *ngIf=\"phoneSizeScreen\" mat-icon-button class=\"menu-icon\" [matMenuTriggerFor]=\"menu\">\n <mat-icon class=\"homedecorator-material-icons\">menu</mat-icon>\n </button>\n <mat-menu #menu>\n <ng-container *ngFor=\"let icon of toolbarIconsTop\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\">\n </ng-container>\n </ng-container>\n </mat-menu>\n\n <img src=\"assets/images/logo.svg\" class=\"toolbar-logo\"/>\n <img *ngIf=\"settingsService.settings.secondaryLogo\" [src]=\"settingsService.settings.secondaryLogo\"\n class=\"toolbar-logo secondary-logo\"/>\n <ng-container *ngIf=\"settingsService.settings.options.development\">\n <mat-card class=\"wip-card\">\n <mat-card-content>\n {{ 'WORK_IN_PROGRESS' | localize }}\n </mat-card-content>\n </mat-card>\n <button mat-icon-button (click)=\"loadRoom()\">\n <mat-icon class=\"homedecorator-material-icons\">weekend</mat-icon>\n </button>\n <button mat-icon-button (click)=\"loadResizableRoom()\">\n <mat-icon class=\"homedecorator-material-icons\">camera-control</mat-icon>\n </button>\n </ng-container>\n <ng-container *ngIf=\"settingsService.settings.options.showRoomDownloadButton\">\n <button mat-icon-button (click)=\"downloadRoom()\">\n <mat-icon class=\"homedecorator-material-icons\" matTooltip=\"{{'DOWNLOAD_ROOM_AS_GLB' | localize}}\">cloud_download</mat-icon>\n </button>\n </ng-container>\n <div class=\"hd-toolbar-spacer\"></div>\n\n<!-- <ng-container>-->\n<!-- <rp-pdf-export></rp-pdf-export>-->\n<!-- </ng-container>-->\n\n <mat-nav-list class=\"toolbar__nav\" role=\"list\">\n <div matTooltip=\"{{'NEW_ROOM' | localize}}\">\n <mat-list-item role=\"listitem\" (click)=\"newRoom()\">{{ 'NEW' | localize }}</mat-list-item>\n </div>\n <div matTooltip=\"{{'OPEN_EXISTING_PLAN' | localize}}\">\n <mat-list-item role=\"listitem\" (click)=\"openOpenDialog()\">{{ 'OPEN' | localize }}</mat-list-item>\n </div>\n <div *ngIf=\"storageService.errorWhenSaving\" class=\"storage-error\"\n [class.blinker]=\"showBlinkError\" matTooltip=\"{{'ERROR_SAVING_LOCALSTORAGE' | localize}}\"\n (mousemove)=\"showBlinkError = false\"\n ><span>!</span></div>\n <div [class.blinker]=\"!showSaveNotification\" matTooltip=\"{{'SAVE_THE_PLAN' | localize}}\">\n <mat-list-item\n matTooltip=\"{{'SAVE_TOOLTIP' | localize}}\"\n [matTooltipDisabled]=\"tooltipDisabled\"\n matTooltipClass=\"tooltip-red\"\n role=\"listitem\"\n (click)=\"openSaveDialog() && stopTimer()\"\n >{{ 'SAVE' | localize }}\n </mat-list-item>\n </div>\n <div\n class=\"badge\"\n matBadge=\"!\"\n matBadgeColor=\"warn\"\n matBadgePosition=\"below before\"\n matBadgeOverlap=\"true\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"badgeDisabled\">\n </div>\n </mat-nav-list>\n <div matTooltip=\"{{'SAVE_IMAGE' | localize}}\">\n <button mat-icon-button (click)=\"onTakeScreenshotClick()\">\n <mat-icon class=\"homedecorator-material-icons\">photo_camera</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'UNDO' | localize}}\">\n <button mat-icon-button (click)=\"messageService.emit(messageType.Undo)\"\n [disabled]=\"presetsService.isLoading || !appState.canUndo()\"\n >\n <mat-icon class=\"homedecorator-material-icons\">undo</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'REDO' | localize}}\">\n <button mat-icon-button (click)=\"messageService.emit(messageType.Redo)\"\n [disabled]=\"presetsService.isLoading || !appState.canRedo()\"\n >\n <mat-icon class=\"homedecorator-material-icons\">redo</mat-icon>\n </button>\n </div>\n <button mat-icon-button *ngIf=\"!fullscreen\" (click)=\"requestFullscreen()\" matTooltip=\"{{'REQUEST_FULLSCREEN' | localize}}\">\n <mat-icon class=\"homedecorator-material-icons\">fullscreen</mat-icon>\n </button>\n <button mat-icon-button *ngIf=\"fullscreen\" (click)=\"exitFullscreen()\" matTooltip=\"{{'EXIT_FULLSCREEN' | localize}}\">\n <mat-icon class=\"homedecorator-material-icons\">fullscreen_exit</mat-icon>\n </button>\n </mat-toolbar>\n\n <limited-mode-message\n *ngIf=\"phoneSizeScreen && showLimitedModeMessage\"\n (closeClicked)=\"onCloseLimitedModeMessageClick()\">\n </limited-mode-message>\n\n <div class=\"toast-wrapper\"\n [class.success]=\"toast.type == toastType.Success\"\n [class.warning]=\"toast.type == toastType.Warning\"\n [class.error]=\"toast.type == toastType.Error\"\n *ngIf=\"toast\"\n @showToast\n [textContent]=\"toast.message\">\n </div>\n\n <mat-toolbar-row class=\"toolbar-row\">\n <mat-toolbar class=\"toolbar toolbar--secondary\" *ngIf=\"!phoneSizeScreen\">\n <ng-container *ngFor=\"let icon of toolbarIconsTop\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\"></ng-container>\n </ng-container>\n <span class=\"hd-toolbar-spacer\"></span>\n <ng-container *ngFor=\"let icon of toolbarIconsBottom\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\"></ng-container>\n </ng-container>\n </mat-toolbar>\n\n <mat-drawer-container class=\"drawer-container\">\n <mat-drawer class=\"drawer\" mode=\"over\" position=\"left\" #leftSidebar>\n <mat-drawer-content class=\"drawer__body\">\n <button class=\"drawer__button\" mat-icon-button (click)=\"clickCloseLeftSidebar()\">\n <mat-icon class=\"homedecorator-material-icons\">clear</mat-icon>\n </button>\n <ng-container [cdkPortalOutlet]=\"leftPortal\"></ng-container>\n </mat-drawer-content>\n </mat-drawer>\n </mat-drawer-container>\n </mat-toolbar-row>\n <!--\n </div>\n -->\n ", isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;top:0;z-index:100;height:100%;width:100%;pointer-events:none}:host .hd-toolbar-spacer{display:flex;flex-basis:100%}:host .toast-wrapper{height:auto;position:absolute;top:64px;left:50%;-webkit-user-select:none;user-select:none;pointer-events:none;background:#74B77F;padding:30px;border-radius:0 0 10px 10px;min-width:150px;max-width:90%;color:#fff;text-align:center;transform:translate(-50%,-100%)}:host .toast-wrapper.warning{background:#F17300}:host .toast-wrapper.error{background:#CC2936}:host ::ng-deep .drawer__header{display:flex;align-items:center;min-height:40px;margin-bottom:16px}:host ::ng-deep .drawer__header h2{margin:0 auto 0 0}:host ::ng-deep mat-tab-header,:host ::ng-deep .FileDrop{margin-bottom:16px}:host ::ng-deep .tab--skin ::ng-deep .mat-tab-label{height:52px;min-width:auto}:host ::ng-deep .drawer p{white-space:pre-wrap}:host ::ng-deep .mat-divider{margin:16px 0 24px}:host ::ng-deep .mat-drawer-backdrop{display:none}.storage-error{min-width:30px;height:30px;display:flex;align-items:center;align-self:center;border-radius:50%;justify-content:center;background:white;color:#c00;font-size:25px;font-weight:bold}.layer--toolbar{display:flex;flex-direction:column}.toolbar{z-index:101;box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}.toolbar .menu-icon{min-width:50px;display:flex;justify-content:center;margin-left:-16px}.toolbar-logo{width:50px}.secondary-logo{margin-left:20px}.toolbar__nav{display:flex;flex-direction:row;padding-top:0}.toolbar__nav .mat-list-item{color:#fff;height:40px}.toolbar-row{flex:auto;display:flex;flex-direction:column;padding:0;pointer-events:none;position:relative;align-items:baseline;height:100%}.toolbar--secondary{width:64px;padding:16px 0;flex-direction:column;background:#fff;height:100%}.toolbar--secondary .drawer{flex:auto;pointer-events:none;background:transparent}.wip-card{margin-left:22px;padding:6px 22px;color:#fff;background-color:#ed912e}.drawer-container{position:static;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.drawer{width:420px;padding:16px;display:flex;flex-direction:column;left:65px}.toolbar,.toolbar--secondary>*,.drawer-container>*,.drawer>*{pointer-events:all}.drawer__button{min-width:initial;padding:0;border:none;position:absolute;top:0;right:0;border-radius:50%}.blinker{animation:blinker 1s linear infinite}.mat-badge-content{background-color:#b71c1c;animation:bounce 2s ease-out;animation-iteration-count:infinite;margin-left:5px}.badge{margin-right:20px;margin-bottom:20px}::ng-deep .tooltip-red{background:#b71c1c}@keyframes bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-20px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes blinker{50%{opacity:0}}::ng-deep .mat-menu-panel{width:256px!important}::ng-deep .mat-menu-panel .mat-menu-content{display:flex;flex-direction:column;padding-left:10px;padding-right:10px}::ng-deep mat-drawer-content.mat-drawer-content{display:flex;height:100%;flex-direction:column}\n"], components: [{ type: i19__namespace$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i22__namespace.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i23__namespace.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2__namespace$2.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2__namespace$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: LimitedModeMessageComponent, selector: "limited-mode-message", outputs: ["closeClicked"] }, { type: i26__namespace.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { type: i26__namespace.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { type: i26__namespace.MatDrawerContent, selector: "mat-drawer-content" }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i22__namespace.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i28__namespace.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i23__namespace.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i30__namespace.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }, { type: i19__namespace$1.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }], pipes: { "localize": LocalizePipe }, animations: [
|
|
45389
|
+
ToolbarComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ToolbarComponent, selector: "rp-toolbar", host: { listeners: { "document:keydown": "handleKeyDown($event)" } }, viewQueries: [{ propertyName: "leftSidebar", first: true, predicate: ["leftSidebar"], descendants: true, static: true }], ngImport: i0__namespace, template: "\n <!--\n <div class=\"layer layer--toolbar\">\n -->\n <mat-toolbar class=\"toolbar\" color=\"primary\">\n <button *ngIf=\"phoneSizeScreen\" mat-icon-button class=\"menu-icon\" [matMenuTriggerFor]=\"menu\">\n <mat-icon class=\"homedecorator-material-icons\">menu</mat-icon>\n </button>\n <mat-menu #menu>\n <ng-container *ngFor=\"let icon of toolbarIconsTop\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\">\n </ng-container>\n </ng-container>\n </mat-menu>\n\n <img src=\"assets/images/logo.svg\" class=\"toolbar-logo\"/>\n <img *ngIf=\"settingsService.settings.secondaryLogo\" [src]=\"settingsService.settings.secondaryLogo\"\n class=\"toolbar-logo secondary-logo\"/>\n <ng-container *ngIf=\"settingsService.settings.options.development\">\n <mat-card class=\"wip-card\">\n <mat-card-content>\n {{ 'WORK_IN_PROGRESS' | localize }}\n </mat-card-content>\n </mat-card>\n <button mat-icon-button (click)=\"loadRoom()\">\n <mat-icon class=\"homedecorator-material-icons\">weekend</mat-icon>\n </button>\n <button mat-icon-button (click)=\"loadResizableRoom()\">\n <mat-icon class=\"homedecorator-material-icons\">camera-control</mat-icon>\n </button>\n </ng-container>\n <ng-container *ngIf=\"settingsService.settings.options.showRoomDownloadButton\">\n <button mat-icon-button (click)=\"downloadRoom()\">\n <mat-icon class=\"homedecorator-material-icons\" matTooltip=\"{{'DOWNLOAD_ROOM_AS_GLB' | localize}}\">cloud_download</mat-icon>\n </button>\n </ng-container>\n <div class=\"hd-toolbar-spacer\"></div>\n\n <!-- <ng-container>-->\n <!-- <rp-pdf-export></rp-pdf-export>-->\n <!-- </ng-container>-->\n\n <mat-nav-list class=\"toolbar__nav\" role=\"list\">\n <div matTooltip=\"{{'NEW_ROOM' | localize}}\">\n <mat-list-item role=\"listitem\" (click)=\"newRoom()\">{{ 'NEW' | localize }}</mat-list-item>\n </div>\n <div matTooltip=\"{{'OPEN_EXISTING_PLAN' | localize}}\">\n <mat-list-item role=\"listitem\" (click)=\"openOpenDialog()\">{{ 'OPEN' | localize }}</mat-list-item>\n </div>\n <div *ngIf=\"storageService.errorWhenSaving\" class=\"storage-error\"\n [class.blinker]=\"showBlinkError\" matTooltip=\"{{'ERROR_SAVING_LOCALSTORAGE' | localize}}\"\n (mousemove)=\"showBlinkError = false\"\n ><span>!</span></div>\n <div [class.blinker]=\"!showSaveNotification\" matTooltip=\"{{'SAVE_THE_PLAN' | localize}}\">\n <mat-list-item\n matTooltip=\"{{'SAVE_TOOLTIP' | localize}}\"\n [matTooltipDisabled]=\"tooltipDisabled\"\n matTooltipClass=\"tooltip-red\"\n role=\"listitem\"\n (click)=\"openSaveDialog() && stopTimer()\"\n >{{ 'SAVE' | localize }}\n </mat-list-item>\n </div>\n <div\n class=\"badge\"\n matBadge=\"!\"\n matBadgeColor=\"warn\"\n matBadgePosition=\"below before\"\n matBadgeOverlap=\"true\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"badgeDisabled\">\n </div>\n </mat-nav-list>\n <div matTooltip=\"{{'SAVE_IMAGE' | localize}}\">\n <button mat-icon-button (click)=\"onTakeScreenshotClick()\">\n <mat-icon class=\"homedecorator-material-icons\">photo_camera</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'UNDO' | localize}}\">\n <button mat-icon-button (click)=\"messageService.emit(messageType.Undo)\"\n [disabled]=\"presetsService.isLoading || !appState.canUndo()\"\n >\n <mat-icon class=\"homedecorator-material-icons\">undo</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'REDO' | localize}}\">\n <button mat-icon-button (click)=\"messageService.emit(messageType.Redo)\"\n [disabled]=\"presetsService.isLoading || !appState.canRedo()\"\n >\n <mat-icon class=\"homedecorator-material-icons\">redo</mat-icon>\n </button>\n </div>\n <button mat-icon-button *ngIf=\"!fullscreen\" (click)=\"requestFullscreen()\" matTooltip=\"{{'REQUEST_FULLSCREEN' | localize}}\">\n <mat-icon class=\"homedecorator-material-icons\">fullscreen</mat-icon>\n </button>\n <button mat-icon-button *ngIf=\"fullscreen\" (click)=\"exitFullscreen()\" matTooltip=\"{{'EXIT_FULLSCREEN' | localize}}\">\n <mat-icon class=\"homedecorator-material-icons\">fullscreen_exit</mat-icon>\n </button>\n </mat-toolbar>\n\n <limited-mode-message\n *ngIf=\"phoneSizeScreen && showLimitedModeMessage\"\n (closeClicked)=\"onCloseLimitedModeMessageClick()\">\n </limited-mode-message>\n\n <div class=\"toast-wrapper\"\n [class.success]=\"toast.type == toastType.Success\"\n [class.warning]=\"toast.type == toastType.Warning\"\n [class.error]=\"toast.type == toastType.Error\"\n *ngIf=\"toast\"\n @showToast\n [textContent]=\"toast.message\">\n </div>\n\n <mat-toolbar-row class=\"toolbar-row\">\n <mat-toolbar class=\"toolbar toolbar--secondary\" *ngIf=\"!phoneSizeScreen\">\n <ng-container *ngFor=\"let icon of toolbarIconsTop\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\"></ng-container>\n </ng-container>\n <span class=\"hd-toolbar-spacer\"></span>\n <ng-container *ngFor=\"let icon of toolbarIconsBottom\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\"></ng-container>\n </ng-container>\n </mat-toolbar>\n\n <mat-drawer-container class=\"drawer-container\">\n <mat-drawer class=\"drawer\" mode=\"over\" position=\"left\" #leftSidebar>\n <mat-drawer-content class=\"drawer__body\">\n <button class=\"drawer__button\" mat-icon-button (click)=\"clickCloseLeftSidebar()\">\n <mat-icon class=\"homedecorator-material-icons\">clear</mat-icon>\n </button>\n <ng-container [cdkPortalOutlet]=\"leftPortal\"></ng-container>\n </mat-drawer-content>\n </mat-drawer>\n </mat-drawer-container>\n </mat-toolbar-row>\n <!--\n </div>\n -->\n ", isInline: true, styles: [":host{display:flex;flex-direction:column;position:absolute;top:0;z-index:100;height:100%;width:100%;pointer-events:none}:host .hd-toolbar-spacer{display:flex;flex-basis:100%}:host .toast-wrapper{height:auto;position:absolute;top:64px;left:50%;-webkit-user-select:none;user-select:none;pointer-events:none;background:#74B77F;padding:30px;border-radius:0 0 10px 10px;min-width:150px;max-width:90%;color:#fff;text-align:center;transform:translate(-50%,-100%)}:host .toast-wrapper.warning{background:#F17300}:host .toast-wrapper.error{background:#CC2936}:host ::ng-deep .drawer__header{display:flex;align-items:center;min-height:40px;margin-bottom:16px}:host ::ng-deep .drawer__header h2{margin:0 auto 0 0}:host ::ng-deep mat-tab-header,:host ::ng-deep .FileDrop{margin-bottom:16px}:host ::ng-deep .tab--skin ::ng-deep .mat-tab-label{height:52px;min-width:auto}:host ::ng-deep .drawer p{white-space:pre-wrap}:host ::ng-deep .mat-divider{margin:16px 0 24px}:host ::ng-deep .mat-drawer-backdrop{display:none}.storage-error{min-width:30px;height:30px;display:flex;align-items:center;align-self:center;border-radius:50%;justify-content:center;background:white;color:#c00;font-size:25px;font-weight:bold}.layer--toolbar{display:flex;flex-direction:column}.toolbar{z-index:101;box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}.toolbar .menu-icon{min-width:50px;display:flex;justify-content:center;margin-left:-16px}.toolbar-logo{width:50px}.secondary-logo{margin-left:20px}.toolbar__nav{display:flex;flex-direction:row;padding-top:0}.toolbar__nav .mat-list-item{color:#fff;height:40px}.toolbar-row{flex:auto;display:flex;flex-direction:column;padding:0;pointer-events:none;position:relative;align-items:baseline;height:100%}.toolbar--secondary{width:64px;padding:16px 0;flex-direction:column;background:#fff;height:100%}.toolbar--secondary .drawer{flex:auto;pointer-events:none;background:transparent}.wip-card{margin-left:22px;padding:6px 22px;color:#fff;background-color:#ed912e}.drawer-container{position:static;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.drawer{width:420px;padding:16px;display:flex;flex-direction:column;left:65px}.toolbar,.toolbar--secondary>*,.drawer-container>*,.drawer>*{pointer-events:all}.drawer__button{min-width:initial;padding:0;border:none;position:absolute;top:0;right:0;border-radius:50%}.blinker{animation:blinker 1s linear infinite}.mat-badge-content{background-color:#b71c1c;animation:bounce 2s ease-out;animation-iteration-count:infinite;margin-left:5px}.badge{margin-right:20px;margin-bottom:20px}::ng-deep .tooltip-red{background:#b71c1c}@keyframes bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(1.1,.9) translateY(0)}30%{transform:scale(.9,1.1) translateY(-20px)}50%{transform:scale(1.05,.95) translateY(0)}57%{transform:scale(1) translateY(-7px)}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes blinker{50%{opacity:0}}::ng-deep .mat-menu-panel{width:256px!important}::ng-deep .mat-menu-panel .mat-menu-content{display:flex;flex-direction:column;padding-left:10px;padding-right:10px}::ng-deep mat-drawer-content.mat-drawer-content{display:flex;height:100%;flex-direction:column}\n"], components: [{ type: i19__namespace$1.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i22__namespace.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i23__namespace.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2__namespace$2.MatNavList, selector: "mat-nav-list", inputs: ["disableRipple", "disabled"], exportAs: ["matNavList"] }, { type: i2__namespace$2.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["disableRipple", "disabled"], exportAs: ["matListItem"] }, { type: LimitedModeMessageComponent, selector: "limited-mode-message", outputs: ["closeClicked"] }, { type: i26__namespace.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { type: i26__namespace.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { type: i26__namespace.MatDrawerContent, selector: "mat-drawer-content" }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i22__namespace.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i28__namespace.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i23__namespace.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i30__namespace.MatBadge, selector: "[matBadge]", inputs: ["matBadgeDisabled", "matBadgePosition", "matBadgeSize", "matBadgeColor", "matBadgeOverlap", "matBadgeDescription", "matBadgeHidden", "matBadge"] }, { type: i19__namespace$1.MatToolbarRow, selector: "mat-toolbar-row", exportAs: ["matToolbarRow"] }], pipes: { "localize": LocalizePipe }, animations: [
|
|
45319
45390
|
animations.trigger('showToast', [
|
|
45320
45391
|
animations.state('void', animations.style({ 'transform-origin': 'top center', transform: 'translate(-50%, -100%)' })),
|
|
45321
45392
|
animations.state('*', animations.style({ 'transform-origin': 'top center', transform: 'translate(-50%, 0)' })),
|
|
@@ -45332,7 +45403,7 @@
|
|
|
45332
45403
|
type: i0.Component,
|
|
45333
45404
|
args: [{
|
|
45334
45405
|
selector: 'rp-toolbar',
|
|
45335
|
-
template: "\n <!--\n <div class=\"layer layer--toolbar\">\n -->\n <mat-toolbar class=\"toolbar\" color=\"primary\">\n <button *ngIf=\"phoneSizeScreen\" mat-icon-button class=\"menu-icon\" [matMenuTriggerFor]=\"menu\">\n <mat-icon class=\"homedecorator-material-icons\">menu</mat-icon>\n </button>\n <mat-menu #menu>\n <ng-container *ngFor=\"let icon of toolbarIconsTop\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\">\n </ng-container>\n </ng-container>\n </mat-menu>\n\n <img src=\"assets/images/logo.svg\" class=\"toolbar-logo\"/>\n <img *ngIf=\"settingsService.settings.secondaryLogo\" [src]=\"settingsService.settings.secondaryLogo\"\n class=\"toolbar-logo secondary-logo\"/>\n <ng-container *ngIf=\"settingsService.settings.options.development\">\n <mat-card class=\"wip-card\">\n <mat-card-content>\n {{ 'WORK_IN_PROGRESS' | localize }}\n </mat-card-content>\n </mat-card>\n <button mat-icon-button (click)=\"loadRoom()\">\n <mat-icon class=\"homedecorator-material-icons\">weekend</mat-icon>\n </button>\n <button mat-icon-button (click)=\"loadResizableRoom()\">\n <mat-icon class=\"homedecorator-material-icons\">camera-control</mat-icon>\n </button>\n </ng-container>\n <ng-container *ngIf=\"settingsService.settings.options.showRoomDownloadButton\">\n <button mat-icon-button (click)=\"downloadRoom()\">\n <mat-icon class=\"homedecorator-material-icons\" matTooltip=\"{{'DOWNLOAD_ROOM_AS_GLB' | localize}}\">cloud_download</mat-icon>\n </button>\n </ng-container>\n <div class=\"hd-toolbar-spacer\"></div>\n\n<!-- <ng-container>-->\n<!-- <rp-pdf-export></rp-pdf-export>-->\n<!-- </ng-container>-->\n\n <mat-nav-list class=\"toolbar__nav\" role=\"list\">\n <div matTooltip=\"{{'NEW_ROOM' | localize}}\">\n <mat-list-item role=\"listitem\" (click)=\"newRoom()\">{{ 'NEW' | localize }}</mat-list-item>\n </div>\n <div matTooltip=\"{{'OPEN_EXISTING_PLAN' | localize}}\">\n <mat-list-item role=\"listitem\" (click)=\"openOpenDialog()\">{{ 'OPEN' | localize }}</mat-list-item>\n </div>\n <div *ngIf=\"storageService.errorWhenSaving\" class=\"storage-error\"\n [class.blinker]=\"showBlinkError\" matTooltip=\"{{'ERROR_SAVING_LOCALSTORAGE' | localize}}\"\n (mousemove)=\"showBlinkError = false\"\n ><span>!</span></div>\n <div [class.blinker]=\"!showSaveNotification\" matTooltip=\"{{'SAVE_THE_PLAN' | localize}}\">\n <mat-list-item\n matTooltip=\"{{'SAVE_TOOLTIP' | localize}}\"\n [matTooltipDisabled]=\"tooltipDisabled\"\n matTooltipClass=\"tooltip-red\"\n role=\"listitem\"\n (click)=\"openSaveDialog() && stopTimer()\"\n >{{ 'SAVE' | localize }}\n </mat-list-item>\n </div>\n <div\n class=\"badge\"\n matBadge=\"!\"\n matBadgeColor=\"warn\"\n matBadgePosition=\"below before\"\n matBadgeOverlap=\"true\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"badgeDisabled\">\n </div>\n </mat-nav-list>\n <div matTooltip=\"{{'SAVE_IMAGE' | localize}}\">\n <button mat-icon-button (click)=\"onTakeScreenshotClick()\">\n <mat-icon class=\"homedecorator-material-icons\">photo_camera</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'UNDO' | localize}}\">\n <button mat-icon-button (click)=\"messageService.emit(messageType.Undo)\"\n [disabled]=\"presetsService.isLoading || !appState.canUndo()\"\n >\n <mat-icon class=\"homedecorator-material-icons\">undo</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'REDO' | localize}}\">\n <button mat-icon-button (click)=\"messageService.emit(messageType.Redo)\"\n [disabled]=\"presetsService.isLoading || !appState.canRedo()\"\n >\n <mat-icon class=\"homedecorator-material-icons\">redo</mat-icon>\n </button>\n </div>\n <button mat-icon-button *ngIf=\"!fullscreen\" (click)=\"requestFullscreen()\" matTooltip=\"{{'REQUEST_FULLSCREEN' | localize}}\">\n <mat-icon class=\"homedecorator-material-icons\">fullscreen</mat-icon>\n </button>\n <button mat-icon-button *ngIf=\"fullscreen\" (click)=\"exitFullscreen()\" matTooltip=\"{{'EXIT_FULLSCREEN' | localize}}\">\n <mat-icon class=\"homedecorator-material-icons\">fullscreen_exit</mat-icon>\n </button>\n </mat-toolbar>\n\n <limited-mode-message\n *ngIf=\"phoneSizeScreen && showLimitedModeMessage\"\n (closeClicked)=\"onCloseLimitedModeMessageClick()\">\n </limited-mode-message>\n\n <div class=\"toast-wrapper\"\n [class.success]=\"toast.type == toastType.Success\"\n [class.warning]=\"toast.type == toastType.Warning\"\n [class.error]=\"toast.type == toastType.Error\"\n *ngIf=\"toast\"\n @showToast\n [textContent]=\"toast.message\">\n </div>\n\n <mat-toolbar-row class=\"toolbar-row\">\n <mat-toolbar class=\"toolbar toolbar--secondary\" *ngIf=\"!phoneSizeScreen\">\n <ng-container *ngFor=\"let icon of toolbarIconsTop\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\"></ng-container>\n </ng-container>\n <span class=\"hd-toolbar-spacer\"></span>\n <ng-container *ngFor=\"let icon of toolbarIconsBottom\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\"></ng-container>\n </ng-container>\n </mat-toolbar>\n\n <mat-drawer-container class=\"drawer-container\">\n <mat-drawer class=\"drawer\" mode=\"over\" position=\"left\" #leftSidebar>\n <mat-drawer-content class=\"drawer__body\">\n <button class=\"drawer__button\" mat-icon-button (click)=\"clickCloseLeftSidebar()\">\n <mat-icon class=\"homedecorator-material-icons\">clear</mat-icon>\n </button>\n <ng-container [cdkPortalOutlet]=\"leftPortal\"></ng-container>\n </mat-drawer-content>\n </mat-drawer>\n </mat-drawer-container>\n </mat-toolbar-row>\n <!--\n </div>\n -->\n ",
|
|
45406
|
+
template: "\n <!--\n <div class=\"layer layer--toolbar\">\n -->\n <mat-toolbar class=\"toolbar\" color=\"primary\">\n <button *ngIf=\"phoneSizeScreen\" mat-icon-button class=\"menu-icon\" [matMenuTriggerFor]=\"menu\">\n <mat-icon class=\"homedecorator-material-icons\">menu</mat-icon>\n </button>\n <mat-menu #menu>\n <ng-container *ngFor=\"let icon of toolbarIconsTop\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\">\n </ng-container>\n </ng-container>\n </mat-menu>\n\n <img src=\"assets/images/logo.svg\" class=\"toolbar-logo\"/>\n <img *ngIf=\"settingsService.settings.secondaryLogo\" [src]=\"settingsService.settings.secondaryLogo\"\n class=\"toolbar-logo secondary-logo\"/>\n <ng-container *ngIf=\"settingsService.settings.options.development\">\n <mat-card class=\"wip-card\">\n <mat-card-content>\n {{ 'WORK_IN_PROGRESS' | localize }}\n </mat-card-content>\n </mat-card>\n <button mat-icon-button (click)=\"loadRoom()\">\n <mat-icon class=\"homedecorator-material-icons\">weekend</mat-icon>\n </button>\n <button mat-icon-button (click)=\"loadResizableRoom()\">\n <mat-icon class=\"homedecorator-material-icons\">camera-control</mat-icon>\n </button>\n </ng-container>\n <ng-container *ngIf=\"settingsService.settings.options.showRoomDownloadButton\">\n <button mat-icon-button (click)=\"downloadRoom()\">\n <mat-icon class=\"homedecorator-material-icons\" matTooltip=\"{{'DOWNLOAD_ROOM_AS_GLB' | localize}}\">cloud_download</mat-icon>\n </button>\n </ng-container>\n <div class=\"hd-toolbar-spacer\"></div>\n\n <!-- <ng-container>-->\n <!-- <rp-pdf-export></rp-pdf-export>-->\n <!-- </ng-container>-->\n\n <mat-nav-list class=\"toolbar__nav\" role=\"list\">\n <div matTooltip=\"{{'NEW_ROOM' | localize}}\">\n <mat-list-item role=\"listitem\" (click)=\"newRoom()\">{{ 'NEW' | localize }}</mat-list-item>\n </div>\n <div matTooltip=\"{{'OPEN_EXISTING_PLAN' | localize}}\">\n <mat-list-item role=\"listitem\" (click)=\"openOpenDialog()\">{{ 'OPEN' | localize }}</mat-list-item>\n </div>\n <div *ngIf=\"storageService.errorWhenSaving\" class=\"storage-error\"\n [class.blinker]=\"showBlinkError\" matTooltip=\"{{'ERROR_SAVING_LOCALSTORAGE' | localize}}\"\n (mousemove)=\"showBlinkError = false\"\n ><span>!</span></div>\n <div [class.blinker]=\"!showSaveNotification\" matTooltip=\"{{'SAVE_THE_PLAN' | localize}}\">\n <mat-list-item\n matTooltip=\"{{'SAVE_TOOLTIP' | localize}}\"\n [matTooltipDisabled]=\"tooltipDisabled\"\n matTooltipClass=\"tooltip-red\"\n role=\"listitem\"\n (click)=\"openSaveDialog() && stopTimer()\"\n >{{ 'SAVE' | localize }}\n </mat-list-item>\n </div>\n <div\n class=\"badge\"\n matBadge=\"!\"\n matBadgeColor=\"warn\"\n matBadgePosition=\"below before\"\n matBadgeOverlap=\"true\"\n matBadgeSize=\"medium\"\n [matBadgeHidden]=\"badgeDisabled\">\n </div>\n </mat-nav-list>\n <div matTooltip=\"{{'SAVE_IMAGE' | localize}}\">\n <button mat-icon-button (click)=\"onTakeScreenshotClick()\">\n <mat-icon class=\"homedecorator-material-icons\">photo_camera</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'UNDO' | localize}}\">\n <button mat-icon-button (click)=\"messageService.emit(messageType.Undo)\"\n [disabled]=\"presetsService.isLoading || !appState.canUndo()\"\n >\n <mat-icon class=\"homedecorator-material-icons\">undo</mat-icon>\n </button>\n </div>\n <div matTooltip=\"{{'REDO' | localize}}\">\n <button mat-icon-button (click)=\"messageService.emit(messageType.Redo)\"\n [disabled]=\"presetsService.isLoading || !appState.canRedo()\"\n >\n <mat-icon class=\"homedecorator-material-icons\">redo</mat-icon>\n </button>\n </div>\n <button mat-icon-button *ngIf=\"!fullscreen\" (click)=\"requestFullscreen()\" matTooltip=\"{{'REQUEST_FULLSCREEN' | localize}}\">\n <mat-icon class=\"homedecorator-material-icons\">fullscreen</mat-icon>\n </button>\n <button mat-icon-button *ngIf=\"fullscreen\" (click)=\"exitFullscreen()\" matTooltip=\"{{'EXIT_FULLSCREEN' | localize}}\">\n <mat-icon class=\"homedecorator-material-icons\">fullscreen_exit</mat-icon>\n </button>\n </mat-toolbar>\n\n <limited-mode-message\n *ngIf=\"phoneSizeScreen && showLimitedModeMessage\"\n (closeClicked)=\"onCloseLimitedModeMessageClick()\">\n </limited-mode-message>\n\n <div class=\"toast-wrapper\"\n [class.success]=\"toast.type == toastType.Success\"\n [class.warning]=\"toast.type == toastType.Warning\"\n [class.error]=\"toast.type == toastType.Error\"\n *ngIf=\"toast\"\n @showToast\n [textContent]=\"toast.message\">\n </div>\n\n <mat-toolbar-row class=\"toolbar-row\">\n <mat-toolbar class=\"toolbar toolbar--secondary\" *ngIf=\"!phoneSizeScreen\">\n <ng-container *ngFor=\"let icon of toolbarIconsTop\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\"></ng-container>\n </ng-container>\n <span class=\"hd-toolbar-spacer\"></span>\n <ng-container *ngFor=\"let icon of toolbarIconsBottom\">\n <ng-container [cdkPortalOutlet]=\"icon.portal\"></ng-container>\n </ng-container>\n </mat-toolbar>\n\n <mat-drawer-container class=\"drawer-container\">\n <mat-drawer class=\"drawer\" mode=\"over\" position=\"left\" #leftSidebar>\n <mat-drawer-content class=\"drawer__body\">\n <button class=\"drawer__button\" mat-icon-button (click)=\"clickCloseLeftSidebar()\">\n <mat-icon class=\"homedecorator-material-icons\">clear</mat-icon>\n </button>\n <ng-container [cdkPortalOutlet]=\"leftPortal\"></ng-container>\n </mat-drawer-content>\n </mat-drawer>\n </mat-drawer-container>\n </mat-toolbar-row>\n <!--\n </div>\n -->\n ",
|
|
45336
45407
|
styleUrls: ['./toolbar.component.scss'],
|
|
45337
45408
|
animations: [
|
|
45338
45409
|
animations.trigger('showToast', [
|
|
@@ -45426,7 +45497,7 @@
|
|
|
45426
45497
|
return ProductOwnCollectionComponent;
|
|
45427
45498
|
}());
|
|
45428
45499
|
ProductOwnCollectionComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductOwnCollectionComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
45429
|
-
ProductOwnCollectionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProductOwnCollectionComponent, selector: "rp-product-own-collection", inputs: { settings: "settings" }, outputs: { articleClick: "articleClick", arButtonClick: "arButtonClick" }, ngImport: i0__namespace, template: "\n <co-catalog-search\n [(settings)]=\"settings\"\n [showNavigation]=\"true\"\n [title]=\"'CATALOG' | localize\"\n [subTitle]=\"'Zoeken op artikelnummer, naam of omschrijving'\"\n [searchPlaceholder]=\"'Zoeken op artikelnummer of omschrijving'\"\n [showFilter]=\"true\"\n (onArticleClick)=\"handleArticleClick($event)\"\n (onArButtonClick)=\"handleArButtonClick($event)\"\n ></co-catalog-search>\n ", isInline: true, styles: [":host{display:block;overflow:auto}\n"], components: [{ type: i7__namespace$
|
|
45500
|
+
ProductOwnCollectionComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProductOwnCollectionComponent, selector: "rp-product-own-collection", inputs: { settings: "settings" }, outputs: { articleClick: "articleClick", arButtonClick: "arButtonClick" }, ngImport: i0__namespace, template: "\n <co-catalog-search\n [(settings)]=\"settings\"\n [showNavigation]=\"true\"\n [title]=\"'CATALOG' | localize\"\n [subTitle]=\"'Zoeken op artikelnummer, naam of omschrijving'\"\n [searchPlaceholder]=\"'Zoeken op artikelnummer of omschrijving'\"\n [showFilter]=\"true\"\n (onArticleClick)=\"handleArticleClick($event)\"\n (onArButtonClick)=\"handleArButtonClick($event)\"\n ></co-catalog-search>\n ", isInline: true, styles: [":host{display:block;overflow:auto}\n"], components: [{ type: i7__namespace$2.ɵbf, selector: "co-catalog-search", inputs: ["createFrozenArticle", "showNavigation", "showLandingPage", "showFilter", "showViewModes", "settings", "title", "subTitle", "searchPlaceholder"], outputs: ["settingsChange", "onLookAtArticleButtonClick", "onArButtonClick", "onAddArticleButtonClick", "onArticleClick", "onStockDetailsClick", "onExternalSourceClick"] }], pipes: { "localize": LocalizePipe } });
|
|
45430
45501
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductOwnCollectionComponent, decorators: [{
|
|
45431
45502
|
type: i0.Component,
|
|
45432
45503
|
args: [{
|
|
@@ -45858,8 +45929,8 @@
|
|
|
45858
45929
|
};
|
|
45859
45930
|
return ProductCatalogComponent;
|
|
45860
45931
|
}());
|
|
45861
|
-
ProductCatalogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductCatalogComponent, deps: [{ token: HomedecoratorSettingsService }, { token: MessageBusService }, { token: HomedecoratorConnectorService }, { token: ScreenSizeAnalysisService }, { token: SceneService }, { token: FloorplanService }, { token: i0__namespace.Injector }, { token: i7__namespace$
|
|
45862
|
-
ProductCatalogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProductCatalogComponent, selector: "rp-product-catalog", host: { properties: { "class.shown": "this.shown", "class.no-offset": "this.phoneSizeScreen" } }, ngImport: i0__namespace, template: "\n <div class=\"product-catalog-wrapper\">\n <div class=\"catalog-button-wrapper\" *ngIf=\"showOwnCollection || showExternalCatalog\">\n <div class=\"back-button\" (click)=\"handleBackClick($event)\">\n <mat-icon class=\"homedecorator-material-icons\">arrow_back</mat-icon>\n <span class=\"back-button-span\">Terug</span>\n </div>\n <div class=\"button-spacer\"></div>\n <div class=\"refresh-button\" (click)=\"handleRefreshClick($event)\">\n <mat-icon class=\"homedecorator-material-icons\">refresh</mat-icon>\n <span class=\"refresh-button-span\">Verversen</span>\n </div>\n\n <div class=\"button-spacer\"></div>\n <div class=\"refresh-button\" (click)=\"iframeTest()\">\n <mat-icon class=\"homedecorator-material-icons\">refresh</mat-icon>\n <span class=\"refresh-button-span\">iframeTest</span>\n </div>\n\n </div>\n <ng-container *ngIf=\"showOwnCollection\">\n <rp-product-own-collection\n [settings]=\"settingsService.settings\"\n (articleClick)=\"handleArticleClick($event)\"\n ></rp-product-own-collection>\n </ng-container>\n\n <ng-container *ngIf=\"homeDecoHub && !showOwnCollection && !showExternalCatalog\">\n <rp-model-uploader>\n\n </rp-model-uploader>\n </ng-container>\n\n\n <ng-container *ngIf=\"!showOwnCollection && loaded\">\n <div class=\"own-collection-button-wrapper\" (click)=\"handleShowOwnCollectionClick($event)\"\n *ngIf=\"!showExternalCatalog && settingsService.settings.options.showOwnCatalogButton\">\n <div class=\"own-collection-description\" [textContent]=\"'OWN_COLLECTION' | localize\"></div>\n <co-image [source]=\"'assets/images/logo.svg'\"></co-image>\n </div>\n <co-catalog-external-sources *ngIf=\"!showExternalCatalog\"\n (externalSourceClick)=\"handleExternalSourceClick($event)\"></co-catalog-external-sources>\n <co-catalog-external-source *ngIf=\"showExternalCatalog\"\n [options]=\"{searchOnStart: true}\"\n [externalCatalogStartupInfo]=\"catalogInfo\"\n [catalogDefinition]=\"catalogDefinition\"\n [title]=\"'CATALOG' | localize | append: ' ' | append: externalCatalogName\"\n [subTitle]=\"'Zoeken naar artikelen'\"\n [searchPlaceholder]=\"'Zoek naar artikelen'\"\n [name]=\"externalCatalogName\"\n [showFilter]=\"false\"\n (articleClick)=\"handleArticleClick($event, catalogInfo)\"\n [class.hide-filter]=\"settingsService.settings.options.showOnlyHomeDecoFilter\"\n (iFrameFeedbackReceived)=\"handleIFrameFeedback($event)\"\n ></co-catalog-external-source>\n </ng-container>\n <button mat-icon-button class=\"hide-catalog\" (click)=\"hideCatalog()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">close</mat-icon>\n </button>\n </div>\n ", isInline: true, styles: [":host{display:none;z-index:99;overflow:hidden}:host .layer{pointer-events:all!important;overflow-y:hidden;display:flex;flex-direction:column}:host .product-catalog-wrapper{display:flex;flex-direction:column;height:100%;padding:30px}:host .product-catalog-wrapper .catalog-button-wrapper{font-size:16px;margin-bottom:20px}:host .product-catalog-wrapper .co-catalog-external-source{display:flex;flex-basis:100%}:host .own-collection-button-wrapper{cursor:pointer}:host .own-collection-button-wrapper .own-collection-description{font-size:12px;font-weight:bold;text-shadow:none;text-transform:capitalize;margin:10px 0}:host .own-collection-button-wrapper .co-image{padding:25px;background:#3760a1;border-radius:10px}:host.shown{display:inline-block;position:relative;top:64px;left:64px;width:calc(100% - 64px);height:calc(100vh - 64px);background-color:#fff}:host.no-offset{left:0;width:100%;z-index:100}:host .ione-catalog{display:block;overflow:hidden}:host .ione-catalog ::ng-deep app-catalog{overflow:hidden}:host .catalog-button-wrapper .back-button,:host .catalog-button-wrapper .refresh-button{cursor:pointer;display:inline-block;font-weight:bold}:host .catalog-button-wrapper .back-button .refresh-button-span,:host .catalog-button-wrapper .back-button .back-button-span,:host .catalog-button-wrapper .refresh-button .refresh-button-span,:host .catalog-button-wrapper .refresh-button .back-button-span{vertical-align:top;line-height:25px;margin:10px 5px 0}:host .catalog-button-wrapper .button-spacer{display:inline-block;margin:0 10px}:host .product-catalog-wrapper{overflow:auto}:host .hide-catalog{position:absolute;top:6px;right:0px;z-index:100}.co-catalog-external-sources .external-source-item .co-image img{object-fit:cover}::ng-deep .co-catalog-navigation{position:relative}::ng-deep .co-catalog-navigation .navigation-overlay-wrapper{position:absolute!important;left:-40px!important;padding:20px 40px;grid-column-gap:60px}\n"], components: [{ type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: ProductOwnCollectionComponent, selector: "rp-product-own-collection", inputs: ["settings"], outputs: ["articleClick", "arButtonClick"] }, { type: ModelUploaderComponent, selector: "rp-model-uploader" }, { type: i4__namespace$1.ImageComponent, selector: "co-image", inputs: ["source", "placeHolder"] }, { type: i7__namespace$
|
|
45932
|
+
ProductCatalogComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductCatalogComponent, deps: [{ token: HomedecoratorSettingsService }, { token: MessageBusService }, { token: HomedecoratorConnectorService }, { token: ScreenSizeAnalysisService }, { token: SceneService }, { token: FloorplanService }, { token: i0__namespace.Injector }, { token: i7__namespace$2.CatalogService }, { token: DynamicScriptService }, { token: HomedecoratorConnectorAdapterService }, { token: BuildFurnitureService }, { token: ThirdPartyModelService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
45933
|
+
ProductCatalogComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: ProductCatalogComponent, selector: "rp-product-catalog", host: { properties: { "class.shown": "this.shown", "class.no-offset": "this.phoneSizeScreen" } }, ngImport: i0__namespace, template: "\n <div class=\"product-catalog-wrapper\">\n <div class=\"catalog-button-wrapper\" *ngIf=\"showOwnCollection || showExternalCatalog\">\n <div class=\"back-button\" (click)=\"handleBackClick($event)\">\n <mat-icon class=\"homedecorator-material-icons\">arrow_back</mat-icon>\n <span class=\"back-button-span\">Terug</span>\n </div>\n <div class=\"button-spacer\"></div>\n <div class=\"refresh-button\" (click)=\"handleRefreshClick($event)\">\n <mat-icon class=\"homedecorator-material-icons\">refresh</mat-icon>\n <span class=\"refresh-button-span\">Verversen</span>\n </div>\n\n <div class=\"button-spacer\"></div>\n <div class=\"refresh-button\" (click)=\"iframeTest()\">\n <mat-icon class=\"homedecorator-material-icons\">refresh</mat-icon>\n <span class=\"refresh-button-span\">iframeTest</span>\n </div>\n\n </div>\n <ng-container *ngIf=\"showOwnCollection\">\n <rp-product-own-collection\n [settings]=\"settingsService.settings\"\n (articleClick)=\"handleArticleClick($event)\"\n ></rp-product-own-collection>\n </ng-container>\n\n <ng-container *ngIf=\"homeDecoHub && !showOwnCollection && !showExternalCatalog\">\n <rp-model-uploader>\n\n </rp-model-uploader>\n </ng-container>\n\n\n <ng-container *ngIf=\"!showOwnCollection && loaded\">\n <div class=\"own-collection-button-wrapper\" (click)=\"handleShowOwnCollectionClick($event)\"\n *ngIf=\"!showExternalCatalog && settingsService.settings.options.showOwnCatalogButton\">\n <div class=\"own-collection-description\" [textContent]=\"'OWN_COLLECTION' | localize\"></div>\n <co-image [source]=\"'assets/images/logo.svg'\"></co-image>\n </div>\n <co-catalog-external-sources *ngIf=\"!showExternalCatalog\"\n (externalSourceClick)=\"handleExternalSourceClick($event)\"></co-catalog-external-sources>\n <co-catalog-external-source *ngIf=\"showExternalCatalog\"\n [options]=\"{searchOnStart: true}\"\n [externalCatalogStartupInfo]=\"catalogInfo\"\n [catalogDefinition]=\"catalogDefinition\"\n [title]=\"'CATALOG' | localize | append: ' ' | append: externalCatalogName\"\n [subTitle]=\"'Zoeken naar artikelen'\"\n [searchPlaceholder]=\"'Zoek naar artikelen'\"\n [name]=\"externalCatalogName\"\n [showFilter]=\"false\"\n (articleClick)=\"handleArticleClick($event, catalogInfo)\"\n [class.hide-filter]=\"settingsService.settings.options.showOnlyHomeDecoFilter\"\n (iFrameFeedbackReceived)=\"handleIFrameFeedback($event)\"\n ></co-catalog-external-source>\n </ng-container>\n <button mat-icon-button class=\"hide-catalog\" (click)=\"hideCatalog()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">close</mat-icon>\n </button>\n </div>\n ", isInline: true, styles: [":host{display:none;z-index:99;overflow:hidden}:host .layer{pointer-events:all!important;overflow-y:hidden;display:flex;flex-direction:column}:host .product-catalog-wrapper{display:flex;flex-direction:column;height:100%;padding:30px}:host .product-catalog-wrapper .catalog-button-wrapper{font-size:16px;margin-bottom:20px}:host .product-catalog-wrapper .co-catalog-external-source{display:flex;flex-basis:100%}:host .own-collection-button-wrapper{cursor:pointer}:host .own-collection-button-wrapper .own-collection-description{font-size:12px;font-weight:bold;text-shadow:none;text-transform:capitalize;margin:10px 0}:host .own-collection-button-wrapper .co-image{padding:25px;background:#3760a1;border-radius:10px}:host.shown{display:inline-block;position:relative;top:64px;left:64px;width:calc(100% - 64px);height:calc(100vh - 64px);background-color:#fff}:host.no-offset{left:0;width:100%;z-index:100}:host .ione-catalog{display:block;overflow:hidden}:host .ione-catalog ::ng-deep app-catalog{overflow:hidden}:host .catalog-button-wrapper .back-button,:host .catalog-button-wrapper .refresh-button{cursor:pointer;display:inline-block;font-weight:bold}:host .catalog-button-wrapper .back-button .refresh-button-span,:host .catalog-button-wrapper .back-button .back-button-span,:host .catalog-button-wrapper .refresh-button .refresh-button-span,:host .catalog-button-wrapper .refresh-button .back-button-span{vertical-align:top;line-height:25px;margin:10px 5px 0}:host .catalog-button-wrapper .button-spacer{display:inline-block;margin:0 10px}:host .product-catalog-wrapper{overflow:auto}:host .hide-catalog{position:absolute;top:6px;right:0px;z-index:100}.co-catalog-external-sources .external-source-item .co-image img{object-fit:cover}::ng-deep .co-catalog-navigation{position:relative}::ng-deep .co-catalog-navigation .navigation-overlay-wrapper{position:absolute!important;left:-40px!important;padding:20px 40px;grid-column-gap:60px}\n"], components: [{ type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: ProductOwnCollectionComponent, selector: "rp-product-own-collection", inputs: ["settings"], outputs: ["articleClick", "arButtonClick"] }, { type: ModelUploaderComponent, selector: "rp-model-uploader" }, { type: i4__namespace$1.ImageComponent, selector: "co-image", inputs: ["source", "placeHolder"] }, { type: i7__namespace$2.ɵt, selector: "co-catalog-external-sources", outputs: ["externalSourceClick"] }, { type: i7__namespace$2.ɵbg, selector: "co-catalog-external-source", inputs: ["showFilter", "showNavigation", "externalCatalogStartupInfo", "catalogDefinition", "user", "title", "subTitle", "searchPlaceholder", "options", "name"], outputs: ["articleClick", "addArticleClick", "iFrameFeedbackReceived"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "localize": LocalizePipe, "append": AppendPipe } });
|
|
45863
45934
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductCatalogComponent, decorators: [{
|
|
45864
45935
|
type: i0.Component,
|
|
45865
45936
|
args: [{
|
|
@@ -45867,7 +45938,7 @@
|
|
|
45867
45938
|
template: "\n <div class=\"product-catalog-wrapper\">\n <div class=\"catalog-button-wrapper\" *ngIf=\"showOwnCollection || showExternalCatalog\">\n <div class=\"back-button\" (click)=\"handleBackClick($event)\">\n <mat-icon class=\"homedecorator-material-icons\">arrow_back</mat-icon>\n <span class=\"back-button-span\">Terug</span>\n </div>\n <div class=\"button-spacer\"></div>\n <div class=\"refresh-button\" (click)=\"handleRefreshClick($event)\">\n <mat-icon class=\"homedecorator-material-icons\">refresh</mat-icon>\n <span class=\"refresh-button-span\">Verversen</span>\n </div>\n\n <div class=\"button-spacer\"></div>\n <div class=\"refresh-button\" (click)=\"iframeTest()\">\n <mat-icon class=\"homedecorator-material-icons\">refresh</mat-icon>\n <span class=\"refresh-button-span\">iframeTest</span>\n </div>\n\n </div>\n <ng-container *ngIf=\"showOwnCollection\">\n <rp-product-own-collection\n [settings]=\"settingsService.settings\"\n (articleClick)=\"handleArticleClick($event)\"\n ></rp-product-own-collection>\n </ng-container>\n\n <ng-container *ngIf=\"homeDecoHub && !showOwnCollection && !showExternalCatalog\">\n <rp-model-uploader>\n\n </rp-model-uploader>\n </ng-container>\n\n\n <ng-container *ngIf=\"!showOwnCollection && loaded\">\n <div class=\"own-collection-button-wrapper\" (click)=\"handleShowOwnCollectionClick($event)\"\n *ngIf=\"!showExternalCatalog && settingsService.settings.options.showOwnCatalogButton\">\n <div class=\"own-collection-description\" [textContent]=\"'OWN_COLLECTION' | localize\"></div>\n <co-image [source]=\"'assets/images/logo.svg'\"></co-image>\n </div>\n <co-catalog-external-sources *ngIf=\"!showExternalCatalog\"\n (externalSourceClick)=\"handleExternalSourceClick($event)\"></co-catalog-external-sources>\n <co-catalog-external-source *ngIf=\"showExternalCatalog\"\n [options]=\"{searchOnStart: true}\"\n [externalCatalogStartupInfo]=\"catalogInfo\"\n [catalogDefinition]=\"catalogDefinition\"\n [title]=\"'CATALOG' | localize | append: ' ' | append: externalCatalogName\"\n [subTitle]=\"'Zoeken naar artikelen'\"\n [searchPlaceholder]=\"'Zoek naar artikelen'\"\n [name]=\"externalCatalogName\"\n [showFilter]=\"false\"\n (articleClick)=\"handleArticleClick($event, catalogInfo)\"\n [class.hide-filter]=\"settingsService.settings.options.showOnlyHomeDecoFilter\"\n (iFrameFeedbackReceived)=\"handleIFrameFeedback($event)\"\n ></co-catalog-external-source>\n </ng-container>\n <button mat-icon-button class=\"hide-catalog\" (click)=\"hideCatalog()\">\n <mat-icon class=\"homedecorator-material-icons\" aria-hidden=\"true\">close</mat-icon>\n </button>\n </div>\n ",
|
|
45868
45939
|
styleUrls: ['./product-catalog.component.scss']
|
|
45869
45940
|
}]
|
|
45870
|
-
}], ctorParameters: function () { return [{ type: HomedecoratorSettingsService }, { type: MessageBusService }, { type: HomedecoratorConnectorService }, { type: ScreenSizeAnalysisService }, { type: SceneService }, { type: FloorplanService }, { type: i0__namespace.Injector }, { type: i7__namespace$
|
|
45941
|
+
}], ctorParameters: function () { return [{ type: HomedecoratorSettingsService }, { type: MessageBusService }, { type: HomedecoratorConnectorService }, { type: ScreenSizeAnalysisService }, { type: SceneService }, { type: FloorplanService }, { type: i0__namespace.Injector }, { type: i7__namespace$2.CatalogService }, { type: DynamicScriptService }, { type: HomedecoratorConnectorAdapterService }, { type: BuildFurnitureService }, { type: ThirdPartyModelService }]; }, propDecorators: { shown: [{
|
|
45871
45942
|
type: i0.HostBinding,
|
|
45872
45943
|
args: ['class.shown']
|
|
45873
45944
|
}], phoneSizeScreen: [{
|
|
@@ -46008,7 +46079,7 @@
|
|
|
46008
46079
|
});
|
|
46009
46080
|
};
|
|
46010
46081
|
var HomedecoratorComponent = /** @class */ (function () {
|
|
46011
|
-
function HomedecoratorComponent(controllerService, appState, presetsService, screenAnalysis, _componentFactoryResolver, _iconRegistry, _domSanitizer, _messageService, _homedecoratorService) {
|
|
46082
|
+
function HomedecoratorComponent(controllerService, appState, presetsService, screenAnalysis, _componentFactoryResolver, _iconRegistry, _domSanitizer, _messageService, _homedecoratorService, _eventService) {
|
|
46012
46083
|
this.controllerService = controllerService;
|
|
46013
46084
|
this.appState = appState;
|
|
46014
46085
|
this.presetsService = presetsService;
|
|
@@ -46018,6 +46089,7 @@
|
|
|
46018
46089
|
this._domSanitizer = _domSanitizer;
|
|
46019
46090
|
this._messageService = _messageService;
|
|
46020
46091
|
this._homedecoratorService = _homedecoratorService;
|
|
46092
|
+
this._eventService = _eventService;
|
|
46021
46093
|
this.showClass = true;
|
|
46022
46094
|
this.loaded = false;
|
|
46023
46095
|
this.title = 'MyRoomPlans';
|
|
@@ -46159,7 +46231,10 @@
|
|
|
46159
46231
|
'hand-pointer',
|
|
46160
46232
|
'check',
|
|
46161
46233
|
'move-phone-ar',
|
|
46162
|
-
'cart-shopping-regular'
|
|
46234
|
+
'cart-shopping-regular',
|
|
46235
|
+
'pen-ruler',
|
|
46236
|
+
'dash-button',
|
|
46237
|
+
'retry-button'
|
|
46163
46238
|
].map(addIcon);
|
|
46164
46239
|
};
|
|
46165
46240
|
HomedecoratorComponent.prototype.keyup = function (event) {
|
|
@@ -46190,6 +46265,7 @@
|
|
|
46190
46265
|
});
|
|
46191
46266
|
};
|
|
46192
46267
|
HomedecoratorComponent.prototype._startWithEmptyRoom = function (switchTo2D) {
|
|
46268
|
+
this._eventService.dirty.next(true);
|
|
46193
46269
|
var preset = Preset.CreateModelFromInterface({ filename: 'assets/presets/empty.json' });
|
|
46194
46270
|
this._startWithPreset(preset, switchTo2D);
|
|
46195
46271
|
};
|
|
@@ -46206,7 +46282,7 @@
|
|
|
46206
46282
|
};
|
|
46207
46283
|
return HomedecoratorComponent;
|
|
46208
46284
|
}());
|
|
46209
|
-
HomedecoratorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HomedecoratorComponent, deps: [{ token: HomedecoratorConnectorService }, { token: AppStateService }, { token: PresetsService }, { token: ScreenSizeAnalysisService }, { token: i0__namespace.ComponentFactoryResolver }, { token: i5__namespace$1.MatIconRegistry }, { token: i1__namespace.DomSanitizer }, { token: MessageBusService }, { token: HomedecoratorService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
46285
|
+
HomedecoratorComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HomedecoratorComponent, deps: [{ token: HomedecoratorConnectorService }, { token: AppStateService }, { token: PresetsService }, { token: ScreenSizeAnalysisService }, { token: i0__namespace.ComponentFactoryResolver }, { token: i5__namespace$1.MatIconRegistry }, { token: i1__namespace.DomSanitizer }, { token: MessageBusService }, { token: HomedecoratorService }, { token: HomedecoratorAppEventService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
46210
46286
|
HomedecoratorComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: HomedecoratorComponent, selector: "co-homedecorator", inputs: { settings: "settings" }, host: { listeners: { "document:keyup": "keyup($event)" }, properties: { "class.co-homedecorator": "this.showClass" } }, ngImport: i0__namespace, template: "\n <div class=\"viewport\" *ngIf=\"loaded\">\n <progress-bar></progress-bar>\n <rp-loading-overlay>\n <rp-core3d></rp-core3d>\n <rp-room-planner></rp-room-planner>\n <rp-furniture-manager></rp-furniture-manager>\n <rp-presets></rp-presets>\n <rp-threedselector></rp-threedselector>\n <rp-toolbar></rp-toolbar>\n <rp-product-catalog></rp-product-catalog>\n <rp-lite-selector></rp-lite-selector>\n <rp-help></rp-help>\n </rp-loading-overlay>\n </div>\n <rp-loader [show]=\"controllerService.shouldShowLoader\"></rp-loader>\n <div *ngIf=\"shouldShowLandscapeMessage\" class=\"mobile-portrait-overlay\">\n<!--\n <mat-icon svgIcon=\"tilt-phone\" class=\"tilt-phone-icon\"></mat-icon>\n-->\n <div>\n<!--\n {{'PLEASE_USE_PHONE_IN_LANDSCAPE_MODE' | localize}}\n-->\n </div>\n </div>\n ", isInline: true, components: [{ type: ProgressBarComponent, selector: "progress-bar" }, { type: LoadingOverlayComponent, selector: "rp-loading-overlay" }, { type: Core3dComponent, selector: "rp-core3d" }, { type: RoomPlannerComponent, selector: "rp-room-planner", inputs: ["isLoading"], outputs: ["done", "showPlugin", "focusControls"] }, { type: FurnitureManagerComponent, selector: "rp-furniture-manager" }, { type: PresetsComponent, selector: "rp-presets" }, { type: ThreedselectorComponent, selector: "rp-threedselector", inputs: ["selections"], outputs: ["customizeButtonClicked"] }, { type: ToolbarComponent, selector: "rp-toolbar" }, { type: ProductCatalogComponent, selector: "rp-product-catalog" }, { type: LiteSelectorComponent, selector: "rp-lite-selector", inputs: ["showAnswers", "show", "showSelections", "showLabel", "canClose", "metadata", "customDimensions"], outputs: ["showChange", "answerChosen"] }, { type: HelpComponent, selector: "rp-help" }, { type: HdLoaderComponent, selector: "rp-loader", inputs: ["show"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0__namespace.ViewEncapsulation.None });
|
|
46211
46287
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: HomedecoratorComponent, decorators: [{
|
|
46212
46288
|
type: i0.Component,
|
|
@@ -46215,7 +46291,7 @@
|
|
|
46215
46291
|
template: "\n <div class=\"viewport\" *ngIf=\"loaded\">\n <progress-bar></progress-bar>\n <rp-loading-overlay>\n <rp-core3d></rp-core3d>\n <rp-room-planner></rp-room-planner>\n <rp-furniture-manager></rp-furniture-manager>\n <rp-presets></rp-presets>\n <rp-threedselector></rp-threedselector>\n <rp-toolbar></rp-toolbar>\n <rp-product-catalog></rp-product-catalog>\n <rp-lite-selector></rp-lite-selector>\n <rp-help></rp-help>\n </rp-loading-overlay>\n </div>\n <rp-loader [show]=\"controllerService.shouldShowLoader\"></rp-loader>\n <div *ngIf=\"shouldShowLandscapeMessage\" class=\"mobile-portrait-overlay\">\n<!--\n <mat-icon svgIcon=\"tilt-phone\" class=\"tilt-phone-icon\"></mat-icon>\n-->\n <div>\n<!--\n {{'PLEASE_USE_PHONE_IN_LANDSCAPE_MODE' | localize}}\n-->\n </div>\n </div>\n ",
|
|
46216
46292
|
encapsulation: i0.ViewEncapsulation.None
|
|
46217
46293
|
}]
|
|
46218
|
-
}], ctorParameters: function () { return [{ type: HomedecoratorConnectorService }, { type: AppStateService }, { type: PresetsService }, { type: ScreenSizeAnalysisService }, { type: i0__namespace.ComponentFactoryResolver }, { type: i5__namespace$1.MatIconRegistry }, { type: i1__namespace.DomSanitizer }, { type: MessageBusService }, { type: HomedecoratorService }]; }, propDecorators: { settings: [{
|
|
46294
|
+
}], ctorParameters: function () { return [{ type: HomedecoratorConnectorService }, { type: AppStateService }, { type: PresetsService }, { type: ScreenSizeAnalysisService }, { type: i0__namespace.ComponentFactoryResolver }, { type: i5__namespace$1.MatIconRegistry }, { type: i1__namespace.DomSanitizer }, { type: MessageBusService }, { type: HomedecoratorService }, { type: HomedecoratorAppEventService }]; }, propDecorators: { settings: [{
|
|
46219
46295
|
type: i0.Input
|
|
46220
46296
|
}], showClass: [{
|
|
46221
46297
|
type: i0.HostBinding,
|
|
@@ -46657,10 +46733,10 @@
|
|
|
46657
46733
|
i10.MatTooltipModule,
|
|
46658
46734
|
i19.MatInputModule,
|
|
46659
46735
|
i5$1.MatIconModule,
|
|
46660
|
-
|
|
46736
|
+
i12.MatSelectModule,
|
|
46661
46737
|
i10$1.MatSlideToggleModule,
|
|
46662
46738
|
i3$2.MatGridListModule,
|
|
46663
|
-
|
|
46739
|
+
i16.MatProgressSpinnerModule,
|
|
46664
46740
|
i8.FormsModule], exports: [RenderDialogComponent,
|
|
46665
46741
|
RenderControlsComponent] });
|
|
46666
46742
|
RenderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RenderModule, providers: [
|
|
@@ -46673,10 +46749,10 @@
|
|
|
46673
46749
|
i10.MatTooltipModule,
|
|
46674
46750
|
i19.MatInputModule,
|
|
46675
46751
|
i5$1.MatIconModule,
|
|
46676
|
-
|
|
46752
|
+
i12.MatSelectModule,
|
|
46677
46753
|
i10$1.MatSlideToggleModule,
|
|
46678
46754
|
i3$2.MatGridListModule,
|
|
46679
|
-
|
|
46755
|
+
i16.MatProgressSpinnerModule,
|
|
46680
46756
|
i8.FormsModule
|
|
46681
46757
|
]] });
|
|
46682
46758
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RenderModule, decorators: [{
|
|
@@ -46690,10 +46766,10 @@
|
|
|
46690
46766
|
i10.MatTooltipModule,
|
|
46691
46767
|
i19.MatInputModule,
|
|
46692
46768
|
i5$1.MatIconModule,
|
|
46693
|
-
|
|
46769
|
+
i12.MatSelectModule,
|
|
46694
46770
|
i10$1.MatSlideToggleModule,
|
|
46695
46771
|
i3$2.MatGridListModule,
|
|
46696
|
-
|
|
46772
|
+
i16.MatProgressSpinnerModule,
|
|
46697
46773
|
i8.FormsModule
|
|
46698
46774
|
],
|
|
46699
46775
|
declarations: [
|
|
@@ -46727,7 +46803,7 @@
|
|
|
46727
46803
|
DevelopmentDirective], imports: [i5.CommonModule,
|
|
46728
46804
|
i1$2.MatCheckboxModule,
|
|
46729
46805
|
i8.FormsModule,
|
|
46730
|
-
|
|
46806
|
+
i12.MatSelectModule,
|
|
46731
46807
|
i4.IconModule,
|
|
46732
46808
|
CoreModule,
|
|
46733
46809
|
i3$1.MatButtonModule,
|
|
@@ -46740,7 +46816,7 @@
|
|
|
46740
46816
|
i5.CommonModule,
|
|
46741
46817
|
i1$2.MatCheckboxModule,
|
|
46742
46818
|
i8.FormsModule,
|
|
46743
|
-
|
|
46819
|
+
i12.MatSelectModule,
|
|
46744
46820
|
i4.IconModule,
|
|
46745
46821
|
CoreModule,
|
|
46746
46822
|
i3$1.MatButtonModule,
|
|
@@ -46753,7 +46829,7 @@
|
|
|
46753
46829
|
i5.CommonModule,
|
|
46754
46830
|
i1$2.MatCheckboxModule,
|
|
46755
46831
|
i8.FormsModule,
|
|
46756
|
-
|
|
46832
|
+
i12.MatSelectModule,
|
|
46757
46833
|
i4.IconModule,
|
|
46758
46834
|
CoreModule,
|
|
46759
46835
|
i3$1.MatButtonModule,
|
|
@@ -46936,7 +47012,7 @@
|
|
|
46936
47012
|
// MatIconModule,
|
|
46937
47013
|
i10.MatTooltipModule,
|
|
46938
47014
|
i7$1.MatSliderModule,
|
|
46939
|
-
|
|
47015
|
+
i12.MatSelectModule,
|
|
46940
47016
|
// MatProgressBarModule,
|
|
46941
47017
|
// ToolbarIconModule,
|
|
46942
47018
|
// ZoomControlsModule,
|
|
@@ -46981,7 +47057,7 @@
|
|
|
46981
47057
|
// MatIconModule,
|
|
46982
47058
|
i10.MatTooltipModule,
|
|
46983
47059
|
i7$1.MatSliderModule,
|
|
46984
|
-
|
|
47060
|
+
i12.MatSelectModule,
|
|
46985
47061
|
// MatProgressBarModule,
|
|
46986
47062
|
// ToolbarIconModule,
|
|
46987
47063
|
// ZoomControlsModule,
|
|
@@ -47020,7 +47096,7 @@
|
|
|
47020
47096
|
// MatIconModule,
|
|
47021
47097
|
i10.MatTooltipModule,
|
|
47022
47098
|
i7$1.MatSliderModule,
|
|
47023
|
-
|
|
47099
|
+
i12.MatSelectModule,
|
|
47024
47100
|
// MatProgressBarModule,
|
|
47025
47101
|
// ToolbarIconModule,
|
|
47026
47102
|
// ZoomControlsModule,
|
|
@@ -47108,7 +47184,7 @@
|
|
|
47108
47184
|
return EditApplyComponent;
|
|
47109
47185
|
}());
|
|
47110
47186
|
EditApplyComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditApplyComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
47111
|
-
EditApplyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditApplyComponent, selector: "rp-edit-apply", inputs: { watched: "watched", disable: "disable" }, outputs: { cancel: "cancel", apply: "apply", toggleChange: "toggleChange" }, ngImport: i0__namespace, template: "<mat-button-toggle\r\n *ngIf=\"!checked\"\r\n (change)=\"toggle($event)\">\r\n <mat-icon class=\"homedecorator-material-icons\">mode_edit</mat-icon>\r\n <span>{{'EDIT' | localize}}</span>\r\n</mat-button-toggle>\r\n<article *ngIf=\"checked\">\r\n <button mat-raised-button (click)=\"onCancel()\">\r\n <mat-icon class=\"homedecorator-material-icons\">clear</mat-icon>\r\n </button>\r\n <button mat-raised-button\r\n [disabled]=\"!watched || disable\"\r\n (click)=\"onApply()\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons\">done</mat-icon>\r\n </button>\r\n</article>\r\n", styles: [""], components: [{ type:
|
|
47187
|
+
EditApplyComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: EditApplyComponent, selector: "rp-edit-apply", inputs: { watched: "watched", disable: "disable" }, outputs: { cancel: "cancel", apply: "apply", toggleChange: "toggleChange" }, ngImport: i0__namespace, template: "<mat-button-toggle\r\n *ngIf=\"!checked\"\r\n (change)=\"toggle($event)\">\r\n <mat-icon class=\"homedecorator-material-icons\">mode_edit</mat-icon>\r\n <span>{{'EDIT' | localize}}</span>\r\n</mat-button-toggle>\r\n<article *ngIf=\"checked\">\r\n <button mat-raised-button (click)=\"onCancel()\">\r\n <mat-icon class=\"homedecorator-material-icons\">clear</mat-icon>\r\n </button>\r\n <button mat-raised-button\r\n [disabled]=\"!watched || disable\"\r\n (click)=\"onApply()\"\r\n >\r\n <mat-icon class=\"homedecorator-material-icons\">done</mat-icon>\r\n </button>\r\n</article>\r\n", styles: [""], components: [{ type: i8__namespace$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-labelledby", "tabIndex", "appearance", "checked", "disabled", "id", "name", "aria-label", "value"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { type: i5__namespace$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3__namespace$1.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "localize": LocalizePipe } });
|
|
47112
47188
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: EditApplyComponent, decorators: [{
|
|
47113
47189
|
type: i0.Component,
|
|
47114
47190
|
args: [{
|
|
@@ -47391,7 +47467,7 @@
|
|
|
47391
47467
|
i5.CommonModule,
|
|
47392
47468
|
ContextMenuModule,
|
|
47393
47469
|
i3$1.MatButtonModule,
|
|
47394
|
-
|
|
47470
|
+
i8$1.MatButtonToggleModule,
|
|
47395
47471
|
i23.MatCardModule,
|
|
47396
47472
|
i1$2.MatCheckboxModule,
|
|
47397
47473
|
i7.MatFormFieldModule,
|
|
@@ -47402,7 +47478,7 @@
|
|
|
47402
47478
|
i3$2.MatGridListModule,
|
|
47403
47479
|
i5$1.MatIconModule,
|
|
47404
47480
|
i1$4.MatTabsModule,
|
|
47405
|
-
|
|
47481
|
+
i12.MatSelectModule,
|
|
47406
47482
|
i6.MatDividerModule,
|
|
47407
47483
|
i10.MatTooltipModule,
|
|
47408
47484
|
i2$4.MatSnackBarModule,
|
|
@@ -47430,7 +47506,7 @@
|
|
|
47430
47506
|
i5.CommonModule,
|
|
47431
47507
|
ContextMenuModule,
|
|
47432
47508
|
i3$1.MatButtonModule,
|
|
47433
|
-
|
|
47509
|
+
i8$1.MatButtonToggleModule,
|
|
47434
47510
|
i23.MatCardModule,
|
|
47435
47511
|
i1$2.MatCheckboxModule,
|
|
47436
47512
|
i7.MatFormFieldModule,
|
|
@@ -47441,7 +47517,7 @@
|
|
|
47441
47517
|
i3$2.MatGridListModule,
|
|
47442
47518
|
i5$1.MatIconModule,
|
|
47443
47519
|
i1$4.MatTabsModule,
|
|
47444
|
-
|
|
47520
|
+
i12.MatSelectModule,
|
|
47445
47521
|
i6.MatDividerModule,
|
|
47446
47522
|
i10.MatTooltipModule,
|
|
47447
47523
|
i2$4.MatSnackBarModule,
|
|
@@ -47467,7 +47543,7 @@
|
|
|
47467
47543
|
i5.CommonModule,
|
|
47468
47544
|
ContextMenuModule,
|
|
47469
47545
|
i3$1.MatButtonModule,
|
|
47470
|
-
|
|
47546
|
+
i8$1.MatButtonToggleModule,
|
|
47471
47547
|
i23.MatCardModule,
|
|
47472
47548
|
i1$2.MatCheckboxModule,
|
|
47473
47549
|
i7.MatFormFieldModule,
|
|
@@ -47478,7 +47554,7 @@
|
|
|
47478
47554
|
i3$2.MatGridListModule,
|
|
47479
47555
|
i5$1.MatIconModule,
|
|
47480
47556
|
i1$4.MatTabsModule,
|
|
47481
|
-
|
|
47557
|
+
i12.MatSelectModule,
|
|
47482
47558
|
i6.MatDividerModule,
|
|
47483
47559
|
i10.MatTooltipModule,
|
|
47484
47560
|
i2$4.MatSnackBarModule,
|
|
@@ -47546,7 +47622,7 @@
|
|
|
47546
47622
|
i5.CommonModule,
|
|
47547
47623
|
ContextMenuModule,
|
|
47548
47624
|
i3$1.MatButtonModule,
|
|
47549
|
-
|
|
47625
|
+
i8$1.MatButtonToggleModule,
|
|
47550
47626
|
i26.MatSidenavModule,
|
|
47551
47627
|
i23.MatCardModule,
|
|
47552
47628
|
i7$1.MatSliderModule,
|
|
@@ -47567,7 +47643,7 @@
|
|
|
47567
47643
|
i5.CommonModule,
|
|
47568
47644
|
ContextMenuModule,
|
|
47569
47645
|
i3$1.MatButtonModule,
|
|
47570
|
-
|
|
47646
|
+
i8$1.MatButtonToggleModule,
|
|
47571
47647
|
i26.MatSidenavModule,
|
|
47572
47648
|
i23.MatCardModule,
|
|
47573
47649
|
i7$1.MatSliderModule,
|
|
@@ -47587,7 +47663,7 @@
|
|
|
47587
47663
|
i5.CommonModule,
|
|
47588
47664
|
ContextMenuModule,
|
|
47589
47665
|
i3$1.MatButtonModule,
|
|
47590
|
-
|
|
47666
|
+
i8$1.MatButtonToggleModule,
|
|
47591
47667
|
i26.MatSidenavModule,
|
|
47592
47668
|
i23.MatCardModule,
|
|
47593
47669
|
i7$1.MatSliderModule,
|
|
@@ -47786,7 +47862,7 @@
|
|
|
47786
47862
|
ElementSliderComponent], imports: [i5.CommonModule,
|
|
47787
47863
|
i8.FormsModule,
|
|
47788
47864
|
i3$1.MatButtonModule,
|
|
47789
|
-
|
|
47865
|
+
i8$1.MatButtonToggleModule,
|
|
47790
47866
|
i26.MatSidenavModule,
|
|
47791
47867
|
i23.MatCardModule,
|
|
47792
47868
|
i7$1.MatSliderModule,
|
|
@@ -47812,7 +47888,7 @@
|
|
|
47812
47888
|
i5.CommonModule,
|
|
47813
47889
|
i8.FormsModule,
|
|
47814
47890
|
i3$1.MatButtonModule,
|
|
47815
|
-
|
|
47891
|
+
i8$1.MatButtonToggleModule,
|
|
47816
47892
|
i26.MatSidenavModule,
|
|
47817
47893
|
i23.MatCardModule,
|
|
47818
47894
|
i7$1.MatSliderModule,
|
|
@@ -47841,7 +47917,7 @@
|
|
|
47841
47917
|
i5.CommonModule,
|
|
47842
47918
|
i8.FormsModule,
|
|
47843
47919
|
i3$1.MatButtonModule,
|
|
47844
|
-
|
|
47920
|
+
i8$1.MatButtonToggleModule,
|
|
47845
47921
|
i26.MatSidenavModule,
|
|
47846
47922
|
i23.MatCardModule,
|
|
47847
47923
|
i7$1.MatSliderModule,
|
|
@@ -48208,7 +48284,7 @@
|
|
|
48208
48284
|
i26.MatSidenavModule,
|
|
48209
48285
|
i2$2.MatListModule,
|
|
48210
48286
|
i1$1.MatDialogModule,
|
|
48211
|
-
|
|
48287
|
+
i8$1.MatButtonToggleModule,
|
|
48212
48288
|
i2$4.MatSnackBarModule,
|
|
48213
48289
|
i19.MatInputModule,
|
|
48214
48290
|
i7.MatFormFieldModule,
|
|
@@ -48238,7 +48314,7 @@
|
|
|
48238
48314
|
i26.MatSidenavModule,
|
|
48239
48315
|
i2$2.MatListModule,
|
|
48240
48316
|
i1$1.MatDialogModule,
|
|
48241
|
-
|
|
48317
|
+
i8$1.MatButtonToggleModule,
|
|
48242
48318
|
i2$4.MatSnackBarModule,
|
|
48243
48319
|
i19.MatInputModule,
|
|
48244
48320
|
i7.MatFormFieldModule,
|
|
@@ -48272,7 +48348,7 @@
|
|
|
48272
48348
|
i26.MatSidenavModule,
|
|
48273
48349
|
i2$2.MatListModule,
|
|
48274
48350
|
i1$1.MatDialogModule,
|
|
48275
|
-
|
|
48351
|
+
i8$1.MatButtonToggleModule,
|
|
48276
48352
|
i2$4.MatSnackBarModule,
|
|
48277
48353
|
i19.MatInputModule,
|
|
48278
48354
|
i7.MatFormFieldModule,
|
|
@@ -48329,11 +48405,11 @@
|
|
|
48329
48405
|
ProductOwnCollectionModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductOwnCollectionModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
|
48330
48406
|
ProductOwnCollectionModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductOwnCollectionModule, declarations: [ProductOwnCollectionComponent], imports: [i5.CommonModule,
|
|
48331
48407
|
CoreModule,
|
|
48332
|
-
i7$
|
|
48408
|
+
i7$2.CatalogSearchModule], exports: [ProductOwnCollectionComponent] });
|
|
48333
48409
|
ProductOwnCollectionModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductOwnCollectionModule, imports: [[
|
|
48334
48410
|
i5.CommonModule,
|
|
48335
48411
|
CoreModule,
|
|
48336
|
-
i7$
|
|
48412
|
+
i7$2.CatalogSearchModule
|
|
48337
48413
|
]] });
|
|
48338
48414
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductOwnCollectionModule, decorators: [{
|
|
48339
48415
|
type: i0.NgModule,
|
|
@@ -48341,7 +48417,7 @@
|
|
|
48341
48417
|
imports: [
|
|
48342
48418
|
i5.CommonModule,
|
|
48343
48419
|
CoreModule,
|
|
48344
|
-
i7$
|
|
48420
|
+
i7$2.CatalogSearchModule
|
|
48345
48421
|
],
|
|
48346
48422
|
declarations: [
|
|
48347
48423
|
ProductOwnCollectionComponent
|
|
@@ -48365,9 +48441,14 @@
|
|
|
48365
48441
|
i3$1.MatButtonModule,
|
|
48366
48442
|
i4.ButtonModule,
|
|
48367
48443
|
i4$1.ImageModule,
|
|
48368
|
-
i7$
|
|
48369
|
-
i7$
|
|
48370
|
-
|
|
48444
|
+
i7$2.CatalogExternalSourcesModule,
|
|
48445
|
+
i7$2.CatalogExternalSourceModule,
|
|
48446
|
+
radio.MatRadioModule,
|
|
48447
|
+
i10$1.MatSlideToggleModule,
|
|
48448
|
+
i7.MatFormFieldModule,
|
|
48449
|
+
i3.MatOptionModule,
|
|
48450
|
+
i12.MatSelectModule,
|
|
48451
|
+
i4.IconModule], exports: [ModelUploaderComponent] });
|
|
48371
48452
|
ModelUploaderModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModelUploaderModule, imports: [[
|
|
48372
48453
|
i5.CommonModule,
|
|
48373
48454
|
CoreModule,
|
|
@@ -48375,9 +48456,14 @@
|
|
|
48375
48456
|
i3$1.MatButtonModule,
|
|
48376
48457
|
i4.ButtonModule,
|
|
48377
48458
|
i4$1.ImageModule,
|
|
48378
|
-
i7$
|
|
48379
|
-
i7$
|
|
48380
|
-
|
|
48459
|
+
i7$2.CatalogExternalSourcesModule,
|
|
48460
|
+
i7$2.CatalogExternalSourceModule,
|
|
48461
|
+
radio.MatRadioModule,
|
|
48462
|
+
i10$1.MatSlideToggleModule,
|
|
48463
|
+
i7.MatFormFieldModule,
|
|
48464
|
+
i3.MatOptionModule,
|
|
48465
|
+
i12.MatSelectModule,
|
|
48466
|
+
i4.IconModule,
|
|
48381
48467
|
]] });
|
|
48382
48468
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ModelUploaderModule, decorators: [{
|
|
48383
48469
|
type: i0.NgModule,
|
|
@@ -48389,9 +48475,14 @@
|
|
|
48389
48475
|
i3$1.MatButtonModule,
|
|
48390
48476
|
i4.ButtonModule,
|
|
48391
48477
|
i4$1.ImageModule,
|
|
48392
|
-
i7$
|
|
48393
|
-
i7$
|
|
48394
|
-
|
|
48478
|
+
i7$2.CatalogExternalSourcesModule,
|
|
48479
|
+
i7$2.CatalogExternalSourceModule,
|
|
48480
|
+
radio.MatRadioModule,
|
|
48481
|
+
i10$1.MatSlideToggleModule,
|
|
48482
|
+
i7.MatFormFieldModule,
|
|
48483
|
+
i3.MatOptionModule,
|
|
48484
|
+
i12.MatSelectModule,
|
|
48485
|
+
i4.IconModule,
|
|
48395
48486
|
],
|
|
48396
48487
|
exports: [
|
|
48397
48488
|
ModelUploaderComponent
|
|
@@ -48415,9 +48506,9 @@
|
|
|
48415
48506
|
i3$1.MatButtonModule,
|
|
48416
48507
|
i4.ButtonModule,
|
|
48417
48508
|
i4$1.ImageModule,
|
|
48418
|
-
i7$
|
|
48509
|
+
i7$2.CatalogExternalSourcesModule,
|
|
48419
48510
|
ProductOwnCollectionModule,
|
|
48420
|
-
i7$
|
|
48511
|
+
i7$2.CatalogExternalSourceModule,
|
|
48421
48512
|
ModelUploaderModule], exports: [ProductCatalogComponent] });
|
|
48422
48513
|
ProductCatalogModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductCatalogModule, imports: [[
|
|
48423
48514
|
i5.CommonModule,
|
|
@@ -48426,9 +48517,9 @@
|
|
|
48426
48517
|
i3$1.MatButtonModule,
|
|
48427
48518
|
i4.ButtonModule,
|
|
48428
48519
|
i4$1.ImageModule,
|
|
48429
|
-
i7$
|
|
48520
|
+
i7$2.CatalogExternalSourcesModule,
|
|
48430
48521
|
ProductOwnCollectionModule,
|
|
48431
|
-
i7$
|
|
48522
|
+
i7$2.CatalogExternalSourceModule,
|
|
48432
48523
|
ModelUploaderModule
|
|
48433
48524
|
]] });
|
|
48434
48525
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: ProductCatalogModule, decorators: [{
|
|
@@ -48441,9 +48532,9 @@
|
|
|
48441
48532
|
i3$1.MatButtonModule,
|
|
48442
48533
|
i4.ButtonModule,
|
|
48443
48534
|
i4$1.ImageModule,
|
|
48444
|
-
i7$
|
|
48535
|
+
i7$2.CatalogExternalSourcesModule,
|
|
48445
48536
|
ProductOwnCollectionModule,
|
|
48446
|
-
i7$
|
|
48537
|
+
i7$2.CatalogExternalSourceModule,
|
|
48447
48538
|
ModelUploaderModule
|
|
48448
48539
|
],
|
|
48449
48540
|
exports: [
|