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

creation of "export as image submenu" extracted to separate method

parent f2c5ab0b
No related branches found
No related tags found
1 merge request!5Frontend refactor
......@@ -79,4 +79,37 @@ ContextMenu.prototype.hide = function() {
$(this.getElement()).hide();
};
ContextMenu.prototype.createExportAsImageSubmenu = function() {
var self = this;
return new Promise(function(resolve, reject){
return ServerConnector.getImageConverters().then(function(converters){
var li = Functions.createElement({
type : "li"
});
var submenu = new SubMenu({
element : li,
name : "Export as image",
customMap : self.getMap()
});
var map = self.getMap();
converters.forEach(function(converter){
submenu.addOption(converter.name, function(){
return ServerConnector.getImageDownloadUrl({
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;
......@@ -20,32 +20,7 @@ SelectionContextMenu.prototype.constructor = SelectionContextMenu;
SelectionContextMenu.prototype.init = function() {
var self = this;
return ServerConnector.getImageConverters().then(function(converters){
var li = Functions.createElement({
type : "li"
});
var submenu = new SubMenu({
element : li,
name : "Export as image",
customMap : self.getMap()
});
var map = self.getMap();
converters.forEach(function(converter){
submenu.addOption(converter.name, function(){
return ServerConnector.getImageDownloadUrl({
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);
});
});
return self.createExportAsImageSubmenu().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