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

Merge branch '196-drug-targets' into 'master'

targetting elements on submaps gives links to submaps

Closes #196

See merge request !103
parents e3760866 893c4595
No related branches found
No related tags found
1 merge request!103targetting elements on submaps gives links to submaps
......@@ -473,4 +473,9 @@ table.minerva-window-drug-table, table.minerva-window-drug-table th,
.minerva-overlay-dialog div[style*="display: table-cell"] {
padding: 2px;
vertical-align: top;
}
.minerva-open-submap-button {
padding: 2px;
margin: 2px;
}
\ No newline at end of file
......@@ -264,7 +264,9 @@ AbstractPanel.prototype.createTargetRow = function(target, icon) {
iconColumn.style.verticalAlign = "middle";
iconColumn.style.textAlign = "center";
result.appendChild(iconColumn);
var submaps = [];
if (target.getTargetElements().length > 0) {
var submapAddedIds = [];
iconColumn.appendChild(guiUtils.createIcon(icon));
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
......@@ -275,6 +277,14 @@ AbstractPanel.prototype.createTargetRow = function(target, icon) {
};
iconColumn.appendChild(checkbox);
var elements = target.getTargetElements();
for (var i = 0; i < elements.length; i++) {
var elementId = elements[i].getModelId();
if (elementId !== self.getMap().getId() && !submapAddedIds[elementId]) {
submaps.push(elementId);
submapAddedIds[elementId] = true;
}
}
}
var descColumn = document.createElement("td");
......@@ -288,6 +298,25 @@ AbstractPanel.prototype.createTargetRow = function(target, icon) {
descColumn.appendChild(guiUtils.createAnnotations("References: ", target.getReferences(), {
showType : false,
}));
if (submaps.length > 0) {
descColumn.appendChild(guiUtils.createLabel("Available in submaps: "));
for (i = 0; i < submaps.length; i++) {
var model = self.getMap().getSubmapById(submaps[i]).getModel();
var onclick = function() {
var id = model.getId();
return function() {
self.getMap().openSubmap(id);
}
}();
var button = Functions.createElement({
type : "button",
className : "minerva-open-submap-button",
content : model.getName(),
onclick : onclick,
});
descColumn.appendChild(button);
}
}
return result;
};
......
......@@ -31,26 +31,36 @@ describe('AbstractDbPanel', function() {
describe('createTargetRow', function() {
it('target with elements', function() {
var div = document.createElement("div");
var map = helper.createCustomMap();
map.registerDbOverlay(helper.createSearchDbOverlay(map));
helper.setUrl("http://test/?id=complex_model_with_submaps");
var map;
var panel = new AbstractDbPanel({
element : div,
customMap : map,
panelName : "search",
});
return ServerConnector.getProject().then(function(project) {
map = helper.createCustomMap(project);
map.registerDbOverlay(helper.createSearchDbOverlay(map));
var panel = new AbstractDbPanel({
element : div,
customMap : map,
panelName : "search",
});
var target = new Target({
targetElements : [ {
id : 329168,
modelId : 15781,
type : "ALIAS"
} ],
references : [],
targetParticipants : [],
var target = new Target({
targetElements : [ {
id : 345337,
modelId : 16731,
type : "ALIAS"
}, {
id : 345338,
modelId : 16731,
type : "ALIAS"
} ],
references : [],
targetParticipants : [],
});
var htmlTag = panel.createTargetRow(target, "empty.png");
assert.ok(htmlTag);
assert.equal(1, $(".minerva-open-submap-button", $(htmlTag)).length)
});
var htmlTag = panel.createTargetRow(target, "empty.png");
assert.ok(htmlTag);
});
});
});
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