diff --git a/client/components/Link/Item.vue b/client/components/Link/Item.vue
index ef88ac9..ef33705 100644
--- a/client/components/Link/Item.vue
+++ b/client/components/Link/Item.vue
@@ -5,6 +5,7 @@
@[dragStartEvent].stop="startDrag($event)"
@[dragStopEvent].stop="stopDrag($event)"
@click.stop="openLinkDetails"
+ @click.middle="openLinkPage"
>
![]()
@@ -92,12 +93,15 @@ export default {
methods: {
openLinkDetails() {
if (window.innerWidth < 500) {
- this.$switchToPageOrCrate(this.link.id, { fullPage: true, isPublic: !this.endpoint && !this.editable })
+ this.openLinkPage()
return
}
this.$modal.show('linkDetails', { link: this.link.id, editable: this.editable, endpoint: this.endpoint })
},
+ openLinkPage() {
+ this.$switchToPageOrCrate(this.link.id, { fullPage: true, isPublic: !this.endpoint && !this.editable, newTab: true })
+ },
startDrag(e) {
this.drag = true
e.dataTransfer.dropEffect = 'move'
diff --git a/client/components/Modal/Search.vue b/client/components/Modal/Search.vue
index e6ba847..6a8cee9 100644
--- a/client/components/Modal/Search.vue
+++ b/client/components/Modal/Search.vue
@@ -11,7 +11,14 @@
Crates
-
+
Links
@@ -24,6 +31,7 @@
:icon="link.meta && link.meta.icon"
:crate="link.crate && getCrate(link.crate)"
@click.native.stop="openLink(link)"
+ @click.middle.native.stop="openLink(link, true)"
/>
@@ -64,6 +66,7 @@
:editable="crate.id && !crate.endpoint"
:error="crate.deleted"
@click.native="changeCrate(crate)"
+ @click.middle.native.stop="changeCrate(crate, true)"
@shortkey.native="changeCrate(crate)"
/>
@@ -153,11 +156,11 @@ export default {
}
},
methods: {
- changeCrate(crate) {
- this.$switchToPageOrCrate(crate.id, { external: crate.endpoint !== undefined })
+ changeCrate(crate, newTab = false) {
+ this.$switchToPageOrCrate(crate.id, { external: crate.endpoint !== undefined, newTab })
},
- changePage(page) {
- this.$switchToPageOrCrate(page)
+ changePage(page, newTab = false) {
+ this.$switchToPageOrCrate(page, { newTab })
},
showModal(value) {
this.$modal.show(value)
diff --git a/client/pages/link/_.vue b/client/pages/link/_.vue
index 6a9cdf4..6e7ab24 100644
--- a/client/pages/link/_.vue
+++ b/client/pages/link/_.vue
@@ -15,7 +15,7 @@
{{ crate.name }}
-