Make code prettier
This updates ESLint and our shared eslint-config-openlayers to use Prettier. Most formatting changes were automatically applied with this:
npm run lint -- --fix
A few manual changes were required:
* In `examples/offscreen-canvas.js`, the `//eslint-disable-line` comment needed to be moved to the appropriate line to disable the error about the `'worker-loader!./offscreen-canvas.worker.js'` import.
* In `examples/webpack/exapmle-builder.js`, spaces could not be added after a couple `function`s for some reason. While editing this, I reworked `ExampleBuilder` to be a class.
* In `src/ol/format/WMSGetFeatureInfo.js`, the `// @ts-ignore` comment needed to be moved down one line so it applied to the `parsersNS` argument.
This commit is contained in:
@@ -1,55 +1,58 @@
|
||||
import Map from '../src/ol/Map.js';
|
||||
import View from '../src/ol/View.js';
|
||||
import GeoJSON from '../src/ol/format/GeoJSON.js';
|
||||
import {defaults as defaultInteractions, Modify, Select} from '../src/ol/interaction.js';
|
||||
import Map from '../src/ol/Map.js';
|
||||
import VectorLayer from '../src/ol/layer/Vector.js';
|
||||
import VectorSource from '../src/ol/source/Vector.js';
|
||||
import View from '../src/ol/View.js';
|
||||
import {Circle as CircleStyle, Fill, Stroke, Style} from '../src/ol/style.js';
|
||||
import {
|
||||
Modify,
|
||||
Select,
|
||||
defaults as defaultInteractions,
|
||||
} from '../src/ol/interaction.js';
|
||||
|
||||
|
||||
const styleFunction = (function() {
|
||||
const styleFunction = (function () {
|
||||
const styles = {};
|
||||
const image = new CircleStyle({
|
||||
radius: 5,
|
||||
fill: null,
|
||||
stroke: new Stroke({color: 'orange', width: 2})
|
||||
stroke: new Stroke({color: 'orange', width: 2}),
|
||||
});
|
||||
styles['Point'] = new Style({image: image});
|
||||
styles['Polygon'] = new Style({
|
||||
stroke: new Stroke({
|
||||
color: 'blue',
|
||||
width: 3
|
||||
width: 3,
|
||||
}),
|
||||
fill: new Fill({
|
||||
color: 'rgba(0, 0, 255, 0.1)'
|
||||
})
|
||||
color: 'rgba(0, 0, 255, 0.1)',
|
||||
}),
|
||||
});
|
||||
styles['MultiLineString'] = new Style({
|
||||
stroke: new Stroke({
|
||||
color: 'green',
|
||||
width: 3
|
||||
})
|
||||
width: 3,
|
||||
}),
|
||||
});
|
||||
styles['MultiPolygon'] = new Style({
|
||||
stroke: new Stroke({
|
||||
color: 'yellow',
|
||||
width: 1
|
||||
width: 1,
|
||||
}),
|
||||
fill: new Fill({
|
||||
color: 'rgba(255, 255, 0, 0.1)'
|
||||
})
|
||||
color: 'rgba(255, 255, 0, 0.1)',
|
||||
}),
|
||||
});
|
||||
styles['default'] = new Style({
|
||||
stroke: new Stroke({
|
||||
color: 'red',
|
||||
width: 3
|
||||
width: 3,
|
||||
}),
|
||||
fill: new Fill({
|
||||
color: 'rgba(255, 0, 0, 0.1)'
|
||||
color: 'rgba(255, 0, 0, 0.1)',
|
||||
}),
|
||||
image: image
|
||||
image: image,
|
||||
});
|
||||
return function(feature) {
|
||||
return function (feature) {
|
||||
return styles[feature.getGeometry().getType()] || styles['default'];
|
||||
};
|
||||
})();
|
||||
@@ -59,115 +62,198 @@ const geojsonObject = {
|
||||
'crs': {
|
||||
'type': 'name',
|
||||
'properties': {
|
||||
'name': 'EPSG:3857'
|
||||
}
|
||||
'name': 'EPSG:3857',
|
||||
},
|
||||
},
|
||||
'features': [{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'Point',
|
||||
'coordinates': [0, 0]
|
||||
}
|
||||
}, {
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'MultiPoint',
|
||||
'coordinates': [[-2e6, 0], [0, -2e6]]
|
||||
}
|
||||
}, {
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'LineString',
|
||||
'coordinates': [[4e6, -2e6], [8e6, 2e6], [9e6, 2e6]]
|
||||
}
|
||||
}, {
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'LineString',
|
||||
'coordinates': [[4e6, -2e6], [8e6, 2e6], [8e6, 3e6]]
|
||||
}
|
||||
}, {
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'Polygon',
|
||||
'coordinates': [[[-5e6, -1e6], [-4e6, 1e6],
|
||||
[-3e6, -1e6], [-5e6, -1e6]], [[-4.5e6, -0.5e6],
|
||||
[-3.5e6, -0.5e6], [-4e6, 0.5e6], [-4.5e6, -0.5e6]]]
|
||||
}
|
||||
}, {
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'MultiLineString',
|
||||
'coordinates': [
|
||||
[[-1e6, -7.5e5], [-1e6, 7.5e5]],
|
||||
[[-1e6, -7.5e5], [-1e6, 7.5e5], [-5e5, 0], [-1e6, -7.5e5]],
|
||||
[[1e6, -7.5e5], [15e5, 0], [15e5, 0], [1e6, 7.5e5]],
|
||||
[[-7.5e5, -1e6], [7.5e5, -1e6]],
|
||||
[[-7.5e5, 1e6], [7.5e5, 1e6]]
|
||||
]
|
||||
}
|
||||
}, {
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'MultiPolygon',
|
||||
'coordinates': [
|
||||
[[[-5e6, 6e6], [-5e6, 8e6], [-3e6, 8e6],
|
||||
[-3e6, 6e6], [-5e6, 6e6]]],
|
||||
[[[-3e6, 6e6], [-2e6, 8e6], [0, 8e6],
|
||||
[0, 6e6], [-3e6, 6e6]]],
|
||||
[[[1e6, 6e6], [1e6, 8e6], [3e6, 8e6],
|
||||
[3e6, 6e6], [1e6, 6e6]]]
|
||||
]
|
||||
}
|
||||
}, {
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'GeometryCollection',
|
||||
'geometries': [{
|
||||
'type': 'LineString',
|
||||
'coordinates': [[-5e6, -5e6], [0, -5e6]]
|
||||
}, {
|
||||
'features': [
|
||||
{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'Point',
|
||||
'coordinates': [4e6, -5e6]
|
||||
}, {
|
||||
'coordinates': [0, 0],
|
||||
},
|
||||
},
|
||||
{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'MultiPoint',
|
||||
'coordinates': [
|
||||
[-2e6, 0],
|
||||
[0, -2e6],
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'LineString',
|
||||
'coordinates': [
|
||||
[4e6, -2e6],
|
||||
[8e6, 2e6],
|
||||
[9e6, 2e6],
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'LineString',
|
||||
'coordinates': [
|
||||
[4e6, -2e6],
|
||||
[8e6, 2e6],
|
||||
[8e6, 3e6],
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'Polygon',
|
||||
'coordinates': [
|
||||
[[1e6, -6e6], [2e6, -4e6], [3e6, -6e6], [1e6, -6e6]]
|
||||
]
|
||||
}]
|
||||
}
|
||||
}]
|
||||
[
|
||||
[-5e6, -1e6],
|
||||
[-4e6, 1e6],
|
||||
[-3e6, -1e6],
|
||||
[-5e6, -1e6],
|
||||
],
|
||||
[
|
||||
[-4.5e6, -0.5e6],
|
||||
[-3.5e6, -0.5e6],
|
||||
[-4e6, 0.5e6],
|
||||
[-4.5e6, -0.5e6],
|
||||
],
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'MultiLineString',
|
||||
'coordinates': [
|
||||
[
|
||||
[-1e6, -7.5e5],
|
||||
[-1e6, 7.5e5],
|
||||
],
|
||||
[
|
||||
[-1e6, -7.5e5],
|
||||
[-1e6, 7.5e5],
|
||||
[-5e5, 0],
|
||||
[-1e6, -7.5e5],
|
||||
],
|
||||
[
|
||||
[1e6, -7.5e5],
|
||||
[15e5, 0],
|
||||
[15e5, 0],
|
||||
[1e6, 7.5e5],
|
||||
],
|
||||
[
|
||||
[-7.5e5, -1e6],
|
||||
[7.5e5, -1e6],
|
||||
],
|
||||
[
|
||||
[-7.5e5, 1e6],
|
||||
[7.5e5, 1e6],
|
||||
],
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'MultiPolygon',
|
||||
'coordinates': [
|
||||
[
|
||||
[
|
||||
[-5e6, 6e6],
|
||||
[-5e6, 8e6],
|
||||
[-3e6, 8e6],
|
||||
[-3e6, 6e6],
|
||||
[-5e6, 6e6],
|
||||
],
|
||||
],
|
||||
[
|
||||
[
|
||||
[-3e6, 6e6],
|
||||
[-2e6, 8e6],
|
||||
[0, 8e6],
|
||||
[0, 6e6],
|
||||
[-3e6, 6e6],
|
||||
],
|
||||
],
|
||||
[
|
||||
[
|
||||
[1e6, 6e6],
|
||||
[1e6, 8e6],
|
||||
[3e6, 8e6],
|
||||
[3e6, 6e6],
|
||||
[1e6, 6e6],
|
||||
],
|
||||
],
|
||||
],
|
||||
},
|
||||
},
|
||||
{
|
||||
'type': 'Feature',
|
||||
'geometry': {
|
||||
'type': 'GeometryCollection',
|
||||
'geometries': [
|
||||
{
|
||||
'type': 'LineString',
|
||||
'coordinates': [
|
||||
[-5e6, -5e6],
|
||||
[0, -5e6],
|
||||
],
|
||||
},
|
||||
{
|
||||
'type': 'Point',
|
||||
'coordinates': [4e6, -5e6],
|
||||
},
|
||||
{
|
||||
'type': 'Polygon',
|
||||
'coordinates': [
|
||||
[
|
||||
[1e6, -6e6],
|
||||
[2e6, -4e6],
|
||||
[3e6, -6e6],
|
||||
[1e6, -6e6],
|
||||
],
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
const source = new VectorSource({
|
||||
features: (new GeoJSON()).readFeatures(geojsonObject)
|
||||
features: new GeoJSON().readFeatures(geojsonObject),
|
||||
});
|
||||
|
||||
const layer = new VectorLayer({
|
||||
source: source,
|
||||
style: styleFunction
|
||||
style: styleFunction,
|
||||
});
|
||||
|
||||
const overlayStyle = (function() {
|
||||
const overlayStyle = (function () {
|
||||
const styles = {};
|
||||
styles['Polygon'] = [
|
||||
new Style({
|
||||
fill: new Fill({
|
||||
color: [255, 255, 255, 0.5]
|
||||
})
|
||||
color: [255, 255, 255, 0.5],
|
||||
}),
|
||||
}),
|
||||
new Style({
|
||||
stroke: new Stroke({
|
||||
color: [255, 255, 255, 1],
|
||||
width: 5
|
||||
})
|
||||
width: 5,
|
||||
}),
|
||||
}),
|
||||
new Style({
|
||||
stroke: new Stroke({
|
||||
color: [0, 153, 255, 1],
|
||||
width: 3
|
||||
})
|
||||
})
|
||||
width: 3,
|
||||
}),
|
||||
}),
|
||||
];
|
||||
styles['MultiPolygon'] = styles['Polygon'];
|
||||
|
||||
@@ -175,15 +261,15 @@ const overlayStyle = (function() {
|
||||
new Style({
|
||||
stroke: new Stroke({
|
||||
color: [255, 255, 255, 1],
|
||||
width: 5
|
||||
})
|
||||
width: 5,
|
||||
}),
|
||||
}),
|
||||
new Style({
|
||||
stroke: new Stroke({
|
||||
color: [0, 153, 255, 1],
|
||||
width: 3
|
||||
})
|
||||
})
|
||||
width: 3,
|
||||
}),
|
||||
}),
|
||||
];
|
||||
styles['MultiLineString'] = styles['LineString'];
|
||||
|
||||
@@ -192,38 +278,44 @@ const overlayStyle = (function() {
|
||||
image: new CircleStyle({
|
||||
radius: 7,
|
||||
fill: new Fill({
|
||||
color: [0, 153, 255, 1]
|
||||
color: [0, 153, 255, 1],
|
||||
}),
|
||||
stroke: new Stroke({
|
||||
color: [255, 255, 255, 0.75],
|
||||
width: 1.5
|
||||
})
|
||||
width: 1.5,
|
||||
}),
|
||||
}),
|
||||
zIndex: 100000
|
||||
})
|
||||
zIndex: 100000,
|
||||
}),
|
||||
];
|
||||
styles['MultiPoint'] = styles['Point'];
|
||||
|
||||
styles['GeometryCollection'] = styles['Polygon'].concat(styles['Point']);
|
||||
|
||||
return function(feature) {
|
||||
return function (feature) {
|
||||
return styles[feature.getGeometry().getType()];
|
||||
};
|
||||
})();
|
||||
|
||||
const select = new Select({
|
||||
style: overlayStyle
|
||||
style: overlayStyle,
|
||||
});
|
||||
|
||||
const modify = new Modify({
|
||||
features: select.getFeatures(),
|
||||
style: overlayStyle,
|
||||
insertVertexCondition: function() {
|
||||
insertVertexCondition: function () {
|
||||
// prevent new vertices to be added to the polygons
|
||||
return !select.getFeatures().getArray().every(function(feature) {
|
||||
return feature.getGeometry().getType().match(/Polygon/);
|
||||
});
|
||||
}
|
||||
return !select
|
||||
.getFeatures()
|
||||
.getArray()
|
||||
.every(function (feature) {
|
||||
return feature
|
||||
.getGeometry()
|
||||
.getType()
|
||||
.match(/Polygon/);
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
const map = new Map({
|
||||
@@ -233,6 +325,6 @@ const map = new Map({
|
||||
view: new View({
|
||||
center: [0, 1000000],
|
||||
zoom: 2,
|
||||
multiWorld: true
|
||||
})
|
||||
multiWorld: true,
|
||||
}),
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user