File tree Expand file tree Collapse file tree 3 files changed +16
-8
lines changed Expand file tree Collapse file tree 3 files changed +16
-8
lines changed Original file line number Diff line number Diff line change 18
18
@payment-method-selected =" setSelectedPayment"
19
19
@get-PAD-info =" getPADInfo"
20
20
@is-pad-valid =" isPADValid"
21
+ isTouchedUpdate =" true"
21
22
></PaymentMethods >
22
23
<v-divider class =" my-10" ></v-divider >
23
24
<div class =" form__btns d-flex" >
@@ -112,22 +113,24 @@ export default class AccountPaymentMethods extends Mixins(AccountChangeMixin) {
112
113
private errorText = ' '
113
114
private isLoading: boolean = false
114
115
private padValid: boolean = false
115
- private paymentMethodChanged: boolean = true // false // now always enable save button after discussion need to change
116
+ private paymentMethodChanged: boolean = false
116
117
117
118
$refs: {
118
119
errorDialog: ModalDialog
119
120
}
120
121
121
122
private setSelectedPayment (payment ) {
122
- this .selectedPaymentMethod = payment
123
- this .isBtnSaved = false
124
- this .paymentMethodChanged = true
123
+ this .selectedPaymentMethod = payment . selectedPaymentMethod
124
+ this .isBtnSaved = ( this . isBtnSaved && ! payment . isTouched ) || false
125
+ this .paymentMethodChanged = payment . isTouched || false
125
126
}
126
127
127
128
private get isDisableSaveBtn () {
128
129
let disableSaveBtn = false
129
130
130
- if ((this .selectedPaymentMethod === PaymentTypes .PAD && ! this .padValid ) || (! this .paymentMethodChanged )) {
131
+ if (this .isBtnSaved ) {
132
+ disableSaveBtn = false
133
+ } else if ((this .selectedPaymentMethod === PaymentTypes .PAD && ! this .padValid ) || (! this .paymentMethodChanged )) {
131
134
disableSaveBtn = true
132
135
}
133
136
Original file line number Diff line number Diff line change @@ -144,6 +144,7 @@ export default class PaymentMethods extends Vue {
144
144
@Prop ({ default: ' ' }) currentSelectedPaymentMethod: string
145
145
@Prop ({ default: false }) isChangeView: boolean
146
146
@Prop ({ default: true }) isAcknowledgeNeeded: boolean
147
+ @Prop ({ default: false }) isTouchedUpdate: boolean
147
148
private selectedPaymentMethod: string = ' '
148
149
private paymentTypes = PaymentTypes
149
150
private padInfo: PADInfo = {} as PADInfo
@@ -168,7 +169,7 @@ export default class PaymentMethods extends Vue {
168
169
169
170
private mounted () {
170
171
if (! this .isPADOnly ) {
171
- this .paymentMethodSelected ({ type: this .currentSelectedPaymentMethod })
172
+ this .paymentMethodSelected ({ type: this .currentSelectedPaymentMethod }, false )
172
173
}
173
174
}
174
175
@@ -177,8 +178,12 @@ export default class PaymentMethods extends Vue {
177
178
}
178
179
179
180
@Emit ()
180
- private paymentMethodSelected (payment ) {
181
+ private paymentMethodSelected (payment , isTouched = true ) {
181
182
this .selectedPaymentMethod = payment .type
183
+ // emit touched flag for parent element
184
+ if (this .isTouchedUpdate ) {
185
+ return { selectedPaymentMethod: this .selectedPaymentMethod , isTouched }
186
+ }
182
187
return this .selectedPaymentMethod
183
188
}
184
189
Original file line number Diff line number Diff line change @@ -695,7 +695,7 @@ export default class OrgModule extends VuexModule {
695
695
public async getOrgPayments ( orgId ?: number ) : Promise < OrgPaymentDetails > {
696
696
const id = orgId || this . context . state [ 'currentOrganization' ] . id
697
697
const response = await OrgService . getOrgPayments ( id )
698
- let paymentType = response ?. data ?. paymentMethod || undefined
698
+ let paymentType = response ?. data ?. futurePaymentMethod ? response ?. data ?. futurePaymentMethod : response ?. data ?. paymentMethod || undefined
699
699
paymentType = ( paymentType === PaymentTypes . DIRECT_PAY ) ? PaymentTypes . CREDIT_CARD : paymentType
700
700
this . context . commit ( 'setCurrentOrganizationPaymentType' , paymentType )
701
701
// setting padinfo for showing details
You can’t perform that action at this time.
0 commit comments