{"version":3,"file":"app-498a7373.48eccacd998e9570.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,0BAAA,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\\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;\",\"$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\\t\\r\\n \\r\\n\\r\\n\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t${objectType.familyName}\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t 1 ? 'object-presentation-types-and-description' : 'object-presentation-description'}\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t 1\\\" title=\\\"Available Family Types\\\">\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tTypes\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t${type.name}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tDescription\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t${manufacturerDetails.description}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tCopy link\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tDownloadAjourObjectsPlugin\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tBase info\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t${property.name}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t${property.value}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tManufacturer details\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t${manufacturerDetails.name}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t${manufacturerDetails.url}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tMail: ${manufacturerDetails.email}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tPhone: ${manufacturerDetails.phone}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tEPD Data\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\tParameters\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t${property.name}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t${property.value}\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\r\\n\\t\\r\\n\\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","async","model","objectType","type","console","log","name","value","categoryName","manufacturerName","filters","setFamilyFilters","familyTypes","queryFamilyTypes","Boolean","typeName","selectType","find","x","typeId","length","getManufacturerDetails","ok","manuApi","manufacturer","manufacturerDetails","get","manufacturerId","jsonResult","typeFilter","targetType","selectedComparisonOption","replaceFilter","undefined","familyFilter","manufacturerFilter","familyId","filter","targetId","copy","Object","assign","selectedSortingOption","index","indexOf","unshift","splice","selectedType","typeParameters","GetAllTypeParameters","signUpUrl","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":""}