enrecipes/app/components/modal/PromptDialog.vue

66 lines
1.8 KiB
Vue
Raw Normal View History

2020-10-21 17:54:45 +00:00
<template>
<Page>
<StackLayout class="dialogContainer" :class="appTheme">
2021-01-13 05:02:48 +00:00
<Label class="bx dialogIcon" backgroundColor="#adb5bd" :color="iconColor" :text="icon[helpIcon]" />
<Label class="dialogTitle orkm" :text="`${title}` | L" textWrap='true' />
<StackLayout class="dialogInput">
2020-12-29 10:35:19 +00:00
<TextField @loaded="focusField" :hint="hint ? hint : ''" v-model="category" autocapitalizationType="words" @returnPress="$modal.close(category)" />
2020-10-21 17:54:45 +00:00
</StackLayout>
<GridLayout rows="auto" columns="*, auto, auto" class="actionsContainer">
2021-01-13 05:02:48 +00:00
<MDButton :rippleColor="rippleColor" variant="text" col="1" class="action orkm" :text="'cBtn' | L" @tap="$modal.close(false)" />
<MDButton :rippleColor="rippleColor" variant="text" col="2" class="action orkm" :text="`${action}` | L" @tap="$modal.close(category)" />
</GridLayout>
</StackLayout>
</Page>
2020-10-21 17:54:45 +00:00
</template>
<script>
import {
Application,
Utils
}
from "@nativescript/core"
import {
localize
}
from '@nativescript/localize'
2021-01-13 05:02:48 +00:00
import {
mapState
}
from "vuex"
2020-10-21 17:54:45 +00:00
export default {
2021-01-13 05:02:48 +00:00
props: [ "title", "hint", "text", "action", "helpIcon" ],
2020-10-21 17:54:45 +00:00
data() {
return {
category: null,
}
},
computed: {
2021-01-13 05:02:48 +00:00
...mapState( [ "icon" ] ),
2020-11-10 18:28:48 +00:00
appTheme() {
return Application.systemAppearance()
},
2021-01-13 05:02:48 +00:00
isLightMode() {
return this.appTheme == "light"
},
2020-11-10 18:28:48 +00:00
rippleColor() {
2021-01-13 05:02:48 +00:00
return this.isLightMode ? "rgba(134,142,150,0.2)" : "rgba(206,212,218,0.1)"
},
iconColor() {
return this.isLightMode ? "#f1f3f5" : "#212529"
2020-11-10 18:28:48 +00:00
},
2020-10-22 18:36:50 +00:00
},
2020-11-02 11:36:53 +00:00
methods: {
focusField( args ) {
2020-11-02 11:36:53 +00:00
args.object.focus()
setTimeout( ( e ) => Utils.ad.showSoftInput( args.object.android ), 1 )
2020-11-02 11:36:53 +00:00
},
},
2020-11-10 18:28:48 +00:00
mounted() {
if ( this.text ) {
this.category = localize( this.text )
2020-11-10 18:28:48 +00:00
}
},
2020-10-21 17:54:45 +00:00
}
</script>