mirror of https://github.com/nocodb/nocodb
Browse Source
re #382 Signed-off-by: Pranav C <61551451+pranavxc@users.noreply.github.com>pull/401/head
Pranav C
3 years ago
6 changed files with 88 additions and 1 deletions
@ -0,0 +1,15 @@ |
|||||||
|
<template> |
||||||
|
<a v-if="value" :href="value" target="_blank">{{ value }}</a> |
||||||
|
<span v-else /> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: 'UrlCell', |
||||||
|
props: ['value'] |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
|
||||||
|
</style> |
@ -0,0 +1,52 @@ |
|||||||
|
<template> |
||||||
|
<input v-model="localState" v-on="parentListeners"> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { isValidURL } from '@/helpers' |
||||||
|
|
||||||
|
export default { |
||||||
|
name: 'EditableUrlCell', |
||||||
|
props: { |
||||||
|
value: String |
||||||
|
}, |
||||||
|
computed: { |
||||||
|
localState: { |
||||||
|
get() { |
||||||
|
return this.value |
||||||
|
}, |
||||||
|
set(val) { |
||||||
|
console.log(isValidURL(val)) |
||||||
|
if (isValidURL(val)) { this.$emit('input', val) } |
||||||
|
} |
||||||
|
}, |
||||||
|
parentListeners() { |
||||||
|
const $listeners = {} |
||||||
|
|
||||||
|
if (this.$listeners.blur) { |
||||||
|
$listeners.blur = this.$listeners.blur |
||||||
|
} |
||||||
|
if (this.$listeners.focus) { |
||||||
|
$listeners.focus = this.$listeners.focus |
||||||
|
} |
||||||
|
|
||||||
|
if (this.$listeners.cancel) { |
||||||
|
$listeners.cancel = this.$listeners.cancel |
||||||
|
} |
||||||
|
|
||||||
|
return $listeners |
||||||
|
} |
||||||
|
}, |
||||||
|
mounted() { |
||||||
|
this.$el.focus() |
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style scoped> |
||||||
|
input, textarea { |
||||||
|
width: 100%; |
||||||
|
height: 100%; |
||||||
|
color: var(--v-textColor-base); |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue