{"version":3,"sources":["webpack:///./src/views/BlogDetails.vue?55c2","webpack:///./src/views/BlogDetails.vue?2f6f","webpack:///./src/views/BlogDetails.vue?f82f","webpack:///./src/views/BlogDetails.vue?68d3","webpack:///./src/views/BlogDetails.vue?6b75","webpack:///./src/components/Common/Embeddable.vue?533a","webpack:///./src/components/Common/Embeddable.vue","webpack:///./src/components/Common/Embeddable.vue?eee3","webpack:///./src/components/Common/Embeddable.vue?a431","webpack:///./node_modules/client-website-ts-library/plugins/view/index.ts","webpack:///./src/components/Common/Embeddable.vue?ce3f","webpack:///./src/views/BlogDetails.vue?6521"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","blog","Title","Subtitle","EmbeddedContent","length","_e","Paragraph1","Images","Preview","Url","undefined","Paragraph2","staticRenderFns","blogId","$route","params","id","Blogs","Get","then","$emit","html","limit","tmp","document","createElement","innerHTML","text","innerText","substring","title","description","stripHtml","image","err","status","$router","push","path","query","next","components","Embeddable","component","class","embeddable","Type","EmbedId","origin","window","location","setTimeout","console","log","required","prolistAnalyticsService","ServiceManager","Analytics","headService","Require","Head","evt","obj","getAnalyticsEvent","call","getAnalyticsData","name","triggerAnalyticsEvent","event","GetAll","forEach","adapter","Record","result","head","bind","Promise","meta","Update","UpdateWithStatic","requestAnimationFrame","updateHead","updateAnalytics","$on"],"mappings":"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","file":"js/chunk-c412aa80.a12ecb4c.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Page',[(_vm.blog)?_c('div',{staticClass:\"blog-details\"},[_c('SiteMasthead',{attrs:{\"title\":_vm.blog.Title,\"subtitle\":_vm.blog.Subtitle,\"mini\":\"true\"}}),(_vm.blog.EmbeddedContent.length > 0)?_c('ContentRow',[_c('ContentContainer',[_c('Embeddable',{attrs:{\"embeddable\":_vm.blog.EmbeddedContent[0]}})],1)],1):_vm._e(),(_vm.blog.Paragraph1 != '')?_c('ContentRow',[_c('ContentContainer',{staticClass:\"content-container--narrow\"},[_c('LazyImage',{staticClass:\"blog__image\",attrs:{\"image\":_vm.blog.Images.length >= 1 ? _vm.blog.Images[0].Preview.Url : undefined}}),_c('RichText',{attrs:{\"content\":_vm.blog.Paragraph1}})],1)],1):_vm._e(),(_vm.blog.Paragraph2 != '')?_c('ContentRow',[_c('ContentContainer',{staticClass:\"content-container--narrow\"},[_c('LazyImage',{staticClass:\"blog__image\",attrs:{\"image\":_vm.blog.Images.length >= 2 ? _vm.blog.Images[1].Preview.Url : undefined}}),_c('RichText',{attrs:{\"content\":_vm.blog.Paragraph2}})],1)],1):_vm._e()],1):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport Embeddable from '@/components/Common/Embeddable.vue';\nimport { AsyncView, RouteMeta } from 'client-website-ts-library/plugins';\nimport { API } from 'client-website-ts-library/services';\nimport { Blog } from 'client-website-ts-library/types';\nimport { Component, Mixins } from 'vue-property-decorator';\n\n@Component({\n components: {\n Embeddable,\n },\n})\nexport default class BlogDetails extends Mixins(AsyncView) {\n private blog: Blog | null = null;\n\n mounted() {\n const blogId = this.$route.params.id;\n\n API.Blogs.Get(blogId).then((blog) => {\n this.blog = blog;\n this.$emit('updateView');\n });\n }\n\n stripHtml(html: string, limit: number): string {\n const tmp = document.createElement('div');\n\n tmp.innerHTML = html;\n\n const text = tmp.innerText;\n\n return text.length < (limit * 1.2) ? text : `${tmp.innerText.substring(0, limit)}...`;\n }\n\n public head(): RouteMeta {\n return {\n title: `${this.blog?.Title} - ${this.blog?.Subtitle}`,\n description: this.stripHtml(this.blog?.Paragraph1 ?? '', 100),\n image: this.blog?.Images.length ? this.blog?.Images[0].Preview.Url : undefined,\n };\n }\n\n handleError(err: Response) {\n if (err.status === 403) {\n this.$router.push({\n path: '/blogs',\n query: {\n next: `/blogs/${this.$route.params.id}`,\n },\n });\n }\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BlogDetails.vue?vue&type=template&id=84dc23ac&scoped=true&\"\nimport script from \"./BlogDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./BlogDetails.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BlogDetails.vue?vue&type=style&index=0&id=84dc23ac&scoped=true&lang=css&\"\nimport style1 from \"./BlogDetails.vue?vue&type=style&index=1&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"84dc23ac\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogDetails.vue?vue&type=style&index=1&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"embeddable\",class:'embeddable--' + _vm.embeddable.Type},[(_vm.embeddable.Type == 0)?[_c('video',{staticClass:\"embeddable__video\",attrs:{\"src\":_vm.embeddable.EmbedId,\"controls\":\"\"}})]:(_vm.embeddable.Type == 1)?[_c('AR',{staticClass:\"embed__ar\",attrs:{\"ratio\":\"0.625\"}},[_c('iframe',{staticClass:\"embeddable__frame\",attrs:{\"type\":\"text/html\",\"src\":'https://www.youtube.com/embed/' + _vm.embeddable.EmbedId + '?enablejsapi=1&origin=' + _vm.origin,\"enablejsapi\":\"1\",\"frameborder\":\"0\",\"allowtransparency\":\"true\",\"allowfullscreen\":\"\"}})])]:(_vm.embeddable.Type == 2)?[_c('iframe',{staticClass:\"embeddable__frame\",attrs:{\"type\":\"text/html\",\"src\":'https://player.vimeo.com/video/' + _vm.embeddable.EmbedId,\"frameborder\":\"0\",\"webkitallowfullscreen\":\"\",\"mozallowfullscreen\":\"\",\"allowfullscreen\":\"\"}})]:_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Vue, Prop } from 'vue-property-decorator';\nimport { EmbeddedContent } from 'client-website-ts-library/types/EmbeddedContent/EmbeddedContent';\n\n@Component\nexport default class Embeddable extends Vue {\n @Prop({ required: true })\n private readonly embeddable!: EmbeddedContent;\n\n private readonly origin: string = window.location.origin;\n\n mounted() {\n setTimeout(() => {\n console.log(this.embeddable);\n }, 10000);\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Embeddable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Embeddable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Embeddable.vue?vue&type=template&id=2cd69696&scoped=true&\"\nimport script from \"./Embeddable.vue?vue&type=script&lang=ts&\"\nexport * from \"./Embeddable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Embeddable.vue?vue&type=style&index=0&id=2cd69696&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2cd69696\",\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport { Component } from \"vue-property-decorator\";\r\nimport { AnalyticsEvent, AnalyticsEventObject, AnalyticsPageView, IAnalyticsAdapter, PROListAnalyticsAdapter } from \"../../services/Analytics\";\r\nimport { HeadService } from \"../../services/HeadService\";\r\nimport { ServiceManager, ServiceType } from \"../../services/ServiceManager\";\r\nimport { RouteMeta } from \"../meta\";\r\n\r\ninterface ViewBase {\r\n getAnalyticsEvent?(): AnalyticsEvent | null;\r\n getAnalyticsData?(): AnalyticsEventObject | null;\r\n head?(): RouteMeta | Promise | null;\r\n}\r\n\r\n@Component\r\nclass ViewBase extends Vue {\r\n protected prolistAnalyticsService = ServiceManager.Get(ServiceType.Analytics, 'PROListAnalyticsAdapter');\r\n protected headService = ServiceManager.Require(ServiceType.Head)!;\r\n\r\n public updateAnalytics() {\r\n let evt: AnalyticsEvent | null = null;\r\n let obj: AnalyticsEventObject | null = null;\r\n\r\n if (typeof this.getAnalyticsEvent !== 'undefined') {\r\n evt = this.getAnalyticsEvent.call(this);\r\n } else if(typeof this.getAnalyticsData !== 'undefined') {\r\n obj = this.getAnalyticsData.call(this);\r\n }\r\n\r\n if (evt === null) evt = new AnalyticsPageView(this.$route.path, this.$route.name || '', obj || undefined);\r\n\r\n this.triggerAnalyticsEvent(evt);\r\n }\r\n\r\n public triggerAnalyticsEvent(event: AnalyticsEvent) {\r\n ServiceManager.GetAll(ServiceType.Analytics).forEach((adapter) => {\r\n adapter.Record(event);\r\n });\r\n }\r\n\r\n public triggerCustomAnalyticsEvent(event: AnalyticsEvent) {\r\n if (this.prolistAnalyticsService !== null) this.prolistAnalyticsService.Record(event);\r\n }\r\n\r\n protected updateHead() {\r\n if ('head' in this) {\r\n const result = this.head!.bind(this)();\r\n\r\n if(result instanceof Promise) {\r\n result.then((meta: RouteMeta | null) => {\r\n this.headService.Update(meta);\r\n });\r\n } else {\r\n this.headService.Update(result as RouteMeta | null);\r\n }\r\n } else {\r\n this.headService.UpdateWithStatic(this.$route.path);\r\n }\r\n }\r\n}\r\n\r\n@Component\r\nclass View extends ViewBase {\r\n public mounted() {\r\n requestAnimationFrame(() => {\r\n this.updateHead();\r\n this.updateAnalytics();\r\n });\r\n }\r\n}\r\n\r\n@Component\r\nclass AsyncView extends ViewBase {\r\n public mounted() {\r\n this.$on('updateView', () => {\r\n requestAnimationFrame(() => {\r\n this.updateHead();\r\n this.updateAnalytics();\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport {\r\n View,\r\n AsyncView\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Embeddable.vue?vue&type=style&index=0&id=2cd69696&scoped=true&lang=css&\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BlogDetails.vue?vue&type=style&index=0&id=84dc23ac&scoped=true&lang=css&\""],"sourceRoot":""}