Repository URL to install this package:
|
Version:
1.0.8 ▾
|
(function() {
'use strict';
angular.module('angularGobox').service('DropOffOrder', DropOffOrder);
function DropOffOrder($rootScope) {
var service = this;
service.toggle = toggle;
service.contains = contains;
service.count = count;
service.prepare = prepare;
service.reset = reset;
service.reset();
// public
function toggle(box) {
if (contains(box)) {
_.remove(service.order.customerboxes, function(otherBox) {
return box.id === otherBox.id;
});
} else {
service.order.customerboxes.push(box);
}
return box;
}
function contains(given) {
return !!_.find(service.order.customerboxes, function(box) {
return given && box && given.id == box.id;
});
}
function count() {
return service.order.customerboxes.length;
}
function prepare() {
var data = angular.extend({}, service.order.address);
data.customerboxes = _.collect(service.order.customerboxes, 'id');
data.preferred_date = service.order.preferred_date;
data.trip_type = service.order.trip_type;
return data;
}
function reset() {
service.order = {
trip_type: 1,
customerboxes: [],
preferred_date: undefined,
address: {}
};
}
}
})();