planning
All checks were successful
Publish To Prod / deploy_and_publish (push) Successful in 35s

This commit is contained in:
2024-10-14 09:15:30 +02:00
parent bcba00a730
commit 6e64e138e2
21059 changed files with 2317811 additions and 1 deletions

174
node_modules/decap-cms-widget-map/CHANGELOG.md generated vendored Normal file
View File

@@ -0,0 +1,174 @@
# Change Log
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [3.1.4](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.1.3...decap-cms-widget-map@3.1.4) (2024-08-13)
### Reverts
- Revert "Update dependencies (#7264)" ([22d483a](https://github.com/decaporg/decap-cms/commit/22d483a5b0c654071ae05735ac4f49abdc13d38c)), closes [#7264](https://github.com/decaporg/decap-cms/issues/7264)
## [3.1.3](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.1.2...decap-cms-widget-map@3.1.3) (2024-08-13)
**Note:** Version bump only for package decap-cms-widget-map
## [3.1.2](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.1.1...decap-cms-widget-map@3.1.2) (2024-06-27)
### Bug Fixes
- **map-widget:** ensure map renders correctly when expanding initially collapsed sections ([#6541](https://github.com/decaporg/decap-cms/issues/6541)) ([#7229](https://github.com/decaporg/decap-cms/issues/7229)) ([041e34e](https://github.com/decaporg/decap-cms/commit/041e34e51dc14fc8917078961ebb376a2562422b))
## [3.1.1](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.1.0-beta.1...decap-cms-widget-map@3.1.1) (2024-03-21)
**Note:** Version bump only for package decap-cms-widget-map
# [3.1.0](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.1.0-beta.1...decap-cms-widget-map@3.1.0) (2024-02-01)
**Note:** Version bump only for package decap-cms-widget-map
# [3.1.0-beta.1](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.1.0-beta.0...decap-cms-widget-map@3.1.0-beta.1) (2024-01-31)
**Note:** Version bump only for package decap-cms-widget-map
# [3.1.0-beta.0](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.1.0...decap-cms-widget-map@3.1.0-beta.0) (2023-10-20)
### Reverts
- Revert "chore(release): publish" ([b89fc89](https://github.com/decaporg/decap-cms/commit/b89fc894dfbb5f4136b2e5427fd25a29378a58c6))
## [3.0.2](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.0.1...decap-cms-widget-map@3.0.2) (2023-10-13)
**Note:** Version bump only for package decap-cms-widget-map
## [3.0.1](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@3.0.0...decap-cms-widget-map@3.0.1) (2023-08-25)
### Bug Fixes
- update peer dependencies ([#6886](https://github.com/decaporg/decap-cms/issues/6886)) ([e580ce5](https://github.com/decaporg/decap-cms/commit/e580ce52ce5f80fa040e8fbcab7fed0744f4f695))
# [3.0.0](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@1.6.0...decap-cms-widget-map@3.0.0) (2023-08-18)
**Note:** Version bump only for package decap-cms-widget-map
# [1.6.0](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@1.6.0-beta.0...decap-cms-widget-map@1.6.0) (2023-08-18)
**Note:** Version bump only for package decap-cms-widget-map
# 1.6.0-beta.0 (2023-08-18)
### Features
- rename packages ([#6863](https://github.com/decaporg/decap-cms/issues/6863)) ([d515e7b](https://github.com/decaporg/decap-cms/commit/d515e7bd33216a775d96887b08c4f7b1962941bb))
## [1.5.2-beta.0](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@1.5.1...decap-cms-widget-map@1.5.2-beta.0) (2023-07-27)
**Note:** Version bump only for package decap-cms-widget-map
## [1.5.1](https://github.com/decaporg/decap-cms/compare/decap-cms-widget-map@1.5.0...decap-cms-widget-map@1.5.1) (2021-12-08)
### Bug Fixes
- **widget-map:** update ol to latest version ([4a4adf0](https://github.com/decaporg/decap-cms/commit/4a4adf0dbd592639a3aab478c43bcc181657552e))
# [1.5.0](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.4.6...decap-cms-widget-map@1.5.0) (2021-05-04)
### Features
- added react 17 as peer dependency in packages ([#5316](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/issues/5316)) ([9e42380](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/9e423805707321396eec137f5b732a5b07a0dd3f))
## [1.4.6](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.4.5...decap-cms-widget-map@1.4.6) (2021-02-23)
**Note:** Version bump only for package decap-cms-widget-map
## [1.4.5](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.4.4...decap-cms-widget-map@1.4.5) (2021-02-10)
**Note:** Version bump only for package decap-cms-widget-map
## [1.4.4](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.4.3...decap-cms-widget-map@1.4.4) (2020-09-15)
**Note:** Version bump only for package decap-cms-widget-map
## 1.4.3 (2020-09-08)
### Reverts
- Revert "chore(release): publish" ([828bb16](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/828bb16415b8c22a34caa19c50c38b24ffe9ceae))
## 1.4.2 (2020-08-20)
### Reverts
- Revert "chore(release): publish" ([8262487](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/82624879ccbcb16610090041db28f00714d924c8))
## 1.4.1 (2020-07-27)
### Reverts
- Revert "chore(release): publish" ([118d50a](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/118d50a7a70295f25073e564b5161aa2b9883056))
# [1.4.0](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.3.3...decap-cms-widget-map@1.4.0) (2020-06-18)
### Features
- add widgets schema validation ([#3841](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/issues/3841)) ([2b46608](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/2b46608f86d22c8ad34f75e396be7c34462d9e99))
## [1.3.3](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.3.2...decap-cms-widget-map@1.3.3) (2019-07-24)
**Note:** Version bump only for package decap-cms-widget-map
## [1.3.2](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.3.2-beta.0...decap-cms-widget-map@1.3.2) (2019-04-10)
**Note:** Version bump only for package decap-cms-widget-map
## [1.3.2-beta.0](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.3.1...decap-cms-widget-map@1.3.2-beta.0) (2019-04-05)
**Note:** Version bump only for package decap-cms-widget-map
## [1.3.1](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.3.1-beta.2...decap-cms-widget-map@1.3.1) (2019-03-29)
**Note:** Version bump only for package decap-cms-widget-map
## [1.3.1-beta.2](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.3.1-beta.1...decap-cms-widget-map@1.3.1-beta.2) (2019-03-28)
**Note:** Version bump only for package decap-cms-widget-map
## [1.3.1-beta.1](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.3.1-beta.0...decap-cms-widget-map@1.3.1-beta.1) (2019-03-26)
### Bug Fixes
- export on decap-cms and maps on esm ([#2244](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/issues/2244)) ([6ffd13b](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/6ffd13b))
## [1.3.1-beta.0](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.3.0...decap-cms-widget-map@1.3.1-beta.0) (2019-03-25)
### Bug Fixes
- update peer dep versions ([#2234](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/issues/2234)) ([7987091](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/7987091))
# [1.3.0](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.2.0...decap-cms-widget-map@1.3.0) (2019-03-22)
### Features
- add ES module builds ([#2215](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/issues/2215)) ([d142b32](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/d142b32))
# [1.2.0](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.2.0-beta.0...decap-cms-widget-map@1.2.0) (2019-03-22)
**Note:** Version bump only for package decap-cms-widget-map
# [1.2.0-beta.0](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.1.1-beta.0...decap-cms-widget-map@1.2.0-beta.0) (2019-03-21)
### Features
- provide usable UMD builds for all packages ([#2141](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/issues/2141)) ([82cc794](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/82cc794))
## [1.1.1-beta.0](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/compare/decap-cms-widget-map@1.1.0...decap-cms-widget-map@1.1.1-beta.0) (2019-03-15)
### Features
- upgrade to Emotion 10 ([#2166](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/issues/2166)) ([ccef446](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/ccef446))
# 1.1.0 (2019-02-08)
### Features
- **decap-cms-widget-map:** add map widget ([#2051](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/issues/2051)) ([18f34d2](https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map/commit/18f34d2))

22
node_modules/decap-cms-widget-map/LICENSE generated vendored Normal file
View File

@@ -0,0 +1,22 @@
Copyright (c) 2016 Netlify <decap@p-m.si>
MIT License
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

9
node_modules/decap-cms-widget-map/README.md generated vendored Normal file
View File

@@ -0,0 +1,9 @@
# Docs coming soon!
Decap CMS was converted from a single npm package to a "monorepo" of over 20 packages.
We haven't created a README for this package yet, but you can:
1. Check out the [main readme](https://github.com/decaporg/decap-cms/#readme) or the [documentation
site](https://www.decapcms.org) for more info.
2. Reach out to the [community chat](https://decapcms.org/chat/) if you need help.
3. Help out and [write the readme yourself](https://github.com/decaporg/decap-cms/edit/main/packages/decap-cms-widget-map/README.md)!

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,20 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _decapCmsUiDefault = require("decap-cms-ui-default");
var _react2 = require("@emotion/react");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function MapPreview({
value
}) {
return (0, _react2.jsx)(_decapCmsUiDefault.WidgetPreviewContainer, null, value ? value.toString() : null);
}
MapPreview.propTypes = {
value: _propTypes.default.string
};
var _default = exports.default = MapPreview;

30
node_modules/decap-cms-widget-map/dist/esm/index.js generated vendored Normal file
View File

@@ -0,0 +1,30 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.DecapCmsWidgetMap = void 0;
var _withMapControl = _interopRequireDefault(require("./withMapControl"));
var _MapPreview = _interopRequireDefault(require("./MapPreview"));
var _schema = _interopRequireDefault(require("./schema"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
const controlComponent = (0, _withMapControl.default)();
function Widget(opts = {}) {
return _objectSpread({
name: 'map',
controlComponent,
previewComponent: _MapPreview.default,
schema: _schema.default
}, opts);
}
const DecapCmsWidgetMap = exports.DecapCmsWidgetMap = {
Widget,
controlComponent,
previewComponent: _MapPreview.default
};
var _default = exports.default = DecapCmsWidgetMap;

17
node_modules/decap-cms-widget-map/dist/esm/schema.js generated vendored Normal file
View File

@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _default = exports.default = {
properties: {
decimals: {
type: 'integer'
},
type: {
type: 'string',
enum: ['Point', 'LineString', 'Polygon']
}
}
};

View File

@@ -0,0 +1,126 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = withMapControl;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react2 = require("@emotion/react");
var _ol = _interopRequireDefault(require("ol/ol.css"));
var _Map = _interopRequireDefault(require("ol/Map.js"));
var _View = _interopRequireDefault(require("ol/View.js"));
var _GeoJSON = _interopRequireDefault(require("ol/format/GeoJSON"));
var _Draw = _interopRequireDefault(require("ol/interaction/Draw.js"));
var _Tile = _interopRequireDefault(require("ol/layer/Tile.js"));
var _Vector = _interopRequireDefault(require("ol/layer/Vector.js"));
var _OSM = _interopRequireDefault(require("ol/source/OSM.js"));
var _Vector2 = _interopRequireDefault(require("ol/source/Vector.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
const formatOptions = {
dataProjection: 'EPSG:4326',
featureProjection: 'EPSG:3857'
};
function getDefaultFormat() {
return new _GeoJSON.default(formatOptions);
}
function getDefaultMap(target, featuresLayer) {
return new _Map.default({
target,
layers: [new _Tile.default({
source: new _OSM.default()
}), featuresLayer],
view: new _View.default({
center: [0, 0],
zoom: 2
})
});
}
function withMapControl({
getFormat,
getMap
} = {}) {
var _class;
return _class = class MapControl extends _react.default.Component {
constructor(props) {
super(props);
this.mapContainer = /*#__PURE__*/_react.default.createRef();
this.resizeObserver = null;
}
componentDidMount() {
const {
field,
onChange,
value
} = this.props;
const format = getFormat ? getFormat(field) : getDefaultFormat(field);
const features = value ? [format.readFeature(value)] : [];
const featuresSource = new _Vector2.default({
features,
wrapX: false
});
const featuresLayer = new _Vector.default({
source: featuresSource
});
const target = this.mapContainer.current;
const map = getMap ? getMap(target, featuresLayer) : getDefaultMap(target, featuresLayer);
if (features.length > 0) {
map.getView().fit(featuresSource.getExtent(), {
maxZoom: 16,
padding: [80, 80, 80, 80]
});
}
const draw = new _Draw.default({
source: featuresSource,
type: field.get('type', 'Point')
});
map.addInteraction(draw);
const writeOptions = {
decimals: field.get('decimals', 7)
};
draw.on('drawend', ({
feature
}) => {
featuresSource.clear();
onChange(format.writeGeometry(feature.getGeometry(), writeOptions));
});
this.resizeObserver = new ResizeObserver(() => {
map.updateSize();
});
this.resizeObserver.observe(target);
}
componentWillUnmount() {
if (this.resizeObserver) {
this.resizeObserver.disconnect();
}
}
render() {
const {
height
} = this.props;
return (0, _react2.jsx)(_react2.ClassNames, null, ({
cx,
css
}) => (0, _react2.jsx)("div", {
className: cx(this.props.classNameWrapper, css`
${_ol.default};
padding: 0;
overflow: hidden;
height: ${height};
`),
ref: this.mapContainer
}));
}
}, _defineProperty(_class, "propTypes", {
onChange: _propTypes.default.func.isRequired,
field: _propTypes.default.object.isRequired,
height: _propTypes.default.string,
value: _propTypes.default.node
}), _defineProperty(_class, "defaultProps", {
value: '',
height: '400px'
}), _class;
}

35
node_modules/decap-cms-widget-map/package.json generated vendored Normal file
View File

@@ -0,0 +1,35 @@
{
"name": "decap-cms-widget-map",
"description": "Widget for editing spatial data in Decap CMS.",
"version": "3.1.4",
"homepage": "https://www.decapcms.org/docs/widgets/#map",
"repository": "https://github.com/decaporg/decap-cms/tree/main/packages/decap-cms-widget-map",
"bugs": "https://github.com/decaporg/decap-cms/issues",
"module": "dist/esm/index.js",
"main": "dist/decap-cms-widget-map.js",
"license": "MIT",
"keywords": [
"decap-cms",
"widget",
"spatial",
"map"
],
"sideEffects": false,
"scripts": {
"develop": "npm run build:esm -- --watch",
"build": "cross-env NODE_ENV=production webpack",
"build:esm": "cross-env NODE_ENV=esm babel src --out-dir dist/esm --ignore \"**/__tests__\" --root-mode upward"
},
"peerDependencies": {
"@emotion/react": "^11.11.1",
"decap-cms-ui-default": "^3.0.0",
"lodash": "^4.17.11",
"prop-types": "^15.7.2",
"react": "^18.2.0",
"react-immutable-proptypes": "^2.1.0"
},
"dependencies": {
"ol": "^6.9.0"
},
"gitHead": "64d91b8bb3d0a93dd36c53800cdac4ba2e435000"
}

13
node_modules/decap-cms-widget-map/src/MapPreview.js generated vendored Normal file
View File

@@ -0,0 +1,13 @@
import React from 'react';
import PropTypes from 'prop-types';
import { WidgetPreviewContainer } from 'decap-cms-ui-default';
function MapPreview({ value }) {
return <WidgetPreviewContainer>{value ? value.toString() : null}</WidgetPreviewContainer>;
}
MapPreview.propTypes = {
value: PropTypes.string,
};
export default MapPreview;

18
node_modules/decap-cms-widget-map/src/index.js generated vendored Normal file
View File

@@ -0,0 +1,18 @@
import withMapControl from './withMapControl';
import previewComponent from './MapPreview';
import schema from './schema';
const controlComponent = withMapControl();
function Widget(opts = {}) {
return {
name: 'map',
controlComponent,
previewComponent,
schema,
...opts,
};
}
export const DecapCmsWidgetMap = { Widget, controlComponent, previewComponent };
export default DecapCmsWidgetMap;

6
node_modules/decap-cms-widget-map/src/schema.js generated vendored Normal file
View File

@@ -0,0 +1,6 @@
export default {
properties: {
decimals: { type: 'integer' },
type: { type: 'string', enum: ['Point', 'LineString', 'Polygon'] },
},
};

110
node_modules/decap-cms-widget-map/src/withMapControl.js generated vendored Normal file
View File

@@ -0,0 +1,110 @@
import React from 'react';
import PropTypes from 'prop-types';
import { ClassNames } from '@emotion/react';
import olStyles from 'ol/ol.css';
import Map from 'ol/Map.js';
import View from 'ol/View.js';
import GeoJSON from 'ol/format/GeoJSON';
import Draw from 'ol/interaction/Draw.js';
import TileLayer from 'ol/layer/Tile.js';
import VectorLayer from 'ol/layer/Vector.js';
import OSMSource from 'ol/source/OSM.js';
import VectorSource from 'ol/source/Vector.js';
const formatOptions = {
dataProjection: 'EPSG:4326',
featureProjection: 'EPSG:3857',
};
function getDefaultFormat() {
return new GeoJSON(formatOptions);
}
function getDefaultMap(target, featuresLayer) {
return new Map({
target,
layers: [new TileLayer({ source: new OSMSource() }), featuresLayer],
view: new View({ center: [0, 0], zoom: 2 }),
});
}
export default function withMapControl({ getFormat, getMap } = {}) {
return class MapControl extends React.Component {
static propTypes = {
onChange: PropTypes.func.isRequired,
field: PropTypes.object.isRequired,
height: PropTypes.string,
value: PropTypes.node,
};
static defaultProps = {
value: '',
height: '400px',
};
constructor(props) {
super(props);
this.mapContainer = React.createRef();
this.resizeObserver = null;
}
componentDidMount() {
const { field, onChange, value } = this.props;
const format = getFormat ? getFormat(field) : getDefaultFormat(field);
const features = value ? [format.readFeature(value)] : [];
const featuresSource = new VectorSource({ features, wrapX: false });
const featuresLayer = new VectorLayer({ source: featuresSource });
const target = this.mapContainer.current;
const map = getMap ? getMap(target, featuresLayer) : getDefaultMap(target, featuresLayer);
if (features.length > 0) {
map.getView().fit(featuresSource.getExtent(), { maxZoom: 16, padding: [80, 80, 80, 80] });
}
const draw = new Draw({ source: featuresSource, type: field.get('type', 'Point') });
map.addInteraction(draw);
const writeOptions = { decimals: field.get('decimals', 7) };
draw.on('drawend', ({ feature }) => {
featuresSource.clear();
onChange(format.writeGeometry(feature.getGeometry(), writeOptions));
});
this.resizeObserver = new ResizeObserver(() => {
map.updateSize();
});
this.resizeObserver.observe(target);
}
componentWillUnmount() {
if (this.resizeObserver) {
this.resizeObserver.disconnect();
}
}
render() {
const { height } = this.props;
return (
<ClassNames>
{({ cx, css }) => (
<div
className={cx(
this.props.classNameWrapper,
css`
${olStyles};
padding: 0;
overflow: hidden;
height: ${height};
`,
)}
ref={this.mapContainer}
/>
)}
</ClassNames>
);
}
};
}

3
node_modules/decap-cms-widget-map/webpack.config.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
const { getConfig } = require('../../scripts/webpack.js');
module.exports = getConfig();