FEATURE: User Directory, with sorting and time period filter

This commit is contained in:
Robin Ward
2015-03-16 15:14:33 -04:00
parent 6b85d5582c
commit 3d2d224312
47 changed files with 684 additions and 146 deletions

View File

@ -7,6 +7,10 @@ function parsePostData(query) {
return result;
}
function clone(obj) {
return JSON.parse(JSON.stringify(obj));
}
function response(code, obj) {
if (typeof code === "object") {
obj = code;
@ -24,6 +28,11 @@ const _widgets = [
{id: 124, name: 'Evil Repellant'}
];
const _moreWidgets = [
{id: 223, name: 'Bass Lure'},
{id: 224, name: 'Good Repellant'}
];
export default function() {
const server = new Pretender(function() {
@ -101,12 +110,23 @@ export default function() {
this.put('/widgets/:widget_id', function(request) {
const w = _widgets.findBy('id', parseInt(request.params.widget_id));
const cloned = JSON.parse(JSON.stringify(w));
return response({ widget: cloned });
return response({ widget: clone(w) });
});
this.get('/widgets', function() {
return response({ widgets: _widgets });
this.get('/widgets', function(request) {
let result = _widgets;
const qp = request.queryParams;
if (qp) {
if (qp.name) { result = result.filterBy('name', qp.name); }
if (qp.id) { result = result.filterBy('id', parseInt(qp.id)); }
}
return response({ widgets: result, total_rows_widgets: 4, load_more_widgets: '/load-more-widgets' });
});
this.get('/load-more-widgets', function() {
return response({ widgets: _moreWidgets, total_rows_widgets: 4, load_more_widgets: '/load-more-widgets' });
});
this.delete('/widgets/:widget_id', success);