Commit 617458873f76e6b65ff62b89a3ccfc55ca9c05d6

Authored by Rijul Gupta
1 parent 467e2cf9

Update link mixin to resolve url from router if possible

Showing 1 changed file with 20 additions and 2 deletions   Show diff stats
src/mixins/link.js
@@ -15,12 +15,30 @@ export default { @@ -15,12 +15,30 @@ export default {
15 return oneOf(value, ['_blank', '_self', '_parent', '_top']); 15 return oneOf(value, ['_blank', '_self', '_parent', '_top']);
16 }, 16 },
17 default: '_self' 17 default: '_self'
18 - } 18 + },
  19 + append: {
  20 + type: Boolean,
  21 + required: false,
  22 + default: false,
  23 + },
19 }, 24 },
20 computed: { 25 computed: {
21 linkUrl () { 26 linkUrl () {
22 const type = typeof this.to; 27 const type = typeof this.to;
23 - return type === 'string' ? this.to : null; 28 + if (type !== 'string') {
  29 + return null;
  30 + }
  31 + if (this.to.includes('//')) {
  32 + /* Absolute URL, we do not need to route this */
  33 + return this.to;
  34 + }
  35 + const router = this.$router;
  36 + if (router) {
  37 + const current = this.$route;
  38 + const route = router.resolve(this.to, current, this.append);
  39 + return route ? route.href : null;
  40 + }
  41 + return this.to;
24 } 42 }
25 }, 43 },
26 methods: { 44 methods: {