Merge remote-tracking branch 'origin/master'

This commit is contained in:
James Lyne 2021-07-29 18:15:42 +01:00
commit 2ff16c81ed
6 changed files with 466 additions and 144 deletions

476
package-lock.json generated
View File

@ -1,12 +1,12 @@
{ {
"name": "live-atlas", "name": "live-atlas",
"version": "1.2.3", "version": "1.3.2",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "live-atlas", "name": "live-atlas",
"version": "1.2.3", "version": "1.3.2",
"hasInstallScript": true, "hasInstallScript": true,
"dependencies": { "dependencies": {
"@kyvg/vue3-notification": "2.3.0", "@kyvg/vue3-notification": "2.3.0",
@ -20,14 +20,14 @@
"@types/leaflet": "1.7.4", "@types/leaflet": "1.7.4",
"@typescript-eslint/eslint-plugin": "^4.28", "@typescript-eslint/eslint-plugin": "^4.28",
"@typescript-eslint/parser": "^4.28", "@typescript-eslint/parser": "^4.28",
"@vitejs/plugin-vue": "^1.2", "@vitejs/plugin-vue": "^1.3",
"@vue/compiler-sfc": "^3.1", "@vue/compiler-sfc": "^3.1",
"@vue/eslint-config-typescript": "^7.0", "@vue/eslint-config-typescript": "^7.0",
"eslint": "^7.31", "eslint": "^7.31",
"eslint-plugin-vue": "^7.14", "eslint-plugin-vue": "^7.14",
"patch-package": "^6.4", "patch-package": "^6.4",
"rollup-plugin-analyzer": "^4.0", "rollup-plugin-analyzer": "^4.0",
"sass": "^1.35", "sass": "^1.36",
"typescript": "^4.3", "typescript": "^4.3",
"vite": "^2.4", "vite": "^2.4",
"vite-plugin-svg-sprite-component": "^1.0", "vite-plugin-svg-sprite-component": "^1.0",
@ -302,13 +302,13 @@
} }
}, },
"node_modules/@typescript-eslint/eslint-plugin": { "node_modules/@typescript-eslint/eslint-plugin": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.5.tgz",
"integrity": "sha512-s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw==", "integrity": "sha512-m31cPEnbuCqXtEZQJOXAHsHvtoDi9OVaeL5wZnO2KZTnkvELk+u6J6jHg+NzvWQxk+87Zjbc4lJS4NHmgImz6Q==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/experimental-utils": "4.28.4", "@typescript-eslint/experimental-utils": "4.28.5",
"@typescript-eslint/scope-manager": "4.28.4", "@typescript-eslint/scope-manager": "4.28.5",
"debug": "^4.3.1", "debug": "^4.3.1",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"regexpp": "^3.1.0", "regexpp": "^3.1.0",
@ -332,16 +332,63 @@
} }
} }
}, },
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz",
"integrity": "sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.5"
},
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.5.tgz",
"integrity": "sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==",
"dev": true,
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz",
"integrity": "sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "4.28.5",
"eslint-visitor-keys": "^2.0.0"
},
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/experimental-utils": { "node_modules/@typescript-eslint/experimental-utils": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.5.tgz",
"integrity": "sha512-OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA==", "integrity": "sha512-bGPLCOJAa+j49hsynTaAtQIWg6uZd8VLiPcyDe4QPULsvQwLHGLSGKKcBN8/lBxIX14F74UEMK2zNDI8r0okwA==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@types/json-schema": "^7.0.7", "@types/json-schema": "^7.0.7",
"@typescript-eslint/scope-manager": "4.28.4", "@typescript-eslint/scope-manager": "4.28.5",
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/types": "4.28.5",
"@typescript-eslint/typescript-estree": "4.28.4", "@typescript-eslint/typescript-estree": "4.28.5",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0" "eslint-utils": "^3.0.0"
}, },
@ -356,41 +403,14 @@
"eslint": "*" "eslint": "*"
} }
}, },
"node_modules/@typescript-eslint/parser": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz",
"integrity": "sha512-4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA==", "integrity": "sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/scope-manager": "4.28.4", "@typescript-eslint/types": "4.28.5",
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/visitor-keys": "4.28.5"
"@typescript-eslint/typescript-estree": "4.28.4",
"debug": "^4.3.1"
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/scope-manager": {
"version": "4.28.4",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz",
"integrity": "sha512-ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "4.28.4",
"@typescript-eslint/visitor-keys": "4.28.4"
}, },
"engines": { "engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1" "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
@ -400,10 +420,10 @@
"url": "https://opencollective.com/typescript-eslint" "url": "https://opencollective.com/typescript-eslint"
} }
}, },
"node_modules/@typescript-eslint/types": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.5.tgz",
"integrity": "sha512-3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww==", "integrity": "sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1" "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
@ -413,14 +433,14 @@
"url": "https://opencollective.com/typescript-eslint" "url": "https://opencollective.com/typescript-eslint"
} }
}, },
"node_modules/@typescript-eslint/typescript-estree": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.5.tgz",
"integrity": "sha512-z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ==", "integrity": "sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.4", "@typescript-eslint/visitor-keys": "4.28.5",
"debug": "^4.3.1", "debug": "^4.3.1",
"globby": "^11.0.3", "globby": "^11.0.3",
"is-glob": "^4.0.1", "is-glob": "^4.0.1",
@ -440,13 +460,114 @@
} }
} }
}, },
"node_modules/@typescript-eslint/visitor-keys": { "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz",
"integrity": "sha512-NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg==", "integrity": "sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/types": "4.28.5",
"eslint-visitor-keys": "^2.0.0"
},
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/parser": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.5.tgz",
"integrity": "sha512-NPCOGhTnkXGMqTznqgVbA5LqVsnw+i3+XA1UKLnAb+MG1Y1rP4ZSK9GX0kJBmAZTMIktf+dTwXToT6kFwyimbw==",
"dev": true,
"dependencies": {
"@typescript-eslint/scope-manager": "4.28.5",
"@typescript-eslint/types": "4.28.5",
"@typescript-eslint/typescript-estree": "4.28.5",
"debug": "^4.3.1"
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz",
"integrity": "sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.5"
},
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.5.tgz",
"integrity": "sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==",
"dev": true,
"engines": {
"node": "^8.10.0 || ^10.13.0 || >=11.10.1"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.5.tgz",
"integrity": "sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.5",
"debug": "^4.3.1",
"globby": "^11.0.3",
"is-glob": "^4.0.1",
"semver": "^7.3.5",
"tsutils": "^3.21.0"
},
"engines": {
"node": "^10.12.0 || >=12.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz",
"integrity": "sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "4.28.5",
"eslint-visitor-keys": "^2.0.0" "eslint-visitor-keys": "^2.0.0"
}, },
"engines": { "engines": {
@ -458,9 +579,9 @@
} }
}, },
"node_modules/@vitejs/plugin-vue": { "node_modules/@vitejs/plugin-vue": {
"version": "1.2.5", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.5.tgz", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.3.0.tgz",
"integrity": "sha512-GIR31mdXTEfvElmBUaRhDc5v7lfdkEdawWQqJRiaRL/5qKsH+xusukglkvJz5y7+c6dEpxgmvcATv2BbB7+fzQ==", "integrity": "sha512-wJvuJdTBjvucUX0vK4fuy60t+A9bJSZxc59vp1Y+8kiOd0NU5kFt4lay72gMWPeR+lSUjrTmGUq8Uzb99Jbw3A==",
"dev": true, "dev": true,
"engines": { "engines": {
"node": ">=12.0.0" "node": ">=12.0.0"
@ -3014,9 +3135,9 @@
} }
}, },
"node_modules/sass": { "node_modules/sass": {
"version": "1.35.2", "version": "1.36.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.35.2.tgz", "resolved": "https://registry.npmjs.org/sass/-/sass-1.36.0.tgz",
"integrity": "sha512-jhO5KAR+AMxCEwIH3v+4zbB2WB0z67V1X0jbapfVwQQdjHZUGUyukpnoM6+iCMfsIUC016w9OPKQ5jrNOS9uXw==", "integrity": "sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"chokidar": ">=3.0.0 <4.0.0" "chokidar": ">=3.0.0 <4.0.0"
@ -3385,13 +3506,13 @@
"dev": true "dev": true
}, },
"node_modules/vite": { "node_modules/vite": {
"version": "2.4.3", "version": "2.4.4",
"resolved": "https://registry.npmjs.org/vite/-/vite-2.4.3.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-2.4.4.tgz",
"integrity": "sha512-iT6NPeiUUZ2FkzC3eazytOEMRaM4J+xgRQcNcpRcbmfYjakCFP4WKPJpeEz1U5JEKHAtwv3ZBQketQUFhFU3ng==", "integrity": "sha512-m1wK6pFJKmaYA6AeZIUXyiAgUAAJzVXhIMYCdZUpCaFMGps0v0IlNJtbmPvkUhVEyautalajmnW5X6NboUPsnw==",
"dev": true, "dev": true,
"dependencies": { "dependencies": {
"esbuild": "^0.12.8", "esbuild": "^0.12.8",
"postcss": "^8.3.5", "postcss": "^8.3.6",
"resolve": "^1.20.0", "resolve": "^1.20.0",
"rollup": "^2.38.5" "rollup": "^2.38.5"
}, },
@ -4046,91 +4167,164 @@
} }
}, },
"@typescript-eslint/eslint-plugin": { "@typescript-eslint/eslint-plugin": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.5.tgz",
"integrity": "sha512-s1oY4RmYDlWMlcV0kKPBaADn46JirZzvvH7c2CtAqxCY96S538JRBAzt83RrfkDheV/+G/vWNK0zek+8TB3Gmw==", "integrity": "sha512-m31cPEnbuCqXtEZQJOXAHsHvtoDi9OVaeL5wZnO2KZTnkvELk+u6J6jHg+NzvWQxk+87Zjbc4lJS4NHmgImz6Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/experimental-utils": "4.28.4", "@typescript-eslint/experimental-utils": "4.28.5",
"@typescript-eslint/scope-manager": "4.28.4", "@typescript-eslint/scope-manager": "4.28.5",
"debug": "^4.3.1", "debug": "^4.3.1",
"functional-red-black-tree": "^1.0.1", "functional-red-black-tree": "^1.0.1",
"regexpp": "^3.1.0", "regexpp": "^3.1.0",
"semver": "^7.3.5", "semver": "^7.3.5",
"tsutils": "^3.21.0" "tsutils": "^3.21.0"
},
"dependencies": {
"@typescript-eslint/scope-manager": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz",
"integrity": "sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.5"
}
},
"@typescript-eslint/types": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.5.tgz",
"integrity": "sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==",
"dev": true
},
"@typescript-eslint/visitor-keys": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz",
"integrity": "sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.28.5",
"eslint-visitor-keys": "^2.0.0"
}
}
} }
}, },
"@typescript-eslint/experimental-utils": { "@typescript-eslint/experimental-utils": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.5.tgz",
"integrity": "sha512-OglKWOQRWTCoqMSy6pm/kpinEIgdcXYceIcH3EKWUl4S8xhFtN34GQRaAvTIZB9DD94rW7d/U7tUg3SYeDFNHA==", "integrity": "sha512-bGPLCOJAa+j49hsynTaAtQIWg6uZd8VLiPcyDe4QPULsvQwLHGLSGKKcBN8/lBxIX14F74UEMK2zNDI8r0okwA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@types/json-schema": "^7.0.7", "@types/json-schema": "^7.0.7",
"@typescript-eslint/scope-manager": "4.28.4", "@typescript-eslint/scope-manager": "4.28.5",
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/types": "4.28.5",
"@typescript-eslint/typescript-estree": "4.28.4", "@typescript-eslint/typescript-estree": "4.28.5",
"eslint-scope": "^5.1.1", "eslint-scope": "^5.1.1",
"eslint-utils": "^3.0.0" "eslint-utils": "^3.0.0"
},
"dependencies": {
"@typescript-eslint/scope-manager": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz",
"integrity": "sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.5"
}
},
"@typescript-eslint/types": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.5.tgz",
"integrity": "sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==",
"dev": true
},
"@typescript-eslint/typescript-estree": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.5.tgz",
"integrity": "sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.5",
"debug": "^4.3.1",
"globby": "^11.0.3",
"is-glob": "^4.0.1",
"semver": "^7.3.5",
"tsutils": "^3.21.0"
}
},
"@typescript-eslint/visitor-keys": {
"version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz",
"integrity": "sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==",
"dev": true,
"requires": {
"@typescript-eslint/types": "4.28.5",
"eslint-visitor-keys": "^2.0.0"
}
}
} }
}, },
"@typescript-eslint/parser": { "@typescript-eslint/parser": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.5.tgz",
"integrity": "sha512-4i0jq3C6n+og7/uCHiE6q5ssw87zVdpUj1k6VlVYMonE3ILdFApEzTWgppSRG4kVNB/5jxnH+gTeKLMNfUelQA==", "integrity": "sha512-NPCOGhTnkXGMqTznqgVbA5LqVsnw+i3+XA1UKLnAb+MG1Y1rP4ZSK9GX0kJBmAZTMIktf+dTwXToT6kFwyimbw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/scope-manager": "4.28.4", "@typescript-eslint/scope-manager": "4.28.5",
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/types": "4.28.5",
"@typescript-eslint/typescript-estree": "4.28.4", "@typescript-eslint/typescript-estree": "4.28.5",
"debug": "^4.3.1" "debug": "^4.3.1"
} },
}, "dependencies": {
"@typescript-eslint/scope-manager": { "@typescript-eslint/scope-manager": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.28.5.tgz",
"integrity": "sha512-ZJBNs4usViOmlyFMt9X9l+X0WAFcDH7EdSArGqpldXu7aeZxDAuAzHiMAeI+JpSefY2INHrXeqnha39FVqXb8w==", "integrity": "sha512-PHLq6n9nTMrLYcVcIZ7v0VY1X7dK309NM8ya9oL/yG8syFINIMHxyr2GzGoBYUdv3NUfCOqtuqps0ZmcgnZTfQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.4" "@typescript-eslint/visitor-keys": "4.28.5"
} }
}, },
"@typescript-eslint/types": { "@typescript-eslint/types": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.28.5.tgz",
"integrity": "sha512-3eap4QWxGqkYuEmVebUGULMskR6Cuoc/Wii0oSOddleP4EGx1tjLnZQ0ZP33YRoMDCs5O3j56RBV4g14T4jvww==", "integrity": "sha512-MruOu4ZaDOLOhw4f/6iudyks/obuvvZUAHBDSW80Trnc5+ovmViLT2ZMDXhUV66ozcl6z0LJfKs1Usldgi/WCA==",
"dev": true "dev": true
}, },
"@typescript-eslint/typescript-estree": { "@typescript-eslint/typescript-estree": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.5.tgz",
"integrity": "sha512-z7d8HK8XvCRyN2SNp+OXC2iZaF+O2BTquGhEYLKLx5k6p0r05ureUtgEfo5f6anLkhCxdHtCf6rPM1p4efHYDQ==", "integrity": "sha512-FzJUKsBX8poCCdve7iV7ShirP8V+ys2t1fvamVeD1rWpiAnIm550a+BX/fmTHrjEpQJ7ZAn+Z7ZZwJjytk9rZw==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/types": "4.28.5",
"@typescript-eslint/visitor-keys": "4.28.4", "@typescript-eslint/visitor-keys": "4.28.5",
"debug": "^4.3.1", "debug": "^4.3.1",
"globby": "^11.0.3", "globby": "^11.0.3",
"is-glob": "^4.0.1", "is-glob": "^4.0.1",
"semver": "^7.3.5", "semver": "^7.3.5",
"tsutils": "^3.21.0" "tsutils": "^3.21.0"
} }
}, },
"@typescript-eslint/visitor-keys": { "@typescript-eslint/visitor-keys": {
"version": "4.28.4", "version": "4.28.5",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.4.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.5.tgz",
"integrity": "sha512-NIAXAdbz1XdOuzqkJHjNKXKj8QQ4cv5cxR/g0uQhCYf/6//XrmfpaYsM7PnBcNbfvTDLUkqQ5TPNm1sozDdTWg==", "integrity": "sha512-dva/7Rr+EkxNWdJWau26xU/0slnFlkh88v3TsyTgRS/IIYFi5iIfpCFM4ikw0vQTFUR9FYSSyqgK4w64gsgxhg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/types": "4.28.4", "@typescript-eslint/types": "4.28.5",
"eslint-visitor-keys": "^2.0.0" "eslint-visitor-keys": "^2.0.0"
}
}
} }
}, },
"@vitejs/plugin-vue": { "@vitejs/plugin-vue": {
"version": "1.2.5", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.2.5.tgz", "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-1.3.0.tgz",
"integrity": "sha512-GIR31mdXTEfvElmBUaRhDc5v7lfdkEdawWQqJRiaRL/5qKsH+xusukglkvJz5y7+c6dEpxgmvcATv2BbB7+fzQ==", "integrity": "sha512-wJvuJdTBjvucUX0vK4fuy60t+A9bJSZxc59vp1Y+8kiOd0NU5kFt4lay72gMWPeR+lSUjrTmGUq8Uzb99Jbw3A==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
@ -6115,9 +6309,9 @@
} }
}, },
"sass": { "sass": {
"version": "1.35.2", "version": "1.36.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.35.2.tgz", "resolved": "https://registry.npmjs.org/sass/-/sass-1.36.0.tgz",
"integrity": "sha512-jhO5KAR+AMxCEwIH3v+4zbB2WB0z67V1X0jbapfVwQQdjHZUGUyukpnoM6+iCMfsIUC016w9OPKQ5jrNOS9uXw==", "integrity": "sha512-fQzEjipfOv5kh930nu3Imzq3ie/sGDc/4KtQMJlt7RRdrkQSfe37Bwi/Rf/gfuYHsIuE1fIlDMvpyMcEwjnPvg==",
"dev": true, "dev": true,
"requires": { "requires": {
"chokidar": ">=3.0.0 <4.0.0" "chokidar": ">=3.0.0 <4.0.0"
@ -6394,14 +6588,14 @@
"dev": true "dev": true
}, },
"vite": { "vite": {
"version": "2.4.3", "version": "2.4.4",
"resolved": "https://registry.npmjs.org/vite/-/vite-2.4.3.tgz", "resolved": "https://registry.npmjs.org/vite/-/vite-2.4.4.tgz",
"integrity": "sha512-iT6NPeiUUZ2FkzC3eazytOEMRaM4J+xgRQcNcpRcbmfYjakCFP4WKPJpeEz1U5JEKHAtwv3ZBQketQUFhFU3ng==", "integrity": "sha512-m1wK6pFJKmaYA6AeZIUXyiAgUAAJzVXhIMYCdZUpCaFMGps0v0IlNJtbmPvkUhVEyautalajmnW5X6NboUPsnw==",
"dev": true, "dev": true,
"requires": { "requires": {
"esbuild": "^0.12.8", "esbuild": "^0.12.8",
"fsevents": "~2.3.2", "fsevents": "~2.3.2",
"postcss": "^8.3.5", "postcss": "^8.3.6",
"resolve": "^1.20.0", "resolve": "^1.20.0",
"rollup": "^2.38.5" "rollup": "^2.38.5"
} }

View File

@ -22,14 +22,14 @@
"@types/leaflet": "1.7.4", "@types/leaflet": "1.7.4",
"@typescript-eslint/eslint-plugin": "^4.28", "@typescript-eslint/eslint-plugin": "^4.28",
"@typescript-eslint/parser": "^4.28", "@typescript-eslint/parser": "^4.28",
"@vitejs/plugin-vue": "^1.2", "@vitejs/plugin-vue": "^1.3",
"@vue/compiler-sfc": "^3.1", "@vue/compiler-sfc": "^3.1",
"@vue/eslint-config-typescript": "^7.0", "@vue/eslint-config-typescript": "^7.0",
"eslint": "^7.31", "eslint": "^7.31",
"eslint-plugin-vue": "^7.14", "eslint-plugin-vue": "^7.14",
"patch-package": "^6.4", "patch-package": "^6.4",
"rollup-plugin-analyzer": "^4.0", "rollup-plugin-analyzer": "^4.0",
"sass": "^1.35", "sass": "^1.36",
"typescript": "^4.3", "typescript": "^4.3",
"vite": "^2.4", "vite": "^2.4",
"vite-plugin-svg-sprite-component": "^1.0", "vite-plugin-svg-sprite-component": "^1.0",

View File

@ -180,6 +180,11 @@ export default defineComponent({
// Otherwise pan to url location, if present // Otherwise pan to url location, if present
} else if(store.state.parsedUrl?.location) { } else if(store.state.parsedUrl?.location) {
location = store.state.parsedUrl.location; location = store.state.parsedUrl.location;
if(!oldValue) {
this.scheduledZoom = store.state.parsedUrl?.zoom || store.state.configuration.defaultZoom;
}
store.commit(MutationTypes.CLEAR_PARSED_URL, undefined); store.commit(MutationTypes.CLEAR_PARSED_URL, undefined);
// Otherwise pan to world center // Otherwise pan to world center
} else { } else {
@ -187,7 +192,7 @@ export default defineComponent({
} }
if(!oldValue) { if(!oldValue) {
this.scheduledZoom = store.state.parsedUrl?.zoom || store.state.configuration.defaultZoom; this.scheduledZoom = this.scheduledZoom || store.state.configuration.defaultZoom;
} }
//Set pan location for when the projection changes //Set pan location for when the projection changes

View File

@ -0,0 +1,31 @@
/*
* Copyright 2021 James Lyne
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {LatLngExpression, Polygon, PolylineOptions} from "leaflet";
import {LiveAtlasPath} from "@/index";
export interface LiveAtlasPolygonOptions extends PolylineOptions {
minZoom?: number;
maxZoom?: number;
}
export default class LiveAtlasPolygon extends Polygon {
declare options: LiveAtlasPolygonOptions;
constructor(latlngs: LatLngExpression[] | LatLngExpression[][] | LatLngExpression[][][], options: LiveAtlasPath) {
super(latlngs, options.style);
}
}

View File

@ -0,0 +1,33 @@
/*
* Copyright 2021 James Lyne
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {LatLngExpression, Polyline, PolylineOptions} from "leaflet";
import {LiveAtlasPath} from "@/index";
export interface LiveAtlasPolylineOptions extends PolylineOptions {
minZoom?: number;
maxZoom?: number;
}
export default class LiveAtlasPolyline extends Polyline {
declare options: LiveAtlasPolylineOptions;
constructor(latlngs: LatLngExpression[] | LatLngExpression[][], option: LiveAtlasPath) {
super(latlngs, option.style);
this.options.minZoom = option.minZoom;
this.options.maxZoom = option.maxZoom;
}
}

View File

@ -0,0 +1,59 @@
/*
* Copyright 2021 James Lyne
*
* Some portions of this file were taken from https://github.com/webbukkit/dynmap.
* These portions are Copyright 2020 Dynmap Contributors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {LatLng} from 'leaflet';
import {Coordinate} from "@/index";
export interface LiveAtlasProjectionOptions {
mapToWorld: [number, number, number, number, number, number, number, number, number],
worldToMap: [number, number, number, number, number, number, number, number, number],
nativeZoomLevels: number
}
export class LiveAtlasProjection {
private readonly mapToWorld: [number, number, number, number, number, number, number, number, number];
private readonly worldToMap: [number, number, number, number, number, number, number, number, number];
private readonly nativeZoomLevels: number;
constructor(options: LiveAtlasProjectionOptions) {
this.mapToWorld = options.mapToWorld || [0, 0, 0, 0, 0, 0, 0, 0];
this.worldToMap = options.worldToMap || [0, 0, 0, 0, 0, 0, 0, 0];
this.nativeZoomLevels = options.nativeZoomLevels || 1;
}
locationToLatLng(location: Coordinate): LatLng {
const wtp = this.worldToMap,
lat = wtp[3] * location.x + wtp[4] * location.y + wtp[5] * location.z,
lng = wtp[0] * location.x + wtp[1] * location.y + wtp[2] * location.z;
return new LatLng(
-((128 - lat) / (1 << this.nativeZoomLevels)),
lng / (1 << this.nativeZoomLevels));
}
latLngToLocation(latLng: LatLng, y: number): Coordinate {
const ptw = this.mapToWorld,
lat = latLng.lng * (1 << this.nativeZoomLevels),
lon = 128 + latLng.lat * (1 << this.nativeZoomLevels),
x = ptw[0] * lat + ptw[1] * lon + ptw[2] * y,
z = ptw[6] * lat + ptw[7] * lon + ptw[8] * y;
return {x: x, y: y, z: z};
}
}