diff --git a/client/src/js/modules/imaging/views/queuecontainer.js b/client/src/js/modules/imaging/views/queuecontainer.js index e9e546e83..2ec12d35d 100644 --- a/client/src/js/modules/imaging/views/queuecontainer.js +++ b/client/src/js/modules/imaging/views/queuecontainer.js @@ -527,6 +527,8 @@ define(['marionette', 'click a.unqueue': 'unqueueContainer', 'click a.addpage': 'queuePageSamples', 'click a.addall': 'queueAllSamples', + 'click a.unqueuesel': 'unqueueSelectedSamples', + 'click a.unqueueall': 'unqueueAllSamples', 'change @ui.nodata': 'refreshSubSamples', 'change @ui.notcompleted': 'refreshSubSamples', }, @@ -577,7 +579,7 @@ define(['marionette', this.$el.addClass('loading'); Backbone.ajax({ url: app.apiurl+'/sample/sub/queue/cid/'+this.model.get('CONTAINERID'), - method: "post", + method: 'post', data: data, success: function(resp) { _.each(resp, function (r) { @@ -592,6 +594,57 @@ define(['marionette', }) }, + unqueueSelectedSamples: function(e) { + e.preventDefault() + + let self = this + this.$el.addClass('loading'); + let sids = _.map(this.qsubsamples.where({ isGridSelected: true }), function(ss) {return ss.get('BLSUBSAMPLEID')}) + + Backbone.ajax({ + url: app.apiurl+'/sample/sub/queue', + data: { + BLSUBSAMPLEID: sids, + UNQUEUE: 1, + }, + success: function(resp) { + _.each(resp, function (r) { + let ss = self.qsubsamples.findWhere({ BLSUBSAMPLEID: r.BLSUBSAMPLEID }) + ss.set({ READYFORQUEUE: '0' }) + }) + }, + complete: function(resp, status) { + self.$el.removeClass('loading') + self.refreshQSubSamples(self) + } + }) + }, + + unqueueAllSamples: function(e) { + e.preventDefault() + + let self = this + this.$el.addClass('loading'); + Backbone.ajax({ + url: app.apiurl+'/sample/sub/queue/cid/'+this.model.get('CONTAINERID'), + method: 'post', + data: { + queued: 1, + UNQUEUE: 1, + }, + success: function(resp) { + _.each(resp, function (r) { + let ss = self.qsubsamples.fullCollection.findWhere({ BLSUBSAMPLEID: r.BLSUBSAMPLEID }) + ss.set({ READYFORQUEUE: '0' }) + }) + }, + complete: function(resp, status) { + self.$el.removeClass('loading') + self.refreshQSubSamples(self) + } + }) + }, + unqueueContainer: function(e) { e.preventDefault() diff --git a/client/src/js/templates/imaging/queuecontainer.html b/client/src/js/templates/imaging/queuecontainer.html index 26ecbe899..cff3c820b 100644 --- a/client/src/js/templates/imaging/queuecontainer.html +++ b/client/src/js/templates/imaging/queuecontainer.html @@ -49,12 +49,20 @@

Available Samples

Queued Samples

-
+ +
+ + Unqueue Selected + Unqueue All +
+
+ Presets: Apply to Selected Apply to All + +
-
<% if (!CONTAINERQUEUEID) { %>