Skip to content
Snippets Groups Projects
Commit 5b2ef9e2 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

lost promise is back in the flow

parent 45aea5a8
No related branches found
No related tags found
1 merge request!369Resolve "Functionality to update Terms of Service"
...@@ -522,7 +522,7 @@ h1 { ...@@ -522,7 +522,7 @@ h1 {
font-weight: 400; font-weight: 400;
} }
.minerva-projects-tab, .minerva-users-tab, .minerva-configuration-tab, .minerva-genome-tab { .minerva-projects-tab, .minerva-users-tab, .minerva-configuration-tab .tab-pane, .minerva-genome-tab {
margin-left: 10px; margin-left: 10px;
margin-top: 10px; margin-top: 10px;
} }
......
...@@ -50,6 +50,7 @@ AbstractAdminPanel.prototype._createHeader = function (name) { ...@@ -50,6 +50,7 @@ AbstractAdminPanel.prototype._createHeader = function (name) {
* @returns {Promise} * @returns {Promise}
*/ */
AbstractAdminPanel.prototype.init = function () { AbstractAdminPanel.prototype.init = function () {
this._initialized = true;
return Promise.all(this._initPromises); return Promise.all(this._initPromises);
}; };
...@@ -77,12 +78,18 @@ AbstractAdminPanel.prototype.bindUserGuiPreference = function (params) { ...@@ -77,12 +78,18 @@ AbstractAdminPanel.prototype.bindUserGuiPreference = function (params) {
} }
}).catch(GuiConnector.alert); }).catch(GuiConnector.alert);
}); });
this._initPromises.push(ServerConnector.getLoggedUser().then(function (user) { var promise = ServerConnector.getLoggedUser().then(function (user) {
var value = user.getPreferences().getGuiPreference(params.preferenceName, params.defaultValue); var value = user.getPreferences().getGuiPreference(params.preferenceName, params.defaultValue);
return params.setter(value); return params.setter(value);
})); });
this._eventBinds.push(params); this._eventBinds.push(params);
if (!this._initialized) {
this._initPromises.push(promise);
} else {
return promise;
}
}; };
/** /**
......
...@@ -112,18 +112,6 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type) ...@@ -112,18 +112,6 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type)
}], }],
order: [[1, "asc"]] order: [[1, "asc"]]
}); });
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();
}
});
var data = []; var data = [];
...@@ -138,6 +126,19 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type) ...@@ -138,6 +126,19 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type)
dataTable.clear().rows.add(data).draw(); dataTable.clear().rows.add(data).draw();
self.getGuiUtils().addTab(self, {name: type, content: configurationDiv}); self.getGuiUtils().addTab(self, {name: type, content: configurationDiv});
return 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();
}
});
}; };
/** /**
...@@ -146,35 +147,40 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type) ...@@ -146,35 +147,40 @@ ConfigurationAdminPanel.prototype.createOptionsTable = function (options, type)
*/ */
ConfigurationAdminPanel.prototype.init = function () { ConfigurationAdminPanel.prototype.init = function () {
var self = this; var self = this;
return self.getServerConnector().getLoggedUser().then(function (user) { return AbstractAdminPanel.prototype.init.call(this).then(function () {
return self.getServerConnector().getLoggedUser();
}).then(function (user) {
var configuration = self.getConfiguration(); var configuration = self.getConfiguration();
var privilege = configuration.getPrivilegeType(PrivilegeType.CONFIGURATION_MANAGE); var privilege = configuration.getPrivilegeType(PrivilegeType.CONFIGURATION_MANAGE);
if (user.hasPrivilege(privilege)) { if (user.hasPrivilege(privilege)) {
self.setOptions(configuration.getOptions()); return self.setOptions(configuration.getOptions());
} else { } else {
self.disablePanel("You have no privilege to manage configuration"); self.disablePanel("You have no privilege to manage configuration");
} }
}).then(function(){
}); });
}; };
/** /**
* *
* @param {ConfigurationOption[]} options * @param {ConfigurationOption[]} options
*
* @returns {Promise}
*/ */
ConfigurationAdminPanel.prototype.setOptions = function (options) { ConfigurationAdminPanel.prototype.setOptions = function (options) {
var self = this; var self = this;
var categories = {"": true}; var categories = {"": true};
var promises = [];
for (var i = 0; i < options.length; i++) { for (var i = 0; i < options.length; i++) {
var option = options[i]; var option = options[i];
var group = option.getGroup(); var group = option.getGroup();
if (categories[group] === undefined && group !== undefined) { if (categories[group] === undefined && group !== undefined) {
categories[group] = true; categories[group] = true;
self.createOptionsTable(options, group); promises.push(self.createOptionsTable(options, group));
} }
} }
return Promise.all(promises);
}; };
/** /**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment