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

export to celldesigner model added

parent 30940db2
No related branches found
No related tags found
1 merge request!5Frontend refactor
...@@ -249,6 +249,14 @@ ServerConnector.getImageConvertersUrl = function(params) { ...@@ -249,6 +249,14 @@ ServerConnector.getImageConvertersUrl = function(params) {
}, },
}); });
}; };
ServerConnector.getModelConvertersUrl = function(params) {
return this.getApiUrl({type:"configuration",
method: "getModelFormats",
params: {
token: params.token,
},
});
};
ServerConnector.getPublicationsUrl = function(params) { ServerConnector.getPublicationsUrl = function(params) {
...@@ -1151,6 +1159,22 @@ ServerConnector.getImageConverters = function(params) { ...@@ -1151,6 +1159,22 @@ ServerConnector.getImageConverters = function(params) {
}); });
}); });
}; };
ServerConnector.getModelConverters = function(params) {
if (params===undefined) {
params = {};
}
var self = this;
return new Promise(function(resolve, reject) {
return self.getToken().then(function(token) {
params.token = token;
return self.readFile(self.getModelConvertersUrl(params));
}).then(function(content) {
resolve(JSON.parse(content));
}).catch(function(exception){
reject(exception);
});
});
};
......
...@@ -112,4 +112,37 @@ ContextMenu.prototype.createExportAsImageSubmenu = function() { ...@@ -112,4 +112,37 @@ ContextMenu.prototype.createExportAsImageSubmenu = function() {
}); });
}; };
ContextMenu.prototype.createExportAsModelSubmenu = function() {
var self = this;
return new Promise(function(resolve, reject){
return ServerConnector.getModelConverters().then(function(converters){
var li = Functions.createElement({
type : "li"
});
var submenu = new SubMenu({
element : li,
name : "Export as model",
customMap : self.getMap()
});
var map = self.getMap();
converters.forEach(function(converter){
submenu.addOption(converter.name, function(){
return ServerConnector.getModelDownloadUrl({
polygonString: map.getSelectedPolygon(),
modelId: map.getActiveSubmapId(),
handlerClass: converter.handler,
backgroundOverlayId: map.getGoogleMap().getMapTypeId(),
zoomLevel:map. getGoogleMap().getZoom(),
overlayIds: map.getSelectedLayouts(),
}).then(function(url){
return self.downloadFile(url);
}).catch(GuiConnector.alert);
});
});
resolve(submenu);
});
});
};
module.exports = ContextMenu; module.exports = ContextMenu;
...@@ -32,6 +32,9 @@ MapContextMenu.prototype.init = function() { ...@@ -32,6 +32,9 @@ MapContextMenu.prototype.init = function() {
var self = this; var self = this;
return self.createExportAsImageSubmenu().then(function(submenu){ return self.createExportAsImageSubmenu().then(function(submenu){
self.addOption(submenu); self.addOption(submenu);
return self.createExportAsModelSubmenu()
}).then(function(submenu){
self.addOption(submenu);
}); });
}; };
......
...@@ -22,6 +22,9 @@ SelectionContextMenu.prototype.init = function() { ...@@ -22,6 +22,9 @@ SelectionContextMenu.prototype.init = function() {
var self = this; var self = this;
return self.createExportAsImageSubmenu().then(function(submenu){ return self.createExportAsImageSubmenu().then(function(submenu){
self.addOption(submenu); self.addOption(submenu);
return self.createExportAsModelSubmenu()
}).then(function(submenu){
self.addOption(submenu);
}); });
}; };
......
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