{"version":3,"sources":["wwwroot/scripts/widgets/dynamicWebinars.js"],"names":["webinarApp","Vue","createApp","data","webinars","webinarPage","webinarPerPage","webinarPages","totalNumberofWebinarPages","deliveryChannels","selectedDelivery","topics","selectedTopic","methods","setWebinarPages","this","Math","ceil","length","pagination","paginate","items","page","perPage","slice","setDeliveryChannel","webinarDelivery","forEach","webinar","concat","productType","filter","item","i","ar","indexOf","setTopics","webinarTopic","practiceArea","resetPages","coursePage","onTopicChange","onDeliveryChange","computed","displayedWebinars","filteredWebinars_all","some","includes","live_wbs","on_demand_wbs","map","x","toLowerCase","push","sort","a","b","Date","parse","startDate","filteredWebinars","watch","val","scrollOnPagination","created","filters","trimWords","value","split","splice","join","webinarMountedApp","mount","document","querySelectorAll","t","addEventListener","event","targetClass","target","dataset","panes","sibling","classList","remove","pane","add"],"mappings":"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","file":"dynamicWebinars.min.js","sourcesContent":["const webinarApp = Vue.createApp({\r\n data() {\r\n return { \r\n webinars: webinars,\r\n webinarPage: 1,\r\n webinarPerPage: 6,\r\n webinarPages: [],\r\n totalNumberofWebinarPages: 0,\r\n deliveryChannels: [],\r\n selectedDelivery: [],\r\n topics: [],\r\n selectedTopic: \"\"\r\n }\r\n },\r\n methods: {\r\n \r\n setWebinarPages(webinars) {\r\n this.webinarPages = [];\r\n this.totalNumberofWebinarPages = Math.ceil(webinars.length / this.webinarPerPage);\r\n this.webinarPages = pagination(this.webinarPage, this.totalNumberofWebinarPages);\r\n }, \r\n\r\n paginate(items, page, perPage) {\r\n let from = (page * perPage) - perPage;\r\n let to = (page * perPage);\r\n return items.slice(from, to);\r\n },\r\n\r\n setDeliveryChannel() {\r\n \r\n var webinarDelivery = [];\r\n this.webinars.forEach(function (webinar) {\r\n webinarDelivery = webinarDelivery.concat(webinar.productType);\r\n });\r\n \r\n this.deliveryChannels = webinarDelivery.filter((item, i, ar) => ar.indexOf(item) === i);\r\n },\r\n\r\n setTopics() {\r\n \r\n var webinarTopic = [];\r\n this.webinars.forEach(function (webinar) {\r\n webinarTopic = webinarTopic.concat(webinar.practiceArea);\r\n });\r\n \r\n this.topics = webinarTopic.filter((item, i, ar) => ar.indexOf(item) === i);\r\n },\r\n\r\n resetPages() { \r\n this.coursePage = 1; \r\n },\r\n\r\n onTopicChange() {\r\n this.resetPages();\r\n },\r\n\r\n onDeliveryChange() {\r\n this.resetPages();\r\n }\r\n },\r\n computed: { \r\n displayedWebinars() {\r\n var filteredWebinars = [];\r\n var filteredWebinars_all = this.webinars.filter(function (item) {\r\n return ((this.selectedDelivery.some(i => item.productType.includes(i)) || this.selectedDelivery == \"\") && (item.practiceArea.includes(this.selectedTopic) || this.selectedTopic == \"\"));\r\n }, this);\r\n\r\n var live_wbs = [];\r\n var on_demand_wbs = [];\r\n filteredWebinars_all.map(function (item) {\r\n if (item.productType.some(x => x.toLowerCase() == 'on demand')) {\r\n on_demand_wbs.push(item);\r\n }\r\n else {\r\n live_wbs.push(item);\r\n }\r\n return item;\r\n });\r\n\r\n live_wbs.sort(function (a, b) {\r\n return Date.parse(new Date(a.startDate)) - Date.parse(new Date(b.startDate));\r\n });\r\n on_demand_wbs.sort(function (a, b) {\r\n return Date.parse(new Date(b.startDate)) - Date.parse(new Date(a.startDate));\r\n });\r\n filteredWebinars = live_wbs.concat(on_demand_wbs);\r\n\r\n this.setWebinarPages(filteredWebinars);\r\n return this.paginate(filteredWebinars, this.webinarPage, this.webinarPerPage);\r\n }, \r\n },\r\n\r\n watch: {\r\n webinarPage: function (val) {\r\n scrollOnPagination(\"pgn-webinars\");\r\n }\r\n },\r\n\r\n created() {\r\n this.setDeliveryChannel();\r\n this.setTopics();\r\n },\r\n filters: {\r\n trimWords(value) {\r\n return value.split(\" \").splice(0, 20).join(\" \") + '...';\r\n }\r\n }\r\n});\r\n\r\nconst webinarMountedApp = webinarApp.mount('#webinars');\r\n\r\ndocument.querySelectorAll('button[data-bs-toggle=\"tab\"]').forEach((t, i) => {\r\n t.addEventListener('show.bs.tab', function (event) {\r\n var targetClass = event.target.dataset[\"bsTarget\"];\r\n var panes = document.querySelectorAll(targetClass);\r\n var siblings = document.querySelectorAll('#product-tab-content .tab-pane.active');\r\n\r\n siblings.forEach(function (sibling) {\r\n sibling.classList.remove('show');\r\n sibling.classList.remove('active');\r\n });\r\n\r\n panes.forEach(function (pane) {\r\n pane.classList.add('show');\r\n pane.classList.add('active');\r\n });\r\n })\r\n})"]}