{"version":3,"sources":["webpack:///./src/components/FixedFooter.vue","webpack:///./src/components/FixedFooter.vue?bb3e","webpack:///./src/components/FixedFooter.vue?c41f","webpack:///./src/mixins/FooterButtonsBuilder.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./src/components/FixedFooter.vue?54b2","webpack:///./src/mixins/LoadingMixin.ts","webpack:///./src/views/Partners/Partners.vue","webpack:///./src/views/Partners/Partners.vue?e376","webpack:///./src/views/Partners/Partners.vue?7561","webpack:///./src/services/PartnerService.ts"],"names":["class","buttons","button","index","key","handler","icon","iconPos","is-ltr-forward","text","name","props","type","Array","components","DirectionIndicator","render","__scopeId","FooterButtonsBuilder","footerButtons","language","getters","this","addClearButton","back","hasIcon","push","addPrimaryButton","next","_defineProperties","target","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_createClass","Constructor","protoProps","staticProps","prototype","_classCallCheck","instance","TypeError","execute","run","defaultMessage","create","spinner","present","cssClass","header","error","message","ok","toUpperCase","dismiss","executeWithoutSpinner","saveProgress","savingProgress","loading","fullscreen","partners","partner","mode","lines","id","editPartner","admins","admin","username","IonContent","IonPage","IonLabel","IonItem","FixedFooter","ionViewWillEnter","$store","dispatch","errors","gettingPartners","setup","store","router","params","value","addPartner","getPartners","getPartnersWithAdmins","getPartner","updatePartner","createPartner"],"mappings":"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","file":"js/chunk-18907c05.6846c827.js","sourcesContent":["\n\n\n\n","\n\nimport { FooterButton } from \"@/models/FooterButtonsModel\";\nimport {PropType} from 'vue'\nimport DirectionIndicator from \"@/components/DirectionIndicator.vue\";\n\nexport default {\n name: 'FixedFooter',\n props: {\n buttons: { \n type: Array as PropType>\n }\n },\n components: {\n DirectionIndicator\n }\n}\n","import { render } from \"./FixedFooter.vue?vue&type=template&id=aa50f4d0&scoped=true\"\nimport script from \"./FixedFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./FixedFooter.vue?vue&type=script&lang=ts\"\n\nimport \"./FixedFooter.vue?vue&type=style&index=0&id=aa50f4d0&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-aa50f4d0\"\n\nexport default script","import router from \"@/router\";\nimport {FooterButton} from \"@/models/FooterButtonsModel\";\nimport {store} from \"@/store/Store\";\n\nexport class FooterButtonsBuilder {\n footerButtons = [] as FooterButton[];\n class = 'custom-button';\n language = store.getters['app/language'];\n\n addClearBackButton(handler?: Function) {\n if(!handler){\n return this.addClearButton(true, () => router.back(), this.language.back);\n }\n return this.addClearButton(true, () => handler() , this.language.back);\n }\n\n addClearButton(hasIcon: boolean, handler: Function, text: string) {\n this.footerButtons.push({\n class: this.class + ' button-clear',\n icon: hasIcon,\n iconPos: 'start',\n handler: () => handler(),\n text: text\n })\n return this;\n }\n \n addPrimaryNextButton(handler: Function) {\n return this.addPrimaryButton(true, handler, this.language.next);\n }\n\n addPrimaryButton(hasIcon: boolean, handler: Function, text: string) {\n this.footerButtons.push({\n class: this.class + ' button-primary',\n icon: hasIcon,\n iconPos: 'end',\n handler: () => handler(),\n text: text\n })\n return this;\n }\n\n create() {\n return this.footerButtons;\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\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-v16/dist/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-v16/dist/index.js??ref--0-1!./FixedFooter.vue?vue&type=style&index=0&id=aa50f4d0&scoped=true&lang=css\"","import { presentNativeAlert } from '@/services/Notify';\nimport { loadingController } from \"@ionic/vue\";\nimport {store} from \"@/store/Store\";\n\nconst language = store.getters['app/language'];\n\nexport async function execute(run: () => Promise, defaultMessage = '') {\n const spinner = await loadingController.create({});\n try {\n await spinner.present();\n await run();\n } catch (e) {\n if (e && defaultMessage) {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.error,\n message: defaultMessage,\n buttons: [language.ok.toUpperCase()],\n });\n }\n } finally {\n await spinner.dismiss();\n }\n}\n\nexport async function executeWithoutSpinner(run: () => Promise, defaultMessage = '') {\n try {\n await run();\n } catch (e) {\n if (e && defaultMessage) {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.error,\n message: defaultMessage,\n buttons: [language.ok.toUpperCase()],\n });\n }\n }\n}\n\nexport async function saveProgress(run: Function) {\n const loading = await loadingController.create({\n message: language.savingProgress,\n });\n \n try {\n await loading.present();\n await run();\n }\n finally {\n await loading.dismiss();\n }\n}","\n\n\n\n","\nimport {computed, defineComponent, ref} from \"vue\";\nimport {\n IonContent,\n IonPage,\n IonLabel,\n IonItem\n} from \"@ionic/vue\";\nimport {execute} from \"@/mixins/LoadingMixin\";\nimport FixedFooter from \"@/components/FixedFooter.vue\";\nimport {useStore} from \"vuex\";\nimport {FooterButtonsBuilder} from \"@/mixins/FooterButtonsBuilder\";\nimport router from \"@/router\";\nimport DirectionIndicator from \"@/components/DirectionIndicator.vue\";\nimport {Partner} from \"@/models/PartnerModel\";\nimport {getPartnersWithAdmins} from \"@/services/PartnerService\";\n\nexport default defineComponent({\n name: \"Partners\",\n components: {\n DirectionIndicator,\n IonContent,\n IonPage,\n IonLabel,\n IonItem,\n FixedFooter\n },\n async ionViewWillEnter() {\n await this.$store.dispatch('app/setPageTitle', this.language.partners);\n await execute(async () => {\n this.partners = await getPartnersWithAdmins();\n }, this.language.errors.gettingPartners);\n },\n setup() {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const partners = ref([] as Partner[]);\n \n const editPartner = (id: string) => {\n router.push({ name: 'editPartner', params: { id: id }});\n }\n \n return {\n language,\n partners,\n editPartner,\n footerButtons: computed(() => \n new FooterButtonsBuilder()\n .addClearButton(false, () => router.push({ name: 'addPartner' }), language.value.addPartner)\n .create()\n )\n }\n }\n});\n","import { render } from \"./Partners.vue?vue&type=template&id=d3718ca6&scoped=true\"\nimport script from \"./Partners.vue?vue&type=script&lang=ts\"\nexport * from \"./Partners.vue?vue&type=script&lang=ts\"\nscript.render = render\nscript.__scopeId = \"data-v-d3718ca6\"\n\nexport default script","import {GET, POST, PUT} from './HTTP';\nimport {Partner} from \"@/models/PartnerModel\";\n\nexport function getPartners(): Promise{\n return GET('/partners');\n}\n\nexport function getPartnersWithAdmins(): Promise{\n return GET('/partners/admins');\n}\n\nexport function getPartner(id: string): Promise{\n return GET(`/partners/${id}`);\n}\n\nexport function updatePartner(partner: Partner): Promise{\n return PUT(`/partners/${partner.id}`, partner);\n}\n\nexport function createPartner(partner: Partner): Promise{\n return POST('/partners', partner);\n}\n "],"sourceRoot":""}