{"version":3,"file":"app-498a7373.fe63c913c66424a6.bundle.js","mappings":"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","sources":["webpack://client-app/./src/showroom/object-presentation/object-presentation.scss","webpack://client-app/./src/showroom/object-presentation/object-presentation.html","webpack://client-app/./src/showroom/object-presentation/object-presentation.ts"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.object-presentation{padding:15px;overflow:auto;position:relative;width:100%}@media screen and (min-width: 768px){.object-presentation{display:flex;flex:1 1 100%;flex-direction:column}}.object-presentation .object-btn-group{display:flex;justify-content:flex-end;margin-top:10px}.object-presentation .object-btn-group>.btn:not(:first-child){margin-left:calc(15px/3)}@media screen and (min-width: 768px){.object-presentation .object-description{min-height:250px;max-height:250px}}@media screen and (min-width: 768px){.object-presentation .object-details{height:100%}}.object-presentation .object-details .object-presentation-left>*:not(:first-child){margin-top:15px}.object-presentation .manufacturer__header{margin-bottom:15px}.object-presentation .manufacturer__body{margin-top:15px}.object-presentation .manufacturer__body .btn{margin-top:15px}.object-presentation-left{margin-bottom:15px}@media screen and (min-width: 768px){.object-presentation-left{margin-bottom:0;margin-right:15px;min-width:250px;max-width:250px}}@media screen and (min-width: 1024px){.object-presentation-left{min-width:350px;max-width:350px}}@media screen and (min-width: 768px){.object-presentation-right{width:calc(100% - 250px)}}@media screen and (min-width: 1024px){.object-presentation-right{width:calc(100% - 350px)}}@media screen and (min-width: 768px){.object-presentation-description{height:calc(100% - 45px)}}.object-presentation-description .description{height:calc(100% - 18px - 8px);overflow:auto}.object-presentation-description .description-container{height:100%}.object-presentation-types-and-description{display:grid;row-gap:15px}@media screen and (min-width: 768px){.object-presentation-types-and-description{column-gap:15px;grid-template-columns:.5fr 1fr;height:calc(100% - 45px)}}.object-presentation-types-and-description .types-container,.object-presentation-types-and-description .description-container{height:100%;overflow:hidden}.object-presentation-types-and-description .types{display:flex;flex-direction:column;height:250px;overflow:auto}@media screen and (min-width: 768px){.object-presentation-types-and-description .types{height:calc(100% - 18px - 8px)}}.object-presentation-types-and-description .types .type{cursor:pointer;padding:2px 4px}.object-presentation-types-and-description .types .type:nth-of-type(odd){background:#efefef}.object-presentation-types-and-description .types .type.selected{background:#00b3c9;color:#fff}.object-presentation-types-and-description .description{height:calc(100% - 18px - 8px);overflow:auto}.object-presentation .heading{display:flex;font-size:1.175em;font-weight:600;margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-presentation-image{background:#efefef;display:flex;justify-content:center;height:250px;width:100%;padding:8px;position:relative;user-select:none}.object-presentation-image img:first-of-type{height:auto;max-width:100%;object-fit:scale-down}.object-presentation-image .manufacturer-logo{height:25px;position:absolute;top:4px;left:4px}.info-row{padding:4px 8px}.info-row:nth-child(odd){background:#efefef}@media screen and (min-width: 768px){.properties .info-row{display:grid;grid-template-columns:minmax(100px, 250px) minmax(250px, 1fr);column-gap:15px;row-gap:0px}}.info-row .title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}@media screen and (min-width: 768px){.info-row .title{grid-area:1/1/2/2}}.info-row .value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media screen and (min-width: 768px){.info-row .value{grid-area:1/2/2/3}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/showroom/object-presentation/object-presentation.scss\",\"webpack://./src/resources/customized-styles/variables.scss\",\"webpack://./src/resources/styling-admin.scss\"],\"names\":[],\"mappings\":\"AAGA,qBACC,YCMQ,CDLR,aAAA,CACA,iBAAA,CACA,UAAA,CAEA,qCAND,qBAOE,YAAA,CACA,aAAA,CACA,qBAAA,CAAA,CAGD,uCACC,YAAA,CACA,wBAAA,CACA,eAAA,CAEA,8DACC,wBAAA,CAKD,qCADD,yCAEE,gBCY8B,CDX9B,gBCW8B,CAAA,CDN/B,qCADD,qCAEE,WAAA,CAAA,CAIA,mFACC,eAAA,CAMF,2CACC,kBCpCM,CDsCP,yCACC,eCvCM,CDyCN,8CACC,eC1CK,CD+CR,0BACC,kBChDO,CDkDP,qCAHD,0BAIE,eAAA,CACA,iBCpDM,CDqDN,eC1BsC,CD2BtC,eC3BsC,CAAA,CD8BvC,sCAVD,0BAWE,eC9ByC,CD+BzC,eC/ByC,CAAA,CDqC1C,qCAFD,2BAGE,wBAAA,CAAA,CAGD,sCAND,2BAOE,wBAAA,CAAA,CAKD,qCADD,iCAEE,wBAAA,CAAA,CAGD,8CACC,8BAAA,CACA,aAAA,CAEA,wDACC,WAAA,CAKH,2CACC,YAAA,CACA,YAAA,CAEA,qCAJD,2CAKE,eAAA,CACA,8BAAA,CACA,wBAAA,CAAA,CAGD,8HAEC,WAAA,CACA,eAAA,CAGD,kDACC,YAAA,CACA,qBAAA,CACA,YAAA,CACA,aAAA,CAEA,qCAND,kDAOE,8BAAA,CAAA,CAGD,wDACC,cAAA,CACA,eAAA,CAEA,yEACC,kBC7HQ,CDgIT,iEACC,kBCrII,CDsIJ,UExHS,CF6HZ,wDACC,8BAAA,CACA,aAAA,CAIF,8BACC,YAAA,CACA,iBAAA,CACA,eAAA,CACA,iBAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CAIF,2BACC,kBCzJY,CD0JZ,YAAA,CACA,sBAAA,CACA,YC1HgC,CD2HhC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,gBAAA,CAEA,6CACC,WAAA,CACA,cAAA,CACA,qBAAA,CAGD,8CACC,WAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CAIF,UACC,eAAA,CAEA,yBACC,kBCpLW,CDwLX,qCADD,sBAEE,YAAA,CACA,6DAAA,CACA,eCtLM,CDuLN,WAAA,CAAA,CAIF,iBACC,eAAA,CACA,eAAA,CACA,sBAAA,CACA,kBAAA,CACA,yBAAA,CAEA,qCAPD,iBAQE,iBAAA,CAAA,CAIF,iBACC,eAAA,CACA,sBAAA,CACA,kBAAA,CAEA,qCALD,iBAME,iBAAA,CAAA\",\"sourcesContent\":[\"@import \\\"src/resources/styling-admin\\\";\\r\\n@import \\\"src/resources/customized-styles/variables\\\";\\r\\n\\r\\n.object-presentation {\\r\\n\\tpadding: $gutter;\\r\\n\\toverflow: auto;\\r\\n\\tposition: relative;\\r\\n\\twidth: 100%;\\r\\n\\r\\n\\t@media screen and (min-width: 768px) {\\r\\n\\t\\tdisplay: flex;\\r\\n\\t\\tflex: 1 1 100%;\\r\\n\\t\\tflex-direction: column;\\r\\n\\t}\\r\\n\\r\\n\\t.object-btn-group {\\r\\n\\t\\tdisplay: flex;\\r\\n\\t\\tjustify-content: flex-end;\\r\\n\\t\\tmargin-top: 10px;\\r\\n\\t\\t\\r\\n\\t\\t> .btn:not(:first-child) {\\r\\n\\t\\t\\tmargin-left: calc(#{$gutter} / 3);\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t.object-description {\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\tmin-height: $object-presentation-img-height;\\r\\n\\t\\t\\tmax-height: $object-presentation-img-height;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t.object-details {\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\theight: 100%;\\r\\n\\t\\t}\\r\\n\\t\\t\\r\\n\\t\\t.object-presentation-left {\\r\\n\\t\\t\\t> *:not(:first-child) {\\r\\n\\t\\t\\t\\tmargin-top: 15px;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t.manufacturer {\\r\\n\\t\\t&__header {\\r\\n\\t\\t\\tmargin-bottom: $gutter;\\r\\n\\t\\t}\\r\\n\\t\\t&__body {\\r\\n\\t\\t\\tmargin-top: $gutter;\\r\\n\\r\\n\\t\\t\\t.btn {\\r\\n\\t\\t\\t\\tmargin-top: $gutter;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t&-left {\\r\\n\\t\\tmargin-bottom: $gutter;\\r\\n\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\tmargin-bottom: 0;\\r\\n\\t\\t\\tmargin-right: $gutter;\\r\\n\\t\\t\\tmin-width: $object-presentation-left-content-width;\\r\\n\\t\\t\\tmax-width: $object-presentation-left-content-width;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t@media screen and (min-width: 1024px) {\\r\\n\\t\\t\\tmin-width: $object-presentation-left-content-width-lg;\\r\\n\\t\\t\\tmax-width: $object-presentation-left-content-width-lg;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t&-right {\\r\\n\\t\\t\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\twidth: calc(100% - #{$object-presentation-left-content-width});\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t@media screen and (min-width: 1024px) {\\r\\n\\t\\t\\twidth: calc(100% - #{$object-presentation-left-content-width-lg});\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t&-description {\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\theight: calc(100% - 45px);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t.description {\\r\\n\\t\\t\\theight: calc(100% - 18px - 8px);\\r\\n\\t\\t\\toverflow: auto;\\r\\n\\r\\n\\t\\t\\t&-container {\\r\\n\\t\\t\\t\\theight: 100%;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t&-types-and-description {\\r\\n\\t\\tdisplay: grid;\\r\\n\\t\\trow-gap: 15px;\\r\\n\\t\\t\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\tcolumn-gap: 15px;\\r\\n\\t\\t\\tgrid-template-columns: .5fr 1fr;\\r\\n\\t\\t\\theight: calc(100% - 45px);\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t.types-container,\\r\\n\\t\\t.description-container {\\r\\n\\t\\t\\theight: 100%;\\r\\n\\t\\t\\toverflow: hidden;\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t.types {\\t\\r\\n\\t\\t\\tdisplay: flex;\\r\\n\\t\\t\\tflex-direction: column;\\r\\n\\t\\t\\theight: 250px;\\r\\n\\t\\t\\toverflow: auto;\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\t\\theight: calc(100% - 18px - 8px);\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\r\\n\\t\\t\\t.type {\\r\\n\\t\\t\\t\\tcursor: pointer;\\r\\n\\t\\t\\t\\tpadding: 2px 4px;\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t&:nth-of-type(odd) {\\r\\n\\t\\t\\t\\t\\tbackground: $grey-light;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\r\\n\\t\\t\\t\\t&.selected {\\r\\n\\t\\t\\t\\t\\tbackground: $accent;\\r\\n\\t\\t\\t\\t\\tcolor: $white;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\r\\n\\t\\t.description {\\r\\n\\t\\t\\theight: calc(100% - 18px - 8px);\\r\\n\\t\\t\\toverflow: auto;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t.heading {\\r\\n\\t\\tdisplay: flex;\\r\\n\\t\\tfont-size: 1.175em;\\r\\n\\t\\tfont-weight: 600;\\r\\n\\t\\tmargin-bottom: 5px;\\r\\n\\t\\toverflow: hidden;\\r\\n\\t\\ttext-overflow: ellipsis;\\r\\n\\t\\twhite-space: nowrap;\\t\\t\\r\\n\\t}\\r\\n}\\r\\n\\r\\n.object-presentation-image {\\r\\n\\tbackground: $grey-light;\\r\\n\\tdisplay: flex;\\r\\n\\tjustify-content: center;\\r\\n\\theight: $object-presentation-img-height;\\r\\n\\twidth: 100%;\\r\\n\\tpadding: 8px;\\r\\n\\tposition: relative;\\r\\n\\tuser-select: none;\\r\\n\\r\\n\\timg:first-of-type {\\r\\n\\t\\theight: auto;\\r\\n\\t\\tmax-width: 100%;\\r\\n\\t\\tobject-fit: scale-down;\\r\\n\\t}\\r\\n\\r\\n\\t.manufacturer-logo {\\r\\n\\t\\theight: 25px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\ttop: 4px;\\r\\n\\t\\tleft: 4px;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n.info-row {\\r\\n\\tpadding: 4px 8px;\\r\\n\\t\\r\\n\\t&:nth-child(odd) {\\r\\n\\t\\tbackground: $grey-light;\\r\\n\\t}\\r\\n\\r\\n\\t.properties & {\\t\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\tdisplay: grid;\\r\\n\\t\\t\\tgrid-template-columns: minmax(100px, #{$object-presentation-img-height}) minmax(#{$object-presentation-img-height}, 1fr);\\r\\n\\t\\t\\tcolumn-gap: $gutter;\\r\\n\\t\\t\\trow-gap: 0px;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t.title {\\r\\n\\t\\tfont-weight: 600;\\r\\n\\t\\toverflow: hidden;\\r\\n\\t\\ttext-overflow: ellipsis;\\r\\n\\t\\twhite-space: nowrap;\\r\\n\\t\\ttext-transform: capitalize;\\r\\n\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\tgrid-area: 1 / 1 / 2 / 2;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t.value {\\r\\n\\t\\toverflow: hidden;\\r\\n\\t\\ttext-overflow: ellipsis;\\r\\n\\t\\twhite-space: nowrap;\\r\\n\\r\\n\\t\\t@media screen and (min-width: 768px) {\\r\\n\\t\\t\\tgrid-area: 1 / 2 / 2 / 3;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n// Future design\\r\\n\\r\\n// .object-presentation {\\r\\n// \\tdisplay: grid;\\r\\n// \\tgrid-template-rows: minmax(250px, 20vh) 1fr;\\r\\n// \\tpadding: $gutter;\\r\\n// \\toverflow: auto;\\r\\n// \\tposition: relative;\\r\\n// \\twidth: 100%;\\r\\n\\r\\n// \\t&__top {\\r\\n// \\t\\tdisplay: grid;\\r\\n// \\t\\tgrid-template-columns: 250px 1fr;\\r\\n\\r\\n// \\t\\t.object-presentation__figure {\\r\\n// \\t\\t\\t.object-presentation__image {\\r\\n// \\t\\t\\t\\tbackground: $grey-light;\\r\\n// \\t\\t\\t\\tdisplay: flex;\\r\\n// \\t\\t\\t\\tjustify-content: center;\\r\\n// \\t\\t\\t\\talign-items: center;\\r\\n// \\t\\t\\t\\theight: $object-presentation-img-height;\\r\\n// \\t\\t\\t\\twidth: 100%;\\r\\n// \\t\\t\\t\\tpadding: 8px;\\r\\n// \\t\\t\\t\\tposition: relative;\\r\\n// \\t\\t\\t\\tuser-select: none;\\r\\n\\t\\t\\t\\r\\n// \\t\\t\\t\\timg {\\r\\n// \\t\\t\\t\\t\\theight: 100%;\\r\\n// \\t\\t\\t\\t\\tobject-fit: contain;\\r\\n// \\t\\t\\t\\t}\\r\\n\\t\\t\\t\\r\\n// \\t\\t\\t\\t.manufacturer-logo {\\r\\n// \\t\\t\\t\\t\\theight: 25px;\\r\\n// \\t\\t\\t\\t\\tposition: absolute;\\r\\n// \\t\\t\\t\\t\\ttop: 4px;\\r\\n// \\t\\t\\t\\t\\tleft: 4px;\\r\\n// \\t\\t\\t\\t}\\r\\n// \\t\\t\\t}\\r\\n// \\t\\t}\\r\\n// \\t}\\r\\n\\r\\n// \\t&__body {\\r\\n\\t\\t\\r\\n// \\t}\\r\\n// }\\r\\n\",\"$text-color: #333;\\r\\n$accent: #00B3C9;\\r\\n$accent-15pct: #D9F4F7;\\r\\n$bs-default: #f1f3f4;\\r\\n$grey: #dddddd;\\r\\n$grey-light: #efefef;\\r\\n$grey-lighter: #F0F3F4;\\r\\n$grey-darker: #A5A3A3;\\r\\n$white-hsl-97: hsla(0deg, 0%, 97%, 1);\\r\\n\\r\\n$gutter: 15px;\\r\\n\\r\\n$box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.175);\\r\\n$box-shadow-right: 0.05rem 0 0.25rem rgba(0, 0, 0, 0.175);\\r\\n$box-shadow-left: -0.05rem 0 0.25rem rgba(0, 0, 0, 0.175);\\r\\n$box-shadow-color: rgba(0, 0, 0, 0.175);\\r\\n\\r\\n$border-color: rgba(0, 0, 0, 0.175);\\r\\n\\r\\n\\r\\n// Showroom header\\r\\n$showroom-header-height: 350px;\\r\\n$showroom-header-height-small: 150px;\\r\\n$showroom-header-height-mobile: 200px;\\r\\n\\r\\n// Navigation\\r\\n$nav-width: 275px;\\r\\n$nav-width-collapsed: 50px;\\r\\n$nav-height-mobile: 50px;\\r\\n\\r\\n// Top bar\\r\\n$top-bar-height: 4em;\\r\\n\\r\\n// CSS grid table\\r\\n$css-grid-header-height: calc(4em + 1px);\\r\\n\\r\\n// Object Presentation\\r\\n$object-presentation-left-content-width: 250px;\\r\\n$object-presentation-left-content-width-lg: 350px;\\r\\n$object-presentation-img-height: 250px;\\r\\n\\r\\n\\r\\n// Card deck\\r\\n$card-height: 250px;\\r\\n\\r\\n\\r\\n// Select\\r\\n$select-min-width: 200px;\\r\\n\\r\\n\\r\\n// Modal\\r\\n$modal-header-height: 50px;\\r\\n$modal-footer-height: 50px;\\r\\n\\r\\n// Object Properties\\r\\n$object-properties-width: 480px;\\r\\n$object-properties-width--detailed: 560px;\\r\\n$object-properties-width-mobile: 100vw;\\r\\n$object-properties-width-mobile--detailed: 100vw;\\r\\n$object-properties-width-tablet: 480px;\\r\\n$object-properties-width-tablet--detailed: 560px;\\r\\n\\r\\n// Notification Center\\r\\n$notification-center-width: 500px;\\r\\n\\r\\n// 7.0 z-index Setting\\r\\n\\r\\n$btn-scroll-to-top-zindex: 1020 !default;\\r\\n$content-zindex: 1020 !default;\\r\\n$float-submenu-zindex: 1020 !default;\\r\\n$footer-zindex: 1020 !default;\\r\\n$header-zindex: 1020 !default;\\r\\n$header-fixed-zindex: 1040 !default;\\r\\n$sidebar-zindex: 1010 !default;\\r\\n$top-menu-zindex: 1015 !default;\\r\\n$theme-panel-zindex: 1020 !default;\\r\\n$page-loader-zindex : 9999 !default;\\r\\n$page-title-zindex: 1020 !default;\\r\\n$pace-loader-zindex: 1030 !default;\\r\\n$panel-expand-zindex: 1080 !default;\\r\\n\\r\\n// 2.0 RTL Setting\\r\\n\\r\\n$enable-rtl: false !default;\\r\\n\\r\\n// 6.0 App Component Setting\\r\\n@import 'functions.scss';\\r\\n$boxed-layout-width: rem(1280px) !default;\\r\\n$content-padding-x: rem(30px) !default;\\r\\n$content-padding-y: rem(20px) !default;\\r\\n$content-padding-x-sm: rem(20px) !default;\\r\\n$content-padding-y-sm: rem(20px) !default;\\r\\n$header-height: rem(50px) !default;\\r\\n$header-height-sm: rem(50px) !default;\\r\\n$sidebar-width: rem(220px) !default;\\r\\n$sidebar-minified-width: rem(60px) !default;\\r\\n$sidebar-wide-width: rem(250px) !default;\\r\\n$top-menu-height: rem(40px) !default;\\r\\n\",\"$black: #000000 !default;\\r\\n$blue: #348fe2 !default;\\r\\n$cyan: #49b6d6 !default;\\r\\n$dark: #2d353c !default;\\r\\n$dark-darker: #1a2229 !default;\\r\\n$green: #32a932 !default;\\r\\n$indigo: #8753de !default;\\r\\n$lime: #90ca4b !default;\\r\\n$light: #f2f3f4 !default;\\r\\n$orange: #f59c1a !default;\\r\\n$purple: #727cb6 !default;\\r\\n$pink: #fb5597 !default;\\r\\n$red: #ff5b57 !default;\\r\\n$silver: #b6c2c9 !default;\\r\\n$teal: #00acac !default;\\r\\n$white: #FFFFFF !default;\\r\\n$yellow: #ffd900 !default;\\r\\n$inverse: $dark !default;\\r\\n$link-color: $blue !default;\\r\\n$btn-eg-theme-color: #517770 !default;\\r\\n$btn-ajour-theme-color:\\trgb(29, 30, 90) !default; \\t\\r\\n$colors: (\\r\\n\\t'black': $black,\\r\\n\\t'cyan': $cyan,\\r\\n\\t'dark': $dark,\\r\\n\\t'dark-darker': $dark-darker,\\r\\n\\t'green': $green,\\r\\n\\t'indigo': $indigo,\\r\\n\\t'lime': $lime,\\r\\n\\t'light': $light,\\r\\n\\t'orange': $orange,\\r\\n\\t'purple': $purple,\\r\\n\\t'pink': $pink,\\r\\n\\t'red': $red,\\r\\n\\t'silver': $silver,\\r\\n\\t'teal': $teal,\\r\\n\\t'white': $white,\\r\\n\\t'yellow': $yellow,\\r\\n\\t'muted': darken($silver, 30%),\\r\\n\\t'aqua': $cyan,\\r\\n\\t'btn-eg-theme-color': $btn-eg-theme-color,\\r\\n\\t'btn-ajour-theme-color': $btn-ajour-theme-color,\\r\\n\\r\\n);\\r\\n\\r\\n$border-radius: 4px !default;\\r\\n$border-radius-lg: 6px !default;\\r\\n$border-radius-sm: 3px !default;\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = \"\\r\\n\";","import { ApiClient } from 'app/services/api-client';\r\nimport { ObjectParameterService } from 'app/services/object-services/object-parameter-service';\r\nimport { ObjectParameter } from 'app/models/object-parameter';\r\nimport { ObjectDetailService } from 'app/services/object-services/object-detail-service';\r\nimport { ObjectDetails } from 'app/models/object-details';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { ObjectValues } from 'app/models/object-values';\r\nimport { DialogController } from 'aurelia-dialog';\r\nimport * as settings from 'app-settings.json';\r\nimport { IdNamePair } from 'app/models/idNamePair';\r\nimport { ObjectFilter } from 'app/models/object-filter';\r\nimport { ObjectServiceBuilder } from 'app/services/object-services/object-service-builder';\r\nimport { ManufacturerDetails } from 'app/models/manufacturer-details';\r\n\r\nexport interface ObjPresentationDto { // was: { type: ObjectDetails, filters: ObjectFilter[] }\r\n type: ObjectDetails; \r\n filters: ObjectFilter[];\r\n}\r\n\r\n@autoinject\r\nexport class ObjectPresentation {\r\n private typeService: ObjectDetailService | undefined;\r\n private objectParameters: ObjectParameterService | undefined;\r\n \r\n public objectType: ObjectDetails | undefined;\r\n public baseProperties: { name: string, value: string}[] = [];\r\n private familyFilters: ObjectFilter[] = [];\r\n\r\n public types: IdNamePair[] = [];\r\n public selectedType: IdNamePair | undefined;\r\n public imageUrl: string = \"\";\r\n\tpublic typeProperties: ObjectParameter[] = [];\r\n\tpublic manufacturerDetails: ManufacturerDetails | undefined;\r\n\tprivate imgUrlBase: string;\r\n\r\n constructor(serviceBuilder: ObjectServiceBuilder, protected dialog: DialogController, private apiClient: ApiClient){\r\n this.typeService = serviceBuilder.ForAjourManufacturer_OSB('OP').BuildObjectDetailService();\r\n this.objectParameters = serviceBuilder.ForAjourManufacturer_OSB('OP').BuildObjectParameterService();\r\n\t\tthis.imgUrlBase = this.typeService?.getImgUrl() ? this.typeService?.getImgUrl() : \"\";\r\n }\r\n\r\n \r\n async activate(model: ObjPresentationDto):Promise { // { type: ObjectDetails, filters: ObjectFilter[] } \r\n this.objectType = model.type;\r\n console.log('objectType:ObjectDetails', this.objectType);\r\n\r\n this.baseProperties = [\r\n { name: ObjectValues.targetTypes.category, value: this.objectType.categoryName },\r\n { name: ObjectValues.targetTypes.manufacturer, value: this.objectType.manufacturerName }\r\n ];\r\n console.log('(fixed)baseProperties:', this.baseProperties );\r\n\r\n console.log('familyFilters IN:', model.filters );\r\n this.setFamilyFilters(model.filters);\r\n console.log('familyFilters OUT:', this.familyFilters );\r\n\r\n let familyTypes: IdNamePair[] | undefined = await this.typeService?.queryFamilyTypes(this.familyFilters);\r\n if (familyTypes) {\r\n this.types = familyTypes;\r\n console.log('object-presentation queryFamilyTypes got:', this.types);\r\n }\r\n\r\n if(Boolean(this.objectType.typeName))\r\n this.selectType(this.types.find(x => x.id == this.objectType?.typeId));\r\n else if(this.types.length > 0)\r\n this.selectType(this.types[0]);\r\n else \r\n\t\t\tthis.typeProperties = [];\r\n\t\t\t\r\n\t\tthis.getManufacturerDetails();\r\n\t}\r\n\r\n public ok() { // close dialog again.\r\n this.dialog.ok(this.objectType);\r\n }\r\n\t\r\n\tprivate async getManufacturerDetails() {\r\n let manuApi = this.apiClient.manufacturer;\r\n\t\tthis.manufacturerDetails = await manuApi.get(`Manufacturer/GetDetails/${this.objectType?.manufacturerId}`).jsonResult();\r\n console.log('getManufacturerDetails: id:',this.objectType?.manufacturerId, 'got:', this.manufacturerDetails);\r\n\t}\r\n\r\n private setFamilyFilters(filters: ObjectFilter[]) {\r\n let typeFilter = filters.find(x => x.targetType == ObjectValues.targetTypes.type);\r\n this.familyFilters = [...filters];\r\n // Ignore id based type filters, consider re-evaluating this rule when aoc db schema is designed\r\n if (Boolean(typeFilter) && typeFilter?.selectedComparisonOption == ObjectValues.comparisonMethods.hasRelation){\r\n this.replaceFilter(typeFilter, undefined);\r\n }\r\n let familyFilter = filters.find(x => x.targetType == ObjectValues.targetTypes.family);\r\n let manufacturerFilter = filters.find(x => x.targetType == ObjectValues.targetTypes.manufacturer);\r\n if (!Boolean(familyFilter)){\r\n familyFilter = ObjectValues.staticFiltersAll.find(x => x.targetType == ObjectValues.targetTypes.family);\r\n }\r\n if (!Boolean(manufacturerFilter)){\r\n manufacturerFilter = ObjectValues.staticFiltersAll.find(x => x.targetType == ObjectValues.targetTypes.manufacturer);\r\n }\r\n if (familyFilter && manufacturerFilter) {\r\n this.replaceFilter(familyFilter, this.objectType?.familyId);\r\n this.replaceFilter(manufacturerFilter, this.objectType?.manufacturerId);\r\n }\r\n }\r\n\r\n private replaceFilter(filter: ObjectFilter, targetId: string | undefined) {\r\n let copy = Object.assign({}, filter);\r\n copy.selectedComparisonOption = ObjectValues.comparisonMethods.hasRelation;\r\n copy.value = targetId;\r\n if (!Boolean(copy.selectedSortingOption)){\r\n copy.selectedSortingOption = ObjectValues.sortingMethods.ascending;\r\n }\r\n let index = this.familyFilters.indexOf(filter);\r\n if(index < 0)\r\n this.familyFilters.unshift(copy);\r\n else\r\n this.familyFilters.splice(index, 1, copy);\r\n }\r\n \r\n public async selectType(type: any): Promise{\r\n\t\tthis.selectedType = type;\r\n if(Boolean(type)){\r\n let typeParameters: ObjectParameter[] | undefined = await this.objectParameters?.GetAllTypeParameters(type.id);\r\n if (typeParameters) {\r\n this.typeProperties = typeParameters; \r\n }\r\n console.log('selectType-typeProperties:', this.typeProperties);\r\n\t\t\t//this.imageUrl = `${settings.externalUrls.imageServer}/img?typeId=${type.id}&orgId=${settings.manufacturerOrgId}` \r\n\t\t\tthis.imageUrl = `${this.imgUrlBase}/img?typeId=${type.id}&orgId=${settings.manufacturerOrgId}` \r\n\t\t\t// broken, FIXME.\r\n }\r\n else {\r\n this.typeProperties = [];\r\n this.imageUrl = \"\";\r\n } \r\n }\r\n \r\n get signUpUrl():string{ return settings.externalUrls.signUp; }\r\n\r\n\tcopyLink(){\r\n\t\tconst selBox = document.createElement('textarea');\r\n\t\tselBox.style.position = 'fixed';\r\n\t\tselBox.style.left = '0';\r\n\t\tselBox.style.top = '0';\r\n\t\tselBox.style.opacity = '0';\r\n\r\n\t\tselBox.value = window.origin + \"/#/manufacturer/\" + this.selectedType?.name.replace(/\\s/g, \"-\").replace(/[/,.;!@$%^&*()\\u9999]/g, \"\") + \"/\" + this.selectedType?.id;\r\n\t\tselBox.value = encodeURI(selBox.value);\r\n\t\t\r\n\t\tdocument.body.appendChild(selBox);\r\n\t\t\r\n\t\tselBox.focus();\r\n\t\tselBox.select();\r\n\t\t\r\n\t\tdocument.execCommand('copy');\r\n\t\tdocument.body.removeChild(selBox);\r\n\r\n\t\tconst notification = document.createElement('div');\r\n\t\tnotification.innerHTML = \"Link copied\";\r\n\t\tnotification.className = \"notification--copy\";\r\n\t\tdocument.querySelector(\"#presentation-copy-btn\")?.prepend(notification);\r\n\t\tsetTimeout(() => {\r\n\t\t\tdocument.querySelector(\"#presentation-copy-btn\")?.removeChild(notification);\r\n\t\t}, 2000);\r\n\t}\r\n}\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","ObjectPresentation","constructor","serviceBuilder","dialog","apiClient","baseProperties","familyFilters","types","imageUrl","typeProperties","this","typeService","ForAjourManufacturer_OSB","BuildObjectDetailService","objectParameters","BuildObjectParameterService","imgUrlBase","getImgUrl","activate","model","objectType","type","console","log","name","targetTypes","category","value","categoryName","manufacturer","manufacturerName","filters","setFamilyFilters","familyTypes","queryFamilyTypes","Boolean","typeName","selectType","find","x","typeId","length","getManufacturerDetails","ok","manuApi","manufacturerDetails","get","manufacturerId","jsonResult","typeFilter","targetType","selectedComparisonOption","comparisonMethods","hasRelation","replaceFilter","undefined","familyFilter","family","manufacturerFilter","staticFiltersAll","familyId","filter","targetId","copy","Object","assign","selectedSortingOption","sortingMethods","ascending","index","indexOf","unshift","splice","selectedType","typeParameters","GetAllTypeParameters","signUpUrl","signUp","copyLink","selBox","document","createElement","style","position","left","top","opacity","window","origin","replace","encodeURI","body","appendChild","focus","select","execCommand","removeChild","notification","innerHTML","className","querySelector","prepend","setTimeout","autoinject","DialogController"],"sourceRoot":""}