Advertisement
Guest User

Untitled

a guest
Jul 6th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Haxe 2.07 KB | None | 0 0
  1. package js.memberapplet.feature.veryquickbuy.view;
  2.  
  3. import coconut.ui.View;
  4. import memberapplet.feature.buy.constant.TransactionStatus;
  5. import tink.CoreApi.Promise;
  6. import com.module.languageprovider.LanguageProviderModule;
  7.  
  8. /**
  9.  * ...
  10.  * @author
  11.  */
  12. class VeryQuickBuyButton extends View <{ transactionStatus:TransactionStatus, buy:BuyCreditTransaction, lang:LanguageData }>
  13. {  
  14.     function render() '<div class="mc_very_quick_buy">
  15.                             <switch {transactionStatus}>
  16.                                 <case {TransactionStatus.PENDING}>
  17.                                     <div class="mc_very_quick_buy_progress">
  18.                                         <p class="mc_very_quick_buy_progress_text">{L.TRANSACTION_IN_PROGRESS}</p>
  19.                                         <div class="mc_loading_secondary">
  20.                                             <div class="mc_loading_secondary_outer"></div>
  21.                                             <div class="mc_loading_secondary_inner"></div>
  22.                                         </div>
  23.                                     </div>
  24.                                 <case {TransactionStatus.APPROVED}>
  25.                                     <div class="mc_very_quick_buy_success">
  26.                                         <p class="mc_very_quick_buy_success_text">${lang.transactionSuccessText}</p>
  27.                                     </div>
  28.                                 <case {TransactionStatus.DENIED}>
  29.                                     <div class="mc_very_quick_buy_failed">
  30.                                         <p class="mc_very_quick_buy_failed_text">${lang.transactionDeclinedText}</p>
  31.                                     </div>
  32.                                 <case {TransactionStatus.ERROR}>
  33.                                     <div class="mc_very_quick_buy_failed">
  34.                                         <p class="mc_very_quick_buy_failed_text">${lang.transactionFailedText}</p>
  35.                                     </div>
  36.                                 <case {_}>
  37.                                     <button class="mc_first_button mc_very_quick_buy_button" onclick=${onclick(buy)}>
  38.                                         <span class="mc_very_quick_buy_label">${lang.buyText}</span>
  39.                                     </button>
  40.                             </switch>
  41.                         </div>';
  42.  
  43.     function onclick(buy:BuyCreditTransaction)
  44.     {
  45.         buy();
  46.     }
  47. }
  48.  
  49. typedef BuyCreditTransaction = Void->Promise<String>;
  50. typedef LanguageData = {var transactionInProgressText(default, never):String;
  51.                         var transactionFailedText(default, never):String;
  52.                         var transactionSuccessText(default, never):String;
  53.                         var transactionDeclinedText(default, never):String;
  54.                         var buyText(default, never):String;
  55. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement