From 00f9dd7a6851d4eb6cdde05d815113d885530feb Mon Sep 17 00:00:00 2001 From: Tom Kazimiers Date: Fri, 20 Jul 2018 13:44:50 -0400 Subject: [PATCH] Volume manager: represent each volume with model class --- .../catmaid/static/js/widgets/volumewidget.js | 22 ++++++++++++++----- .../catmaid/static/libs/catmaid/volumes.js | 8 +++++++ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/django/applications/catmaid/static/js/widgets/volumewidget.js b/django/applications/catmaid/static/js/widgets/volumewidget.js index e8ad21edc8..43c3751ddd 100644 --- a/django/applications/catmaid/static/js/widgets/volumewidget.js +++ b/django/applications/catmaid/static/js/widgets/volumewidget.js @@ -156,23 +156,33 @@ container.appendChild(tableContainer); this.datatable = $(table).DataTable({ lengthMenu: [CATMAID.pageLengthOptions, CATMAID.pageLengthLabels], - ajax: { - url: CATMAID.makeURL(project.id + "/volumes/"), - dataSrc: "" + ajax: function(data, callback, settings) { + + CATMAID.fetch(project.id + "/volumes/") + .then(function(volumeData) { + let volumes = volumeData.map(function(volume) { + return new CATMAID.Volume(volume); + }); + callback({ + draw: data.draw, + data: volumes + }); + }) + .catch(CATMAID.handleError); }, columns: [ - {data: "name"}, + {data: "title"}, {data: "id"}, {data: "comment"}, { - data: "user", + data: "user_id", render: function(data, type, row, meta) { return CATMAID.User.safe_get(data).login; } }, {data: "creation_time"}, { - data: "editor", + data: "editor_id", render: function(data, type, row, meta) { return CATMAID.User.safe_get(data).login; } diff --git a/django/applications/catmaid/static/libs/catmaid/volumes.js b/django/applications/catmaid/static/libs/catmaid/volumes.js index e17195b0ac..ffd2ba6b13 100644 --- a/django/applications/catmaid/static/libs/catmaid/volumes.js +++ b/django/applications/catmaid/static/libs/catmaid/volumes.js @@ -12,6 +12,14 @@ CATMAID.Volume = function(options) { options = options || {}; this.id = options.id || null; + this.project_id = options.project || null; + this.user_id = options.user || null; + this.editor_id = options.editor || null; + this.title = options.name || ''; + this.comment = options.comment || ''; + this.edition_time = options.edition_time || null; + this.creation_time = options.creation_time || null; + this.selected = options.selected || false; }; CATMAID.Volume.prototype = {};