mirror of https://github.com/nocodb/nocodb
118 lines
3.0 KiB
118 lines
3.0 KiB
<template> |
|
<v-row justify="center"> |
|
<v-dialog :value="dialogShow" persistent max-width="600px" @keydown.esc="mtdDialogCancel()" @keydown.enter.prevent> |
|
<template #activator="{ on }"> |
|
<p class="hidden" v-on="on" /> |
|
</template> |
|
<v-card class="elevation-20"> |
|
<v-card-title class="grey darken-2 subheading" style="height: 30px"> |
|
<!-- {{ this.heading }} --> |
|
</v-card-title> |
|
<v-form ref="form" v-model="valid"> |
|
<v-card-text class="pt-4 pl-4"> |
|
<p class="headline"> |
|
{{ heading }} |
|
</p> |
|
<v-text-field |
|
ref="focus" |
|
v-model="fieldValue" |
|
validate-on-blur |
|
:label="field || ''" |
|
:rules="[v => !!v || 'Value required', ...(rules || [])]" |
|
autofocus |
|
@keydown.enter.prevent="submitForm" |
|
/> |
|
</v-card-text> |
|
</v-form> |
|
<v-divider /> |
|
|
|
<v-card-actions class="pa-4"> |
|
<v-spacer /> |
|
<v-btn small class="" @click="mtdDialogCancel()"> |
|
{{ $t('general.cancel') }} |
|
</v-btn> |
|
<v-btn small class="primary" @click="submitForm"> |
|
{{ submitText || $t('general.submit') }} |
|
</v-btn> |
|
</v-card-actions> |
|
</v-card> |
|
</v-dialog> |
|
</v-row> |
|
</template> |
|
|
|
<script> |
|
export default { |
|
directives: {}, |
|
components: {}, |
|
validate({ params }) { |
|
return true; |
|
}, |
|
props: [ |
|
'heading', |
|
'dialogShow', |
|
'mtdDialogCancel', |
|
'mtdDialogSubmit', |
|
'field', |
|
'type', |
|
'cookie', |
|
'defaultValue', |
|
'submitText', |
|
'rules', |
|
], |
|
data() { |
|
return { fieldValue: '', valid: null }; |
|
}, |
|
head() { |
|
return {}; |
|
}, |
|
computed: {}, |
|
watch: {}, |
|
created() { |
|
if (this.defaultValue) { |
|
this.fieldValue = this.defaultValue; |
|
} |
|
}, |
|
mounted() { |
|
requestAnimationFrame(() => { |
|
this.$refs.focus.focus(); |
|
}); |
|
}, |
|
beforeDestroy() {}, |
|
methods: { |
|
submitForm() { |
|
if (this.$refs.form.validate()) { |
|
this.mtdDialogSubmit(this.fieldValue, this.cookie); |
|
} |
|
}, |
|
}, |
|
|
|
beforeCreated() {}, |
|
destroy() {}, |
|
}; |
|
</script> |
|
|
|
<style scoped></style> |
|
<!-- |
|
/** |
|
* @copyright Copyright (c) 2021, Xgene Cloud Ltd |
|
* |
|
* @author Naveen MR <oof1lab@gmail.com> |
|
* @author Pranav C Balan <pranavxc@gmail.com> |
|
* |
|
* @license GNU AGPL version 3 or any later version |
|
* |
|
* This program is free software: you can redistribute it and/or modify |
|
* it under the terms of the GNU Affero General Public License as |
|
* published by the Free Software Foundation, either version 3 of the |
|
* License, or (at your option) any later version. |
|
* |
|
* This program is distributed in the hope that it will be useful, |
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
* GNU Affero General Public License for more details. |
|
* |
|
* You should have received a copy of the GNU Affero General Public License |
|
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
* |
|
*/ |
|
-->
|
|
|