@colijnit/homedecorator 256.1.14 → 256.1.16
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/plugins/core3d/model/custom-floor-group-result.d.ts +1 -1
- package/bundles/colijnit-homedecorator.umd.js +55 -32
- package/bundles/colijnit-homedecorator.umd.js.map +1 -1
- package/esm2015/app/core/service/homedecorator-connector-adapter.service.js +2 -2
- package/esm2015/app/core/service/homedecorator-connector.service.js +5 -1
- package/esm2015/app/core/service/utils.service.js +21 -1
- package/esm2015/app/plugins/core3d/model/custom-floor-group-result.js +1 -1
- package/esm2015/app/plugins/room-planner/room-planner/room-planner.component.js +3 -3
- package/fesm2015/colijnit-homedecorator.js +41 -19
- 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('textdiff-patch'), require('rxjs'), require('three'), 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('polygon-tools'), require('@angular/material/dialog'), require('@angular/material/list'), require('@angular/material/core'), require('@colijnit/ioneconnector/build/utils/string-utils'), 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/ioneconnector/build/model/object-configuration'), require('@colijnit/articleapi/build/model/article-extended-request'), require('@colijnit/articleapi/build/model/article-extended.bo'), require('@colijnit/mainapi/build/enum/internal-param.enum'), require('@colijnit/configuratorapi/build/utils/image-utils'), require('@angular/common/http'), require('axios'), require('@colijnit/configuratorapi/build/enum/hdeco-positioning.enum'), require('three/examples/jsm/geometries/TextGeometry'), require('@colijnit/configuratorapi/build/enum/hdeco-placement.enum'), require('@tweenjs/tween.js'), require('three-gpu-pathtracer'), require('three-mesh-bvh/src/workers/ParallelMeshBVHWorker.js'), require('three/examples/jsm/loaders/FontLoader'), require('three/examples/jsm/webxr/XRControllerModelFactory'), require('three/examples/jsm/postprocessing/OutlinePass'), require('three/examples/jsm/postprocessing/EffectComposer'), require('three/examples/jsm/postprocessing/RenderPass'), require('three/examples/jsm/postprocessing/OutputPass'), require('three/examples/jsm/libs/lil-gui.module.min'), require('n8ao'), require('three/examples/jsm/shaders/FXAAShader'), require('three/examples/jsm/postprocessing/ShaderPass'), require('three/examples/jsm/shaders/BlendShader'), require('three/examples/jsm/loaders/RGBELoader'), 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/SVGLoader'), require('@angular/platform-browser'), 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
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@colijnit/homedecorator', ['exports', '@angular/core', 'textdiff-patch', 'rxjs', 'three', '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', 'polygon-tools', '@angular/material/dialog', '@angular/material/list', '@angular/material/core', '@colijnit/ioneconnector/build/utils/string-utils', '@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/ioneconnector/build/model/object-configuration', '@colijnit/articleapi/build/model/article-extended-request', '@colijnit/articleapi/build/model/article-extended.bo', '@colijnit/mainapi/build/enum/internal-param.enum', '@colijnit/configuratorapi/build/utils/image-utils', '@angular/common/http', 'axios', '@colijnit/configuratorapi/build/enum/hdeco-positioning.enum', 'three/examples/jsm/geometries/TextGeometry', '@colijnit/configuratorapi/build/enum/hdeco-placement.enum', '@tweenjs/tween.js', 'three-gpu-pathtracer', 'three-mesh-bvh/src/workers/ParallelMeshBVHWorker.js', 'three/examples/jsm/loaders/FontLoader', 'three/examples/jsm/webxr/XRControllerModelFactory', 'three/examples/jsm/postprocessing/OutlinePass', 'three/examples/jsm/postprocessing/EffectComposer', 'three/examples/jsm/postprocessing/RenderPass', 'three/examples/jsm/postprocessing/OutputPass', 'three/examples/jsm/libs/lil-gui.module.min', 'n8ao', 'three/examples/jsm/shaders/FXAAShader', 'three/examples/jsm/postprocessing/ShaderPass', 'three/examples/jsm/shaders/BlendShader', 'three/examples/jsm/loaders/RGBELoader', 'rxjs/internal/observable/fromEvent', 'rxjs/operators', 'rxjs/internal/observable/of', 'three/examples/jsm/utils/BufferGeometryUtils.js', 'three/examples/jsm/loaders/SVGLoader', '@angular/platform-browser', '@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
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.homedecorator = {}), global.ng.core, global.applyPatch, global.rxjs, global.THREE, global.OBJLoader, global.MTLLoader, global.GLTFLoader, global.GLTFExporter, global.DRACOLoader, global.KTX2Loader, global.USDZExporter, global.PolygonTools, global.ng.material.dialog, global.ng.material.list, global.ng.material.core, global.stringUtils, 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.objectConfiguration, global.articleExtendedRequest, global.articleExtended_bo, global.internalParam_enum, global.imageUtils$1, global.ng.common.http, global.axios, global.hdecoPositioning_enum, global.TextGeometry, global.hdecoPlacement_enum, global.TWEEN, global.threeGpuPathtracer, global.ParallelMeshBVHWorker_js, global.FontLoader, global.XRControllerModelFactory, global.OutlinePass, global.EffectComposer, global.RenderPass, global.OutputPass, global.GUI, global.n8ao, global.FXAAShader, global.ShaderPass, global.BlendShader, global.RGBELoader, global.rxjs["internal/observable/fromEvent"], global.rxjs.operators, global.rxjs["internal/observable/of"], global.BufferGeometryUtils, global.SVGLoader, global.ng.platformBrowser, global.decoNodeType_enum, global.JSZip, global.decoNodeKind_enum, global.ng.material.checkbox, global.ng.material.button, global.ng.forms, global.
|
|
5
|
-
})(this, (function (exports, i0, applyPatch, rxjs, THREE, OBJLoader, MTLLoader, GLTFLoader, GLTFExporter, DRACOLoader, KTX2Loader, USDZExporter, PolygonTools, i1, i2, i3, stringUtils, 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, objectConfiguration, articleExtendedRequest, articleExtended_bo, internalParam_enum, imageUtils$1, i2$1, axios, hdecoPositioning_enum, TextGeometry, hdecoPlacement_enum, TWEEN, threeGpuPathtracer, ParallelMeshBVHWorker_js, FontLoader, XRControllerModelFactory, OutlinePass, EffectComposer, RenderPass, OutputPass, GUI, n8ao, FXAAShader, ShaderPass, BlendShader, RGBELoader, fromEvent, operators, of, BufferGeometryUtils, SVGLoader, i1$1, decoNodeType_enum, JSZip, decoNodeKind_enum, i1$2, i3$1, i8,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('textdiff-patch'), require('rxjs'), require('three'), 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('polygon-tools'), require('@angular/material/dialog'), require('@angular/material/list'), require('@angular/material/core'), require('@colijnit/ioneconnector/build/utils/string-utils'), require('three/examples/jsm/utils/BufferGeometryUtils'), 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/ioneconnector/build/model/object-configuration'), require('@colijnit/articleapi/build/model/article-extended-request'), require('@colijnit/articleapi/build/model/article-extended.bo'), require('@colijnit/mainapi/build/enum/internal-param.enum'), require('@colijnit/configuratorapi/build/utils/image-utils'), require('@angular/common/http'), require('axios'), require('@colijnit/configuratorapi/build/enum/hdeco-positioning.enum'), require('three/examples/jsm/geometries/TextGeometry'), require('@colijnit/configuratorapi/build/enum/hdeco-placement.enum'), require('@tweenjs/tween.js'), require('three-gpu-pathtracer'), require('three-mesh-bvh/src/workers/ParallelMeshBVHWorker.js'), require('three/examples/jsm/loaders/FontLoader'), require('three/examples/jsm/webxr/XRControllerModelFactory'), require('three/examples/jsm/postprocessing/OutlinePass'), require('three/examples/jsm/postprocessing/EffectComposer'), require('three/examples/jsm/postprocessing/RenderPass'), require('three/examples/jsm/postprocessing/OutputPass'), require('three/examples/jsm/libs/lil-gui.module.min'), require('n8ao'), require('three/examples/jsm/shaders/FXAAShader'), require('three/examples/jsm/postprocessing/ShaderPass'), require('three/examples/jsm/shaders/BlendShader'), require('three/examples/jsm/loaders/RGBELoader'), 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/SVGLoader'), require('@angular/platform-browser'), 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-mesh-bvh'), require('@angular/material/icon'), require('@angular/common'), require('ngx-device-detector'), require('three/examples/jsm/geometries/DecalGeometry'), require('fabric'), require('delaunator'), require('three/examples/jsm/helpers/VertexNormalsHelper'), require('three/src/constants'), require('@angular/animations'), 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('@angular/flex-layout/flex'), require('@angular/material/progress-bar'), 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('jspdf'), require('jspdf-autotable'), require('@angular/material/grid-list'), require('@angular/flex-layout/extended'), require('ngx-color/chrome'), require('@angular/router'), 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('ngx-lightbox'), 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('@angular/material/progress-spinner'), require('@angular/flex-layout'), require('@angular/cdk/drag-drop'), require('@angular/material/radio'), require('@angular/cdk/a11y')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@colijnit/homedecorator', ['exports', '@angular/core', 'textdiff-patch', 'rxjs', 'three', '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', 'polygon-tools', '@angular/material/dialog', '@angular/material/list', '@angular/material/core', '@colijnit/ioneconnector/build/utils/string-utils', 'three/examples/jsm/utils/BufferGeometryUtils', '@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/ioneconnector/build/model/object-configuration', '@colijnit/articleapi/build/model/article-extended-request', '@colijnit/articleapi/build/model/article-extended.bo', '@colijnit/mainapi/build/enum/internal-param.enum', '@colijnit/configuratorapi/build/utils/image-utils', '@angular/common/http', 'axios', '@colijnit/configuratorapi/build/enum/hdeco-positioning.enum', 'three/examples/jsm/geometries/TextGeometry', '@colijnit/configuratorapi/build/enum/hdeco-placement.enum', '@tweenjs/tween.js', 'three-gpu-pathtracer', 'three-mesh-bvh/src/workers/ParallelMeshBVHWorker.js', 'three/examples/jsm/loaders/FontLoader', 'three/examples/jsm/webxr/XRControllerModelFactory', 'three/examples/jsm/postprocessing/OutlinePass', 'three/examples/jsm/postprocessing/EffectComposer', 'three/examples/jsm/postprocessing/RenderPass', 'three/examples/jsm/postprocessing/OutputPass', 'three/examples/jsm/libs/lil-gui.module.min', 'n8ao', 'three/examples/jsm/shaders/FXAAShader', 'three/examples/jsm/postprocessing/ShaderPass', 'three/examples/jsm/shaders/BlendShader', 'three/examples/jsm/loaders/RGBELoader', 'rxjs/internal/observable/fromEvent', 'rxjs/operators', 'rxjs/internal/observable/of', 'three/examples/jsm/utils/BufferGeometryUtils.js', 'three/examples/jsm/loaders/SVGLoader', '@angular/platform-browser', '@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-mesh-bvh', '@angular/material/icon', '@angular/common', 'ngx-device-detector', 'three/examples/jsm/geometries/DecalGeometry', 'fabric', 'delaunator', 'three/examples/jsm/helpers/VertexNormalsHelper', 'three/src/constants', '@angular/animations', '@colijnit/corecomponents', '@angular/material/form-field', '@angular/material/select', '@angular/material/tooltip', '@colijnit/corecomponents_v12', '@angular/material/slider', '@angular/material/input', 'dat.gui', '@angular/flex-layout/flex', '@angular/material/progress-bar', '@angular/material/button-toggle', '@angular/material/snack-bar', '@angular/material/slide-toggle', '@angular/material/divider', 'browser-image-compression', '@angular/material/tabs', 'jspdf', 'jspdf-autotable', '@angular/material/grid-list', '@angular/flex-layout/extended', 'ngx-color/chrome', '@angular/router', '@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', 'ngx-lightbox', '@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', '@angular/material/progress-spinner', '@angular/flex-layout', '@angular/cdk/drag-drop', '@angular/material/radio', '@angular/cdk/a11y'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.homedecorator = {}), global.ng.core, global.applyPatch, global.rxjs, global.THREE, global.OBJLoader, global.MTLLoader, global.GLTFLoader, global.GLTFExporter, global.DRACOLoader, global.KTX2Loader, global.USDZExporter, global.PolygonTools, global.ng.material.dialog, global.ng.material.list, global.ng.material.core, global.stringUtils, global.BufferGeometryUtils, 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.objectConfiguration, global.articleExtendedRequest, global.articleExtended_bo, global.internalParam_enum, global.imageUtils$1, global.ng.common.http, global.axios, global.hdecoPositioning_enum, global.TextGeometry, global.hdecoPlacement_enum, global.TWEEN, global.threeGpuPathtracer, global.ParallelMeshBVHWorker_js, global.FontLoader, global.XRControllerModelFactory, global.OutlinePass, global.EffectComposer, global.RenderPass, global.OutputPass, global.GUI, global.n8ao, global.FXAAShader, global.ShaderPass, global.BlendShader, global.RGBELoader, global.rxjs["internal/observable/fromEvent"], global.rxjs.operators, global.rxjs["internal/observable/of"], global.BufferGeometryUtils$1, global.SVGLoader, global.ng.platformBrowser, global.decoNodeType_enum, global.JSZip, global.decoNodeKind_enum, global.ng.material.checkbox, global.ng.material.button, global.ng.forms, global.threeMeshBvh, global.ng.material.icon, global.ng.common, global.i2$2, global.DecalGeometry, global.fabric, global.Delaunator, global.VertexNormalsHelper, global.constants, global.ng.animations, global.i4, global.ng.material.formField, global.ng.material.select, global.ng.material.tooltip, global.i2$3, global.ng.material.slider, global.ng.material.input, global.dat, global.ng.flexLayout.flex, global.ng.material.progressBar, global.ng.material.buttonToggle, global.ng.material.snackBar, global.ng.material.slideToggle, global.ng.material.divider, global.imageCompression, global.ng.material.tabs, global.jspdf, global.autoTable, global.ng.material.gridList, global.ng.flexLayout.extended, global.i1$3, global.ng.router, global.ng.cdk.portal, global.fileSaver, global.i6$1, global.html2canvas, global.OrbitControls, global.FBXLoader, global.TDSLoader, global.STLLoader, global.i1$4, global.ng.material.toolbar, global.ng.material.menu, global.ng.material.card, global.ng.material.sidenav, global.ng.material.badge, global.externalCatalogStartupInfoRequest, global.i7$3, global.ng.material.progressSpinner, global.ng.flexLayout, global.ng.cdk.dragDrop, global.ng.material.radio, global.ng.cdk.a11y));
|
|
5
|
+
})(this, (function (exports, i0, applyPatch, rxjs, THREE, OBJLoader, MTLLoader, GLTFLoader, GLTFExporter, DRACOLoader, KTX2Loader, USDZExporter, PolygonTools, i1, i2, i3, stringUtils, BufferGeometryUtils, 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, objectConfiguration, articleExtendedRequest, articleExtended_bo, internalParam_enum, imageUtils$1, i2$1, axios, hdecoPositioning_enum, TextGeometry, hdecoPlacement_enum, TWEEN, threeGpuPathtracer, ParallelMeshBVHWorker_js, FontLoader, XRControllerModelFactory, OutlinePass, EffectComposer, RenderPass, OutputPass, GUI, n8ao, FXAAShader, ShaderPass, BlendShader, RGBELoader, fromEvent, operators, of, BufferGeometryUtils$1, SVGLoader, i1$1, decoNodeType_enum, JSZip, decoNodeKind_enum, i1$2, i3$1, i8, threeMeshBvh, i5, i6, i2$2, DecalGeometry, fabric, Delaunator, VertexNormalsHelper, constants, animations, i4, i7, i9, i10, i2$3, i7$1, i16, dat, i15, i2$4, i4$1, i2$5, i10$1, i14, imageCompression, i3$3, jspdf, autoTable, i3$2, i7$2, i1$3, i5$1, i29, fileSaver, i6$1, html2canvas, OrbitControls, FBXLoader, TDSLoader, STLLoader, i1$4, i19, i22, i23, i27, i31, externalCatalogStartupInfoRequest, i7$3, i18, flexLayout, i10$2, radio, a11y) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
8
|
|
|
@@ -31,17 +31,17 @@
|
|
|
31
31
|
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
|
32
32
|
var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
|
|
33
33
|
var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
|
|
34
|
+
var BufferGeometryUtils__namespace = /*#__PURE__*/_interopNamespace(BufferGeometryUtils);
|
|
34
35
|
var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
|
|
35
36
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
36
37
|
var TWEEN__namespace = /*#__PURE__*/_interopNamespace(TWEEN);
|
|
37
38
|
var GUI__default = /*#__PURE__*/_interopDefaultLegacy(GUI);
|
|
38
|
-
var BufferGeometryUtils__namespace = /*#__PURE__*/_interopNamespace(BufferGeometryUtils);
|
|
39
|
+
var BufferGeometryUtils__namespace$1 = /*#__PURE__*/_interopNamespace(BufferGeometryUtils$1);
|
|
39
40
|
var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
|
|
40
41
|
var JSZip__namespace = /*#__PURE__*/_interopNamespace(JSZip);
|
|
41
42
|
var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
|
|
42
43
|
var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3$1);
|
|
43
44
|
var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
|
|
44
|
-
var BufferGeometryUtils__namespace$1 = /*#__PURE__*/_interopNamespace(BufferGeometryUtils$1);
|
|
45
45
|
var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
|
|
46
46
|
var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
|
|
47
47
|
var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$2);
|
|
@@ -1555,6 +1555,19 @@
|
|
|
1555
1555
|
ResultType["ExternalSourceNotAvailable"] = "ExternalSourceNotAvailable";
|
|
1556
1556
|
})(ResultType || (ResultType = {}));
|
|
1557
1557
|
|
|
1558
|
+
var CustomFloorGroupResult = /** @class */ (function () {
|
|
1559
|
+
function CustomFloorGroupResult(sku, name) {
|
|
1560
|
+
this.errorMessages = [];
|
|
1561
|
+
this.showErrors = false;
|
|
1562
|
+
this.toggle = false;
|
|
1563
|
+
this.count = 1;
|
|
1564
|
+
this.sku = sku;
|
|
1565
|
+
this.name = name;
|
|
1566
|
+
this.resultType = ResultType.Loaded;
|
|
1567
|
+
}
|
|
1568
|
+
return CustomFloorGroupResult;
|
|
1569
|
+
}());
|
|
1570
|
+
|
|
1558
1571
|
var ErrorMessage = /** @class */ (function () {
|
|
1559
1572
|
function ErrorMessage(message, description) {
|
|
1560
1573
|
this.message = message;
|
|
@@ -1967,7 +1980,7 @@
|
|
|
1967
1980
|
switch (_a.label) {
|
|
1968
1981
|
case 0:
|
|
1969
1982
|
_a.trys.push([0, 2, , 3]);
|
|
1970
|
-
return [4 /*yield*/, this.articleApi.getArticleQuickSel(goodId, branch)];
|
|
1983
|
+
return [4 /*yield*/, this.articleApi.getArticleQuickSel(goodId, branch, false, false)];
|
|
1971
1984
|
case 1:
|
|
1972
1985
|
response = _a.sent();
|
|
1973
1986
|
if (response && response.validationResult && response.validationResult.success) {
|
|
@@ -4007,15 +4020,19 @@
|
|
|
4007
4020
|
var copyInstanceResponse, newInstanceId;
|
|
4008
4021
|
return __generator(this, function (_a) {
|
|
4009
4022
|
switch (_a.label) {
|
|
4010
|
-
case 0:
|
|
4011
|
-
|
|
4012
|
-
|
|
4023
|
+
case 0:
|
|
4024
|
+
if (!result) {
|
|
4025
|
+
result = new CustomFloorGroupResult();
|
|
4026
|
+
}
|
|
4027
|
+
return [4 /*yield*/, this._connector.copyInstance(originalInstanceId, shouldSaveCurrentInstanceId).catch(function (e) {
|
|
4028
|
+
if (e === 'ECONNABORTED' || e === undefined) {
|
|
4029
|
+
result.resultType = ResultType.Timeout;
|
|
4030
|
+
return Promise.reject(result);
|
|
4031
|
+
}
|
|
4032
|
+
result.resultType = ResultType.Unknown;
|
|
4033
|
+
result.errorMessages.push(new ErrorMessage(copyInstanceResponse.resultObject.data));
|
|
4013
4034
|
return Promise.reject(result);
|
|
4014
|
-
}
|
|
4015
|
-
result.resultType = ResultType.Unknown;
|
|
4016
|
-
result.errorMessages.push(new ErrorMessage(copyInstanceResponse.resultObject.data));
|
|
4017
|
-
return Promise.reject(result);
|
|
4018
|
-
})];
|
|
4035
|
+
})];
|
|
4019
4036
|
case 1:
|
|
4020
4037
|
copyInstanceResponse = _a.sent();
|
|
4021
4038
|
if (!copyInstanceResponse.validationResult.success) {
|
|
@@ -14790,6 +14807,8 @@
|
|
|
14790
14807
|
});
|
|
14791
14808
|
scene.name = 'mrp_room';
|
|
14792
14809
|
this._download3DModelAsGLB(scene);
|
|
14810
|
+
Utils$1.DisposeObject(scene);
|
|
14811
|
+
scene = null;
|
|
14793
14812
|
return [2 /*return*/];
|
|
14794
14813
|
});
|
|
14795
14814
|
});
|
|
@@ -14828,6 +14847,21 @@
|
|
|
14828
14847
|
cc.material.depthTest = true;
|
|
14829
14848
|
}
|
|
14830
14849
|
}
|
|
14850
|
+
if (cc instanceof THREE.Mesh && cc.geometry) {
|
|
14851
|
+
if (!cc.geometry.index) {
|
|
14852
|
+
cc.geometry = BufferGeometryUtils__namespace.mergeVertices(cc.geometry);
|
|
14853
|
+
cc.geometry.computeVertexNormals();
|
|
14854
|
+
}
|
|
14855
|
+
Object.keys(cc.geometry.attributes).forEach(function (attrName) {
|
|
14856
|
+
var array = cc.geometry.attributes[attrName].array;
|
|
14857
|
+
for (var i = 0; i < array.length; i++) {
|
|
14858
|
+
if (!isFinite(array[i]) || isNaN(array[i])) {
|
|
14859
|
+
array[i] = 0; // Set it so some value
|
|
14860
|
+
}
|
|
14861
|
+
}
|
|
14862
|
+
cc.geometry.attributes[attrName].needsUpdate = true;
|
|
14863
|
+
});
|
|
14864
|
+
}
|
|
14831
14865
|
});
|
|
14832
14866
|
}
|
|
14833
14867
|
});
|
|
@@ -14837,6 +14871,8 @@
|
|
|
14837
14871
|
});
|
|
14838
14872
|
scene.name = 'mrp_room_' + scene.uuid;
|
|
14839
14873
|
this._createGLBForAPI(scene, camera, standalone, renderParameters, renderPreview);
|
|
14874
|
+
Utils$1.DisposeObject(scene);
|
|
14875
|
+
scene = null;
|
|
14840
14876
|
return [2 /*return*/];
|
|
14841
14877
|
});
|
|
14842
14878
|
});
|
|
@@ -19669,7 +19705,7 @@
|
|
|
19669
19705
|
IndicatorFactory.makeIndicatorMesh = function (radius, ringColor) {
|
|
19670
19706
|
var outerCircle = this.makeTransparentRing(ringOpacity, radius * .9, radius, ringColor);
|
|
19671
19707
|
var innerCircle = this.makeTransparentCircle(circleOpacity, ringColor, radius * .8);
|
|
19672
|
-
var indicatorGeometry = BufferGeometryUtils__namespace.mergeGeometries([
|
|
19708
|
+
var indicatorGeometry = BufferGeometryUtils__namespace$1.mergeGeometries([
|
|
19673
19709
|
innerCircle.geometry, outerCircle.geometry
|
|
19674
19710
|
]);
|
|
19675
19711
|
return new THREE__namespace.Mesh(indicatorGeometry, outerCircle.material);
|
|
@@ -24779,19 +24815,6 @@
|
|
|
24779
24815
|
type: i0.Injectable
|
|
24780
24816
|
}], ctorParameters: function () { return [{ type: ThreedselectorService }, { type: ItemService }]; } });
|
|
24781
24817
|
|
|
24782
|
-
var CustomFloorGroupResult = /** @class */ (function () {
|
|
24783
|
-
function CustomFloorGroupResult(sku, name) {
|
|
24784
|
-
this.errorMessages = [];
|
|
24785
|
-
this.showErrors = false;
|
|
24786
|
-
this.toggle = false;
|
|
24787
|
-
this.count = 1;
|
|
24788
|
-
this.sku = sku;
|
|
24789
|
-
this.name = name;
|
|
24790
|
-
this.resultType = ResultType.Loaded;
|
|
24791
|
-
}
|
|
24792
|
-
return CustomFloorGroupResult;
|
|
24793
|
-
}());
|
|
24794
|
-
|
|
24795
24818
|
var FurnitureIntegration = /** @class */ (function () {
|
|
24796
24819
|
function FurnitureIntegration() {
|
|
24797
24820
|
this.BrandIdentifier = '';
|
|
@@ -25466,7 +25489,7 @@
|
|
|
25466
25489
|
child.geometry.computeBoundingBox();
|
|
25467
25490
|
geo.translate(child.geometry.boundingBox.max.x - child.geometry.boundingBox.min.x, 0, 0); // extend over x-axis
|
|
25468
25491
|
// geo.translate(0, child.geometry.boundingBox.max.y - child.geometry.boundingBox.min.y, 0); // extend over y-axis
|
|
25469
|
-
child.geometry = BufferGeometryUtils__namespace
|
|
25492
|
+
child.geometry = BufferGeometryUtils__namespace.mergeGeometries([child.geometry, geo]);
|
|
25470
25493
|
child.geometry.computeBoundingBox();
|
|
25471
25494
|
}
|
|
25472
25495
|
}
|
|
@@ -41798,12 +41821,12 @@
|
|
|
41798
41821
|
return RoomPlannerComponent;
|
|
41799
41822
|
}());
|
|
41800
41823
|
RoomPlannerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RoomPlannerComponent, deps: [{ token: HomedecoratorIconCacheService }, { token: ViewModeService }, { token: ModelsService }, { token: PresetsService }, { token: HomedecoratorAppService }, { token: ScreenSizeAnalysisService }, { token: i0__namespace.ChangeDetectorRef }, { token: UtilsService }, { token: MessageBusService }, { token: i1__namespace.MatDialog }, { token: ConfigurationService }, { token: FloorplanService }, { token: SceneService }, { token: HudService }, { token: RoomService }, { token: CameraService }, { token: ItemService }, { token: ItemSerializationService }, { token: LightsService }, { token: ArService }, { token: ItemService }, { token: HomedecoratorSettingsService }, { token: GoogleTagManagerService }, { token: PermanentStoreService }, { token: HomedecoratorAppEventService }, { token: HomedecoratorConnectorService }, { token: HomedecoratorConnectorAdapterService }], target: i0__namespace.ɵɵFactoryTarget.Component });
|
|
41801
|
-
RoomPlannerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RoomPlannerComponent, selector: "rp-room-planner", inputs: { isLoading: "isLoading" }, outputs: { done: "done", showPlugin: "showPlugin", focusControls: "focusControls" }, host: { listeners: { "document:keydown": "handleDocKeyDown($event)" }, properties: { "class": "this.layerClass" } }, viewQueries: [{ propertyName: "floorplanner", first: true, predicate: FloorplannerComponent, descendants: true, static: true }, { propertyName: "toolbarIconLibrary", first: true, predicate: ["toolbarIconLibrary"], descendants: true, static: true }, { propertyName: "toolbarIconAccessoires", first: true, predicate: ["toolbarIconAccessoires"], descendants: true, static: true }, { propertyName: "toolbarIconSettings", first: true, predicate: ["toolbarIconSettings"], descendants: true, static: true }, { propertyName: "toolbarIcon2dView", first: true, predicate: ["toolbarIcon2dView"], descendants: true, static: true }, { propertyName: "toolbarShowDiagram", first: true, predicate: ["toolbarShowDiagram"], descendants: true, static: true }, { propertyName: "toolbarIcon3dView", first: true, predicate: ["toolbarIcon3dView"], descendants: true, static: true }, { propertyName: "categoriesSidebar", first: true, predicate: ["categoriesSidebar"], descendants: true, static: true }, { propertyName: "accessoiresCategoriesSidebar", first: true, predicate: ["accessoiresCategoriesSidebar"], descendants: true, static: true }, { propertyName: "customShapeCreatorSideBar", first: true, predicate: ["customShapeCreatorSideBar"], descendants: true, static: true }, { propertyName: "customCylinderCreatorSideBar", first: true, predicate: ["customCylinderCreatorSideBar"], descendants: true, static: true }, { propertyName: "settingsSidebar", first: true, predicate: ["settingsSidebar"], descendants: true, static: true }, { propertyName: "librarySidebar", first: true, predicate: ["librarySidebar"], descendants: true, static: true }, { propertyName: "selectedObjectSidebar", first: true, predicate: ["selectedObjectSidebar"], descendants: true, static: true }, { propertyName: "selectedWallSidebar", first: true, predicate: ["selectedWallSidebar"], descendants: true, static: true }, { propertyName: "selectedThreedObjectSidebar", first: true, predicate: ["selectedThreedObjectSidebar"], descendants: true, static: true }, { propertyName: "selectedFloorSidebar", first: true, predicate: ["selectedFloorSidebar"], descendants: true, static: true }, { propertyName: "toolbarIconFaq", first: true, predicate: ["toolbarIconFaq"], descendants: true, static: true }, { propertyName: "toolbarIconFeedback", first: true, predicate: ["toolbarIconFeedback"], descendants: true, static: true }, { propertyName: "toolbarIconCart", first: true, predicate: ["toolbarIconCart"], descendants: true, static: true }, { propertyName: "toolbarSnappingIcon", first: true, predicate: ["toolbarSnappingIcon"], descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div class=\"RoomPlanner\">\n <floor-planner\n [class.hidden]=\"!viewModeService.is2dViewActive()\"\n (selectedWallChange)=\"selectWall($event)\"></floor-planner>\n </div>\n\n <rp-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && selectedWall\"\n [openMouseEvent]=\"contextMenuMouseEvent\">\n <div class=\"rp-item-context-menu-wrap \">\n <div (click)=\"showSelectedWallSidebar()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </div>\n </rp-context-menu>\n\n <rp-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && selectedFloor\"\n [openMouseEvent]=\"contextMenuMouseEvent\">\n <div class=\"rp-item-context-menu-wrap\">\n <div (click)=\"showSelectedFloorSidebar()\" class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </div>\n </rp-context-menu>\n <rp-item-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && !showGroupMenu\"\n [item]=\"selectedObject\"\n (deletePressed)=\"handleDeleteObject()\">\n <div class=\"rp-item-context-menu-wrap\">\n <div class=\"rp-item-context-menu-close\" (click)=\"closeContextMenu()\">\n <span class=\"close-icon\"><co-icon [iconData]=\"iconService.getIcon(icon.XmarkLight)\"></co-icon></span>\n </div>\n <div *ngIf=\"this.selectedObject\" class=\"rp-item-context-menu-header\">\n <p *ngIf=\"this.selectedObject.name\">{{ this.selectedObject.name }}</p>\n <p *ngIf=\"!this.selectedObject.name\">{{ 'SELECTED_OBJECT' | localize }}</p>\n </div>\n <div *ngIf=\"showSettingsButton\" (click)=\"showSelectedObjectSidebar()\"\n class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n <ng-container *ngIf=\"showConfigurationButton\">\n <div *ngFor=\"let customButton of modelsService.customButtons\" (click)=\"handleConfigurationButtonClick(customButton)\"\n class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </ng-container>\n <div *ngIf=\"showCopyButton\" (click)=\"copySelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.CopyLight)\"></co-icon></span>\n <span class=\"label\">{{ 'COPY' | localize }}</span>\n </div>\n <div *ngIf=\"showDeleteButton\" (click)=\"removeSelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.TrashCanLight)\"></co-icon></span>\n <span class=\"label\">{{ 'REMOVE' | localize }}</span>\n </div>\n <div *ngIf=\"!showGroupEditMenuButtons\" (click)=\"startGroupSelection()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkLight)\"></co-icon></span>\n <span class=\"label\">{{ 'GROUP' | localize }}</span>\n </div>\n\n <div *ngIf=\"showConversionButton && settingsService.settings.showConversionButtons\"\n (click)=\"sendConversionToTagManager()\"\n class=\"rp-item-context-menu-item\"\n [ngClass]=\"addSelectedClass ? 'conversion-button-selected' : ''\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">add_shopping_cart</mat-icon></span>\n <span class=\"label\">{{ 'CONVERSION' | localize }}</span>\n <span class=\"icon icon-selected\"><mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon></span>\n </div>\n\n\n <div *ngIf=\"showARButton\" (click)=\"startARSession()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">weekend</mat-icon></span>\n <span class=\"label\">{{ 'AR' | localize }}</span>\n </div>\n <button-elevation\n *ngIf=\"selectedObject && selectedObject.elevationAdjustable\"\n [item]=\"selectedObject\">\n </button-elevation>\n <ng-container *ngIf=\"salableObject\">\n <div class=\"toolbar__divider context-menu\"></div>\n <div (click)=\"addToCart(selectedObject)\" class=\"rp-item-context-menu-item add-to-cart-button\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\" [svgIcon]=\"'cart-shopping-regular'\"></mat-icon></span>\n <span class=\"label\">{{ 'ADD_TO_CART' | localize }}</span>\n </div>\n </ng-container>\n </div>\n </rp-item-context-menu>\n\n <rp-item-context-menu *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && showGroupMenu && !userIsGrouping\"\n [item]=\"selectedObject\"\n (deletePressed)=\"handleDeleteObject()\">\n <div class=\"rp-item-context-menu-wrap\">\n <div *ngIf=\"!showGroupEditMenuButtons\" (click)=\"onGroupClick()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkLight)\"></co-icon></span>\n <span class=\"label\">{{ 'GROUP' | localize }}</span>\n </div>\n <div *ngIf=\"showGroupEditMenuButtons\" (click)=\"onUnGroupClick()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkSlashLight)\"></co-icon></span>\n <span class=\"label\">{{ 'UNGROUP' | localize }}</span>\n </div>\n <div *ngIf=\"showGroupEditMenuButtons\" (click)=\"removeSelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.TrashCanLight)\"></co-icon></span>\n <span class=\"label\">{{ 'REMOVE' | localize }}</span>\n </div>\n <div *ngIf=\"showLockButton && selectedObject && showGroupEditMenuButtons\" (click)=\"toggleLockSelectedObject()\"\n class=\"rp-item-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}\">\n <co-icon *ngIf=\"selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockLight)\"></co-icon>\n <co-icon *ngIf=\"!selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockOpenLight)\"></co-icon>\n </span>\n <span class=\"label\">{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}</span>\n </div>\n </div>\n </rp-item-context-menu>\n <rp-right-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && !showGroupMenu\"\n [item]=\"selectedObject\">\n <div class=\"rp-right-context-menu-wrap\">\n <div *ngIf=\"showLockButton && selectedObject\" (click)=\"toggleLockSelectedObject()\"\n class=\"rp-right-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}\">\n <co-icon *ngIf=\"selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockLight)\"></co-icon>\n <co-icon *ngIf=\"!selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockOpenLight)\"></co-icon>\n </span>\n </div>\n <div *ngIf=\"showConfigurationButton\" (click)=\"showSelectedThreedObjectSidebar()\"\n class=\"rp-right-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{'SETTINGS' | localize}}\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Settings)\"></co-icon>\n </span>\n </div>\n </div>\n </rp-right-context-menu>\n <ng-template #toolbarIconLibrary>\n <rp-toolbar-icon\n *ngIf=\"!phoneSizeScreen\"\n [disabled]=\"viewModeService.is2dViewActive() || viewModeService.isWalkThroughViewActive()\"\n matIcon=\"house\"\n tooltip=\"{{iconName.Architecture | localize}}\"\n (onClick)=\"showLibraryCategories()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIconAccessoires>\n <rp-toolbar-icon\n [disabled]=\"viewModeService.is2dViewActive() || viewModeService.isWalkThroughViewActive()\"\n matIcon=\"flower\"\n tooltip=\"{{iconName.Accessories | localize}}\"\n (onClick)=\"showAccessoireCategories()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIcon2dView>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon\n *ngIf=\"!phoneSizeScreen\"\n matIcon=\"draw_square\"\n tooltip=\"{{iconName.TwodFloorplan | localize}}\"\n [disabled]=\"viewModeService.is2dViewActive() || !desktopSizeScreen\"\n (onClick)=\"updateMode(viewModes.FloorPlan2D, true)\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarShowDiagram>\n <rp-toolbar-icon\n *ngIf=\"diagramToggleAvailable\"\n matIcon=\"image_slash_regular\"\n tooltip=\"'Toggle achtergrond'\"\n (onClick)=\"toggleDiagram()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIcon3dView>\n <rp-toolbar-icon\n matIcon=\"cube\"\n tooltip=\"{{iconName.ThreedRoomplan | localize}}\"\n [disabled]=\"viewModeService.is3dViewActive() || !threedIconAvailable\"\n (onClick)=\"updateMode(viewModes.RoomPlan3D, true)\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <rp-zoom-controls\n [visible]=\"viewModeService.is2dViewActive()\"\n (onZoomIn)=\"zoomIn()\"\n (onZoomReset)=\"zoomReset()\"\n (onZoomOut)=\"zoomOut()\"\n ></rp-zoom-controls>\n\n <ng-template #toolbarIconSettings>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon\n matIcon=\"settings\"\n tooltip=\"{{iconName.Settings | localize}}\"\n (onClick)=\"showSettings()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n <ng-template #toolbarIconCart>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon class=\"add-to-cart-button\"\n matIcon=\"cart-shopping-regular\"\n tooltip=\"{{'ADD_TO_CART' | localize}}\"\n (onClick)=\"addAllToCart()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n <span class=\"toolbar__divider\"></span>\n </ng-template>\n\n <ng-template #toolbarSnappingIcon>\n <rp-toolbar-icon\n *ngIf=\"this.settingsService.settings.options.usePlacementSnapping\"\n matIcon=\"magnet\"\n (onClick)=\"toggleObjectSnapping()\"\n [showLabel]=\"phoneSizeScreen\"\n tooltip=\"{{'TOGGLE_OBJECT_SNAPPING_OFF' | localize}}\"\n ></rp-toolbar-icon>\n\n <rp-toolbar-icon\n *ngIf=\"!this.settingsService.settings.options.usePlacementSnapping\"\n matIcon=\"magnet_strikethrough\"\n (onClick)=\"toggleObjectSnapping()\"\n [showLabel]=\"phoneSizeScreen\"\n tooltip=\"{{'TOGGLE_OBJECT_SNAPPING_ON' | localize}}\"\n ></rp-toolbar-icon>\n </ng-template>\n\n\n <ng-template #settingsSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'SETTINGS' | localize }}</h2>\n </header>\n <rp-settings\n [placeCameraDisabled]=\"viewModeService.is2dViewActive() || itemService.getWalkthroughCamera()\"\n [minWallHeight]=\"getMinGlobalWallHeight()\"\n (onWallsHeightUpdate)=\"wallsHeightUpdated($event)\"\n >\n </rp-settings>\n </ng-template>\n\n <ng-template #categoriesSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'ARCHITECTURE' | localize }}</h2>\n </header>\n <rp-category-library\n [categories]=\"categories\"\n (categoryClick)=\"showLibraryCategory($event)\"\n >\n </rp-category-library>\n </ng-template>\n\n <ng-template #accessoiresCategoriesSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'ACCESSOIRES' | localize }}</h2>\n </header>\n <rp-category-library\n [categories]=\"accessoireCategories\"\n (categoryClick)=\"showLibraryCategory($event)\"\n >\n </rp-category-library>\n </ng-template>\n\n <ng-template #customShapeCreatorSideBar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'CUSTOM_SHAPE_CREATOR' | localize }}</h2>\n </header>\n <rp-custom-shape-creator [shape]=\"selectedObject\"></rp-custom-shape-creator>\n </ng-template>\n\n <ng-template #customCylinderCreatorSideBar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'CUSTOM_SHAPE_CREATOR' | localize }}</h2>\n </header>\n <custom-cylinder-creator [shape]=\"selectedObject\"></custom-cylinder-creator>\n </ng-template>\n\n <ng-template #librarySidebar>\n <div fxLayout=\"column\" class=\"with-scrollable-section\">\n <header class=\"drawer__header\">\n <button mat-icon-button (click)=\"showActiveCategorySidebar()\">\n <mat-icon class=\"homedecorator-material-icons\">arrow_back_ios</mat-icon>\n </button>\n <h2 class=\"mat-title\">{{ selectedCategory.name | localize }}</h2>\n </header>\n <p class=\"mat-body\" *ngIf=\"selectedCategory.description\">{{ selectedCategory.description | localize }}</p>\n <section fxFlex=\"grow\" *ngIf=\"libraryObjects?.length > 0 || hasCustomObjects()\">\n <ng-container *ngIf=\"hasCustomObjects()\">\n <h3 class=\"mat-subheading-2\">{{ 'CUSTOM' | localize }}</h3>\n <rp-object-library\n [objects]=\"customObjects\"\n (setDragged)=\"setDragged($event)\"\n (releaseDragged)=\"releaseDragged()\"\n (onObjectClick)=\"onObjectLibraryClick($event)\"\n >\n </rp-object-library>\n <mat-divider></mat-divider>\n </ng-container>\n <ng-container *ngIf=\"libraryObjects?.length > 0\">\n <h3 class=\"mat-subheading-2\">{{ 'LIBRARY' | localize }}</h3>\n <rp-object-library\n [objects]=\"libraryObjects\"\n (setDragged)=\"setDragged($event)\"\n (releaseDragged)=\"releaseDragged()\"\n (onObjectClick)=\"onObjectLibraryClick($event)\"\n >\n </rp-object-library>\n </ng-container>\n </section>\n </div>\n </ng-template>\n\n <ng-template #selectedObjectSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'OBJECT' | localize }}</h2>\n </header>\n <rp-selected-object\n [object]=\"selectedObject\"\n (onSelectedObjectChange)=\"updateSelectedObjectHud()\"\n >\n </rp-selected-object>\n </ng-template>\n\n <ng-template #selectedWallSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'WALL'| localize }}</h2>\n </header>\n <rp-selected-wall\n [wall]=\"selectedWall\"\n [texturePlane]=\"selectedEdges[0]\"\n [minWallHeight]=\"getMinWallHeight(selectedWall)\"\n [maxWallHeight]=\"maxWallHeight\"\n [maxWallThickness]=\"maxWallThickness\"\n [maxWallLength]=\"maxWallLength\"\n [minWallLength]=\"minWallLength\"\n (remove)=\"removeWall($event)\"\n (setLength)=\"setWallLength($event)\"\n (setHeight)=\"setWallHeight($event)\"\n (setThickness)=\"setWallThickness($event)\"\n (selectCorner)=\"selectCorner($event)\"\n (setTexture)=\"setWallTexture($event)\"\n (setColor)=\"setWallColor($event)\"\n >\n </rp-selected-wall>\n </ng-template>\n\n <ng-template #selectedThreedObjectSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\" [textContent]=\"'SETTINGS' | localize\"></h2>\n </header>\n <rp-selected-threed-object\n [object]=\"selectedObject\"\n [showCopy]=\"showCopyButton\"\n [showDelete]=\"showDeleteButton\"\n [showLock]=\"showLockButton\"\n (onSelectedObjectChange)=\"updateSelectedObjectHud()\"\n >\n </rp-selected-threed-object>\n </ng-template>\n\n <ng-template #selectedFloorSidebar>\n <h2 class=\"mat-title\">{{ 'FLOOR' | localize }}</h2>\n <rp-selected-floor\n [floor]=\"selectedFloor\"\n [texturePlane]=\"selectedFloor\"\n (setTexture)=\"setFloorTexture($event)\"\n (setColor)=\"setFloorColor($event)\"\n (selectedFloorClosed)=\"selectedFloor = undefined\"\n >\n </rp-selected-floor>\n </ng-template>\n\n <ng-container *ngIf=\"userIsGrouping\">\n <div class=\"rp-item-context-menu-wrap mrp-save-grouping\" *ngIf=\"userIsGrouping\">\n <div class=\"rp-item-context-menu-item\" (click)=\"onGroupClick()\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">check</mat-icon></span>\n <span class=\"label\">{{ 'GROUPING' | localize }}</span>\n </div>\n <div class=\"rp-item-context-menu-item\" (click)=\"cancelGroupSelection()\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">cancel</mat-icon></span>\n <span class=\"label\">{{ 'CANCEL' | localize }}</span>\n </div>\n </div>\n </ng-container>\n\n ", isInline: true, styles: [".with-scrollable-section{overflow:hidden;height:100%}.with-scrollable-section section{overflow-y:auto}.RoomPlanner{width:inherit;height:inherit;pointer-events:none}.RoomPlanner>*{pointer-events:all}.sidebar-toggles .mat-raised-button{width:110px;text-align:left}.logo-menu{position:absolute;top:20px;left:20px;z-index:2}.logo-menu-2nd{position:absolute;top:140px;left:84px}.logo-menu-4th{position:absolute;top:180px;left:84px}.sidebar{position:absolute;left:0;top:0;height:100vh;max-width:30%;width:400px;background:#fff;padding:0 20px;box-shadow:0 0 20px #00000040}.flex-wrap{display:flex;flex-flow:column nowrap;height:100%}.solid-background>canvas{fill:#fff;background:white}.toolbar__divider{border-bottom:2px solid #c7c3c38a;width:70%;margin:5px 0}.toolbar__divider.context-menu{border-color:#c7c3c38a;width:100%}.on-top{z-index:3}.rp-item-context-menu-wrap{color:#fff;background:#17253391;border-radius:5px;box-sizing:border-box;padding:10px;position:relative}.rp-item-context-menu-wrap .rp-item-context-menu-item{cursor:pointer;flex-direction:row;display:flex;padding:5px;border-radius:5px}.rp-item-context-menu-wrap .rp-item-context-menu-item span,.rp-item-context-menu-wrap .rp-item-context-menu-item label{display:flex;flex-direction:column;line-height:20px;font-size:12px;font-weight:lighter;vertical-align:middle}.rp-item-context-menu-wrap .rp-item-context-menu-item .label{width:150px}.rp-item-context-menu-wrap .rp-item-context-menu-item .icon{width:20px;margin-right:10px}.rp-item-context-menu-wrap .rp-item-context-menu-item .icon svg,.rp-item-context-menu-wrap .rp-item-context-menu-item .icon co-icon,.rp-item-context-menu-wrap .rp-item-context-menu-item .icon .mat-icon{height:15px;width:15px;font-size:18px}.rp-item-context-menu-wrap .rp-item-context-menu-item:hover{background:rgba(220,220,220,.5)}.rp-item-context-menu-wrap .rp-item-context-menu-item-highlight{color:#da9803}.rp-item-context-menu-wrap .rp-item-context-menu-item-highlight svg{fill:#da9803}.rp-item-context-menu-wrap .conversion-button-selected .icon-selected{color:#009a6d}.rp-item-context-menu-wrap .rp-item-context-menu-header{border-bottom:2px solid #c7c3c38a;margin-bottom:10px;padding-left:5px;padding-right:25px;max-width:160px;overflow:hidden}.rp-item-context-menu-wrap .rp-item-context-menu-header p{color:#da9803;font-size:13px;margin:0;padding:5px 0 10px}.rp-item-context-menu-wrap .rp-item-context-menu-close{position:absolute;right:7px;top:5px;z-index:2;cursor:pointer;width:15px;height:15px}.rp-item-context-menu-wrap .rp-item-context-menu-close .close-icon co-icon{height:15px;width:15px;font-size:18px}.rp-right-context-menu-wrap{color:#fff;background:#17253391;border-radius:5px 0 0 5px;box-sizing:border-box;padding:5px;position:relative}.rp-right-context-menu-wrap .rp-right-context-menu-item{cursor:pointer;flex-direction:row;display:flex;padding:10px;justify-content:center;border-bottom:2px solid #c7c3c38a}.rp-right-context-menu-wrap .rp-right-context-menu-item:last-child{border-bottom:none}.rp-right-context-menu-wrap .rp-right-context-menu-item span,.rp-right-context-menu-wrap .rp-right-context-menu-item label{display:flex;flex-direction:column;font-weight:lighter;vertical-align:middle}.rp-right-context-menu-wrap .rp-right-context-menu-item .icon{width:auto;margin-right:0}.rp-right-context-menu-wrap .rp-right-context-menu-item .icon svg,.rp-right-context-menu-wrap .rp-right-context-menu-item .icon co-icon,.rp-right-context-menu-wrap .rp-right-context-menu-item .icon .mat-icon{height:20px;width:20px;font-size:20px}.rp-right-context-menu-wrap .rp-right-context-menu-item:hover{background:rgba(220,220,220,.5)}.rp-right-context-menu-wrap .rp-right-context-menu-item-highlight{color:#da9803}.rp-right-context-menu-wrap .rp-right-context-menu-item-highlight svg{fill:#da9803}.rp-right-context-menu-wrap .conversion-button-selected .icon-selected{color:#009a6d}::ng-deep .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#da9803}::ng-deep .mat-slide-toggle.mat-checked .mat-slide-toggle-bar .mat-slide-toggle-thumb-container .mat-slide-toggle-thumb{background-color:#fff}::ng-deep .mat-slide-toggle.mat-checked .mat-slide-toggle-bar:hover .mat-ripple-element{background-color:#da9803}::ng-deep .mat-slide-toggle .mat-slide-toggle-bar{width:40px;height:20px;border-radius:15px}::ng-deep .mat-slide-toggle .mat-slide-toggle-bar .mat-slide-toggle-thumb-container{width:17px;height:17px;top:2px;left:5px}::ng-deep .mat-slide-toggle .mat-slide-toggle-bar .mat-slide-toggle-thumb-container .mat-slide-toggle-thumb{height:16px;width:16px}::ng-deep mat-slider{height:24px}::ng-deep mat-slider .mat-slider-wrapper .mat-slider-track-wrapper{overflow:visible}::ng-deep mat-slider .mat-slider-wrapper .mat-slider-track-fill{background-color:#da9803}::ng-deep mat-slider .mat-slider-wrapper .mat-slider-thumb-container .mat-slider-thumb,::ng-deep mat-slider .mat-slider-wrapper .mat-slider-thumb-container .mat-slider-thumb-label{background-color:#da9803}::ng-deep mat-list .mat-list-item{border-bottom:1px solid #000}.mrp-save-grouping{pointer-events:all;position:absolute;bottom:10%;left:50%}\n"], components: [{ type: FloorplannerComponent, selector: "floor-planner", outputs: ["selectedWallChange"] }, { type: ContextMenuComponent, selector: "rp-context-menu", inputs: ["openMouseEvent"] }, { type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: ItemContextMenuComponent, selector: "rp-item-context-menu", inputs: ["item"], outputs: ["deletePressed"] }, { type: i5__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: ButtonElevationComponent, selector: "button-elevation", inputs: ["item"] }, { type: RightContextMenuComponent, selector: "rp-right-context-menu", inputs: ["item"], outputs: ["deletePressed"] }, { type: ToolbarIconComponent, selector: "rp-toolbar-icon", inputs: ["matIcon", "svgIcon", "tooltip", "disabled", "showLabel"], outputs: ["onClick"] }, { type: ZoomControlsComponent, selector: "rp-zoom-controls", inputs: ["visible"], outputs: ["onZoomIn", "onZoomReset", "onZoomOut"] }, { type: SettingsComponent, selector: "rp-settings", inputs: ["minWallHeight", "placeCameraDisabled"], outputs: ["onWallsHeightUpdate"] }, { type: CategoryLibraryComponent, selector: "rp-category-library", inputs: ["categories"], outputs: ["categoryClick"] }, { type: CustomShapeCreatorComponent, selector: "rp-custom-shape-creator", inputs: ["shape"] }, { type: CustomCylinderCreatorComponent, selector: "custom-cylinder-creator", inputs: ["shape"] }, { 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: ObjectLibraryComponent, selector: "rp-object-library", inputs: ["objects"], outputs: ["setDragged", "releaseDragged", "onObjectClick"] }, { type: i14__namespace.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: SelectedObjectComponent, selector: "rp-selected-object", inputs: ["object"], outputs: ["onSelectedObjectChange"] }, { type: SelectedWallComponent, selector: "rp-selected-wall", inputs: ["wall", "texturePlane", "color", "minWallHeight", "maxWallHeight", "maxWallThickness", "maxWallLength", "minWallLength"], outputs: ["remove", "setLength", "setHeight", "setThickness", "selectCorner", "setTexture", "setColor"] }, { type: SelectedThreedObjectComponent, selector: "rp-selected-threed-object", inputs: ["object", "showCopy", "showDelete", "showLock"], outputs: ["onSelectedObjectChange"] }, { type: SelectedFloorComponent, selector: "rp-selected-floor", inputs: ["floor", "texturePlane", "color"], outputs: ["setTexture", "setColor"] }], directives: [{ type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7__namespace$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i15__namespace.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: i15__namespace.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"] }], pipes: { "localize": LocalizePipe } });
|
|
41824
|
+
RoomPlannerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: RoomPlannerComponent, selector: "rp-room-planner", inputs: { isLoading: "isLoading" }, outputs: { done: "done", showPlugin: "showPlugin", focusControls: "focusControls" }, host: { listeners: { "document:keydown": "handleDocKeyDown($event)" }, properties: { "class": "this.layerClass" } }, viewQueries: [{ propertyName: "floorplanner", first: true, predicate: FloorplannerComponent, descendants: true, static: true }, { propertyName: "toolbarIconLibrary", first: true, predicate: ["toolbarIconLibrary"], descendants: true, static: true }, { propertyName: "toolbarIconAccessoires", first: true, predicate: ["toolbarIconAccessoires"], descendants: true, static: true }, { propertyName: "toolbarIconSettings", first: true, predicate: ["toolbarIconSettings"], descendants: true, static: true }, { propertyName: "toolbarIcon2dView", first: true, predicate: ["toolbarIcon2dView"], descendants: true, static: true }, { propertyName: "toolbarShowDiagram", first: true, predicate: ["toolbarShowDiagram"], descendants: true, static: true }, { propertyName: "toolbarIcon3dView", first: true, predicate: ["toolbarIcon3dView"], descendants: true, static: true }, { propertyName: "categoriesSidebar", first: true, predicate: ["categoriesSidebar"], descendants: true, static: true }, { propertyName: "accessoiresCategoriesSidebar", first: true, predicate: ["accessoiresCategoriesSidebar"], descendants: true, static: true }, { propertyName: "customShapeCreatorSideBar", first: true, predicate: ["customShapeCreatorSideBar"], descendants: true, static: true }, { propertyName: "customCylinderCreatorSideBar", first: true, predicate: ["customCylinderCreatorSideBar"], descendants: true, static: true }, { propertyName: "settingsSidebar", first: true, predicate: ["settingsSidebar"], descendants: true, static: true }, { propertyName: "librarySidebar", first: true, predicate: ["librarySidebar"], descendants: true, static: true }, { propertyName: "selectedObjectSidebar", first: true, predicate: ["selectedObjectSidebar"], descendants: true, static: true }, { propertyName: "selectedWallSidebar", first: true, predicate: ["selectedWallSidebar"], descendants: true, static: true }, { propertyName: "selectedThreedObjectSidebar", first: true, predicate: ["selectedThreedObjectSidebar"], descendants: true, static: true }, { propertyName: "selectedFloorSidebar", first: true, predicate: ["selectedFloorSidebar"], descendants: true, static: true }, { propertyName: "toolbarIconFaq", first: true, predicate: ["toolbarIconFaq"], descendants: true, static: true }, { propertyName: "toolbarIconFeedback", first: true, predicate: ["toolbarIconFeedback"], descendants: true, static: true }, { propertyName: "toolbarIconCart", first: true, predicate: ["toolbarIconCart"], descendants: true, static: true }, { propertyName: "toolbarSnappingIcon", first: true, predicate: ["toolbarSnappingIcon"], descendants: true, static: true }], ngImport: i0__namespace, template: "\n <div class=\"RoomPlanner\">\n <floor-planner\n [class.hidden]=\"!viewModeService.is2dViewActive()\"\n (selectedWallChange)=\"selectWall($event)\"></floor-planner>\n </div>\n\n <rp-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && selectedWall\"\n [openMouseEvent]=\"contextMenuMouseEvent\">\n <div class=\"rp-item-context-menu-wrap \">\n <div (click)=\"showSelectedWallSidebar()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </div>\n </rp-context-menu>\n\n <rp-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && selectedFloor\"\n [openMouseEvent]=\"contextMenuMouseEvent\">\n <div class=\"rp-item-context-menu-wrap\">\n <div (click)=\"showSelectedFloorSidebar()\" class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </div>\n </rp-context-menu>\n <rp-item-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && !showGroupMenu\"\n [item]=\"selectedObject\"\n (deletePressed)=\"handleDeleteObject()\">\n <div class=\"rp-item-context-menu-wrap\">\n <div class=\"rp-item-context-menu-close\" (click)=\"closeContextMenu()\">\n <span class=\"close-icon\"><co-icon [iconData]=\"iconService.getIcon(icon.XmarkLight)\"></co-icon></span>\n </div>\n <div *ngIf=\"this.selectedObject\" class=\"rp-item-context-menu-header\">\n <p *ngIf=\"this.selectedObject.name\">{{ this.selectedObject.name }}</p>\n <p *ngIf=\"!this.selectedObject.name\">{{ 'SELECTED_OBJECT' | localize }}</p>\n </div>\n <div *ngIf=\"showSettingsButton\" (click)=\"showSelectedObjectSidebar()\"\n class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n <ng-container *ngIf=\"showConfigurationButton\">\n <div *ngFor=\"let customButton of modelsService.customButtons\" (click)=\"handleConfigurationButtonClick(customButton)\"\n class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </ng-container>\n <div *ngIf=\"showCopyButton\" (click)=\"copySelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.CopyLight)\"></co-icon></span>\n <span class=\"label\">{{ 'COPY' | localize }}</span>\n </div>\n <div *ngIf=\"showDeleteButton\" (click)=\"removeSelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.TrashCanLight)\"></co-icon></span>\n <span class=\"label\">{{ 'REMOVE' | localize }}</span>\n </div>\n <div *ngIf=\"!showGroupEditMenuButtons\" (click)=\"startGroupSelection()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkLight)\"></co-icon></span>\n <span class=\"label\">{{ 'GROUP' | localize }}</span>\n </div>\n\n <div *ngIf=\"showConversionButton && settingsService.settings.showConversionButtons\"\n (click)=\"sendConversionToTagManager()\"\n class=\"rp-item-context-menu-item\"\n [ngClass]=\"addSelectedClass ? 'conversion-button-selected' : ''\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">add_shopping_cart</mat-icon></span>\n <span class=\"label\">{{ 'CONVERSION' | localize }}</span>\n <span class=\"icon icon-selected\"><mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon></span>\n </div>\n\n\n <div *ngIf=\"showARButton\" (click)=\"startARSession()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">weekend</mat-icon></span>\n <span class=\"label\">{{ 'AR' | localize }}</span>\n </div>\n <button-elevation\n *ngIf=\"selectedObject && selectedObject.elevationAdjustable\"\n [item]=\"selectedObject\">\n </button-elevation>\n <ng-container *ngIf=\"salableObject\">\n <div class=\"toolbar__divider context-menu\"></div>\n <div (click)=\"addToCart(selectedObject)\" class=\"rp-item-context-menu-item add-to-cart-button\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\" [svgIcon]=\"'cart-shopping-regular'\"></mat-icon></span>\n <span class=\"label\">{{ 'ADD_TO_CART' | localize }}</span>\n </div>\n </ng-container>\n </div>\n </rp-item-context-menu>\n\n <rp-item-context-menu *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && showGroupMenu && !userIsGrouping\"\n [item]=\"selectedObject\"\n (deletePressed)=\"handleDeleteObject()\">\n <div class=\"rp-item-context-menu-wrap\">\n <div *ngIf=\"!showGroupEditMenuButtons\" (click)=\"onGroupClick()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkLight)\"></co-icon></span>\n <span class=\"label\">{{ 'GROUP' | localize }}</span>\n </div>\n <div *ngIf=\"showGroupEditMenuButtons\" (click)=\"onUnGroupClick()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkSlashLight)\"></co-icon></span>\n <span class=\"label\">{{ 'UNGROUP' | localize }}</span>\n </div>\n <div *ngIf=\"showGroupEditMenuButtons\" (click)=\"removeSelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.TrashCanLight)\"></co-icon></span>\n <span class=\"label\">{{ 'REMOVE' | localize }}</span>\n </div>\n <div *ngIf=\"showLockButton && selectedObject && showGroupEditMenuButtons\" (click)=\"toggleLockSelectedObject()\"\n class=\"rp-item-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}\">\n <co-icon *ngIf=\"selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockLight)\"></co-icon>\n <co-icon *ngIf=\"!selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockOpenLight)\"></co-icon>\n </span>\n <span class=\"label\">{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}</span>\n </div>\n </div>\n </rp-item-context-menu>\n <rp-right-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && !showGroupMenu\"\n [item]=\"selectedObject\">\n <div class=\"rp-right-context-menu-wrap\">\n <div *ngIf=\"showLockButton && selectedObject\" (click)=\"toggleLockSelectedObject()\"\n class=\"rp-right-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}\">\n <co-icon *ngIf=\"selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockLight)\"></co-icon>\n <co-icon *ngIf=\"!selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockOpenLight)\"></co-icon>\n </span>\n </div>\n <div *ngIf=\"showConfigurationButton\" (click)=\"showSelectedThreedObjectSidebar()\"\n class=\"rp-right-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{'SETTINGS' | localize}}\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Settings)\"></co-icon>\n </span>\n </div>\n </div>\n </rp-right-context-menu>\n <ng-template #toolbarIconLibrary>\n <rp-toolbar-icon\n *ngIf=\"!phoneSizeScreen\"\n [disabled]=\"viewModeService.is2dViewActive() || viewModeService.isWalkThroughViewActive()\"\n matIcon=\"house\"\n tooltip=\"{{iconName.Architecture | localize}}\"\n (onClick)=\"showLibraryCategories()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIconAccessoires>\n <rp-toolbar-icon\n [disabled]=\"viewModeService.is2dViewActive() || viewModeService.isWalkThroughViewActive()\"\n matIcon=\"flower\"\n tooltip=\"{{iconName.Accessories | localize}}\"\n (onClick)=\"showAccessoireCategories()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIcon2dView>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon\n *ngIf=\"!phoneSizeScreen\"\n matIcon=\"draw_square\"\n tooltip=\"{{iconName.TwodFloorplan | localize}}\"\n [disabled]=\"viewModeService.is2dViewActive() || !desktopSizeScreen\"\n (onClick)=\"updateMode(viewModes.FloorPlan2D, true)\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarShowDiagram>\n <rp-toolbar-icon\n *ngIf=\"diagramToggleAvailable && viewModeService.is2dViewActive()\"\n matIcon=\"image_slash_regular\"\n tooltip=\"'Toggle achtergrond'\"\n (onClick)=\"toggleDiagram()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIcon3dView>\n <rp-toolbar-icon\n matIcon=\"cube\"\n tooltip=\"{{iconName.ThreedRoomplan | localize}}\"\n [disabled]=\"viewModeService.is3dViewActive() || !threedIconAvailable\"\n (onClick)=\"updateMode(viewModes.RoomPlan3D, true)\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <rp-zoom-controls\n [visible]=\"viewModeService.is2dViewActive()\"\n (onZoomIn)=\"zoomIn()\"\n (onZoomReset)=\"zoomReset()\"\n (onZoomOut)=\"zoomOut()\"\n ></rp-zoom-controls>\n\n <ng-template #toolbarIconSettings>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon\n matIcon=\"settings\"\n tooltip=\"{{iconName.Settings | localize}}\"\n (onClick)=\"showSettings()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n <ng-template #toolbarIconCart>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon class=\"add-to-cart-button\"\n matIcon=\"cart-shopping-regular\"\n tooltip=\"{{'ADD_TO_CART' | localize}}\"\n (onClick)=\"addAllToCart()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n <span class=\"toolbar__divider\"></span>\n </ng-template>\n\n <ng-template #toolbarSnappingIcon>\n <rp-toolbar-icon\n *ngIf=\"this.settingsService.settings.options.usePlacementSnapping\"\n matIcon=\"magnet\"\n (onClick)=\"toggleObjectSnapping()\"\n [showLabel]=\"phoneSizeScreen\"\n tooltip=\"{{'TOGGLE_OBJECT_SNAPPING_OFF' | localize}}\"\n ></rp-toolbar-icon>\n\n <rp-toolbar-icon\n *ngIf=\"!this.settingsService.settings.options.usePlacementSnapping\"\n matIcon=\"magnet_strikethrough\"\n (onClick)=\"toggleObjectSnapping()\"\n [showLabel]=\"phoneSizeScreen\"\n tooltip=\"{{'TOGGLE_OBJECT_SNAPPING_ON' | localize}}\"\n ></rp-toolbar-icon>\n </ng-template>\n\n\n <ng-template #settingsSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'SETTINGS' | localize }}</h2>\n </header>\n <rp-settings\n [placeCameraDisabled]=\"viewModeService.is2dViewActive() || itemService.getWalkthroughCamera()\"\n [minWallHeight]=\"getMinGlobalWallHeight()\"\n (onWallsHeightUpdate)=\"wallsHeightUpdated($event)\"\n >\n </rp-settings>\n </ng-template>\n\n <ng-template #categoriesSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'ARCHITECTURE' | localize }}</h2>\n </header>\n <rp-category-library\n [categories]=\"categories\"\n (categoryClick)=\"showLibraryCategory($event)\"\n >\n </rp-category-library>\n </ng-template>\n\n <ng-template #accessoiresCategoriesSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'ACCESSOIRES' | localize }}</h2>\n </header>\n <rp-category-library\n [categories]=\"accessoireCategories\"\n (categoryClick)=\"showLibraryCategory($event)\"\n >\n </rp-category-library>\n </ng-template>\n\n <ng-template #customShapeCreatorSideBar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'CUSTOM_SHAPE_CREATOR' | localize }}</h2>\n </header>\n <rp-custom-shape-creator [shape]=\"selectedObject\"></rp-custom-shape-creator>\n </ng-template>\n\n <ng-template #customCylinderCreatorSideBar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'CUSTOM_SHAPE_CREATOR' | localize }}</h2>\n </header>\n <custom-cylinder-creator [shape]=\"selectedObject\"></custom-cylinder-creator>\n </ng-template>\n\n <ng-template #librarySidebar>\n <div fxLayout=\"column\" class=\"with-scrollable-section\">\n <header class=\"drawer__header\">\n <button mat-icon-button (click)=\"showActiveCategorySidebar()\">\n <mat-icon class=\"homedecorator-material-icons\">arrow_back_ios</mat-icon>\n </button>\n <h2 class=\"mat-title\">{{ selectedCategory.name | localize }}</h2>\n </header>\n <p class=\"mat-body\" *ngIf=\"selectedCategory.description\">{{ selectedCategory.description | localize }}</p>\n <section fxFlex=\"grow\" *ngIf=\"libraryObjects?.length > 0 || hasCustomObjects()\">\n <ng-container *ngIf=\"hasCustomObjects()\">\n <h3 class=\"mat-subheading-2\">{{ 'CUSTOM' | localize }}</h3>\n <rp-object-library\n [objects]=\"customObjects\"\n (setDragged)=\"setDragged($event)\"\n (releaseDragged)=\"releaseDragged()\"\n (onObjectClick)=\"onObjectLibraryClick($event)\"\n >\n </rp-object-library>\n <mat-divider></mat-divider>\n </ng-container>\n <ng-container *ngIf=\"libraryObjects?.length > 0\">\n <h3 class=\"mat-subheading-2\">{{ 'LIBRARY' | localize }}</h3>\n <rp-object-library\n [objects]=\"libraryObjects\"\n (setDragged)=\"setDragged($event)\"\n (releaseDragged)=\"releaseDragged()\"\n (onObjectClick)=\"onObjectLibraryClick($event)\"\n >\n </rp-object-library>\n </ng-container>\n </section>\n </div>\n </ng-template>\n\n <ng-template #selectedObjectSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'OBJECT' | localize }}</h2>\n </header>\n <rp-selected-object\n [object]=\"selectedObject\"\n (onSelectedObjectChange)=\"updateSelectedObjectHud()\"\n >\n </rp-selected-object>\n </ng-template>\n\n <ng-template #selectedWallSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'WALL'| localize }}</h2>\n </header>\n <rp-selected-wall\n [wall]=\"selectedWall\"\n [texturePlane]=\"selectedEdges[0]\"\n [minWallHeight]=\"getMinWallHeight(selectedWall)\"\n [maxWallHeight]=\"maxWallHeight\"\n [maxWallThickness]=\"maxWallThickness\"\n [maxWallLength]=\"maxWallLength\"\n [minWallLength]=\"minWallLength\"\n (remove)=\"removeWall($event)\"\n (setLength)=\"setWallLength($event)\"\n (setHeight)=\"setWallHeight($event)\"\n (setThickness)=\"setWallThickness($event)\"\n (selectCorner)=\"selectCorner($event)\"\n (setTexture)=\"setWallTexture($event)\"\n (setColor)=\"setWallColor($event)\"\n >\n </rp-selected-wall>\n </ng-template>\n\n <ng-template #selectedThreedObjectSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\" [textContent]=\"'SETTINGS' | localize\"></h2>\n </header>\n <rp-selected-threed-object\n [object]=\"selectedObject\"\n [showCopy]=\"showCopyButton\"\n [showDelete]=\"showDeleteButton\"\n [showLock]=\"showLockButton\"\n (onSelectedObjectChange)=\"updateSelectedObjectHud()\"\n >\n </rp-selected-threed-object>\n </ng-template>\n\n <ng-template #selectedFloorSidebar>\n <h2 class=\"mat-title\">{{ 'FLOOR' | localize }}</h2>\n <rp-selected-floor\n [floor]=\"selectedFloor\"\n [texturePlane]=\"selectedFloor\"\n (setTexture)=\"setFloorTexture($event)\"\n (setColor)=\"setFloorColor($event)\"\n (selectedFloorClosed)=\"selectedFloor = undefined\"\n >\n </rp-selected-floor>\n </ng-template>\n\n <ng-container *ngIf=\"userIsGrouping\">\n <div class=\"rp-item-context-menu-wrap mrp-save-grouping\" *ngIf=\"userIsGrouping\">\n <div class=\"rp-item-context-menu-item\" (click)=\"onGroupClick()\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">check</mat-icon></span>\n <span class=\"label\">{{ 'GROUPING' | localize }}</span>\n </div>\n <div class=\"rp-item-context-menu-item\" (click)=\"cancelGroupSelection()\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">cancel</mat-icon></span>\n <span class=\"label\">{{ 'CANCEL' | localize }}</span>\n </div>\n </div>\n </ng-container>\n\n ", isInline: true, styles: [".with-scrollable-section{overflow:hidden;height:100%}.with-scrollable-section section{overflow-y:auto}.RoomPlanner{width:inherit;height:inherit;pointer-events:none}.RoomPlanner>*{pointer-events:all}.sidebar-toggles .mat-raised-button{width:110px;text-align:left}.logo-menu{position:absolute;top:20px;left:20px;z-index:2}.logo-menu-2nd{position:absolute;top:140px;left:84px}.logo-menu-4th{position:absolute;top:180px;left:84px}.sidebar{position:absolute;left:0;top:0;height:100vh;max-width:30%;width:400px;background:#fff;padding:0 20px;box-shadow:0 0 20px #00000040}.flex-wrap{display:flex;flex-flow:column nowrap;height:100%}.solid-background>canvas{fill:#fff;background:white}.toolbar__divider{border-bottom:2px solid #c7c3c38a;width:70%;margin:5px 0}.toolbar__divider.context-menu{border-color:#c7c3c38a;width:100%}.on-top{z-index:3}.rp-item-context-menu-wrap{color:#fff;background:#17253391;border-radius:5px;box-sizing:border-box;padding:10px;position:relative}.rp-item-context-menu-wrap .rp-item-context-menu-item{cursor:pointer;flex-direction:row;display:flex;padding:5px;border-radius:5px}.rp-item-context-menu-wrap .rp-item-context-menu-item span,.rp-item-context-menu-wrap .rp-item-context-menu-item label{display:flex;flex-direction:column;line-height:20px;font-size:12px;font-weight:lighter;vertical-align:middle}.rp-item-context-menu-wrap .rp-item-context-menu-item .label{width:150px}.rp-item-context-menu-wrap .rp-item-context-menu-item .icon{width:20px;margin-right:10px}.rp-item-context-menu-wrap .rp-item-context-menu-item .icon svg,.rp-item-context-menu-wrap .rp-item-context-menu-item .icon co-icon,.rp-item-context-menu-wrap .rp-item-context-menu-item .icon .mat-icon{height:15px;width:15px;font-size:18px}.rp-item-context-menu-wrap .rp-item-context-menu-item:hover{background:rgba(220,220,220,.5)}.rp-item-context-menu-wrap .rp-item-context-menu-item-highlight{color:#da9803}.rp-item-context-menu-wrap .rp-item-context-menu-item-highlight svg{fill:#da9803}.rp-item-context-menu-wrap .conversion-button-selected .icon-selected{color:#009a6d}.rp-item-context-menu-wrap .rp-item-context-menu-header{border-bottom:2px solid #c7c3c38a;margin-bottom:10px;padding-left:5px;padding-right:25px;max-width:160px;overflow:hidden}.rp-item-context-menu-wrap .rp-item-context-menu-header p{color:#da9803;font-size:13px;margin:0;padding:5px 0 10px}.rp-item-context-menu-wrap .rp-item-context-menu-close{position:absolute;right:7px;top:5px;z-index:2;cursor:pointer;width:15px;height:15px}.rp-item-context-menu-wrap .rp-item-context-menu-close .close-icon co-icon{height:15px;width:15px;font-size:18px}.rp-right-context-menu-wrap{color:#fff;background:#17253391;border-radius:5px 0 0 5px;box-sizing:border-box;padding:5px;position:relative}.rp-right-context-menu-wrap .rp-right-context-menu-item{cursor:pointer;flex-direction:row;display:flex;padding:10px;justify-content:center;border-bottom:2px solid #c7c3c38a}.rp-right-context-menu-wrap .rp-right-context-menu-item:last-child{border-bottom:none}.rp-right-context-menu-wrap .rp-right-context-menu-item span,.rp-right-context-menu-wrap .rp-right-context-menu-item label{display:flex;flex-direction:column;font-weight:lighter;vertical-align:middle}.rp-right-context-menu-wrap .rp-right-context-menu-item .icon{width:auto;margin-right:0}.rp-right-context-menu-wrap .rp-right-context-menu-item .icon svg,.rp-right-context-menu-wrap .rp-right-context-menu-item .icon co-icon,.rp-right-context-menu-wrap .rp-right-context-menu-item .icon .mat-icon{height:20px;width:20px;font-size:20px}.rp-right-context-menu-wrap .rp-right-context-menu-item:hover{background:rgba(220,220,220,.5)}.rp-right-context-menu-wrap .rp-right-context-menu-item-highlight{color:#da9803}.rp-right-context-menu-wrap .rp-right-context-menu-item-highlight svg{fill:#da9803}.rp-right-context-menu-wrap .conversion-button-selected .icon-selected{color:#009a6d}::ng-deep .mat-slide-toggle.mat-checked .mat-slide-toggle-bar{background-color:#da9803}::ng-deep .mat-slide-toggle.mat-checked .mat-slide-toggle-bar .mat-slide-toggle-thumb-container .mat-slide-toggle-thumb{background-color:#fff}::ng-deep .mat-slide-toggle.mat-checked .mat-slide-toggle-bar:hover .mat-ripple-element{background-color:#da9803}::ng-deep .mat-slide-toggle .mat-slide-toggle-bar{width:40px;height:20px;border-radius:15px}::ng-deep .mat-slide-toggle .mat-slide-toggle-bar .mat-slide-toggle-thumb-container{width:17px;height:17px;top:2px;left:5px}::ng-deep .mat-slide-toggle .mat-slide-toggle-bar .mat-slide-toggle-thumb-container .mat-slide-toggle-thumb{height:16px;width:16px}::ng-deep mat-slider{height:24px}::ng-deep mat-slider .mat-slider-wrapper .mat-slider-track-wrapper{overflow:visible}::ng-deep mat-slider .mat-slider-wrapper .mat-slider-track-fill{background-color:#da9803}::ng-deep mat-slider .mat-slider-wrapper .mat-slider-thumb-container .mat-slider-thumb,::ng-deep mat-slider .mat-slider-wrapper .mat-slider-thumb-container .mat-slider-thumb-label{background-color:#da9803}::ng-deep mat-list .mat-list-item{border-bottom:1px solid #000}.mrp-save-grouping{pointer-events:all;position:absolute;bottom:10%;left:50%}\n"], components: [{ type: FloorplannerComponent, selector: "floor-planner", outputs: ["selectedWallChange"] }, { type: ContextMenuComponent, selector: "rp-context-menu", inputs: ["openMouseEvent"] }, { type: i4__namespace.ɵb, selector: "co-icon", inputs: ["icon", "iconData"] }, { type: ItemContextMenuComponent, selector: "rp-item-context-menu", inputs: ["item"], outputs: ["deletePressed"] }, { type: i5__namespace.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: ButtonElevationComponent, selector: "button-elevation", inputs: ["item"] }, { type: RightContextMenuComponent, selector: "rp-right-context-menu", inputs: ["item"], outputs: ["deletePressed"] }, { type: ToolbarIconComponent, selector: "rp-toolbar-icon", inputs: ["matIcon", "svgIcon", "tooltip", "disabled", "showLabel"], outputs: ["onClick"] }, { type: ZoomControlsComponent, selector: "rp-zoom-controls", inputs: ["visible"], outputs: ["onZoomIn", "onZoomReset", "onZoomOut"] }, { type: SettingsComponent, selector: "rp-settings", inputs: ["minWallHeight", "placeCameraDisabled"], outputs: ["onWallsHeightUpdate"] }, { type: CategoryLibraryComponent, selector: "rp-category-library", inputs: ["categories"], outputs: ["categoryClick"] }, { type: CustomShapeCreatorComponent, selector: "rp-custom-shape-creator", inputs: ["shape"] }, { type: CustomCylinderCreatorComponent, selector: "custom-cylinder-creator", inputs: ["shape"] }, { 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: ObjectLibraryComponent, selector: "rp-object-library", inputs: ["objects"], outputs: ["setDragged", "releaseDragged", "onObjectClick"] }, { type: i14__namespace.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { type: SelectedObjectComponent, selector: "rp-selected-object", inputs: ["object"], outputs: ["onSelectedObjectChange"] }, { type: SelectedWallComponent, selector: "rp-selected-wall", inputs: ["wall", "texturePlane", "color", "minWallHeight", "maxWallHeight", "maxWallThickness", "maxWallLength", "minWallLength"], outputs: ["remove", "setLength", "setHeight", "setThickness", "selectCorner", "setTexture", "setColor"] }, { type: SelectedThreedObjectComponent, selector: "rp-selected-threed-object", inputs: ["object", "showCopy", "showDelete", "showLock"], outputs: ["onSelectedObjectChange"] }, { type: SelectedFloorComponent, selector: "rp-selected-floor", inputs: ["floor", "texturePlane", "color"], outputs: ["setTexture", "setColor"] }], directives: [{ type: i6__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7__namespace$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i10__namespace.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { type: i15__namespace.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: i15__namespace.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"] }], pipes: { "localize": LocalizePipe } });
|
|
41802
41825
|
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0__namespace, type: RoomPlannerComponent, decorators: [{
|
|
41803
41826
|
type: i0.Component,
|
|
41804
41827
|
args: [{
|
|
41805
41828
|
selector: 'rp-room-planner',
|
|
41806
|
-
template: "\n <div class=\"RoomPlanner\">\n <floor-planner\n [class.hidden]=\"!viewModeService.is2dViewActive()\"\n (selectedWallChange)=\"selectWall($event)\"></floor-planner>\n </div>\n\n <rp-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && selectedWall\"\n [openMouseEvent]=\"contextMenuMouseEvent\">\n <div class=\"rp-item-context-menu-wrap \">\n <div (click)=\"showSelectedWallSidebar()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </div>\n </rp-context-menu>\n\n <rp-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && selectedFloor\"\n [openMouseEvent]=\"contextMenuMouseEvent\">\n <div class=\"rp-item-context-menu-wrap\">\n <div (click)=\"showSelectedFloorSidebar()\" class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </div>\n </rp-context-menu>\n <rp-item-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && !showGroupMenu\"\n [item]=\"selectedObject\"\n (deletePressed)=\"handleDeleteObject()\">\n <div class=\"rp-item-context-menu-wrap\">\n <div class=\"rp-item-context-menu-close\" (click)=\"closeContextMenu()\">\n <span class=\"close-icon\"><co-icon [iconData]=\"iconService.getIcon(icon.XmarkLight)\"></co-icon></span>\n </div>\n <div *ngIf=\"this.selectedObject\" class=\"rp-item-context-menu-header\">\n <p *ngIf=\"this.selectedObject.name\">{{ this.selectedObject.name }}</p>\n <p *ngIf=\"!this.selectedObject.name\">{{ 'SELECTED_OBJECT' | localize }}</p>\n </div>\n <div *ngIf=\"showSettingsButton\" (click)=\"showSelectedObjectSidebar()\"\n class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n <ng-container *ngIf=\"showConfigurationButton\">\n <div *ngFor=\"let customButton of modelsService.customButtons\" (click)=\"handleConfigurationButtonClick(customButton)\"\n class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </ng-container>\n <div *ngIf=\"showCopyButton\" (click)=\"copySelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.CopyLight)\"></co-icon></span>\n <span class=\"label\">{{ 'COPY' | localize }}</span>\n </div>\n <div *ngIf=\"showDeleteButton\" (click)=\"removeSelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.TrashCanLight)\"></co-icon></span>\n <span class=\"label\">{{ 'REMOVE' | localize }}</span>\n </div>\n <div *ngIf=\"!showGroupEditMenuButtons\" (click)=\"startGroupSelection()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkLight)\"></co-icon></span>\n <span class=\"label\">{{ 'GROUP' | localize }}</span>\n </div>\n\n <div *ngIf=\"showConversionButton && settingsService.settings.showConversionButtons\"\n (click)=\"sendConversionToTagManager()\"\n class=\"rp-item-context-menu-item\"\n [ngClass]=\"addSelectedClass ? 'conversion-button-selected' : ''\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">add_shopping_cart</mat-icon></span>\n <span class=\"label\">{{ 'CONVERSION' | localize }}</span>\n <span class=\"icon icon-selected\"><mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon></span>\n </div>\n\n\n <div *ngIf=\"showARButton\" (click)=\"startARSession()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">weekend</mat-icon></span>\n <span class=\"label\">{{ 'AR' | localize }}</span>\n </div>\n <button-elevation\n *ngIf=\"selectedObject && selectedObject.elevationAdjustable\"\n [item]=\"selectedObject\">\n </button-elevation>\n <ng-container *ngIf=\"salableObject\">\n <div class=\"toolbar__divider context-menu\"></div>\n <div (click)=\"addToCart(selectedObject)\" class=\"rp-item-context-menu-item add-to-cart-button\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\" [svgIcon]=\"'cart-shopping-regular'\"></mat-icon></span>\n <span class=\"label\">{{ 'ADD_TO_CART' | localize }}</span>\n </div>\n </ng-container>\n </div>\n </rp-item-context-menu>\n\n <rp-item-context-menu *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && showGroupMenu && !userIsGrouping\"\n [item]=\"selectedObject\"\n (deletePressed)=\"handleDeleteObject()\">\n <div class=\"rp-item-context-menu-wrap\">\n <div *ngIf=\"!showGroupEditMenuButtons\" (click)=\"onGroupClick()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkLight)\"></co-icon></span>\n <span class=\"label\">{{ 'GROUP' | localize }}</span>\n </div>\n <div *ngIf=\"showGroupEditMenuButtons\" (click)=\"onUnGroupClick()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkSlashLight)\"></co-icon></span>\n <span class=\"label\">{{ 'UNGROUP' | localize }}</span>\n </div>\n <div *ngIf=\"showGroupEditMenuButtons\" (click)=\"removeSelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.TrashCanLight)\"></co-icon></span>\n <span class=\"label\">{{ 'REMOVE' | localize }}</span>\n </div>\n <div *ngIf=\"showLockButton && selectedObject && showGroupEditMenuButtons\" (click)=\"toggleLockSelectedObject()\"\n class=\"rp-item-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}\">\n <co-icon *ngIf=\"selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockLight)\"></co-icon>\n <co-icon *ngIf=\"!selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockOpenLight)\"></co-icon>\n </span>\n <span class=\"label\">{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}</span>\n </div>\n </div>\n </rp-item-context-menu>\n <rp-right-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && !showGroupMenu\"\n [item]=\"selectedObject\">\n <div class=\"rp-right-context-menu-wrap\">\n <div *ngIf=\"showLockButton && selectedObject\" (click)=\"toggleLockSelectedObject()\"\n class=\"rp-right-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}\">\n <co-icon *ngIf=\"selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockLight)\"></co-icon>\n <co-icon *ngIf=\"!selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockOpenLight)\"></co-icon>\n </span>\n </div>\n <div *ngIf=\"showConfigurationButton\" (click)=\"showSelectedThreedObjectSidebar()\"\n class=\"rp-right-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{'SETTINGS' | localize}}\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Settings)\"></co-icon>\n </span>\n </div>\n </div>\n </rp-right-context-menu>\n <ng-template #toolbarIconLibrary>\n <rp-toolbar-icon\n *ngIf=\"!phoneSizeScreen\"\n [disabled]=\"viewModeService.is2dViewActive() || viewModeService.isWalkThroughViewActive()\"\n matIcon=\"house\"\n tooltip=\"{{iconName.Architecture | localize}}\"\n (onClick)=\"showLibraryCategories()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIconAccessoires>\n <rp-toolbar-icon\n [disabled]=\"viewModeService.is2dViewActive() || viewModeService.isWalkThroughViewActive()\"\n matIcon=\"flower\"\n tooltip=\"{{iconName.Accessories | localize}}\"\n (onClick)=\"showAccessoireCategories()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIcon2dView>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon\n *ngIf=\"!phoneSizeScreen\"\n matIcon=\"draw_square\"\n tooltip=\"{{iconName.TwodFloorplan | localize}}\"\n [disabled]=\"viewModeService.is2dViewActive() || !desktopSizeScreen\"\n (onClick)=\"updateMode(viewModes.FloorPlan2D, true)\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarShowDiagram>\n <rp-toolbar-icon\n *ngIf=\"diagramToggleAvailable\"\n matIcon=\"image_slash_regular\"\n tooltip=\"'Toggle achtergrond'\"\n (onClick)=\"toggleDiagram()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIcon3dView>\n <rp-toolbar-icon\n matIcon=\"cube\"\n tooltip=\"{{iconName.ThreedRoomplan | localize}}\"\n [disabled]=\"viewModeService.is3dViewActive() || !threedIconAvailable\"\n (onClick)=\"updateMode(viewModes.RoomPlan3D, true)\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <rp-zoom-controls\n [visible]=\"viewModeService.is2dViewActive()\"\n (onZoomIn)=\"zoomIn()\"\n (onZoomReset)=\"zoomReset()\"\n (onZoomOut)=\"zoomOut()\"\n ></rp-zoom-controls>\n\n <ng-template #toolbarIconSettings>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon\n matIcon=\"settings\"\n tooltip=\"{{iconName.Settings | localize}}\"\n (onClick)=\"showSettings()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n <ng-template #toolbarIconCart>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon class=\"add-to-cart-button\"\n matIcon=\"cart-shopping-regular\"\n tooltip=\"{{'ADD_TO_CART' | localize}}\"\n (onClick)=\"addAllToCart()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n <span class=\"toolbar__divider\"></span>\n </ng-template>\n\n <ng-template #toolbarSnappingIcon>\n <rp-toolbar-icon\n *ngIf=\"this.settingsService.settings.options.usePlacementSnapping\"\n matIcon=\"magnet\"\n (onClick)=\"toggleObjectSnapping()\"\n [showLabel]=\"phoneSizeScreen\"\n tooltip=\"{{'TOGGLE_OBJECT_SNAPPING_OFF' | localize}}\"\n ></rp-toolbar-icon>\n\n <rp-toolbar-icon\n *ngIf=\"!this.settingsService.settings.options.usePlacementSnapping\"\n matIcon=\"magnet_strikethrough\"\n (onClick)=\"toggleObjectSnapping()\"\n [showLabel]=\"phoneSizeScreen\"\n tooltip=\"{{'TOGGLE_OBJECT_SNAPPING_ON' | localize}}\"\n ></rp-toolbar-icon>\n </ng-template>\n\n\n <ng-template #settingsSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'SETTINGS' | localize }}</h2>\n </header>\n <rp-settings\n [placeCameraDisabled]=\"viewModeService.is2dViewActive() || itemService.getWalkthroughCamera()\"\n [minWallHeight]=\"getMinGlobalWallHeight()\"\n (onWallsHeightUpdate)=\"wallsHeightUpdated($event)\"\n >\n </rp-settings>\n </ng-template>\n\n <ng-template #categoriesSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'ARCHITECTURE' | localize }}</h2>\n </header>\n <rp-category-library\n [categories]=\"categories\"\n (categoryClick)=\"showLibraryCategory($event)\"\n >\n </rp-category-library>\n </ng-template>\n\n <ng-template #accessoiresCategoriesSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'ACCESSOIRES' | localize }}</h2>\n </header>\n <rp-category-library\n [categories]=\"accessoireCategories\"\n (categoryClick)=\"showLibraryCategory($event)\"\n >\n </rp-category-library>\n </ng-template>\n\n <ng-template #customShapeCreatorSideBar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'CUSTOM_SHAPE_CREATOR' | localize }}</h2>\n </header>\n <rp-custom-shape-creator [shape]=\"selectedObject\"></rp-custom-shape-creator>\n </ng-template>\n\n <ng-template #customCylinderCreatorSideBar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'CUSTOM_SHAPE_CREATOR' | localize }}</h2>\n </header>\n <custom-cylinder-creator [shape]=\"selectedObject\"></custom-cylinder-creator>\n </ng-template>\n\n <ng-template #librarySidebar>\n <div fxLayout=\"column\" class=\"with-scrollable-section\">\n <header class=\"drawer__header\">\n <button mat-icon-button (click)=\"showActiveCategorySidebar()\">\n <mat-icon class=\"homedecorator-material-icons\">arrow_back_ios</mat-icon>\n </button>\n <h2 class=\"mat-title\">{{ selectedCategory.name | localize }}</h2>\n </header>\n <p class=\"mat-body\" *ngIf=\"selectedCategory.description\">{{ selectedCategory.description | localize }}</p>\n <section fxFlex=\"grow\" *ngIf=\"libraryObjects?.length > 0 || hasCustomObjects()\">\n <ng-container *ngIf=\"hasCustomObjects()\">\n <h3 class=\"mat-subheading-2\">{{ 'CUSTOM' | localize }}</h3>\n <rp-object-library\n [objects]=\"customObjects\"\n (setDragged)=\"setDragged($event)\"\n (releaseDragged)=\"releaseDragged()\"\n (onObjectClick)=\"onObjectLibraryClick($event)\"\n >\n </rp-object-library>\n <mat-divider></mat-divider>\n </ng-container>\n <ng-container *ngIf=\"libraryObjects?.length > 0\">\n <h3 class=\"mat-subheading-2\">{{ 'LIBRARY' | localize }}</h3>\n <rp-object-library\n [objects]=\"libraryObjects\"\n (setDragged)=\"setDragged($event)\"\n (releaseDragged)=\"releaseDragged()\"\n (onObjectClick)=\"onObjectLibraryClick($event)\"\n >\n </rp-object-library>\n </ng-container>\n </section>\n </div>\n </ng-template>\n\n <ng-template #selectedObjectSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'OBJECT' | localize }}</h2>\n </header>\n <rp-selected-object\n [object]=\"selectedObject\"\n (onSelectedObjectChange)=\"updateSelectedObjectHud()\"\n >\n </rp-selected-object>\n </ng-template>\n\n <ng-template #selectedWallSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'WALL'| localize }}</h2>\n </header>\n <rp-selected-wall\n [wall]=\"selectedWall\"\n [texturePlane]=\"selectedEdges[0]\"\n [minWallHeight]=\"getMinWallHeight(selectedWall)\"\n [maxWallHeight]=\"maxWallHeight\"\n [maxWallThickness]=\"maxWallThickness\"\n [maxWallLength]=\"maxWallLength\"\n [minWallLength]=\"minWallLength\"\n (remove)=\"removeWall($event)\"\n (setLength)=\"setWallLength($event)\"\n (setHeight)=\"setWallHeight($event)\"\n (setThickness)=\"setWallThickness($event)\"\n (selectCorner)=\"selectCorner($event)\"\n (setTexture)=\"setWallTexture($event)\"\n (setColor)=\"setWallColor($event)\"\n >\n </rp-selected-wall>\n </ng-template>\n\n <ng-template #selectedThreedObjectSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\" [textContent]=\"'SETTINGS' | localize\"></h2>\n </header>\n <rp-selected-threed-object\n [object]=\"selectedObject\"\n [showCopy]=\"showCopyButton\"\n [showDelete]=\"showDeleteButton\"\n [showLock]=\"showLockButton\"\n (onSelectedObjectChange)=\"updateSelectedObjectHud()\"\n >\n </rp-selected-threed-object>\n </ng-template>\n\n <ng-template #selectedFloorSidebar>\n <h2 class=\"mat-title\">{{ 'FLOOR' | localize }}</h2>\n <rp-selected-floor\n [floor]=\"selectedFloor\"\n [texturePlane]=\"selectedFloor\"\n (setTexture)=\"setFloorTexture($event)\"\n (setColor)=\"setFloorColor($event)\"\n (selectedFloorClosed)=\"selectedFloor = undefined\"\n >\n </rp-selected-floor>\n </ng-template>\n\n <ng-container *ngIf=\"userIsGrouping\">\n <div class=\"rp-item-context-menu-wrap mrp-save-grouping\" *ngIf=\"userIsGrouping\">\n <div class=\"rp-item-context-menu-item\" (click)=\"onGroupClick()\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">check</mat-icon></span>\n <span class=\"label\">{{ 'GROUPING' | localize }}</span>\n </div>\n <div class=\"rp-item-context-menu-item\" (click)=\"cancelGroupSelection()\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">cancel</mat-icon></span>\n <span class=\"label\">{{ 'CANCEL' | localize }}</span>\n </div>\n </div>\n </ng-container>\n\n ",
|
|
41829
|
+
template: "\n <div class=\"RoomPlanner\">\n <floor-planner\n [class.hidden]=\"!viewModeService.is2dViewActive()\"\n (selectedWallChange)=\"selectWall($event)\"></floor-planner>\n </div>\n\n <rp-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && selectedWall\"\n [openMouseEvent]=\"contextMenuMouseEvent\">\n <div class=\"rp-item-context-menu-wrap \">\n <div (click)=\"showSelectedWallSidebar()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </div>\n </rp-context-menu>\n\n <rp-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && selectedFloor\"\n [openMouseEvent]=\"contextMenuMouseEvent\">\n <div class=\"rp-item-context-menu-wrap\">\n <div (click)=\"showSelectedFloorSidebar()\" class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </div>\n </rp-context-menu>\n <rp-item-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && !showGroupMenu\"\n [item]=\"selectedObject\"\n (deletePressed)=\"handleDeleteObject()\">\n <div class=\"rp-item-context-menu-wrap\">\n <div class=\"rp-item-context-menu-close\" (click)=\"closeContextMenu()\">\n <span class=\"close-icon\"><co-icon [iconData]=\"iconService.getIcon(icon.XmarkLight)\"></co-icon></span>\n </div>\n <div *ngIf=\"this.selectedObject\" class=\"rp-item-context-menu-header\">\n <p *ngIf=\"this.selectedObject.name\">{{ this.selectedObject.name }}</p>\n <p *ngIf=\"!this.selectedObject.name\">{{ 'SELECTED_OBJECT' | localize }}</p>\n </div>\n <div *ngIf=\"showSettingsButton\" (click)=\"showSelectedObjectSidebar()\"\n class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n <ng-container *ngIf=\"showConfigurationButton\">\n <div *ngFor=\"let customButton of modelsService.customButtons\" (click)=\"handleConfigurationButtonClick(customButton)\"\n class=\"rp-item-context-menu-item \">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.WandMagicSparkles)\"></co-icon></span>\n <span class=\"label\">{{ 'CONFIGURE' | localize }}</span>\n </div>\n </ng-container>\n <div *ngIf=\"showCopyButton\" (click)=\"copySelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.CopyLight)\"></co-icon></span>\n <span class=\"label\">{{ 'COPY' | localize }}</span>\n </div>\n <div *ngIf=\"showDeleteButton\" (click)=\"removeSelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.TrashCanLight)\"></co-icon></span>\n <span class=\"label\">{{ 'REMOVE' | localize }}</span>\n </div>\n <div *ngIf=\"!showGroupEditMenuButtons\" (click)=\"startGroupSelection()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkLight)\"></co-icon></span>\n <span class=\"label\">{{ 'GROUP' | localize }}</span>\n </div>\n\n <div *ngIf=\"showConversionButton && settingsService.settings.showConversionButtons\"\n (click)=\"sendConversionToTagManager()\"\n class=\"rp-item-context-menu-item\"\n [ngClass]=\"addSelectedClass ? 'conversion-button-selected' : ''\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">add_shopping_cart</mat-icon></span>\n <span class=\"label\">{{ 'CONVERSION' | localize }}</span>\n <span class=\"icon icon-selected\"><mat-icon class=\"homedecorator-material-icons\">check_circle</mat-icon></span>\n </div>\n\n\n <div *ngIf=\"showARButton\" (click)=\"startARSession()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">weekend</mat-icon></span>\n <span class=\"label\">{{ 'AR' | localize }}</span>\n </div>\n <button-elevation\n *ngIf=\"selectedObject && selectedObject.elevationAdjustable\"\n [item]=\"selectedObject\">\n </button-elevation>\n <ng-container *ngIf=\"salableObject\">\n <div class=\"toolbar__divider context-menu\"></div>\n <div (click)=\"addToCart(selectedObject)\" class=\"rp-item-context-menu-item add-to-cart-button\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\" [svgIcon]=\"'cart-shopping-regular'\"></mat-icon></span>\n <span class=\"label\">{{ 'ADD_TO_CART' | localize }}</span>\n </div>\n </ng-container>\n </div>\n </rp-item-context-menu>\n\n <rp-item-context-menu *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && showGroupMenu && !userIsGrouping\"\n [item]=\"selectedObject\"\n (deletePressed)=\"handleDeleteObject()\">\n <div class=\"rp-item-context-menu-wrap\">\n <div *ngIf=\"!showGroupEditMenuButtons\" (click)=\"onGroupClick()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkLight)\"></co-icon></span>\n <span class=\"label\">{{ 'GROUP' | localize }}</span>\n </div>\n <div *ngIf=\"showGroupEditMenuButtons\" (click)=\"onUnGroupClick()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.LinkSlashLight)\"></co-icon></span>\n <span class=\"label\">{{ 'UNGROUP' | localize }}</span>\n </div>\n <div *ngIf=\"showGroupEditMenuButtons\" (click)=\"removeSelectedObject()\" class=\"rp-item-context-menu-item\">\n <span class=\"icon\"><co-icon [iconData]=\"iconService.getIcon(icon.TrashCanLight)\"></co-icon></span>\n <span class=\"label\">{{ 'REMOVE' | localize }}</span>\n </div>\n <div *ngIf=\"showLockButton && selectedObject && showGroupEditMenuButtons\" (click)=\"toggleLockSelectedObject()\"\n class=\"rp-item-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}\">\n <co-icon *ngIf=\"selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockLight)\"></co-icon>\n <co-icon *ngIf=\"!selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockOpenLight)\"></co-icon>\n </span>\n <span class=\"label\">{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}</span>\n </div>\n </div>\n </rp-item-context-menu>\n <rp-right-context-menu\n *ngIf=\"!viewModeService.is2dViewActive() && showContextMenu && !showGroupMenu\"\n [item]=\"selectedObject\">\n <div class=\"rp-right-context-menu-wrap\">\n <div *ngIf=\"showLockButton && selectedObject\" (click)=\"toggleLockSelectedObject()\"\n class=\"rp-right-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{ (selectedObject.locked ? 'UNLOCK' : 'LOCK') | localize }}\">\n <co-icon *ngIf=\"selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockLight)\"></co-icon>\n <co-icon *ngIf=\"!selectedObject.locked\"\n [textContent]=\"selectedObject.locked ? 'lock' : 'lock_open'\"\n [iconData]=\"iconService.getIcon(icon.LockOpenLight)\"></co-icon>\n </span>\n </div>\n <div *ngIf=\"showConfigurationButton\" (click)=\"showSelectedThreedObjectSidebar()\"\n class=\"rp-right-context-menu-item\">\n <span class=\"icon\" matTooltip=\"{{'SETTINGS' | localize}}\">\n <co-icon [iconData]=\"iconService.getIcon(icon.Settings)\"></co-icon>\n </span>\n </div>\n </div>\n </rp-right-context-menu>\n <ng-template #toolbarIconLibrary>\n <rp-toolbar-icon\n *ngIf=\"!phoneSizeScreen\"\n [disabled]=\"viewModeService.is2dViewActive() || viewModeService.isWalkThroughViewActive()\"\n matIcon=\"house\"\n tooltip=\"{{iconName.Architecture | localize}}\"\n (onClick)=\"showLibraryCategories()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIconAccessoires>\n <rp-toolbar-icon\n [disabled]=\"viewModeService.is2dViewActive() || viewModeService.isWalkThroughViewActive()\"\n matIcon=\"flower\"\n tooltip=\"{{iconName.Accessories | localize}}\"\n (onClick)=\"showAccessoireCategories()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIcon2dView>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon\n *ngIf=\"!phoneSizeScreen\"\n matIcon=\"draw_square\"\n tooltip=\"{{iconName.TwodFloorplan | localize}}\"\n [disabled]=\"viewModeService.is2dViewActive() || !desktopSizeScreen\"\n (onClick)=\"updateMode(viewModes.FloorPlan2D, true)\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarShowDiagram>\n <rp-toolbar-icon\n *ngIf=\"diagramToggleAvailable && viewModeService.is2dViewActive()\"\n matIcon=\"image_slash_regular\"\n tooltip=\"'Toggle achtergrond'\"\n (onClick)=\"toggleDiagram()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <ng-template #toolbarIcon3dView>\n <rp-toolbar-icon\n matIcon=\"cube\"\n tooltip=\"{{iconName.ThreedRoomplan | localize}}\"\n [disabled]=\"viewModeService.is3dViewActive() || !threedIconAvailable\"\n (onClick)=\"updateMode(viewModes.RoomPlan3D, true)\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n\n <rp-zoom-controls\n [visible]=\"viewModeService.is2dViewActive()\"\n (onZoomIn)=\"zoomIn()\"\n (onZoomReset)=\"zoomReset()\"\n (onZoomOut)=\"zoomOut()\"\n ></rp-zoom-controls>\n\n <ng-template #toolbarIconSettings>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon\n matIcon=\"settings\"\n tooltip=\"{{iconName.Settings | localize}}\"\n (onClick)=\"showSettings()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n </ng-template>\n <ng-template #toolbarIconCart>\n <span class=\"toolbar__divider\"></span>\n <rp-toolbar-icon class=\"add-to-cart-button\"\n matIcon=\"cart-shopping-regular\"\n tooltip=\"{{'ADD_TO_CART' | localize}}\"\n (onClick)=\"addAllToCart()\"\n [showLabel]=\"phoneSizeScreen\"\n ></rp-toolbar-icon>\n <span class=\"toolbar__divider\"></span>\n </ng-template>\n\n <ng-template #toolbarSnappingIcon>\n <rp-toolbar-icon\n *ngIf=\"this.settingsService.settings.options.usePlacementSnapping\"\n matIcon=\"magnet\"\n (onClick)=\"toggleObjectSnapping()\"\n [showLabel]=\"phoneSizeScreen\"\n tooltip=\"{{'TOGGLE_OBJECT_SNAPPING_OFF' | localize}}\"\n ></rp-toolbar-icon>\n\n <rp-toolbar-icon\n *ngIf=\"!this.settingsService.settings.options.usePlacementSnapping\"\n matIcon=\"magnet_strikethrough\"\n (onClick)=\"toggleObjectSnapping()\"\n [showLabel]=\"phoneSizeScreen\"\n tooltip=\"{{'TOGGLE_OBJECT_SNAPPING_ON' | localize}}\"\n ></rp-toolbar-icon>\n </ng-template>\n\n\n <ng-template #settingsSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'SETTINGS' | localize }}</h2>\n </header>\n <rp-settings\n [placeCameraDisabled]=\"viewModeService.is2dViewActive() || itemService.getWalkthroughCamera()\"\n [minWallHeight]=\"getMinGlobalWallHeight()\"\n (onWallsHeightUpdate)=\"wallsHeightUpdated($event)\"\n >\n </rp-settings>\n </ng-template>\n\n <ng-template #categoriesSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'ARCHITECTURE' | localize }}</h2>\n </header>\n <rp-category-library\n [categories]=\"categories\"\n (categoryClick)=\"showLibraryCategory($event)\"\n >\n </rp-category-library>\n </ng-template>\n\n <ng-template #accessoiresCategoriesSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'ACCESSOIRES' | localize }}</h2>\n </header>\n <rp-category-library\n [categories]=\"accessoireCategories\"\n (categoryClick)=\"showLibraryCategory($event)\"\n >\n </rp-category-library>\n </ng-template>\n\n <ng-template #customShapeCreatorSideBar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'CUSTOM_SHAPE_CREATOR' | localize }}</h2>\n </header>\n <rp-custom-shape-creator [shape]=\"selectedObject\"></rp-custom-shape-creator>\n </ng-template>\n\n <ng-template #customCylinderCreatorSideBar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'CUSTOM_SHAPE_CREATOR' | localize }}</h2>\n </header>\n <custom-cylinder-creator [shape]=\"selectedObject\"></custom-cylinder-creator>\n </ng-template>\n\n <ng-template #librarySidebar>\n <div fxLayout=\"column\" class=\"with-scrollable-section\">\n <header class=\"drawer__header\">\n <button mat-icon-button (click)=\"showActiveCategorySidebar()\">\n <mat-icon class=\"homedecorator-material-icons\">arrow_back_ios</mat-icon>\n </button>\n <h2 class=\"mat-title\">{{ selectedCategory.name | localize }}</h2>\n </header>\n <p class=\"mat-body\" *ngIf=\"selectedCategory.description\">{{ selectedCategory.description | localize }}</p>\n <section fxFlex=\"grow\" *ngIf=\"libraryObjects?.length > 0 || hasCustomObjects()\">\n <ng-container *ngIf=\"hasCustomObjects()\">\n <h3 class=\"mat-subheading-2\">{{ 'CUSTOM' | localize }}</h3>\n <rp-object-library\n [objects]=\"customObjects\"\n (setDragged)=\"setDragged($event)\"\n (releaseDragged)=\"releaseDragged()\"\n (onObjectClick)=\"onObjectLibraryClick($event)\"\n >\n </rp-object-library>\n <mat-divider></mat-divider>\n </ng-container>\n <ng-container *ngIf=\"libraryObjects?.length > 0\">\n <h3 class=\"mat-subheading-2\">{{ 'LIBRARY' | localize }}</h3>\n <rp-object-library\n [objects]=\"libraryObjects\"\n (setDragged)=\"setDragged($event)\"\n (releaseDragged)=\"releaseDragged()\"\n (onObjectClick)=\"onObjectLibraryClick($event)\"\n >\n </rp-object-library>\n </ng-container>\n </section>\n </div>\n </ng-template>\n\n <ng-template #selectedObjectSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'OBJECT' | localize }}</h2>\n </header>\n <rp-selected-object\n [object]=\"selectedObject\"\n (onSelectedObjectChange)=\"updateSelectedObjectHud()\"\n >\n </rp-selected-object>\n </ng-template>\n\n <ng-template #selectedWallSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\">{{ 'WALL'| localize }}</h2>\n </header>\n <rp-selected-wall\n [wall]=\"selectedWall\"\n [texturePlane]=\"selectedEdges[0]\"\n [minWallHeight]=\"getMinWallHeight(selectedWall)\"\n [maxWallHeight]=\"maxWallHeight\"\n [maxWallThickness]=\"maxWallThickness\"\n [maxWallLength]=\"maxWallLength\"\n [minWallLength]=\"minWallLength\"\n (remove)=\"removeWall($event)\"\n (setLength)=\"setWallLength($event)\"\n (setHeight)=\"setWallHeight($event)\"\n (setThickness)=\"setWallThickness($event)\"\n (selectCorner)=\"selectCorner($event)\"\n (setTexture)=\"setWallTexture($event)\"\n (setColor)=\"setWallColor($event)\"\n >\n </rp-selected-wall>\n </ng-template>\n\n <ng-template #selectedThreedObjectSidebar>\n <header class=\"drawer__header\">\n <h2 class=\"mat-title\" [textContent]=\"'SETTINGS' | localize\"></h2>\n </header>\n <rp-selected-threed-object\n [object]=\"selectedObject\"\n [showCopy]=\"showCopyButton\"\n [showDelete]=\"showDeleteButton\"\n [showLock]=\"showLockButton\"\n (onSelectedObjectChange)=\"updateSelectedObjectHud()\"\n >\n </rp-selected-threed-object>\n </ng-template>\n\n <ng-template #selectedFloorSidebar>\n <h2 class=\"mat-title\">{{ 'FLOOR' | localize }}</h2>\n <rp-selected-floor\n [floor]=\"selectedFloor\"\n [texturePlane]=\"selectedFloor\"\n (setTexture)=\"setFloorTexture($event)\"\n (setColor)=\"setFloorColor($event)\"\n (selectedFloorClosed)=\"selectedFloor = undefined\"\n >\n </rp-selected-floor>\n </ng-template>\n\n <ng-container *ngIf=\"userIsGrouping\">\n <div class=\"rp-item-context-menu-wrap mrp-save-grouping\" *ngIf=\"userIsGrouping\">\n <div class=\"rp-item-context-menu-item\" (click)=\"onGroupClick()\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">check</mat-icon></span>\n <span class=\"label\">{{ 'GROUPING' | localize }}</span>\n </div>\n <div class=\"rp-item-context-menu-item\" (click)=\"cancelGroupSelection()\">\n <span class=\"icon\"><mat-icon class=\"homedecorator-material-icons\">cancel</mat-icon></span>\n <span class=\"label\">{{ 'CANCEL' | localize }}</span>\n </div>\n </div>\n </ng-container>\n\n ",
|
|
41807
41830
|
styleUrls: ['./room-planner.component.scss'] /*,
|
|
41808
41831
|
changeDetection: ChangeDetectionStrategy.OnPush*/
|
|
41809
41832
|
}]
|