Advertisement
Guest User

Untitled

a guest
Jun 18th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. import { action, observable, runInAction } from 'mobx';
  2. import * as React from 'react';
  3. import { Inject, Injectable } from 'utils/di';
  4. import { PaymentListResponse } from './models';
  5. import { PaymentTransportService } from './PaymentTransportService';
  6.  
  7. @Injectable
  8. export class PaymentStore extends React.Component {
  9. @Inject(PaymentTransportService) PaymentTransportService: PaymentTransportService
  10. private transport: PaymentTransportService = new PaymentTransportService()
  11. @observable paymentList: PaymentListResponse | null
  12. @observable pageNext: number | null = 1
  13.  
  14. @action
  15. dropStore(): void {
  16. this.paymentList = null
  17. }
  18.  
  19. @action
  20. async loadData() {
  21. if (this.paymentList && this.paymentList.results) {
  22. return
  23. }
  24. const _paymentList: PaymentListResponse = new PaymentListResponse()
  25.  
  26. while (this.pageNext) {
  27. const params = {
  28. page_size: 1,
  29. page: this.pageNext
  30. }
  31.  
  32. await this.transport.retrievePaymentList(params).then((paymentList: PaymentListResponse) => {
  33. _paymentList.results = _paymentList.results.concat(paymentList.results)
  34. this.pageNext = paymentList.pageNext
  35. })
  36. }
  37.  
  38. runInAction(() => {
  39. this.paymentList = _paymentList
  40. })
  41. console.log('NENF')
  42. }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement