{"version":3,"file":"app-a0d567cf.90e3534fa681200e.bundle.js","mappings":"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","sources":["webpack://client-app/./src/app/components/object/object-card-deck/object-card-deck.scss","webpack://client-app/./src/app/components/object/object-card-deck/object-card-deck.html","webpack://client-app/./src/app/components/object/object-card-deck/object-card-deck.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-card-deck{display:block}.card-deck--grid{display:grid;grid-template-columns:1fr;column-gap:15px;row-gap:15px}@media(min-width: 576px)and (max-width: 1399px){.card-deck--grid{grid-template-columns:repeat(2, 1fr)}}@media(min-width: 1400px)and (max-width: 1999px){.card-deck--grid{grid-template-columns:repeat(3, 1fr)}}@media(min-width: 2000px){.card-deck--grid{grid-template-columns:repeat(4, 1fr)}}.card-deck--grid .card{display:flex;flex-direction:column;align-items:stretch;position:relative}@media screen and (min-width: 992px){.card-deck--grid .card{border:none;flex-direction:row;max-height:250px}}.card-deck--grid .card-title{cursor:pointer;margin-bottom:calc(15px/3)}.card-deck--grid .card-title--family{cursor:pointer;font-weight:600;margin-bottom:calc(15px - 5px)}.card-deck--grid .card-text{display:flex;flex-direction:column;flex-wrap:nowrap;padding:15px}.card-deck--grid .card-description{overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.card-deck--grid .card-body{position:relative;display:flex;flex-direction:column;justify-content:space-between;flex-wrap:nowrap;padding:0;overflow:hidden;white-space:normal}@media(min-width: 992px){.card-deck--grid .card-body{flex:0 0 60%}}.card-deck--grid .card-img-container{cursor:pointer;background:#efefef;display:flex;justify-content:center;height:250px;padding:calc(15px/2);position:relative;user-select:none}@media(min-width: 992px){.card-deck--grid .card-img-container{flex:0 0 40%;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}}.card-deck--grid .manufacturer-logo{height:25px;position:absolute;top:4px;left:4px}.card-deck--grid .card-img{height:auto;max-width:100%;object-fit:scale-down}.card-deck--grid .tags-and-actions{position:relative}.card-deck--grid .tags{padding:0 15px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.card-deck--grid .tags .label{margin-bottom:3px !important;display:inline-flex}.card-deck--grid .tags .label:not(:first-of-type){margin-left:0}.card-deck--grid .card-btn-group{-webkit-font-smoothing:antialiased;box-sizing:border-box;display:flex;align-items:center;justify-content:flex-end}.label{user-select:none}.tags .label:not(:first-of-type){margin-right:3px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/app/components/object/object-card-deck/object-card-deck.scss\",\"webpack://./src/resources/customized-styles/variables.scss\"],\"names\":[],\"mappings\":\"AAEA,iBACC,aAAA,CAGD,iBACC,YAAA,CACA,yBAAA,CACA,eCCQ,CAAA,YAAA,CDER,gDAND,iBAOE,oCAAA,CAAA,CAGD,iDAVD,iBAWE,oCAAA,CAAA,CAGD,0BAdD,iBAeE,oCAAA,CAAA,CAGD,uBACC,YAAA,CACA,qBAAA,CACA,mBAAA,CACA,iBAAA,CAEA,qCAND,uBAOE,WAAA,CACA,kBAAA,CACA,gBCUW,CAAA,CDNb,6BACC,cAAA,CACA,0BAAA,CAEA,qCACC,cAAA,CACA,eAAA,CACA,8BAAA,CAIF,4BACC,YAAA,CACA,qBAAA,CACA,gBAAA,CACA,YC1CO,CD6CR,mCACC,eAAA,CACA,mBAAA,CACA,oBAAA,CACA,2BAAA,CAGD,4BACC,iBAAA,CACA,YAAA,CACA,qBAAA,CACA,6BAAA,CACA,gBAAA,CACA,SAAA,CACA,eAAA,CACA,kBAAA,CAEA,yBAVD,4BAWE,YAAA,CAAA,CAIF,qCACC,cAAA,CACA,kBC1EW,CD2EL,YAAA,CACA,sBAAA,CACA,YCvCM,CDwCZ,oBAAA,CACA,iBAAA,CACA,gBAAA,CAEA,yBAVD,qCAWE,YAAA,CACA,6BAAA,CACA,gCAAA,CAAA,CAIF,oCACC,WAAA,CACA,iBAAA,CACA,OAAA,CACA,QAAA,CAGD,2BACO,WAAA,CACN,cAAA,CACA,qBAAA,CAGD,mCACC,iBAAA,CAGD,uBACC,cAAA,CACA,eAAA,CACA,mBAAA,CACA,oBAAA,CACA,2BAAA,CAEA,8BACC,4BAAA,CACA,mBAAA,CAEA,kDACC,aAAA,CAKH,iCACC,kCAAA,CACA,qBAAA,CACA,YAAA,CACA,kBAAA,CACA,wBAAA,CAIF,OACC,gBAAA,CAEA,iCACC,gBAAA\",\"sourcesContent\":[\"@import \\\"src/resources/customized-styles/variables\\\";\\r\\n\\r\\nobject-card-deck {\\r\\n\\tdisplay: block;\\r\\n}\\r\\n\\r\\n.card-deck--grid {\\r\\n\\tdisplay: grid;\\r\\n\\tgrid-template-columns: 1fr;\\r\\n\\tcolumn-gap: $gutter;\\r\\n\\trow-gap: $gutter;\\r\\n\\r\\n\\t@media (min-width: 576px) and (max-width: 1399px) {\\r\\n\\t\\tgrid-template-columns: repeat(2, 1fr);\\r\\n\\t}\\r\\n\\r\\n\\t@media (min-width: 1400px) and (max-width: 1999px) {\\r\\n\\t\\tgrid-template-columns: repeat(3, 1fr);\\r\\n\\t}\\r\\n\\r\\n\\t@media (min-width: 2000px) {\\r\\n\\t\\tgrid-template-columns: repeat(4, 1fr);\\r\\n\\t}\\t\\r\\n\\r\\n\\t.card {\\r\\n\\t\\tdisplay: flex;\\r\\n\\t\\tflex-direction: column;\\r\\n\\t\\talign-items: stretch;\\r\\n\\t\\tposition: relative;\\r\\n\\t\\t\\r\\n\\t\\t@media screen and (min-width: 992px) {\\r\\n\\t\\t\\tborder: none;\\r\\n\\t\\t\\tflex-direction: row;\\r\\n\\t\\t\\tmax-height: $card-height;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t.card-title {\\r\\n\\t\\tcursor: pointer;\\r\\n\\t\\tmargin-bottom: calc(#{$gutter} / 3);\\r\\n\\t\\t\\r\\n\\t\\t&--family {\\r\\n\\t\\t\\tcursor: pointer;\\r\\n\\t\\t\\tfont-weight: 600;\\r\\n\\t\\t\\tmargin-bottom: calc(#{$gutter} - 5px);\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\t\\r\\n\\t.card-text {\\r\\n\\t\\tdisplay: flex;\\r\\n\\t\\tflex-direction: column;\\r\\n\\t\\tflex-wrap: nowrap;\\r\\n\\t\\tpadding: $gutter;\\r\\n\\t}\\r\\n\\t\\r\\n\\t.card-description {\\r\\n\\t\\toverflow: hidden;\\r\\n\\t\\tdisplay: -webkit-box;\\r\\n\\t\\t-webkit-line-clamp: 3;\\r\\n\\t\\t-webkit-box-orient: vertical;\\r\\n\\t}\\r\\n\\r\\n\\t.card-body {\\r\\n\\t\\tposition: relative;\\r\\n\\t\\tdisplay: flex;\\r\\n\\t\\tflex-direction: column;\\r\\n\\t\\tjustify-content: space-between;\\r\\n\\t\\tflex-wrap: nowrap;\\r\\n\\t\\tpadding: 0;\\r\\n\\t\\toverflow: hidden;\\r\\n\\t\\twhite-space: normal;\\r\\n\\r\\n\\t\\t@media (min-width: 992px) {\\r\\n\\t\\t\\tflex: 0 0 60%;\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\t\\r\\n\\t.card-img-container {\\r\\n\\t\\tcursor: pointer;\\r\\n\\t\\tbackground: $grey-light;\\r\\n display: flex;\\r\\n justify-content: center;\\r\\n height: $card-height;\\r\\n\\t\\tpadding: calc(#{$gutter} / 2);\\r\\n\\t\\tposition: relative;\\r\\n\\t\\tuser-select: none;\\r\\n\\r\\n\\t\\t@media (min-width: 992px) {\\r\\n\\t\\t\\tflex: 0 0 40%;\\r\\n\\t\\t\\tborder-top-left-radius: 0.25rem;\\r\\n\\t\\t\\tborder-bottom-left-radius: 0.25rem;\\r\\n\\t\\t}\\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\\t\\r\\n\\t.card-img {\\t\\t\\r\\n height: auto;\\r\\n\\t\\tmax-width: 100%;\\r\\n\\t\\tobject-fit: scale-down;\\r\\n\\t}\\r\\n\\t\\r\\n\\t.tags-and-actions {\\r\\n\\t\\tposition: relative;\\r\\n\\t}\\r\\n\\r\\n\\t.tags {\\r\\n\\t\\tpadding: 0 $gutter;\\r\\n\\t\\toverflow: hidden;\\r\\n\\t\\tdisplay: -webkit-box;\\r\\n\\t\\t-webkit-line-clamp: 3;\\r\\n\\t\\t-webkit-box-orient: vertical;\\r\\n\\t\\t\\r\\n\\t\\t.label {\\r\\n\\t\\t\\tmargin-bottom: 3px !important;\\r\\n\\t\\t\\tdisplay: inline-flex;\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t&:not(:first-of-type) {\\r\\n\\t\\t\\t\\tmargin-left: 0;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\r\\n\\t.card-btn-group {\\r\\n\\t\\t-webkit-font-smoothing: antialiased;\\r\\n\\t\\tbox-sizing: border-box;\\r\\n\\t\\tdisplay: flex;\\r\\n\\t\\talign-items: center;\\r\\n\\t\\tjustify-content: flex-end;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n.label {\\r\\n\\tuser-select: none;\\r\\n\\t\\r\\n\\t.tags &:not(:first-of-type) {\\r\\n\\t\\tmargin-right: 3px;\\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\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = \"\\r\\n\";","import { ObjectServiceBuilder } from 'app/services/object-services/object-service-builder';\r\nimport { ObjectPresentation } from 'showroom/object-presentation/object-presentation';\r\nimport { ObjectListManager } from 'app/services/object-list/object-list-manager';\r\nimport { ObjectDetails } from \"app/models/object-details\";\r\nimport { ModalService } from \"app/services/modal-service\";\r\nimport { bindable, autoinject } from \"aurelia-framework\";\r\nimport * as settings from 'app-settings.json';\r\nimport { ObjectDetailService } from 'app/services/object-services/object-detail-service';\r\nimport { ObjectValues } from 'app/models/object-values';\r\nimport { ObjectFilter, UIValueFilter, ValueFilterUI2 } from 'app/models/object-filter';\r\n\r\n@autoinject\r\nexport class ObjectCardDeck {\r\n\tprivate cardDeck: any;\r\n\tprivate isCardLoading: boolean = false;\r\n @bindable public objects: ObjectListManager | undefined;\r\n\tprivate typeService: ObjectDetailService | undefined;\r\n\tprivate imgUrlBase: string = '-'; \r\n\tprivate orgId: string = \"\";\r\n\r\n\tconstructor(private modal: ModalService,\r\n\t\tprivate element: Element,\r\n\t\tobjServiceBuilder: ObjectServiceBuilder\r\n\t) {\r\n\t\tconsole.log('ObjectCardDeck ctor, elm:', element);\r\n\t\t//this.typeService = objServiceBuilder.ForAjourManufacturer_OSB('OCD').BuildObjectDetailService();\r\n\t\t// here, this.objects is not bound yet.\r\n\t}\r\n\r\n\t//activate() { console.log('OCD-activate'); } // never called here.\r\n\t\r\n\tattached() {\r\n\t\tconsole.log('OCD-attach');\r\n\t\tthis.initDetailService();\r\n\t\tthis.cardDeck = this.element;\r\n\t\tconsole.log('OCD-attached, carkDeck/element:', this.element);\r\n\t\tdocument.addEventListener('scroll', this.getMoreCards);\r\n\t}\r\n\r\n\tinitDetailService() {\r\n\t\tconsole.log('initDetailService, OLM now:', this.objects);\r\n\t\tthis.typeService = this.objects?.source.getObjectDetailService();\r\n\t\tthis.imgUrlBase = this.typeService?.getImgUrl() ? this.typeService?.getImgUrl() : \"\";\r\n\t\tthis.orgId = this.typeService?.getOrgId() ? this.typeService?.getOrgId() : \"\";\r\n\t\t// vi skal ogsaa kende vores org-id.\r\n\t\tconsole.log('initDetailService, org:', this.orgId, 'base:', this.imgUrlBase);\r\n\t}\r\n\r\n\tdetached() {\r\n\t\tdocument.removeEventListener('scroll', this.getMoreCards);\r\n\t}\r\n\r\n\tshowInfo(type: ObjectDetails) { \r\n\t\t// en objectRow med value:ObjectDetails.\r\n\t\tconsole.log('object-card-deck presents type:', type);\r\n\t\tlet objectHack: any = this.objects;\r\n this.modal.OpenModal(ObjectPresentation, { type, filters: this.objects?.columns.applied, apiTarget: objectHack[\"apiTarget\"], apiInput: objectHack[\"apiInput\"] });\r\n\t}\r\n\t\r\n\tasync copyLink(item: ObjectDetails): Promise{\r\n let typeName = item.typeName;\r\n let typeId = item.typeId;\r\n\t\tif (!Boolean(item.typeName)) {\r\n\t\t\tconsole.log('object-card-deck queryFamilyTypes');\r\n\t\t\tif (this.objects) {\r\n\t\t\t\tlet result = await this.typeService?.queryFamilyTypes(this.getFamilyFilters(item, this.objects.columns.applied));\r\n\t\t\t\tif (!result || result.length < 1) return;\r\n\t\t\t\ttypeName = result[0].name;\r\n\t\t\t\ttypeId = result[0].id;\r\n\t\t\t}\r\n }\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/\" + typeName.replace(/\\s/g, \"-\").replace(/[/,.;!@$%^&*()\\u9999]/g, \"\") + \"/\" + typeId;\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\t\tdocument.querySelector(\"#card-copy-btn-\" + item.familyId)?.prepend(notification);\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tdocument.querySelector(\"#card-copy-btn-\" + item.familyId)?.removeChild(notification);\r\n\t\t\t}, 2000);\r\n\t}\r\n\r\n private getFamilyFilters(objectType: ObjectDetails, filters: ObjectFilter[]): ObjectFilter[]{\r\n let familyFilters = [...filters];\r\n let familyFilter: (ObjectFilter | ValueFilterUI2) | undefined = filters.find(x => x.targetType == ObjectValues.targetTypes.family);\r\n let manufacturerFilter: (ObjectFilter | ValueFilterUI2) | undefined = 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\t\tif (familyFilter && manufacturerFilter) {\t\r\n\t\t\tthis.replaceFilter(familyFilter, objectType.familyId, familyFilters);\r\n\t\t\tthis.replaceFilter(manufacturerFilter, objectType.manufacturerId, familyFilters);\r\n\t\t}\r\n return familyFilters\r\n }\r\n\r\n private replaceFilter(filter: ObjectFilter, targetId: string, familyFilters: ObjectFilter[]){\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 = familyFilters.indexOf(filter);\r\n if(index < 0)\r\n familyFilters.unshift(copy);\r\n else\r\n familyFilters.splice(index, 1, copy);\r\n }\r\n\r\n get signUpUrl():string{ return settings.externalUrls.signUp; }\r\n\r\n\timageUrl(manufacturer: string, family: string): string{\r\n\t\t//return `${settings.externalUrls.imageServer}/imgByFamily?manufacturer=${manufacturer}&family=${family}&orgId=${settings.manufacturerOrgId}`;\r\n\t\treturn `${this.imgUrlBase}/imgByFamily?manufacturer=${manufacturer}&family=${family}&orgId=${this.orgId}`;\r\n\t\t// det er forkert orgId.\r\n\t} \r\n\r\n\tprivate getMoreCards = () => {\r\n\t\tconsole.log('OCD-getMoreCards');\r\n\t\tlet rect = this.element.getBoundingClientRect();\t\t\t\r\n\t\tif ( rect.bottom - 500 < window.innerHeight) {\t\t\t\r\n\t\t\tthis.objects?.tryShowMoreObjects();\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","ObjectCardDeck","constructor","modal","element","objServiceBuilder","isCardLoading","imgUrlBase","orgId","getMoreCards","console","log","this","getBoundingClientRect","bottom","window","innerHeight","objects","tryShowMoreObjects","attached","initDetailService","cardDeck","document","addEventListener","typeService","source","getObjectDetailService","getImgUrl","getOrgId","detached","removeEventListener","showInfo","type","objectHack","OpenModal","filters","columns","applied","apiTarget","apiInput","copyLink","item","typeName","typeId","Boolean","result","queryFamilyTypes","getFamilyFilters","length","name","selBox","createElement","style","position","left","top","opacity","value","origin","replace","encodeURI","body","appendChild","focus","select","execCommand","removeChild","notification","innerHTML","className","querySelector","familyId","prepend","setTimeout","objectType","familyFilters","familyFilter","find","x","targetType","targetTypes","family","manufacturerFilter","manufacturer","staticFiltersAll","replaceFilter","manufacturerId","filter","targetId","copy","Object","assign","selectedComparisonOption","comparisonMethods","hasRelation","selectedSortingOption","sortingMethods","ascending","index","indexOf","unshift","splice","signUpUrl","signUp","imageUrl","bindable","autoinject","Element"],"sourceRoot":""}