{"version":3,"file":"components.all-faqs.59a49d16678cb662c7b5.js","mappings":"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","sources":["webpack:///./Onlia/Scripts/onlia/faq/components/feedback-thumb.js","webpack:///./Onlia/Scripts/onlia/faq/components/faq-item.js","webpack:///./Onlia/Scripts/onlia/faq/components/faq-item-feedback.js","webpack:///./Onlia/Scripts/onlia/faq/components/faq-group.js","webpack:///./Onlia/Scripts/onlia/faq/components/all-faqs.js","webpack:///./Onlia/Scripts/onlia/shared/utils/scroll-page.js"],"sourcesContent":["export default {\r\n name: 'feedback-thumb',\r\n functional: true,\r\n props: {\r\n direction: {\r\n type: String,\r\n required: true,\r\n validator(direction) {\r\n return /^(up|down)$/.test(direction);\r\n }\r\n },\r\n isSelected: {\r\n type: Boolean,\r\n required: true\r\n }\r\n },\r\n render(createElement, context) {\r\n const {\r\n data: {\r\n class: classes = {},\r\n staticClass = '',\r\n attrs,\r\n ...rest\r\n },\r\n props\r\n } = context;\r\n\r\n return createElement('svg', {\r\n ...rest,\r\n class: [\r\n 'a-feedbackThumb',\r\n `-${props.direction}`,\r\n {\r\n '-selected': props.isSelected\r\n },\r\n staticClass,\r\n ...(Array.isArray(classes) ? classes : [ classes ])\r\n ],\r\n attrs: {\r\n ...(attrs && attrs),\r\n xmlns: 'http://www.w3.org/2000/svg',\r\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink',\r\n preserveAspectRatio: 'xMidYMid meet',\r\n viewBox: '0 0 23 22'\r\n },\r\n domProps: {\r\n innerHTML: `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `\r\n }\r\n });\r\n }\r\n};\r\n","import expandAndCollapse from '@Shared/mixins/expand-and-collapse';\r\nimport { wait } from '@Shared/utils/basic-functions';\r\nimport { getElementTop } from '@Shared/utils/get-element-top';\r\nimport { scrollPage } from '@Shared/utils/scroll-page';\r\nimport FaqItemFeedback from './faq-item-feedback';\r\n\r\nexport default {\r\n name: 'faq-item',\r\n components: {\r\n FaqItemFeedback\r\n },\r\n mixins: [expandAndCollapse],\r\n props: {\r\n classificationID: {\r\n type: String,\r\n required: true\r\n },\r\n groupName: {\r\n type: String,\r\n default: ''\r\n },\r\n categoryName: {\r\n type: String,\r\n default: ''\r\n },\r\n questionID: {\r\n type: String,\r\n required: true\r\n },\r\n question: {\r\n type: String,\r\n },\r\n answer: {\r\n type: String,\r\n default: ''\r\n },\r\n rootPath: {\r\n type: String,\r\n default: ''\r\n },\r\n feedbackContentData: {\r\n type: Object,\r\n default: null\r\n }\r\n },\r\n computed: {\r\n navHeaderHeight() {\r\n return this.$store.getters['currentHeaderHeight'];\r\n },\r\n url() {\r\n return `${this.rootPath}/${this.groupName}/${this.categoryName}/${this.questionID}`;\r\n },\r\n },\r\n created() {\r\n this.$eventBus.$on('faq-item:open-and-scroll', this.openAndScroll);\r\n },\r\n beforeDestroy() {\r\n this.$eventBus.$off('faq-item:open-and-scroll', this.openAndScroll);\r\n },\r\n methods: {\r\n async toggleContent() {\r\n await this.toggleContainerHeight();\r\n },\r\n\r\n async openAndScroll({ questionID, animateScroll }) {\r\n if (questionID !== this.questionID) return;\r\n\r\n if (this.containerState === 'collapsed') {\r\n await this.toggleContainerHeight();\r\n }\r\n // NOTE 2021-12-07 AndrewKim: Hardcoded delay is required for layout changes to complete, before we can\r\n // calculate the element's position.\r\n await wait(100);\r\n\r\n const top = getElementTop(this.$el) - this.navHeaderHeight;\r\n\r\n if (animateScroll) {\r\n scrollPage(top);\r\n }\r\n else {\r\n document.scrollingElement.scrollTop = top;\r\n }\r\n }\r\n },\r\n\r\n template: `\r\n
\r\n \r\n
\r\n {{ question }}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n `\r\n};\r\n","import expandAndCollapse from '@Shared/mixins/expand-and-collapse';\r\nimport axios from 'axios';\r\nimport { toBase64Input, wait } from '@Shared/utils/basic-functions';\r\nimport { FEEDBACK_CONFIRMATION_TIMEOUT, IS_DEV } from '@Shared/settings';\r\nimport FeedbackThumb from './feedback-thumb';\r\n\r\nexport default {\r\n name: 'faq-item-feedback',\r\n components: {\r\n FeedbackThumb\r\n },\r\n mixins: [expandAndCollapse],\r\n props: {\r\n classificationID: {\r\n type: String,\r\n required: true\r\n },\r\n questionID: {\r\n type: String,\r\n required: true\r\n },\r\n feedbackContentData: {\r\n type: Object,\r\n default: null\r\n }\r\n },\r\n data() {\r\n return {\r\n selectedFeedbackOption: 0,\r\n hasSentFeedback: false,\r\n isFeedbackSending: false,\r\n comment: ''\r\n };\r\n },\r\n computed: {\r\n navHeaderHeight() {\r\n return this.$store.getters['currentHeaderHeight'];\r\n },\r\n feedbackTitle() {\r\n if (!this.feedbackContentData) return '';\r\n\r\n return this.selectedFeedbackOption >= 0 ?\r\n this.feedbackContentData.Title :\r\n this.feedbackContentData.TitleAlternative; //'Did you get the help you need?';\r\n },\r\n feedbackOptions() {\r\n if (!this.feedbackContentData) return [];\r\n\r\n return [\r\n {\r\n value: -2,\r\n label: this.feedbackContentData.Options[0], //'This info is confusing and unclear',\r\n id: `feedback-question-${this.questionID}_1`\r\n },\r\n {\r\n value: -3,\r\n label: this.feedbackContentData.Options[1], //'These instructions didn\\'t work',\r\n id: `feedback-question-${this.questionID}_2`\r\n },\r\n {\r\n value: -4,\r\n label: this.feedbackContentData.Options[2], //'I didn\\'t find the answer to my question',\r\n id: `feedback-question-${this.questionID}_3`\r\n },\r\n {\r\n value: -5,\r\n label: this.feedbackContentData.Options[3], //'Something else',\r\n id: `feedback-question-${this.questionID}_4`\r\n }\r\n ];\r\n },\r\n feedbackSessionKey() {\r\n return `feedback_${this.questionID}`;\r\n },\r\n showFeedback() {\r\n return Boolean(!sessionStorage.getItem(this.feedbackSessionKey)) && !this.hasSentFeedback;\r\n },\r\n showFeedbackForm() {\r\n return this.selectedFeedbackOption === -5;\r\n },\r\n showFeedbackSubmitButton() {\r\n return (\r\n (this.selectedFeedbackOption < -1 && this.selectedFeedbackOption > -5) ||\r\n (this.selectedFeedbackOption === -5 && /[a-z]+/i.test(this.comment))\r\n );\r\n },\r\n submitButtonLabel() {\r\n if (!this.feedbackContentData) return '';\r\n\r\n return this.isFeedbackSending ? '' : this.feedbackContentData.SubmitButton; //'Send feedback';\r\n },\r\n textAreaID() {\r\n return `feedback-comment-${this.questionID}`;\r\n },\r\n confirmationMessage() {\r\n if (!this.feedbackContentData) return '';\r\n\r\n return this.feedbackContentData.SuccessMessage; //'Thank you for your feedback!';\r\n },\r\n feedbackThumbButtons() {\r\n return [\r\n {\r\n events: {\r\n click: this.handleThumbsUp\r\n },\r\n label: this.feedbackContentData.ThumbsUpButtonLabel,\r\n attributes: {\r\n isSelected: this.selectedFeedbackOption === 5,\r\n direction: 'up'\r\n }\r\n },\r\n {\r\n events: {\r\n click: this.handleThumbsDown\r\n },\r\n label: this.feedbackContentData.ThumbsDownButtonLabel,\r\n attributes: {\r\n isSelected: this.selectedFeedbackOption < 0,\r\n direction: 'down'\r\n }\r\n }\r\n ];\r\n }\r\n },\r\n\r\n //created() {\r\n // this._animateOnResize = true;\r\n //},\r\n\r\n methods: {\r\n async handleThumbsUp() {\r\n this.selectedFeedbackOption = 5;\r\n await this.sendFeedback(5, 'Thumbs up');\r\n },\r\n async handleThumbsDown() {\r\n if (this.selectedFeedbackOption > -1) {\r\n this.selectedFeedbackOption = -1;\r\n //await this.toggleAnimateOnResize();\r\n }\r\n },\r\n\r\n async handleFormSubmit() {\r\n if (this.selectedFeedbackOption < -1) {\r\n const { label } = this.feedbackOptions.find(option => option.value === this.selectedFeedbackOption);\r\n await this.sendFeedback(-5, label);\r\n }\r\n },\r\n async sendFeedback(score, label) {\r\n try {\r\n this.isFeedbackSending = true;\r\n\r\n await axios.post('/api/onlia/faq/feedback', {\r\n ClassificationId: this.classificationID,\r\n QuestionId: this.questionID,\r\n //Question: toBase64Input(this.question),\r\n Score: score,\r\n Label: toBase64Input(label),\r\n Comment: toBase64Input(this.comment)\r\n }, { headers: { skipLoading: true } });\r\n }\r\n catch (error) {\r\n (IS_DEV && console.error('feedback error:', error));\r\n }\r\n finally {\r\n this.handleFeedbackSent();\r\n }\r\n },\r\n async handleFeedbackSent() {\r\n this.isFeedbackSending = false;\r\n\r\n sessionStorage.setItem(this.feedbackSessionKey, 'true');\r\n\r\n this.hasSentFeedback = true;\r\n\r\n await wait(FEEDBACK_CONFIRMATION_TIMEOUT);\r\n\r\n this.hasSentFeedback = false;\r\n }\r\n\r\n //async toggleAnimateOnResize() {\r\n // this._animateOnResize = true;\r\n // await this.$nextTick();\r\n // this._animateOnResize = false;\r\n //}\r\n },\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n `\r\n};\r\n","import expandAndCollapse from '@Shared/mixins/expand-and-collapse';\r\n\r\nexport default {\r\n name: 'faq-group',\r\n mixins: [ expandAndCollapse ],\r\n props: {\r\n url: {\r\n type: String\r\n },\r\n groupCategory: {\r\n type: Object,\r\n required: true\r\n },\r\n isActive: {\r\n type: Boolean,\r\n required: true\r\n },\r\n activeCategoryName: {\r\n type: String,\r\n required: true\r\n }\r\n },\r\n data() {\r\n return {\r\n isContainerOpen: this.isActive\r\n };\r\n },\r\n watch: {\r\n isActive: {\r\n async handler(isActive) {\r\n if (\r\n (isActive && this.containerState === 'collapsed') ||\r\n (!isActive && this.containerState === 'expanded')\r\n ) {\r\n await this.toggleContainerHeight();\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n groupItemTabIndex() {\r\n return this.isContainerOpen ? 0 : -1;\r\n }\r\n },\r\n methods: {\r\n setActiveGroup() {\r\n this.$emit('set-active-group', this.groupCategory.GroupName);\r\n },\r\n setActiveCategory(categoryName) {\r\n this.$emit('set-active-category', categoryName);\r\n }\r\n },\r\n template: `\r\n
  • \r\n \r\n \r\n \r\n \r\n {{ groupCategory.GroupOrginalName }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
  • \r\n \r\n \r\n \r\n `\r\n};\r\n","import api from '@Shared/mixins/api';\r\nimport axios from 'axios';\r\nimport windowSize from '@Shared/mixins/window-size';\r\nimport FaqItem from './faq-item';\r\nimport FaqGroup from './faq-group';\r\n\r\nconst EVENT_BUS_EVENT_NAME = 'Broadcast::FAQItem';\r\n\r\nexport default {\r\n name: 'all-faqs',\r\n\r\n components: {\r\n FaqItem,\r\n FaqGroup\r\n },\r\n\r\n mixins: [api, windowSize],\r\n\r\n props: {\r\n classificationId: {\r\n type: String,\r\n required: true\r\n },\r\n categoryId: {\r\n type: String,\r\n required: true\r\n },\r\n groups: {\r\n type: Array,\r\n default: null\r\n }\r\n },\r\n\r\n data() {\r\n return {\r\n faqLoaded: false,\r\n activeGroupName: '',\r\n activeCategoryName: ''\r\n };\r\n },\r\n\r\n computed: {\r\n mainGroups() {\r\n return this.groups;\r\n },\r\n activeGroup() {\r\n return this.faqLoaded && this.groupCategories.find(groupCategory => groupCategory.GroupName === this.activeGroupName);\r\n },\r\n activeCategory() {\r\n return this.faqLoaded && this.activeGroup ? this.activeGroup.Categories.find(category => category.CategoryName === this.activeCategoryName) : null;\r\n }\r\n },\r\n\r\n created() {\r\n this.groupCategories = [];\r\n this.$eventBus.$on(EVENT_BUS_EVENT_NAME, this.handleFAQItemEvent);\r\n },\r\n async mounted() {\r\n await this.getAllCategories();\r\n await this.runEventQueue();\r\n },\r\n beforeDestroy() {\r\n this.$eventBus.$off(EVENT_BUS_EVENT_NAME, this.handleFAQItemEvent);\r\n },\r\n\r\n methods: {\r\n async runEventQueue() {\r\n const event = this.$eventBus.getEventQueue(EVENT_BUS_EVENT_NAME);\r\n\r\n if (event) {\r\n // await this.$nextTick();\r\n // NOTE 2021-12-07 AndrewKim: When components above get loaded, they will cause the page scroll position to change.\r\n // This is really not the best solution, but it's all we can do for now.\r\n // await wait(100);\r\n this.$eventBus.triggerEvent({ ...event, eventName: EVENT_BUS_EVENT_NAME });\r\n }\r\n },\r\n async getAllCategories() {\r\n try {\r\n const eventQueue = this.$eventBus.getEventQueue(EVENT_BUS_EVENT_NAME);\r\n\r\n const { data } = await axios.post(this.api.getAllCategories, {\r\n classificationId: this.classificationId,\r\n categoryId: this.categoryId\r\n });\r\n\r\n this.groupCategories = data;\r\n this.faqLoaded = true;\r\n\r\n if (this.groupCategories.length && !this.activeGroupName && !eventQueue) {\r\n this.setActiveGroup(this.groupCategories[0].GroupName);\r\n }\r\n else if (!Array.isArray(this.groupCategories) && Object.keys(this.groupCategories).length > 0) {\r\n this.activeGroupName = this.groupCategories.GroupName;\r\n\r\n this.setActiveGroup(this.groupCategories.GroupName);\r\n }\r\n }\r\n catch (error) {\r\n console.error('getAllCategories error:', error);\r\n }\r\n },\r\n\r\n async handleFAQItemEvent({ GroupName, CategoryName, QuestionId, animateScroll = false }, clearEventCallback) {\r\n if (!this.groupCategories.length) {\r\n await this.getAllCategories();\r\n }\r\n\r\n this.activeGroupName = GroupName;\r\n this.activeCategoryName = !!CategoryName ? CategoryName : this.activeGroup.Categories[0].CategoryName;\r\n\r\n await this.$nextTick();\r\n\r\n this.$eventBus.$emit('faq-item:open-and-scroll', { animateScroll, questionID: QuestionId });\r\n\r\n (typeof clearEventCallback === 'function' && clearEventCallback());\r\n },\r\n\r\n setActiveGroup(groupName) {\r\n this.activeGroupName = groupName;\r\n this.setActiveCategory(this.activeGroup.Categories[0].CategoryName);\r\n },\r\n\r\n setActiveCategory(categoryName) {\r\n this.activeCategoryName = categoryName;\r\n },\r\n\r\n handleSelectChange() {\r\n this.activeCategoryName = this.activeGroup.Categories[0].CategoryName;\r\n }\r\n }\r\n};\r\n","// import { gsap } from 'gsap';\r\n\r\nimport { loadGSAP } from '@Shared/utils/gsap-utils';\r\n\r\n/**\r\n * @export\r\n * @description Scroll page up or down.\r\n * @param {number} top - scroll top value of page\r\n *\r\n * @return {undefined}\r\n */\r\nexport const scrollPage = async (top) => {\r\n // Better logic to prevent overscroll, but the browser will handle this on it's own.\r\n // const maxScrollTop = document.scrollingElement.scrollHeight - window.innerHeight;\r\n // const scrollTop = Math.min(top, maxScrollTop);\r\n\r\n (!window.gsap && await loadGSAP());\r\n\r\n gsap.to(document.scrollingElement, { scrollTop: top, duration: 0.3, ease: 'power1.out' });\r\n};\r\n"],"names":["name","components","FaqItemFeedback","FeedbackThumb","functional","props","direction","type","String","required","validator","test","isSelected","Boolean","render","createElement","context","data","class","classes","staticClass","attrs","_objectSpread","_objectWithoutProperties","_excluded","concat","Array","isArray","xmlns","preserveAspectRatio","viewBox","domProps","innerHTML","mixins","expandAndCollapse","classificationID","questionID","feedbackContentData","Object","default","selectedFeedbackOption","hasSentFeedback","isFeedbackSending","comment","computed","navHeaderHeight","this","$store","getters","feedbackTitle","Title","TitleAlternative","feedbackOptions","value","label","Options","id","feedbackSessionKey","showFeedback","sessionStorage","getItem","showFeedbackForm","showFeedbackSubmitButton","submitButtonLabel","SubmitButton","textAreaID","confirmationMessage","SuccessMessage","feedbackThumbButtons","events","click","handleThumbsUp","ThumbsUpButtonLabel","attributes","handleThumbsDown","ThumbsDownButtonLabel","methods","sendFeedback","handleFormSubmit","find","option","score","axios","post","ClassificationId","QuestionId","Score","Label","toBase64Input","Comment","headers","skipLoading","error","IS_DEV","handleFeedbackSent","setItem","wait","FEEDBACK_CONFIRMATION_TIMEOUT","template","groupName","categoryName","question","answer","rootPath","url","created","$eventBus","$on","openAndScroll","beforeDestroy","$off","toggleContent","toggleContainerHeight","_ref","animateScroll","containerState","top","getElementTop","$el","scrollPage","document","scrollingElement","scrollTop","groupCategory","isActive","activeCategoryName","isContainerOpen","watch","handler","groupItemTabIndex","setActiveGroup","$emit","GroupName","setActiveCategory","EVENT_BUS_EVENT_NAME","FaqItem","FaqGroup","api","windowSize","classificationId","categoryId","groups","faqLoaded","activeGroupName","mainGroups","activeGroup","groupCategories","activeCategory","Categories","category","CategoryName","handleFAQItemEvent","mounted","getAllCategories","runEventQueue","event","getEventQueue","triggerEvent","eventName","eventQueue","length","keys","clearEventCallback","$nextTick","handleSelectChange","async","window","gsap","loadGSAP","to","duration","ease"],"sourceRoot":""}