{"version":3,"sources":["webpack:///./src/views/BlogDetails.vue?5817","webpack:///./src/views/BlogDetails.vue","webpack:///./src/views/BlogDetails.vue?f82f","webpack:///./src/views/BlogDetails.vue?68d3","webpack:///./src/views/BlogDetails.vue?6b75","webpack:///./src/views/BlogDetails.vue?c692","webpack:///./node_modules/client-website-ts-library/plugins/view/index.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","blog","Title","Subtitle","Paragraph1","staticClass","Images","length","Preview","Url","undefined","_e","Paragraph2","PDFUrl","_v","_s","PDFTitle","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","component","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","View","requestAnimationFrame","updateHead","updateAnalytics","AsyncView","$on"],"mappings":"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","file":"js/chunk-2551ea15.6c002d4a.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Page',[(_vm.blog)?[_c('SiteMasthead',{attrs:{\"title\":_vm.blog.Title,\"subtitle\":_vm.blog.Subtitle,\"thin\":\"true\"}}),(_vm.blog.Paragraph1 != '')?_c('ContentRow',[_c('ContentContainer',{staticClass:\"content-container--narrow\"},[_c('div',{staticClass:\"blog-details\"},[_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('div',{staticClass:\"blog-details\"},[_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(),(_vm.blog.PDFUrl)?_c('ContentRow',[_c('ContentContainer',{staticClass:\"content-container--narrow\"},[_c('LinkButton',{attrs:{\"external\":true,\"href\":_vm.blog.PDFUrl}},[_vm._v(_vm._s(_vm.blog.PDFTitle ? _vm.blog.PDFTitle : 'Download'))])],1)],1):_vm._e()]:_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\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Button from '@/components/UI/Button.vue';\r\nimport { AsyncView, RouteMeta } from 'client-website-ts-library/plugins';\r\nimport { API } from 'client-website-ts-library/services';\r\nimport { Blog } from 'client-website-ts-library/types';\r\nimport { Component, Mixins } from 'vue-property-decorator';\r\n\r\n@Component({\r\n components: {\r\n },\r\n})\r\nexport default class BlogDetails extends Mixins(AsyncView) {\r\n private blog: Blog | null = null;\r\n\r\n mounted() {\r\n const blogId = this.$route.params.id;\r\n\r\n API.Blogs.Get(blogId).then((blog) => {\r\n this.blog = blog;\r\n this.$emit('updateView');\r\n });\r\n }\r\n\r\n stripHtml(html: string, limit: number): string {\r\n const tmp = document.createElement('div');\r\n\r\n tmp.innerHTML = html;\r\n\r\n const text = tmp.innerText;\r\n\r\n return text.length < (limit * 1.2) ? text : `${tmp.innerText.substring(0, limit)}...`;\r\n }\r\n\r\n public head(): RouteMeta {\r\n return {\r\n title: `${this.blog?.Title} - ${this.blog?.Subtitle}`,\r\n description: this.stripHtml(this.blog?.Paragraph1 ?? '', 100),\r\n image: this.blog?.Images.length ? this.blog?.Images[0].Preview.Url : undefined,\r\n };\r\n }\r\n\r\n handleError(err: Response) {\r\n if (err.status === 403) {\r\n this.$router.push({\r\n path: '/blogs',\r\n query: {\r\n next: `/blogs/${this.$route.params.id}`,\r\n },\r\n });\r\n }\r\n }\r\n}\r\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=f2e253d2&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=f2e253d2&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 \"f2e253d2\",\n null\n \n)\n\nexport default component.exports","import mod 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&\"; export default mod; 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&\"","import mod 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=f2e253d2&scoped=true&lang=css&\"; export default mod; 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=f2e253d2&scoped=true&lang=css&\"","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"],"sourceRoot":""}