Cache function?

by Riderman Sousa

HTML

<script src="http://cdnjs.cloudflare.com/ajax/libs/knockout/2.2.1/knockout-min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
<script src="http://raw.github.com/davidstutz/bootstrap-multiselect/master/js/bootstrap-multiselect.js"></script>
<form>
    Responsável: <select id="responsaveis" data-bind="options: Responsaveis, selectedOptions: ResponsaveisSelected, optionsCaption: '[Selecione]', optionsValue: 'Id', optionsText: 'Nome'"></select>
    Nome: <input data-bind="value: Nome" />
    Endereco: <input data-bind="value: Endereco" />
    
</form>

<p data-bind="text: Url()"></p>

CoffeeScript

class ViewModel
    # Campos busca
    Nome: ko.observable()
    Endereco: ko.observable()
    Responsaveis: ko.observableArray []
    ResponsaveisSelected: ko.observableArray []
    
    constructor: ->
        @Url = ko.computed
            read: ->
                urlBase = "api/empresas?$expand=Teste"
                urlFilter = ""
                
                if viewModel.Nome()
                    urlFilter += "Name eq #{@Nome()}"
                   
                if viewModel.Endereco()
                    urlFilter += "Endereco eq #{@Endereco()}"
                debugger
                if viewModel.ResponsaveisSelected()
                    debugger
                
                return "#{urlBase}?$filter=#{urlFilter}" if urlFilter
                urlBase
            owner: @
            deferEvaluation: true
        
viewModel = new ViewModel()

# Fill Responsáveis
ko.utils.arrayPushAll viewModel.Responsaveis, [
            Id: 1
            Nome: "Riderman de Sousa"
        ,
            Id: 2
            Nome: "Raquel de Castro"
        ,
            Id: 3
            Nome: "Felipe de Sousa"
    ]


ko.applyBindings viewModel