{"version":3,"sources":["webpack:///./src/components/app-avatar.vue?1818","webpack:///src/components/app-avatar.vue","webpack:///./src/components/app-avatar.vue?b5a2","webpack:///./src/components/app-avatar.vue","webpack:///./src/views/account/settings.vue?5a6c","webpack:///src/views/account/settings.vue","webpack:///./src/views/account/settings.vue?c25c","webpack:///./src/views/account/settings.vue","webpack:///./src/components/app-navbar.vue?1b9d","webpack:///src/components/app-navbar.vue","webpack:///./src/components/app-navbar.vue?485d","webpack:///./src/components/app-navbar.vue","webpack:///./src/utils/toast.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","style","attrs","_v","_s","avatarLetters","staticRenderFns","name","props","size","data","backgroundColors","computed","initial","svgStyle","textStyle","methods","i","parts","length","initials","charAt","toUpperCase","component","isPageLoading","on","$event","_e","preventDefault","onSubmit","domProps","user","email","directives","rawName","value","expression","class","errors","has","target","composing","$set","first","Array","isArray","emailOptOut","_i","$$a","$$el","$$c","checked","$$v","$$i","concat","slice","ref","required","isPasswordConfirmRequired","confirmed","companies","_l","company","index","key","$permissions","id","membership","zone","role","_f","expiryDate","isSaving","components","firstName","lastName","password","$refs","userPassword","mounted","fetchUser","_user","then","_m","hasAddProjectPermission","hasAddPrivateProjectPermission","myPlanroomLink","permitsLink","publicDirectoryLink","getUserName","toUpgradeMembership","getCurrentUser","useMembershipPayment","useNews","usePaymentReports","usePublicDirectoryLink","getCurrentRoute","$router","hasCompanies","hasPaidMembership","roles","getUser","forEach","some","isBidCentralClient","isMembershipPurchaseAvailable","isSysAdmin","isClientAdmin","isNewsAvailable","isPaymentReportsAvailable","hasViewPaymentPermission","message","created","fetchClientSettings","defaultOptions","noCloseButton","autoHideDelay","toaster","isStatus","success","context","overrideOptions","options","variant","$root","$bvToast","toast","danger"],"mappings":"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","file":"js/chunk-2ee788ae.328d12e2.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{staticClass:\"flex-shrink-0\",style:(_vm.svgStyle)},[_c('text',{style:(_vm.textStyle),attrs:{\"x\":\"50%\",\"y\":\"50%\",\"text-anchor\":\"middle\",\"dominant-baseline\":\"central\"}},[_vm._v(\" \"+_vm._s(_vm.avatarLetters)+\" \")])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <svg class=\"flex-shrink-0\" :style=\"svgStyle\">\r\n    <text x=\"50%\" y=\"50%\" text-anchor=\"middle\" dominant-baseline=\"central\" :style=\"textStyle\">\r\n      {{ avatarLetters }}\r\n    </text>\r\n  </svg>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n  name: 'app-avatar',\r\n  props: {\r\n    size: { required: true, type: Number, default: 40 },\r\n    name: { required: true, type: String }\r\n  },\r\n  data: function () {\r\n    return {\r\n      backgroundColors: [\r\n        '#011627', '#011627', '#41EAD4', '#FDFFFC ', \"#0D3B66\", \"#FAF0CA\", \"#F95738\", \"#FDFFFC\"\r\n      ]\r\n    }\r\n  },\r\n  computed: {\r\n    avatarLetters () {\r\n      return this.initial(this.name);\r\n    },\r\n    svgStyle () {\r\n      let backgroundColor = this.backgroundColors[this.avatarLetters.charCodeAt(0) % this.backgroundColors.length];\r\n      return { width: `${ this.size }px`, height: `${ this.size }px`, borderRadius: '50%', background: backgroundColor }\r\n    },\r\n    textStyle () {\r\n      return { fill: 'rgba(0, 0, 0, .7)', fontSize: `${this.size * 0.4}px` }\r\n    }\r\n  },\r\n  methods: {\r\n    initial (username) {\r\n      let parts = username.split(' ')\r\n      let initials = ''\r\n      for (var i = 0; i < parts.length; i++) {\r\n        initials += parts[i].charAt(0)\r\n      }\r\n      return initials.toUpperCase();\r\n    },\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!./app-avatar.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!./app-avatar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-avatar.vue?vue&type=template&id=65164ee3&\"\nimport script from \"./app-avatar.vue?vue&type=script&lang=js&\"\nexport * from \"./app-avatar.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('div',{staticClass:\"main_page\"},[_c('app-navbar'),_c('div',{staticClass:\"page\"},[_c('loading',{attrs:{\"active\":_vm.isPageLoading,\"is-full-page\":\"\"},on:{\"update:active\":function($event){_vm.isPageLoading=$event}}}),(!_vm.isPageLoading)?_c('div',[_c('div',{staticClass:\"page-title\"},[_c('h1',[_vm._v(\"Account\")])]),_c('div',{staticClass:\"page-content\"},[_c('form',{on:{\"submit\":function($event){$event.preventDefault();return _vm.onSubmit($event)}}},[_c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"card-body\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(\"User Profile\")]),_c('div',{staticClass:\"card-text\"},[_c('div',{staticClass:\"form-group row\"},[_c('label',{staticClass:\"col-sm-3 col-form-label\",attrs:{\"for\":\"email\"}},[_vm._v(\"Email\")]),_c('input',{staticClass:\"col-sm-9 form-control-plaintext\",attrs:{\"type\":\"text\",\"id\":\"email\",\"name\":\"email\",\"readonly\":\"\"},domProps:{\"value\":_vm.user.email}})]),_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-md-6 mb-3\"},[_c('label',{attrs:{\"for\":\"firstName\"}},[_vm._v(\"First Name\")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|max:255'),expression:\"'required|max:255'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.user.firstName),expression:\"user.firstName\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('firstName') },attrs:{\"type\":\"text\",\"id\":\"firstName\",\"name\":\"firstName\",\"autocomplete\":\"off\",\"data-vv-as\":\"First Name\"},domProps:{\"value\":(_vm.user.firstName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"firstName\", $event.target.value)}}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('firstName')))])]),_c('div',{staticClass:\"col-md-6 mb-3\"},[_c('label',{attrs:{\"for\":\"lastName\"}},[_vm._v(\"Last Name\")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('required|max:255'),expression:\"'required|max:255'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.user.lastName),expression:\"user.lastName\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('lastName') },attrs:{\"type\":\"text\",\"id\":\"lastName\",\"name\":\"lastName\",\"autocomplete\":\"off\",\"data-vv-as\":\"Last Name\"},domProps:{\"value\":(_vm.user.lastName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"lastName\", $event.target.value)}}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('lastName')))])])]),_c('div',{staticClass:\"form-group row\"},[_c('div',{staticClass:\"col-sm-2\"},[_vm._v(\"Email Opt Out\")]),_c('div',{staticClass:\"col-sm-10\"},[_c('div',{staticClass:\"form-check\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.user.emailOptOut),expression:\"user.emailOptOut\"}],staticClass:\"form-check-input position-static\",attrs:{\"type\":\"checkbox\",\"id\":\"emailOptOut\"},domProps:{\"checked\":Array.isArray(_vm.user.emailOptOut)?_vm._i(_vm.user.emailOptOut,null)>-1:(_vm.user.emailOptOut)},on:{\"change\":function($event){var $$a=_vm.user.emailOptOut,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.user, \"emailOptOut\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.user, \"emailOptOut\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.user, \"emailOptOut\", $$c)}}}})])])])])])]),_c('div',{staticClass:\"card mt-3\"},[_c('div',{staticClass:\"card-body\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(\"Change Password\")]),_c('div',{staticClass:\"card-text\"},[_c('div',{staticClass:\"form-row\"},[_c('div',{staticClass:\"col-md-6 mb-3\"},[_c('label',{attrs:{\"for\":\"userPassword\"}},[_vm._v(\"Password\")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:('min:8|max:50'),expression:\"'min:8|max:50'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.user.password),expression:\"user.password\"}],ref:\"userPassword\",staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('userPassword') },attrs:{\"type\":\"password\",\"id\":\"userPassword\",\"name\":\"userPassword\",\"placeholder\":\"Enter password\",\"autocomplete\":\"off\",\"data-vv-as\":\"Password\"},domProps:{\"value\":(_vm.user.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.user, \"password\", $event.target.value)}}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(_vm._s(_vm.errors.first('userPassword')))])]),_c('div',{staticClass:\"col-md-6 mb-3\"},[_c('label',{attrs:{\"for\":\"userPasswordConfirm\"}},[_vm._v(\"Confirm Password\")]),_c('input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:({ required: _vm.isPasswordConfirmRequired(), confirmed: 'userPassword' }),expression:\"{ required: isPasswordConfirmRequired(), confirmed: 'userPassword' }\"}],staticClass:\"form-control\",class:{ 'is-invalid': _vm.errors.has('userPasswordConfirm') },attrs:{\"id\":\"userPasswordConfirm\",\"name\":\"userPasswordConfirm\",\"type\":\"password\",\"placeholder\":\"Enter Password Confirmation\",\"autocomplete\":\"off\",\"data-vv-as\":\"Password Confirm\"}}),_c('div',{staticClass:\"invalid-feedback\"},[_vm._v(\"'Confirm Password' and 'Password' do not match.\")])])])])])]),(_vm.user.companies.length)?_c('div',{staticClass:\"card mt-3\"},[_c('div',{staticClass:\"card-body\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(\"My Companies\")]),_c('hr'),_c('div',{staticClass:\"card-text\"},_vm._l((_vm.user.companies),function(company,index){return _c('div',{key:'user-company-' + index},[_c('div',{staticClass:\"d-flex justify-content-between\"},[_c('h5',{staticClass:\"mb-3\"},[_vm._v(\" \"+_vm._s(company.name)+\" \")]),(_vm.$permissions().hasEditCompanyPermission)?_c('span',[_c('router-link',{staticClass:\"btn btn-success mb-2\",attrs:{\"to\":'/company/edit/' + company.id,\"title\":\"Go to company profile\"}},[_c('i',{staticClass:\"far fa-edit\"}),_vm._v(\" Edit Company Profile \")])],1):_vm._e()]),_c('table',{staticClass:\"table\"},[_c('thead',[_c('tr',[_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Zone\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Membership Level\")]),_c('th',{attrs:{\"scope\":\"col\"}},[_vm._v(\"Expiry Date\")])])]),_c('tbody',_vm._l((company.memberships),function(membership,index){return _c('tr',{key:'company-membership-' + index},[_c('td',[_vm._v(_vm._s(membership.zone))]),_c('td',[_vm._v(_vm._s(membership.role))]),_c('td',[_vm._v(_vm._s(_vm._f(\"datetime\")(membership.expiryDate)))])])}),0)])])}),0)])]):_vm._e(),_c('hr'),_c('div',{staticClass:\"row d-flex justify-content-end mt-2\"},[_c('menu',{staticClass:\"d-flex align-items-center justify-content-end m-0\"},[_c('button',{staticClass:\"btn btn-success btn-lg ld-ext-right\",class:{ 'running' : _vm.isSaving },attrs:{\"type\":\"submit\",\"disabled\":_vm.isSaving}},[_c('i',{staticClass:\"far fa-save\"}),_c('span',{staticClass:\"ml-2\"},[_vm._v(\" Update \")]),_c('div',{staticClass:\"ld ld-ring ld-spin\"})])])])])])]):_vm._e()],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <fragment>\r\n    <div class=\"main_page\">\r\n      <app-navbar></app-navbar>\r\n      <div class=\"page\">\r\n        <loading :active.sync=\"isPageLoading\" is-full-page></loading>\r\n        <div v-if=\"!isPageLoading\">\r\n          <div class=\"page-title\">\r\n            <h1>Account</h1>\r\n          </div>\r\n          <div class=\"page-content\">\r\n            <form v-on:submit.prevent=\"onSubmit\">\r\n              <div class=\"card\">\r\n                <div class=\"card-body\">\r\n                  <h5 class=\"card-title\">User Profile</h5>\r\n                  <div class=\"card-text\">\r\n                    <div class=\"form-group row\">\r\n                      <label for=\"email\" class=\"col-sm-3 col-form-label\">Email</label>\r\n                      <input\r\n                        type=\"text\"\r\n                        id=\"email\"\r\n                        name=\"email\"\r\n                        class=\"col-sm-9 form-control-plaintext\"\r\n                        readonly\r\n                        :value=\"user.email\"\r\n                      />\r\n                    </div>\r\n\r\n                    <div class=\"form-row\">\r\n                      <div class=\"col-md-6 mb-3\">\r\n                        <label for=\"firstName\">First Name</label>\r\n                        <input\r\n                          type=\"text\"\r\n                          id=\"firstName\"\r\n                          name=\"firstName\"\r\n                          class=\"form-control\"\r\n                          :class=\"{ 'is-invalid': errors.has('firstName') }\"\r\n                          autocomplete=\"off\"\r\n                          v-validate=\"'required|max:255'\"\r\n                          v-model=\"user.firstName\"\r\n                          data-vv-as=\"First Name\"\r\n                        />\r\n                        <div class=\"invalid-feedback\">{{ errors.first('firstName') }}</div>\r\n                      </div>\r\n                      <div class=\"col-md-6 mb-3\">\r\n                        <label for=\"lastName\">Last Name</label>\r\n                        <input\r\n                          type=\"text\"\r\n                          id=\"lastName\"\r\n                          name=\"lastName\"\r\n                          class=\"form-control\"\r\n                          :class=\"{ 'is-invalid': errors.has('lastName') }\"\r\n                          autocomplete=\"off\"\r\n                          v-validate=\"'required|max:255'\"\r\n                          v-model=\"user.lastName\"\r\n                          data-vv-as=\"Last Name\"\r\n                        />\r\n                        <div class=\"invalid-feedback\">{{ errors.first('lastName') }}</div>\r\n                      </div>\r\n                    </div>\r\n\r\n                    <div class=\"form-group row\">\r\n                      <div class=\"col-sm-2\">Email Opt Out</div>\r\n                      <div class=\"col-sm-10\">\r\n                        <div class=\"form-check\">\r\n                          <input class=\"form-check-input position-static\" type=\"checkbox\" id=\"emailOptOut\" v-model=\"user.emailOptOut\" />\r\n                        </div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"card mt-3\">\r\n                <div class=\"card-body\">\r\n                  <h5 class=\"card-title\">Change Password</h5>\r\n                  <div class=\"card-text\">\r\n                    <div class=\"form-row\">\r\n                      <div class=\"col-md-6 mb-3\">\r\n                        <label for=\"userPassword\">Password</label>\r\n                        <input\r\n                          type=\"password\"\r\n                          id=\"userPassword\"\r\n                          name=\"userPassword\"\r\n                          class=\"form-control\"\r\n                          :class=\"{ 'is-invalid': errors.has('userPassword') }\"\r\n                          placeholder=\"Enter password\"\r\n                          autocomplete=\"off\"\r\n                          v-validate=\"'min:8|max:50'\"\r\n                          ref=\"userPassword\"\r\n                          v-model=\"user.password\"\r\n                          data-vv-as=\"Password\"\r\n                        />\r\n                        <div class=\"invalid-feedback\">{{ errors.first('userPassword') }}</div>\r\n                      </div>\r\n                      <div class=\"col-md-6 mb-3\">\r\n                        <label for=\"userPasswordConfirm\">Confirm Password</label>\r\n                        <input\r\n                          id=\"userPasswordConfirm\"\r\n                          name=\"userPasswordConfirm\"\r\n                          type=\"password\"\r\n                          class=\"form-control\"\r\n                          :class=\"{ 'is-invalid': errors.has('userPasswordConfirm') }\"\r\n                          placeholder=\"Enter Password Confirmation\"\r\n                          autocomplete=\"off\"\r\n                          v-validate=\"{ required: isPasswordConfirmRequired(), confirmed: 'userPassword' }\"\r\n                          data-vv-as=\"Password Confirm\"\r\n                        />\r\n                        <div\r\n                          class=\"invalid-feedback\"\r\n                        >'Confirm Password' and 'Password' do not match.</div>\r\n                      </div>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n              <div class=\"card mt-3\" v-if=\"user.companies.length\">\r\n                <div class=\"card-body\">\r\n                  <h5 class=\"card-title\">My Companies</h5>\r\n                  <hr />\r\n                  <div class=\"card-text\">\r\n                    <div v-for=\"(company, index) in user.companies\" :key=\"'user-company-' + index\">\r\n\r\n                      <div class=\"d-flex justify-content-between\">\r\n                        <h5 class=\"mb-3\"> {{ company.name }} </h5>\r\n\r\n                        <span v-if=\"$permissions().hasEditCompanyPermission\">\r\n                          <router-link :to=\"'/company/edit/' + company.id\" title=\"Go to company profile\" class=\"btn btn-success mb-2\">\r\n                            <i class=\"far fa-edit\"></i>\r\n                            Edit Company Profile\r\n                          </router-link>\r\n                        </span>\r\n                      </div>\r\n\r\n                      <table class=\"table\">\r\n                        <thead>\r\n                          <tr>\r\n                            <th scope=\"col\">Zone</th>\r\n                            <th scope=\"col\">Membership Level</th>\r\n                            <th scope=\"col\">Expiry Date</th>\r\n                          </tr>\r\n                        </thead>\r\n                        <tbody>\r\n                          <tr v-for=\"(membership, index) in company.memberships\" :key=\"'company-membership-' + index\">\r\n                            <td>{{ membership.zone }}</td>\r\n                            <td>{{ membership.role }}</td>\r\n                            <td>{{ membership.expiryDate | datetime }}</td>\r\n                          </tr>\r\n                        </tbody>\r\n                      </table>\r\n                    </div>\r\n                  </div>\r\n                </div>\r\n              </div>\r\n\r\n              <hr />\r\n\r\n              <div class=\"row d-flex justify-content-end mt-2\">\r\n                <menu class=\"d-flex align-items-center justify-content-end m-0\">\r\n                  <button type=\"submit\" class=\"btn btn-success btn-lg ld-ext-right\" :class=\"{ 'running' : isSaving }\" :disabled=\"isSaving\">\r\n                    <i class=\"far fa-save\"></i>\r\n                    <span class=\"ml-2\"> Update </span>\r\n                    <div class=\"ld ld-ring ld-spin\"></div>\r\n                  </button>\r\n                </menu>\r\n              </div>\r\n            </form>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </fragment>\r\n</template>\r\n\r\n<script>\r\nimport { mapGetters, mapActions } from \"vuex\";\r\nimport AppNavBar from \"@/components/app-navbar.vue\";\r\nimport Toast from \"@/utils/toast\";\r\n\r\nexport default {\r\n  name: \"account-settings\",\r\n  components: { \"app-navbar\": AppNavBar },\r\n  data: function() {\r\n    return {\r\n      isSaving: false,\r\n      isPageLoading: true,\r\n      user: {\r\n        id: null,\r\n        firstName: null,\r\n        lastName: null,\r\n        email: null,\r\n        password: null,\r\n        emailOptOut: false\r\n      }\r\n    };\r\n  },\r\n  computed: {\r\n    ...mapGetters([\"getCurrentUser\"])\r\n  },\r\n  methods: {\r\n    isPasswordConfirmRequired() {\r\n      if (!this.$refs.userPassword) return false;\r\n      return this.$refs.userPassword.value.length > 0;\r\n    },\r\n    async onSubmit() {\r\n      var isFormValid = await this.$validator.validate();\r\n\r\n      if (!isFormValid) {\r\n        return;\r\n      }\r\n\r\n      this.isSaving = true;\r\n      this.updateUser(this.user)\r\n        .then(user => {\r\n          this.isSaving = false;\r\n          this.setCurrentUser(user);\r\n          Toast.success(this, \"Successfully updated user!\");\r\n        })\r\n        .catch(() => {\r\n          this.isSaving = false;\r\n          Toast.danger(this, \"Oops! An error has occured.\");\r\n        });\r\n    },\r\n    ...mapActions([\"fetchUser\", \"updateUser\", \"setCurrentUser\"])\r\n  },\r\n  mounted() {\r\n    let _user = this.getCurrentUser;\r\n\r\n    this.fetchUser(_user.id).then(user => {\r\n      let { id, firstName, lastName, email, companies, emailOptOut } = user;\r\n      this.user = { id, firstName, lastName, email, companies, emailOptOut };\r\n      this.isPageLoading = false;\r\n    });\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!./settings.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!./settings.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./settings.vue?vue&type=template&id=a6788968&\"\nimport script from \"./settings.vue?vue&type=script&lang=js&\"\nexport * from \"./settings.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"navbar navbar-expand-lg navbar-dark bg-primary\"},[_c('div',{staticClass:\"dropdown\"},[_c('router-link',{attrs:{\"to\":\"/dashboard\",\"title\":\"Link to Dashboard\"}},[_c('img',{staticClass:\"mr-2\",attrs:{\"src\":\"/img/navbar-logo.png\",\"alt\":\"logo\",\"height\":\"40\"}})])],1),_vm._m(0),_c('div',{staticClass:\"collapse navbar-collapse d-lg-flex justify-content-end\",attrs:{\"id\":\"navbarNavDropdown\"}},[(_vm.getCurrentUser)?_c('ul',{staticClass:\"navbar-nav mr-auto ml-3\"},[_c('li',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link text-white\",attrs:{\"to\":\"/dashboard\",\"title\":\"Link to Dashboard\"}},[_vm._v(\"Dashboard\")])],1),_c('li',{staticClass:\"nav-item dropdown\"},[_c('a',{staticClass:\"nav-link dropdown-toggle text-white\",attrs:{\"href\":\"#\",\"role\":\"button\",\"data-toggle\":\"dropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"false\"}},[_vm._v(\"Projects\")]),_c('div',{staticClass:\"dropdown-menu\"},[_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/project/search\",\"href\":\"#\",\"title\":\"Link to Project Search\"}},[_vm._v(\"Project Search\")]),(_vm.$permissions().hasAddProjectPermission || _vm.$permissions().hasAddPrivateProjectPermission)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/project/new\",\"href\":\"#\",\"title\":\"Link to Add Project\"}},[_vm._v(\"Add Project\")]):_vm._e()],1)]),(_vm.$permissions().hasViewCompanyPermission)?_c('li',{staticClass:\"nav-item dropdown\"},[_c('a',{staticClass:\"nav-link dropdown-toggle text-white\",attrs:{\"href\":\"#\",\"role\":\"button\",\"data-toggle\":\"dropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"false\"}},[_vm._v(\"Companies\")]),_c('div',{staticClass:\"dropdown-menu\"},[_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/company/search\",\"href\":\"#\",\"title\":\"Link to Company Search\"}},[_vm._v(\"Company Search\")]),(_vm.$permissions().hasAddCompanyPermission)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/company/new\",\"href\":\"#\",\"title\":\"Link to Add Company\"}},[_vm._v(\"Add Company\")]):_vm._e()],1)]):_vm._e(),(_vm.$permissions().hasConfigurePermissions)?_c('li',{staticClass:\"nav-item dropdown\"},[_c('a',{staticClass:\"nav-link dropdown-toggle text-white\",attrs:{\"href\":\"#\",\"role\":\"button\",\"data-toggle\":\"dropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"false\"}},[_vm._v(\"Configure\")]),_c('div',{staticClass:\"dropdown-menu\"},[(_vm.$permissions().hasSendBidInvitations)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/addressbook\",\"title\":\"Link to Address Books\"}},[_vm._v(\"Address Books\")]):_vm._e(),(_vm.$permissions().hasViewAdvertisementPermission)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/advertisements\",\"title\":\"Link to Advertisements\"}},[_vm._v(\"Advertisements\")]):_vm._e(),(_vm.$permissions().isSysAdmin)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/contact-types\",\"title\":\"Link to Contact Types\"}},[_vm._v(\"Contact Types\")]):_vm._e(),(_vm.isNewsAvailable)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/news\",\"title\":\"Link to News\"}},[_vm._v(\"News\")]):_vm._e(),(_vm.$permissions().hasViewOwnerPermission)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/owners\",\"title\":\"Link to Owners\"}},[_vm._v(\"Owners\")]):_vm._e(),(_vm.$permissions().isSysAdmin)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/owner-types\",\"title\":\"Link to Owner Types\"}},[_vm._v(\"Owner Types\")]):_vm._e(),(_vm.$permissions().isSysAdmin)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/participant-types\",\"title\":\"Link to Participant Types\"}},[_vm._v(\"Participant Types\")]):_vm._e(),(_vm.isPaymentReportsAvailable)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/payments\",\"title\":\"Link to Payment Reports\"}},[_vm._v(\"Payment Reports\")]):_vm._e(),(_vm.$permissions().isSysAdmin)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/procurement-types\",\"title\":\"Link to Procurement Types\"}},[_vm._v(\"Procurement Types\")]):_vm._e(),(_vm.$permissions().hasViewRolePermission)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/roles\",\"title\":\"Link to Roles\"}},[_vm._v(\"Roles\")]):_vm._e(),(_vm.$permissions().hasViewServiceRegionPermission)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/service-regions\",\"title\":\"Link to Service Regions\"}},[_vm._v(\"Service Regions\")]):_vm._e(),(_vm.$permissions().isSysAdmin)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/tender-stages\",\"title\":\"Link to Tender Stages\"}},[_vm._v(\"Tender Stages\")]):_vm._e(),(_vm.$permissions().isSysAdmin)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/trade-agreements\",\"title\":\"Link to Trade Agreements\"}},[_vm._v(\"Trade Agreements\")]):_vm._e(),(_vm.$permissions().hasViewUserPermission)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/users\",\"title\":\"Link to Users\"}},[_vm._v(\"Users\")]):_vm._e(),(_vm.$permissions().hasViewZonePermission)?_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/configuration/zones\",\"title\":\"Link to Zones\"}},[_vm._v(\"Zones\")]):_vm._e()],1)]):_vm._e(),(_vm.isBidCentralClient)?_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-white\",attrs:{\"href\":_vm.myPlanroomLink,\"target\":\"_blank\",\"title\":\"Link to myplanroom\"}},[_vm._v(\"myPlanroom\")])]):_vm._e(),(_vm.isBidCentralClient)?_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-white\",attrs:{\"href\":_vm.permitsLink,\"target\":\"_blank\",\"title\":\"Link to Permits\"}},[_vm._v(\"Permits\")])]):_vm._e(),(_vm.usePublicDirectoryLink)?_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link text-white\",attrs:{\"href\":_vm.publicDirectoryLink,\"target\":\"_blank\",\"title\":\"Link to Public Directory\"}},[_vm._v(\"Directory\")])]):_vm._e()]):_vm._e(),(_vm.getCurrentUser)?_c('div',{staticClass:\"nav-item dropdown\"},[_c('a',{staticClass:\"nav-link text-white dropdown-toggle p-0\",attrs:{\"href\":\"#\",\"id\":\"navbarDropdownUser\",\"role\":\"button\",\"data-toggle\":\"dropdown\",\"aria-haspopup\":\"true\",\"aria-expanded\":\"false\"}},[_c('app-avatar',{staticClass:\"mr-2\",attrs:{\"name\":_vm.getUserName,\"size\":40}}),_c('span',[_vm._v(_vm._s(_vm.getUserName))])],1),_c('div',{staticClass:\"dropdown-menu dropdown-menu-right\",attrs:{\"aria-labelledby\":\"navbarDropdownUser\"}},[_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/account/settings\",\"title\":\"Link to Account\"}},[_vm._v(\"Account\")]),(_vm.isMembershipPurchaseAvailable)?_c('button',{staticClass:\"dropdown-item\",attrs:{\"title\":\"Link to Account\"},on:{\"click\":_vm.toUpgradeMembership}},[_vm._v(\"Upgrade Membership\")]):_vm._e(),_c('router-link',{staticClass:\"dropdown-item\",attrs:{\"to\":\"/logout\",\"title\":\"Link to Logout\"}},[_vm._v(\"Logout\")])],1)]):_vm._e(),(!_vm.getCurrentUser)?_c('div',{staticClass:\"nav-item\"},[_c('router-link',{staticClass:\"nav-link text-white\",attrs:{\"to\":\"/login\",\"href\":\"#\",\"title\":\"Click to go to Login Page\"}},[_vm._v(\"Login\")])],1):_vm._e()])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"navbar-toggler text-white\",attrs:{\"type\":\"button\",\"data-toggle\":\"collapse\",\"data-target\":\"#navbarNavDropdown\",\"aria-controls\":\"navbarNavDropdown\",\"aria-expanded\":\"false\",\"aria-label\":\"Toggle navigation\"}},[_c('span',{staticClass:\"navbar-toggler-icon\"})])}]\n\nexport { render, staticRenderFns }","<template>\r\n    <nav class=\"navbar navbar-expand-lg navbar-dark bg-primary\">\r\n      <div class=\"dropdown\">\r\n        <router-link to=\"/dashboard\" title=\"Link to Dashboard\">\r\n          <img src=\"/img/navbar-logo.png\" class=\"mr-2\" alt=\"logo\" height=\"40\"/>\r\n        </router-link>\r\n      </div>\r\n\r\n      <button\r\n        class=\"navbar-toggler text-white\"\r\n        type=\"button\"\r\n        data-toggle=\"collapse\"\r\n        data-target=\"#navbarNavDropdown\"\r\n        aria-controls=\"navbarNavDropdown\"\r\n        aria-expanded=\"false\"\r\n        aria-label=\"Toggle navigation\"\r\n      >\r\n        <span class=\"navbar-toggler-icon\"></span>\r\n      </button>\r\n\r\n      <div class=\"collapse navbar-collapse d-lg-flex justify-content-end\" id=\"navbarNavDropdown\">\r\n        <ul class=\"navbar-nav mr-auto ml-3\" v-if=\"getCurrentUser\">\r\n          <li class=\"nav-item\">\r\n              <router-link to=\"/dashboard\" class=\"nav-link text-white\" title=\"Link to Dashboard\">Dashboard</router-link>\r\n          </li>\r\n\r\n          <li class=\"nav-item dropdown\">\r\n            <a class=\"nav-link dropdown-toggle text-white\" href=\"#\" role=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">Projects</a>\r\n            <div class=\"dropdown-menu\">\r\n              <router-link to=\"/project/search\" class=\"dropdown-item\" href=\"#\" title=\"Link to Project Search\">Project Search</router-link>\r\n              <router-link v-if=\"$permissions().hasAddProjectPermission || $permissions().hasAddPrivateProjectPermission\" to=\"/project/new\" class=\"dropdown-item\" href=\"#\" title=\"Link to Add Project\">Add Project</router-link>\r\n            </div>\r\n          </li>\r\n\r\n          <li class=\"nav-item dropdown\" v-if=\"$permissions().hasViewCompanyPermission\">\r\n            <a class=\"nav-link dropdown-toggle text-white\" href=\"#\" role=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">Companies</a>\r\n            <div class=\"dropdown-menu\">\r\n              <router-link to=\"/company/search\" class=\"dropdown-item\" href=\"#\" title=\"Link to Company Search\">Company Search</router-link>\r\n              <router-link v-if=\"$permissions().hasAddCompanyPermission\" to=\"/company/new\" class=\"dropdown-item\" href=\"#\" title=\"Link to Add Company\">Add Company</router-link>\r\n            </div>\r\n          </li>\r\n\r\n          <li class=\"nav-item dropdown\" v-if=\"$permissions().hasConfigurePermissions\">\r\n            <a class=\"nav-link dropdown-toggle text-white\" href=\"#\" role=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">Configure</a>\r\n            <div class=\"dropdown-menu\">\r\n              <router-link v-if=\"$permissions().hasSendBidInvitations\" to=\"/configuration/addressbook\" class=\"dropdown-item\" title=\"Link to Address Books\">Address Books</router-link>\r\n              <router-link v-if=\"$permissions().hasViewAdvertisementPermission\" to=\"/configuration/advertisements\" class=\"dropdown-item\" title=\"Link to Advertisements\">Advertisements</router-link>\r\n              <router-link v-if=\"$permissions().isSysAdmin\" to=\"/configuration/contact-types\" class=\"dropdown-item\" title=\"Link to Contact Types\">Contact Types</router-link>\r\n              <router-link v-if=\"isNewsAvailable\" to=\"/configuration/news\" class=\"dropdown-item\" title=\"Link to News\">News</router-link>\r\n              <router-link v-if=\"$permissions().hasViewOwnerPermission\" to=\"/configuration/owners\" class=\"dropdown-item\" title=\"Link to Owners\">Owners</router-link>\r\n              <router-link v-if=\"$permissions().isSysAdmin\" to=\"/configuration/owner-types\" class=\"dropdown-item\" title=\"Link to Owner Types\">Owner Types</router-link>\r\n              <router-link v-if=\"$permissions().isSysAdmin\" to=\"/configuration/participant-types\" class=\"dropdown-item\" title=\"Link to Participant Types\">Participant Types</router-link>\r\n              <router-link v-if=\"isPaymentReportsAvailable\" to=\"/configuration/payments\" class=\"dropdown-item\" title=\"Link to Payment Reports\">Payment Reports</router-link>\r\n              <router-link v-if=\"$permissions().isSysAdmin\" to=\"/configuration/procurement-types\" class=\"dropdown-item\" title=\"Link to Procurement Types\">Procurement Types</router-link>\r\n              <router-link v-if=\"$permissions().hasViewRolePermission\" to=\"/configuration/roles\" class=\"dropdown-item\" title=\"Link to Roles\">Roles</router-link>\r\n              <router-link v-if=\"$permissions().hasViewServiceRegionPermission\" to=\"/configuration/service-regions\" class=\"dropdown-item\" title=\"Link to Service Regions\">Service Regions</router-link>\r\n              <router-link v-if=\"$permissions().isSysAdmin\" to=\"/configuration/tender-stages\" class=\"dropdown-item\" title=\"Link to Tender Stages\">Tender Stages</router-link>\r\n              <router-link v-if=\"$permissions().isSysAdmin\" to=\"/configuration/trade-agreements\" class=\"dropdown-item\" title=\"Link to Trade Agreements\">Trade Agreements</router-link>\r\n              <router-link v-if=\"$permissions().hasViewUserPermission\" to=\"/configuration/users\" class=\"dropdown-item\" title=\"Link to Users\">Users</router-link>\r\n              <router-link v-if=\"$permissions().hasViewZonePermission\" to=\"/configuration/zones\" class=\"dropdown-item\" title=\"Link to Zones\">Zones</router-link>\r\n            </div>\r\n          </li>\r\n\r\n          <li class=\"nav-item\" v-if=\"isBidCentralClient\">\r\n            <a :href=\"myPlanroomLink\" class=\"nav-link text-white\" target=\"_blank\" title=\"Link to myplanroom\">myPlanroom</a>\r\n          </li>\r\n\r\n          <li class=\"nav-item\" v-if=\"isBidCentralClient\">\r\n            <a :href=\"permitsLink\" class=\"nav-link text-white\" target=\"_blank\" title=\"Link to Permits\">Permits</a>\r\n          </li>\r\n\r\n          <li class=\"nav-item\" v-if=\"usePublicDirectoryLink\">\r\n            <a :href=\"publicDirectoryLink\" class=\"nav-link text-white\" target=\"_blank\" title=\"Link to Public Directory\">Directory</a>\r\n          </li>\r\n        </ul>\r\n\r\n        <div class=\"nav-item dropdown\" v-if=\"getCurrentUser\">\r\n          <a class=\"nav-link text-white dropdown-toggle p-0\" href=\"#\" id=\"navbarDropdownUser\" role=\"button\" data-toggle=\"dropdown\" aria-haspopup=\"true\" aria-expanded=\"false\">\r\n            <app-avatar class=\"mr-2\" :name=\"getUserName\" :size=\"40\"></app-avatar>\r\n            <span>{{ getUserName }}</span>\r\n          </a>\r\n          <div class=\"dropdown-menu dropdown-menu-right\" aria-labelledby=\"navbarDropdownUser\">\r\n            <router-link to=\"/account/settings\" class=\"dropdown-item\" title=\"Link to Account\">Account</router-link>\r\n            <button v-if=\"isMembershipPurchaseAvailable\" @click=\"toUpgradeMembership\" class=\"dropdown-item\" title=\"Link to Account\">Upgrade Membership</button>\r\n            <router-link to=\"/logout\" class=\"dropdown-item\" title=\"Link to Logout\">Logout</router-link>\r\n          </div>\r\n        </div>\r\n\r\n        <div class=\"nav-item\" v-if=\"!getCurrentUser\">\r\n          <router-link to=\"/login\" class=\"nav-link text-white\" href=\"#\" title=\"Click to go to Login Page\">Login</router-link>\r\n        </div>\r\n      </div>\r\n    </nav>\r\n</template>\r\n\r\n<script>\r\nimport { mapGetters, mapActions } from 'vuex'\r\nimport Avatar from '@/components/app-avatar.vue';\r\nimport Toast from \"@/utils/toast\";\r\n\r\nexport default {\r\n  name: 'app-navbar',\r\n  components: { 'app-avatar': Avatar },\r\n  data: function () {\r\n    return {\r\n      publicDirectoryLink: null,\r\n      useMembershipPayment: false,\r\n      useNews: false,\r\n      usePaymentReports: false,\r\n      usePublicDirectoryLink: false,\r\n      myPlanroomLink: \"https://apps.bidcentral.ca/my-planroom/\",\r\n      permitsLink: \"https://apps.bidcentral.ca/permits/\"\r\n    }\r\n  },\r\n  computed: {\r\n    getUserName: function () {\r\n      return `${ this.getCurrentUser.firstName } ${ this.getCurrentUser.lastName }`\r\n    },\r\n    getCurrentRoute() {      \r\n      return this.$router.name\r\n    },\r\n    hasCompanies () {\r\n      return !!this.getCurrentUser.companies.length;\r\n    },\r\n    hasPaidMembership () {    \r\n      var roles = []\r\n      this.getUser.companies.forEach(company => \r\n        company.memberships.forEach(\r\n            membership => {\r\n            roles.push(membership.role.toLowerCase())\r\n      }))\r\n      return roles.some(c => c !== \"public sign up membership\")\r\n    },\r\n    isBidCentralClient () {\r\n      return process.env.VUE_APP_TENANT_NAME.toLowerCase().includes('bidcentral')\r\n    },\r\n    isMembershipPurchaseAvailable () {\r\n      if (!this.useMembershipPayment) {\r\n        return false;\r\n      }\r\n      return !this.$permissions().isSysAdmin && !this.$permissions().isClientAdmin && this.hasCompanies;\r\n    },\r\n    isNewsAvailable () {\r\n      if (!this.useNews) {\r\n        return false;\r\n      }\r\n      return this.$permissions().isSysAdmin || this.$permissions().isClientAdmin;\r\n    },\r\n    isPaymentReportsAvailable () {\r\n      if (!this.usePaymentReports) {\r\n        return false;\r\n      }\r\n      return this.$permissions().hasViewPaymentPermission;\r\n    },\r\n    ...mapGetters([\"getUser\",\"getCurrentUser\", \"getUseDisplayNews\", \"getPublicDirectoryLink\", \"getUseMembershipPayment\", \"getUsePaymentReports\"])\r\n  },\r\n  methods: {\r\n    ...mapActions([\"fetchClientSettings\", \"fetchUser\"]),\r\n\r\n    toUpgradeMembership(){\r\n      if(this.$router.history.current.path !== \"/membership/upgrade\"){\r\n        if(this.isMembershipPurchaseAvailable && this.hasPaidMembership){\r\n        this.$router.push('/membership/upgrade')\r\n        }else{\r\n          var message = this.$createElement(\"span\", {},\r\n            [\" If you currently have a free public membership please contact your local association to upgrade your membership. See list of associations \", \r\n              this.$createElement('a',{attrs: {href: 'https://www.link2build.ca/about/become-a-member/', target: '_blank'}}, ['here'])]\r\n          );\r\n          \r\n          Toast.danger(this, [message], { autoHideDelay: 15000 });          \r\n        }\r\n      }            \r\n    }\r\n  },\r\n  created () {\r\n    this.fetchClientSettings().then(() => {\r\n      this.usePublicDirectoryLink = !!this.getPublicDirectoryLink;\r\n      this.publicDirectoryLink = this.getPublicDirectoryLink;\r\n      this.useMembershipPayment = (this.getUseMembershipPayment || '').toUpperCase() === 'TRUE';\r\n      this.useNews = (this.getUseDisplayNews || '').toUpperCase() === 'TRUE';\r\n      this.usePaymentReports = (this.getUsePaymentReports || '').toUpperCase() === 'TRUE';\r\n      this.fetchUser(this.getCurrentUser.id)\r\n    });\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!./app-navbar.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!./app-navbar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./app-navbar.vue?vue&type=template&id=3d1be955&\"\nimport script from \"./app-navbar.vue?vue&type=script&lang=js&\"\nexport * from \"./app-navbar.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","const defaultOptions = {\r\n  noCloseButton: true,\r\n  autoHideDelay: 3000,\r\n  toaster: \"b-toaster-top-right\",\r\n  isStatus: true\r\n};\r\n\r\nconst success = function (context, message, overrideOptions) {\r\n  let options = { variant: 'success', ...defaultOptions, ...overrideOptions };\r\n  context.$root.$bvToast.toast(message, options);\r\n}\r\n\r\nconst danger = function (context, message, overrideOptions) {\r\n  let options = { variant: 'danger', ...defaultOptions, ...overrideOptions };\r\n  context.$root.$bvToast.toast(message, options);\r\n}\r\n\r\nexport default { success, danger }\r\n"],"sourceRoot":""}