{"version":3,"sources":["webpack:///./src/config/presence-items.ts","webpack:///./src/config/wow/armor-types.ts","webpack:///./src/api/compositions.ts","webpack:///../../../src/mixins/button-group/index.ts","webpack:///../../../src/components/VBtnToggle/VBtnToggle.ts","webpack:///./src/components/_global/DataFetcher.vue?0fc9","webpack:///./src/components/_global/DataFetcher.vue?77e7","webpack:///./src/components/_global/DataFetcher.vue","webpack:///./src/components/_global/DataFetcher.vue?6448","webpack:///./src/components/_global/DataFetcher.vue?d9b7","webpack:///./src/components/composition/SignupsViewPage.vue?3c58","webpack:///./src/components/composition/components/PresenceItem.vue?9537","webpack:///./src/components/composition/components/PresenceItem.vue","webpack:///./src/components/composition/components/PresenceItem.vue?fa0a","webpack:///./src/components/composition/components/PresenceItem.vue?a238","webpack:///./src/components/composition/SignupsViewPage.vue","webpack:///./src/components/composition/SignupsViewPage.vue?6d09","webpack:///./src/components/composition/SignupsViewPage.vue?49ee"],"names":["signupStates","UNKNOWN","ACCEPTED","TENTATIVE","DECLINED","presenceItems","id","icon","color","name","selectable","type","classes","fetchCompositions","teamID","month","year","get","data","fetchCompositionGroup","compositionGroupID","withSignups","withCompositions","withUnknownSignups","arrayFields","push","join","createComposition","payload","post","editComposition","put","copyComposition","compositionToCopyID","destinationDate","deleteCompositionGroup","delete","saveAll","compositionGroup","setSignupState","broadcastToDiscord","compositionID","togglePublished","patch","toggleLocked","provide","btnToggle","this","computed","methods","genData","mixins","props","backgroundColor","borderless","dense","group","rounded","shaped","tile","Boolean","themeClasses","setTextColor","setBackgroundColor","render","_vm","_h","$createElement","_c","_self","_t","_v","attrs","loading","silentLoading","on","handleLoad","_s","hideLoading","staticClass","staticRenderFns","useSilentLoading","handleSecondaryLoad","$emit","fetchData","error","secondaryFetchData","Function","required","default","component","$route","params","fetchCurrentCompositionGroup","scopedSlots","_u","key","fn","ref","_g","isLocked","$t","isLoading","handleToggleLockedButtonClick","showOptions","handleToggleShowUnknownsClick","_e","filter","x","item","model","value","callback","$$v","$set","expression","isPayloadValid","handleSubmitClick","_l","presenceItem","activeSignups","signupState","length","$vuetify","theme","dark","signups","headers","page","$event","pageCount","characters","character","k","style","class","imageLinks","thumbnailClass","roles","role","iconRole","battleTag","find","staticStyle","getLocaleStringFromDateStringWithOptions","lastStateChangedDate","day","hour","minute","hour12","comment","timeZoneName","split","slice","VIcon","defaultSignupPayload","characterID","teamModule","includes","text","align","sortable","hasPermission","MANAGE_COMPOSITIONS","compositions","showUnknowns","mySignup","$snackbar","openInfo","handleAPIError","State","components","DataFetcher","PresenceItem","GroupCard","VAvatar","VBtn","VBtnToggle","VCard","VCardText","VChip","VCol","VContainer","VDataTable","VFlex","VImg","VRow","VSelect","VSwitch","VTextField","VTooltip"],"mappings":"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","file":"dist/js/chunk-f7e85408.b60762be.js","sourcesContent":["export const signupStates = {\n\tUNKNOWN: 0,\n\tACCEPTED: 1,\n\tTENTATIVE: 2,\n\tDECLINED: 3\n};\n\nexport interface PresenceItem {\n\tid: number;\n\ticon: string;\n\tcolor: string;\n\tname: string;\n\tselectable: boolean;\n};\n\nconst presenceItems: PresenceItem[] = [\n\t{\n\t\tid: signupStates.ACCEPTED,\n\t\ticon: \"fas fa-check\",\n\t\tcolor: \"success\",\n\t\tname: \"composition.state[1]\",\n\t\tselectable: true\n\t},\n\t{\n\t\tid: signupStates.TENTATIVE,\n\t\ticon: \"fas fa-question\",\n\t\tcolor: \"warning\",\n\t\tname: \"composition.state[2]\",\n\t\tselectable: true\n\t},\n\t{\n\t\tid: signupStates.DECLINED,\n\t\ticon: \"fas fa-times\",\n\t\tcolor: \"error\",\n\t\tname: \"composition.state[3]\",\n\t\tselectable: true\n\t},\n\t{\n\t\tid: signupStates.UNKNOWN,\n\t\ticon: \"fas fa-question\",\n\t\tcolor: \"grey lighten-1\",\n\t\tname: \"composition.state[0]\",\n\t\tselectable: false\n\t}\n];\n\nexport default presenceItems;","export default [{\n\ttype: \"Cloth\",\n\tclasses: [8, 5, 9]\n}, {\n\ttype: \"Leather\",\n\tclasses: [4, 11, 10, 12]\n}, {\n\ttype: \"Mail\",\n\tclasses: [7, 3, 13]\n}, {\n\ttype: \"Plate\",\n\tclasses: [1, 2, 6]\n}];","import axios from \"@/utils/axios\";\nimport { GetOneCompositionGroupResponse } from \"@/api/compositions/get-one-composition-group.response\";\nimport { Guid } from \"@/domain/guid\";\nimport { GetCompositionGroupsResponse } from \"@/api/compositions/get-composition-groups.response\";\nimport { CreateCompositionGroupRequest } from \"@/api/compositions/create-composition-group.request\";\nimport { SetSignupStateRequest } from \"@/api/compositions/set-signup-state.request\";\n\nexport default {\n\tasync fetchCompositions(teamID: Guid, month: number, year: number): Promise {\n\t\treturn (await axios().get(`/compositions?month=${month}&year=${year}&teamID=${teamID}`)).data;\n\t},\n\tasync fetchCompositionGroup(\n\t\tcompositionGroupID: Guid,\n\t\twithSignups = false,\n\t\twithCompositions = false,\n\t\twithUnknownSignups = false\n\t): Promise {\n\t\t\n\t\tconst arrayFields: string[] = [];\n\t\tif (withSignups) {\n\t\t\tarrayFields.push(\"signups\");\n\t\t}\n\t\tif (withCompositions) {\n\t\t\tarrayFields.push(\"compositions\");\n\t\t}\n\t\tif (withUnknownSignups) {\n\t\t\tarrayFields.push(\"signups-unknown\");\n\t\t}\n\t\treturn (await axios().get(`/compositions/${compositionGroupID}?fields=${arrayFields.join(\",\")}`)).data;\n\t},\n\tasync createComposition(teamID: Guid, payload: CreateCompositionGroupRequest): Promise {\n\t\treturn (await axios().post(`/compositions/create?teamID=${teamID}`, payload)).data;\n\t},\n\tasync editComposition(compositionGroupID: Guid, payload: any): Promise {\n\t\treturn (await axios().put(`/compositions/${compositionGroupID}/meta`, payload)).data;\n\t},\n\tasync copyComposition(compositionToCopyID: Guid, destinationDate: string): Promise {\n\t\treturn (await axios().post(`/compositions/copy/${compositionToCopyID}/${destinationDate}`)).data;\n\t},\n\tasync deleteCompositionGroup(compositionGroupID: Guid): Promise {\n\t\treturn (await axios().delete(`/compositions/${compositionGroupID}`)).data;\n\t},\n\tasync saveAll(compositionGroup: any): Promise {\n\t\treturn (await axios().put(`/compositions/${compositionGroup.id}`, compositionGroup)).data;\n\t},\n\tasync setSignupState(compositionGroupID: Guid, payload: SetSignupStateRequest): Promise {\n\t\treturn (await axios().post(`/compositions/setSignupState/${compositionGroupID}`, payload)).data;\n\t},\n\tasync broadcastToDiscord(compositionID: Guid): Promise {\n\t\treturn (await axios().post(`/compositions/composition/${compositionID}/discord`)).data;\n\t},\n\tasync togglePublished(compositionGroupID: Guid): Promise {\n\t\treturn (await axios().patch(`/compositions/${compositionGroupID}/togglePublished`)).data;\n\t},\n\tasync toggleLocked(compositionGroupID: Guid): Promise {\n\t\treturn (await axios().patch(`/compositions/${compositionGroupID}/toggleLocked`)).data;\n\t},\n};","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","// Styles\nimport './VBtnToggle.sass'\n\n// Mixins\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n ButtonGroup,\n Colorable\n).extend({\n name: 'v-btn-toggle',\n\n props: {\n backgroundColor: String,\n borderless: Boolean,\n dense: Boolean,\n group: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...ButtonGroup.options.computed.classes.call(this),\n 'v-btn-toggle': true,\n 'v-btn-toggle--borderless': this.borderless,\n 'v-btn-toggle--dense': this.dense,\n 'v-btn-toggle--group': this.group,\n 'v-btn-toggle--rounded': this.rounded,\n 'v-btn-toggle--shaped': this.shaped,\n 'v-btn-toggle--tile': this.tile,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genData () {\n const data = this.setTextColor(this.color, {\n ...ButtonGroup.options.methods.genData.call(this),\n })\n\n if (this.group) return data\n\n return this.setBackgroundColor(this.backgroundColor, data)\n },\n },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/index.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!./DataFetcher.vue?vue&type=style&index=0&id=452e8cc9&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.error)?_c('div',[_vm._t(\"message\",function(){return [_c('p',[_vm._v(\"Something went wrong. Please try again.\")])]}),_c('button',{attrs:{\"disabled\":_vm.loading || _vm.silentLoading},on:{\"click\":_vm.handleLoad}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.loading ? \"Retrying...\" : \"Retry\")+\"\\n\\t\")])],2):(_vm.loading && !_vm.silentLoading && !_vm.hideLoading)?_c('div',{staticClass:\"fill-height\"},[_c('app-loading')],1):_c('div',{staticClass:\"fill-height\"},[_vm._t(\"default\")],2)}\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\nimport { Vue, Component, Prop, Watch } from \"vue-property-decorator\";\n\n@Component\nexport default class DataFetcher extends Vue {\n\t@Prop() id?: string; // ID passed as a prop (from route)\n\n\t@Prop({\n\t\ttype: Function,\n\t\trequired: true\n\t})\n\treadonly fetchData!: () => Promise;\n\n\t@Prop({\n\t\ttype: Function,\n\t\trequired: false\n\t})\n\treadonly secondaryFetchData?: () => Promise;\n\n\t@Prop({\n\t\ttype: Boolean,\n\t\trequired: false,\n\t\tdefault: false\n\t})\n\treadonly useSilentLoading!: boolean;\n\n\t@Prop({\n\t\ttype: Boolean,\n\t\trequired: false,\n\t\tdefault: false\n\t})\n\treadonly hideLoading!: boolean;\n\n\tloading = false;\n\tsilentLoading = false;\n\terror = false;\n\n\tasync created() {\n\t\tawait this.handleLoad();\n\t}\n\n\n\t// Watch for route param changes (id change)\n\t@Watch(\"id\")\n\tasync onIdChange() {\n\t\tif (this.useSilentLoading) {\n\t\t\tthis.silentLoading = true;\n\t\t}\n\t\tawait this.handleSecondaryLoad();\n\t}\n\n\tasync handleLoad() {\n\t\tthis.loading = true;\n\t\tthis.$emit(\"update:isLoading\", this.loading);\n\n\t\ttry {\n\t\t\tawait this.fetchData();\n\t\t\tthis.error = false;\n\t\t} catch (error) {\n\t\t\tthis.error = true;\n\t\t}\n\t\tthis.loading = false;\n\t\tthis.$emit(\"update:isLoading\", this.loading);\n\n\t\tthis.silentLoading = false;\n\t}\n\n\tasync handleSecondaryLoad() {\n\t\tthis.loading = true;\n\t\tthis.$emit(\"update:isLoading\", this.loading);\n\n\t\ttry {\n\t\t\tif (this.secondaryFetchData) {\n\t\t\t\tawait this.secondaryFetchData();\n\t\t\t}\n\t\t\telse {\n\t\t\t\tawait this.fetchData();\n\t\t\t}\n\t\t\tthis.error = false;\n\t\t} catch (error) {\n\t\t\tthis.error = true;\n\t\t}\n\t\tthis.loading = false;\n\t\tthis.$emit(\"update:isLoading\", this.loading);\n\n\t\tthis.silentLoading = false;\n\t}\n}\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!./DataFetcher.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!./DataFetcher.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DataFetcher.vue?vue&type=template&id=452e8cc9&scoped=true&\"\nimport script from \"./DataFetcher.vue?vue&type=script&lang=ts&\"\nexport * from \"./DataFetcher.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DataFetcher.vue?vue&type=style&index=0&id=452e8cc9&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 \"452e8cc9\",\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('data-fetcher',{attrs:{\"id\":_vm.$route.params.id,\"fetch-data\":_vm.fetchCurrentCompositionGroup}},[(_vm.compositionGroup != null)?_c('v-container',{attrs:{\"fluid\":\"\",\"pa-0\":\"\",\"ma-0\":\"\"}},[(_vm.canManageCompositions)?_c('v-row',{staticClass:\"mt-0\",attrs:{\"justify\":\"end\"}},[_c('div',{staticClass:\"d-flex gap-6 mx-3 align-center\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-switch',{staticClass:\"mt-0 pt-0\",attrs:{\"input-value\":_vm.compositionGroup.isLocked,\"label\":_vm.$t('composition.locked'),\"loading\":_vm.isLoading,\"disabled\":_vm.isLoading,\"inset\":\"\",\"dense\":\"\",\"hide-details\":\"\"},on:{\"change\":_vm.handleToggleLockedButtonClick}})],1)]}}],null,false,1994349493)},[_c('span',[_vm._v(_vm._s(_vm.$t('composition.tooltip_locked')))])]),_c('v-btn-toggle',{attrs:{\"value\":_vm.showOptions,\"dense\":\"\",\"multiple\":\"\"},on:{\"change\":_vm.handleToggleShowUnknownsClick}},[_c('v-btn',{attrs:{\"disabled\":_vm.isLoading}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-icon',[_vm._v(\"checklist\")])],1)]}}],null,false,499485755)},[_c('span',[_vm._v(_vm._s(_vm.$t('composition.show_unknowns')))])])],1)],1)],1)]):_vm._e(),_c('v-row',[_c('v-col',[_c('v-card',[_c('v-card-text',{staticClass:\"pa-3\"},[(!_vm.compositionGroup.isLocked)?_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-select',{attrs:{\"items\":_vm.presenceItems.filter(function (x) { return x.selectable; }),\"label\":_vm.$t('composition.presence'),\"dense\":\"\",\"outlined\":\"\",\"item-value\":\"id\",\"hide-details\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"d-flex align-center\"},[(item.icon)?_c('v-flex',{staticClass:\"pa-2\"},[_c('v-icon',{attrs:{\"color\":item.color,\"small\":\"\"}},[_vm._v(_vm._s(item.icon))])],1):_vm._e(),_c('v-flex',{staticClass:\"pa-0\"},[_vm._v(_vm._s(_vm.$t(item.name)))])],1)]}},{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"d-flex align-center\"},[(item.icon)?_c('v-flex',{staticClass:\"px-2 py-1\"},[_c('v-icon',{attrs:{\"color\":item.color,\"small\":\"\"}},[_vm._v(_vm._s(item.icon))])],1):_vm._e(),_c('v-flex',{staticClass:\"pa-0\"},[_vm._v(_vm._s(_vm.$t(item.name)))])],1)]}}],null,false,1181217392),model:{value:(_vm.payload.signupState),callback:function ($$v) {_vm.$set(_vm.payload, \"signupState\", $$v)},expression:\"payload.signupState\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('composition.comment'),\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"maxlength\":\"100\"},model:{value:(_vm.payload.comment),callback:function ($$v) {_vm.$set(_vm.payload, \"comment\", $$v)},expression:\"payload.comment\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"1\"}},[_c('v-btn',{attrs:{\"loading\":_vm.isLoading,\"disabled\":_vm.isLoading || !_vm.isPayloadValid,\"block\":\"\",\"depressed\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.handleSubmitClick}},[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.$t(\"composition.submit_signup\"))+\"\\n\\t\\t\\t\\t\\t\\t\\t\\t\")])],1)],1):_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-icon',{staticClass:\"pr-2\"},[_vm._v(\"lock\")]),_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\\tThis event is locked.\\n\\t\\t\\t\\t\\t\\t\\t\")],1)],1)],1)],1)],1)],1),(_vm.activeSignups)?_c('v-row',{attrs:{\"justify\":\"center\"}},[_c('div',{staticClass:\"d-flex gap-2 flex-wrap justify-center\"},[_vm._l((_vm.presenceItems),function(presenceItem){return [(_vm.activeSignups.filter(function (x) { return x.signupState == presenceItem.id; }).length > 0)?_c('v-chip',{key:(\"pi-\" + (presenceItem.id)),attrs:{\"color\":presenceItem.color,\"outlined\":_vm.$vuetify.theme.dark,\"label\":\"\"}},[_c('v-avatar',{attrs:{\"left\":\"\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(_vm._s(presenceItem.icon))])],1),_vm._v(\"\\n\\n\\t\\t\\t\\t\\t\\t\"+_vm._s(_vm.$t(presenceItem.name))+\": \"+_vm._s(_vm.activeSignups.filter(function (x) { return x.signupState == presenceItem.id; }).length)+\"\\n\\t\\t\\t\\t\\t\")],1):_vm._e()]})],2)]):_vm._e(),(_vm.activeSignups)?_c('v-row',[_c('v-col',[(_vm.compositionGroup.signups && _vm.activeSignups.length > 0)?_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.activeSignups,\"items-per-page\":100,\"mobile-breakpoint\":0,\"page\":_vm.page,\"hide-default-footer\":\"\",\"dense\":\"\",\"sort-by\":\"lastStateChangedDate\",\"sort-desc\":\"\"},on:{\"update:page\":function($event){_vm.page=$event},\"page-count\":function($event){_vm.pageCount = $event}},scopedSlots:_vm._u([{key:\"item.characters\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.characters.length > 0)?_vm._l((item.characters),function(character,k){return _c('v-chip',{key:(k + \"-\" + (item.id) + \"-\" + (character.id)),staticClass:\"mr-2\",style:({'white-space': 'nowrap', 'border':0, 'padding':'18px'}),attrs:{\"color\":_vm.classes[character.class].color,\"outlined\":_vm.$vuetify.theme.dark,\"label\":\"\"}},[_c('v-avatar',{attrs:{\"left\":\"\"}},[_c('v-img',{attrs:{\"src\":_vm.imageLinks.thumbnailClass(character.class)}})],1),(character.roles != null)?_vm._l((character.roles),function(role){return _c('v-avatar',{key:((item.id) + \"-\" + (character.id) + \"-\" + role),attrs:{\"left\":\"\"}},[_c('v-img',{attrs:{\"src\":_vm.imageLinks.iconRole(role)}})],1)}):_vm._e(),_vm._v(\"\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(character.name)+\"\\n\\t\\t\\t\\t\\t\\t\\t\")],2)}):[_vm._v(\"\\n\\t\\t\\t\\t\\t\\t\\t\"+_vm._s(item.battleTag)+\"\\n\\t\\t\\t\\t\\t\\t\")]]}},{key:\"item.signupState\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('presence-item',{attrs:{\"presence-item\":_vm.presenceItems.find(function (x) { return x.id === item.signupState; })}})]}},{key:\"item.lastStateChangedDate\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.lastStateChangedDate)?_c('span',{staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(_vm.getLocaleStringFromDateStringWithOptions(item.lastStateChangedDate, {\n\t\t\t\t\t\t\t\tyear: \"numeric\",\n\t\t\t\t\t\t\t\tmonth: \"long\",\n\t\t\t\t\t\t\t\tday: \"numeric\",\n\t\t\t\t\t\t\t\thour: \"numeric\",\n\t\t\t\t\t\t\t\tminute: \"numeric\",\n\t\t\t\t\t\t\t\thour12: false\n\t\t\t\t\t\t\t}, 'en-US')))]):_vm._e()]}},{key:\"item.comment\",fn:function(ref){\n\t\t\t\t\t\t\tvar item = ref.item;\nreturn [_c('span',{staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(item.comment))])]}}],null,false,1187153906)}):_vm._e()],1)],1):_vm._e(),(_vm.activeSignups && _vm.activeSignups.length > 0 && _vm.activeSignups[0].lastStateChangedDate)?_c('v-row',{staticClass:\"ma-3\",attrs:{\"justify\":\"end\"}},[_vm._v(\"\\n\\t\\t\\tTime zone: \"+_vm._s(_vm.getLocaleStringFromDateStringWithOptions(_vm.activeSignups[0].lastStateChangedDate, {timeZoneName: \"short\"}, 'en-US').split(' ').slice(-1)[0])+\"\\n\\t\\t\")]):_vm._e()],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex align-center\"},[(_vm.presenceItem.icon)?_c('div',{staticClass:\"pa-2\"},[_c('v-icon',{attrs:{\"color\":_vm.presenceItem.color,\"small\":\"\"}},[_vm._v(_vm._s(_vm.presenceItem.icon))])],1):_vm._e(),_vm._v(\"\\n\\t\"+_vm._s(_vm.$t(_vm.presenceItem.name))+\"\\n\")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\nimport Vue from \"vue\";\nimport { Prop, Component } from \"vue-property-decorator\";\n\ninterface PresenceItemInterface {\n\ticon: string;\n\tname: string;\n\tcolor: string;\n}\n\n@Component\nexport default class PresenceItem extends Vue {\n\t@Prop()\n\tpresenceItem!: PresenceItemInterface;\n}\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!./PresenceItem.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!./PresenceItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PresenceItem.vue?vue&type=template&id=3b83a68a&\"\nimport script from \"./PresenceItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./PresenceItem.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 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 { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\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\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\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\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\nimport { Component, Vue } from \"vue-property-decorator\";\nimport { namespace } from \"vuex-class\";\n\n/**\n * Utils\n */\nimport classes from \"@/config/wow/classes\";\nimport * as externalLinks from \"@/config/external-links\";\nimport * as imageLinks from \"@/config/image-links\";\nimport armorTypes from \"@/config/wow/armor-types\";\nimport { roles } from \"@/config/roles\";\nimport presenceItems from \"@/config/presence-items\";\n\nimport { getElegantDateString, getLocaleStringFromDateStringWithOptions } from \"@/utils/date-helpers\";\nimport { teamUrl } from \"@/utils/url-helpers\";\n\n\n/**\n * Components\n */\nimport GroupCard from \"@/components/_global/GroupCard.vue\";\nimport PresenceItem from \"@/components/composition/components/PresenceItem.vue\";\nimport DataFetcher from \"@/components/_global/DataFetcher.vue\";\n\n\n/**\n * API\n */\nimport compositionsAPI from \"@/api/compositions\";\nimport { GetOneCompositionGroupResponse } from \"@/api/compositions/get-one-composition-group.response\";\nimport { GetOneTeamResponse } from \"@/api/teams/get-one-team.response\";\nimport { Guid } from \"@/domain/guid\";\nimport { SignupState } from \"@/api/compositions/signup-state\";\n\n\nexport interface SetSignupStateForm {\n\tsignupState: SignupState | null;\n\tcharacterID: Guid | null;\n\tcomment: string | null;\n\trole: string | null;\n}\n\nconst defaultSignupPayload: SetSignupStateForm = {\n\tsignupState: null,\n\tcharacterID: null,\n\tcomment: \"\",\n\trole: null\n};\n\n/**\n * VueX Modules\n */\nconst teamModule = namespace(\"team\");\n\n/**\n * Signups' view page.\n */\n@Component({\n\tcomponents: {\n\t\tDataFetcher,\n\t\tPresenceItem,\n\t\tGroupCard\n\t}\n})\nexport default class SignupsViewPage extends Vue {\n\t/// Injections\n\tclasses = classes;\n\texternalLinks = externalLinks;\n\timageLinks = imageLinks;\n\tarmorTypes = armorTypes;\n\tgetElegantDateString = getElegantDateString;\n\tgetLocaleStringFromDateStringWithOptions = getLocaleStringFromDateStringWithOptions;\n\n\tteamUrl = teamUrl;\n\n\tpresenceItems = presenceItems;\n\n\t/// Props\n\n\t/// Attributes\n\tisLoading = false;\n\tcompositionGroup: GetOneCompositionGroupResponse | null = null;\n\tpayload: SetSignupStateForm = {\n\t\t...defaultSignupPayload\n\t};\n\n\tshowOptions: number[] = [];\n\n\tget showUnknowns() {\n\t\treturn this.showOptions.includes(0);\n\t}\n\n\tget headers() {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttext: this.$t(\"composition.characters\"),\n\t\t\t\tvalue: \"characters\",\n\t\t\t\talign: \"left\",\n\t\t\t\tsortable: false\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this.$t(\"composition.presence\"),\n\t\t\t\tvalue: \"signupState\",\n\t\t\t\talign: \"left\",\n\t\t\t\tclass: \"collapsing\"\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this.$t(\"composition.lastStateChangedDate\"),\n\t\t\t\tvalue: \"lastStateChangedDate\",\n\t\t\t\talign: \"left\",\n\t\t\t\tclass: \"collapsing\"\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: this.$t(\"composition.comment\"),\n\t\t\t\tvalue: \"comment\",\n\t\t\t\talign: \"left\",\n\t\t\t\tclass: \"collapsing\"\n\t\t\t}\n\t\t];\n\t}\n\n\t// Pagination\n\tpage = 1;\n\tpageCount = 0;\n\n\tget activeSignups() {\n\t\treturn this.compositionGroup?.signups ?? null;\n\t}\n\n\n\t/// VueX Modules\n\t@teamModule.State(\"team\")\n\tcurrentTeam!: GetOneTeamResponse;\n\n\tget canManageCompositions() {\n\t\treturn this.hasPermission(roles.MANAGE_COMPOSITIONS);\n\t}\n\n\tget isPayloadValid() {\n\t\treturn this.payload.signupState != null;\n\t}\n\n\t/// Methods\n\tasync created() {\n\t}\n\n\tasync fetchCurrentCompositionGroup() {\n\t\tawait this.fetchCompositionGroup(this.$route.params.id);\n\t}\n\n\tasync fetchCompositionGroup(id: string) {\n\t\tthis.compositionGroup = await compositionsAPI.fetchCompositionGroup(id, true, false, this.showUnknowns);\n\t\tconst mySignup = this.compositionGroup.mySignup;\n\t\tif (mySignup) {\n\t\t\tthis.payload.signupState = mySignup.signupState;\n\t\t\tthis.payload.characterID = mySignup.character ? mySignup.character.id : null;\n\t\t\tthis.payload.comment = mySignup.comment;\n\t\t\tthis.payload.role = mySignup.role;\n\t\t}\n\t\telse {\n\t\t\tthis.payload = {\n\t\t\t\t...defaultSignupPayload\n\t\t\t};\n\t\t}\n\t}\n\n\tasync handleSubmitClick() {\n\t\tif (this.compositionGroup == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.payload.signupState == null) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.isLoading = true;\n\t\ttry {\n\t\t\tawait compositionsAPI.setSignupState(this.compositionGroup.id, {\n\t\t\t\tsignupState: this.payload.signupState,\n\t\t\t\tcharacterID: this.payload.characterID,\n\t\t\t\tcomment: this.payload.comment,\n\t\t\t\trole: this.payload.role\n\t\t\t});\n\t\t\tawait this.fetchCurrentCompositionGroup();\n\t\t\tthis.$snackbar.openInfo(this.$t(\"snackbar.save_success\"));\n\t\t} catch (error) {\n\t\t\tthis.handleAPIError(error);\n\t\t}\n\t\tthis.isLoading = false;\n\t}\n\n\tasync handleToggleLockedButtonClick() {\n\t\tthis.isLoading = true;\n\t\ttry {\n\t\t\tif (this.compositionGroup != null) {\n\n\t\t\t\tawait compositionsAPI.toggleLocked(this.compositionGroup.id);\n\t\t\t\tawait this.fetchCurrentCompositionGroup();\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthis.handleAPIError(error);\n\t\t}\n\t\tthis.isLoading = false;\n\t}\n\n\tasync handleToggleShowUnknownsClick() {\n\t\tthis.isLoading = true;\n\t\ttry {\n\t\t\tif (this.compositionGroup != null) {\n\t\t\t\tif (this.showOptions.includes(0)) {\n\t\t\t\t\tthis.showOptions = this.showOptions.filter(x => x !== 0);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tthis.showOptions.push(0);\n\t\t\t\t}\n\t\t\t\tawait this.fetchCurrentCompositionGroup();\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthis.handleAPIError(error);\n\t\t}\n\t\tthis.isLoading = false;\n\t}\n}\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!./SignupsViewPage.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!./SignupsViewPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SignupsViewPage.vue?vue&type=template&id=018e5df4&\"\nimport script from \"./SignupsViewPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./SignupsViewPage.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 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 { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VFlex } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAvatar,VBtn,VBtnToggle,VCard,VCardText,VChip,VCol,VContainer,VDataTable,VFlex,VIcon,VImg,VRow,VSelect,VSwitch,VTextField,VTooltip})\n"],"sourceRoot":""}