mirror of
https://gitlab.com/PronounsPage/PronounsPage.git
synced 2025-09-22 12:03:25 -04:00
extract LinkInput
This commit is contained in:
parent
c4c6fe9b76
commit
1a042f43ea
31
components/LinkInput.vue
Normal file
31
components/LinkInput.vue
Normal file
@ -0,0 +1,31 @@
|
||||
<template>
|
||||
<div class="input-group my-2">
|
||||
<input class="form-control" readonly :value="link.replace('https://', '').replace('http://', '')" id="link" ref="link">
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-outline-secondary btn-clipboard" data-clipboard-target="#link" :data-clipboard-text="link" @click="focusLink">
|
||||
<Icon v="clipboard"/>
|
||||
</button>
|
||||
<a :href="link" target="_blank" rel="noopener" class="btn btn-outline-secondary">
|
||||
<Icon v="external-link"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import ClipboardJS from 'clipboard';
|
||||
|
||||
export default {
|
||||
props: {
|
||||
link: { required: true },
|
||||
},
|
||||
mounted () {
|
||||
new ClipboardJS('.btn-clipboard');
|
||||
},
|
||||
methods: {
|
||||
focusLink() {
|
||||
setTimeout(_ => this.$refs.link.select(), 100);
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
@ -94,17 +94,7 @@
|
||||
</template>
|
||||
</div>
|
||||
<div class="card-footer" v-if="customise && link">
|
||||
<div class="input-group my-2">
|
||||
<input class="form-control" readonly :value="link.replace('https://', '').replace('http://', '')" id="link" ref="link">
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-outline-secondary btn-clipboard" data-clipboard-target="#link" :data-clipboard-text="link" @click="focusLink">
|
||||
<Icon v="clipboard"/>
|
||||
</button>
|
||||
<a :href="link" target="_blank" rel="noopener" class="btn btn-outline-secondary">
|
||||
<Icon v="external-link"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<LinkInput :link="link"/>
|
||||
</div>
|
||||
<div class="card-body border-top" v-if="getTemplate(templates, selectedTemplate.name()) && getTemplate(templates, selectedTemplate.name()).sources.length">
|
||||
<Literature :sources="getTemplate(templates, selectedTemplate.name()).sources"/>
|
||||
@ -165,7 +155,6 @@
|
||||
<script>
|
||||
import { examples, templates } from "~/src/data";
|
||||
import Compressor from "../src/compressor";
|
||||
import ClipboardJS from 'clipboard';
|
||||
import { getTemplate } from "../src/buildTemplate";
|
||||
|
||||
export default {
|
||||
@ -181,9 +170,6 @@
|
||||
customise: false,
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
new ClipboardJS('.btn-clipboard');
|
||||
},
|
||||
computed: {
|
||||
usedBase() {
|
||||
const name = this.selectedTemplate.name();
|
||||
@ -219,11 +205,6 @@
|
||||
return process.env.baseUrl + '/' + (this.usedBaseEquals ? this.usedBase : this.longLink);
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
focusLink() {
|
||||
setTimeout(_ => this.$refs.link.select(), 100);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user