Sha256: 20da5cad384db0885b3f552347cf10664a8360b7d7e36a4702108bc3a669f792

Contents?: true

Size: 1.66 KB

Versions: 7

Compression:

Stored size: 1.66 KB

Contents

example ?= {}
example.converter ?= {}

example.converter.controller = ({views, changePage, ajax}) ->
  currencies = ['USD', 'AUD', 'GBP', 'INR']
  currencyRate =
    USD: 1
    AUD: 0.96
    GBP: 0.62
    INR: 55

  inCurrency = "USD"
  outCurrency = "AUD"

  currencyDropdownViewMessage = (selectedCurrency, unselectableCurrency) ->
    _.map currencies, (c) ->
      code: c,
      enabled: c != unselectableCurrency
      selected: c == selectedCurrency

  performConversion = (amount) ->
    outRate = currencyRate[outCurrency]
    inRate = currencyRate[inCurrency]
    views.conversionForm.render
      out_amount: (Math.round(amount * (outRate / inRate) * 100)) / 100

  convert = () ->
    views.conversionForm.get 'in_amount', (inAmount) ->
      if inAmount == ""
        calatrava.confirm "No amount to convert. Convert one instead?", (convertOne) ->
          performConversion(1) if convertOne
      else
        performConversion(inAmount)

  views.conversionForm.bind 'convert', convert

  views.conversionForm.bind 'selectedInCurrency', ->
    views.conversionForm.get 'in_currency', (in_currency) ->
      inCurrency = in_currency
      views.conversionForm.render
        outCurrencies: currencyDropdownViewMessage outCurrency, inCurrency

  views.conversionForm.bind 'selectedOutCurrency', ->
    views.conversionForm.get 'out_currency', (out_currency) ->
      outCurrency = out_currency
      views.conversionForm.render
        inCurrencies: currencyDropdownViewMessage inCurrency, outCurrency

  views.conversionForm.render
    inCurrencies: currencyDropdownViewMessage inCurrency, outCurrency
    outCurrencies: currencyDropdownViewMessage outCurrency, inCurrency
    in_amount: 1

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
calatrava-0.6.6 lib/calatrava/templates/kernel/app/converter/controller.converter.coffee
calatrava-0.6.5 lib/calatrava/templates/kernel/app/converter/controller.converter.coffee
calatrava-0.6.4 lib/calatrava/templates/kernel/app/converter/controller.converter.coffee
calatrava-0.6.3 lib/calatrava/templates/kernel/app/converter/controller.converter.coffee
calatrava-0.6.2 lib/calatrava/templates/kernel/app/converter/controller.converter.coffee
calatrava-0.6.1 lib/calatrava/templates/kernel/app/converter/controller.converter.coffee
calatrava-0.6.0 lib/calatrava/templates/kernel/app/converter/controller.converter.coffee