Advertisement
Guest User

Untitled

a guest
Jul 9th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 4.60 KB | None | 0 0
  1. class CashOutOptionDialogFragment
  2.     : HeaderDialogFragment() {
  3.     class State {
  4.         var saldoBukaDana: String? = null
  5.         var saldoPelapak: String? = null
  6.         var onSelectSaldoPelapak: View.OnClickListener? = null
  7.         var onSelectBukaDana: View.OnClickListener? = null
  8.     }
  9.  
  10.     class Actions(state: State) : AppSuxActions<Fragment, Actions, State>(state) {
  11.         fun initState(s: State.() -> Unit) {
  12.             state.s()
  13.         }
  14.     }
  15.  
  16.     class Fragment : AppSuxFragment<Fragment, Actions, State>() {
  17.         override fun initActions(state: State) = Actions(state)
  18.         override fun initState() = State()
  19.  
  20.         val adapter get() = linearLayoutAdapter(recyclerView)
  21.  
  22.         init {
  23.             contentRes = R.layout.fragment_recyclerview
  24.             toolbarTitle = R.string.cairkan.resString()
  25.         }
  26.  
  27.         override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
  28.             super.onViewCreated(view, savedInstanceState)
  29.             atomicToolbar?.attachBottomView(ToolbarHelper.makeSeparator(context))
  30.         }
  31.  
  32.         override fun render(state: State) {
  33.             super.render(state)
  34.  
  35.             val items = mutableListOf<ViewItem<*>>()
  36.  
  37.             items.add(TextViewItem.item {
  38.                 text = { R.string.text_withdraw_option.resString() }
  39.                 margin = Frame(
  40.                         left = AtomicHelper.STANDARD_MARGIN_2x,
  41.                         right = AtomicHelper.STANDARD_MARGIN_2x,
  42.                         top = AtomicHelper.STANDARD_MARGIN_2x,
  43.                         bottom = AtomicHelper.STANDARD_MARGIN
  44.                 )
  45.             })
  46.  
  47.             items.add(AtomicMenuItem.item {
  48.                 title = { R.string.agent_balance.resString().toUpperCase() }
  49.                 titleColor = R.color.dark_ash
  50.                 subtitle = { state.saldoBukaDana }
  51.                 subtitleColor = R.color.text_dark
  52.                 subtitleStyle = R.style.Theme_BlTheme
  53.                 iconLeft = R.drawable.ic_bukadompet
  54.                 margin = Frame(
  55.                         left = AtomicHelper.STANDARD_MARGIN_2x,
  56.                         right = AtomicHelper.STANDARD_MARGIN_2x,
  57.                         top = AtomicHelper.STANDARD_MARGIN,
  58.                         bottom = AtomicHelper.STANDARD_MARGIN
  59.                 )
  60.                 padding = Frame(
  61.                         left = AtomicHelper.STANDARD_MARGIN_2x,
  62.                         right = AtomicHelper.STANDARD_MARGIN_2x,
  63.                         top = AtomicHelper.STANDARD_MARGIN_2x,
  64.                         bottom = AtomicHelper.STANDARD_MARGIN_2x
  65.                 )
  66.                 background = R.drawable.border_dark_sand_1dp
  67.                 titleStyle = R.style.Title1_Bold
  68.                 subtitleStyle = R.style.Caption_Blblack
  69.             }.withOnItemClickListener { v, adapter, item, position ->
  70.                 {}
  71.                 true
  72.             })
  73.  
  74.             items.add(AtomicMenuItem.item {
  75.                 title = { R.string.text_buka_dana.resString().toUpperCase() }
  76.                 titleColor = R.color.dark_ash
  77.                 subtitle = { state.saldoPelapak }
  78.                 subtitleColor = R.color.text_dark
  79.                 subtitleStyle = R.style.Theme_BlTheme
  80.                 iconLeft = R.drawable.ic_bukadompet
  81.                 margin = Frame(
  82.                         left = AtomicHelper.STANDARD_MARGIN_2x,
  83.                         right = AtomicHelper.STANDARD_MARGIN_2x,
  84.                         top = AtomicHelper.STANDARD_MARGIN,
  85.                         bottom = AtomicHelper.STANDARD_MARGIN_2x
  86.                 )
  87.                 padding = Frame(
  88.                         left = AtomicHelper.STANDARD_MARGIN_2x,
  89.                         right = AtomicHelper.STANDARD_MARGIN_2x,
  90.                         top = AtomicHelper.STANDARD_MARGIN_2x,
  91.                         bottom = AtomicHelper.STANDARD_MARGIN_2x
  92.                 )
  93.                 background = R.drawable.border_dark_sand_1dp
  94.                 titleStyle = R.style.Title1_Bold
  95.                 subtitleStyle = R.style.Caption_Blblack
  96.             })
  97.  
  98.             adapter.set(items)
  99.         }
  100.     }
  101. }
  102.  
  103.  
  104.  
  105.  
  106. ////////////-------------------------
  107.  
  108. CashOutOptionDialogFragment.Fragment fragment = new CashOutOptionDialogFragment.Fragment();
  109.         fragment.getActions().initState(state -> {
  110.             state.setSaldoBukaDana(NumberUtils.getFormattedRupiahTextView(saldoBukaDana));
  111.             state.setSaldoPelapak(totalBalance);
  112.  
  113.             return Unit.INSTANCE;
  114.         });
  115.  
  116.         PersistentDialog.Companion.builder(getContext())
  117.                 .setContent(fragment).show();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement