{"version":3,"sources":["webpack:///./src/providers/leadsource.js","webpack:///./src/eventbus/event-bus.js","webpack:///./src/views/Settings/LeadSources.vue","webpack:///src/views/Settings/LeadSources.vue","webpack:///./src/views/Settings/LeadSources.vue?ca40","webpack:///./src/views/Settings/LeadSources.vue?fc8e"],"names":["methods","getLeadSourceById","_arguments","arguments","_asyncToGenerator","_regenerator","m","_callee","leadId","response","w","_context","n","length","undefined","axios","get","concat","process","headers","apiToken","profileToken","store","getters","v","a","getLocationLeadSources","_arguments2","_callee2","locationId","_context2","createLeadSource","_arguments3","_callee3","name","externalCode","colour","criteria","_context3","LocationId","Name","ExternalCode","Colour","post","createLeadSourceBulk","sources","_callee4","_context4","updateLeadSource","leadSource","_callee5","_context5","put","deleteLeadSource","_callee6","_context6","delete","EventBus","Vue","render","_vm","this","_c","_self","staticClass","showAddLeadSource","attrs","hideModal","on","sourceAdded","_e","showEditLeadSource","selectedItem","sourceUpdated","showDeleteLeadSource","sourceDeleted","showImportLeadSources","sourcesImported","$t","locationState","ExternalMappings","filter","Source","setShowImportLeadSources","_v","_s","setShowAddLeadSource","_l","leadsources","source","index","key","timestamp","colourChanged","$event","setShowEditLeadSource","setShowDeleteLeadSource","staticRenderFns","components","ColorPicker","ModalAddLeadSource","ModalDeleteLeadSource","ModalEditLeadSource","ModalImportLeadSources","props","data","isLoading","Number","$route","params","Date","getTime","computed","_objectSpread","mapState","created","_this","leadsourceProvider","then","status","catch","err","finally","push","$emit","type","message","findIndex","ls","Id","set","splice","_this2","component"],"mappings":"0NAGe,QACbA,QAAS,CACDC,kBAAiB,WAAa,IAAAC,EAAAC,UAAA,OAAAC,eAAAC,iBAAAC,GAAA,SAAAC,IAAA,IAAAC,EAAAC,EAAA,OAAAJ,iBAAAK,GAAA,SAAAC,GAAA,eAAAA,EAAAC,GAAA,OAAF,OAAVJ,EAAMN,EAAAW,OAAA,QAAAC,IAAAZ,EAAA,GAAAA,EAAA,GAAG,EAACS,EAAAC,EAAA,EACTG,OAAMC,IAAI,GAADC,OAC3BC,4BAAgC,gCAAAD,OAA+BT,GAClE,CACEW,QAAS,CACP,eAAgB,mBAChBC,SAAUF,WACVG,aAAcC,OAAMC,QAAQ,mCAGjC,OATa,OAARd,EAAQE,EAAAa,EAAAb,EAAAc,EAAA,EAUPhB,MAAQF,MAXmBH,IAc9BsB,uBAAsB,WAAiB,IAAAC,EAAAxB,UAAA,OAAAC,eAAAC,iBAAAC,GAAA,SAAAsB,IAAA,IAAAC,EAAApB,EAAA,OAAAJ,iBAAAK,GAAA,SAAAoB,GAAA,eAAAA,EAAAlB,GAAA,OAAF,OAAdiB,EAAUF,EAAAd,OAAA,QAAAC,IAAAa,EAAA,GAAAA,EAAA,GAAG,EAACG,EAAAlB,EAAA,EAClBG,OAAMC,IAAI,GAADC,OAC3BC,4BAAgC,qBAAAD,OAAoBY,EAAU,gBACjE,CACEV,QAAS,CACP,eAAgB,mBAChBC,SAAUF,WACVG,aAAcC,OAAMC,QAAQ,mCAGjC,OATa,OAARd,EAAQqB,EAAAN,EAAAM,EAAAL,EAAA,EAUPhB,MAAQmB,MAX4BxB,IAcvC2B,iBAAgB,WAA4D,IAAAC,EAAA7B,UAAA,OAAAC,eAAAC,iBAAAC,GAAA,SAAA2B,IAAA,IAAAJ,EAAAK,EAAAC,EAAAC,EAAAC,EAAA5B,EAAA,OAAAJ,iBAAAK,GAAA,SAAA4B,GAAA,eAAAA,EAAA1B,GAAA,OAM/E,OANoBiB,EAAUG,EAAAnB,OAAA,QAAAC,IAAAkB,EAAA,GAAAA,EAAA,GAAG,EAAGE,EAAIF,EAAAnB,OAAA,QAAAC,IAAAkB,EAAA,GAAAA,EAAA,GAAG,GAAIG,EAAYH,EAAAnB,OAAA,QAAAC,IAAAkB,EAAA,GAAAA,EAAA,GAAG,GAAII,EAAMJ,EAAAnB,OAAA,QAAAC,IAAAkB,EAAA,GAAAA,EAAA,GAAG,GACxEK,EAAW,CACbE,WAAYV,EACZW,KAAMN,EACNO,aAAcN,EACdO,OAAQN,GACTE,EAAA1B,EAAA,EAEsBG,OAAM4B,KAAK,GAAD1B,OAC5BC,4BAAgC,qBAAAD,OAAoBY,EAAU,eACjEQ,EACA,CACElB,QAAS,CACP,eAAgB,mBAChBC,SAAUF,WACVG,aAAcC,OAAMC,QAAQ,mCAGjC,OAVa,OAARd,EAAQ6B,EAAAd,EAAAc,EAAAb,EAAA,EAWPhB,MAAQwB,MAnBiE7B,IAsB5EwC,qBAAoB,SAACf,EAAYgB,GAAS,OAAAzC,eAAAC,iBAAAC,GAAA,SAAAwC,IAAA,IAAArC,EAAA,OAAAJ,iBAAAK,GAAA,SAAAqC,GAAA,eAAAA,EAAAnC,GAAA,cAAAmC,EAAAnC,EAAA,EACvBG,OAAM4B,KAAK,GAAD1B,OAC5BC,4BAAgC,qBAAAD,OAAoBY,EAAU,oBACjEgB,EACA,CACE1B,QAAS,CACP,eAAgB,mBAChBC,SAAUF,WACVG,aAAcC,OAAMC,QAAQ,mCAGjC,OAVa,OAARd,EAAQsC,EAAAvB,EAAAuB,EAAAtB,EAAA,EAWPhB,MAAQqC,MAZ+B1C,IAe1C4C,iBAAgB,SAACC,GAAY,OAAA7C,eAAAC,iBAAAC,GAAA,SAAA4C,IAAA,IAAAzC,EAAA,OAAAJ,iBAAAK,GAAA,SAAAyC,GAAA,eAAAA,EAAAvC,GAAA,cAAAuC,EAAAvC,EAAA,EAEVG,OAAMqC,IAAI,GAADnC,OAC3BC,4BAAgC,+BACnC+B,EACA,CACE9B,QAAS,CACP,eAAgB,mBAChBC,SAAUF,WACVG,aAAcC,OAAMC,QAAQ,mCAGjC,OAVa,OAARd,EAAQ0C,EAAA3B,EAAA2B,EAAA1B,EAAA,EAWPhB,MAAQyC,MAbkB9C,IAgB7BiD,iBAAgB,SAAC7C,GAAQ,OAAAJ,eAAAC,iBAAAC,GAAA,SAAAgD,IAAA,IAAA7C,EAAA,OAAAJ,iBAAAK,GAAA,SAAA6C,GAAA,eAAAA,EAAA3C,GAAA,cAAA2C,EAAA3C,EAAA,EACNG,OAAMyC,OAAO,GAADvC,OAC9BC,4BAAgC,gCAAAD,OAA+BT,GAClE,CACEW,QAAS,CACP,eAAgB,mBAChBC,SAAUF,WACVG,aAAcC,OAAMC,QAAQ,mCAGjC,OATa,OAARd,EAAQ8C,EAAA/B,EAAA+B,EAAA9B,EAAA,EAUPhB,MAAQ6C,MAXclD,O,oCCtFnC,kDACaqD,EAAW,IAAIC,aAEbD,U,qFCHXE,EAAS,WAAkB,IAAIC,EAAIC,KAAKC,EAAGF,EAAIG,MAAMD,GAAG,OAAOA,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,MAAM,CAACE,YAAY,aAAa,CAAEJ,EAAIK,kBAAmBH,EAAG,qBAAqB,CAACI,MAAM,CAAC,UAAYN,EAAIK,kBAAkB,WAAaL,EAAI/B,WAAW,cAAgB+B,EAAIO,WAAWC,GAAG,CAAC,YAAcR,EAAIS,eAAeT,EAAIU,KAAMV,EAAIW,mBAAoBT,EAAG,sBAAsB,CAACI,MAAM,CAAC,UAAYN,EAAIW,mBAAmB,cAAgBX,EAAIO,UAAU,OAASP,EAAIY,cAAcJ,GAAG,CAAC,cAAgBR,EAAIa,iBAAiBb,EAAIU,KAAMV,EAAIc,qBAAsBZ,EAAG,wBAAwB,CAACI,MAAM,CAAC,UAAYN,EAAIc,qBAAqB,cAAgBd,EAAIO,UAAU,OAASP,EAAIY,cAAcJ,GAAG,CAAC,cAAgBR,EAAIe,iBAAiBf,EAAIU,KAAMV,EAAIgB,sBAAuBd,EAAG,yBAAyB,CAACI,MAAM,CAAC,UAAYN,EAAIgB,sBAAsB,cAAgBhB,EAAIO,UAAU,WAAaP,EAAI/B,YAAYuC,GAAG,CAAC,gBAAkBR,EAAIiB,mBAAmBjB,EAAIU,KAAKR,EAAG,eAAe,CAACI,MAAM,CAAC,MAAQN,EAAIkB,GAAG,4CAA4ChB,EAAG,MAAM,CAACE,YAAY,+CAA+C,CAACF,EAAG,MAAM,CAACE,YAAY,SAAS,CAACF,EAAG,MAAM,CAACE,YAAY,eAAeF,EAAG,MAAM,CAACE,YAAY,eAAe,CAAEJ,EAAImB,cAAcC,iBAAiBC,QAAO,SAAA3E,GAAC,MAAiB,YAAbA,EAAE4E,UAAsBrE,OAAS,EAAGiD,EAAG,IAAI,CAACM,GAAG,CAAC,MAAQR,EAAIuB,2BAA2B,CAACrB,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACF,EAAG,oBAAoB,CAACI,MAAM,CAAC,KAAO,CAAC,MAAO,YAAY,GAAGJ,EAAG,OAAO,CAACF,EAAIwB,GAAGxB,EAAIyB,GAAGzB,EAAIkB,GAAG,6BAA6BlB,EAAIU,KAAKR,EAAG,IAAI,CAACE,YAAY,OAAOI,GAAG,CAAC,MAAQR,EAAI0B,uBAAuB,CAACxB,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACF,EAAG,oBAAoB,CAACI,MAAM,CAAC,KAAO,CAAC,MAAO,YAAY,GAAGJ,EAAG,OAAO,CAACF,EAAIwB,GAAGxB,EAAIyB,GAAGzB,EAAIkB,GAAG,gCAAgChB,EAAG,QAAQ,CAACE,YAAY,uDAAuD,CAACF,EAAG,QAAQ,CAACA,EAAG,KAAK,CAACA,EAAG,KAAK,CAACF,EAAIwB,GAAGxB,EAAIyB,GAAGzB,EAAIkB,GAAG,6CAA6ChB,EAAG,KAAK,CAACF,EAAIwB,GAAGxB,EAAIyB,GAAGzB,EAAIkB,GAAG,qDAAqDhB,EAAG,KAAK,CAACF,EAAIwB,GAAGxB,EAAIyB,GAAGzB,EAAIkB,GAAG,+CAA+ChB,EAAG,KAAK,CAACI,MAAM,CAAC,MAAQ,QAAQ,CAACN,EAAIwB,GAAG,WAAWtB,EAAG,QAAQF,EAAI2B,GAAI3B,EAAI4B,aAAa,SAASC,EAAOC,GAAO,OAAO5B,EAAG,KAAK,CAAC6B,IAAID,GAAO,CAAC5B,EAAG,KAAK,CAACF,EAAIwB,GAAGxB,EAAIyB,GAAGI,EAAOjD,SAASsB,EAAG,KAAK,CAACF,EAAIwB,GAAGxB,EAAIyB,GAAGI,EAAOhD,iBAAiBqB,EAAG,KAAK,CAACA,EAAG,cAAc,CAAC6B,IAAI/B,EAAIgC,UAAU1B,MAAM,CAAC,OAASuB,EAAO/C,OAAO,OAAS+C,GAAQrB,GAAG,CAAC,cAAgBR,EAAIiC,kBAAkB,GAAG/B,EAAG,KAAK,CAACE,YAAY,iBAAiBE,MAAM,CAAC,MAAQ,QAAQ,CAACJ,EAAG,MAAM,CAACE,YAAY,oBAAoB,CAACF,EAAG,IAAI,CAACE,YAAY,WAAW,CAACF,EAAG,IAAI,CAACM,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAImC,sBAAsBN,MAAW,CAAC3B,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACF,EAAG,oBAAoB,CAACI,MAAM,CAAC,KAAO,CAAC,MAAO,YAAY,OAAOJ,EAAG,IAAI,CAACE,YAAY,WAAW,CAACF,EAAG,IAAI,CAACM,GAAG,CAAC,MAAQ,SAAS0B,GAAQ,OAAOlC,EAAIoC,wBAAwBP,MAAW,CAAC3B,EAAG,OAAO,CAACE,YAAY,wBAAwB,CAACF,EAAG,oBAAoB,CAACI,MAAM,CAAC,KAAO,CAAC,MAAO,iBAAiB,gBAAe,MAAM,MAEn7F+B,EAAkB,G,0HC0HP,GACfC,WAAA,CACAC,YAAA,wGACAC,mBAAA,kBACA,sFACAC,sBAAA,kBACA,iDACAC,oBAAA,kBACA,sFACAC,uBAAA,kBACA,kDAGAC,MAAA,GAEAC,KAAA,WACA,OACAC,WAAA,EACAlB,YAAA,GACA3D,WAAA8E,OAAA,KAAAC,OAAAC,OAAAhF,YACA+D,WAAA,IAAAkB,MAAAC,UACAvC,aAAA,KACAP,mBAAA,EACAM,oBAAA,EACAG,sBAAA,EACAE,uBAAA,IAIAoC,SAAAC,eAAA,GACAC,eAAA,oCAGAC,QAAA,WACA,KAAAzF,0BAGA1B,QAAA,CACA0B,uBAAA,eAAA0F,EAAA,KACA,KAAAV,YACA,KAAAA,WAAA,EAEAW,OAAArH,QACA0B,uBAAA,KAAAG,YACAyF,MAAA,SAAA7G,GACA,MAAAA,EAAA8G,SACAH,EAAA5B,YAAA/E,EAAAgG,SAGAe,OAAA,SAAAC,OACAC,SAAA,WACAN,EAAAV,WAAA,OAKArC,YAAA,SAAAoB,GACA,KAAAD,YAAAmC,KAAAlC,GAEAhC,OAAAmE,MAAA,aACAC,KAAA,OACAC,QAAA,KAAAhD,GAAA,mDAIAL,cAAA,SAAAgB,GACA,IAAAC,EAAA,KAAAF,YAAAuC,WAAA,SAAAC,GAAA,OAAAA,EAAAC,KAAAxC,EAAAwC,MACAvC,GAAA,IACAhC,aAAAwE,IAAA,KAAA1C,YAAAE,EAAAD,GACA,KAAAG,WAAA,IAAAkB,MAAAC,UAEAtD,OAAAmE,MAAA,aACAC,KAAA,OACAC,QAAA,KAAAhD,GAAA,sDAKAH,cAAA,SAAAc,GACA,IAAAC,EAAA,KAAAF,YAAAuC,WAAA,SAAAC,GAAA,OAAAA,EAAAC,KAAAxC,EAAAwC,MACAvC,GAAA,IACA,KAAAF,YAAA2C,OAAAzC,EAAA,GAEAjC,OAAAmE,MAAA,aACAC,KAAA,OACAC,QAAA,KAAAhD,GAAA,sDAKAD,gBAAA,WACA,KAAAnD,0BAGAmE,cAAA,SAAAY,GACAA,OAAA/D,SAAA+D,EAAArE,SACAqE,OAAA/D,OAAA+D,EAAArE,OACA,KAAAY,iBAAAyD,UAIAzD,iBAAA,SAAAyC,GAAA,IAAA2C,EAAA,KACAf,OAAArH,QACAgD,iBAAAyC,GACA6B,MAAA,SAAA7G,GACA,MAAAA,EAAA8G,QACAa,EAAAR,MAAA,gBAAAnH,EAAAgG,SAGAe,OAAA,SAAAC,OACAC,SAAA,gBAGApC,qBAAA,WACA,KAAArB,mBAAA,GAGA8B,sBAAA,SAAAN,GACA,KAAAlB,oBAAA,EAEA,KAAAC,aAAAiB,GAGAO,wBAAA,SAAAP,GACA,KAAAf,sBAAA,EAEA,KAAAF,aAAAiB,GAGAN,yBAAA,WACA,KAAAP,uBAAA,GAGAT,UAAA,WACA,KAAAF,mBAAA,EACA,KAAAM,oBAAA,EACA,KAAAG,sBAAA,EACA,KAAAE,uBAAA,EAEA,KAAAJ,aAAA,QCvQmW,I,YCO/V6D,EAAY,eACd,EACA1E,EACAsC,GACA,EACA,KACA,KACA,MAIa,aAAAoC,E","file":"js/settings-leadsources.js?id=69f6cb2e9d9cf787d28b","sourcesContent":["import axios from \"axios\";\nimport store from \"../store\";\n\nexport default {\n  methods: {\n    async getLeadSourceById(leadId = 0) {\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v2/location/leadsource/${leadId}`,\n        {\n          headers: {\n            \"Content-type\": \"application/json\",\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      );\n      return response;\n    },\n\n    async getLocationLeadSources(locationId = 0) {\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v2/location/${locationId}/leadsources`,\n        {\n          headers: {\n            \"Content-type\": \"application/json\",\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      );\n      return response;\n    },\n\n    async createLeadSource(locationId = 0, name = \"\", externalCode = \"\", colour = \"\") {\n      let criteria = {\n        LocationId: locationId,\n        Name: name,\n        ExternalCode: externalCode,\n        Colour: colour\n      };\n\n      const response = await axios.post(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v2/location/${locationId}/leadsource`,\n        criteria,\n        {\n          headers: {\n            \"Content-type\": \"application/json\",\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      );\n      return response;\n    },\n\n    async createLeadSourceBulk(locationId, sources) {\n      const response = await axios.post(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v2/location/${locationId}/leadsource/bulk`,\n        sources,\n        {\n          headers: {\n            \"Content-type\": \"application/json\",\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      );\n      return response;\n    },\n\n    async updateLeadSource(leadSource) {\n\n      const response = await axios.put(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v2/location/leadsource`,\n        leadSource,\n        {\n          headers: {\n            \"Content-type\": \"application/json\",\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      );\n      return response;\n    },\n\n    async deleteLeadSource(leadId) {\n      const response = await axios.delete(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v2/location/leadsource/${leadId}`,\n        {\n          headers: {\n            \"Content-type\": \"application/json\",\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      );\n      return response;\n    }\n  }\n};\n","import Vue from 'vue'\nexport const EventBus = new Vue()\n\nexport default EventBus\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"section\"},[_c('div',{staticClass:\"container\"},[(_vm.showAddLeadSource)?_c('ModalAddLeadSource',{attrs:{\"showModal\":_vm.showAddLeadSource,\"locationId\":_vm.locationId,\"onClickCancel\":_vm.hideModal},on:{\"sourceAdded\":_vm.sourceAdded}}):_vm._e(),(_vm.showEditLeadSource)?_c('ModalEditLeadSource',{attrs:{\"showModal\":_vm.showEditLeadSource,\"onClickCancel\":_vm.hideModal,\"source\":_vm.selectedItem},on:{\"sourceUpdated\":_vm.sourceUpdated}}):_vm._e(),(_vm.showDeleteLeadSource)?_c('ModalDeleteLeadSource',{attrs:{\"showModal\":_vm.showDeleteLeadSource,\"onClickCancel\":_vm.hideModal,\"source\":_vm.selectedItem},on:{\"sourceDeleted\":_vm.sourceDeleted}}):_vm._e(),(_vm.showImportLeadSources)?_c('ModalImportLeadSources',{attrs:{\"showModal\":_vm.showImportLeadSources,\"onClickCancel\":_vm.hideModal,\"locationId\":_vm.locationId},on:{\"sourcesImported\":_vm.sourcesImported}}):_vm._e(),_c('ui-page-hero',{attrs:{\"title\":_vm.$t('Views.Settings.LeadSources.Main_Title')}}),_c('div',{staticClass:\"actionBar has-background-white-ter p-4 mb-6\"},[_c('div',{staticClass:\"level\"},[_c('div',{staticClass:\"level-left\"}),_c('div',{staticClass:\"level-right\"},[(_vm.locationState.ExternalMappings.filter(m => m.Source !== 'Generic').length > 0)?_c('a',{on:{\"click\":_vm.setShowImportLeadSources}},[_c('span',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'sync']}})],1),_c('span',[_vm._v(_vm._s(_vm.$t('Form.Control.Import')))])]):_vm._e(),_c('a',{staticClass:\"ml-2\",on:{\"click\":_vm.setShowAddLeadSource}},[_c('span',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'plus']}})],1),_c('span',[_vm._v(_vm._s(_vm.$t('Form.Control.Add')))])])])])]),_c('table',{staticClass:\"table is-fullwidth is-small is-striped is-hoverable\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('Views.Settings.LeadSources.Table_Name')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Views.Settings.LeadSources.Table_ExternalCode')))]),_c('th',[_vm._v(_vm._s(_vm.$t('Views.Settings.LeadSources.Table_Colour')))]),_c('th',{attrs:{\"width\":\"100\"}},[_vm._v(\" \")])])]),_c('tbody',_vm._l((_vm.leadsources),function(source,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(source.Name))]),_c('td',[_vm._v(_vm._s(source.ExternalCode))]),_c('td',[_c('ColorPicker',{key:_vm.timestamp,attrs:{\"colour\":source.Colour,\"object\":source},on:{\"colourChanged\":_vm.colourChanged}})],1),_c('td',{staticClass:\"has-text-right\",attrs:{\"width\":\"100\"}},[_c('div',{staticClass:\"field is-grouped\"},[_c('p',{staticClass:\"control\"},[_c('a',{on:{\"click\":function($event){return _vm.setShowEditLeadSource(source)}}},[_c('span',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'edit']}})],1)])]),_c('p',{staticClass:\"control\"},[_c('a',{on:{\"click\":function($event){return _vm.setShowDeleteLeadSource(source)}}},[_c('span',{staticClass:\"icon has-text-danger\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'trash-alt']}})],1)])])])])])}),0)])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"section\">\n    <div class=\"container\">\n\n      <ModalAddLeadSource\n        v-if=\"showAddLeadSource\"\n        :showModal=\"showAddLeadSource\"\n        :locationId=\"locationId\"\n        :onClickCancel=\"hideModal\"\n        @sourceAdded=\"sourceAdded\"\n      />\n\n      <ModalEditLeadSource\n        v-if=\"showEditLeadSource\"\n        :showModal=\"showEditLeadSource\"\n        :onClickCancel=\"hideModal\"\n        :source=\"selectedItem\"\n        @sourceUpdated=\"sourceUpdated\"\n      />\n\n      <ModalDeleteLeadSource\n        v-if=\"showDeleteLeadSource\"\n        :showModal=\"showDeleteLeadSource\"\n        :onClickCancel=\"hideModal\"\n        :source=\"selectedItem\"\n        @sourceDeleted=\"sourceDeleted\"\n      />\n\n      <ModalImportLeadSources\n        v-if=\"showImportLeadSources\"\n        :showModal=\"showImportLeadSources\"\n        :onClickCancel=\"hideModal\"\n        :locationId=\"locationId\"\n        @sourcesImported=\"sourcesImported\"\n      />\n\n      <ui-page-hero :title=\"$t('Views.Settings.LeadSources.Main_Title')\" />\n\n      <div class=\"actionBar has-background-white-ter p-4 mb-6\">\n        <div class=\"level\">\n          <div class=\"level-left\"></div>\n          <div class=\"level-right\">\n            <a\n              v-if=\"locationState.ExternalMappings.filter(m => m.Source !== 'Generic').length > 0\"\n              @click=\"setShowImportLeadSources\"\n            >\n              <span class=\"icon\">\n                <font-awesome-icon :icon=\"['fas', 'sync']\" />\n              </span>\n              <span>{{ $t('Form.Control.Import') }}</span>\n            </a>\n\n            <a\n              @click=\"setShowAddLeadSource\"\n              class=\"ml-2\"\n            >\n              <span class=\"icon\">\n                <font-awesome-icon :icon=\"['fas', 'plus']\" />\n              </span>\n              <span>{{ $t('Form.Control.Add') }}</span>\n            </a>\n          </div>\n        </div>\n      </div>\n\n      <table class=\"table is-fullwidth is-small is-striped is-hoverable\">\n        <thead>\n          <tr>\n            <th>{{ $t('Views.Settings.LeadSources.Table_Name') }}</th>\n            <th>{{ $t('Views.Settings.LeadSources.Table_ExternalCode') }}</th>\n            <th>{{ $t('Views.Settings.LeadSources.Table_Colour') }}</th>\n            <th width=\"100\">&nbsp;</th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr\n            v-for=\"(source, index) in leadsources\"\n            :key=\"index\"\n          >\n            <td>{{ source.Name }}</td>\n            <td>{{ source.ExternalCode }}</td>\n            <td>\n              <ColorPicker\n                :colour=\"source.Colour\"\n                :object=\"source\"\n                @colourChanged=\"colourChanged\"\n                :key=\"timestamp\"\n              />\n            </td>\n            <td\n              class=\"has-text-right\"\n              width=\"100\"\n            >\n              <div class=\"field is-grouped\">\n                <p class=\"control\">\n                  <a @click=\"setShowEditLeadSource(source)\">\n                    <span class=\"icon\">\n                      <font-awesome-icon :icon=\"['fas', 'edit']\" />\n                    </span>\n                  </a>\n                </p>\n                <p class=\"control\">\n                  <a @click=\"setShowDeleteLeadSource(source)\">\n                    <span class=\"icon has-text-danger\">\n                      <font-awesome-icon :icon=\"['fas', 'trash-alt']\" />\n                    </span>\n                  </a>\n                </p>\n              </div>\n            </td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n  </div>\n</template>\n\n<script>\nimport Vue from 'vue'\nimport { mapState } from 'vuex'\nimport { EventBus } from '@/eventbus/event-bus'\nimport leadsourceProvider from '@/providers/leadsource'\n\n\nexport default {\n  components: {\n    ColorPicker: () => import('@/components/UI/ColorPicker'),\n    ModalAddLeadSource: () =>\n      import('@/components/Settings/LeadSources/ModalAddLeadSource'),\n    ModalDeleteLeadSource: () =>\n      import('@/components/Settings/LeadSources/ModalDeleteLeadSource'),\n    ModalEditLeadSource: () =>\n      import('@/components/Settings/LeadSources/ModalEditLeadSource'),\n    ModalImportLeadSources: () =>\n      import('@/components/ExternalMappings/ModalImportLeadSources'),\n  },\n\n  props: {},\n\n  data() {\n    return {\n      isLoading: false,\n      leadsources: [],\n      locationId: Number(this.$route.params.locationId),\n      timestamp: new Date().getTime(),\n      selectedItem: null,\n      showAddLeadSource: false,\n      showEditLeadSource: false,\n      showDeleteLeadSource: false,\n      showImportLeadSources: false\n    }\n  },\n\n  computed: {\n    ...mapState('locationStore', ['locationState']),\n  },\n\n  created() {\n    this.getLocationLeadSources()\n  },\n\n  methods: {\n    getLocationLeadSources() {\n      if (!this.isLoading) {\n        this.isLoading = true\n\n        leadsourceProvider.methods\n          .getLocationLeadSources(this.locationId)\n          .then((response) => {\n            if (response.status === 200) {\n              this.leadsources = response.data\n            }\n          })\n          .catch((err) => { })\n          .finally(() => {\n            this.isLoading = false\n          })\n      }\n    },\n\n    sourceAdded(source) {\n      this.leadsources.push(source)\n\n      EventBus.$emit('showToast', {\n        type: 'info',\n        message: this.$t('Views.Settings.LeadSources.Toast_SourceAdded'),\n      })\n    },\n\n    sourceUpdated(source) {\n      let index = this.leadsources.findIndex((ls) => ls.Id === source.Id)\n      if (index > -1) {\n        Vue.set(this.leadsources, index, source)\n        this.timestamp = new Date().getTime()\n\n        EventBus.$emit('showToast', {\n          type: 'info',\n          message: this.$t('Views.Settings.LeadSources.Toast_SourceUpdated'),\n        })\n      }\n    },\n\n    sourceDeleted(source) {\n      let index = this.leadsources.findIndex((ls) => ls.Id === source.Id)\n      if (index > -1) {\n        this.leadsources.splice(index, 1)\n\n        EventBus.$emit('showToast', {\n          type: 'info',\n          message: this.$t('Views.Settings.LeadSources.Toast_SourceDeleted'),\n        })\n      }\n    },\n\n    sourcesImported() {\n      this.getLocationLeadSources();\n    },\n\n    colourChanged(data) {\n      if (data.data.Colour !== data.colour) {\n        data.data.Colour = data.colour\n        this.updateLeadSource(data.data)\n      }\n    },\n\n    updateLeadSource(source) {\n      leadsourceProvider.methods\n        .updateLeadSource(source)\n        .then((response) => {\n          if (response.status === 200) {\n            this.$emit('sourceUpdated', response.data)\n          }\n        })\n        .catch((err) => { })\n        .finally(() => { })\n    },\n\n    setShowAddLeadSource() {\n      this.showAddLeadSource = true\n    },\n\n    setShowEditLeadSource(source) {\n      this.showEditLeadSource = true\n\n      this.selectedItem = source\n    },\n\n    setShowDeleteLeadSource(source) {\n      this.showDeleteLeadSource = true\n\n      this.selectedItem = source\n    },\n\n    setShowImportLeadSources() {\n      this.showImportLeadSources = true\n    },\n\n    hideModal() {\n      this.showAddLeadSource = false\n      this.showEditLeadSource = false\n      this.showDeleteLeadSource = false\n      this.showImportLeadSources = false\n\n      this.selectedItem = null\n    },\n  },\n}\n</script>\n\n<style></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeadSources.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeadSources.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LeadSources.vue?vue&type=template&id=69a5a1a3\"\nimport script from \"./LeadSources.vue?vue&type=script&lang=js\"\nexport * from \"./LeadSources.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"],"sourceRoot":""}