{"version":3,"sources":["webpack:///./src/mixins/HistoryFunctions.js","webpack:///./src/components/Plays/Plays.vue?d078","webpack:///./src/components/Plays/Plays.vue?7665","webpack:///src/components/Plays/Plays.vue","webpack:///./src/components/Plays/Plays.vue?fb0a","webpack:///./src/components/Plays/Plays.vue"],"names":["methods","readableDate","date","toLocaleDateString","year","month","day","gameName","gameId","this","$root","$data","shelf","find","game","id","name","gameImageSrc","images","medium","idToMember","memberId","$store","getters","member","playWinnerMember","membersId","type","ifBoardWon","enumGameType","CO_OP","winners","Array","isArray","forEach","personId","push","members","length","fullName","numPlayers","playersId","gameType","typeEnum","POINTS","HIGH_WINS","LOW_WINS","RANKED","VS_BOARD","playerRankings","ids","play","result","i","points","getPoints","render","_vm","_h","$createElement","_c","_self","_v","staticClass","attrs","loadingPlays","_e","model","value","callback","$$v","search","expression","computedHeaders","plays","on","handleClick","$vuetify","breakpoint","xsOnly","dialog","$event","staticRenderFns","components","PlayDetails","RingLoader","mixins","HistoryFunctions","data","detailPlay","headers","computed","filter","component","VBtn","VCardTitle","VCard","VContainer","VDataTable","VDialog","VFabTransition","VIcon","VRow","VSpacer","VTextField"],"mappings":"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","file":"js/chunk-6d5579c8.3e18d1a2.js","sourcesContent":["export default {\n methods: {\n readableDate(date) {\n return date.toLocaleDateString(\"en-US\", {\n year: \"2-digit\",\n month: \"2-digit\",\n day: \"2-digit\",\n });\n },\n gameName(gameId) {\n // console.log(gameId);\n return this.$root.$data.shelf.find((game) => {\n return game.id === gameId;\n }).name;\n },\n gameImageSrc(gameId) {\n return this.$root.$data.shelf.find((game) => {\n return game.id === gameId;\n }).images.medium;\n },\n // idToMember(personId) {\n // return this.$root.$data.members.find((member) => {\n // return member._id === personId;\n // });\n // },\n idToMember(memberId) {\n return this.$store.getters[\"members/members\"].find((member) => {\n return member.id === memberId;\n });\n },\n playWinnerMember(membersId, type, ifBoardWon) {\n if (type === this.$root.$data.enumGameType.CO_OP) {\n if (ifBoardWon) {\n return \"The Board\";\n } else {\n return \"The Group\";\n }\n } else {\n let winners = [];\n\n // If there are multiple winners in their own sub-array, break it out just into its elements // don't know if necessary since I think I fixed it in RecordDetails.vue\n if (Array.isArray(membersId[0])) {\n membersId = [...membersId[0]];\n }\n\n // For each ID value in the play.winnerId array, find the corresponding member object\n // and add it to the winners array just declared\n membersId.forEach((personId) => {\n winners.push(\n this.$root.$data.members.find((member) => {\n return member.id === personId;\n })\n );\n });\n\n if (winners.length > 1 || Array.isArray(winners[0])) {\n return \"Multiple\";\n } else {\n return winners[0].fullName;\n }\n }\n },\n numPlayers(playersId) {\n return playersId.length;\n },\n gameType(typeEnum) {\n switch (typeEnum) {\n case this.$root.$data.enumGameType.POINTS.HIGH_WINS:\n return \"Points (highest wins)\";\n case this.$root.$data.enumGameType.POINTS.LOW_WINS:\n return \"Points (lowest wins)\";\n case this.$root.$data.enumGameType.RANKED:\n return \"Ranked\";\n case this.$root.$data.enumGameType.VS_BOARD:\n return \"Group vs Board\";\n }\n },\n playerRankings(ids, play) {\n //If there isn't a tie for first\n if (!Array.isArray(ids)) {\n let result = this.idToMember(ids).fullName;\n if (\n play.type === this.$root.$data.enumGameType.POINTS.HIGH_WINS ||\n play.type === this.$root.$data.enumGameType.POINTS.LOW_WINS\n ) {\n result += \": \" + play.points[ids] + \" pts\";\n }\n return result;\n } else {\n \n // // If there are multiple members in their own sub-array, break it out just into its elements\n // if (Array.isArray(ids[0])) {\n // ids = [...ids[0]];\n // }\n \n let result = this.idToMember(ids[0]).fullName;\n for (let i = 1; i < ids.length; i++) {\n result += \", \" + this.idToMember(ids[i]).fullName;\n }\n if (play.type === this.$root.$data.enumGameType.POINTS.HIGH_WINS || play.type === this.$root.$data.enumGameType.POINTS\n .LOW_WINS) {\n // console.log(result);\n result += \": \" + play.points[ids[0]] + \" pts\";\n }\n return result;\n }\n },\n getPoints(play, id) {\n return play.points[id];\n },\n\n //Thanks to https://medium.com/@ziyoshams/deep-copying-javascript-arrays-4d5fc45a6e3e\n // set up a function that iterates through a given array\n // if one of the elements is an array, call itself with that element\n // if elements of the array is an object, we make sure to take care of that too.\n // deepCopy(arr) {\n // let copy = [];\n // arr.forEach(elem => {\n // if (Array.isArray(elem)) {\n // copy.push(this.deepCopy(elem))\n // } else {\n // if (typeof elem === 'object') {\n // copy.push(this.deepCopyObject(elem))\n // } else {\n // copy.push(elem)\n // }\n // }\n // })\n // return copy;\n // },\n // // Helper function to deal with Objects\n // deepCopyObject(obj) {\n // let tempObj = {};\n // for (let [key, value] of Object.entries(obj)) {\n // if (Array.isArray(value)) {\n // tempObj[key] = this.deepCopy(value);\n // } \n // // Adding this didn't do it...\n // // else if (obj instanceof Date) {\n // // tempObj[key] = (new Date(obj));\n // // }\n // else {\n // if (typeof value === 'object') {\n // tempObj[key] = this.deepCopyObject(value);\n // } else {\n // tempObj[key] = value\n // }\n // }\n // }\n // return tempObj;\n // }\n }\n}","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Plays.vue?vue&type=style&index=0&id=683ce774&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-container',[_c('v-row',[_c('h1',[_vm._v(\"Play History\")]),_c('v-spacer'),_c('v-btn',{staticClass:\"hidden-xs-only my-auto\",attrs:{\"color\":\"secondary\",\"rounded\":\"\",\"to\":\"record\"}},[_c('v-icon',[_vm._v(\"mdi-plus\")]),_vm._v(\" Record Play \")],1),_c('v-fab-transition',[_c('v-btn',{staticClass:\"d-sm-none fab-mobile\",attrs:{\"color\":\"secondary\",\"fab\":\"\",\"fixed\":\"\",\"to\":\"record\"}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1)],1)],1)],1),(_vm.loadingPlays)?_c('div',{staticClass:\"d-flex loader-container\"},[_c('RingLoader',{staticClass:\"my-auto mx-auto\",attrs:{\"loading\":_vm.loadingPlays,\"color\":\"#3949ab\",\"size\":200}})],1):_vm._e(),(!_vm.loadingPlays)?_c('div',[_c('v-card-title',[_c('v-text-field',{attrs:{\"prepend-inner-icon\":\"mdi-magnify\",\"clearable\":\"\",\"label\":\"Search\",\"single-line\":\"\",\"hide-details\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-data-table',{staticClass:\"margin-bottom-for-fab\",attrs:{\"headers\":_vm.computedHeaders,\"items\":_vm.plays,\"search\":_vm.search,\"mobile-breakpoint\":\"\",\"no-data-text\":\"You have no recorded plays... yet!\",\"no-results-text\":\"Nothing found... try searching someting else?\"},on:{\"click:row\":_vm.handleClick}})],1):_vm._e(),_c('v-dialog',{attrs:{\"max-width\":\"550px\",\"scrollable\":\"\",\"fullscreen\":_vm.$vuetify.breakpoint.xsOnly,\"transition\":\"dialog-bottom-transition\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('PlayDetails',{on:{\"close-modal\":function($event){_vm.dialog = false}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n Play History
\n \n\n \n \n mdi-plus\n Record Play\n \n\n \n \n \n mdi-plus\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","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../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!./Plays.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../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!./Plays.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Plays.vue?vue&type=template&id=683ce774&scoped=true&\"\nimport script from \"./Plays.vue?vue&type=script&lang=js&\"\nexport * from \"./Plays.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Plays.vue?vue&type=style&index=0&id=683ce774&scoped=true&lang=css&\"\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 \"683ce774\",\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 { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFabTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCardTitle,VContainer,VDataTable,VDialog,VFabTransition,VIcon,VRow,VSpacer,VTextField})\n"],"sourceRoot":""}