{"version":3,"sources":["webpack:///./src/views/dashboard/overview/overview.vue?9eb8","webpack:///./src/views/dashboard/overview/analytic-data.ts","webpack:///./src/components/select-tabs/select-tabs.vue?0cf2","webpack:///./src/components/select-tabs/select-tabs.ts","webpack:///./src/components/select-tabs/select-tabs.ts?2373","webpack:///./src/components/select-tabs/select-tabs.vue","webpack:///./src/components/serpbook/serpbook.vue?87d7","webpack:///./src/components/serpbook/serpbook.ts","webpack:///./src/components/serpbook/serpbook.ts?3809","webpack:///./src/components/serpbook/serpbook.vue","webpack:///./src/components/blocks/vertical-block.vue?19c2","webpack:///./src/components/blocks/vertical-block.vue","webpack:///./src/components/blocks/horizontal-block.vue?63ca","webpack:///./src/components/blocks/horizontal-block.vue","webpack:///./src/views/dashboard/overview/chartConfig.ts","webpack:///./src/views/dashboard/overview/overview.ts","webpack:///./src/views/dashboard/overview/overview.ts?95a3","webpack:///./src/views/dashboard/overview/overview.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","alertMessage","staticRenderFns","AnalyticData","init","_classCallCheck","Object","assign","_createClass","key","get","weeklyReport","monthlyReport","yearlyReport","value","singleState","InitialState","report","undefined","class","themeColor","_l","tab","i","activeTab","on","$event","SelectTab","name","index","_v","_s","SelectTabs","_Vue","_inherits","_super","_createSuper","_this","defaultSelected","selectTabs","set","options","number","replace","$emit","type","tabsName","length","parseInt","Vue","__decorate","Prop","Component","component","topKeywords","scopedSlots","_u","fn","ref","isLoading","_e","scrollPosition","position","style","width","resizeWidth","header","className","serpbookTab","$tc","setSerpbookChange","title","td","keyword","searchVolume","currentPlace","$t","domProps","checkProgress","serpbookChange","projectChange","directives","rawName","hasExtraKeywords","expression","getExtraKeywordsGeneral","isOpen","extraKeywordsGeneral","tr","keywordsGroupId","details","groupName","loading","Serpbook","namespace","error","debounceTimeout","_this2","$nextTick","document","addEventListener","documentScroll","window","documentResize","$refs","serpbook","offsetWidth","serpbooknav","offsetTop","removeEventListener","_this3","setTimeout","scrollY","_this4","requestLength","forEach","group","$axios","concat","$apiUrl","params","serviceId","ServiceId","then","result","$set","data","catch","_getReports","_asyncToGenerator","regeneratorRuntime","mark","_callee","endpoint","property","response","wrap","_context","prev","next","charAt","toLowerCase","substring","sent","Error","t0","console","log","stop","getReports","_x","apply","arguments","_ref","allowedChange","getExtraKeywordsDetails","Watch","immediate","deep","computed","mapState","state","session","components","props","block","blockData","isLoaded","status","values","iconProps","script","spinnerColor","_t","icon","lineChartOptions","maintainAspectRatio","responsive","scales","xAxes","gridLines","color","zeroLineColor","ticks","fontColor","fontFamily","fontSize","fontStyle","yAxes","legend","display","labels","boxWidth","lineChartData","datasets","label","fill","lineTension","backgroundColor","borderColor","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","pointBorderColor","pointBackgroundColor","pointBorderWidth","pointHoverRadius","pointHoverBackgroundColor","pointHoverBorderColor","pointHoverBorderWidth","pointRadius","pointHitRadius","spanGaps","doughnutChartOptions","segmentShowStroke","tooltips","callbacks","tooltipItem","dataset","datasetIndex","total","reduce","previousValue","currentValue","precentage","Math","floor","doughnutChartData","borderWidth","Overview","endpoints","availableDataLengths","chart","analytics","getState","lengths","slice","tabs","enabled","pieChart","indexOf","find","item","sessionsChart","chartData","_objectSpread","dashLabels","map","chartOptions","callback","split","charts","cancelToken","CancelToken","source","Authenticated","Moderator","Service","_this5","Promise","resolve","token","handleResponse","message","allowedReports","prevReport","keys","cancel","flushState","_this6","verticalBlocks","horizontalBlocks","lineChart","doughnutChart","UserId","roles","service"],"mappings":"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","file":"js/chunk-2d22bd16.d45c7392.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"page-main\"},[_c('alert',{attrs:{\"is-error\":true,\"alert-message\":_vm.alertMessage}}),_c('serpbook')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { IAnalytics, IKeywordsGeneral, IKeywordsReport } from '../../../types'\r\n\r\nexport default class AnalyticData {\r\n\r\n [key: string]: string | any;\r\n\r\n weeklyReport?: IAnalytics;\r\n \r\n monthlyReport?: IAnalytics;\r\n \r\n yearlyReport?: IAnalytics;\r\n\r\n // topKeywords?: IKeywordsReport[];\r\n\r\n // extraKeywordsGeneral?: IKeywordsGeneral[];\r\n \r\n private static singleState: AnalyticData;\r\n \r\n private constructor(init?: any) {\r\n \r\n Object.assign(this, init);\r\n }\r\n\r\n private static get InitialState() {\r\n \r\n return {\r\n weeklyReport: {} as IAnalytics,\r\n monthlyReport: {} as IAnalytics,\r\n yearlyReport: {} as IAnalytics,\r\n // topKeywords: [] as IKeywordsReport[],\r\n // extraKeywordsGeneral: [] as IKeywordsGeneral[]\r\n };\r\n }\r\n \r\n public static getState(): AnalyticData {\r\n\r\n if (AnalyticData.singleState) {\r\n \r\n return AnalyticData.singleState;\r\n }\r\n \r\n return AnalyticData.singleState = new AnalyticData(AnalyticData.InitialState);\r\n }\r\n \r\n public static flushState(report?: string): void {\r\n \r\n if (report != undefined) {\r\n\r\n AnalyticData.singleState[report] = {} as IAnalytics;\r\n }\r\n\r\n AnalyticData.singleState = Object.assign(AnalyticData.singleState, AnalyticData.InitialState);\r\n }\r\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:['tabs', _vm.themeColor ? _vm.themeColor : false]},_vm._l((_vm.selectTabs),function(tab,i){return _c('div',{key:i,class:['tabs-single', _vm.activeTab === i ? 'active' : false],on:{\"click\":function($event){_vm.SelectTab = {name: tab, index: i}}}},[_vm._v(\"\\n \"+_vm._s(tab)+\"\\n \")])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue, Prop } from 'vue-property-decorator'\r\n\r\n@Component\r\n\r\nexport default class SelectTabs extends Vue {\r\n \r\n @Prop()\r\n private tabsName!: string;\r\n\r\n @Prop()\r\n private selectTabs!: string[];\r\n\r\n @Prop()\r\n private defaultSelected!: number;\r\n\r\n @Prop()\r\n private themeColor!: string;\r\n\r\n private activeTab: number = this.defaultSelected;\r\n\r\n protected set SelectTab (options: {index: number, name: string}) {\r\n\r\n const number = options.name.replace( /\\D+$/g, '');\r\n\r\n this.activeTab = options.index;\r\n\r\n this.$emit('set-report', {\r\n type: this.tabsName, \r\n index: options.index, \r\n length: parseInt(number)\r\n });\r\n }\r\n\r\n protected get SelectTab () {\r\n\r\n return {index: this.activeTab, name: this.selectTabs[this.activeTab]};\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/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./select-tabs.ts?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/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./select-tabs.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./select-tabs.vue?vue&type=template&id=33e97e3c&\"\nimport script from \"./select-tabs.ts?vue&type=script&lang=ts&\"\nexport * from \"./select-tabs.ts?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 null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('loader',{attrs:{\"has-content\":_vm.topKeywords != null,\"delay-acceptance\":1000,\"position\":\"center\",\"color\":\"black\",\"size\":\"2rem\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar isLoading = ref.isLoading;\nreturn [(!isLoading && _vm.topKeywords != '')?_c('section',{ref:\"serpbook\",staticClass:\"serpbook\"},[_c('table',{ref:\"serpbooknav\",staticClass:\"table table-borderless serpbook-table\"},[(_vm.topKeywords != null && _vm.topKeywords != '')?_c('thead',{staticClass:\"serpbook-nav\",class:[_vm.scrollPosition >= _vm.position - 50 ? 'fixed' : ''],style:({width: _vm.resizeWidth + 'px'})},[_c('tr',{staticClass:\"row mx-0\"},_vm._l((_vm.TableHeadings),function(header,i){return _c('th',{key:i,class:[header.className ? header.className : 'col-2'],attrs:{\"scope\":\"col\"}},[(i === 3)?_c('select-tabs',{attrs:{\"tabs-name\":'serpbook',\"theme-color\":['time secondary', _vm.scrollPosition >= _vm.position - 50 ? 'fixed' : ''],\"default-selected\":_vm.serpbookTab,\"select-tabs\":[\n (\"1 \" + (_vm.$tc('shared.days', 1))),\n (\"7 \" + (_vm.$tc('shared.days', 2))),\n (\"30 \" + (_vm.$tc('shared.days', 2)))\n ]},on:{\"set-report\":_vm.setSerpbookChange}}):_vm._e(),_vm._v(\"\\n \\n \"+_vm._s(i != 3 ? header.title : _vm.$tc('overview.serpbook.th4', _vm.serpbookTab))+\"\\n \")],1)}),0)]):_vm._e(),(_vm.topKeywords != null)?_c('tbody',{staticClass:\"serpbook-values\"},_vm._l((_vm.topKeywords.topKeywordsReport),function(td,i){return _c('tr',{key:i,staticClass:\"row mx-0\"},[_c('td',{staticClass:\"col-4\"},[_vm._v(_vm._s(td.keyword))]),_c('td',{staticClass:\"col-2\"},[_vm._v(_vm._s(td.searchVolume >= 10 ? td.searchVolume : '<10'))]),_c('td',{staticClass:\"col-2\"},[_vm._v(_vm._s(td.currentPlace >= 300 ? _vm.$t('errors.notAvailable') : td.currentPlace))]),_c('td',{staticClass:\"col-2\",domProps:{\"innerHTML\":_vm._s(_vm.checkProgress(td[_vm.serpbookChange]))}}),_c('td',{staticClass:\"col-2\",domProps:{\"innerHTML\":_vm._s(_vm.checkProgress(td.projectChange))}})])}),0):_vm._e(),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.topKeywords != null && _vm.topKeywords.hasExtraKeywords),expression:\"topKeywords != null && topKeywords.hasExtraKeywords\"}],staticClass:\"btn btn-dark rounded-pill font-weight-bolder py-1 my-3\",on:{\"click\":_vm.getExtraKeywordsGeneral}},[_vm._v(_vm._s(_vm.$t('overview.serpbook.extra'))+\" \"),_c('i',{class:['mdi', _vm.isOpen ? 'mdi-chevron-up' : 'mdi-chevron-down'],attrs:{\"area-hidden\":\"true\"}})]),(_vm.isOpen && _vm.extraKeywordsGeneral != null)?_c('div',{staticClass:\"toggle-tables\"},_vm._l((_vm.extraKeywordsGeneral),function(tr){return _c('tbody',{key:tr.keywordsGroupId,staticClass:\"serpbook-extra\"},[_c('div',{staticClass:\"table-label\"},[_vm._v(_vm._s(tr.details ? tr.groupName : ''))]),_vm._l((tr.details),function(td,i){return _c('tr',{key:i,staticClass:\"row mx-0\"},[_c('td',{staticClass:\"col-4\"},[_vm._v(_vm._s(td.keyword))]),_c('td',{staticClass:\"col-2\"},[_vm._v(_vm._s(td.searchVolume >= 10 ? td.searchVolume : '<10'))]),_c('td',{staticClass:\"col-2\"},[_vm._v(_vm._s(td.currentPlace >= 300 ? _vm.$t('errors.notAvailable') : td.currentPlace))]),_c('td',{staticClass:\"col-2\",domProps:{\"innerHTML\":_vm._s(_vm.checkProgress(td[_vm.serpbookChange]))}}),_c('td',{staticClass:\"col-2\",domProps:{\"innerHTML\":_vm._s(_vm.checkProgress(td.projectChange))}})])})],2)}),0):_vm._e(),_c('loader',{attrs:{\"has-content\":!_vm.loading,\"delay-acceptance\":1000,\"color\":\"black\",\"size\":\"2rem\"}})],1)]):_vm._e()]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Watch, Vue, Prop } from 'vue-property-decorator'\r\nimport selectTabs from '../select-tabs/select-tabs.vue'\r\nimport { IKeywords, IKeywordsGeneral, IKeywordsReport, ISession } from '@/types'\r\nimport { mapState } from 'vuex';\r\n\r\n@Component({\r\n computed: mapState({\r\n ServiceId: (state: {session: ISession}) => state.session.serviceId,\r\n }),\r\n components: {\r\n selectTabs\r\n }\r\n})\r\n\r\nexport default class Serpbook extends Vue {\r\n\r\n [key: string]: any;\r\n \r\n private namespace: string = '/GeneralReport';\r\n\r\n private ServiceId!: number;\r\n\r\n private topKeywords: IKeywordsReport[] | null = null;\r\n\r\n private extraKeywordsGeneral: IKeywordsGeneral[] | null = null;\r\n\r\n private serpbookChange: string = 'monthlyChange';\r\n\r\n private serpbookTab: number = 2;\r\n\r\n private isOpen: boolean = false;\r\n\r\n private loading: boolean = false;\r\n\r\n private error: boolean = false;\r\n\r\n private scrollPosition: number | null = null;\r\n\r\n private resizeWidth: number = 1080;\r\n\r\n private position: number | null = null;\r\n\r\n private debounceTimeout: boolean = false;\r\n\r\n private get TableHeadings () {\r\n\r\n return [\r\n {\r\n title: this.$t('overview.serpbook.th1'),\r\n className: 'col-4',\r\n },\r\n {\r\n title: this.$t('overview.serpbook.th2'),\r\n },\r\n {\r\n title: this.$t('overview.serpbook.th3'),\r\n },\r\n {\r\n title: this.$tc('overview.serpbook.th4', this.serpbookTab + 1),\r\n },\r\n {\r\n title: this.$t('overview.serpbook.th5')\r\n }\r\n ];\r\n }\r\n\r\n created () {\r\n\r\n this.$nextTick(() => {\r\n document.addEventListener('scroll', this.documentScroll);\r\n window.addEventListener('resize', this.documentResize);\r\n });\r\n }\r\n\r\n mounted () {\r\n \r\n this.resizeWidth = (this.$refs.serpbook as HTMLElement).offsetWidth;\r\n }\r\n\r\n updated () {\r\n \r\n this.position = (this.$refs.serpbooknav as HTMLElement).offsetTop;\r\n }\r\n\r\n destroyed () {\r\n\r\n document.removeEventListener('scroll', this.documentScroll);\r\n window.removeEventListener('resize', this.documentResize);\r\n }\r\n \r\n private documentScroll () {\r\n\r\n if (!this.debounceTimeout) {\r\n\r\n this.debounceTimeout = !this.debounceTimeout;\r\n setTimeout(() => this.debounceTimeout = !this.debounceTimeout, 200);\r\n\r\n this.scrollPosition = window.scrollY;\r\n }\r\n }\r\n\r\n private documentResize () {\r\n\r\n this.resizeWidth = (this.$refs.serpbook as HTMLElement).offsetWidth;\r\n }\r\n\r\n private getExtraKeywordsDetails () {\r\n\r\n if (this.extraKeywordsGeneral != null) {\r\n\r\n let requestLength = this.extraKeywordsGeneral.length;\r\n\r\n this.loading = true;\r\n \r\n this.extraKeywordsGeneral.forEach((group: IKeywordsGeneral, i: number) => {\r\n \r\n this.$axios.get(`${this.$apiUrl + this.namespace}/ExtraKeywords/Details`, {\r\n params: {\r\n serviceId: this.ServiceId,\r\n keywordsGroupId: group.keywordsGroupId\r\n }\r\n })\r\n .then(result => {\r\n\r\n requestLength--;\r\n\r\n if (requestLength <= 0) {\r\n\r\n this.loading = false;\r\n }\r\n\r\n if (this.extraKeywordsGeneral != null) {\r\n \r\n this.$set(this.extraKeywordsGeneral[i], 'details', result.data);\r\n }\r\n })\r\n .catch(error => {\r\n\r\n // Error...\r\n });\r\n })\r\n }\r\n }\r\n\r\n private async getReports (endpoint: string) {\r\n \r\n this.error = false;\r\n\r\n const property: string = endpoint.charAt(1).toLowerCase() + endpoint.substring(2).replace(/\\/|-/g, '');\r\n\r\n try {\r\n \r\n const response = await this.$axios.get(`${this.$apiUrl + this.namespace + endpoint}`, {\r\n params: {serviceId: this.ServiceId}\r\n });\r\n \r\n if (response.data == null) {\r\n\r\n throw new Error('No content');\r\n }\r\n\r\n this[property] = response.data;\r\n\r\n } catch (err) {\r\n\r\n this.error = true;\r\n console.log(err);\r\n }\r\n }\r\n\r\n private getExtraKeywordsGeneral () {\r\n\r\n if (this.extraKeywordsGeneral != null) {\r\n\r\n return this.isOpen = !this.isOpen;\r\n }\r\n\r\n this.getReports('/ExtraKeywords/General');\r\n\r\n return this.isOpen = true;\r\n }\r\n\r\n private setSerpbookChange ({ type, index }: { type: string, index: number, length: number }) {\r\n\r\n const allowedChange = ['dailyChange', 'weeklyChange', 'monthlyChange'];\r\n\r\n if ('serpbook' === type) {\r\n\r\n this.serpbookTab = index;\r\n this.serpbookChange = allowedChange[index];\r\n }\r\n }\r\n\r\n private checkProgress (value: number) {\r\n\r\n return value === 0\r\n ? `${value} `\r\n : value < 0\r\n ? `${value} `\r\n : `${value} `;\r\n }\r\n\r\n @Watch('ServiceId', {immediate: true})\r\n private getSerpbook (next: number, prev: number | undefined) {\r\n\r\n if (next != undefined) {\r\n \r\n this.topKeywords = null;\r\n this.extraKeywordsGeneral = null;\r\n this.position = null;\r\n this.isOpen = false;\r\n this.getReports('/TopKeywords');\r\n }\r\n }\r\n\r\n @Watch ('extraKeywordsGeneral', {deep: true})\r\n fetchKeywordsExtra (next: IKeywordsGeneral[], prev: IKeywordsGeneral[]) {\r\n \r\n if (next != null && prev != next ) {\r\n\r\n this.getExtraKeywordsDetails();\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/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./serpbook.ts?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/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./serpbook.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./serpbook.vue?vue&type=template&id=4532d2ac&\"\nimport script from \"./serpbook.ts?vue&type=script&lang=ts&\"\nexport * from \"./serpbook.ts?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 null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('fragment',_vm._l((_vm.props.blockCount),function(block,i){return _c('div',{key:i,class:i === 0 ? 'block-top' : i === 1 ? 'block-middle' : 'block-bottom'},[(i === 0)?_c('h4',[_vm._v(_vm._s(block.title))]):_c('h5',[_vm._v(_vm._s(block.title))]),_c('loader',{attrs:{\"has-content\":_vm.props.blockData != undefined,\"delay-acceptance\":500,\"position\":\"bottom\",\"text\":\"Loading...\",\"color\":\"white\",\"size\":\"1rem\"},scopedSlots:_vm._u([(!_vm.isLoaded && _vm.props.blockData != undefined)?{key:\"default\",fn:function(ref){\nvar isLoaded = ref.isLoaded;\nreturn [(_vm.props.blockData.status != 500)?_c('span',[(i === 0)?_c('h1',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.props.blockData.status === 200 ? Object.values(_vm.props.blockData.data)[i] : '-'))]):_c('h3',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.props.blockData.status === 200 ? Object.values(_vm.props.blockData.data)[i] : '-'))])]):((_vm.props.blockData.status != 200 && _vm.props.blockData.status != 404))?_c('span',{staticClass:\"loader-wrapper bottom\"},[_c('i',{class:['mdi mdi-alert-outline', _vm.props.iconProps],attrs:{\"area-hidden\":\"true\"}})]):_vm._e()]}}:null],null,true)})],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./vertical-block.vue?vue&type=template&id=ce1137d4&functional=true&\"\nvar script = {}\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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function (_h,_vm) {var _c=_vm._c;return _c('div',{class:_vm.props.className},[_c('loader',{attrs:{\"has-content\":_vm.props.blockData != undefined,\"delay-acceptance\":500,\"position\":\"bottom\",\"text\":\"Loading...\",\"color\":_vm.props.spinnerColor ? _vm.props.spinnerColor : 'white',\"size\":\"1rem\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar isLoading = ref.isLoading;\nreturn [(!isLoading && _vm.props.blockData != null && _vm.props.blockData.status === 500)?_c('span',{staticClass:\"loader-wrapper bottom\"},[_c('i',{class:['mdi mdi-alert-outline', _vm.props.iconProps],attrs:{\"area-hidden\":\"true\"}})]):_vm._e(),(!isLoading && _vm.props.blockData != null && _vm.props.blockData.status)?_vm._t(\"default\",[_c('div',{staticClass:\"row\"},_vm._l((_vm.props.blockCount),function(block,i){return _c('div',{key:i,staticClass:\"col block-child\",attrs:{\"disabled\":_vm.props.blockData.status != 200 ? true : false}},[_c('i',{class:['mdi', block.icon],attrs:{\"area-hidden\":\"true\"}}),_c('h4',[_vm._v(_vm._s(_vm.props.blockData.status != 200 ? '-' : Object.values(_vm.props.blockData.data)[i] + '%'))])])}),0)]):_vm._e()]}}],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./horizontal-block.vue?vue&type=template&id=00ed93f0&functional=true&\"\nvar script = {}\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 true,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export const lineChartOptions: {[key: string]: any} = {\r\n maintainAspectRatio: false,\r\n responsive: true,\r\n scales: {\r\n xAxes: [{\r\n gridLines: {\r\n color: 'rgba(255,255,255,0.5)',\r\n zeroLineColor: 'rgba(255,255,255,1)',\r\n },\r\n ticks: {\r\n fontColor: '#fff',\r\n fontFamily: 'Source Sans Pro',\r\n fontSize: 14,\r\n fontStyle: '300'\r\n }\r\n }],\r\n yAxes: [{\r\n gridLines: {\r\n color: 'rgba(255,255,255,0.5)',\r\n zeroLineColor: 'rgba(255,255,255,1)'\r\n },\r\n ticks: {\r\n // max: 0,\r\n // min: 0,\r\n // stepSize: 0,\r\n fontColor: '#fff',\r\n fontFamily: 'Source Sans Pro',\r\n fontSize: 14,\r\n fontStyle: '300'\r\n }\r\n }]\r\n },\r\n legend: {\r\n display: true,\r\n position: 'top',\r\n labels: {\r\n boxWidth: 14,\r\n fontFamily: 'Source Sans Pro',\r\n fontSize: 14,\r\n fontColor: '#fff',\r\n fontStyle: '300'\r\n }\r\n }\r\n};\r\n\r\nexport const lineChartData: {[key: string]: any} = {\r\n labels: null,\r\n datasets: [\r\n {\r\n label: '',\r\n fill: false,\r\n lineTension: 0.1,\r\n backgroundColor: '#6aa8e4',\r\n borderColor: '#6aa8e4',\r\n borderCapStyle: 'butt',\r\n borderDash: [],\r\n borderDashOffset: 0.0,\r\n borderJoinStyle: 'miter',\r\n pointBorderColor: '#6aa8e4',\r\n pointBackgroundColor: '#fff',\r\n pointBorderWidth: 1,\r\n pointHoverRadius: 5,\r\n pointHoverBackgroundColor: '#6aa8e4',\r\n pointHoverBorderColor: 'rgba(220,220,220,1)',\r\n pointHoverBorderWidth: 2,\r\n pointRadius: 1,\r\n pointHitRadius: 10,\r\n spanGaps: false,\r\n data: null\r\n },\r\n ],\r\n};\r\n\r\nexport const doughnutChartOptions = {\r\n\tmaintainAspectRatio: false,\r\n\tresponsive: true,\r\n\tsegmentShowStroke: true,\r\n\tlegend: {\r\n\t\tdisplay: true,\r\n\t\tposition: 'bottom',\r\n\t\tlabels: {\r\n\t\t\tboxWidth: 14,\r\n\t\t\tfontFamily: 'Source Sans Pro',\r\n\t\t\tfontSize: 14,\r\n\t\t\tfontStyle: '400',\r\n\t\t\tfontColor: '#565350'\r\n\t\t}\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: (tooltipItem: any, data: any) => {\r\n\r\n let dataset = data.datasets[tooltipItem.datasetIndex],\r\n total = dataset.data.reduce(function (previousValue: any, value: any) { return (previousValue + value); }),\r\n currentValue = dataset.data[tooltipItem.index],\r\n precentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n\r\n return precentage + \"%\";\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const doughnutChartData: { [key: string]: any } = {\r\n\tlabels: null,\r\n\tdatasets: [\r\n\t\t{\r\n\t\t\tlabel: null,\r\n\t\t\tborderColor: 'transparent',\r\n\t\t\tborderWidth: 1,\r\n\t\t\tbackgroundColor: ['#F075A2', '#9DCC64', '#64B4DD', '#F3C46C', '#FF8363', '#BFBFBF'],\r\n\t\t\tpointBackgroundColor: '#fff',\r\n\t\t\tdata: null\r\n\t\t}\r\n\t],\r\n};","import { Component, Vue, Watch } from 'vue-property-decorator'\r\nimport { mapState } from 'vuex'\r\nimport AnalyticData from './analytic-data'\r\nimport selectTabs from '../../../components/select-tabs/select-tabs.vue'\r\nimport Serpbook from '../../../components/serpbook/serpbook.vue'\r\nimport verticalBlocks from '../../../components/blocks/vertical-block.vue'\r\nimport horizontalBlocks from '../../../components/blocks/horizontal-block.vue'\r\nimport { lineChart, doughnutChart } from '../../../components/charts/index'\r\nimport { lineChartData, lineChartOptions, doughnutChartData, doughnutChartOptions } from './chartConfig'\r\nimport { ISession, IChartData } from '../../../types'\r\nimport { CancelTokenStatic, CancelTokenSource } from 'axios'\r\n\r\n@Component({\r\n components: {\r\n verticalBlocks,\r\n horizontalBlocks,\r\n selectTabs,\r\n lineChart,\r\n doughnutChart,\r\n Serpbook,\r\n },\r\n computed: mapState({\r\n Authenticated: (state: {session: ISession}) => state.session.UserId ? true : false,\r\n Moderator: (state: {session: ISession}) => state.session.roles != undefined ? true : false,\r\n Service: (state: {session: ISession}) => state.session.service,\r\n ServiceId: (state: {session: ISession}) => state.session.serviceId,\r\n })\r\n})\r\n\r\nexport default class Overview extends Vue {\r\n\r\n private namespace: string = '/GeneralReport';\r\n\r\n private endpoints: string[] = ['/ReportHeaders', '/Devices', '/Genders', '/Sessions-Chart', '/Pie-Chart']; // '/TopKeywords\r\n\r\n private cancelToken?: CancelTokenStatic;\r\n\r\n private source?: CancelTokenSource;\r\n\r\n private Authenticated!: boolean;\r\n\r\n private Moderator!: boolean;\r\n\r\n private Service!: string;\r\n\r\n private ServiceId!: number;\r\n\r\n private length: number = 7;\r\n\r\n private availableDataLengths: number = 0;\r\n\r\n private chart: number = 1;\r\n\r\n private report: string = 'weeklyReport';\r\n\r\n private analytics: Partial = AnalyticData.getState();\r\n\r\n private alertMessage: string = '';\r\n\r\n private get availableLengths () {\r\n\r\n const lengths = [\r\n `7 ${ this.$tc('shared.days', 2) }`,\r\n `30 ${ this.$tc('shared.days', 2) }`,\r\n `365 ${ this.$tc('shared.days', 2) }`\r\n ];\r\n\r\n return lengths.slice(0, this.availableDataLengths === 365 ? 3 : this.availableDataLengths === 30 ? 2 : 1);\r\n }\r\n\r\n private get PieTabs () {\r\n\r\n const tabs = [\r\n {\r\n title: this.$t('overview.analytics.grouping'),\r\n icon: 'mdi-format-list-bulleted-type',\r\n enabled: false,\r\n },\r\n {\r\n title: this.$t('overview.analytics.city'),\r\n icon: 'mdi-city',\r\n enabled: false,\r\n },\r\n {\r\n title: this.$t('overview.analytics.age'),\r\n icon: 'mdi-human-handsup',\r\n enabled: false,\r\n }\r\n ];\r\n\r\n if (this.analytics[this.report].pieChart != undefined) {\r\n \r\n this.analytics[this.report].pieChart.data.forEach((tab: IChartData, i: number) => {\r\n \r\n tabs[i].enabled = tab.data.length > 0;\r\n\r\n if (!tabs[i].enabled && this.chart === i) {\r\n\r\n this.chart = tabs.indexOf(tabs.find(item => item.enabled) as {title: string, icon: string, enabled: boolean});\r\n }\r\n });\r\n\r\n return tabs;\r\n }\r\n\r\n return tabs \r\n }\r\n\r\n private get SessionChartData () {\r\n\r\n const chart = this.analytics[this.report].sessionsChart;\r\n\r\n if (chart != null && chart.status == 200) {\r\n\r\n let chartData = {...lineChartData};\r\n\r\n chartData.labels = chart.data.dashLabels;\r\n chartData.datasets.map((set: {label: string, data: number[]}) => {\r\n\r\n set.label = this.$t('overview.analytics.totalSessions') as string;\r\n set.data = chart.data.data;\r\n })\r\n \r\n return chartData;\r\n }\r\n\r\n return lineChartData;\r\n }\r\n\r\n private get SessionChartOptions () {\r\n // Leaving this. For formating lines on Y axis\r\n\r\n if (this.analytics[this.report].sessionsChart != null && this.analytics[this.report].sessionsChart.status === 200) {\r\n \r\n // const options = this.analytics[this.report].sessionsChart.data,\r\n // maxNum = options.data.map((val: number) => Math.max.apply(null, options.data))[0],\r\n // minNum = options.data.map((val: number) => Math.min.apply(null, options.data))[0];\r\n\r\n let chartOptions = {...lineChartOptions};\r\n\r\n // chartOptions.scales.yAxes[0].ticks.max = maxNum;\r\n\r\n // chartOptions.scales.yAxes[0].ticks.min = minNum;\r\n\r\n // chartOptions.scales.yAxes[0].ticks.stepSize = 26;\r\n\r\n chartOptions.scales.xAxes[0].ticks.callback = (value: string, index: number, values: string[]) => value.split(' ')[0];\r\n\r\n return chartOptions;\r\n }\r\n \r\n return lineChartOptions;\r\n }\r\n\r\n private get PieChartData () {\r\n\r\n const charts = this.analytics[this.report].pieChart;\r\n\r\n if (charts != null && charts.status === 200) {\r\n\r\n let chartData = {...doughnutChartData};\r\n \r\n chartData.labels = charts.data[this.chart].labels;\r\n chartData.datasets[0].data = charts.data[this.chart].data;\r\n\r\n return chartData;\r\n }\r\n\r\n return doughnutChartData;\r\n }\r\n\r\n private get PieChartOptions () {\r\n \r\n return doughnutChartOptions;\r\n }\r\n\r\n mounted () {\r\n \r\n this.cancelToken = this.$axios.CancelToken;\r\n this.source = this.cancelToken.source();\r\n \r\n if (this.Authenticated && this.ServiceId) {\r\n\r\n this.getReports(['/MaxLength']).then(() => this.getReports(this.endpoints));\r\n }\r\n\r\n if (this.Moderator && this.Service == undefined) {\r\n \r\n return this.alertMessage = 'Please select service';\r\n }\r\n }\r\n\r\n private getReports (endpoints: string[]) {\r\n return new Promise((resolve) => {\r\n endpoints.forEach((endpoint, index) => {\r\n\r\n const property: string = endpoint.charAt(1).toLowerCase() + endpoint.substring(2).replace(/\\/|-/g, '');\r\n \r\n this.$axios.get(`${this.$apiUrl + this.namespace + endpoint}`, {\r\n cancelToken: typeof(this.source) !== 'undefined' ? this.source.token : undefined,\r\n params: {\r\n length: this.length,\r\n serviceId: this.ServiceId\r\n }\r\n })\r\n\r\n .then(response => {\r\n\r\n this.handleResponse({\r\n property,\r\n response: {\r\n status: response.status,\r\n data: response.data\r\n }\r\n });\r\n })\r\n\r\n .catch(error => {\r\n \r\n this.handleResponse({\r\n property,\r\n response: {\r\n status: 500,\r\n message: error.message\r\n }\r\n });\r\n })\r\n\r\n if (index + 1 == endpoints.length) {\r\n\r\n resolve(true);\r\n }\r\n })\r\n });\r\n }\r\n\r\n private handleResponse(data: {property: string, response: {status: number, data?: any, message?: any}}) {\r\n\r\n if ('maxLength' === data.property) {\r\n\r\n return this.availableDataLengths = data.response.data;\r\n }\r\n\r\n return this.$set(this.analytics[this.report], data.property, data.response);\r\n }\r\n\r\n private setChart(index: number) {\r\n\r\n this.chart = index;\r\n }\r\n\r\n private setReport (report: {type: string, index: number, length: number}) {\r\n\r\n const allowedReports = ['weeklyReport', 'monthlyReport', 'yearlyReport'];\r\n \r\n if ('analytics' === report.type) {\r\n\r\n const prevReport = this.report;\r\n \r\n this.length = report.length;\r\n this.report = allowedReports[report.index];\r\n\r\n if (Object.keys(this.analytics[prevReport]).length < this.endpoints.length) {\r\n \r\n if (this.source != undefined && this.cancelToken != undefined) {\r\n \r\n // Cancel prev requests if all not resolved.\r\n this.source.cancel();\r\n this.source = this.cancelToken.source();\r\n AnalyticData.flushState(prevReport);\r\n }\r\n }\r\n\r\n if (Object.keys(this.analytics[this.report]).length === 0) {\r\n\r\n this.getReports(this.endpoints)\r\n }\r\n }\r\n }\r\n\r\n @Watch('ServiceId')\r\n private updateReports (next: number, prev: number | undefined) {\r\n\r\n if (next != null && next != prev) {\r\n\r\n AnalyticData.flushState();\r\n this.alertMessage = '';\r\n this.availableDataLengths = 0;\r\n this.getReports(['/MaxLength']).then(() => this.getReports(this.endpoints));\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/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./overview.ts?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/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js??ref--13-0!./overview.ts?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./overview.vue?vue&type=template&id=0c5a2f12&\"\nimport script from \"./overview.ts?vue&type=script&lang=ts&\"\nexport * from \"./overview.ts?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 null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}