{"version":3,"sources":["webpack:///./src/views/Discover.vue?039e","webpack:///./src/views/Discover.vue","webpack:///./src/views/Discover.vue?7160","webpack:///./src/views/Discover.vue?204c"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","followed","length","_v","directives","name","rawName","staticClass","_l","contentItem","key","contentItemId","_e","contentTypes","on","$event","fetchContent","model","value","callback","$$v","selectedContentTypes","expression","staticRenderFns","extend","metaInfo","link","rel","href","$route","path","components","ContentItemSummary","DoceoIcon","data","isLoading","isLoadingTrending","DOCEO_ICONS","isFetchingMoreSummaries","stopLoading","ContentItemType","text","Article","DrugBrandGroup","Decision","Trial","Folio","UserArticle","UserExternalLink","beforeDestroy","window","onscroll","mounted","filters","summaries","fetchFollowed","count","loadTrending","fetchSummaries","checkScroll","methods","fetchTrending","isBlur","resetSummaries","nextTick","setSummaryFilter","loadedNewContent","currentPosition","Math","max","pageYOffset","document","documentElement","scrollTop","body","innerHeight","documentHeight","offsetHeight","offset","oldSummaryCount","refreshContent","computed","newestSummaries","$vuetify","breakpoint","watch","component","VCol","VContainer","VDivider","VProgressLinear","VRow","VSelect","VSkeletonLoader"],"mappings":"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","file":"js/chunk-2d0d01b8.aa18c347.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[[(_vm.followed.length > 0)?[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('h3',[_vm._v(\"Recent posts from people you've followed:\")])])],1),_c('v-row',{directives:[{name:\"masonry\",rawName:\"v-masonry\"}],staticClass:\"ma-sm-9\",attrs:{\"transition-duration\":\"0\"}},_vm._l((_vm.followed),function(contentItem){return _c('v-col',{key:'followed' + contentItem.contentItemId,staticClass:\"pa-5\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\",\"lg\":\"3\"}},[_c('content-item-summary',{attrs:{\"height\":\"100%\",\"contentItemSummary\":contentItem}})],1)}),1),_c('v-row',[_c('v-divider')],1)]:_vm._e(),[_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('h3',[_vm._v(\"Trending:\")])])],1),(_vm.isLoadingTrending)?_c('v-row',{directives:[{name:\"masonry\",rawName:\"v-masonry\"}],staticClass:\"ma-sm-9\",attrs:{\"transition-duration\":\"0\"}},_vm._l((_vm.count),function(contentItem){return _c('v-col',{key:contentItem,staticClass:\"pa-5\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\",\"lg\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"image\"}})],1)}),1):_c('v-row',{directives:[{name:\"masonry\",rawName:\"v-masonry\"}],staticClass:\"ma-sm-9\",attrs:{\"transition-duration\":\"0\"}},_vm._l((_vm.trending),function(contentItem){return _c('v-col',{key:'trending' + contentItem.contentItemId,staticClass:\"pa-5\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\",\"lg\":\"3\"}},[_c('content-item-summary',{attrs:{\"height\":\"100%\",\"contentItemSummary\":contentItem}})],1)}),1),_c('v-row',[_c('v-divider')],1)],_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('h3',[_vm._v(\"All posts:\")])])],1),(_vm.isLoading)?_c('v-row',{directives:[{name:\"masonry-tile\",rawName:\"v-masonry-tile\"}],staticClass:\"ma-sm-9\",attrs:{\"transition-duration\":\"0\"}},_vm._l((24),function(contentItem){return _c('v-col',{key:contentItem,staticClass:\"pa-5\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\",\"lg\":\"3\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"image\"}})],1)}),1):_c('v-row',{staticClass:\"align-self-start\",attrs:{\"justify\":\"center\",\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"8\",\"md\":\"6\",\"lg\":\"4\",\"xl\":\"3\"}},[_c('v-select',{attrs:{\"label\":\"Filter\",\"items\":_vm.contentTypes,\"clearable\":\"\",\"clear-icon\":\"mdi-close\",\"multiple\":\"\"},on:{\"blur\":function($event){return _vm.fetchContent(true)},\"click:clear\":function($event){return _vm.fetchContent(false)}},model:{value:(_vm.selectedContentTypes),callback:function ($$v) {_vm.selectedContentTypes=$$v},expression:\"selectedContentTypes\"}})],1)],1),_c('v-row',{directives:[{name:\"masonry\",rawName:\"v-masonry\"}],staticClass:\"ma-sm-9\",attrs:{\"transition-duration\":\"0\"}},_vm._l((_vm.newestSummaries),function(contentItem){return _c('v-col',{key:contentItem.contentItemId,staticClass:\"pa-5\",attrs:{\"cols\":\"12\",\"sm\":\"6\",\"md\":\"4\",\"lg\":\"3\"}},[_c('content-item-summary',{attrs:{\"height\":\"100%\",\"contentItemSummary\":contentItem}})],1)}),1)],(_vm.isFetchingMoreSummaries)?_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1)],1):_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\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\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 Vue from \"vue\";\r\nimport { mapState, mapActions } from \"pinia\";\r\nimport { useContentStore } from \"@/store/contentStore\";\r\nimport ContentItemSummary from \"@/components/contentItems/ContentItemSummary.vue\";\r\nimport { ContentItemSummaryResult, ContentItemType } from \"@/api/DoceoApi\";\r\nimport DoceoIcon from \"@/components/DoceoIcon.vue\";\r\nimport DOCEO_ICONS from \"@/constants/icons\";\r\n\r\nexport default Vue.extend({\r\n name: \"Discover\",\r\n metaInfo() {\r\n return {\r\n link: [{ rel: \"canonical\", href: `${process.env.VUE_APP_BASE_URL}${this.$route.path}` }],\r\n };\r\n },\r\n components: { ContentItemSummary, DoceoIcon },\r\n data: () => ({\r\n isLoading: false,\r\n isLoadingTrending: false,\r\n DOCEO_ICONS,\r\n isFetchingMoreSummaries: false,\r\n stopLoading: false,\r\n selectedContentTypes: [] as ContentItemType[],\r\n ContentItemType,\r\n contentTypes: [\r\n { text: \"Article\", value: ContentItemType.Article },\r\n { text: \"Drug\", value: ContentItemType.DrugBrandGroup },\r\n { text: \"Decision\", value: ContentItemType.Decision },\r\n { text: \"Trial\", value: ContentItemType.Trial },\r\n { text: \"Folio\", value: ContentItemType.Folio },\r\n { text: \"User Article\", value: ContentItemType.UserArticle },\r\n { text: \"User External Link\", value: ContentItemType.UserExternalLink },\r\n ],\r\n }),\r\n /**\r\n * Before the component is destroyed, we need to reset the onscroll method to do nothing\r\n */\r\n beforeDestroy() {\r\n this.stopLoading = true;\r\n window.onscroll = async () => {};\r\n },\r\n /**\r\n * When the component is mounted, we first check if there have been any summaries loaded,\r\n * if so:\r\n * - Get the last scroll position and scroll the page\r\n * otherwise:\r\n * - Reset the last scroll position (As an extra precaution)\r\n * - Fetch the latest summaries\r\n * finally:\r\n * - Load more summaries until the page is full\r\n * - Attach the scroll event that will fetch summaries as the user scrolls\r\n */\r\n async mounted() {\r\n this.selectedContentTypes = this.filters;\r\n if (this.summaries.length == 0) {\r\n this.isLoading = true;\r\n this.fetchFollowed(this.count);\r\n this.loadTrending();\r\n await this.fetchSummaries();\r\n this.isLoading = false;\r\n\r\n // Check if we need to load additional content (As the first fetch is smaller and may not fill the screen but gets content displayed quicker)\r\n await this.checkScroll();\r\n }\r\n\r\n window.onscroll = this.checkScroll;\r\n },\r\n\r\n methods: {\r\n ...mapActions(useContentStore, [\"fetchSummaries\", \"setSummaryFilter\", \"fetchTrending\", \"fetchFollowed\", \"resetSummaries\"]),\r\n async loadTrending() {\r\n this.isLoadingTrending = true;\r\n await this.fetchTrending(this.count);\r\n this.isLoadingTrending = false;\r\n },\r\n async fetchContent(isBlur: boolean) {\r\n this.resetSummaries();\r\n this.isLoading = true;\r\n Vue.nextTick(async () => {\r\n this.isFetchingMoreSummaries = true;\r\n await this.setSummaryFilter(this.selectedContentTypes);\r\n this.isFetchingMoreSummaries = false;\r\n this.isLoading = false;\r\n window.onscroll = this.checkScroll;\r\n // Check if we need to load additional content (As the first fetch is smaller and may not fill the screen but gets content displayed quicker)\r\n await this.checkScroll();\r\n });\r\n },\r\n /**\r\n * When the user scrolls to the bottom of the page, load another set of summaries.\r\n */\r\n async checkScroll() {\r\n let loadedNewContent = false;\r\n\r\n if (!this.isFetchingMoreSummaries) {\r\n let currentPosition = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop) + window.innerHeight;\r\n let documentHeight = document.documentElement.offsetHeight;\r\n let offset = 3000; // How many pixels before the end of the page, we want to fetch the next set of summaries\r\n\r\n if (currentPosition >= documentHeight - offset || this.summaries.length <= 30) {\r\n this.isFetchingMoreSummaries = true;\r\n let oldSummaryCount = this.summaries.length;\r\n await this.fetchSummaries();\r\n this.isFetchingMoreSummaries = false;\r\n loadedNewContent = this.summaries.length > oldSummaryCount;\r\n\r\n if (!loadedNewContent) {\r\n window.onscroll = null;\r\n }\r\n }\r\n }\r\n\r\n return loadedNewContent;\r\n },\r\n\r\n async refreshContent() {\r\n await this.fetchSummaries();\r\n },\r\n },\r\n computed: {\r\n ...mapState(useContentStore, [\"summaries\", \"newContentAdded\", \"trending\", \"followed\", \"filters\"]),\r\n newestSummaries(): ContentItemSummaryResult[] {\r\n return this.summaries;\r\n },\r\n count(): number {\r\n switch (this.$vuetify.breakpoint.name) {\r\n case \"xs\": // < 600px\r\n return 1;\r\n case \"sm\": // 600px > < 960px\r\n return 2;\r\n case \"md\": // 960px > < 1264px\r\n return 3;\r\n case \"lg\": // 1264px > < 1904px\r\n return 4;\r\n case \"xl\": //\t> 1904px\r\n return 4;\r\n default:\r\n return 1;\r\n }\r\n },\r\n },\r\n watch: {\r\n async count() {\r\n this.fetchTrending(this.count);\r\n this.fetchFollowed(this.count);\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!./Discover.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!./Discover.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Discover.vue?vue&type=template&id=4e213004&scoped=true&\"\nimport script from \"./Discover.vue?vue&type=script&lang=ts&\"\nexport * from \"./Discover.vue?vue&type=script&lang=ts&\"\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 \"4e213004\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCol,VContainer,VDivider,VProgressLinear,VRow,VSelect,VSkeletonLoader})\n"],"sourceRoot":""}