From 27b7aff3ea700e1c837858b9cc5cc0b2dc234d2b Mon Sep 17 00:00:00 2001 From: zmagod Date: Mon, 12 Feb 2018 10:49:35 +0100 Subject: [PATCH 1/2] fixed bug with assigned repository items [fixes SCI-2040] --- .../repositories/repository_datatable.js | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/repositories/repository_datatable.js b/app/assets/javascripts/repositories/repository_datatable.js index 71f02ebb7..d11c0b6d1 100644 --- a/app/assets/javascripts/repositories/repository_datatable.js +++ b/app/assets/javascripts/repositories/repository_datatable.js @@ -176,7 +176,14 @@ var RepositoryDatatable = (function(global) { TABLE.column(i).visible(visibility); TABLE.setColumnSearchable(i, visibility); } - oSettings._colReorder.fnOrder(myData.ColReorder); + // Datatables triggers this action about 3 times + // sometimes on the first iteration the oSettings._colReorder is null + // and the fnOrder rises an error that breaks the table + // here I added a null guard for that case. + // @todo we need to find out why the tables are loaded multiple times + if( oSettings._colReorder ) { + oSettings._colReorder.fnOrder(myData.ColReorder); + } TABLE.on('mousedown', function() { $('#repository-columns-dropdown').removeClass('open'); }); @@ -445,15 +452,21 @@ var RepositoryDatatable = (function(global) { $('#assigned-repo-records').on('click', function() { viewAssigned = 'assigned'; - TABLE.ajax.reload(function() { + var promiseReload = new Promise(function(resolve) { + resolve(TABLE.ajax.reload()); + }); + promiseReload.then(function() { initRowSelection(); - }, false); + }) }); $('#all-repo-records').on('click', function() { viewAssigned = 'all'; - TABLE.ajax.reload(function() { + var promiseReload = new Promise(function(resolve) { + resolve(TABLE.ajax.reload()); + }); + promiseReload.then(function() { initRowSelection(); - }, false); + }) }); }; From 78e902f31629e91b890a3a498c30293812e32a0e Mon Sep 17 00:00:00 2001 From: zmagod Date: Thu, 15 Feb 2018 11:06:59 +0100 Subject: [PATCH 2/2] fixes few Hound alerts --- app/assets/javascripts/repositories/repository_datatable.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/repositories/repository_datatable.js b/app/assets/javascripts/repositories/repository_datatable.js index d11c0b6d1..23aadea84 100644 --- a/app/assets/javascripts/repositories/repository_datatable.js +++ b/app/assets/javascripts/repositories/repository_datatable.js @@ -451,8 +451,9 @@ var RepositoryDatatable = (function(global) { }); $('#assigned-repo-records').on('click', function() { + var promiseReload; viewAssigned = 'assigned'; - var promiseReload = new Promise(function(resolve) { + promiseReload = new Promise(function(resolve) { resolve(TABLE.ajax.reload()); }); promiseReload.then(function() { @@ -460,8 +461,9 @@ var RepositoryDatatable = (function(global) { }) }); $('#all-repo-records').on('click', function() { + var promiseReload; viewAssigned = 'all'; - var promiseReload = new Promise(function(resolve) { + promiseReload = new Promise(function(resolve) { resolve(TABLE.ajax.reload()); }); promiseReload.then(function() {