-
Piotr Gawron authored
clicking on map access appropriate elements vi api
Piotr Gawron authoredclicking on map access appropriate elements vi api
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
helper.js 6.82 KiB
"use strict";
require("./mocha-config");
var Alias = require("../../main/js/map/data/Alias");
var AbstractCustomMap = require("../../main/js/map/AbstractCustomMap");
var Comment = require("../../main/js/map/data/Comment");
var CommentDbOverlay = require("../../main/js/map/overlay/CommentDbOverlay");
var CustomMap = require("../../main/js/map/CustomMap");
var CustomMapOptions = require("../../main/js/map/CustomMapOptions");
var IdentifiedElement = require("../../main/js/map/data/IdentifiedElement");
var LayoutAlias = require("../../main/js/map/data/LayoutAlias");
var LayoutData = require("../../main/js/map/data/LayoutData");
var LayoutReaction = require("../../main/js/map/data/LayoutReaction");
var Model = require("../../main/js/map/data/MapModel");
var OverlayCollection = require("../../main/js/map/overlay/OverlayCollection");
var Project = require("../../main/js/map/data/Project");
var Reaction = require("../../main/js/map/data/Reaction");
var SearchDbOverlay = require("../../main/js/map/overlay/SearchDbOverlay");
function Helper() {
this.idCounter = 1000000;
}
Helper.prototype.createCommentDbOverlay = function(map) {
var result = new CommentDbOverlay({
map : map,
name : "comment",
allowGeneralSearch : true
});
return result;
};
Helper.prototype.createSearchDbOverlay = function(map) {
var result = new SearchDbOverlay({
map : map,
name : "search",
});
return result;
};
Helper.prototype.createDrugDbOverlay = function(map) {
var result = this.createDbOverlay(map);
result.setName('drug');
result.setAllowGeneralSearch(true);
result.setAllowSearchById(true);
return result;
};
Helper.prototype.createComment = function(element) {
var elementType = "ALIAS";
var elementId = this.idCounter++;
var id = this.idCounter++;
var modelId = this.idCounter++;
if (element !== undefined) {
if (element instanceof Alias) {
elementType = "ALIAS";
elementId = element.getId();
modelId = element.getModelId();
} else {
throw new Error("Unknown element type: " + element);
}
}
var result = new Comment({
elementId : elementId,
type : elementType,
modelId : modelId,
icon : "icons/comment.png",
id : id,
pinned : true,
coord : {
x : 321.5,
y : 289.0
},
removed : false,
title : "title fo comment: " + id,
content : "content of the comment # " + id
});
return result;
};
Helper.prototype.createDbOverlay = function(map) {
var result = new OverlayCollection({
map : map,
name : "overlay name: " + (this.idCounter++),
allowGeneralSearch : true
});
return result;
};
Helper.prototype.createProject = function() {
var result = new Project();
result.setProjectId("testId");
result.setId(this.idCounter++);
result.setModel(this.createModel());
return result;
};
Helper.prototype.createAlias = function(map) {
var mapId;
if (map === undefined) {
mapId = this.idCounter++;
} else {
mapId = map.getId();
}
var result = new Alias({
idObject : this.idCounter++,
name : "Test element",
type : "RNA",
modelId : mapId,
bounds : {
x : 10.0,
y : 20.0,
width : 30.0,
height : 40.0,
},
});
if (map !== undefined) {
map.getModel().addAlias(result);
}
return result;
};
Helper.prototype.createLayoutAlias = function(alias) {
var id;
if (alias instanceof Alias) {
id = alias.getId();
} else {
id = this.idCounter++;
}
var result = new LayoutAlias({
idObject : id,
value : 0.2,
color : {
a : 23
},
geneVariations : [ {} ]
});
return result;
};
Helper.prototype.createLayoutReaction = function(reaction) {
var reactionId;
if (reaction instanceof Reaction) {
reactionId = reaction.getId();
} else {
reactionId = this.idCounter++;
}
var result = new LayoutReaction({
idObject : reactionId,
width : 3.4,
color : {
a : 24,
},
reverse : true
});
return result;
};
Helper.prototype.createIdentifiedElement = function(element) {
if (element === undefined) {
return new IdentifiedElement({
type : "ALIAS",
idObject : this.idCounter++,
modelId : this.idCounter++,
});
}
return new IdentifiedElement(element);
};
Helper.prototype.createReaction = function(map) {
var mapId = null;
if (map !== undefined) {
mapId = map.getId();
} else {
mapId = this.idCounter++;
}
var result = new Reaction({
idObject : this.idCounter++,
lines : [ {
start : {
x : 434.8904109589041,
y : 85.0
},
end : {
x : 410.8341500923087,
y : 104.95576185524392
},
type : "START"
}, {
start : {
x : 404.6769250286157,
y : 110.06345991944379
},
end : {
x : 380.62066416202026,
y : 130.0192217746877
},
type : "END"
} ],
centerPoint : new google.maps.Point(0, 0),
modelId : mapId,
});
return result;
};
Helper.prototype.createOptions = function() {
var map = this.createGoogleMap();
var project = this.createProject();
var options = {
map : map,
project : project,
dataCollections : [ {
name : "testCollection" + this.idCounter++,
} ],
};
return options;
};
Helper.prototype.createModel = function() {
var result = new Model();
result.setId(this.idCounter++);
result.setTileSize(256);
result.setWidth(26547.3333333333);
result.setHeight(800);
result.setMaxZoom(8);
result.setMinZoom(2);
var layout = this.createLayout();
result.addLayout(layout);
return result;
};
Helper.prototype.createLayout = function() {
var id = this.idCounter++;
var layout = new LayoutData({
idObject : id,
name : "testLayout" + id,
});
return layout;
};
Helper.prototype.createGoogleMap = function() {
var result = new google.maps.Map(testDiv, {
center : {
lat : -34.397,
lng : 150.644
},
scrollwheel : false,
zoom : 8
});
return result;
};
Helper.prototype.createCustomMapOptions = function() {
var project = this.createProject();
var map = this.createGoogleMap();
var result = new CustomMapOptions({
markerOptimization : true,
project : project,
map : map
});
return result;
};
Helper.prototype.createAbstractCustomMap = function() {
var options = this.createCustomMapOptions();
var result = new AbstractCustomMap(options.getProject().getModel(), options);
return result;
};
Helper.prototype.createCustomMap = function() {
var options = this.createCustomMapOptions();
var result = new CustomMap(options);
return result;
};
module.exports = Helper;