fork download
  1. protected loadPageData(params : Params) {
  2. this.loaded = false;
  3. let clientPromise : Promise = null;
  4. let subsPromise : Promise = null;
  5. let cardsPromise : Promise = null;
  6. let activeBookingsPromise : Promise> = null;
  7. if (!this.client || this.client.id != parseInt(params['id'])) {
  8. clientPromise = this.apiClient.getResource(ClientResource, params['id']);
  9. if (params['id'] !== 'new') {
  10. subsPromise = this.apiClient.getResources(ClubSubscriptionResource, {
  11. order: 'start DESC',
  12. extras: 'orderInfo'
  13. }, [`clientId = ${params['id']};`])
  14. .then(result => {
  15. return result.items;
  16. });
  17. activeBookingsPromise = this.fetchClientBookings(+params['id']);
  18. cardsPromise = this.fetchClientCards(+params['id']);
  19. } else {
  20. subsPromise = Promise.resolve([]);
  21. activeBookingsPromise = Promise.resolve(null);
  22. cardsPromise = Promise.resolve([]);
  23. }
  24. } else {
  25. clientPromise = Promise.resolve(this.client);
  26. subsPromise = Promise.resolve(this.clubSubscriptions);
  27. activeBookingsPromise = Promise.resolve(this.activeBookings);
  28. cardsPromise = Promise.resolve(this.cards);
  29. }
  30. return Promise.all, KeycardResource[]>([
  31. clientPromise,
  32. subsPromise,
  33. activeBookingsPromise,
  34. cardsPromise
  35. ])
  36. .then(result => {
  37. this.client = result[0];
  38. this.editing = this.client.id <= 0;
  39. this.client.password = 'dummy123456';
  40. this.clubSubscriptions = result[1];
  41. this.activeBookings = result[2];
  42. this.cards = result[3];
  43. // use last ending subscription's date as default card activation end date
  44. this.cardActivatorDefaultEndDate = '';
  45. let lastSubscriptionEndDate : Date = null;
  46. this.clubSubscriptions.forEach(item => {
  47. if (item.cancelled)
  48. return;
  49. let subscriptonDate = DateUtils.textToDate(item.end);
  50. if (!lastSubscriptionEndDate || subscriptonDate > lastSubscriptionEndDate) {
  51. lastSubscriptionEndDate = subscriptonDate;
  52. }
  53. });
  54. if (lastSubscriptionEndDate) {
  55. this.cardActivatorDefaultEndDate = DateUtils.dateToText(lastSubscriptionEndDate);
  56. }
  57. this.updateTitle();
  58. return this.loadInvoiceReceivers();
  59. })
  60. .then(result => {
  61. this.loaded = true;
  62. return Promise.resolve(true);
  63. })
  64. .catch(error => {
  65. this.updateTitle();
  66. this.handleError(error);
  67. });
  68. }
Runtime error #stdin #stdout #stderr 0.01s 171392KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
prog.js:1:10 SyntaxError: missing ; before statement:
prog.js:1:10 protected loadPageData(params : Params) {
prog.js:1:10 ..........^