@colijnit/configurator 261.1.1 → 261.20.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{fesm2015/colijnit-configurator.js → fesm2022/colijnit-configurator.mjs} +19087 -18481
- package/fesm2022/colijnit-configurator.mjs.map +1 -0
- package/index.d.ts +3299 -0
- package/lib/components/answer-card/style/_layout.scss +3 -3
- package/lib/components/answers-slideout/style/_layout.scss +1 -0
- package/lib/style/configurator-globals.scss +1 -21
- package/package.json +24 -19
- package/bundles/colijnit-configurator.umd.js +0 -20167
- package/bundles/colijnit-configurator.umd.js.map +0 -1
- package/colijnit-configurator.d.ts +0 -5
- package/esm2015/colijnit-configurator.js +0 -5
- package/esm2015/lib/builder.js +0 -795
- package/esm2015/lib/components/answer-card/answer-card.component.js +0 -313
- package/esm2015/lib/components/answer-card/answer-card.module.js +0 -50
- package/esm2015/lib/components/answer-info-dialog/answer-info-dialog.component.js +0 -182
- package/esm2015/lib/components/answer-info-dialog/answer-info-dialog.module.js +0 -34
- package/esm2015/lib/components/answers-slideout/answers-slideout.component.js +0 -490
- package/esm2015/lib/components/answers-slideout/answers-slideout.module.js +0 -61
- package/esm2015/lib/components/color-filter/color-filter.component.js +0 -59
- package/esm2015/lib/components/color-filter/color-filter.module.js +0 -26
- package/esm2015/lib/components/configurator/configurator.component.js +0 -133
- package/esm2015/lib/components/configurator/configurator.module.js +0 -42
- package/esm2015/lib/components/configurator-dialog/configurator-camera-settings.component.js +0 -222
- package/esm2015/lib/components/configurator-dialog/configurator-dialog.module.js +0 -48
- package/esm2015/lib/components/configurator-dialog/configurator-error-dialog.component.js +0 -82
- package/esm2015/lib/components/configurator-dialog/configurator-export-dialog.component.js +0 -163
- package/esm2015/lib/components/configurator-loader/configurator-loader.component.js +0 -49
- package/esm2015/lib/components/configurator-loader/configurator-loader.module.js +0 -33
- package/esm2015/lib/components/configurator-scene/configurator-scene.component.js +0 -60
- package/esm2015/lib/components/configurator-scene/configurator-scene.module.js +0 -17
- package/esm2015/lib/components/configurator-scene-loader/configurator-scene-loader.component.js +0 -46
- package/esm2015/lib/components/configurator-scene-loader/configurator-scene-loader.module.js +0 -26
- package/esm2015/lib/components/element-buttons/element-buttons.component.js +0 -168
- package/esm2015/lib/components/element-buttons/element-buttons.module.js +0 -30
- package/esm2015/lib/components/element-toolbar/element-toolbar.component.js +0 -186
- package/esm2015/lib/components/element-toolbar/element-toolbar.module.js +0 -34
- package/esm2015/lib/components/image-zoom/image-zoom.component.js +0 -61
- package/esm2015/lib/components/image-zoom/image-zoom.module.js +0 -30
- package/esm2015/lib/components/lite-selector/lite-selector.component.js +0 -206
- package/esm2015/lib/components/lite-selector/lite-selector.module.js +0 -34
- package/esm2015/lib/components/product-configurator/product-configurator.component.js +0 -184
- package/esm2015/lib/components/product-configurator/product-configurator.module.js +0 -72
- package/esm2015/lib/components/product-configurator-selector/product-configurator-selector.component.js +0 -237
- package/esm2015/lib/components/product-configurator-selector/product-configurator-selector.module.js +0 -38
- package/esm2015/lib/components/product-configurator-selector-option/product-configurator-selector-option.component.js +0 -284
- package/esm2015/lib/components/product-configurator-selector-option/product-configurator-selector-option.module.js +0 -42
- package/esm2015/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.component.js +0 -72
- package/esm2015/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.module.js +0 -34
- package/esm2015/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.component.js +0 -82
- package/esm2015/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.module.js +0 -30
- package/esm2015/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.component.js +0 -80
- package/esm2015/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.module.js +0 -34
- package/esm2015/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.component.js +0 -93
- package/esm2015/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.module.js +0 -34
- package/esm2015/lib/components/progress-bar/progress-bar.component.js +0 -55
- package/esm2015/lib/components/progress-bar/progress-bar.module.js +0 -29
- package/esm2015/lib/components/scene-options/scene-options.component.js +0 -164
- package/esm2015/lib/components/scene-options/scene-options.module.js +0 -38
- package/esm2015/lib/components/selections-summary/selections-summary.component.js +0 -163
- package/esm2015/lib/components/selections-summary/selections-summary.module.js +0 -45
- package/esm2015/lib/components/selections-summary-line/selections-summary-line.component.js +0 -171
- package/esm2015/lib/components/selections-summary-line/selections-summary-line.module.js +0 -34
- package/esm2015/lib/components/slideout/slideout.component.js +0 -83
- package/esm2015/lib/components/slideout/slideout.module.js +0 -17
- package/esm2015/lib/components/summary-line/summary-line.component.js +0 -273
- package/esm2015/lib/components/summary-line/summary-line.module.js +0 -44
- package/esm2015/lib/components/tag-filter/tag-filter.component.js +0 -39
- package/esm2015/lib/components/tag-filter/tag-filter.module.js +0 -21
- package/esm2015/lib/components/threedselector/threedselector.component.js +0 -155
- package/esm2015/lib/components/threedselector/threedselector.module.js +0 -34
- package/esm2015/lib/core/helper/variation-helper.js +0 -553
- package/esm2015/lib/core/shader/floor-fade.shader.js +0 -33
- package/esm2015/lib/core/textures/depth-data-texture.js +0 -19
- package/esm2015/lib/directives/directives.module.js +0 -26
- package/esm2015/lib/directives/visibility-observer-master.directive.js +0 -53
- package/esm2015/lib/directives/visibility-observer.directive.js +0 -54
- package/esm2015/lib/enum/ar-feature.enum.js +0 -14
- package/esm2015/lib/enum/configuration-key.enum.js +0 -41
- package/esm2015/lib/enum/configuration-template.enum.js +0 -6
- package/esm2015/lib/enum/device-size-type.js +0 -7
- package/esm2015/lib/enum/device-tier.enum.js +0 -7
- package/esm2015/lib/enum/icon.enum.js +0 -113
- package/esm2015/lib/enum/item-type.enum.js +0 -23
- package/esm2015/lib/enum/light.enum.js +0 -9
- package/esm2015/lib/enum/navigator-type.enum.js +0 -6
- package/esm2015/lib/enum/output-encoding.enum.js +0 -9
- package/esm2015/lib/enum/result-type.enum.js +0 -21
- package/esm2015/lib/enum/scene-event.enum.js +0 -12
- package/esm2015/lib/enum/shadow-map-type.enum.js +0 -8
- package/esm2015/lib/enum/texture-type.js +0 -9
- package/esm2015/lib/enum/tone-mapping-local.enum.js +0 -12
- package/esm2015/lib/enum/view-mode.enum.js +0 -7
- package/esm2015/lib/enum/xr-mode.enum.js +0 -6
- package/esm2015/lib/environments/environment.js +0 -8
- package/esm2015/lib/interfaces/aa-options.interface.js +0 -2
- package/esm2015/lib/interfaces/adjustable-element.interface.js +0 -2
- package/esm2015/lib/interfaces/ao-options.interface.js +0 -2
- package/esm2015/lib/interfaces/changes.interface.js +0 -2
- package/esm2015/lib/interfaces/configuration-data.interface.js +0 -2
- package/esm2015/lib/interfaces/light-preset.interface.js +0 -2
- package/esm2015/lib/interfaces/post-processing-setting.interface.js +0 -2
- package/esm2015/lib/interfaces/scene-option-button.interface.js +0 -6
- package/esm2015/lib/interfaces/screen-size-info.js +0 -2
- package/esm2015/lib/interfaces/setting.interface.js +0 -2
- package/esm2015/lib/interfaces/texture.interface.js +0 -2
- package/esm2015/lib/interfaces/vignette-options.interface.js +0 -2
- package/esm2015/lib/model/ar-position-indicator.js +0 -18
- package/esm2015/lib/model/camera-settings.js +0 -14
- package/esm2015/lib/model/configuration-result-object.js +0 -6
- package/esm2015/lib/model/configurator-error-message.js +0 -9
- package/esm2015/lib/model/configurator-settings.js +0 -25
- package/esm2015/lib/model/custom-button.js +0 -16
- package/esm2015/lib/model/factory.js +0 -28
- package/esm2015/lib/model/icon.js +0 -112
- package/esm2015/lib/model/intersected-objects.js +0 -7
- package/esm2015/lib/model/light-preset.js +0 -73
- package/esm2015/lib/model/light-properties.js +0 -45
- package/esm2015/lib/model/material.js +0 -11
- package/esm2015/lib/model/metadata.js +0 -2
- package/esm2015/lib/model/render-parameters.js +0 -16
- package/esm2015/lib/model/setting-options.js +0 -71
- package/esm2015/lib/model/settings.js +0 -16
- package/esm2015/lib/model/shadow-properties.js +0 -10
- package/esm2015/lib/model/skin.js +0 -3
- package/esm2015/lib/model/texture.js +0 -76
- package/esm2015/lib/model/variation-settings.js +0 -54
- package/esm2015/lib/model/variation.js +0 -3
- package/esm2015/lib/model/xr-reticle.js +0 -79
- package/esm2015/lib/modules/render/enum/scene-type.enum.js +0 -6
- package/esm2015/lib/modules/render/model/ar-parameters.js +0 -12
- package/esm2015/lib/modules/render/model/scene-setting.js +0 -6
- package/esm2015/lib/modules/render/model/scene-settings.js +0 -3
- package/esm2015/lib/pipes/append.pipe.js +0 -21
- package/esm2015/lib/pipes/google-translate.pipe.js +0 -21
- package/esm2015/lib/pipes/localize.pipe.js +0 -28
- package/esm2015/lib/pipes/pipes.module.js +0 -41
- package/esm2015/lib/pipes/prepend.pipe.js +0 -21
- package/esm2015/lib/pipes/strip-html.pipe.js +0 -17
- package/esm2015/lib/services/app-event.service.js +0 -36
- package/esm2015/lib/services/app-initializer.service.js +0 -27
- package/esm2015/lib/services/ar.service.js +0 -844
- package/esm2015/lib/services/build-furniture-base.service.js +0 -1181
- package/esm2015/lib/services/build-furniture-without-scene.service.js +0 -86
- package/esm2015/lib/services/build-furniture.service.js +0 -169
- package/esm2015/lib/services/bundle-initialzer.service.js +0 -113
- package/esm2015/lib/services/camera.service.js +0 -123
- package/esm2015/lib/services/configuration.service.js +0 -79
- package/esm2015/lib/services/configurator-connector.service.js +0 -830
- package/esm2015/lib/services/configurator.service.js +0 -285
- package/esm2015/lib/services/configuring.service.js +0 -119
- package/esm2015/lib/services/controls.js +0 -799
- package/esm2015/lib/services/debug.service.js +0 -43
- package/esm2015/lib/services/dictionary.service.js +0 -65
- package/esm2015/lib/services/dynamic-camera.service.js +0 -96
- package/esm2015/lib/services/floor-plane.service.js +0 -252
- package/esm2015/lib/services/font.service.js +0 -27
- package/esm2015/lib/services/google-translate.service.js +0 -79
- package/esm2015/lib/services/icon-cache.service.js +0 -44
- package/esm2015/lib/services/intersection.service.js +0 -47
- package/esm2015/lib/services/item.service.js +0 -75
- package/esm2015/lib/services/json-utils.service.js +0 -48
- package/esm2015/lib/services/light-creation.service.js +0 -35
- package/esm2015/lib/services/light-presets.service.js +0 -157
- package/esm2015/lib/services/lights.service.js +0 -146
- package/esm2015/lib/services/load-furniture-base.service.js +0 -164
- package/esm2015/lib/services/load-furniture-without-scene.service.js +0 -45
- package/esm2015/lib/services/load-furniture.service.js +0 -72
- package/esm2015/lib/services/loader.service.js +0 -32
- package/esm2015/lib/services/locator.service.js +0 -11
- package/esm2015/lib/services/message-board.service.js +0 -50
- package/esm2015/lib/services/post-processing.service.js +0 -378
- package/esm2015/lib/services/product-configurator.service.js +0 -16
- package/esm2015/lib/services/progress.service.js +0 -20
- package/esm2015/lib/services/scene-event.service.js +0 -246
- package/esm2015/lib/services/scene-options.service.js +0 -24
- package/esm2015/lib/services/scene.service.js +0 -313
- package/esm2015/lib/services/screen-size-analysis.service.js +0 -97
- package/esm2015/lib/services/settings.service.js +0 -142
- package/esm2015/lib/services/switch-build-furniture.service.js +0 -37
- package/esm2015/lib/services/switch-load-furniture.service.js +0 -35
- package/esm2015/lib/services/threedselector.service.js +0 -72
- package/esm2015/lib/services/utils.service.js +0 -207
- package/esm2015/lib/services/variation-cache.service.js +0 -143
- package/esm2015/lib/services/variation.service.js +0 -490
- package/esm2015/lib/services/view-mode.service.js +0 -37
- package/esm2015/lib/services/vr.service.js +0 -191
- package/esm2015/lib/services/xr.service.js +0 -294
- package/esm2015/lib/utils/asset.utils.js +0 -120
- package/esm2015/lib/utils/base-utils.js +0 -9
- package/esm2015/lib/utils/color.utils.js +0 -30
- package/esm2015/lib/utils/debug.utils.js +0 -9
- package/esm2015/lib/utils/device.utils.js +0 -25
- package/esm2015/lib/utils/file.utils.js +0 -167
- package/esm2015/lib/utils/image.utils.js +0 -61
- package/esm2015/lib/utils/json-parser.utils.js +0 -180
- package/esm2015/lib/utils/material.utils.js +0 -433
- package/esm2015/lib/utils/object.utils.js +0 -360
- package/esm2015/lib/utils/relative-position.utils.js +0 -75
- package/esm2015/lib/utils/rotation-helper.utils.js +0 -15
- package/esm2015/lib/utils/scene-3d.utils.js +0 -213
- package/esm2015/lib/utils/scene-utils.js +0 -191
- package/esm2015/lib/utils/text-utils.js +0 -68
- package/esm2015/lib/utils/threed.utils.js +0 -281
- package/esm2015/lib/utils/variation-utils.js +0 -459
- package/esm2015/public-api.js +0 -65
- package/fesm2015/colijnit-configurator.js.map +0 -1
- package/lib/builder.d.ts +0 -83
- package/lib/components/answer-card/answer-card.component.d.ts +0 -58
- package/lib/components/answer-card/answer-card.module.d.ts +0 -11
- package/lib/components/answer-info-dialog/answer-info-dialog.component.d.ts +0 -38
- package/lib/components/answer-info-dialog/answer-info-dialog.module.d.ts +0 -10
- package/lib/components/answers-slideout/answers-slideout.component.d.ts +0 -86
- package/lib/components/answers-slideout/answers-slideout.module.d.ts +0 -16
- package/lib/components/color-filter/color-filter.component.d.ts +0 -20
- package/lib/components/color-filter/color-filter.module.d.ts +0 -8
- package/lib/components/configurator/configurator.component.d.ts +0 -37
- package/lib/components/configurator/configurator.module.d.ts +0 -12
- package/lib/components/configurator-dialog/configurator-camera-settings.component.d.ts +0 -30
- package/lib/components/configurator-dialog/configurator-dialog.module.d.ts +0 -13
- package/lib/components/configurator-dialog/configurator-error-dialog.component.d.ts +0 -16
- package/lib/components/configurator-dialog/configurator-export-dialog.component.d.ts +0 -26
- package/lib/components/configurator-loader/configurator-loader.component.d.ts +0 -7
- package/lib/components/configurator-loader/configurator-loader.module.d.ts +0 -9
- package/lib/components/configurator-scene/configurator-scene.component.d.ts +0 -24
- package/lib/components/configurator-scene/configurator-scene.module.d.ts +0 -7
- package/lib/components/configurator-scene-loader/configurator-scene-loader.component.d.ts +0 -7
- package/lib/components/configurator-scene-loader/configurator-scene-loader.module.d.ts +0 -8
- package/lib/components/element-buttons/element-buttons.component.d.ts +0 -32
- package/lib/components/element-buttons/element-buttons.module.d.ts +0 -9
- package/lib/components/element-toolbar/element-toolbar.component.d.ts +0 -27
- package/lib/components/element-toolbar/element-toolbar.module.d.ts +0 -10
- package/lib/components/image-zoom/image-zoom.component.d.ts +0 -15
- package/lib/components/image-zoom/image-zoom.module.d.ts +0 -9
- package/lib/components/lite-selector/lite-selector.component.d.ts +0 -40
- package/lib/components/lite-selector/lite-selector.module.d.ts +0 -10
- package/lib/components/product-configurator/product-configurator.component.d.ts +0 -50
- package/lib/components/product-configurator/product-configurator.module.d.ts +0 -15
- package/lib/components/product-configurator-selector/product-configurator-selector.component.d.ts +0 -35
- package/lib/components/product-configurator-selector/product-configurator-selector.module.d.ts +0 -11
- package/lib/components/product-configurator-selector-option/product-configurator-selector-option.component.d.ts +0 -31
- package/lib/components/product-configurator-selector-option/product-configurator-selector-option.module.d.ts +0 -13
- package/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.component.d.ts +0 -20
- package/lib/components/product-configurator-selector-option-button/product-configurator-selector-option-button.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.component.d.ts +0 -20
- package/lib/components/product-configurator-selector-option-checkbox/product-configurator-selector-option-checkbox.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.component.d.ts +0 -21
- package/lib/components/product-configurator-selector-option-dropdown/product-configurator-selector-option-dropdown.module.d.ts +0 -10
- package/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.component.d.ts +0 -21
- package/lib/components/product-configurator-selector-option-tile/product-configurator-selector-option-tile.module.d.ts +0 -10
- package/lib/components/progress-bar/progress-bar.component.d.ts +0 -10
- package/lib/components/progress-bar/progress-bar.module.d.ts +0 -8
- package/lib/components/scene-options/scene-options.component.d.ts +0 -24
- package/lib/components/scene-options/scene-options.module.d.ts +0 -11
- package/lib/components/selections-summary/selections-summary.component.d.ts +0 -38
- package/lib/components/selections-summary/selections-summary.module.d.ts +0 -12
- package/lib/components/selections-summary-line/selections-summary-line.component.d.ts +0 -27
- package/lib/components/selections-summary-line/selections-summary-line.module.d.ts +0 -10
- package/lib/components/slideout/slideout.component.d.ts +0 -22
- package/lib/components/slideout/slideout.module.d.ts +0 -7
- package/lib/components/summary-line/summary-line.component.d.ts +0 -50
- package/lib/components/summary-line/summary-line.module.d.ts +0 -11
- package/lib/components/tag-filter/tag-filter.component.d.ts +0 -9
- package/lib/components/tag-filter/tag-filter.module.d.ts +0 -7
- package/lib/components/threedselector/threedselector.component.d.ts +0 -38
- package/lib/components/threedselector/threedselector.module.d.ts +0 -10
- package/lib/core/helper/variation-helper.d.ts +0 -25
- package/lib/core/shader/floor-fade.shader.d.ts +0 -5
- package/lib/core/textures/depth-data-texture.d.ts +0 -5
- package/lib/directives/directives.module.d.ts +0 -8
- package/lib/directives/visibility-observer-master.directive.d.ts +0 -12
- package/lib/directives/visibility-observer.directive.d.ts +0 -16
- package/lib/enum/ar-feature.enum.d.ts +0 -12
- package/lib/enum/configuration-key.enum.d.ts +0 -39
- package/lib/enum/configuration-template.enum.d.ts +0 -4
- package/lib/enum/device-size-type.d.ts +0 -5
- package/lib/enum/device-tier.enum.d.ts +0 -5
- package/lib/enum/icon.enum.d.ts +0 -111
- package/lib/enum/item-type.enum.d.ts +0 -21
- package/lib/enum/light.enum.d.ts +0 -7
- package/lib/enum/navigator-type.enum.d.ts +0 -4
- package/lib/enum/output-encoding.enum.d.ts +0 -7
- package/lib/enum/result-type.enum.d.ts +0 -19
- package/lib/enum/scene-event.enum.d.ts +0 -10
- package/lib/enum/shadow-map-type.enum.d.ts +0 -6
- package/lib/enum/texture-type.d.ts +0 -7
- package/lib/enum/tone-mapping-local.enum.d.ts +0 -10
- package/lib/enum/view-mode.enum.d.ts +0 -5
- package/lib/enum/xr-mode.enum.d.ts +0 -4
- package/lib/environments/environment.d.ts +0 -4
- package/lib/interfaces/aa-options.interface.d.ts +0 -4
- package/lib/interfaces/adjustable-element.interface.d.ts +0 -5
- package/lib/interfaces/ao-options.interface.d.ts +0 -18
- package/lib/interfaces/changes.interface.d.ts +0 -9
- package/lib/interfaces/configuration-data.interface.d.ts +0 -40
- package/lib/interfaces/light-preset.interface.d.ts +0 -22
- package/lib/interfaces/post-processing-setting.interface.d.ts +0 -11
- package/lib/interfaces/scene-option-button.interface.d.ts +0 -19
- package/lib/interfaces/screen-size-info.d.ts +0 -10
- package/lib/interfaces/setting.interface.d.ts +0 -8
- package/lib/interfaces/texture.interface.d.ts +0 -44
- package/lib/interfaces/vignette-options.interface.d.ts +0 -4
- package/lib/model/ar-position-indicator.d.ts +0 -4
- package/lib/model/camera-settings.d.ts +0 -12
- package/lib/model/configuration-result-object.d.ts +0 -30
- package/lib/model/configurator-error-message.d.ts +0 -8
- package/lib/model/configurator-settings.d.ts +0 -62
- package/lib/model/custom-button.d.ts +0 -10
- package/lib/model/factory.d.ts +0 -5
- package/lib/model/icon.d.ts +0 -4
- package/lib/model/intersected-objects.d.ts +0 -6
- package/lib/model/light-preset.d.ts +0 -33
- package/lib/model/light-properties.d.ts +0 -25
- package/lib/model/material.d.ts +0 -41
- package/lib/model/metadata.d.ts +0 -78
- package/lib/model/render-parameters.d.ts +0 -12
- package/lib/model/setting-options.d.ts +0 -67
- package/lib/model/settings.d.ts +0 -10
- package/lib/model/shadow-properties.d.ts +0 -7
- package/lib/model/skin.d.ts +0 -15
- package/lib/model/texture.d.ts +0 -52
- package/lib/model/variation-settings.d.ts +0 -55
- package/lib/model/variation.d.ts +0 -11
- package/lib/model/xr-reticle.d.ts +0 -17
- package/lib/modules/render/enum/scene-type.enum.d.ts +0 -4
- package/lib/modules/render/model/ar-parameters.d.ts +0 -9
- package/lib/modules/render/model/scene-setting.d.ts +0 -13
- package/lib/modules/render/model/scene-settings.d.ts +0 -4
- package/lib/pipes/append.pipe.d.ts +0 -7
- package/lib/pipes/google-translate.pipe.d.ts +0 -11
- package/lib/pipes/localize.pipe.d.ts +0 -10
- package/lib/pipes/pipes.module.d.ts +0 -11
- package/lib/pipes/prepend.pipe.d.ts +0 -7
- package/lib/pipes/strip-html.pipe.d.ts +0 -7
- package/lib/services/app-event.service.d.ts +0 -32
- package/lib/services/app-initializer.service.d.ts +0 -14
- package/lib/services/ar.service.d.ts +0 -120
- package/lib/services/build-furniture-base.service.d.ts +0 -117
- package/lib/services/build-furniture-without-scene.service.d.ts +0 -14
- package/lib/services/build-furniture.service.d.ts +0 -14
- package/lib/services/bundle-initialzer.service.d.ts +0 -45
- package/lib/services/camera.service.d.ts +0 -44
- package/lib/services/configuration.service.d.ts +0 -18
- package/lib/services/configurator-connector.service.d.ts +0 -140
- package/lib/services/configurator.service.d.ts +0 -62
- package/lib/services/configuring.service.d.ts +0 -46
- package/lib/services/controls.d.ts +0 -11
- package/lib/services/debug.service.d.ts +0 -16
- package/lib/services/dictionary.service.d.ts +0 -15
- package/lib/services/dynamic-camera.service.d.ts +0 -21
- package/lib/services/floor-plane.service.d.ts +0 -47
- package/lib/services/font.service.d.ts +0 -10
- package/lib/services/google-translate.service.d.ts +0 -26
- package/lib/services/icon-cache.service.d.ts +0 -21
- package/lib/services/intersection.service.d.ts +0 -11
- package/lib/services/item.service.d.ts +0 -18
- package/lib/services/json-utils.service.d.ts +0 -7
- package/lib/services/light-creation.service.d.ts +0 -9
- package/lib/services/light-presets.service.d.ts +0 -34
- package/lib/services/lights.service.d.ts +0 -34
- package/lib/services/load-furniture-base.service.d.ts +0 -37
- package/lib/services/load-furniture-without-scene.service.d.ts +0 -9
- package/lib/services/load-furniture.service.d.ts +0 -9
- package/lib/services/loader.service.d.ts +0 -11
- package/lib/services/locator.service.d.ts +0 -7
- package/lib/services/message-board.service.d.ts +0 -18
- package/lib/services/post-processing.service.d.ts +0 -74
- package/lib/services/product-configurator.service.d.ts +0 -11
- package/lib/services/progress.service.d.ts +0 -9
- package/lib/services/scene-event.service.d.ts +0 -72
- package/lib/services/scene-options.service.d.ts +0 -11
- package/lib/services/scene.service.d.ts +0 -71
- package/lib/services/screen-size-analysis.service.d.ts +0 -32
- package/lib/services/settings.service.d.ts +0 -24
- package/lib/services/switch-build-furniture.service.d.ts +0 -21
- package/lib/services/switch-load-furniture.service.d.ts +0 -21
- package/lib/services/threedselector.service.d.ts +0 -17
- package/lib/services/utils.service.d.ts +0 -24
- package/lib/services/variation-cache.service.d.ts +0 -23
- package/lib/services/variation.service.d.ts +0 -26
- package/lib/services/view-mode.service.d.ts +0 -17
- package/lib/services/vr.service.d.ts +0 -42
- package/lib/services/xr.service.d.ts +0 -56
- package/lib/utils/asset.utils.d.ts +0 -19
- package/lib/utils/base-utils.d.ts +0 -4
- package/lib/utils/color.utils.d.ts +0 -8
- package/lib/utils/debug.utils.d.ts +0 -3
- package/lib/utils/device.utils.d.ts +0 -7
- package/lib/utils/file.utils.d.ts +0 -30
- package/lib/utils/image.utils.d.ts +0 -9
- package/lib/utils/json-parser.utils.d.ts +0 -9
- package/lib/utils/material.utils.d.ts +0 -34
- package/lib/utils/object.utils.d.ts +0 -32
- package/lib/utils/relative-position.utils.d.ts +0 -12
- package/lib/utils/rotation-helper.utils.d.ts +0 -6
- package/lib/utils/scene-3d.utils.d.ts +0 -8
- package/lib/utils/scene-utils.d.ts +0 -7
- package/lib/utils/text-utils.d.ts +0 -4
- package/lib/utils/threed.utils.d.ts +0 -20
- package/lib/utils/variation-utils.d.ts +0 -18
- package/public-api.d.ts +0 -60
- /package/lib/style/{template_variables.scss → _variables.scss} +0 -0
|
@@ -1,285 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { UserRoleType } from '@colijnit/ioneconnector/build/enum/user-role-type.enum';
|
|
3
|
-
import { MainApi } from '@colijnit/mainapi';
|
|
4
|
-
import { TableName } from '@colijnit/mainapi/build/enum/table-name.enum';
|
|
5
|
-
import { Injectable } from '@angular/core';
|
|
6
|
-
import { ImageContent } from '@colijnit/mainapi/build/model/image-content.bo';
|
|
7
|
-
import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/business-object-factory';
|
|
8
|
-
import { Subject } from 'rxjs';
|
|
9
|
-
import { Configurator } from '@colijnit/configuratorapi';
|
|
10
|
-
import { NodeType } from '@colijnit/configuratorapi/build/enum/node-type.enum';
|
|
11
|
-
import { isNill } from '@colijnit/configuratorapi/build/utils/function/is-nill.function';
|
|
12
|
-
import { Articles } from '@colijnit/articleapi/build/articles';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
export class ConfiguratorService {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.showLoader = new Subject();
|
|
17
|
-
this.connectionReset = new Subject();
|
|
18
|
-
this._boFactory = new BusinessObjectFactory();
|
|
19
|
-
this._publicationCodeForUserRole = new Map([
|
|
20
|
-
[UserRoleType.Customer, 16],
|
|
21
|
-
[UserRoleType.Employee, 1]
|
|
22
|
-
]);
|
|
23
|
-
}
|
|
24
|
-
initApi(options) {
|
|
25
|
-
this._configuratorApi = new Configurator(options);
|
|
26
|
-
}
|
|
27
|
-
cleanUp() {
|
|
28
|
-
this._configuratorApi.logOut();
|
|
29
|
-
this._configuratorApi = null;
|
|
30
|
-
this._mainApi = null;
|
|
31
|
-
this._articleApi = null;
|
|
32
|
-
}
|
|
33
|
-
initConnector(options, forceReload) {
|
|
34
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
35
|
-
let createdConnection = false;
|
|
36
|
-
const renewConnector = (this._configuratorApi ? this._configuratorApi.url !== options.url : false) || forceReload;
|
|
37
|
-
if (!this._configuratorApi || renewConnector) {
|
|
38
|
-
this._configuratorApi = new Configurator(options);
|
|
39
|
-
this.loginResponse = yield this._configuratorApi.connect();
|
|
40
|
-
this._configuratorApi.showLoader.subscribe(value => this.showLoader.next(value));
|
|
41
|
-
this._configuratorApi.connectionResetInactivity.subscribe(value => this.connectionReset.next());
|
|
42
|
-
}
|
|
43
|
-
if (!this._mainApi || renewConnector) {
|
|
44
|
-
this._mainApi = new MainApi(options);
|
|
45
|
-
}
|
|
46
|
-
if (!this._articleApi || renewConnector) {
|
|
47
|
-
this._articleApi = new Articles(options);
|
|
48
|
-
}
|
|
49
|
-
createdConnection = true;
|
|
50
|
-
return createdConnection;
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
initNodeInstance(goodId, showLoader) {
|
|
54
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
return yield this._configuratorApi.initNodeInstance(goodId, showLoader);
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
changeConnection(instanceId, oldConnection, newConnection, showLoader) {
|
|
59
|
-
return this._configuratorApi.changeConnection(instanceId, oldConnection, newConnection, showLoader);
|
|
60
|
-
}
|
|
61
|
-
setInstanceToConfigure(id, showLoader = false) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
return yield this._configuratorApi.setInstanceToConfigure(id, showLoader);
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
getGoodIdFromSku(sku, showLoader = false) {
|
|
67
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
return yield this._configuratorApi.getGoodIdFromSku(sku, showLoader);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
getArticleQuickSel(goodId, showLoader = false) {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
return yield this._configuratorApi.getArticleQuickSel(goodId, showLoader);
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
getSelections(showLoader = false, publicationCode = 2) {
|
|
77
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
-
let selections = yield this._configuratorApi.getSelections(showLoader);
|
|
79
|
-
if (selections && selections.resultObjects) {
|
|
80
|
-
selections.resultObjects.filter((s) => {
|
|
81
|
-
(isNill(s.hierarchicalPublicationCode) || ((s.hierarchicalPublicationCode & publicationCode) > 0)) && ((s.nodeType === NodeType.Question && (((s.questionPublicationCode & publicationCode) > 0) || isNill(s.questionPublicationCode))) ||
|
|
82
|
-
(s.nodeType === NodeType.Answer && (((s.answerPublicationCode & publicationCode) > 0) || isNill(s.answerPublicationCode))));
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
return selections;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
getDecos(showLoader = false) {
|
|
89
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
return yield this._configuratorApi.getDecos(showLoader);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
getQuestionAndAnswers(showLoader = false, publicationCode = 2) {
|
|
94
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const questionAndAnswers = yield this._configuratorApi.getQuestionAndAnswers(showLoader);
|
|
96
|
-
if (questionAndAnswers && questionAndAnswers.answers) {
|
|
97
|
-
questionAndAnswers.answers.filter((answer) => {
|
|
98
|
-
(notNill(answer.hierarchicalPublicationCode) && (answer.hierarchicalPublicationCode & publicationCode) === 0) ||
|
|
99
|
-
(answer.type === NodeType.Question && (answer.questionPublicationCode & publicationCode) === 0 && notNill(answer.questionPublicationCode)) ||
|
|
100
|
-
(answer.type === NodeType.Answer && (answer.publicationCode & publicationCode) === 0 && notNill(answer.publicationCode));
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
return questionAndAnswers;
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
getSingleImage(nodeId, publication, includeMimetype, thumb, showLoader) {
|
|
107
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
if (!nodeId) {
|
|
109
|
-
return null;
|
|
110
|
-
}
|
|
111
|
-
return yield this._configuratorApi.getSingleImage(nodeId, publication, includeMimetype, thumb, showLoader);
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
selectSelection(selection, forceBackToNode, after, connector) {
|
|
115
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
116
|
-
return yield this._configuratorApi.selectSelection(selection, false, forceBackToNode, after, connector);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
selectAnswer(answer, showLoader = false, input) {
|
|
120
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
-
return yield this._configuratorApi.selectAnswer(answer, showLoader, input);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
selectAnswerBySelection(selection, userInput) {
|
|
125
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
-
return this._configuratorApi.selectAnswerBySelection(selection, false, userInput);
|
|
127
|
-
});
|
|
128
|
-
}
|
|
129
|
-
navigateTo(chosenOption, showLoader = false) {
|
|
130
|
-
return this._configuratorApi.navigateTo(chosenOption.opvTreeNodeHierarchy, showLoader);
|
|
131
|
-
}
|
|
132
|
-
cancelAnswer(getAnswersAndQuestion = true) {
|
|
133
|
-
return this._configuratorApi.cancelAnswer();
|
|
134
|
-
}
|
|
135
|
-
deleteSelection(selection) {
|
|
136
|
-
return this._configuratorApi.deleteSelection(selection);
|
|
137
|
-
}
|
|
138
|
-
replaceSelection(selection) {
|
|
139
|
-
return this._configuratorApi.replaceSelection(selection);
|
|
140
|
-
}
|
|
141
|
-
getSelectionsAsync() {
|
|
142
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
143
|
-
return yield this._configuratorApi.getSelections();
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
getQuestionAndAnswersAsync() {
|
|
147
|
-
return this._configuratorApi.getQuestionAndAnswers();
|
|
148
|
-
}
|
|
149
|
-
getAnswerTexts(goodId, showLoader = false) {
|
|
150
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
-
return yield this._configuratorApi.getAnswerTexts(goodId, showLoader);
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
getAnswersPrices() {
|
|
155
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
156
|
-
return yield this._configuratorApi.getAnswersPrices();
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
getSkipButtonImageAndText(goodId, showLoader = false) {
|
|
160
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
161
|
-
return yield this._configuratorApi.getSkipButtonImageAndText(goodId, showLoader);
|
|
162
|
-
});
|
|
163
|
-
}
|
|
164
|
-
getInternalParameterValue(parameter) {
|
|
165
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
166
|
-
return yield this._mainApi.getInternalParameterValue(parameter);
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
getDecosAsync() {
|
|
170
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
171
|
-
return yield this._configuratorApi.getDecos();
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
getSelectorStructure(showLoader = true) {
|
|
175
|
-
return this._configuratorApi.getSelectorStructure(showLoader);
|
|
176
|
-
}
|
|
177
|
-
getPublicationCodeBasedOnLogin() {
|
|
178
|
-
let rol;
|
|
179
|
-
if (this.loginResponse) {
|
|
180
|
-
rol = this.loginResponse.rol;
|
|
181
|
-
}
|
|
182
|
-
if (rol) {
|
|
183
|
-
const pubCode = this._getPublicationCodeForRole(rol);
|
|
184
|
-
if (pubCode !== null) {
|
|
185
|
-
return pubCode;
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
return 2;
|
|
189
|
-
}
|
|
190
|
-
getImage(key, publication, thumb, tableName = TableName.Goods) {
|
|
191
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
192
|
-
return yield this._mainApi.getImage(key, publication, true, thumb, tableName);
|
|
193
|
-
});
|
|
194
|
-
}
|
|
195
|
-
copyInstance(instanceId, shouldSaveCurrentInstanceId, showLoader = true) {
|
|
196
|
-
return this._configuratorApi.copyInstance(instanceId, shouldSaveCurrentInstanceId, showLoader);
|
|
197
|
-
}
|
|
198
|
-
saveConfigurations(showLoader = true) {
|
|
199
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
200
|
-
try {
|
|
201
|
-
yield this._configuratorApi.saveConfigurations(showLoader).catch((e) => {
|
|
202
|
-
return false;
|
|
203
|
-
});
|
|
204
|
-
}
|
|
205
|
-
catch (e) {
|
|
206
|
-
}
|
|
207
|
-
return true;
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
googleTranslateEnabled() {
|
|
211
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
212
|
-
// this should always be fetched from the mainapi from the client
|
|
213
|
-
const response = yield this._mainApi.isGoogleTranslateEnabled();
|
|
214
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
215
|
-
return response.resultObject;
|
|
216
|
-
}
|
|
217
|
-
return false;
|
|
218
|
-
});
|
|
219
|
-
}
|
|
220
|
-
getDefaultLanguage(upId) {
|
|
221
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
222
|
-
// this should always be fetched from the mainapi from the client
|
|
223
|
-
const response = yield this._mainApi.getPublicParams(upId);
|
|
224
|
-
if (response && response['defaultLanguage'] !== undefined) {
|
|
225
|
-
return response['defaultLanguage'];
|
|
226
|
-
}
|
|
227
|
-
return 'nl'; // just to be safe
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
getGoogleTranslation(sourceLang, targetLang, list) {
|
|
231
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
232
|
-
const result = yield this._mainApi.getGoogleTranslation(sourceLang, targetLang, list);
|
|
233
|
-
if (result.validationResult && result.validationResult.success) {
|
|
234
|
-
return result.resultObject;
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
getImageForSelectorStructure(option, publication, thumbNail = true, showLoader = true) {
|
|
239
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
240
|
-
try {
|
|
241
|
-
const response = yield this._mainApi.getImage(option.artNodeId, publication, true, thumbNail, TableName.Goods);
|
|
242
|
-
if (response && response.validationResult && response.validationResult.success && response.resultObject) {
|
|
243
|
-
const imageContent = this._boFactory.makeWithRawBackendData(ImageContent, response.resultObject);
|
|
244
|
-
if (imageContent.image !== null && imageContent.image !== undefined && imageContent.image !== '') {
|
|
245
|
-
return imageContent.image;
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
return '';
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
else {
|
|
252
|
-
return '';
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
catch (e) {
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
getJsonConfiguredArticles(goodId, goodType, quantity, externalSource = false, showLoader = true, instanceId, configuratorStatistics) {
|
|
260
|
-
try {
|
|
261
|
-
// @ts-ignore
|
|
262
|
-
return this._articleApi.getJsonArticleFlatTree(goodId, goodType, quantity, externalSource, showLoader, instanceId.toString(), configuratorStatistics);
|
|
263
|
-
}
|
|
264
|
-
catch (e) {
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
_getPublicationCodeForRole(role) {
|
|
268
|
-
if (this._publicationCodeForUserRole.has(role)) {
|
|
269
|
-
return this._publicationCodeForUserRole.get(role);
|
|
270
|
-
}
|
|
271
|
-
return null;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
ConfiguratorService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfiguratorService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
275
|
-
ConfiguratorService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfiguratorService, providedIn: 'root' });
|
|
276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfiguratorService, decorators: [{
|
|
277
|
-
type: Injectable,
|
|
278
|
-
args: [{
|
|
279
|
-
providedIn: 'root'
|
|
280
|
-
}]
|
|
281
|
-
}], ctorParameters: function () { return []; } });
|
|
282
|
-
function notNill(questionPublicationCode) {
|
|
283
|
-
throw new Error('Function not implemented.');
|
|
284
|
-
}
|
|
285
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25maWd1cmF0b3Ivc3JjL2xpYi9zZXJ2aWNlcy9jb25maWd1cmF0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBTUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFHdkUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFDNUUsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sK0RBQStELENBQUM7QUFDcEcsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQzdFLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUV2RixPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7O0FBTTdELE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCO1FBZmdCLGVBQVUsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUN0RCxvQkFBZSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBTzdELGVBQVUsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBRWhFLGdDQUEyQixHQUF3QixJQUFJLEdBQUcsQ0FBaUI7WUFDakYsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUMzQixDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUs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T0FBTyxDQUFDLHVCQUE0QjtJQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2VsZWN0aW9ufSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL21vZGVsL3NlbGVjdGlvbic7XHJcbmltcG9ydCB7QW5zd2VyfSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL21vZGVsL2Fuc3dlcic7XHJcbmltcG9ydCB7UXVlc3Rpb25BbmRBbnN3ZXJzfSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL21vZGVsL3F1ZXN0aW9uLWFuZC1hbnN3ZXJzJztcclxuaW1wb3J0IHtPcHRpb25zfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9vcHRpb25zJztcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQge0xvZ2luUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2xvZ2luLXJlc3BvbnNlJztcclxuaW1wb3J0IHtVc2VyUm9sZVR5cGV9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL2VudW0vdXNlci1yb2xlLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7TWFpbkFwaX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGknO1xyXG5pbXBvcnQge1RhYmxlTmFtZX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS90YWJsZS1uYW1lLmVudW0nO1xyXG5pbXBvcnQge1NlbGVjdG9yU3RydWN0dXJlfSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL21vZGVsL3NlbGVjdG9yLXN0cnVjdHVyZS5ibyc7XHJcbmltcG9ydCB7SW50ZXJuYWxQYXJhbX0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvZW51bS9pbnRlcm5hbC1wYXJhbS5lbnVtJztcclxuaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtJbWFnZUNvbnRlbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2ltYWdlLWNvbnRlbnQuYm8nO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvc2VydmljZS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7Q29uZmlndXJhdG9yfSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpJztcclxuaW1wb3J0IHtOb2RlVHlwZX0gZnJvbSAnQGNvbGlqbml0L2NvbmZpZ3VyYXRvcmFwaS9idWlsZC9lbnVtL25vZGUtdHlwZS5lbnVtJztcclxuaW1wb3J0IHtpc05pbGx9IGZyb20gJ0Bjb2xpam5pdC9jb25maWd1cmF0b3JhcGkvYnVpbGQvdXRpbHMvZnVuY3Rpb24vaXMtbmlsbC5mdW5jdGlvbic7XHJcbmltcG9ydCB7Q29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50fSBmcm9tICdAY29saWpuaXQvY29uZmlndXJhdG9yYXBpL2J1aWxkL21vZGVsL2NvbmZpZ3VyYXRvci1zdGF0aXN0aWNzLWVudmlyb25tZW50JztcclxuaW1wb3J0IHtBcnRpY2xlc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvYXJ0aWNsZXMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRvclNlcnZpY2Uge1xyXG4gIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGVyOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwdWJsaWMgcmVhZG9ubHkgY29ubmVjdGlvblJlc2V0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIGxvZ2luUmVzcG9uc2U6IExvZ2luUmVzcG9uc2U7XHJcbiAgcHJpdmF0ZSBfY29uZmlndXJhdG9yQXBpOiBDb25maWd1cmF0b3I7XHJcbiAgcHJpdmF0ZSBfbWFpbkFwaTogTWFpbkFwaTtcclxuICBwcml2YXRlIF9hcnRpY2xlQXBpOiBBcnRpY2xlcztcclxuXHJcbiAgcHJpdmF0ZSBfYm9GYWN0b3J5OiBCdXNpbmVzc09iamVjdEZhY3RvcnkgPSBuZXcgQnVzaW5lc3NPYmplY3RGYWN0b3J5KCk7XHJcblxyXG4gIHByaXZhdGUgX3B1YmxpY2F0aW9uQ29kZUZvclVzZXJSb2xlOiBNYXA8c3RyaW5nLCBudW1iZXI+ID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oW1xyXG4gICAgW1VzZXJSb2xlVHlwZS5DdXN0b21lciwgMTZdLFxyXG4gICAgW1VzZXJSb2xlVHlwZS5FbXBsb3llZSwgMV1cclxuICBdKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdEFwaShvcHRpb25zOiBPcHRpb25zKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jb25maWd1cmF0b3JBcGkgPSBuZXcgQ29uZmlndXJhdG9yKG9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFuVXAoKSB7XHJcbiAgICB0aGlzLl9jb25maWd1cmF0b3JBcGkubG9nT3V0KCk7XHJcbiAgICB0aGlzLl9jb25maWd1cmF0b3JBcGkgPSBudWxsO1xyXG4gICAgdGhpcy5fbWFpbkFwaSA9IG51bGw7XHJcbiAgICB0aGlzLl9hcnRpY2xlQXBpID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0Q29ubmVjdG9yKFxyXG4gICAgb3B0aW9uczogT3B0aW9ucyxcclxuICAgIGZvcmNlUmVsb2FkPzogYm9vbGVhblxyXG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgbGV0IGNyZWF0ZWRDb25uZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3QgcmVuZXdDb25uZWN0b3I6IGJvb2xlYW4gPSAodGhpcy5fY29uZmlndXJhdG9yQXBpID8gdGhpcy5fY29uZmlndXJhdG9yQXBpLnVybCAhPT0gb3B0aW9ucy51cmwgOiBmYWxzZSkgfHwgZm9yY2VSZWxvYWQ7XHJcbiAgICBpZiAoIXRoaXMuX2NvbmZpZ3VyYXRvckFwaSB8fCByZW5ld0Nvbm5lY3Rvcikge1xyXG4gICAgICB0aGlzLl9jb25maWd1cmF0b3JBcGkgPSBuZXcgQ29uZmlndXJhdG9yKG9wdGlvbnMpO1xyXG4gICAgICB0aGlzLmxvZ2luUmVzcG9uc2UgPSBhd2FpdCB0aGlzLl9jb25maWd1cmF0b3JBcGkuY29ubmVjdCgpO1xyXG4gICAgICB0aGlzLl9jb25maWd1cmF0b3JBcGkuc2hvd0xvYWRlci5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5zaG93TG9hZGVyLm5leHQodmFsdWUpKTtcclxuICAgICAgdGhpcy5fY29uZmlndXJhdG9yQXBpLmNvbm5lY3Rpb25SZXNldEluYWN0aXZpdHkuc3Vic2NyaWJlKHZhbHVlID0+IHRoaXMuY29ubmVjdGlvblJlc2V0Lm5leHQoKSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuX21haW5BcGkgfHwgcmVuZXdDb25uZWN0b3IpIHtcclxuICAgICAgdGhpcy5fbWFpbkFwaSA9IG5ldyBNYWluQXBpKG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5fYXJ0aWNsZUFwaSB8fCByZW5ld0Nvbm5lY3Rvcikge1xyXG4gICAgICB0aGlzLl9hcnRpY2xlQXBpID0gbmV3IEFydGljbGVzKG9wdGlvbnMpO1xyXG4gICAgfVxyXG4gICAgY3JlYXRlZENvbm5lY3Rpb24gPSB0cnVlO1xyXG5cclxuICAgIHJldHVybiBjcmVhdGVkQ29ubmVjdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0Tm9kZUluc3RhbmNlKGdvb2RJZDogbnVtYmVyLCBzaG93TG9hZGVyOiBib29sZWFuKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2NvbmZpZ3VyYXRvckFwaS5pbml0Tm9kZUluc3RhbmNlKGdvb2RJZCwgc2hvd0xvYWRlcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hhbmdlQ29ubmVjdGlvbihpbnN0YW5jZUlkOiBzdHJpbmcsIG9sZENvbm5lY3Rpb246IHN0cmluZywgbmV3Q29ubmVjdGlvbjogc3RyaW5nLCBzaG93TG9hZGVyOiBib29sZWFuKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRvckFwaS5jaGFuZ2VDb25uZWN0aW9uKGluc3RhbmNlSWQsIG9sZENvbm5lY3Rpb24sIG5ld0Nvbm5lY3Rpb24sIHNob3dMb2FkZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNldEluc3RhbmNlVG9Db25maWd1cmUoaWQ6IHN0cmluZywgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2NvbmZpZ3VyYXRvckFwaS5zZXRJbnN0YW5jZVRvQ29uZmlndXJlKGlkLCBzaG93TG9hZGVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRHb29kSWRGcm9tU2t1KHNrdTogc3RyaW5nLCBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY29uZmlndXJhdG9yQXBpLmdldEdvb2RJZEZyb21Ta3Uoc2t1LCBzaG93TG9hZGVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRBcnRpY2xlUXVpY2tTZWwoZ29vZElkOiBudW1iZXIsIHNob3dMb2FkZXI6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9jb25maWd1cmF0b3JBcGkuZ2V0QXJ0aWNsZVF1aWNrU2VsKGdvb2RJZCwgc2hvd0xvYWRlcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0aW9ucyhzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2UsIHB1YmxpY2F0aW9uQ29kZTogbnVtYmVyID0gMik6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIGxldCBzZWxlY3Rpb25zOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuX2NvbmZpZ3VyYXRvckFwaS5nZXRTZWxlY3Rpb25zKHNob3dMb2FkZXIpO1xyXG4gICAgaWYgKHNlbGVjdGlvbnMgJiYgc2VsZWN0aW9ucy5yZXN1bHRPYmplY3RzKSB7XHJcbiAgICAgIHNlbGVjdGlvbnMucmVzdWx0T2JqZWN0cy5maWx0ZXIoKHM6IFNlbGVjdGlvbikgPT4ge1xyXG4gICAgICAgIChpc05pbGwocy5oaWVyYXJjaGljYWxQdWJsaWNhdGlvbkNvZGUpIHx8ICgocy5oaWVyYXJjaGljYWxQdWJsaWNhdGlvbkNvZGUgJiBwdWJsaWNhdGlvbkNvZGUpID4gMCkpICYmIChcclxuICAgICAgICAgIChzLm5vZGVUeXBlID09PSBOb2RlVHlwZS5RdWVzdGlvbiAmJiAoKChzLnF1ZXN0aW9uUHVibGljYXRpb25Db2RlICYgcHVibGljYXRpb25Db2RlKSA+IDApIHx8IGlzTmlsbChzLnF1ZXN0aW9uUHVibGljYXRpb25Db2RlKSkpIHx8XHJcbiAgICAgICAgICAocy5ub2RlVHlwZSA9PT0gTm9kZVR5cGUuQW5zd2VyICYmICgoKHMuYW5zd2VyUHVibGljYXRpb25Db2RlICYgcHVibGljYXRpb25Db2RlKSA+IDApIHx8IGlzTmlsbChzLmFuc3dlclB1YmxpY2F0aW9uQ29kZSkpKSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHNlbGVjdGlvbnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RGVjb3Moc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2NvbmZpZ3VyYXRvckFwaS5nZXREZWNvcyhzaG93TG9hZGVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRRdWVzdGlvbkFuZEFuc3dlcnMoc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlLCBwdWJsaWNhdGlvbkNvZGU6IG51bWJlciA9IDIpOiBQcm9taXNlPFF1ZXN0aW9uQW5kQW5zd2Vycz4ge1xyXG4gICAgY29uc3QgcXVlc3Rpb25BbmRBbnN3ZXJzOiBRdWVzdGlvbkFuZEFuc3dlcnMgPSBhd2FpdCB0aGlzLl9jb25maWd1cmF0b3JBcGkuZ2V0UXVlc3Rpb25BbmRBbnN3ZXJzKHNob3dMb2FkZXIpO1xyXG4gICAgaWYgKHF1ZXN0aW9uQW5kQW5zd2VycyAmJiBxdWVzdGlvbkFuZEFuc3dlcnMuYW5zd2Vycykge1xyXG4gICAgICBxdWVzdGlvbkFuZEFuc3dlcnMuYW5zd2Vycy5maWx0ZXIoKGFuc3dlcjogQW5zd2VyKSA9PiB7XHJcbiAgICAgICAgKG5vdE5pbGwoYW5zd2VyLmhpZXJhcmNoaWNhbFB1YmxpY2F0aW9uQ29kZSkgJiYgKGFuc3dlci5oaWVyYXJjaGljYWxQdWJsaWNhdGlvbkNvZGUgJiBwdWJsaWNhdGlvbkNvZGUpID09PSAwKSB8fFxyXG4gICAgICAgIChhbnN3ZXIudHlwZSA9PT0gTm9kZVR5cGUuUXVlc3Rpb24gJiYgKGFuc3dlci5xdWVzdGlvblB1YmxpY2F0aW9uQ29kZSAmIHB1YmxpY2F0aW9uQ29kZSkgPT09IDAgJiYgbm90TmlsbChhbnN3ZXIucXVlc3Rpb25QdWJsaWNhdGlvbkNvZGUpKSB8fFxyXG4gICAgICAgIChhbnN3ZXIudHlwZSA9PT0gTm9kZVR5cGUuQW5zd2VyICYmIChhbnN3ZXIucHVibGljYXRpb25Db2RlICYgcHVibGljYXRpb25Db2RlKSA9PT0gMCAmJiBub3ROaWxsKGFuc3dlci5wdWJsaWNhdGlvbkNvZGUpKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcXVlc3Rpb25BbmRBbnN3ZXJzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFNpbmdsZUltYWdlKG5vZGVJZDogbnVtYmVyIHwgc3RyaW5nLCBwdWJsaWNhdGlvbjogbnVtYmVyLCBpbmNsdWRlTWltZXR5cGU6IGJvb2xlYW4sIHRodW1iOiBib29sZWFuLCBzaG93TG9hZGVyOiBib29sZWFuKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgaWYgKCFub2RlSWQpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY29uZmlndXJhdG9yQXBpLmdldFNpbmdsZUltYWdlKG5vZGVJZCwgcHVibGljYXRpb24sIGluY2x1ZGVNaW1ldHlwZSwgdGh1bWIsIHNob3dMb2FkZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNlbGVjdFNlbGVjdGlvbihzZWxlY3Rpb246IFNlbGVjdGlvbiwgZm9yY2VCYWNrVG9Ob2RlPzogYm9vbGVhbiwgYWZ0ZXI/OiBib29sZWFuLCBjb25uZWN0b3I/OiBzdHJpbmcpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY29uZmlndXJhdG9yQXBpLnNlbGVjdFNlbGVjdGlvbihzZWxlY3Rpb24sIGZhbHNlLCBmb3JjZUJhY2tUb05vZGUsIGFmdGVyLCBjb25uZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNlbGVjdEFuc3dlcihhbnN3ZXI6IEFuc3dlciwgc2hvd0xvYWRlcjogYm9vbGVhbiA9IGZhbHNlLCBpbnB1dD86IHN0cmluZyk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9jb25maWd1cmF0b3JBcGkuc2VsZWN0QW5zd2VyKGFuc3dlciwgc2hvd0xvYWRlciwgaW5wdXQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNlbGVjdEFuc3dlckJ5U2VsZWN0aW9uKHNlbGVjdGlvbjogU2VsZWN0aW9uLCB1c2VySW5wdXQ/OiBzdHJpbmcpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlndXJhdG9yQXBpLnNlbGVjdEFuc3dlckJ5U2VsZWN0aW9uKHNlbGVjdGlvbiwgZmFsc2UsIHVzZXJJbnB1dCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmF2aWdhdGVUbyhjaG9zZW5PcHRpb246IFNlbGVjdG9yU3RydWN0dXJlLCBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlndXJhdG9yQXBpLm5hdmlnYXRlVG8oY2hvc2VuT3B0aW9uLm9wdlRyZWVOb2RlSGllcmFyY2h5LCBzaG93TG9hZGVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYW5jZWxBbnN3ZXIoZ2V0QW5zd2Vyc0FuZFF1ZXN0aW9uOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWd1cmF0b3JBcGkuY2FuY2VsQW5zd2VyKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlU2VsZWN0aW9uKHNlbGVjdGlvbjogU2VsZWN0aW9uKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRvckFwaS5kZWxldGVTZWxlY3Rpb24oc2VsZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXBsYWNlU2VsZWN0aW9uKHNlbGVjdGlvbjogU2VsZWN0aW9uKTogUHJvbWlzZTxEYXRhU2VydmljZVJlc3BvbnNlRGF0YT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZ3VyYXRvckFwaS5yZXBsYWNlU2VsZWN0aW9uKHNlbGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0aW9uc0FzeW5jKCk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9jb25maWd1cmF0b3JBcGkuZ2V0U2VsZWN0aW9ucygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFF1ZXN0aW9uQW5kQW5zd2Vyc0FzeW5jKCk6IFByb21pc2U8UXVlc3Rpb25BbmRBbnN3ZXJzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlndXJhdG9yQXBpLmdldFF1ZXN0aW9uQW5kQW5zd2VycygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFuc3dlclRleHRzKGdvb2RJZDogbnVtYmVyLCBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY29uZmlndXJhdG9yQXBpLmdldEFuc3dlclRleHRzKGdvb2RJZCwgc2hvd0xvYWRlcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0QW5zd2Vyc1ByaWNlcygpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY29uZmlndXJhdG9yQXBpLmdldEFuc3dlcnNQcmljZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRTa2lwQnV0dG9uSW1hZ2VBbmRUZXh0KGdvb2RJZDogbnVtYmVyLCBzaG93TG9hZGVyOiBib29sZWFuID0gZmFsc2UpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY29uZmlndXJhdG9yQXBpLmdldFNraXBCdXR0b25JbWFnZUFuZFRleHQoZ29vZElkLCBzaG93TG9hZGVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRJbnRlcm5hbFBhcmFtZXRlclZhbHVlKHBhcmFtZXRlcjogSW50ZXJuYWxQYXJhbSk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9tYWluQXBpLmdldEludGVybmFsUGFyYW1ldGVyVmFsdWUocGFyYW1ldGVyKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWNvc0FzeW5jKCk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9jb25maWd1cmF0b3JBcGkuZ2V0RGVjb3MoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRTZWxlY3RvclN0cnVjdHVyZShzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLl9jb25maWd1cmF0b3JBcGkuZ2V0U2VsZWN0b3JTdHJ1Y3R1cmUoc2hvd0xvYWRlcik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UHVibGljYXRpb25Db2RlQmFzZWRPbkxvZ2luKCk6IG51bWJlciB7XHJcbiAgICBsZXQgcm9sOiBzdHJpbmc7XHJcbiAgICBpZiAodGhpcy5sb2dpblJlc3BvbnNlKSB7XHJcbiAgICAgIHJvbCA9IHRoaXMubG9naW5SZXNwb25zZS5yb2w7XHJcbiAgICB9XHJcbiAgICBpZiAocm9sKSB7XHJcbiAgICAgIGNvbnN0IHB1YkNvZGU6IG51bWJlciA9IHRoaXMuX2dldFB1YmxpY2F0aW9uQ29kZUZvclJvbGUocm9sKTtcclxuICAgICAgaWYgKHB1YkNvZGUgIT09IG51bGwpIHtcclxuICAgICAgICByZXR1cm4gcHViQ29kZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIDI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0SW1hZ2Uoa2V5OiBudW1iZXIgfCBzdHJpbmcsIHB1YmxpY2F0aW9uOiBudW1iZXIsIHRodW1iOiBib29sZWFuLCB0YWJsZU5hbWU6IFRhYmxlTmFtZSA9IFRhYmxlTmFtZS5Hb29kcyk6IFByb21pc2U8RGF0YVNlcnZpY2VSZXNwb25zZURhdGE+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9tYWluQXBpLmdldEltYWdlKGtleSwgcHVibGljYXRpb24sIHRydWUsIHRodW1iLCB0YWJsZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvcHlJbnN0YW5jZShpbnN0YW5jZUlkOiBzdHJpbmcsIHNob3VsZFNhdmVDdXJyZW50SW5zdGFuY2VJZDogYm9vbGVhbiwgc2hvd0xvYWRlcjogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlndXJhdG9yQXBpLmNvcHlJbnN0YW5jZShpbnN0YW5jZUlkLCBzaG91bGRTYXZlQ3VycmVudEluc3RhbmNlSWQsIHNob3dMb2FkZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNhdmVDb25maWd1cmF0aW9ucyhzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgYXdhaXQgdGhpcy5fY29uZmlndXJhdG9yQXBpLnNhdmVDb25maWd1cmF0aW9ucyhzaG93TG9hZGVyKS5jYXRjaCgoZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnb29nbGVUcmFuc2xhdGVFbmFibGVkKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgLy8gdGhpcyBzaG91bGQgYWx3YXlzIGJlIGZldGNoZWQgZnJvbSB0aGUgbWFpbmFwaSBmcm9tIHRoZSBjbGllbnRcclxuICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuX21haW5BcGkuaXNHb29nbGVUcmFuc2xhdGVFbmFibGVkKCk7XHJcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgcmV0dXJuIHJlc3BvbnNlLnJlc3VsdE9iamVjdDtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXREZWZhdWx0TGFuZ3VhZ2UodXBJZDogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIC8vIHRoaXMgc2hvdWxkIGFsd2F5cyBiZSBmZXRjaGVkIGZyb20gdGhlIG1haW5hcGkgZnJvbSB0aGUgY2xpZW50XHJcbiAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLl9tYWluQXBpLmdldFB1YmxpY1BhcmFtcyh1cElkKTtcclxuICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZVsnZGVmYXVsdExhbmd1YWdlJ10gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gcmVzcG9uc2VbJ2RlZmF1bHRMYW5ndWFnZSddO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuICdubCc7IC8vIGp1c3QgdG8gYmUgc2FmZVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEdvb2dsZVRyYW5zbGF0aW9uKHNvdXJjZUxhbmc6IHN0cmluZywgdGFyZ2V0TGFuZzogc3RyaW5nLCBsaXN0OiBzdHJpbmdbXSk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBjb25zdCByZXN1bHQ6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5fbWFpbkFwaS5nZXRHb29nbGVUcmFuc2xhdGlvbihzb3VyY2VMYW5nLCB0YXJnZXRMYW5nLCBsaXN0KTtcclxuICAgIGlmIChyZXN1bHQudmFsaWRhdGlvblJlc3VsdCAmJiByZXN1bHQudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgIHJldHVybiByZXN1bHQucmVzdWx0T2JqZWN0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEltYWdlRm9yU2VsZWN0b3JTdHJ1Y3R1cmUoXHJcbiAgICBvcHRpb246IFNlbGVjdG9yU3RydWN0dXJlLFxyXG4gICAgcHVibGljYXRpb246IG51bWJlcixcclxuICAgIHRodW1iTmFpbDogYm9vbGVhbiA9IHRydWUsXHJcbiAgICBzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZVxyXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLl9tYWluQXBpLmdldEltYWdlKG9wdGlvbi5hcnROb2RlSWQsIHB1YmxpY2F0aW9uLCB0cnVlLCB0aHVtYk5haWwsIFRhYmxlTmFtZS5Hb29kcyk7XHJcbiAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2VzcyAmJiByZXNwb25zZS5yZXN1bHRPYmplY3QpIHtcclxuICAgICAgICBjb25zdCBpbWFnZUNvbnRlbnQ6IEltYWdlQ29udGVudCA9XHJcbiAgICAgICAgICB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShJbWFnZUNvbnRlbnQsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBJbWFnZUNvbnRlbnQ7XHJcbiAgICAgICAgaWYgKGltYWdlQ29udGVudC5pbWFnZSAhPT0gbnVsbCAmJiBpbWFnZUNvbnRlbnQuaW1hZ2UgIT09IHVuZGVmaW5lZCAmJiBpbWFnZUNvbnRlbnQuaW1hZ2UgIT09ICcnKSB7XHJcbiAgICAgICAgICByZXR1cm4gaW1hZ2VDb250ZW50LmltYWdlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnJztcclxuICAgICAgfVxyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEpzb25Db25maWd1cmVkQXJ0aWNsZXMoZ29vZElkOiBudW1iZXIsXHJcbiAgICBnb29kVHlwZTogc3RyaW5nLFxyXG4gICAgcXVhbnRpdHk6IG51bWJlcixcclxuICAgIGV4dGVybmFsU291cmNlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZSxcclxuICAgIGluc3RhbmNlSWQ/OiBzdHJpbmcsXHJcbiAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzPzogQ29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgcmV0dXJuIHRoaXMuX2FydGljbGVBcGkuZ2V0SnNvbkFydGljbGVGbGF0VHJlZShcclxuICAgICAgICBnb29kSWQsXHJcbiAgICAgICAgZ29vZFR5cGUsXHJcbiAgICAgICAgcXVhbnRpdHksXHJcbiAgICAgICAgZXh0ZXJuYWxTb3VyY2UsXHJcbiAgICAgICAgc2hvd0xvYWRlcixcclxuICAgICAgICBpbnN0YW5jZUlkLnRvU3RyaW5nKCksXHJcbiAgICAgICAgY29uZmlndXJhdG9yU3RhdGlzdGljc1xyXG4gICAgICApO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZ2V0UHVibGljYXRpb25Db2RlRm9yUm9sZShyb2xlOiBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgaWYgKHRoaXMuX3B1YmxpY2F0aW9uQ29kZUZvclVzZXJSb2xlLmhhcyhyb2xlKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fcHVibGljYXRpb25Db2RlRm9yVXNlclJvbGUuZ2V0KHJvbGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZnVuY3Rpb24gbm90TmlsbChxdWVzdGlvblB1YmxpY2F0aW9uQ29kZTogYW55KTogYm9vbGVhbiB7XHJcbiAgdGhyb3cgbmV3IEVycm9yKCdGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQuJyk7XHJcbn1cclxuXHJcbiJdfQ==
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { EventEmitter, Injectable } from '@angular/core';
|
|
3
|
-
import { ConfigurationTemplate } from '../enum/configuration-template.enum';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./app-initializer.service";
|
|
6
|
-
import * as i2 from "./switch-load-furniture.service";
|
|
7
|
-
import * as i3 from "./switch-build-furniture.service";
|
|
8
|
-
import * as i4 from "./app-event.service";
|
|
9
|
-
import * as i5 from "./configurator-connector.service";
|
|
10
|
-
export class ConfiguringService {
|
|
11
|
-
constructor(_initializerService, _loadFurnitureService, _buildFurnitureService, _appEventService, _configuratorConnectorService) {
|
|
12
|
-
this._initializerService = _initializerService;
|
|
13
|
-
this._loadFurnitureService = _loadFurnitureService;
|
|
14
|
-
this._buildFurnitureService = _buildFurnitureService;
|
|
15
|
-
this._appEventService = _appEventService;
|
|
16
|
-
this._configuratorConnectorService = _configuratorConnectorService;
|
|
17
|
-
this.onShowLiteSelector = new EventEmitter();
|
|
18
|
-
this.onShowSelections = new EventEmitter();
|
|
19
|
-
this.onShowAnswers = new EventEmitter();
|
|
20
|
-
this.onShowFullConfiguration = new EventEmitter();
|
|
21
|
-
this._isConfiguring = false;
|
|
22
|
-
this._showFullConfiguration = false;
|
|
23
|
-
this._subs = [];
|
|
24
|
-
this._subs.push(this._appEventService.configurationTemplateChange.subscribe((template) => this._handleTemplateChange(template)));
|
|
25
|
-
}
|
|
26
|
-
set settings(value) {
|
|
27
|
-
this._settings = value;
|
|
28
|
-
}
|
|
29
|
-
get settings() {
|
|
30
|
-
return this._settings;
|
|
31
|
-
}
|
|
32
|
-
set sku(value) {
|
|
33
|
-
this._sku = value;
|
|
34
|
-
}
|
|
35
|
-
get sku() {
|
|
36
|
-
return this._sku;
|
|
37
|
-
}
|
|
38
|
-
set instanceId(value) {
|
|
39
|
-
this._instanceId = value;
|
|
40
|
-
}
|
|
41
|
-
get instanceId() {
|
|
42
|
-
return this._instanceId;
|
|
43
|
-
}
|
|
44
|
-
set isConfiguring(value) {
|
|
45
|
-
this._isConfiguring = value;
|
|
46
|
-
}
|
|
47
|
-
get isConfiguring() {
|
|
48
|
-
return this._isConfiguring;
|
|
49
|
-
}
|
|
50
|
-
set scene(value) {
|
|
51
|
-
this._scene = value;
|
|
52
|
-
this._buildFurnitureService.currentActiveService.scene = this.scene;
|
|
53
|
-
}
|
|
54
|
-
get scene() {
|
|
55
|
-
return this._scene;
|
|
56
|
-
}
|
|
57
|
-
ngOnDestroy() {
|
|
58
|
-
this._subs.forEach(s => s.unsubscribe());
|
|
59
|
-
}
|
|
60
|
-
init(settings) {
|
|
61
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
-
if (typeof settings === 'string') {
|
|
63
|
-
this.settings = JSON.parse(settings);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
this.settings = settings;
|
|
67
|
-
}
|
|
68
|
-
yield this._initializerService.initializeApp(this.settings);
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
configure(furnitureData, shouldCopyInstance = false, looseOriginalConfiguration = true, fromPreset = false, standAlone = false, fromScratch = false, loadFromProject = false) {
|
|
72
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
this._configuratorConnectorService.emptySelections();
|
|
74
|
-
if (furnitureData.sku) {
|
|
75
|
-
this.sku = furnitureData.sku;
|
|
76
|
-
// clear instanceId here, when changing the sku, we should start fresh
|
|
77
|
-
this.instanceId = null;
|
|
78
|
-
}
|
|
79
|
-
if (furnitureData.instanceId) {
|
|
80
|
-
this.instanceId = furnitureData.instanceId;
|
|
81
|
-
}
|
|
82
|
-
if (furnitureData) {
|
|
83
|
-
try {
|
|
84
|
-
this.buildResult = yield this._loadFurnitureService.currentActiveService.loadFurniture(furnitureData, shouldCopyInstance, looseOriginalConfiguration, standAlone, fromScratch, fromPreset, loadFromProject);
|
|
85
|
-
if (this._showFullConfiguration) {
|
|
86
|
-
this.onShowFullConfiguration.emit(this.isConfiguring);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
this.onShowLiteSelector.emit(this.isConfiguring);
|
|
90
|
-
this.onShowSelections.emit(this.isConfiguring);
|
|
91
|
-
this.onShowAnswers.emit(this.isConfiguring);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
console.error('Error loading furniture configuration:', error);
|
|
96
|
-
this._appEventService.articleNotFound.next(error);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
_handleTemplateChange(template) {
|
|
102
|
-
if (template === ConfigurationTemplate.default) {
|
|
103
|
-
this._showFullConfiguration = false;
|
|
104
|
-
}
|
|
105
|
-
else if (template === ConfigurationTemplate.showFullConfiguration) {
|
|
106
|
-
this._showFullConfiguration = true;
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
this._showFullConfiguration = false;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
ConfiguringService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfiguringService, deps: [{ token: i1.AppInitializerService }, { token: i2.SwitchLoadFurnitureService }, { token: i3.SwitchBuildFurnitureService }, { token: i4.AppEventService }, { token: i5.ConfiguratorConnectorService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
114
|
-
ConfiguringService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfiguringService, providedIn: 'root' });
|
|
115
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: ConfiguringService, decorators: [{
|
|
116
|
-
type: Injectable,
|
|
117
|
-
args: [{ providedIn: 'root' }]
|
|
118
|
-
}], ctorParameters: function () { return [{ type: i1.AppInitializerService }, { type: i2.SwitchLoadFurnitureService }, { type: i3.SwitchBuildFurnitureService }, { type: i4.AppEventService }, { type: i5.ConfiguratorConnectorService }]; } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJpbmcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbmZpZ3VyYXRvci9zcmMvbGliL3NlcnZpY2VzL2NvbmZpZ3VyaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsVUFBVSxFQUFvQixNQUFNLGVBQWUsQ0FBQztBQVMxRSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQzs7Ozs7OztBQUsxRSxNQUFNLE9BQU8sa0JBQWtCO0lBNEQ3QixZQUNVLG1CQUEwQyxFQUMxQyxxQkFBaUQsRUFDakQsc0JBQW1ELEVBQ25ELGdCQUFpQyxFQUNqQyw2QkFBMkQ7UUFKM0Qsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF1QjtRQUMxQywwQkFBcUIsR0FBckIscUJBQXFCLENBQTRCO1FBQ2pELDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBNkI7UUFDbkQscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFpQjtRQUNqQyxrQ0FBNkIsR0FBN0IsNkJBQTZCLENBQThCO1FBdEI5RCx1QkFBa0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4RSxxQkFBZ0IsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN0RSxrQkFBYSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ25FLDRCQUF1QixHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBUTVFLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBRWhDLDJCQUFzQixHQUFZLEtBQUssQ0FBQztRQUV4QyxVQUFLLEdBQW1CLEVBQUUsQ0FBQztRQVNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDYixJQUFJLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBK0IsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFB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TTt3QkFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzt3QkFDakQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7d0JBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztxQkFDN0M7aUJBQ0Y7Z0JBQUMsT0FBTyxLQUFLLEVBQUU7b0JBQ2QsT0FBTyxDQUFDLEtBQUssQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDL0QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ25EO2FBQ0Y7UUFDSCxDQUFDO0tBQUE7SUFFTyxxQkFBcUIsQ0FBQyxRQUErQjtRQUMzRCxJQUFJLFFBQVEsS0FBSyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUU7WUFDOUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEtBQUssQ0FBQztTQUNyQzthQUFNLElBQUksUUFBUSxLQUFLLHFCQUFxQixDQUFDLHFCQUFxQixFQUFFO1lBQ25FLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7U0FDcEM7YUFBTTtZQUNMLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxLQUFLLENBQUM7U0FDckM7SUFDSCxDQUFDOztnSEExSVUsa0JBQWtCO29IQUFsQixrQkFBa0IsY0FGTixNQUFNOzRGQUVsQixrQkFBa0I7a0JBRjlCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb25maWd1cmF0b3JTZXR0aW5nc30gZnJvbSAnLi4vbW9kZWwvY29uZmlndXJhdG9yLXNldHRpbmdzJztcclxuaW1wb3J0IHtTY2VuZX0gZnJvbSAndGhyZWUnO1xyXG5pbXBvcnQge0FwcEluaXRpYWxpemVyU2VydmljZX0gZnJvbSAnLi9hcHAtaW5pdGlhbGl6ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvblJlc3VsdE9iamVjdH0gZnJvbSAnLi4vbW9kZWwvY29uZmlndXJhdGlvbi1yZXN1bHQtb2JqZWN0JztcclxuaW1wb3J0IHtTd2l0Y2hMb2FkRnVybml0dXJlU2VydmljZX0gZnJvbSAnLi9zd2l0Y2gtbG9hZC1mdXJuaXR1cmUuc2VydmljZSc7XHJcbmltcG9ydCB7QXBwRXZlbnRTZXJ2aWNlfSBmcm9tICcuL2FwcC1ldmVudC5zZXJ2aWNlJztcclxuaW1wb3J0IHtTd2l0Y2hCdWlsZEZ1cm5pdHVyZVNlcnZpY2V9IGZyb20gJy4vc3dpdGNoLWJ1aWxkLWZ1cm5pdHVyZS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb25maWd1cmF0b3JDb25uZWN0b3JTZXJ2aWNlfSBmcm9tICcuL2NvbmZpZ3VyYXRvci1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7Q29uZmlndXJhdGlvblRlbXBsYXRlfSBmcm9tICcuLi9lbnVtL2NvbmZpZ3VyYXRpb24tdGVtcGxhdGUuZW51bSc7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyaW5nU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyBzZXQgc2V0dGluZ3ModmFsdWU6IENvbmZpZ3VyYXRvclNldHRpbmdzKSB7XHJcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBDb25maWd1cmF0b3JTZXR0aW5ncyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IHNrdSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9za3UgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2t1KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2t1O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBpbnN0YW5jZUlkKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2luc3RhbmNlSWQgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaW5zdGFuY2VJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luc3RhbmNlSWQ7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0IGlzQ29uZmlndXJpbmcodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2lzQ29uZmlndXJpbmcgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNDb25maWd1cmluZygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc0NvbmZpZ3VyaW5nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBzY2VuZSh2YWx1ZTogU2NlbmUpIHtcclxuICAgIHRoaXMuX3NjZW5lID0gdmFsdWU7XHJcbiAgICB0aGlzLl9idWlsZEZ1cm5pdHVyZVNlcnZpY2UuY3VycmVudEFjdGl2ZVNlcnZpY2Uuc2NlbmUgPSB0aGlzLnNjZW5lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzY2VuZSgpOiBTY2VuZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2NlbmU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaG93TGl0ZVNlbGVjdG9yOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgcHVibGljIG9uU2hvd1NlbGVjdGlvbnM6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBwdWJsaWMgb25TaG93QW5zd2VyczogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIHB1YmxpYyBvblNob3dGdWxsQ29uZmlndXJhdGlvbjogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuXHJcbiAgcHVibGljIGJ1aWxkUmVzdWx0OiBDb25maWd1cmF0aW9uUmVzdWx0T2JqZWN0O1xyXG5cclxuICBwcml2YXRlIF9zZXR0aW5nczogQ29uZmlndXJhdG9yU2V0dGluZ3M7XHJcbiAgcHJpdmF0ZSBfc2t1OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfaW5zdGFuY2VJZDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2lzQ29uZmlndXJpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9zY2VuZTogU2NlbmU7XHJcbiAgcHJpdmF0ZSBfc2hvd0Z1bGxDb25maWd1cmF0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaW5pdGlhbGl6ZXJTZXJ2aWNlOiBBcHBJbml0aWFsaXplclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9sb2FkRnVybml0dXJlU2VydmljZTogU3dpdGNoTG9hZEZ1cm5pdHVyZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9idWlsZEZ1cm5pdHVyZVNlcnZpY2U6IFN3aXRjaEJ1aWxkRnVybml0dXJlU2VydmljZSxcclxuICAgIHByaXZhdGUgX2FwcEV2ZW50U2VydmljZTogQXBwRXZlbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfY29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZTogQ29uZmlndXJhdG9yQ29ubmVjdG9yU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5fc3Vicy5wdXNoKFxyXG4gICAgICB0aGlzLl9hcHBFdmVudFNlcnZpY2UuY29uZmlndXJhdGlvblRlbXBsYXRlQ2hhbmdlLnN1YnNjcmliZSgodGVtcGxhdGU6IENvbmZpZ3VyYXRpb25UZW1wbGF0ZSkgPT4gdGhpcy5faGFuZGxlVGVtcGxhdGVDaGFuZ2UodGVtcGxhdGUpKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX3N1YnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5pdChzZXR0aW5nczogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodHlwZW9mIHNldHRpbmdzID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGlzLnNldHRpbmdzID0gSlNPTi5wYXJzZShzZXR0aW5ncyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldHRpbmdzID0gc2V0dGluZ3M7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLl9pbml0aWFsaXplclNlcnZpY2UuaW5pdGlhbGl6ZUFwcCh0aGlzLnNldHRpbmdzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjb25maWd1cmUoXHJcbiAgICBmdXJuaXR1cmVEYXRhOiBDb25maWd1cmF0aW9uUmVzdWx0T2JqZWN0LFxyXG4gICAgc2hvdWxkQ29weUluc3RhbmNlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBsb29zZU9yaWdpbmFsQ29uZmlndXJhdGlvbjogYm9vbGVhbiA9IHRydWUsXHJcbiAgICBmcm9tUHJlc2V0OiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBzdGFuZEFsb25lOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICBmcm9tU2NyYXRjaDogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgbG9hZEZyb21Qcm9qZWN0OiBib29sZWFuID0gZmFsc2VcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuXHJcbiAgICB0aGlzLl9jb25maWd1cmF0b3JDb25uZWN0b3JTZXJ2aWNlLmVtcHR5U2VsZWN0aW9ucygpO1xyXG4gICAgaWYgKGZ1cm5pdHVyZURhdGEuc2t1KSB7XHJcbiAgICAgIHRoaXMuc2t1ID0gZnVybml0dXJlRGF0YS5za3U7XHJcbiAgICAgIC8vIGNsZWFyIGluc3RhbmNlSWQgaGVyZSwgd2hlbiBjaGFuZ2luZyB0aGUgc2t1LCB3ZSBzaG91bGQgc3RhcnQgZnJlc2hcclxuICAgICAgdGhpcy5pbnN0YW5jZUlkID0gbnVsbDtcclxuICAgIH1cclxuICAgIGlmIChmdXJuaXR1cmVEYXRhLmluc3RhbmNlSWQpIHtcclxuICAgICAgdGhpcy5pbnN0YW5jZUlkID0gZnVybml0dXJlRGF0YS5pbnN0YW5jZUlkO1xyXG4gICAgfVxyXG4gICAgaWYgKGZ1cm5pdHVyZURhdGEpIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICB0aGlzLmJ1aWxkUmVzdWx0ID0gYXdhaXQgdGhpcy5fbG9hZEZ1cm5pdHVyZVNlcnZpY2UuY3VycmVudEFjdGl2ZVNlcnZpY2UubG9hZEZ1cm5pdHVyZShcclxuICAgICAgICAgIGZ1cm5pdHVyZURhdGEsXHJcbiAgICAgICAgICBzaG91bGRDb3B5SW5zdGFuY2UsXHJcbiAgICAgICAgICBsb29zZU9yaWdpbmFsQ29uZmlndXJhdGlvbixcclxuICAgICAgICAgIHN0YW5kQWxvbmUsXHJcbiAgICAgICAgICBmcm9tU2NyYXRjaCxcclxuICAgICAgICAgIGZyb21QcmVzZXQsXHJcbiAgICAgICAgICBsb2FkRnJvbVByb2plY3RcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc2hvd0Z1bGxDb25maWd1cmF0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLm9uU2hvd0Z1bGxDb25maWd1cmF0aW9uLmVtaXQodGhpcy5pc0NvbmZpZ3VyaW5nKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5vblNob3dMaXRlU2VsZWN0b3IuZW1pdCh0aGlzLmlzQ29uZmlndXJpbmcpO1xyXG4gICAgICAgICAgdGhpcy5vblNob3dTZWxlY3Rpb25zLmVtaXQodGhpcy5pc0NvbmZpZ3VyaW5nKTtcclxuICAgICAgICAgIHRoaXMub25TaG93QW5zd2Vycy5lbWl0KHRoaXMuaXNDb25maWd1cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGxvYWRpbmcgZnVybml0dXJlIGNvbmZpZ3VyYXRpb246JywgZXJyb3IpO1xyXG4gICAgICAgIHRoaXMuX2FwcEV2ZW50U2VydmljZS5hcnRpY2xlTm90Rm91bmQubmV4dChlcnJvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2hhbmRsZVRlbXBsYXRlQ2hhbmdlKHRlbXBsYXRlOiBDb25maWd1cmF0aW9uVGVtcGxhdGUpOiB2b2lkIHtcclxuICAgIGlmICh0ZW1wbGF0ZSA9PT0gQ29uZmlndXJhdGlvblRlbXBsYXRlLmRlZmF1bHQpIHtcclxuICAgICAgdGhpcy5fc2hvd0Z1bGxDb25maWd1cmF0aW9uID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKHRlbXBsYXRlID09PSBDb25maWd1cmF0aW9uVGVtcGxhdGUuc2hvd0Z1bGxDb25maWd1cmF0aW9uKSB7XHJcbiAgICAgIHRoaXMuX3Nob3dGdWxsQ29uZmlndXJhdGlvbiA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zaG93RnVsbENvbmZpZ3VyYXRpb24gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|