add BFormCheckbox switch for edit, fix test for BFormCheckbox switch

This commit is contained in:
ogerly 2021-09-15 07:28:44 +02:00
parent 8e508b7f84
commit f619a3d1dc
4 changed files with 29 additions and 37 deletions

View File

@ -44,7 +44,9 @@
}, },
"setting": { "setting": {
"newsletter": "Newsletter", "newsletter": "Newsletter",
"changeNewsletter": "Newsletter Status ändern" "changeNewsletter": "Newsletter Status ändern",
"newsletterTrue": "Du bist im Newslettersystem von Gradido eingetraten und erhällst regelmäsig Neuigkeiten und Informationen.",
"newsletterFalse": "Du bist aus Newslettersystem von Gradido ausgetragen."
}, },
"form": { "form": {
"cancel": "Abbrechen", "cancel": "Abbrechen",

View File

@ -42,6 +42,12 @@
"toCommunity":"To the community", "toCommunity":"To the community",
"noDecay": "No Decay" "noDecay": "No Decay"
}, },
"setting": {
"newsletter": "Newsletter",
"changeNewsletter": "Newsletter status change",
"newsletterTrue": "You have joined the Gradido newsletter system and receive news and information regularly.",
"newsletterFalse": "You are unsubscribed from Gradido's newsletter system."
},
"form": { "form": {
"cancel":"Cancel", "cancel":"Cancel",
"reset": "Reset", "reset": "Reset",
@ -65,7 +71,6 @@
"change-password": "Change password", "change-password": "Change password",
"change-name": "Change name", "change-name": "Change name",
"changeLanguage": "Change language", "changeLanguage": "Change language",
"changeNewsletter": "Change newsletter status",
"amount":"Amount", "amount":"Amount",
"memo":"Message", "memo":"Message",
"message":"Message", "message":"Message",

View File

@ -42,8 +42,8 @@ describe('UserCard_Newsletter', () => {
expect(wrapper.find('div#formusernewsletter').exists()).toBeTruthy() expect(wrapper.find('div#formusernewsletter').exists()).toBeTruthy()
}) })
it('has an edit icon', () => { it('has an edit BFormCheckbox switch', () => {
expect(wrapper.find('svg.bi-pencil').exists()).toBeTruthy() expect(wrapper.find('.Test-BFormCheckbox').exists()).toBeTruthy()
}) })
}) })
}) })

View File

@ -7,11 +7,16 @@
<div> <div>
<b-row class="mb-4 text-right"> <b-row class="mb-4 text-right">
<b-col class="text-right"> <b-col class="text-right">
<a @click="showNewsletter ? (showNewsletter = !showNewsletter) : cancelEdit()"> <div>
<span class="pointer mr-3">{{ $t('setting.changeNewsletter') }}</span> <b-form-checkbox
<b-icon v-if="showNewsletter" class="pointer ml-3" icon="pencil"></b-icon> class="text-right Test-BFormCheckbox"
<b-icon v-else icon="x-circle" class="pointer ml-3" variant="danger"></b-icon> v-model="NewsletterStatus"
</a> name="check-button"
switch
>
{{ $t('setting.changeNewsletter') }}
</b-form-checkbox>
</div>
</b-col> </b-col>
</b-row> </b-row>
</div> </div>
@ -21,31 +26,10 @@
<b-col class="col-lg-3 col-md-10 col-sm-10 text-md-left text-lg-right"> <b-col class="col-lg-3 col-md-10 col-sm-10 text-md-left text-lg-right">
<small>{{ $t('setting.newsletter') }}</small> <small>{{ $t('setting.newsletter') }}</small>
</b-col> </b-col>
<b-col class="h2 col-md-9 col-sm-10">Aktueller Newsletter Status</b-col> <b-col class="h2 col-md-9 col-sm-10">
</b-row> {{ NewsletterStatus ? $t('setting.newsletterTrue') : $t('setting.newsletterFalse') }}
</div>
<div v-else>
<div>
<b-form @submit.stop.prevent="handleSubmit(onSubmit)">
<b-row class="mb-2">
<b-col class="col-lg-3 col-md-10 col-sm-10 text-md-left text-lg-right">
<small>{{ $t('setting.newsletter') }}</small>
</b-col>
<b-col class="col-md-9 col-sm-10">Form Newsletter status ändern</b-col>
</b-row>
<b-row class="text-right">
<b-col>
<div class="text-right">
<b-button type="submit" variant="primary" class="mt-4">
{{ $t('form.save') }}
</b-button>
</div>
</b-col> </b-col>
</b-row> </b-row>
</b-form>
</div>
</div> </div>
</b-card> </b-card>
</template> </template>
@ -61,9 +45,6 @@ export default {
} }
}, },
methods: { methods: {
cancelEdit() {
this.showNewsletter = true
},
async onSubmit() { async onSubmit() {
this.$apollo this.$apollo
.query({ .query({
@ -73,7 +54,11 @@ export default {
}, },
}) })
.then(() => { .then(() => {
this.cancelEdit() this.$toasted.success(
this.NewsletterStatus
? this.$t('setting.newsletterTrue')
: this.$t('setting.newsletterFalse'),
)
}) })
.catch((error) => { .catch((error) => {
this.$toasted.error(error.message) this.$toasted.error(error.message)