
Untitled
By: a guest on
Sep 16th, 2012 | syntax:
None | size: 0.75 KB | hits: 16 | expires: Never
advancedSearch: (field_name = null, values = []) ->
options = []
if arguments.length is 1 and _.isArray field_name
options = field_name
for option in options
if option[1] and !_.isArray option[1]
option[1] = [option[1]]
else if arguments.length is 1 and _.isObject field_name
options = []
_.each field_name, (values, field_name) =>
if !_.isArray values
values = [values]
options.push [field_name, values]
else
if !_.isArray values
values = [values]
options = [[field_name, values ]]
@filter (item) =>
len = options.length
checked = 0
for option in options
if _.include option[1], item.get option[0]
checked++
len is checked