mirror of
https://github.com/maputnik/editor.git
synced 2025-12-26 08:00:01 +00:00
Added style formatting into apistore
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import style from './style.js'
|
||||
import {format} from '@mapbox/mapbox-gl-style-spec'
|
||||
import ReconnectingWebSocket from 'reconnecting-websocket'
|
||||
|
||||
export class ApiStyleStore {
|
||||
@@ -64,6 +65,12 @@ export class ApiStyleStore {
|
||||
|
||||
// Save current style replacing previous version
|
||||
save(mapStyle) {
|
||||
const styleJSON = format(
|
||||
style.stripAccessTokens(
|
||||
style.replaceAccessTokens(newStyle)
|
||||
)
|
||||
);
|
||||
|
||||
const id = mapStyle.id
|
||||
fetch(this.localUrl + '/styles/' + id, {
|
||||
method: "PUT",
|
||||
@@ -71,7 +78,7 @@ export class ApiStyleStore {
|
||||
headers: {
|
||||
"Content-Type": "application/json; charset=utf-8",
|
||||
},
|
||||
body: JSON.stringify(mapStyle)
|
||||
body: styleJSON
|
||||
})
|
||||
.catch(function(error) {
|
||||
if(error) console.error(error)
|
||||
|
||||
@@ -114,6 +114,18 @@ function replaceAccessTokens(mapStyle, opts={}) {
|
||||
return changedStyle
|
||||
}
|
||||
|
||||
function stripAccessTokens(mapStyle) {
|
||||
const changedMetadata = {
|
||||
...mapStyle.metadata
|
||||
};
|
||||
delete changedMetadata['maputnik:mapbox_access_token'];
|
||||
delete changedMetadata['maputnik:openmaptiles_access_token'];
|
||||
return {
|
||||
...mapStyle,
|
||||
metadata: changedMetadata
|
||||
};
|
||||
}
|
||||
|
||||
export default {
|
||||
ensureStyleValidity,
|
||||
emptyStyle,
|
||||
@@ -121,4 +133,5 @@ export default {
|
||||
generateId,
|
||||
getAccessToken,
|
||||
replaceAccessTokens,
|
||||
stripAccessTokens,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user