{"version":3,"sources":["webpack:///./src/renderer/modules/match/components/MatchAssistanceRequestDialog/MatchAssistanceRequestDialog.vue?37c4","webpack:///./src/renderer/modules/match/MatchLayout.vue?fea4","webpack:///./src/renderer/modules/match/components/AdvanceToNextGameDialog/AdvanceToNextGameDialog.vue?c5e1","webpack:///./src/renderer/modules/match/components/AdvanceToNextGameDialog/AdvanceToNextGameDialog.vue","webpack:///./src/renderer/modules/match/components/AdvanceToNextGameDialog/AdvanceToNextGameDialog.vue?ae1d","webpack:///./src/renderer/modules/match/components/AdvanceToNextGameDialog/AdvanceToNextGameDialog.vue?d048","webpack:///./src/renderer/modules/match/components/AdvanceToNextGameDialog/index.ts","webpack:///./src/renderer/modules/match/components/MatchCompleteDialog/MatchCompleteDialog.vue?f3ed","webpack:///./src/renderer/modules/match/components/MatchCompleteDialog/MatchCompleteDialog.vue","webpack:///./src/renderer/modules/match/components/MatchCompleteDialog/MatchCompleteDialog.vue?7c4f","webpack:///./src/renderer/modules/match/components/MatchCompleteDialog/MatchCompleteDialog.vue?bf75","webpack:///./src/renderer/modules/match/components/MatchCompleteDialog/index.ts","webpack:///./src/renderer/modules/match/components/MatchAssistanceRequestDialog/MatchAssistanceRequestDialog.vue?d634","webpack:///./src/renderer/modules/match/components/MatchAssistanceRequestDialog/MatchAssistanceRequestDialog.vue","webpack:///./src/renderer/modules/match/components/MatchAssistanceRequestDialog/MatchAssistanceRequestDialog.vue?24ad","webpack:///./src/renderer/modules/match/components/MatchAssistanceRequestDialog/MatchAssistanceRequestDialog.vue?133b","webpack:///./src/renderer/modules/match/components/MatchAssistanceRequestDialog/index.ts","webpack:///./src/renderer/modules/match/MatchLayout.vue","webpack:///./src/renderer/modules/match/MatchLayout.vue?2cc3","webpack:///./src/renderer/modules/match/MatchLayout.vue?dcb5","webpack:///./src/renderer/modules/match/MatchLayout.vue?703d"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","class","$vuetify","breakpoint","mobile","level1","isLoading","mobileFooterVisible","level2","style","attrs","on","$event","$router","go","_v","_s","tournament","name","_e","isSupportRequestOpen","detailBanner","isBackgroundError","staticRenderFns","model","value","callback","$$v","isVisible","expression","$t","winnerString","advanceToNextGame","userModule","$store","matchModule","realtimeConnectionCancellationToken","winners","nextMatchGameId","realtimeConnection","$toast","error","console","onAdvanceToNextGame","cancel","off","payload","matchGame","matchTeamId","winner","teams","find","team","push","matchGameId","fetchMatch","match","matchId","fetchMatchGame","join","component","VBtn","VCard","VCardActions","VCardText","VCardTitle","VDialog","VSpacer","isDraw","onMatchComplete","VIcon","scopedSlots","_u","key","fn","ref","_g","directives","rawName","hidden","isOpen","requestSupport","isRequested","requestMatchAssistance","response","data","status","Ok","success","dismissable","warning","getMessage","type","Boolean","default","VMenu","VTooltip","integrationModule","loading","oldMatchGameId","oldMatchId","fetchData","send","onMatchResultUpdate","onMatchRemoved","onMatchScheduleUpdated","realtime","addEventListener","onRealtimeReconnected","resetMatchData","resetIntegration","removeEventListener","results","filter","result","createdBy","length","updateMatchGameResults","state","color","classes","queueable","vertical","timeout","fetchMatchGameResults","fetchTournament","fetchStage","showClose","setLeagueLobby","setJoiningCustomGameFailed","sessionInfo","userId","hasLoggedIn","checkIn","checkIns","member","memberId","backgroundImage","connectionStatus","log","userInfo","required","immediate","components","AdvanceToNextGameDialog","MatchCompleteDialog","MatchAssistanceRequestDialog","VAppBar","VImg","VOverlay","VProgressCircular","VSlideXTransition","VToolbarTitle","VToolbar"],"mappings":"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","file":"js/match-room-layout.2260e077.js","sourcesContent":["import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchAssistanceRequestDialog.vue?vue&type=style&index=0&id=b8991888&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchAssistanceRequestDialog.vue?vue&type=style&index=0&id=b8991888&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"match-layout-background\",class:{\n 'layout-mobile': _vm.$vuetify.breakpoint.mobile,\n level1: !_vm.isLoading && !_vm.mobileFooterVisible,\n level2: !_vm.isLoading && _vm.mobileFooterVisible\n },style:(_vm.matchBackgroundStyles)},[_c('div',{staticClass:\"match-layout-overlay\"}),(_vm.$vuetify.breakpoint.mobile)?[_c('div',[_c('v-app-bar',{attrs:{\"color\":\"transparent\",\"dark\":\"\",\"flat\":\"\",\"height\":\"38\"}},[_c('v-btn',{attrs:{\"x-large\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.$router.go(-1)}}},[_c('v-icon',[_vm._v(\"mdi-chevron-left\")])],1),(_vm.tournament)?_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.tournament.name)+\" \")]):_vm._e(),_c('v-spacer'),_c('v-btn',{attrs:{\"x-large\":\"\",\"icon\":\"\"},on:{\"click\":function($event){_vm.isSupportRequestOpen = true}}},[_c('v-icon',[_vm._v(\"mdi-face-agent\")])],1)],1)],1)]:_vm._e(),_c('v-slide-x-transition',[(!_vm.isLoading)?_c('router-view'):_vm._e()],1),_c('v-overlay',{attrs:{\"value\":_vm.isLoading}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1),_c('MatchCompleteDialog'),_c('MatchAssistanceRequestDialog',{attrs:{\"visible\":_vm.isSupportRequestOpen,\"hidden\":_vm.$vuetify.breakpoint.mobile},on:{\"update:visible\":function($event){_vm.isSupportRequestOpen=$event}}}),(_vm.tournament)?_c('v-img',{attrs:{\"src\":_vm.tournament.detailBanner,\"height\":\"0\",\"width\":\"0\"},on:{\"error\":function($event){_vm.isBackgroundError = true}}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"30rem\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(\" \"+_vm._s(_vm.$t('AdvanceToNextGameDialog.NextGameAvailable')))]),_c('v-card-text',[_c('h3',{staticClass:\"mt-4\"},[_vm._v(\" \"+_vm._s(_vm.winnerString)+\" \"+_vm._s(_vm.$t('AdvanceToNextGameDialog.Wins'))+\" \")])]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('AdvanceToNextGameDialog.NextGameStartingMessage'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('AdvanceToNextGameDialog.JoinNextGameQuestion'))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success darken-1\",\"text\":\"\"},on:{\"click\":_vm.advanceToNextGame}},[_vm._v(\" \"+_vm._s(_vm.$t('AdvanceToNextGameDialog.YesPlease'))+\" \")])],1)],1)],1)}\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\r\nimport { Vue, Component } from 'vue-property-decorator'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { getRealtimeConnection } from '@/utils/realtime'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\n\r\nexport interface MatchGameEndedResponse {\r\n winners: string[]\r\n matchGameId: string\r\n}\r\n\r\n@Component\r\nexport default class AdvanceToNextGameDialog extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n matchModule = getModule(matchStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n isVisible: boolean = false\r\n winners: string[] = []\r\n nextMatchGameId: string = ''\r\n\r\n get winnerString(): string {\r\n return this.winners.join(', ')\r\n }\r\n\r\n async created() {\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(\r\n this.$t('AdvanceToNextGameDialog.FailConnectServerMessage')\r\n )\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on('advanceToNextGame', this.onAdvanceToNextGame)\r\n }\r\n\r\n beforeDestroy() {\r\n this.realtimeConnectionCancellationToken.cancel()\r\n\r\n if (this.realtimeConnection) {\r\n this.realtimeConnection.off('advanceToNextGame', this.onAdvanceToNextGame)\r\n }\r\n }\r\n\r\n async onAdvanceToNextGame(payload: MatchGameEndedResponse) {\r\n if (!this.matchModule.matchGame) {\r\n return\r\n }\r\n\r\n const winners = []\r\n\r\n for (const matchTeamId of payload.winners) {\r\n const winner = this.matchModule.matchGame.teams.find(\r\n team => team.matchTeamId === matchTeamId\r\n )\r\n\r\n if (winner) {\r\n winners.push(winner.name)\r\n }\r\n }\r\n\r\n this.winners = winners\r\n this.nextMatchGameId = payload.matchGameId\r\n this.isVisible = true\r\n\r\n try {\r\n await this.matchModule.fetchMatch(this.matchModule.match!.matchId)\r\n await this.matchModule.fetchMatchGame(\r\n this.matchModule.matchGame!.matchGameId\r\n )\r\n } catch {\r\n // something happens\r\n await this.$router.push('/')\r\n }\r\n }\r\n\r\n async advanceToNextGame() {\r\n this.isVisible = false\r\n // Push the user to home page to re-confirm roster\r\n await this.$router.push('/')\r\n /*\r\n await this.$router.push({\r\n name: 'Match',\r\n params: {\r\n matchGameId: this.nextMatchGameId.toString()\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./AdvanceToNextGameDialog.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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./AdvanceToNextGameDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdvanceToNextGameDialog.vue?vue&type=template&id=73061e48&scoped=true&\"\nimport script from \"./AdvanceToNextGameDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AdvanceToNextGameDialog.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 \"73061e48\",\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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VSpacer})\n","import AdvanceToNextGameDialog from './AdvanceToNextGameDialog.vue'\r\n\r\nexport { AdvanceToNextGameDialog }\r\nexport default AdvanceToNextGameDialog\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"30rem\"},model:{value:(_vm.isVisible),callback:function ($$v) {_vm.isVisible=$$v},expression:\"isVisible\"}},[(_vm.winnerString)?_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t('MatchCompleteDialog.MatchCompleted')))]),_c('v-card-text',[_c('h3',{staticClass:\"mt-4\"},[_vm._v(\" \"+_vm._s(_vm.winnerString)+\" \"+_vm._s(_vm.$t('MatchCompleteDialog.wins'))+\" \")])]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('MatchCompleteDialog.ThankYouMessage'))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('MatchCompleteDialog.MatchResultUpdatedMessage'))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.isVisible = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchCompleteDialog.Okay'))+\" \")])],1)],1):_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t('MatchCompleteDialog.MatchCompleted')))]),_c('v-card-text',[_c('h3',{staticClass:\"mt-4\"},[(_vm.isDraw)?[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"yellow\"}},[_vm._v(\"mdi-fencing\")]),_c('span',{staticClass:\"yellow--text\"},[_vm._v(_vm._s(_vm.$t('MatchCompleteDialog.Draw')))])]:[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"red\"}},[_vm._v(\"mdi-alert\")]),_c('span',{staticClass:\"red--text\"},[_vm._v(_vm._s(_vm.$t('MatchCompleteDialog.BothTeamsEliminated')))])]],2)]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('MatchCompleteDialog.ThankYouMessage'))+\" \"),_c('br'),(_vm.isDraw)?[_vm._v(\" \"+_vm._s(_vm.$t('MatchCompleteDialog.DrawDescription'))+\" \")]:[_vm._v(\" \"+_vm._s(_vm.$t('MatchCompleteDialog.MatchResultBothTeamsForfeited'))+\" \")]],2),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.isVisible = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchCompleteDialog.Okay'))+\" \")])],1)],1)],1)}\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\r\nimport { Vue, Component } from 'vue-property-decorator'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport { getRealtimeConnection } from '@/utils/realtime'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\n\r\nexport interface MatchEndedResponse {\r\n winners: string[]\r\n isDraw: boolean\r\n}\r\n\r\n@Component\r\nexport default class MatchCompleteDialog extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n matchModule = getModule(matchStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n\r\n isVisible: boolean = false\r\n winners: string[] = []\r\n isDraw: boolean = false\r\n\r\n get winnerString(): string {\r\n return this.winners.join(', ')\r\n }\r\n\r\n async created() {\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(this.$t('MatchCompleteDialog.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on('matchComplete', this.onMatchComplete)\r\n }\r\n\r\n beforeDestroy() {\r\n this.realtimeConnectionCancellationToken.cancel()\r\n\r\n if (this.realtimeConnection) {\r\n this.realtimeConnection.off('matchComplete', this.onMatchComplete)\r\n }\r\n }\r\n\r\n async onMatchComplete(payload: MatchEndedResponse) {\r\n if (!this.matchModule.matchGame) {\r\n return\r\n }\r\n\r\n const winners = []\r\n\r\n for (const matchTeamId of payload.winners) {\r\n const winner = this.matchModule.matchGame.teams.find(\r\n team => team.matchTeamId === matchTeamId\r\n )\r\n\r\n if (winner) {\r\n winners.push(winner.name)\r\n }\r\n }\r\n\r\n this.winners = winners\r\n this.isDraw = payload.isDraw\r\n this.isVisible = true\r\n\r\n try {\r\n const matchGameId = await this.matchModule.fetchMatch(\r\n this.matchModule.match!.matchId\r\n )\r\n await this.matchModule.fetchMatchGame(\r\n this.matchModule.matchGame!.matchGameId\r\n )\r\n } catch {\r\n // something happens\r\n await this.$router.push('/')\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCompleteDialog.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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchCompleteDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchCompleteDialog.vue?vue&type=template&id=fd957876&scoped=true&\"\nimport script from \"./MatchCompleteDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchCompleteDialog.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 \"fd957876\",\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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VIcon,VSpacer})\n","import MatchCompleteDialog from './MatchCompleteDialog.vue'\r\n\r\nexport { MatchCompleteDialog }\r\nexport default MatchCompleteDialog\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"transition\":\"scale-transition\",\"origin\":\"bottom right\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.hidden),expression:\"!hidden\"}],staticClass:\"request-support-btn\",attrs:{\"fixed\":\"\",\"dark\":\"\",\"fab\":\"\",\"bottom\":\"\",\"left\":\"\"}},on),[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"large\":\"\"}},on),[_vm._v(\"mdi-face-agent\")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t('MatchAssistanceRequestDialog.RequestSupport')))])])],1)]}}]),model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"590\"},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t('MatchAssistanceRequestDialog.RequestSupport')))]),_c('v-card-text',[_vm._v(\" \"+_vm._s(_vm.$t('MatchAssistanceRequestDialog.Description'))+\" \")]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.isOpen = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchAssistanceRequestDialog.Cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":_vm.requestSupport}},[_vm._v(\" \"+_vm._s(_vm.$t('MatchAssistanceRequestDialog.Confirm'))+\" \")])],1)],1)],1)],1)}\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\r\nimport { Component, Prop, PropSync, Vue } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport { MatchAPI, ResponseStatus } from '@/api/match'\r\nimport ServerError from '@/utils/server_error'\r\nimport matchStore from '../../match.store'\r\n\r\n@Component\r\nexport default class MatchAssistanceRequestDialog extends Vue {\r\n matchModule = getModule(matchStore, this.$store)\r\n\r\n @PropSync('visible', { type: Boolean, default: false })\r\n isOpen!: boolean\r\n\r\n @Prop({ type: Boolean, default: false }) readonly hidden!: boolean\r\n\r\n // isOpen: boolean = false\r\n isLoading: boolean = false\r\n isRequested: boolean = false\r\n\r\n get matchId() {\r\n return this.matchModule.match!.matchId\r\n }\r\n\r\n async requestSupport() {\r\n try {\r\n const response = await MatchAPI.requestMatchAssistance(this.matchId)\r\n if (response.data.status === ResponseStatus.Ok) {\r\n this.isRequested = true\r\n this.$toast.success(\r\n this.$t('MatchAssistanceRequestDialog.MatchSupportRequested'),\r\n {\r\n dismissable: true\r\n }\r\n )\r\n }\r\n } catch (err) {\r\n if (err instanceof ServerError) {\r\n this.$toast.warning(err.getMessage(), {\r\n dismissable: true\r\n })\r\n } else {\r\n console.error(err)\r\n }\r\n } finally {\r\n this.isOpen = false\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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchAssistanceRequestDialog.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!../../../../../../node_modules/webpack-preprocessor-loader/index.js??ref--16-0!./MatchAssistanceRequestDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MatchAssistanceRequestDialog.vue?vue&type=template&id=b8991888&scoped=true&\"\nimport script from \"./MatchAssistanceRequestDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./MatchAssistanceRequestDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MatchAssistanceRequestDialog.vue?vue&type=style&index=0&id=b8991888&lang=scss&scoped=true&\"\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 \"b8991888\",\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 { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VIcon,VMenu,VSpacer,VTooltip})\n","import MatchAssistanceRequestDialog from './MatchAssistanceRequestDialog.vue'\r\nexport default MatchAssistanceRequestDialog\r\nexport { MatchAssistanceRequestDialog }\r\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 { Component, Prop, Vue, Watch } from 'vue-property-decorator'\r\nimport { getModule } from 'vuex-module-decorators'\r\nimport userStore from '@/modules/auth/auth.store'\r\nimport matchStore from '@/modules/match/match.store'\r\nimport integrationStore from '@/modules/integration/integration.store'\r\nimport ServerError from '@/utils/server_error'\r\nimport {\r\n CheckInRoleType,\r\n MatchGameResultEntity,\r\n MatchGameState\r\n} from '@/api/match'\r\nimport { AdvanceToNextGameDialog } from '@/modules/match/components/AdvanceToNextGameDialog'\r\nimport { MatchCompleteDialog } from '@/modules/match/components/MatchCompleteDialog'\r\nimport { getRealtimeConnection, realtimeEventTarget } from '@/utils/realtime'\r\nimport { HubConnection } from '@microsoft/signalr'\r\nimport { CancelError, CancellationToken } from '@/utils/cancel'\r\nimport MatchAssistanceRequestDialog from '@/modules/match/components/MatchAssistanceRequestDialog'\r\n\r\ninterface MatchResultUpdateResponse {\r\n matchGameId: string\r\n results: MatchGameResultEntity[]\r\n state: MatchGameState\r\n}\r\n\r\n@Component({\r\n components: {\r\n AdvanceToNextGameDialog,\r\n MatchCompleteDialog,\r\n MatchAssistanceRequestDialog\r\n }\r\n})\r\nexport default class MatchLayout extends Vue {\r\n userModule = getModule(userStore, this.$store)\r\n matchModule = getModule(matchStore, this.$store)\r\n integrationModule = getModule(integrationStore, this.$store)\r\n realtimeConnection!: HubConnection\r\n realtimeConnectionCancellationToken = new CancellationToken()\r\n isBackgroundError: boolean = false\r\n\r\n @Prop({ required: true }) readonly matchGameId!: string\r\n\r\n loading: boolean = false\r\n\r\n isSupportRequestOpen = false\r\n\r\n @Watch('matchGameId', { immediate: true })\r\n async onMatchGameIdChanged(matchGameId: string, oldMatchGameId: string) {\r\n if (!this.realtimeConnection) {\r\n return\r\n }\r\n\r\n const oldMatchId = this.matchGame ? this.matchGame!.matchId : null\r\n await this.fetchData()\r\n\r\n await this.realtimeConnection.send('UnsubscribeMatch', {\r\n matchGameId: oldMatchGameId,\r\n matchId: oldMatchId\r\n })\r\n await this.realtimeConnection.send('SubscribeMatch', {\r\n matchGameId,\r\n matchId: this.matchGame ? this.matchGame!.matchId : null\r\n })\r\n }\r\n\r\n @Watch('hasLoggedIn')\r\n async onHasLoggedInChanged() {\r\n await this.fetchData()\r\n\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(this.$t('MatchLayout.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n }\r\n\r\n async created() {\r\n await this.fetchData()\r\n\r\n try {\r\n this.realtimeConnection = await getRealtimeConnection(\r\n this.realtimeConnectionCancellationToken\r\n )\r\n } catch (err) {\r\n if (err instanceof CancelError) {\r\n return\r\n }\r\n\r\n this.$toast.error(this.$t('MatchLayout.FailConnectServerMessage'))\r\n console.error(err)\r\n }\r\n\r\n this.realtimeConnection.on('matchResultUpdate', this.onMatchResultUpdate)\r\n this.realtimeConnection.on('matchComplete', this.onMatchComplete)\r\n this.realtimeConnection.on('matchRemoved', this.onMatchRemoved)\r\n this.realtimeConnection.on('advanceToNextGame', this.onAdvanceToNextGame)\r\n this.realtimeConnection.on(\r\n 'matchScheduleUpdated',\r\n this.onMatchScheduleUpdated\r\n )\r\n await this.realtimeConnection.send('SubscribeMatch', {\r\n matchGameId: this.matchGameId,\r\n matchId: this.matchGame ? this.matchGame!.matchId : null\r\n })\r\n\r\n realtimeEventTarget.addEventListener(\r\n 'reconnected',\r\n this.onRealtimeReconnected\r\n )\r\n }\r\n\r\n async beforeDestroy() {\r\n await this.matchModule.resetMatchData()\r\n await this.integrationModule.resetIntegration()\r\n\r\n this.realtimeConnectionCancellationToken.cancel()\r\n\r\n if (this.realtimeConnection) {\r\n await this.realtimeConnection.send('UnsubscribeMatch', {\r\n matchGameId: this.matchGameId,\r\n matchId: this.matchModule.matchGame\r\n ? this.matchModule.matchGame!.matchId\r\n : null\r\n })\r\n\r\n this.realtimeConnection.off('matchResultUpdate', this.onMatchResultUpdate)\r\n this.realtimeConnection.off('matchComplete', this.onMatchComplete)\r\n this.realtimeConnection.off('advanceToNextGame', this.onAdvanceToNextGame)\r\n this.realtimeConnection.off('matchRemoved', this.onMatchRemoved)\r\n this.realtimeConnection.off(\r\n 'matchScheduleUpdated',\r\n this.onMatchScheduleUpdated\r\n )\r\n }\r\n\r\n realtimeEventTarget.removeEventListener(\r\n 'reconnected',\r\n this.onRealtimeReconnected\r\n )\r\n }\r\n\r\n async onMatchResultUpdate(data: MatchResultUpdateResponse) {\r\n if (data.matchGameId !== this.matchGameId) {\r\n return\r\n }\r\n\r\n const results = data.results.filter(\r\n result => !result.createdBy || result.createdBy === this.matchTeamId\r\n )\r\n\r\n if (results.length === 0) {\r\n await this.fetchMatchGame()\r\n return\r\n }\r\n\r\n await this.matchModule.updateMatchGameResults(results)\r\n this.matchGame!.state = data.state\r\n }\r\n\r\n async onMatchScheduleUpdated() {\r\n await this.fetchMatchGame()\r\n // this.$toast.success('The schedule has been updated')\r\n this.$toast(\r\n `