diff --git a/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js b/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js index b7a15daccb3e06c7a9450a1644b990a74ab7d3f4..eafd327e11b931aceaed5097b791c392bf2d20d3 100644 --- a/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js +++ b/frontend-js/src/main/js/gui/admin/AbstractAdminPanel.js @@ -1,5 +1,7 @@ "use strict"; +var $ = require('jquery'); + /* exported logger */ /* exported Promise*/ @@ -85,6 +87,29 @@ AbstractAdminPanel.prototype.bindUserGuiPreference = function (params) { }; +/** + * + * @param {Object} param + * @param {HTMLElement} param.element + * @param {string} param.preferenceName + */ +AbstractAdminPanel.prototype.bindDataTablePageLengthToUserPreference = function (param) { + var jQueryObject = $(param.element); + return this.bindUserGuiPreference({ + jQueryObject: jQueryObject, + event: 'length.dt', + preferenceName: param.preferenceName, + defaultValue: '10', + getter: function () { + return jQueryObject.DataTable().page.len() + ''; + }, + setter: function (value) { + return jQueryObject.DataTable().page.len(value).draw(); + } + }) +}; + + /** * * @returns {Promise} diff --git a/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js b/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js index 58752e135caa6bd6472aacef9c4bf4799425889c..8bd3770e96aba57610057a280837638f860a3f6c 100644 --- a/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js +++ b/frontend-js/src/main/js/gui/admin/ConfigurationAdminPanel.js @@ -141,17 +141,9 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type) self.getGuiUtils().addTab(self, {name: type, content: configurationDiv}); - return Promise.all([self.bindUserGuiPreference({ - jQueryObject: $(configurationTable), - event: 'length.dt', - preferenceName: 'admin-configuration-datatable-length', - defaultValue: '10', - getter: function () { - return $(configurationTable).DataTable().page.len() + ''; - }, - setter: function (value) { - return $(configurationTable).DataTable().page.len(value).draw(); - } + return Promise.all([self.bindDataTablePageLengthToUserPreference({ + element: configurationTable, + preferenceName: 'admin-configuration-datatable-length' }), self.bindUserGuiPreference({ jQueryObject: $(configurationTable), event: 'order.dt', diff --git a/frontend-js/src/main/js/gui/admin/GenomeAdminPanel.js b/frontend-js/src/main/js/gui/admin/GenomeAdminPanel.js index e9c725637036de01df906a0b67b61992af86d43f..f2f57eb863473005c4be73bf13f9ae3c1a001bb8 100644 --- a/frontend-js/src/main/js/gui/admin/GenomeAdminPanel.js +++ b/frontend-js/src/main/js/gui/admin/GenomeAdminPanel.js @@ -90,17 +90,9 @@ GenomeAdminPanel.prototype._createGui = function () { }], order: [[1, "asc"], [4, "asc"]] }); - self.bindUserGuiPreference({ - jQueryObject: $(genomesTable), - event: 'length.dt', - preferenceName: 'admin-genome-datatable-length', - defaultValue: '10', - getter: function () { - return $(genomesTable).DataTable().page.len() + ''; - }, - setter: function (value) { - return $(genomesTable).DataTable().page.len(value).draw(); - } + self.bindDataTablePageLengthToUserPreference({ + element: genomesTable, + preferenceName: 'admin-genome-datatable-length' }); $(genomesTable).on("click", "[name='removeGenome']", function () { diff --git a/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js b/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js index 89dd2ebe50e22d55ddd35059ce1fe5a4b0311366..80e60bbc8a4890ccdffd8037ce6337f80ed55fb0 100644 --- a/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js +++ b/frontend-js/src/main/js/gui/admin/MapsAdminPanel.js @@ -142,22 +142,14 @@ MapsAdminPanel.prototype._createProjectTableRow = function () { }, { title: 'Remove' }], - order: [[ 0, "asc" ]], + order: [[0, "asc"]], columnDefs: [ {"orderable": false, "targets": [7, 8]} ] }); - self.bindUserGuiPreference({ - jQueryObject: $(projectsTable), - event: 'length.dt', - preferenceName: 'admin-projects-datatable-length', - defaultValue: '10', - getter: function () { - return $(projectsTable).DataTable().page.len() + ''; - }, - setter: function (value) { - return $(projectsTable).DataTable().page.len(value).draw(); - } + self.bindDataTablePageLengthToUserPreference({ + element: projectsTable, + preferenceName: 'admin-projects-datatable-length' }); $(projectsTable).on("click", "[name='removeProject']", function () { @@ -191,7 +183,7 @@ MapsAdminPanel.prototype._createProjectTableRow = function () { */ MapsAdminPanel.prototype.init = function () { var self = this; - return AbstractAdminPanel.prototype.init.call(self).then(function() { + return AbstractAdminPanel.prototype.init.call(self).then(function () { return self.getServerConnector().getProjects(); }).then(function (projects) { return self.setProjects(projects); diff --git a/frontend-js/src/main/js/gui/admin/PluginAdminPanel.js b/frontend-js/src/main/js/gui/admin/PluginAdminPanel.js index 82e6b0dacbbadf75a20174a3c0911fa07677b2f1..57dbefbbd66b259a96a4b508dde220936dcd3af2 100644 --- a/frontend-js/src/main/js/gui/admin/PluginAdminPanel.js +++ b/frontend-js/src/main/js/gui/admin/PluginAdminPanel.js @@ -69,17 +69,9 @@ PluginAdminPanel.prototype._createGui = function () { }], order: [[1, "asc"]] }); - self.bindUserGuiPreference({ - jQueryObject: $(pluginsTable), - event: 'length.dt', - preferenceName: 'admin-plugins-datatable-length', - defaultValue: '10', - getter: function () { - return $(pluginsTable).DataTable().page.len() + ''; - }, - setter: function (value) { - return $(pluginsTable).DataTable().page.len(value).draw(); - } + self.bindDataTablePageLengthToUserPreference({ + element: pluginsTable, + preferenceName: 'admin-plugins-datatable-length' }); $(pluginsTable).on("click", "[name='removePlugin']", function () { diff --git a/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js b/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js index 34bc6cec1f9cec1559788f77be3c54c746343119..4d82ff4b552e613db865ca9439fa7b9911199bf8 100644 --- a/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js +++ b/frontend-js/src/main/js/gui/admin/UsersAdminPanel.js @@ -137,17 +137,9 @@ UsersAdminPanel.prototype._createUsersTableRow = function () { ] }); - self.bindUserGuiPreference({ - jQueryObject: $(usersTable), - event: 'length.dt', - preferenceName: 'admin-users-datatable-length', - defaultValue: '10', - getter: function () { - return $(usersTable).DataTable().page.len() + ''; - }, - setter: function (value) { - return $(usersTable).DataTable().page.len(value).draw(); - } + self.bindDataTablePageLengthToUserPreference({ + element: usersTable, + preferenceName: 'admin-users-datatable-length' }); $(usersTable).on("click", "[name='removeUser']", function () {