Skip to content

Commit

Permalink
PermaLink Layer order Fixes #5
Browse files Browse the repository at this point in the history
  • Loading branch information
DirkThalheim committed Nov 25, 2019
1 parent 7f8a8d1 commit fccbed1
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 2 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "geo.okapi",
"version": "1.0.1",
"version": "1.0.2",
"scripts": {
"test": "karma start test/conf/karma.conf.js",
"eslint": "eslint src/js/** --fix",
Expand Down
2 changes: 1 addition & 1 deletion src/js/Control/PermaLink.js
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ BKGWebMap.Control.createPermaLink = function () {
var hashParts = layersInHash.split('&');
var hashPartsTemp;
var visible;
for (var i = 1; i < hashParts.length; i++) {
for (var i = hashParts.length - 1; i >= 0; i--) {
hashPartsTemp = hashParts[i].split('=');
for (var k = layers.overlays.length - 1; k >= 0; k--) {
if (layers.overlays[k] && layers.overlays[k].getProperties().id && layers.overlays[k].getProperties().id === hashPartsTemp[0]) {
Expand Down
64 changes: 64 additions & 0 deletions test/spec/Controls/permaLinkSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ describe('A suite for permalink', function () {
done();
});
});

it('test load url', function (done) {
window.location.hash = 'lat=' + latURL + '&lon=' + lonURL + '&zoom=' + zoom;

Expand Down Expand Up @@ -199,4 +200,67 @@ describe('A suite for permalink', function () {
done();
});
});

it('test layer order', function (done) {
window.location.hash = 'lat=' + latURL + '&lon=' + lonURL + '&zoom=' + zoom + '&base1=false&base2=true&o1=true&o2=true&o3=false&o3.1=true&o3.2=true&o3.3=false';

options = {
active: true,
print: {
active: false
},
permaLink: {
active: true
},
jsonExport: {
active: false
}
};

layers = {
baseLayers: [
{ type: 'NONE', id: 'base1' },
{ type: 'NONE', id: 'base2' }
],
overlays: [
{ type: 'NONE', id: 'o1' },
{ type: 'NONE', id: 'o2' },
{
type: 'GROUP',
name: 'GROUP Layer',
id: 'o3',
layers: [
{ type: 'NONE', id: 'o3.1' },
{ type: 'NONE', id: 'o3.2' },
{ type: 'NONE', id: 'o3.3' }
]
}
]
};

createMap('share', options, layers, function (map) {
var mapProjection = map.getView().getProjection().getCode();
var mapCenter = ol.proj.transform(map.getView().getCenter(), mapProjection, 'EPSG:4326');
var lonMap = mapCenter[0].toFixed(4);
var latMap = mapCenter[1].toFixed(4);

expect(lonMap).toBe(lonURL);
expect(latMap).toBe(latURL);
// Zoom
expect(map.getView().getZoom()).toBe(zoom);

// check layer order
var layerString = '';
map.getLayers().forEach(function (layer) {
layerString = layerString + layer.getProperties().id;
if (layer instanceof ol.layer.Group) {
layer.getLayers().forEach(function (subLayer) {
layerString = layerString + subLayer.getProperties().id;
});
}
});
expect(layerString).toBe('base1base2o1o2o3o3.1o3.2o3.3'); // drawing order is reverse for base and overlay!
done();
});
});
});

0 comments on commit fccbed1

Please sign in to comment.