Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package js.memberapplet.feature.veryquickbuy.view;
- import coconut.ui.View;
- import memberapplet.feature.buy.constant.TransactionStatus;
- import tink.CoreApi.Promise;
- import com.module.languageprovider.LanguageProviderModule;
- /**
- * ...
- * @author
- */
- class VeryQuickBuyButton extends View <{ transactionStatus:TransactionStatus, buy:BuyCreditTransaction, lang:LanguageData }>
- {
- function render() '<div class="mc_very_quick_buy">
- <switch {transactionStatus}>
- <case {TransactionStatus.PENDING}>
- <div class="mc_very_quick_buy_progress">
- <p class="mc_very_quick_buy_progress_text">{L.TRANSACTION_IN_PROGRESS}</p>
- <div class="mc_loading_secondary">
- <div class="mc_loading_secondary_outer"></div>
- <div class="mc_loading_secondary_inner"></div>
- </div>
- </div>
- <case {TransactionStatus.APPROVED}>
- <div class="mc_very_quick_buy_success">
- <p class="mc_very_quick_buy_success_text">${lang.transactionSuccessText}</p>
- </div>
- <case {TransactionStatus.DENIED}>
- <div class="mc_very_quick_buy_failed">
- <p class="mc_very_quick_buy_failed_text">${lang.transactionDeclinedText}</p>
- </div>
- <case {TransactionStatus.ERROR}>
- <div class="mc_very_quick_buy_failed">
- <p class="mc_very_quick_buy_failed_text">${lang.transactionFailedText}</p>
- </div>
- <case {_}>
- <button class="mc_first_button mc_very_quick_buy_button" onclick=${onclick(buy)}>
- <span class="mc_very_quick_buy_label">${lang.buyText}</span>
- </button>
- </switch>
- </div>';
- function onclick(buy:BuyCreditTransaction)
- {
- buy();
- }
- }
- typedef BuyCreditTransaction = Void->Promise<String>;
- typedef LanguageData = {var transactionInProgressText(default, never):String;
- var transactionFailedText(default, never):String;
- var transactionSuccessText(default, never):String;
- var transactionDeclinedText(default, never):String;
- var buyText(default, never):String;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement