{"version":3,"sources":["webpack:///./src/components/BaseAppProfileAvatar.vue?0de8","webpack:///./src/components/BaseAppProfileAvatar.vue","webpack:///src/components/BaseAppProfileAvatar.vue","webpack:///./src/components/BaseAppProfileAvatar.vue?81e2","webpack:///./src/components/BaseAppProfileAvatar.vue?6c34","webpack:///../../../src/components/VGrid/VRow.ts","webpack:///./src/views/Profile.vue?691c","webpack:///../../../src/components/VGrid/VCol.ts","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///./src/views/Profile.vue","webpack:///src/views/Profile.vue","webpack:///./src/views/Profile.vue?da83","webpack:///./src/views/Profile.vue?35ee","webpack:///../../../src/components/VChip/VChip.ts"],"names":["staticClass","attrs","size","get_avatar","computedAvatarHover","_vm","_v","staticRenderFns","name","props","data","loading","imageError","mutableAvatarHover","computed","mapGetters","get","set","value","mounted","watch","avatarHover","component","breakpoints","ALIGNMENT","makeProps","prefix","def","reduce","val","upperFirst","alignValidator","str","includes","alignProps","type","String","default","validator","justifyValidator","justifyProps","alignContentValidator","alignContentProps","propMap","align","Object","keys","justify","alignContent","classMap","breakpointClass","prop","className","breakpoint","replace","toLowerCase","cache","Map","Vue","extend","functional","tag","dense","Boolean","noGutters","render","h","children","cacheKey","classList","forEach","push","mergeData","class","breakpointProps","Number","offsetProps","orderProps","col","offset","order","cols","alignSelf","parent","hasColClasses","some","startsWith","VGrid","id","trim","classes","filter","key","length","join","domProps","Grid","fluid","Array","concat","_c","staticStyle","onFilePicked","get_user","company","email","model","callback","newPassword","$$v","confirmPassword","showError","on","components","BaseAppProfileAvatar","globalSearch","oldPassword","dialog","errorMsg","timeout","imageFile","methods","mapActions","changePassword","change_password","password","new_password","then","get_error","pickFile","$refs","image","click","e","files","target","undefined","fr","FileReader","readAsDataURL","addEventListener","prevUrl","result","upload","file","upload_avatar","globalSearchHandler","$event","closeDialog","mixins","Colorable","Sizeable","Routable","Themeable","GroupableFactory","ToggleableFactory","active","activeClass","this","chipGroup","close","closeIcon","closeLabel","disabled","draggable","filterIcon","label","link","outlined","pill","textColor","proxyClass","options","call","isClickable","isLink","color","hasClose","themeClasses","sizeableClasses","groupClasses","created","breakingProps","original","replacement","$attrs","hasOwnProperty","breaking","$emit","toggle","genFilter","isActive","$createElement","VIcon","left","VExpandXTransition","genClose","right","$vuetify","lang","t","stopPropagation","preventDefault","genContent","getSlot","generateRouteLink","tabindex","directives","setBackgroundColor","setTextColor"],"mappings":"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","file":"js/profile.js?id=f4aca706380746132a62","sourcesContent":["export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseAppProfileAvatar.vue?vue&type=style&index=0&id=572ce511&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-avatar',{staticClass:\"rounded-sm\",attrs:{\"size\":_vm.size}},[(_vm.get_avatar)?[(_vm.loading)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}}):_c('img',{staticClass:\"user-image-border\",attrs:{\"src\":_vm.get_avatar}})]:[_c('v-avatar',{staticClass:\"rounded-sm\",attrs:{\"color\":\"primary\",\"size\":_vm.size}},[(!_vm.computedAvatarHover)?_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\" mdi-account-circle \")]):_vm._e()],1)]],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <v-avatar class=\"rounded-sm\" :size=\"size\">\n    <template v-if=\"get_avatar\">\n      <v-progress-circular\n        v-if=\"loading\"\n        indeterminate\n        color=\"primary\"\n      ></v-progress-circular>\n      <img v-else class=\"user-image-border\" :src=\"get_avatar\" />\n    </template>\n    <template v-else>\n      <v-avatar class=\"rounded-sm\" color=\"primary\" :size=\"size\">\n        <v-icon v-if=\"!computedAvatarHover\" dark> mdi-account-circle </v-icon>\n      </v-avatar>\n    </template>\n  </v-avatar>\n</template>\n<script>\nimport { mapGetters } from 'vuex';\n\nexport default {\n  name: 'BaseAppProfileAvatar',\n  props: ['size', 'avatarHover'],\n  data() {\n    return {\n      loading: true,\n      imageError: false,\n      mutableAvatarHover: false,\n    };\n  },\n  computed: {\n    ...mapGetters('avatar', ['get_avatar']),\n    computedAvatarHover: {\n      get() {\n        return this.mutableAvatarHover;\n      },\n      set(value) {\n        this.mutableAvatarHover = value;\n      },\n    },\n  },\n  mounted() {\n    this.loading = false;\n  },\n  watch: {\n    avatarHover(value) {\n      this.computedAvatarHover = value;\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n</style>\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!./BaseAppProfileAvatar.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!./BaseAppProfileAvatar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BaseAppProfileAvatar.vue?vue&type=template&id=572ce511&scoped=true\"\nimport script from \"./BaseAppProfileAvatar.vue?vue&type=script&lang=js\"\nexport * from \"./BaseAppProfileAvatar.vue?vue&type=script&lang=js\"\nimport style0 from \"./BaseAppProfileAvatar.vue?vue&type=style&index=0&id=572ce511&prod&lang=scss&scoped=true\"\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  \"572ce511\",\n  null\n  \n)\n\nexport default component.exports","import './VGrid.sass'\n\nimport Vue, { PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst ALIGNMENT = ['start', 'end', 'center']\n\nfunction makeProps (prefix: string, def: () => PropOptions) {\n  return breakpoints.reduce((props, val) => {\n    props[prefix + upperFirst(val)] = def()\n    return props\n  }, {} as Dictionary<PropOptions>)\n}\n\nconst alignValidator = (str: any) => [...ALIGNMENT, 'baseline', 'stretch'].includes(str)\nconst alignProps = makeProps('align', () => ({\n  type: String,\n  default: null,\n  validator: alignValidator,\n}))\n\nconst justifyValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around'].includes(str)\nconst justifyProps = makeProps('justify', () => ({\n  type: String,\n  default: null,\n  validator: justifyValidator,\n}))\n\nconst alignContentValidator = (str: any) => [...ALIGNMENT, 'space-between', 'space-around', 'stretch'].includes(str)\nconst alignContentProps = makeProps('alignContent', () => ({\n  type: String,\n  default: null,\n  validator: alignContentValidator,\n}))\n\nconst propMap = {\n  align: Object.keys(alignProps),\n  justify: Object.keys(justifyProps),\n  alignContent: Object.keys(alignContentProps),\n}\n\nconst classMap = {\n  align: 'align',\n  justify: 'justify',\n  alignContent: 'align-content',\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: string) {\n  let className = classMap[type]\n  if (val == null) {\n    return undefined\n  }\n  if (prop) {\n    // alignSm -> Sm\n    const breakpoint = prop.replace(type, '')\n    className += `-${breakpoint}`\n  }\n  // .align-items-sm-center\n  className += `-${val}`\n  return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n  name: 'v-row',\n  functional: true,\n  props: {\n    tag: {\n      type: String,\n      default: 'div',\n    },\n    dense: Boolean,\n    noGutters: Boolean,\n    align: {\n      type: String,\n      default: null,\n      validator: alignValidator,\n    },\n    ...alignProps,\n    justify: {\n      type: String,\n      default: null,\n      validator: justifyValidator,\n    },\n    ...justifyProps,\n    alignContent: {\n      type: String,\n      default: null,\n      validator: alignContentValidator,\n    },\n    ...alignContentProps,\n  },\n  render (h, { props, data, children }) {\n    // Super-fast memoization based on props, 5x faster than JSON.stringify\n    let cacheKey = ''\n    for (const prop in props) {\n      cacheKey += String((props as any)[prop])\n    }\n    let classList = cache.get(cacheKey)\n\n    if (!classList) {\n      classList = []\n      // Loop through `align`, `justify`, `alignContent` breakpoint props\n      let type: keyof typeof propMap\n      for (type in propMap) {\n        propMap[type].forEach(prop => {\n          const value: string = (props as any)[prop]\n          const className = breakpointClass(type, prop, value)\n          if (className) classList!.push(className)\n        })\n      }\n\n      classList.push({\n        'no-gutters': props.noGutters,\n        'row--dense': props.dense,\n        [`align-${props.align}`]: props.align,\n        [`justify-${props.justify}`]: props.justify,\n        [`align-content-${props.alignContent}`]: props.alignContent,\n      })\n\n      cache.set(cacheKey, classList)\n    }\n\n    return h(\n      props.tag,\n      mergeData(data, {\n        staticClass: 'row',\n        class: classList,\n      }),\n      children\n    )\n  },\n})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Profile.vue?vue&type=style&index=0&id=2813e5ce&prod&lang=scss&scoped=true\"","import './VGrid.sass'\n\nimport Vue, { VNode, PropOptions } from 'vue'\nimport mergeData from '../../util/mergeData'\nimport { upperFirst } from '../../util/helpers'\n\n// no xs\nconst breakpoints = ['sm', 'md', 'lg', 'xl']\n\nconst breakpointProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props[val] = {\n      type: [Boolean, String, Number],\n      default: false,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst offsetProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props['offset' + upperFirst(val)] = {\n      type: [String, Number],\n      default: null,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst orderProps = (() => {\n  return breakpoints.reduce((props, val) => {\n    props['order' + upperFirst(val)] = {\n      type: [String, Number],\n      default: null,\n    }\n    return props\n  }, {} as Dictionary<PropOptions>)\n})()\n\nconst propMap = {\n  col: Object.keys(breakpointProps),\n  offset: Object.keys(offsetProps),\n  order: Object.keys(orderProps),\n}\n\nfunction breakpointClass (type: keyof typeof propMap, prop: string, val: boolean | string | number) {\n  let className = type\n  if (val == null || val === false) {\n    return undefined\n  }\n  if (prop) {\n    const breakpoint = prop.replace(type, '')\n    className += `-${breakpoint}`\n  }\n  // Handling the boolean style prop when accepting [Boolean, String, Number]\n  // means Vue will not convert <v-col sm></v-col> to sm: true for us.\n  // Since the default is false, an empty string indicates the prop's presence.\n  if (type === 'col' && (val === '' || val === true)) {\n    // .col-md\n    return className.toLowerCase()\n  }\n  // .order-md-6\n  className += `-${val}`\n  return className.toLowerCase()\n}\n\nconst cache = new Map<string, any[]>()\n\nexport default Vue.extend({\n  name: 'v-col',\n  functional: true,\n  props: {\n    cols: {\n      type: [Boolean, String, Number],\n      default: false,\n    },\n    ...breakpointProps,\n    offset: {\n      type: [String, Number],\n      default: null,\n    },\n    ...offsetProps,\n    order: {\n      type: [String, Number],\n      default: null,\n    },\n    ...orderProps,\n    alignSelf: {\n      type: String,\n      default: null,\n      validator: (str: any) => ['auto', 'start', 'end', 'center', 'baseline', 'stretch'].includes(str),\n    },\n    tag: {\n      type: String,\n      default: 'div',\n    },\n  },\n  render (h, { props, data, children, parent }): VNode {\n    // Super-fast memoization based on props, 5x faster than JSON.stringify\n    let cacheKey = ''\n    for (const prop in props) {\n      cacheKey += String((props as any)[prop])\n    }\n    let classList = cache.get(cacheKey)\n\n    if (!classList) {\n      classList = []\n      // Loop through `col`, `offset`, `order` breakpoint props\n      let type: keyof typeof propMap\n      for (type in propMap) {\n        propMap[type].forEach(prop => {\n          const value: string | number | boolean = (props as any)[prop]\n          const className = breakpointClass(type, prop, value)\n          if (className) classList!.push(className)\n        })\n      }\n\n      const hasColClasses = classList.some(className => className.startsWith('col-'))\n\n      classList.push({\n        // Default to .col if no other col-{bp}-* classes generated nor `cols` specified.\n        col: !hasColClasses || !props.cols,\n        [`col-${props.cols}`]: props.cols,\n        [`offset-${props.offset}`]: props.offset,\n        [`order-${props.order}`]: props.order,\n        [`align-self-${props.alignSelf}`]: props.alignSelf,\n      })\n\n      cache.set(cacheKey, classList)\n    }\n\n    return h(props.tag, mergeData(data, { class: classList }), children)\n  },\n})\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n  /* @vue/component */\n  return Vue.extend({\n    name: `v-${name}`,\n\n    functional: true,\n\n    props: {\n      id: String,\n      tag: {\n        type: String,\n        default: 'div',\n      },\n    },\n\n    render (h, { props, data, children }): VNode {\n      data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n      const { attrs } = data\n      if (attrs) {\n        // reset attrs to extract utility clases like pa-3\n        data.attrs = {}\n        const classes = Object.keys(attrs).filter(key => {\n          // TODO: Remove once resolved\n          // https://github.com/vuejs/vue/issues/7841\n          if (key === 'slot') return false\n\n          const value = attrs[key]\n\n          // add back data attributes like data-test=\"foo\" but do not\n          // add them as classes\n          if (key.startsWith('data-')) {\n            data.attrs![key] = value\n            return false\n          }\n\n          return value || typeof value === 'string'\n        })\n\n        if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n      }\n\n      if (props.id) {\n        data.domProps = data.domProps || {}\n        data.domProps.id = props.id\n      }\n\n      return h(props.tag, data, children)\n    },\n  })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n  name: 'v-container',\n  functional: true,\n  props: {\n    id: String,\n    tag: {\n      type: String,\n      default: 'div',\n    },\n    fluid: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  render (h, { props, data, children }) {\n    let classes\n    const { attrs } = data\n    if (attrs) {\n      // reset attrs to extract utility clases like pa-3\n      data.attrs = {}\n      classes = Object.keys(attrs).filter(key => {\n        // TODO: Remove once resolved\n        // https://github.com/vuejs/vue/issues/7841\n        if (key === 'slot') return false\n\n        const value = attrs[key]\n\n        // add back data attributes like data-test=\"foo\" but do not\n        // add them as classes\n        if (key.startsWith('data-')) {\n          data.attrs![key] = value\n          return false\n        }\n\n        return value || typeof value === 'string'\n      })\n    }\n\n    if (props.id) {\n      data.domProps = data.domProps || {}\n      data.domProps.id = props.id\n    }\n\n    return h(\n      props.tag,\n      mergeData(data, {\n        staticClass: 'container',\n        class: Array<any>({\n          'container--fluid': props.fluid,\n        }).concat(classes || []),\n      }),\n      children\n    )\n  },\n})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.get_user && _vm.get_org)?_c('div',[_c('v-container',{staticClass:\"dashboard-container pa-0\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"dashboard-container-inner px-4\"},[_c('v-card',{staticClass:\"pt-12 mb-6 pb-6 px-6 rounded-sm\",attrs:{\"elevation\":\"0\"}},[_c('v-row',{staticClass:\"width-100 common-label\"},[_c('v-col',{attrs:{\"xs\":\"12\",\"sm\":\"12\",\"md\":\"12\",\"lg\":\"4\"}},[_c('div',{staticClass:\"d-flex justify-center width-100\"},[_c('div',{attrs:{\"label\":\"Select Image\"}},[_c('div',{staticClass:\"d-flex cursor-pointer avatar-wrapper\"},[_c('div',{staticClass:\"d-flex justify-center align-center avatar-loader-wrapper\",on:{\"mouseover\":function($event){_vm.avatarHover = true},\"mouseleave\":function($event){_vm.avatarHover = false},\"click\":_vm.pickFile}},[_c('input',{ref:\"image\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"accept\":\"image/*\"},on:{\"change\":_vm.onFilePicked}}),(_vm.loading)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}}):_vm._e(),(!_vm.loading && _vm.avatarHover)?_c('v-icon',{attrs:{\"x-large\":\"\",\"dark\":\"\"}},[_vm._v(\" mdi-cloud-upload \")]):_vm._e()],1),_c('BaseAppProfileAvatar',{class:`cursor-pointer avatar-hover  ${\n                      _vm.loading && 'loading'\n                    }`,attrs:{\"size\":\"208\",\"avatarHover\":_vm.avatarHover}})],1)])]),(_vm.get_org && _vm.get_org.owner_email == _vm.get_user.email)?_c('div',{staticClass:\"d-flex justify-center width-100 mt-8\"},[_c('v-chip',{staticClass:\"rounded-sm\",attrs:{\"label\":\"\",\"color\":\"#334D6E\",\"text-color\":\"white\"}},[_vm._v(\"Owner of \"+_vm._s(_vm.get_user.company))])],1):_vm._e()]),_c('v-col',{attrs:{\"xs\":\"12\",\"sm\":\"12\",\"md\":\"12\",\"lg\":\"4\"}},[_c('div',{staticClass:\"d-flex flex-column width-100\"},[_c('span',{staticClass:\"font-size-18\"},[_vm._v(\"Basic Information\")]),_c('span',{staticClass:\"mt-6 color-3\"},[_vm._v(\"Full Name\")]),_c('span',[_vm._v(_vm._s(_vm.get_user.name))]),_c('span',{staticClass:\"mt-4 color-3\"},[_vm._v(\"Email\")]),_c('span',[_vm._v(_vm._s(_vm.get_user.email))]),_c('span',{staticClass:\"mt-4 color-3\"},[_vm._v(\"Company\")]),_c('span',[_vm._v(_vm._s(_vm.get_user.company))]),_c('div',{staticClass:\"d-flex\"},[(_vm.get_user.mc)?_c('v-col',{staticClass:\"pl-0\"},[_c('div',{staticClass:\"mt-4 color-3\"},[_vm._v(\"MC\")]),_c('div',[_vm._v(_vm._s(_vm.get_user.mc))])]):_vm._e(),(_vm.get_org.scac)?_c('v-col',{staticClass:\"pl-0\"},[_c('div',{staticClass:\"mt-4 color-3\"},[_vm._v(\"SCAC Code\")]),_c('div',[_vm._v(_vm._s(_vm.get_org.scac))])]):_vm._e()],1)])]),_c('v-col',{attrs:{\"xs\":\"12\",\"sm\":\"12\",\"md\":\"12\",\"lg\":\"4\"}},[_c('div',{staticClass:\"d-flex flex-column width-100\"},[_c('span',{staticClass:\"font-size-18\"},[_vm._v(\"Change Password\")]),_c('v-text-field',{staticClass:\"mt-6\",attrs:{\"type\":\"password\",\"placeholder\":\"Enter previous password\",\"required\":\"\"},model:{value:(_vm.oldPassword),callback:function ($$v) {_vm.oldPassword=$$v},expression:\"oldPassword\"}}),_c('v-text-field',{staticClass:\"mt-2\",attrs:{\"type\":\"password\",\"placeholder\":\"New password\",\"required\":\"\"},model:{value:(_vm.newPassword),callback:function ($$v) {_vm.newPassword=$$v},expression:\"newPassword\"}}),_c('v-text-field',{staticClass:\"mt-2\",attrs:{\"type\":\"password\",\"placeholder\":\"Confirm new password\",\"required\":\"\"},model:{value:(_vm.confirmPassword),callback:function ($$v) {_vm.confirmPassword=$$v},expression:\"confirmPassword\"}}),_c('v-btn',{staticClass:\"mt-8 rounded-sm\",attrs:{\"color\":\"#5BC1C1\",\"elevation\":\"0\",\"dark\":\"\"},on:{\"click\":_vm.changePassword}},[_vm._v(\"Change Password\")])],1)]),_c('v-snackbar',{staticClass:\"custom-snackbar rounded-sm\",attrs:{\"timeout\":_vm.timeout,\"color\":\"error\"},model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}},[_vm._v(\" \"+_vm._s(_vm.errorMsg)+\" \"),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){_vm.showError = false}}},[_vm._v(\"Close\")])],1)],1)],1)],1)]),_c('v-dialog',{attrs:{\"max-width\":\"500px\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\"Password has been changed\")]),_c('v-card-text'),_c('v-card-actions',[_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},on:{\"click\":function($event){return _vm.closeDialog()}}},[_vm._v(\"OK\")])],1)],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div v-if=\"get_user && get_org\">\n    <v-container class=\"dashboard-container pa-0\" fluid>\n      <div class=\"dashboard-container-inner px-4\">\n        <v-card class=\"pt-12 mb-6 pb-6 px-6 rounded-sm\" elevation=\"0\">\n          <v-row class=\"width-100 common-label\">\n            <v-col xs=\"12\" sm=\"12\" md=\"12\" lg=\"4\">\n              <div class=\"d-flex justify-center width-100\">\n                <div label=\"Select Image\">\n                  <div class=\"d-flex cursor-pointer avatar-wrapper\">\n                    <div\n                      class=\"d-flex justify-center align-center avatar-loader-wrapper\"\n                      @mouseover=\"avatarHover = true\"\n                      @mouseleave=\"avatarHover = false\"\n                      @click=\"pickFile\"\n                    >\n                      <input\n                        type=\"file\"\n                        style=\"display: none\"\n                        ref=\"image\"\n                        accept=\"image/*\"\n                        @change=\"onFilePicked\"\n                      />\n\n                      <v-progress-circular\n                        v-if=\"loading\"\n                        indeterminate\n                        color=\"primary\"\n                      ></v-progress-circular>\n                      <v-icon v-if=\"!loading && avatarHover\" x-large dark>\n                        mdi-cloud-upload\n                      </v-icon>\n                    </div>\n                    <BaseAppProfileAvatar\n                      size=\"208\"\n                      :class=\"`cursor-pointer avatar-hover  ${\n                        loading && 'loading'\n                      }`\"\n                      :avatarHover=\"avatarHover\"\n                    />\n                  </div>\n                </div>\n              </div>\n              <div\n                class=\"d-flex justify-center width-100 mt-8\"\n                v-if=\"get_org && get_org.owner_email == get_user.email\"\n              >\n                <v-chip\n                  class=\"rounded-sm\"\n                  label\n                  color=\"#334D6E\"\n                  text-color=\"white\"\n                  >Owner of {{ get_user.company }}</v-chip\n                >\n              </div>\n            </v-col>\n            <v-col xs=\"12\" sm=\"12\" md=\"12\" lg=\"4\">\n              <div class=\"d-flex flex-column width-100\">\n                <span class=\"font-size-18\">Basic Information</span>\n                <span class=\"mt-6 color-3\">Full Name</span>\n                <span>{{ get_user.name }}</span>\n                <span class=\"mt-4 color-3\">Email</span>\n                <span>{{ get_user.email }}</span>\n                <span class=\"mt-4 color-3\">Company</span>\n                <span>{{ get_user.company }}</span>\n                <div class=\"d-flex\">\n                  <v-col v-if=\"get_user.mc\" class=\"pl-0\">\n                    <div class=\"mt-4 color-3\">MC</div>\n                    <div>{{ get_user.mc }}</div>\n                  </v-col>\n                  <v-col v-if=\"get_org.scac\" class=\"pl-0\">\n                    <div class=\"mt-4 color-3\">SCAC Code</div>\n                    <div>{{ get_org.scac }}</div>\n                  </v-col>\n                </div>\n              </div>\n            </v-col>\n            <v-col xs=\"12\" sm=\"12\" md=\"12\" lg=\"4\">\n              <div class=\"d-flex flex-column width-100\">\n                <span class=\"font-size-18\">Change Password</span>\n                <v-text-field\n                  class=\"mt-6\"\n                  type=\"password\"\n                  placeholder=\"Enter previous password\"\n                  required\n                  v-model=\"oldPassword\"\n                ></v-text-field>\n                <v-text-field\n                  class=\"mt-2\"\n                  type=\"password\"\n                  placeholder=\"New password\"\n                  v-model=\"newPassword\"\n                  required\n                ></v-text-field>\n                <v-text-field\n                  class=\"mt-2\"\n                  type=\"password\"\n                  placeholder=\"Confirm new password\"\n                  v-model=\"confirmPassword\"\n                  required\n                ></v-text-field>\n                <v-btn\n                  class=\"mt-8 rounded-sm\"\n                  color=\"#5BC1C1\"\n                  elevation=\"0\"\n                  dark\n                  @click=\"changePassword\"\n                  >Change Password</v-btn\n                >\n              </div>\n            </v-col>\n            <v-snackbar\n              class=\"custom-snackbar rounded-sm\"\n              v-model=\"showError\"\n              :timeout=\"timeout\"\n              color=\"error\"\n            >\n              {{ errorMsg }}\n              <v-btn text @click=\"showError = false\">Close</v-btn>\n            </v-snackbar>\n          </v-row>\n        </v-card>\n      </div>\n    </v-container>\n    <v-dialog v-model=\"dialog\" max-width=\"500px\">\n      <v-card>\n        <v-card-title>Password has been changed</v-card-title>\n        <v-card-text></v-card-text>\n        <v-card-actions>\n          <v-btn color=\"primary\" text @click=\"closeDialog()\">OK</v-btn>\n        </v-card-actions>\n      </v-card>\n    </v-dialog>\n  </div>\n</template>\n\n<script>\nimport { mapActions, mapGetters } from 'vuex';\nimport BaseAppProfileAvatar from '@/components/BaseAppProfileAvatar';\n\nexport default {\n  name: 'Profile',\n  components: {\n    BaseAppProfileAvatar,\n  },\n  data() {\n    return {\n      globalSearch: null,\n      oldPassword: '',\n      newPassword: '',\n      confirmPassword: '',\n      dialog: false,\n      errorMsg: '',\n      showError: false,\n      timeout: 4000,\n\n      loading: false,\n      imageFile: '',\n\n      avatarHover: false,\n    };\n  },\n  computed: {\n    ...mapGetters('auth', ['get_user', 'get_org', 'get_error']),\n    ...mapGetters('notifications', ['get_user_notifications_length']),\n  },\n  methods: {\n    ...mapActions('auth', ['change_password']),\n    ...mapActions('avatar', ['upload_avatar']),\n    changePassword() {\n      if (this.newPassword !== this.confirmPassword) {\n        this.showError = true;\n        this.errorMsg = 'New passwords are not same';\n      } else {\n        this.change_password({\n          email: this.get_user.email,\n          password: this.oldPassword,\n          new_password: this.newPassword,\n        }).then(() => {\n          if (this.get_error) {\n            this.showError = true;\n            this.errorMsg = this.get_error;\n          } else {\n            this.dialog = true;\n          }\n        });\n      }\n    },\n    pickFile() {\n      this.$refs.image.click();\n    },\n    onFilePicked(e) {\n      const files = e.target.files;\n\n      if (files[0] !== undefined) {\n        const fr = new FileReader();\n\n        fr.readAsDataURL(files[0]);\n        fr.addEventListener('load', () => {\n          this.prevUrl = fr.result;\n          this.imageFile = files[0]; // this is an image file that can be sent to server...\n\n          this.upload(this.imageFile);\n        });\n      } else {\n        this.imageFile = '';\n        this.prevUrl = '';\n      }\n    },\n    async upload(file) {\n      this.loading = true;\n      await this.upload_avatar(file);\n      this.loading = false;\n    },\n    globalSearchHandler($event) {\n      // global search\n    },\n    closeDialog() {\n      this.dialog = false;\n      this.oldPassword = '';\n      this.newPassword = '';\n      this.confirmPassword = '';\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n@import '@/assets/scss/common.scss';\n\n.avatar-wrapper {\n  position: relative;\n\n  &:hover {\n    .avatar-hover {\n      opacity: 0.3;\n    }\n  }\n}\n\n.avatar-hover {\n  position: relative;\n\n  &.loading {\n    opacity: 0.3;\n    pointer-events: none;\n  }\n}\n\n.avatar-loader-wrapper {\n  height: 100%;\n  width: 100%;\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 2;\n}\n</style>\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!./Profile.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!./Profile.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Profile.vue?vue&type=template&id=2813e5ce&scoped=true\"\nimport script from \"./Profile.vue?vue&type=script&lang=js\"\nexport * from \"./Profile.vue?vue&type=script&lang=js\"\nimport style0 from \"./Profile.vue?vue&type=style&index=0&id=2813e5ce&prod&lang=scss&scoped=true\"\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  \"2813e5ce\",\n  null\n  \n)\n\nexport default component.exports","// Styles\nimport './VChip.sass'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n// Components\nimport { VExpandXTransition } from '../transitions'\nimport VIcon from '../VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Themeable from '../../mixins/themeable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { PropValidator, PropType } from 'vue/types/options'\n\n/* @vue/component */\nexport default mixins(\n  Colorable,\n  Sizeable,\n  Routable,\n  Themeable,\n  GroupableFactory('chipGroup'),\n  ToggleableFactory('inputValue')\n).extend({\n  name: 'v-chip',\n\n  props: {\n    active: {\n      type: Boolean,\n      default: true,\n    },\n    activeClass: {\n      type: String,\n      default (): string | undefined {\n        if (!this.chipGroup) return ''\n\n        return this.chipGroup.activeClass\n      },\n    } as any as PropValidator<string>,\n    close: Boolean,\n    closeIcon: {\n      type: String,\n      default: '$delete',\n    },\n    closeLabel: {\n      type: String,\n      default: '$vuetify.close',\n    },\n    disabled: Boolean,\n    draggable: Boolean,\n    filter: Boolean,\n    filterIcon: {\n      type: String,\n      default: '$complete',\n    },\n    label: Boolean,\n    link: Boolean,\n    outlined: Boolean,\n    pill: Boolean,\n    tag: {\n      type: String,\n      default: 'span',\n    },\n    textColor: String,\n    value: null as any as PropType<any>,\n  },\n\n  data: () => ({\n    proxyClass: 'v-chip--active',\n  }),\n\n  computed: {\n    classes (): object {\n      return {\n        'v-chip': true,\n        ...Routable.options.computed.classes.call(this),\n        'v-chip--clickable': this.isClickable,\n        'v-chip--disabled': this.disabled,\n        'v-chip--draggable': this.draggable,\n        'v-chip--label': this.label,\n        'v-chip--link': this.isLink,\n        'v-chip--no-color': !this.color,\n        'v-chip--outlined': this.outlined,\n        'v-chip--pill': this.pill,\n        'v-chip--removable': this.hasClose,\n        ...this.themeClasses,\n        ...this.sizeableClasses,\n        ...this.groupClasses,\n      }\n    },\n    hasClose (): boolean {\n      return Boolean(this.close)\n    },\n    isClickable (): boolean {\n      return Boolean(\n        Routable.options.computed.isClickable.call(this) ||\n        this.chipGroup\n      )\n    },\n  },\n\n  created () {\n    const breakingProps = [\n      ['outline', 'outlined'],\n      ['selected', 'input-value'],\n      ['value', 'active'],\n      ['@input', '@active.sync'],\n    ]\n\n    /* istanbul ignore next */\n    breakingProps.forEach(([original, replacement]) => {\n      if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n    })\n  },\n\n  methods: {\n    click (e: MouseEvent): void {\n      this.$emit('click', e)\n\n      this.chipGroup && this.toggle()\n    },\n    genFilter (): VNode {\n      const children = []\n\n      if (this.isActive) {\n        children.push(\n          this.$createElement(VIcon, {\n            staticClass: 'v-chip__filter',\n            props: { left: true },\n          }, this.filterIcon)\n        )\n      }\n\n      return this.$createElement(VExpandXTransition, children)\n    },\n    genClose (): VNode {\n      return this.$createElement(VIcon, {\n        staticClass: 'v-chip__close',\n        props: {\n          right: true,\n          size: 18,\n        },\n        attrs: {\n          'aria-label': this.$vuetify.lang.t(this.closeLabel),\n        },\n        on: {\n          click: (e: Event) => {\n            e.stopPropagation()\n            e.preventDefault()\n\n            this.$emit('click:close')\n            this.$emit('update:active', false)\n          },\n        },\n      }, this.closeIcon)\n    },\n    genContent (): VNode {\n      return this.$createElement('span', {\n        staticClass: 'v-chip__content',\n      }, [\n        this.filter && this.genFilter(),\n        getSlot(this),\n        this.hasClose && this.genClose(),\n      ])\n    },\n  },\n\n  render (h): VNode {\n    const children = [this.genContent()]\n    let { tag, data } = this.generateRouteLink()\n\n    data.attrs = {\n      ...data.attrs,\n      draggable: this.draggable ? 'true' : undefined,\n      tabindex: this.chipGroup && !this.disabled ? 0 : data.attrs!.tabindex,\n    }\n    data.directives!.push({\n      name: 'show',\n      value: this.active,\n    })\n    data = this.setBackgroundColor(this.color, data)\n\n    const color = this.textColor || (this.outlined && this.color)\n\n    return h(tag, this.setTextColor(color, data), children)\n  },\n})\n"],"sourceRoot":""}