houdini/client/js/gift_options/index.js

32 lines
761 B
JavaScript

require('../common/restful_resource')
appl.def('gift_options', {
resource_name: 'campaign_gift_options',
path_prefix: '/nonprofits/' + app.nonprofit_id + '/campaigns/' + app.campaign_id + '/',
})
appl.def('ajax_gift_options.index', function() {
appl.ajax.index('gift_options').then(function(resp) {
var data = resp.body.data
appl.def('gift_options.data', supplementData(data))
checkForQuantity(data)
})
})
function supplementData(data) {
return data.map(function(x) {
if(x.quantity) {
var remaining = x.quantity - x.total_gifts
x.remaining = remaining > 0 ? remaining : 0
}
return x
})
}
function checkForQuantity(data) {
data.forEach(function(x){
if(x.quantity) {
appl.def('gift_options.has_any_quantities', true)
}
})
}