{"version":3,"sources":["webpack:///./src/components/Team/Lineups/LineupManager.vue?95e6","webpack:///src/components/Team/Lineups/LineupManager.vue","webpack:///./src/components/Team/Lineups/LineupManager.vue?5e6f","webpack:///./src/components/Team/Lineups/LineupManager.vue","webpack:///./src/components/Team/Lineups/LineupDetails.vue?00d6","webpack:///src/components/Team/Lineups/LineupDetails.vue","webpack:///./src/components/Team/Lineups/LineupDetails.vue?0b9c","webpack:///./src/components/Team/Lineups/LineupDetails.vue","webpack:///./src/classes/Lineup.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","lineups","loading","model","value","callback","$$v","selected","expression","show","selectedLineup","division","team","tokenStatus","on","onCancelClick","_e","$event","stopPropagation","_v","_s","loadLineups","window","_l","lineup","i","key","showButtons","staticRenderFns","props","data","computed","find","methods","newRoster","push","Lineup","id","teamId","name","type","filter","$VBL","get","handleInput","$emit","mounted","watch","val","components","LineupDetails","component","VBtn","VCard","VCardText","VCol","VContainer","VExpandTransition","VIcon","VRow","VSelect","VWindow","VWindowItem","hideName","class","editing","$set","players","length","playersNeeded","params","tournamentId","tournament","query","tab","position","n","ref","refInFor","getAvailable","item","getPlayerName","disabled","onChange","showSwapObj","swap","alternates","removePosition","removedPlayers","availablePlayers","scopedSlots","_u","fn","jersey","valid","nonStarter","proxy","user","vbl","confirmDelete","doDelete","editable","applyAll","takenPlayers","dirty","currentBtn","icon","color","click","save","edit","dto","oDto","JSON","stringify","starters","map","me","x","top","bottom","cancel","p","blur","ref2","focus","post","delete","positions","player","v","startInEdit","VAlert","VCardActions","VCheckbox","VChip","VDialog","VFabTransition","VSimpleTable","VSpacer","VTextField","VToolbar","VToolbarTitle","update","parse","exclude","DtoUpdate","startsWith","pairs","replace","Array","keys","f","console","log","a","_type","initPostions","flatten","m","includes","forEach"],"mappings":"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","file":"js/chunk-50354d86.9c2ac5bb.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.selector)?_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-select',{attrs:{\"items\":_vm.lineups,\"label\":\"Lineup\",\"item-text\":\"name\",\"item-value\":\"id\",\"loading\":_vm.loading,\"color\":\"color3\",\"item-color\":\"color3\",\"placeholder\":\"Select A Lineup\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})],1),_c('v-expand-transition',[(_vm.show && _vm.selectedLineup)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('lineup-details',{attrs:{\"lineup\":_vm.selectedLineup,\"division\":_vm.division,\"team\":_vm.team,\"tokenStatus\":_vm.tokenStatus,\"disabled\":true,\"hideName\":true},on:{\"cancel-click\":_vm.onCancelClick}})],1):_vm._e()],1),_c('v-expand-transition',[(_vm.selectedLineup)?_c('v-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"color\":\"color3\",\"text\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show = !_vm.show}}},[_vm._v(_vm._s(_vm.show ? 'Hide' : 'show')+\" Lineup\")])],1):_vm._e()],1)],1)],1):_c('v-card',{attrs:{\"color\":\"grey lighten-4\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"title justify-space-between align-center\",attrs:{\"dense\":\"\"}},[_vm._v(\" Line-Up Manager \"),_c('v-btn',{attrs:{\"color\":\"color3\",\"x-small\":\"\",\"text\":\"\",\"icon\":\"\",\"loading\":_vm.loading},on:{\"click\":function($event){$event.stopPropagation();return _vm.loadLineups($event)}}},[_c('v-icon',[_vm._v(\"fas fa-sync-alt\")])],1)],1),_c('loading-bar',{attrs:{\"value\":_vm.loading}}),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-window',{attrs:{\"touchless\":\"\"},model:{value:(_vm.window),callback:function ($$v) {_vm.window=$$v},expression:\"window\"}},[_c('v-window-item',{attrs:{\"value\":0}},[_c('v-card-text',{staticClass:\"text-center title\"},[_c('div',[_vm._v(\"You don't have any lineups yet\")])]),(false)?_c('v-card-text',{staticClass:\"text-center title\"},[_c('v-btn',{attrs:{\"color\":\"color3\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.newRoster($event)}}},[_c('v-icon',{staticClass:\"mr-3\"},[_vm._v(\"fas fa-plus\")]),_vm._v(\" Add a lineup \")],1)],1):_vm._e()],1),_c('v-window-item',{attrs:{\"value\":1}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_vm._l((_vm.lineups),function(lineup,i){return _c('v-col',{key:((lineup.id) + \"-\" + i),attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-card',{staticClass:\"ma-1\",attrs:{\"color\":\"grey lighten-4\",\"height\":\"100%\"}},[_c('lineup-details',{attrs:{\"lineup\":lineup,\"division\":_vm.division,\"team\":_vm.team,\"tokenStatus\":_vm.tokenStatus,\"showButtons\":_vm.showButtons},on:{\"cancel-click\":_vm.onCancelClick}})],1)],1)}),(false)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{staticClass:\"ma-1 d-flex align-center justify-center\",attrs:{\"color\":\"grey lighten-2\"}},[_c('v-btn',{attrs:{\"color\":\"color3\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.newRoster($event)}}},[_c('v-icon',{staticClass:\"mr-3\"},[_vm._v(\"fas fa-plus\")]),_vm._v(\" Add a lineup \")],1)],1)],1):_vm._e()],2)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-container fluid v-if=\"selector\" class=\"pa-0\">\r\n <v-row dense>\r\n <v-col cols=\"12\">\r\n <v-select\r\n :items=\"lineups\"\r\n v-model=\"selected\"\r\n label=\"Lineup\"\r\n item-text=\"name\"\r\n item-value=\"id\"\r\n :loading=\"loading\"\r\n color=\"color3\"\r\n item-color=\"color3\"\r\n placeholder=\"Select A Lineup\"\r\n ></v-select>\r\n </v-col>\r\n <v-expand-transition>\r\n <v-col cols=\"12\" class=\"text-center\" v-if=\"show && selectedLineup\">\r\n <lineup-details\r\n :lineup=\"selectedLineup\"\r\n :division=\"division\"\r\n :team=\"team\"\r\n @cancel-click=\"onCancelClick\"\r\n :tokenStatus=\"tokenStatus\"\r\n :disabled=\"true\"\r\n :hideName=\"true\"\r\n ></lineup-details>\r\n </v-col>\r\n </v-expand-transition>\r\n <v-expand-transition>\r\n <v-col cols=\"12\" class=\"text-center\" v-if=\"selectedLineup\">\r\n <v-btn\r\n color=\"color3\"\r\n text x-small\r\n @click.stop=\"show = !show\"\r\n >{{show ? 'Hide' : 'show'}} Lineup</v-btn>\r\n </v-col>\r\n </v-expand-transition>\r\n </v-row>\r\n </v-container>\r\n <v-card color=\"grey lighten-4\" v-else>\r\n <v-container fluid>\r\n <v-row dense class=\"title justify-space-between align-center\">\r\n Line-Up Manager\r\n <!--\r\n <ncaa-print></ncaa-print>\r\n -->\r\n <v-btn\r\n color=\"color3\"\r\n x-small\r\n text icon\r\n :loading=\"loading\"\r\n @click.stop=\"loadLineups\"\r\n >\r\n <v-icon>fas fa-sync-alt</v-icon>\r\n </v-btn>\r\n </v-row>\r\n <loading-bar :value=\"loading\"></loading-bar>\r\n <v-row dense>\r\n <v-col cols=\"12\">\r\n <v-window v-model=\"window\" touchless>\r\n <v-window-item :value=\"0\">\r\n <v-card-text class=\"text-center title\">\r\n <div>You don't have any lineups yet</div>\r\n </v-card-text>\r\n <v-card-text class=\"text-center title\" v-if=\"false\">\r\n <v-btn color=\"color3\" text @click.stop=\"newRoster\">\r\n <v-icon class=\"mr-3\">fas fa-plus</v-icon>\r\n Add a lineup\r\n </v-btn>\r\n </v-card-text>\r\n </v-window-item>\r\n <v-window-item :value=\"1\">\r\n <v-row dense>\r\n <v-col cols=\"12\" sm=\"6\" v-for=\"(lineup, i) in lineups\" :key=\"`${lineup.id}-${i}`\">\r\n <v-card\r\n color=\"grey lighten-4\"\r\n class=\"ma-1\"\r\n height=\"100%\"\r\n >\r\n <lineup-details\r\n :lineup=\"lineup\"\r\n :division=\"division\"\r\n :team=\"team\"\r\n @cancel-click=\"onCancelClick\"\r\n :tokenStatus=\"tokenStatus\"\r\n :showButtons=\"showButtons\"\r\n ></lineup-details>\r\n </v-card>\r\n </v-col>\r\n <v-col cols=\"12\" v-if=\"false\">\r\n <v-card\r\n color=\"grey lighten-2\"\r\n class=\"ma-1 d-flex align-center justify-center\"\r\n >\r\n <v-btn color=\"color3\" text @click.stop=\"newRoster\">\r\n <v-icon class=\"mr-3\">fas fa-plus</v-icon>\r\n Add a lineup\r\n </v-btn>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n </v-window-item>\r\n </v-window>\r\n </v-col>\r\n </v-row>\r\n </v-container>\r\n </v-card>\r\n</template>\r\n\r\n<script>\r\nimport LineupDetails from './LineupDetails'\r\n// import NcaaPrint from './NcaaPrint'\r\nimport Lineup from '@/classes/Lineup'\r\n\r\nexport default {\r\n props: ['team', 'tournament', 'division', 'selector', 'tokenStatus', 'value', 'showButtons'],\r\n data () {\r\n return {\r\n window: 0,\r\n lineups: [],\r\n loading: false,\r\n selected: this.value,\r\n show: true\r\n }\r\n },\r\n computed: {\r\n selectedLineup () {\r\n return this.lineups && this.selected && this.lineups.find(f => f.id === this.selected)\r\n }\r\n },\r\n methods: {\r\n newRoster () {\r\n this.team && this.lineups.push(new Lineup({\r\n id: 0,\r\n teamId: this.team.id,\r\n name: `Line Up ${this.lineups.length + 1}`,\r\n type: this.division.props.find(f => f.startsWith('lineups-dual-'))\r\n }))\r\n this.window = 1\r\n },\r\n onCancelClick () {\r\n this.lineups = this.lineups.filter(f => f.id !== 0)\r\n },\r\n loadLineups () {\r\n this.loading = true\r\n this.$VBL.team.lineups.get(this.team.id)\r\n .then(r => {\r\n this.lineups = r.data.map(m => new Lineup(m))\r\n this.window = this.lineups.length === 0 ? 0 : 1\r\n })\r\n .catch(e => { console.log(e) })\r\n .finally(() => { this.loading = false })\r\n },\r\n handleInput (e) {\r\n this.$emit('input', this.selected)\r\n }\r\n },\r\n mounted () {\r\n this.loadLineups()\r\n },\r\n watch: {\r\n 'lineups.length': function (val) {\r\n if (!val) this.window = 0\r\n },\r\n selected: 'handleInput'\r\n },\r\n components: {\r\n LineupDetails\r\n // NcaaPrint\r\n }\r\n}\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineupManager.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineupManager.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LineupManager.vue?vue&type=template&id=7384d018&\"\nimport script from \"./LineupManager.vue?vue&type=script&lang=js&\"\nexport * from \"./LineupManager.vue?vue&type=script&lang=js&\"\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\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 { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VWindow } from 'vuetify/lib/components/VWindow';\nimport { VWindowItem } from 'vuetify/lib/components/VWindow';\ninstallComponents(component, {VBtn,VCard,VCardText,VCol,VContainer,VExpandTransition,VIcon,VRow,VSelect,VWindow,VWindowItem})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"fill-height flexcard\",attrs:{\"flat\":_vm.hideName}},[_c('v-card-text',{staticClass:\"grow\",class:{ 'pa-0': _vm.hideName }},[_c('v-row',{attrs:{\"dense\":\"\"}},[(!_vm.hideName)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-text-field',{attrs:{\"label\":\"Name\",\"disabled\":!_vm.editing,\"color\":\"color3\",\"outlined\":\"\"},model:{value:(_vm.model.name),callback:function ($$v) {_vm.$set(_vm.model, \"name\", $$v)},expression:\"model.name\"}})],1):_vm._e(),(_vm.players.length < _vm.playersNeeded)?_c('v-col',[_c('v-alert',{attrs:{\"type\":\"error\",\"prominent\":\"\",\"text\":\"\"}},[_vm._v(\" You do not have enough players on your roster \")]),_c('v-btn',{attrs:{\"color\":\"color3 color3Text--text\",\"to\":{ name: 'division-team', params: { tournamentId: _vm.tournament.id, teamId: _vm.team.id }, query: { tab: 'partner' } }}},[_vm._v(\" Please update your roster \")])],1):[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"12\"}},[_c('v-card',{staticClass:\"pa-1\",attrs:{\"color\":\"red\"}},[_c('div',{staticClass:\"red lighten-4 red--text\"},[_vm._v(\"Players\")]),_c('v-card-text',{staticClass:\"white pa-1\"},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.model.starters),function(position,i){return _c('v-col',{key:position.n,attrs:{\"cols\":\"12\"}},[_c('v-select',{ref:(\"select\" + (position.n)),refInFor:true,staticClass:\"mt-0\",attrs:{\"dense\":\"\",\"items\":_vm.getAvailable(position),\"item-text\":function (item) { return _vm.getPlayerName(item.id); },\"item-value\":\"id\",\"label\":(\"Pair No. \" + (position.n)),\"multiple\":\"\",\"attach\":\"\",\"chips\":\"\",\"deletable-chips\":\"\",\"small-chips\":\"\",\"disabled\":!_vm.editing || _vm.disabled,\"hide-details\":\"\",\"color\":\"color3\",\"item-color\":\"color3\",\"autofocus\":position.n === 1 && position.players.length < 2,\"append-icon\":\"\",\"outlined\":\"\"},on:{\"change\":function () { return _vm.onChange(position); }},model:{value:(position.players),callback:function ($$v) {_vm.$set(position, \"players\", $$v)},expression:\"position.players\"}}),(_vm.editing && _vm.showSwapObj[i])?_c('v-btn',{attrs:{\"color\":\"color3\",\"small\":\"\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.swap(position.n)}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-long-arrow-up\")]),_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"fas fa-long-arrow-down\")])],1):_vm._e()],1)}),1)],1)],1)],1),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"12\"}},[(_vm.model.alternates.length > 0)?_c('v-card',{staticClass:\"pa-1 mt-3\",attrs:{\"color\":\"green\"}},[_c('div',{staticClass:\"green lighten-4 green--text\"},[_vm._v(\"Alternates\")]),_c('v-card-text',{staticClass:\"white pa-1\"},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.model.alternates),function(position,i){return _c('v-col',{key:(\"alt-\" + i),attrs:{\"cols\":\"12\"}},[_c('v-chip',{attrs:{\"disabled\":_vm.disabled,\"small\":\"\",\"close\":_vm.editing && !_vm.disabled},on:{\"click:close\":function($event){return _vm.removePosition(position)}}},[_vm._v(_vm._s(_vm.getPlayerName(position.players[0])))])],1)}),1)],1)],1):_vm._e()],1),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"12\"}},[(_vm.model.removedPlayers.length > 0)?_c('v-card',{staticClass:\"pa-1 mt-3\",attrs:{\"color\":\"blue\"}},[_c('div',{staticClass:\"blue lighten-4 blue--text\"},[_vm._v(\"Removed Players\")]),_c('v-card-text',{staticClass:\"white pa-1\"},[_c('v-row',{attrs:{\"dense\":\"\"}},_vm._l((_vm.model.removedPlayers),function(position,i){return _c('v-col',{key:(\"removed-\" + i),attrs:{\"cols\":\"12\"}},[_c('v-chip',{attrs:{\"disabled\":_vm.disabled,\"small\":\"\",\"close\":_vm.editing && !_vm.disabled},on:{\"click:close\":function($event){return _vm.removePosition(position)}}},[_vm._v(_vm._s(_vm.getPlayerName(position.players[0])))])],1)}),1)],1)],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.team)?_c('v-checkbox',{attrs:{\"label\":\"Apply to all future matches\",\"color\":\"success\",\"disabled\":!_vm.editing || _vm.disabled},model:{value:(_vm.model.applyAll),callback:function ($$v) {_vm.$set(_vm.model, \"applyAll\", $$v)},expression:\"model.applyAll\"}}):_vm._e()],1)]],2),_c('v-expand-transition',[(_vm.availablePlayers.length > 0)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-card',{attrs:{\"flat\":!_vm.editing,\"outlined\":!_vm.editing}},[_c('v-toolbar',{attrs:{\"dense\":\"\",\"color\":_vm.editing ? 'color2 color2Text--text' : 'grey lighten-2 grey--text',\"flat\":!_vm.editing}},[_c('v-toolbar-title',[_vm._v(\" Other Players \")])],1),_c('v-card-text',[_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('tbody',_vm._l((_vm.availablePlayers),function(item){return _c('tr',{key:item.id},[_c('td',{staticClass:\"text-left\"},[_vm._v(_vm._s(item.name)+\" \"+_vm._s(item.jersey ? (\"#\" + (item.jersey)) : ''))]),_c('td',{staticClass:\"text-left\"},[_c('v-fab-transition',[(_vm.model.valid && _vm.editing)?_c('v-btn',{attrs:{\"color\":\"green\",\"text\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.nonStarter(item, 'alt')}}},[_vm._v(\"Alternate\")]):_vm._e()],1)],1),_c('td',{staticClass:\"text-left\"},[_c('v-fab-transition',[(_vm.model.valid && _vm.editing)?_c('v-btn',{attrs:{\"color\":\"blue\",\"text\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.nonStarter(item, 'removed')}}},[_vm._v(\"Removed\")]):_vm._e()],1)],1)])}),0)]},proxy:true}],null,false,3864954301)})],1)],1)],1)],1):_vm._e()],1)],1),(_vm.showButtons)?_c('v-card-actions',{staticClass:\"justify-end shrink\"},[_c('v-fab-transition',[(_vm.editing || (_vm.user && _vm.user.vbl))?_c('v-btn',{attrs:{\"color\":\"error\",\"x-small\":\"\",\"text\":\"\",\"icon\":\"\",\"disabled\":_vm.loading},on:{\"click\":function($event){_vm.confirmDelete = true}}},[_c('v-icon',[_vm._v(\"fas fa-trash\")])],1):_vm._e()],1),(false)?[_c('v-spacer'),_c('v-fab-transition',[(_vm.editing)?_c('v-btn',{attrs:{\"color\":\"error white--text\",\"fab\":\"\",\"small\":\"\",\"disabled\":_vm.loading},on:{\"click\":_vm.cancel}},[_c('v-icon',[_vm._v(\"fas fa-times\")])],1):_vm._e()],1),_c('v-fab-transition',[_c('v-btn',{key:_vm.currentBtn.key,attrs:{\"color\":_vm.currentBtn.color,\"disabled\":_vm.currentBtn.disabled,\"loading\":_vm.loading,\"fab\":\"\",\"small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.currentBtn.click($event)}}},[_c('v-icon',[_vm._v(_vm._s(_vm.currentBtn.icon))])],1)],1)]:_vm._e()],2):_vm._e(),_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"500px\",\"transition\":\"dialog-transition\"},model:{value:(_vm.confirmDelete),callback:function ($$v) {_vm.confirmDelete=$$v},expression:\"confirmDelete\"}},[_c('v-card',[_c('v-card-text',{staticClass:\"text-center pa-3\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"Are you sure?\")]),_c('div',{staticClass:\"mb-3\"},[_vm._v(\"Deleteing a lineup can not be undone\")]),_c('v-btn',{staticClass:\"mr-3\",attrs:{\"color\":\"success white--text\",\"loading\":_vm.loading},on:{\"click\":_vm.doDelete}},[_vm._v(\"Yes\")]),_c('v-btn',{attrs:{\"color\":\"error white--text\",\"disabled\":_vm.loading},on:{\"click\":function($event){_vm.confirmDelete = false}}},[_vm._v(\"No\")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <v-card class=\"fill-height flexcard\" :flat=\"hideName\">\r\n <v-card-text class=\"grow\" :class=\"{ 'pa-0': hideName }\">\r\n <v-row dense>\r\n <v-col cols=\"12\" v-if=\"!hideName\">\r\n <v-text-field\r\n label=\"Name\"\r\n v-model=\"model.name\"\r\n :disabled=\"!editing\"\r\n color=\"color3\"\r\n outlined\r\n ></v-text-field>\r\n </v-col>\r\n <v-col v-if=\"players.length < playersNeeded\">\r\n <v-alert type=\"error\" prominent text>\r\n You do not have enough players on your roster\r\n </v-alert>\r\n <v-btn color=\"color3 color3Text--text\" :to=\"{ name: 'division-team', params: { tournamentId: tournament.id, teamId: team.id }, query: { tab: 'partner' } }\">\r\n Please update your roster\r\n </v-btn>\r\n </v-col>\r\n <template v-else>\r\n <v-col cols=\"12\" class=\"pa-0\">\r\n <v-card color=\"red\" class=\"pa-1\">\r\n <div class=\"red lighten-4 red--text\">Players</div>\r\n <v-card-text class=\"white pa-1\">\r\n <v-row dense>\r\n <v-col cols=\"12\"\r\n v-for=\"(position, i) in model.starters\" :key=\"position.n\"\r\n >\r\n <v-select\r\n class=\"mt-0\" dense\r\n :ref=\"`select${position.n}`\"\r\n :items=\"getAvailable(position)\"\r\n :item-text=\"item => getPlayerName(item.id)\"\r\n item-value=\"id\"\r\n v-model=\"position.players\"\r\n :label=\"`Pair No. ${position.n}`\"\r\n multiple attach @change=\"() => onChange(position)\"\r\n chips deletable-chips small-chips\r\n :disabled=\"!editing || disabled\"\r\n hide-details\r\n color=\"color3\"\r\n item-color=\"color3\"\r\n :autofocus=\"position.n === 1 && position.players.length < 2\"\r\n append-icon=\"\"\r\n outlined\r\n ></v-select>\r\n <v-btn\r\n v-if=\"editing && showSwapObj[i]\"\r\n color=\"color3\"\r\n small\r\n text\r\n @click.stop=\"swap(position.n)\"\r\n >\r\n <v-icon small>fas fa-long-arrow-up</v-icon>\r\n <v-icon small>fas fa-long-arrow-down</v-icon>\r\n </v-btn>\r\n </v-col>\r\n\r\n </v-row>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n <v-col cols=\"12\" class=\"pa-0\">\r\n <v-card color=\"green\" class=\"pa-1 mt-3\" v-if=\"model.alternates.length > 0\">\r\n <div class=\"green lighten-4 green--text\">Alternates</div>\r\n <v-card-text class=\"white pa-1\">\r\n <v-row dense>\r\n <v-col cols=\"12\"\r\n v-for=\"(position, i) in model.alternates\" :key=\"`alt-${i}`\"\r\n >\r\n <v-chip :disabled=\"disabled\" small :close=\"editing && !disabled\" @click:close=\"removePosition(position)\">{{ getPlayerName(position.players[0]) }}</v-chip>\r\n </v-col>\r\n\r\n </v-row>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n <v-col cols=\"12\" class=\"pa-0\">\r\n <v-card color=\"blue\" class=\"pa-1 mt-3\" v-if=\"model.removedPlayers.length > 0\">\r\n <div class=\"blue lighten-4 blue--text\">Removed Players</div>\r\n <v-card-text class=\"white pa-1\">\r\n <v-row dense>\r\n <v-col cols=\"12\"\r\n v-for=\"(position, i) in model.removedPlayers\" :key=\"`removed-${i}`\"\r\n >\r\n <v-chip :disabled=\"disabled\" small :close=\"editing && !disabled\" @click:close=\"removePosition(position)\">{{ getPlayerName(position.players[0]) }}</v-chip>\r\n </v-col>\r\n </v-row>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n <v-col cols=\"12\">\r\n <v-checkbox\r\n v-if=\"team\"\r\n label=\"Apply to all future matches\"\r\n v-model=\"model.applyAll\"\r\n color=\"success\"\r\n :disabled=\"!editing || disabled\"\r\n ></v-checkbox>\r\n </v-col>\r\n </template>\r\n </v-row>\r\n <v-expand-transition>\r\n <v-row v-if=\"availablePlayers.length > 0\">\r\n <v-col cols=\"12\">\r\n <v-card :flat=\"!editing\" :outlined=\"!editing\">\r\n <v-toolbar\r\n dense\r\n :color=\"editing ? 'color2 color2Text--text' : 'grey lighten-2 grey--text'\"\r\n :flat=\"!editing\"\r\n >\r\n <v-toolbar-title>\r\n Other Players\r\n </v-toolbar-title>\r\n </v-toolbar>\r\n <v-card-text>\r\n <v-simple-table dense>\r\n <template v-slot:default>\r\n <tbody>\r\n <tr\r\n v-for=\"item in availablePlayers\"\r\n :key=\"item.id\"\r\n >\r\n <td class=\"text-left\">{{ item.name }} {{ item.jersey ? `#${item.jersey}` : '' }}</td>\r\n <td class=\"text-left\">\r\n <v-fab-transition>\r\n <v-btn\r\n v-if=\"model.valid && editing\"\r\n color=\"green\"\r\n text x-small\r\n @click.stop=\"nonStarter(item, 'alt')\"\r\n >Alternate</v-btn>\r\n </v-fab-transition>\r\n </td>\r\n <td class=\"text-left\">\r\n <v-fab-transition>\r\n <v-btn\r\n v-if=\"model.valid && editing\"\r\n color=\"blue\"\r\n text x-small\r\n @click.stop=\"nonStarter(item, 'removed')\"\r\n >Removed</v-btn>\r\n </v-fab-transition>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </template>\r\n </v-simple-table>\r\n </v-card-text>\r\n </v-card>\r\n </v-col>\r\n </v-row>\r\n\r\n </v-expand-transition>\r\n </v-card-text>\r\n <v-card-actions class=\"justify-end shrink\" v-if=\"showButtons\">\r\n <v-fab-transition>\r\n <v-btn\r\n v-if=\"editing || (user && user.vbl)\"\r\n color=\"error\"\r\n x-small text icon\r\n @click=\"confirmDelete = true\"\r\n :disabled=\"loading\"\r\n >\r\n <v-icon>fas fa-trash</v-icon>\r\n </v-btn>\r\n </v-fab-transition>\r\n <template v-if=\"false\">\r\n <v-spacer></v-spacer>\r\n <v-fab-transition>\r\n <v-btn\r\n color=\"error white--text\"\r\n fab small\r\n @click=\"cancel\"\r\n :disabled=\"loading\"\r\n v-if=\"editing\"\r\n >\r\n <v-icon>fas fa-times</v-icon>\r\n </v-btn>\r\n </v-fab-transition>\r\n <v-fab-transition>\r\n <v-btn\r\n :key=\"currentBtn.key\"\r\n :color=\"currentBtn.color\"\r\n :disabled=\"currentBtn.disabled\"\r\n @click.stop=\"currentBtn.click\"\r\n :loading=\"loading\"\r\n fab small\r\n >\r\n <v-icon>{{currentBtn.icon}}</v-icon>\r\n </v-btn>\r\n </v-fab-transition>\r\n </template>\r\n </v-card-actions>\r\n <v-dialog\r\n v-model=\"confirmDelete\"\r\n persistent\r\n max-width=\"500px\"\r\n transition=\"dialog-transition\"\r\n >\r\n <v-card>\r\n <v-card-text class=\"text-center pa-3\">\r\n <div class=\"title\">Are you sure?</div>\r\n <div class=\"mb-3\">Deleteing a lineup can not be undone</div>\r\n <v-btn color=\"success white--text\" class=\"mr-3\" @click=\"doDelete\" :loading=\"loading\">Yes</v-btn>\r\n <v-btn color=\"error white--text\" @click=\"confirmDelete = false\" :disabled=\"loading\">No</v-btn>\r\n </v-card-text>\r\n </v-card>\r\n </v-dialog>\r\n </v-card>\r\n</template>\r\n\r\n<script>\r\nimport Lineup from '@/classes/Lineup'\r\nimport { firstBy } from 'thenby'\r\nimport { mapGetters } from 'vuex'\r\n\r\nexport default {\r\n props: ['lineup', 'team', 'tokenStatus', 'disabled', 'hideName', 'showButtons', 'startInEdit'],\r\n data () {\r\n return {\r\n editable: null,\r\n editing: false,\r\n loading: false,\r\n confirmDelete: false,\r\n applyAll: false\r\n }\r\n },\r\n computed: {\r\n ...mapGetters(['tournament', 'user']),\r\n model () {\r\n return this.lineup\r\n // return this.editing ? this.editable : this.lineup\r\n },\r\n players () {\r\n return this.team.players\r\n },\r\n playersNeeded () {\r\n return this.lineup.playersNeeded\r\n },\r\n takenPlayers () {\r\n return this.model.players\r\n },\r\n availablePlayers () {\r\n return this.players.filter(f => !this.takenPlayers.includes(f.id))\r\n },\r\n valid () {\r\n return this.dirty // && this.editable.valid\r\n },\r\n currentBtn () {\r\n return this.editing ? {\r\n icon: 'fas fa-save',\r\n color: 'success white-text',\r\n disabled: !this.valid,\r\n key: 'save',\r\n click: this.save\r\n } : {\r\n icon: 'fas fa-pencil',\r\n color: 'color3Text color3--text',\r\n key: 'edit',\r\n click: this.edit\r\n }\r\n },\r\n dto () {\r\n return this.model && this.model.dto\r\n },\r\n oDto () {\r\n return this.lineup && this.lineup.dto\r\n },\r\n dirty () {\r\n return this.dto && (this.dto.id === 0 || JSON.stringify(this.dto) !== JSON.stringify(this.lineup.dto))\r\n },\r\n showSwapObj () {\r\n return this.model.starters.map(me => {\r\n if (me.n === this.model.starters.length) return false\r\n const before = this.model.starters.find(f => f.n === me.n - 1)\r\n const after = this.model.starters.find(f => f.n === me.n + 1)\r\n return me.players.length > 0 || (before && before.players.length > 0) || (after && after.players.length > 0)\r\n })\r\n }\r\n },\r\n methods: {\r\n getPlayerName (id) {\r\n const x = this.players && this.players.find(f => f.id === id)\r\n if (!x) return 'Missing Player'\r\n const j = x.jersey ? ` #${x.jersey}` : ''\r\n return `${x.fullname}${j}`\r\n },\r\n swap (n) {\r\n const top = this.model.positions.find(f => f.n === n)\r\n const bottom = this.model.positions.find(f => f.n === n + 1)\r\n if (top && bottom) {\r\n const t = [...top.players]\r\n const b = [...bottom.players]\r\n top.players = [...b]\r\n bottom.players = [...t]\r\n }\r\n },\r\n edit () {\r\n this.editable = new Lineup(JSON.parse(JSON.stringify(this.lineup.dto)))\r\n this.editing = true\r\n },\r\n cancel () {\r\n this.$emit('cancel-click')\r\n this.editing = false\r\n this.editable = null\r\n },\r\n getAvailable (p) {\r\n return [...this.availablePlayers, ...this.players.filter(f => p.players.includes(f.id))].sort(firstBy('name'))\r\n },\r\n onChange (p) {\r\n const validPlayerIds = this.players.map(m => m.id)\r\n p.players = p.players.filter(f => validPlayerIds.includes(f))\r\n if (p.players.length === 2) {\r\n const s = `select${p.n}`\r\n const ref = this.$refs[s]\r\n ref && ref[0] && ref[0].blur()\r\n const s2 = `select${p.n + 1}`\r\n const ref2 = this.$refs[s2]\r\n ref2 && ref2[0] && ref2[0].focus()\r\n }\r\n },\r\n save () {\r\n // NOT USED\r\n if (this.valid) {\r\n this.loading = true\r\n this.$VBL.team.lineups.post({ lineup: this.dto }, this.$route.query.token)\r\n .then(r => {\r\n this.lineup.update(r.data)\r\n this.cancel()\r\n })\r\n .catch(e => console.log(e))\r\n .finally(() => { this.loading = false })\r\n }\r\n },\r\n doDelete () {\r\n this.loading = true\r\n this.$VBL.team.lineups.delete({ lineup: this.lineup }, this.$route.query.token)\r\n .then(r => {\r\n this.lineup.id = 0\r\n this.cancel()\r\n })\r\n .catch(e => console.log(e))\r\n .finally(() => { this.loading = false })\r\n },\r\n nonStarter (player, type) {\r\n this.model.positions.push({\r\n type: type,\r\n players: [player.id]\r\n })\r\n },\r\n removePosition (position) {\r\n this.model.removePosition(position)\r\n }\r\n },\r\n watch: {\r\n valid: function (v) {\r\n this.$emit('valid-change', v)\r\n }\r\n },\r\n mounted () {\r\n this.lineup && (this.lineup.id === 0 || this.startInEdit) && this.edit()\r\n }\r\n}\r\n</script>\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineupDetails.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineupDetails.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LineupDetails.vue?vue&type=template&id=02b8eb6c&\"\nimport script from \"./LineupDetails.vue?vue&type=script&lang=js&\"\nexport * from \"./LineupDetails.vue?vue&type=script&lang=js&\"\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\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\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 { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VExpandTransition } from 'vuetify/lib/components/transitions';\nimport { VFabTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardText,VCheckbox,VChip,VCol,VDialog,VExpandTransition,VFabTransition,VIcon,VRow,VSelect,VSimpleTable,VSpacer,VTextField,VToolbar,VToolbarTitle})\n","import DtoUpdate from './DtoUpdate'\r\nimport flatten from '@/helpers/ArrayFlatten'\r\n\r\nexport default class Lineup {\r\n id = 0\r\n name = null\r\n _type = null\r\n teamId = null\r\n positions = []\r\n applyAll = false\r\n\r\n constructor (dto) {\r\n if (dto) {\r\n this.update(dto)\r\n }\r\n }\r\n\r\n update (dto) {\r\n if (typeof dto === 'string') dto = JSON.parse(dto)\r\n const exclude = ['positions']\r\n DtoUpdate(dto, this, exclude)\r\n\r\n if (dto.positions) {\r\n this.positions = dto.positions\r\n }\r\n\r\n // this.ensurePositions()\r\n }\r\n\r\n get type () {\r\n return this._type\r\n }\r\n\r\n set type (val) {\r\n this._type = (val || 'lineups-dual-1')\r\n this.initPostions()\r\n }\r\n\r\n initPostions () {\r\n if (this.type.startsWith('lineups-dual-')) {\r\n const pairs = +this.type.replace('lineups-dual-', '')\r\n this.positions = [...Array(pairs).keys()].map(i => {\r\n return {\r\n type: 'dual',\r\n n: ++i,\r\n players: []\r\n }\r\n })\r\n }\r\n }\r\n\r\n ensurePositions () {\r\n if (this.type.startsWith('lineups-dual-')) {\r\n const pairs = +this.type.replace('lineups-dual-', '')\r\n let i = 0\r\n for (i = 1; i <= pairs; i++) {\r\n const x = this.positions.find(f => f.type === 'dual' && f.n === i)\r\n if (!x) {\r\n console.log('missing position')\r\n this.positions.push({\r\n type: 'dual',\r\n n: i,\r\n players: []\r\n })\r\n }\r\n }\r\n\r\n for (i = 1; i <= 6; i++) {\r\n const x = this.positions.find(f => f.type === 'alt' && f.n === i)\r\n if (!x) {\r\n this.positions.push({\r\n type: 'alt',\r\n n: i,\r\n players: []\r\n })\r\n }\r\n }\r\n\r\n for (i = 1; i <= 6; i++) {\r\n const x = this.positions.find(f => f.type === 'removed' && f.n === i)\r\n if (!x) {\r\n this.positions.push({\r\n type: 'removed',\r\n n: i,\r\n players: []\r\n })\r\n }\r\n }\r\n }\r\n }\r\n\r\n get starters () {\r\n return this.positions.filter(f => f.type === 'dual')\r\n }\r\n\r\n get alternates () {\r\n return this.positions.filter(f => f.type === 'alt')\r\n }\r\n\r\n get removedPlayers () {\r\n return this.positions.filter(f => f.type === 'removed')\r\n }\r\n\r\n get valid () {\r\n return this.name && this.type && this.starters.filter(f => f.players.length !== 2).length === 0\r\n }\r\n\r\n get dto () {\r\n return {\r\n id: this.id,\r\n name: this.name,\r\n type: this.type,\r\n positions: this.positions,\r\n teamId: this.teamId,\r\n applyAll: this.applyAll\r\n }\r\n }\r\n\r\n get players () {\r\n return flatten(this.positions.map(m => m.players))\r\n }\r\n\r\n get playersNeeded () {\r\n let n = 0\r\n this.positions.filter(f => ['dual'].includes(f.type)).forEach(p => {\r\n n = n + (p.type === 'dual' ? 2 : 1)\r\n })\r\n return n\r\n }\r\n\r\n removePosition (p) {\r\n const a = JSON.stringify(p)\r\n this.positions = this.positions.filter(f => JSON.stringify(f) !== a)\r\n }\r\n}\r\n"],"sourceRoot":""}