+
+
+
+
+
+
+
+
{{ $t( 'donation_confirmation_address_update_cancel' ) }}
@@ -33,6 +26,13 @@
+
+
+
+ {{ $t( 'back_to_donation_summary' ) }}
+
+
+
@@ -68,7 +68,7 @@ export default Vue.extend( {
Email,
NewsletterOptIn,
PaymentBankData,
- SubmitValues
+ SubmitValues,
},
data: function (): { formData: AddressFormData } {
return {
@@ -142,7 +142,7 @@ export default Vue.extend( {
validateAddressUrl: String,
countries: Array as () => Array
,
hasErrored: Boolean,
- hasSucceeded: Boolean
+ hasSucceeded: Boolean,
},
computed: {
fieldErrors: {
@@ -189,8 +189,8 @@ export default Vue.extend( {
jsonForm,
{ headers: { 'Content-Type': 'multipart/form-data' } }
).then( ( validationResult: AxiosResponse ) => {
- if( validationResult.data.status === 'OK' ) {
- this.$emit( 'address-updated' );
+ if ( validationResult.data.status === 'OK' ) {
+ this.$emit( 'address-updated', this.$data.formData );
} else {
this.$emit( 'address-update-failed' );
}
diff --git a/skins/laika/src/components/pages/donation_form/AddressType.vue b/skins/laika/src/components/pages/donation_form/AddressType.vue
index 2d6c70abce..316e855eea 100644
--- a/skins/laika/src/components/pages/donation_form/AddressType.vue
+++ b/skins/laika/src/components/pages/donation_form/AddressType.vue
@@ -40,7 +40,7 @@ export default Vue.extend( {
},
props: {
disabledAddressTypes: Array,
- disabledAnonymousType: Boolean
+ disabledAnonymousType: Boolean,
},
computed: {
AddressTypeModel: {
diff --git a/skins/laika/src/pages/donation_confirmation.ts b/skins/laika/src/pages/donation_confirmation.ts
index 4f5d05c6c6..4c0d28ecfe 100644
--- a/skins/laika/src/pages/donation_confirmation.ts
+++ b/skins/laika/src/pages/donation_confirmation.ts
@@ -2,15 +2,11 @@ import Vue from 'vue';
import VueI18n from 'vue-i18n';
import PageDataInitializer from '@/page_data_initializer';
import { DEFAULT_LOCALE } from '@/locales';
-import { createStore } from '@/store/update_address_store';
+import { createStore } from '@/store/donor_update_store';
import App from '@/components/App.vue';
import Component from '@/components/pages/DonationConfirmation.vue';
-import { action } from '@/store/util';
-import { NS_ADDRESS } from '@/store/namespaces';
-import { setAddressField } from '@/store/address/actionTypes';
-import { InputField } from "@/view_models/Address";
const PAGE_IDENTIFIER = 'donation-confirmation',
IS_FULLWIDTH_PAGE = true,
diff --git a/skins/laika/src/store/donor_update_store.ts b/skins/laika/src/store/donor_update_store.ts
new file mode 100644
index 0000000000..9b919b7f0a
--- /dev/null
+++ b/skins/laika/src/store/donor_update_store.ts
@@ -0,0 +1,23 @@
+import Vue from 'vue';
+import Vuex, { StoreOptions } from 'vuex';
+import createAddress from '@/store/address';
+import { NS_ADDRESS } from './namespaces';
+import { REQUIRED_FIELDS } from '@/store/address/constants';
+
+Vue.use( Vuex );
+
+export function createStore() {
+ const storeBundle: StoreOptions = {
+ modules: {
+ [ NS_ADDRESS ]: createAddress( REQUIRED_FIELDS ),
+ },
+ strict: process.env.NODE_ENV !== 'production',
+ getters: {
+ isValidating: function ( state ): boolean {
+ return state[ NS_ADDRESS ].isValidating;
+ },
+ },
+ };
+
+ return new Vuex.Store( storeBundle );
+}