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