Browse Source

adding external link to action button widget

HgH 2 years ago
parent
commit
f78226fe00

+ 2 - 1
src/components/Widgets/ActionButton/ActionButton.vue

@@ -78,7 +78,8 @@ export default {
         this.$router.push(this.options.route)
         this.$router.push(this.options.route)
       } else if (this.options.action && this.options.action === 'event') {
       } else if (this.options.action && this.options.action === 'event') {
         this.$bus.emit(this.options.eventName, this.eventArgs)
         this.$bus.emit(this.options.eventName, this.eventArgs)
-      }
+      } else if (this.options.action && this.options.action === 'external-link') {
+        window.open(this.options.route, '_blank')
     }
     }
   }
   }
 }
 }

+ 7 - 1
src/components/Widgets/ActionButton/OptionPanel.vue

@@ -114,6 +114,12 @@
             <q-input v-model="localOptions.route"
             <q-input v-model="localOptions.route"
                      label="route" />
                      label="route" />
           </div>
           </div>
+          <div v-if="localOptions.action === 'external-link'"
+               class="input-container col-md-10">
+            <div class="outsideLabel">route</div>
+            <q-input v-model="localOptions.route"
+                     label="route" />
+          </div>
           <div v-if="localOptions.action === 'event'"
           <div v-if="localOptions.action === 'event'"
                class="input-container col-md-5">
                class="input-container col-md-5">
             <div class="outsideLabel">eventName</div>
             <div class="outsideLabel">eventName</div>
@@ -150,7 +156,7 @@ export default defineComponent({
   },
   },
   data () {
   data () {
     return {
     return {
-      actionOptions: ['scroll', 'link', 'event'],
+      actionOptions: ['scroll', 'link', 'event', 'external-link'],
       positionOptions: ['top-right', 'top-left', 'bottom-right', 'bottom-left'],
       positionOptions: ['top-right', 'top-left', 'bottom-right', 'bottom-left'],
       defaultOptions: {
       defaultOptions: {
         color: null,
         color: null,