diff --git a/GeotiefExplore.code-workspace b/GeotiefExplore.code-workspace index ad22e91..b09fd1d 100644 --- a/GeotiefExplore.code-workspace +++ b/GeotiefExplore.code-workspace @@ -19,8 +19,8 @@ "url": "http://localhost:8080", "webRoot": "${workspaceFolder}", "breakOnLoad": true, - // "runtimeExecutable": "C:/ProgramData/scoop/apps/googlechrome/current/chrome.exe", - "runtimeExecutable": "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe", + "runtimeExecutable": "C:/ProgramData/scoop/apps/googlechrome/current/chrome.exe", + // "runtimeExecutable": "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe", // "sourceMapPathOverrides": { // "webpack:///./~/*": "${workspaceFolder}/node_modules/*", // "webpack:///./*": "${workspaceFolder}/*", diff --git a/package-lock.json b/package-lock.json index 055e37f..9d6cbdc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -80,9 +80,9 @@ } }, "node_modules/@babel/generator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.13.tgz", - "integrity": "sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", "dev": true, "dependencies": { "@babel/types": "^7.12.13", @@ -338,9 +338,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.12.14", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.14.tgz", - "integrity": "sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -991,9 +991,9 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.13.tgz", - "integrity": "sha512-ho1CV2lm8qn2AxD3JdvPgtLVHCYLDaOszlf0gosdHcJAIfgNizag76WI+FoibrvfT+h117fgf8h+wgvo4O2qbA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz", + "integrity": "sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==", "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.12.13", @@ -1329,9 +1329,9 @@ "peer": true }, "node_modules/@types/node": { - "version": "14.14.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", - "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "version": "14.14.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", + "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==", "dev": true }, "node_modules/@webassemblyjs/ast": { @@ -1728,9 +1728,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001183", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001183.tgz", - "integrity": "sha512-7JkwTEE1hlRKETbCFd8HDZeLiQIUcl8rC6JgNjvHCNaxOeNmQ9V4LvQXRUsKIV2CC73qKxljwVhToaA3kLRqTw==", + "version": "1.0.30001185", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", + "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", "dev": true }, "node_modules/chalk": { @@ -1869,13 +1869,13 @@ } }, "node_modules/copy-anything": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.1.tgz", - "integrity": "sha512-lA57e7viQHOdPQcrytv5jFeudZZOXuyk47lZym279FiDQ8jeZomXiGuVf6ffMKkJ+3TIai3J1J3yi6M+/4U35g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz", + "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==", "dev": true, "peer": true, "dependencies": { - "is-what": "^3.7.1" + "is-what": "^3.12.0" } }, "node_modules/core-js-compat": { @@ -1916,23 +1916,23 @@ } }, "node_modules/css-loader": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz", - "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.2.tgz", + "integrity": "sha512-gbkBigdcHbmNvZ1Cg6aV6qh6k9N6XOr8YWzISLQGrwk2mgOH8LLrizhkxbDhQtaLtktyKHD4970S0xwz5btfTA==", "dev": true, "dependencies": { "camelcase": "^6.2.0", "cssesc": "^3.0.0", - "icss-utils": "^5.0.0", + "icss-utils": "^5.1.0", "loader-utils": "^2.0.0", - "postcss": "^8.1.4", + "postcss": "^8.2.4", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "semver": "^7.3.4" }, "engines": { "node": ">= 10.13.0" @@ -2005,9 +2005,9 @@ } }, "node_modules/date-fns": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz", - "integrity": "sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.17.0.tgz", + "integrity": "sha512-ZEhqxUtEZeGgg9eHNSOAJ8O9xqSgiJdrL0lzSSfMF54x6KXWJiOH/xntSJ9YomJPrYH/p08t6gWjGWq1SDJlSA==", "dev": true, "engines": { "node": ">=0.11" @@ -2078,9 +2078,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.652", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.652.tgz", - "integrity": "sha512-85J5D0Ksxjq2MIHfgwOURRej72UMlexbaa7t+oKTJan3Pa/RBE8vJ4/JzwaQjLCElPvd0XeLWi7+xYTVrq96aA==", + "version": "1.3.657", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz", + "integrity": "sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw==", "dev": true }, "node_modules/emoji-regex": { @@ -2544,9 +2544,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz", + "integrity": "sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==", "dev": true }, "node_modules/has": { @@ -3232,9 +3232,9 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz", - "integrity": "sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.6.tgz", + "integrity": "sha512-t86rLnySRQgN2+58gAIARTEtnClLNZoC99shNrvQ960V/wB9n50AUKJyqly76/s4fT0zwaLFIDFZAW7aK25pvg==", "dev": true, "dependencies": { "loader-utils": "^2.0.0", @@ -3595,9 +3595,9 @@ } }, "node_modules/postcss": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz", - "integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.5.tgz", + "integrity": "sha512-wMcb7BpDcm3gxQOQx46NDNT36Kk0Ao6PJLLI2ed5vehbbbxCEuslSQzbQ2sfSKy+gkYxhWcGWSeaK+gwm4KIZg==", "dev": true, "dependencies": { "colorette": "^1.2.1", @@ -4506,9 +4506,9 @@ } }, "node_modules/watchpack": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz", - "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -4519,9 +4519,9 @@ } }, "node_modules/webpack": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.20.1.tgz", - "integrity": "sha512-cStILc8W14WZXsgfeJmNIQlmQU06F7THfCJ6id3pIB/EXuR6nquolJ2ZJoaLNb6zdec6O2jOAzVKtBYc7vGDjg==", + "version": "5.21.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.21.2.tgz", + "integrity": "sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.0", @@ -4894,9 +4894,9 @@ } }, "@babel/generator": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.13.tgz", - "integrity": "sha512-9qQ8Fgo8HaSvHEt6A5+BATP7XktD/AdAnObUeTRz5/e2y3kbrxZgz32qUJJsdmwUvBJzF4AeV21nGTNwv05Mpw==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.15.tgz", + "integrity": "sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ==", "dev": true, "requires": { "@babel/types": "^7.12.13", @@ -5143,9 +5143,9 @@ } }, "@babel/parser": { - "version": "7.12.14", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.14.tgz", - "integrity": "sha512-xcfxDq3OrBnDsA/Z8eK5/2iPcLD8qbOaSSfOw4RA6jp4i7e6dEQ7+wTwxItEwzcXPQcsry5nZk96gmVPKletjQ==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.15.tgz", + "integrity": "sha512-AQBOU2Z9kWwSZMd6lNjCX0GUgFonL1wAM1db8L8PMk9UDaGsRCArBkU4Sc+UCM3AE4hjbXx+h58Lb3QT4oRmrA==", "dev": true }, "@babel/plugin-proposal-async-generator-functions": { @@ -5637,9 +5637,9 @@ } }, "@babel/plugin-transform-runtime": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.13.tgz", - "integrity": "sha512-ho1CV2lm8qn2AxD3JdvPgtLVHCYLDaOszlf0gosdHcJAIfgNizag76WI+FoibrvfT+h117fgf8h+wgvo4O2qbA==", + "version": "7.12.15", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz", + "integrity": "sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.12.13", @@ -5933,9 +5933,9 @@ "peer": true }, "@types/node": { - "version": "14.14.22", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", - "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==", + "version": "14.14.25", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz", + "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==", "dev": true }, "@webassemblyjs/ast": { @@ -6263,9 +6263,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001183", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001183.tgz", - "integrity": "sha512-7JkwTEE1hlRKETbCFd8HDZeLiQIUcl8rC6JgNjvHCNaxOeNmQ9V4LvQXRUsKIV2CC73qKxljwVhToaA3kLRqTw==", + "version": "1.0.30001185", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001185.tgz", + "integrity": "sha512-Fpi4kVNtNvJ15H0F6vwmXtb3tukv3Zg3qhKkOGUq7KJ1J6b9kf4dnNgtEAFXhRsJo0gNj9W60+wBvn0JcTvdTg==", "dev": true }, "chalk": { @@ -6388,13 +6388,13 @@ } }, "copy-anything": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.1.tgz", - "integrity": "sha512-lA57e7viQHOdPQcrytv5jFeudZZOXuyk47lZym279FiDQ8jeZomXiGuVf6ffMKkJ+3TIai3J1J3yi6M+/4U35g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz", + "integrity": "sha512-GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==", "dev": true, "peer": true, "requires": { - "is-what": "^3.7.1" + "is-what": "^3.12.0" } }, "core-js-compat": { @@ -6427,23 +6427,23 @@ } }, "css-loader": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.1.tgz", - "integrity": "sha512-cXc2ti9V234cq7rJzFKhirb2L2iPy8ZjALeVJAozXYz9te3r4eqLSixNAbMDJSgJEQywqXzs8gonxaboeKqwiw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.2.tgz", + "integrity": "sha512-gbkBigdcHbmNvZ1Cg6aV6qh6k9N6XOr8YWzISLQGrwk2mgOH8LLrizhkxbDhQtaLtktyKHD4970S0xwz5btfTA==", "dev": true, "requires": { "camelcase": "^6.2.0", "cssesc": "^3.0.0", - "icss-utils": "^5.0.0", + "icss-utils": "^5.1.0", "loader-utils": "^2.0.0", - "postcss": "^8.1.4", + "postcss": "^8.2.4", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.1.0", "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "semver": "^7.3.4" }, "dependencies": { "loader-utils": { @@ -6486,9 +6486,9 @@ "dev": true }, "date-fns": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.16.1.tgz", - "integrity": "sha512-sAJVKx/FqrLYHAQeN7VpJrPhagZc9R4ImZIWYRFZaaohR3KzmuK88touwsSwSVT8Qcbd4zoDsnGfX4GFB4imyQ==", + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.17.0.tgz", + "integrity": "sha512-ZEhqxUtEZeGgg9eHNSOAJ8O9xqSgiJdrL0lzSSfMF54x6KXWJiOH/xntSJ9YomJPrYH/p08t6gWjGWq1SDJlSA==", "dev": true }, "debug": { @@ -6532,9 +6532,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.652", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.652.tgz", - "integrity": "sha512-85J5D0Ksxjq2MIHfgwOURRej72UMlexbaa7t+oKTJan3Pa/RBE8vJ4/JzwaQjLCElPvd0XeLWi7+xYTVrq96aA==", + "version": "1.3.657", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.657.tgz", + "integrity": "sha512-/9ROOyvEflEbaZFUeGofD+Tqs/WynbSTbNgNF+/TJJxH1ePD/e6VjZlDJpW3FFFd3nj5l3Hd8ki2vRwy+gyRFw==", "dev": true }, "emoji-regex": { @@ -6886,9 +6886,9 @@ } }, "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.5.tgz", + "integrity": "sha512-kBBSQbz2K0Nyn+31j/w36fUfxkBW9/gfwRWdUY1ULReH3iokVJgddZAFcD1D0xlgTmFxJCbUkUclAlc6/IDJkw==", "dev": true }, "has": { @@ -7393,9 +7393,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.5.tgz", - "integrity": "sha512-tvmzcwqJJXau4OQE5vT72pRT18o2zF+tQJp8CWchqvfQnTlflkzS+dANYcRdyPRWUWRkfmeNTKltx0NZI/b5dQ==", + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.3.6.tgz", + "integrity": "sha512-t86rLnySRQgN2+58gAIARTEtnClLNZoC99shNrvQ960V/wB9n50AUKJyqly76/s4fT0zwaLFIDFZAW7aK25pvg==", "dev": true, "requires": { "loader-utils": "^2.0.0", @@ -7659,9 +7659,9 @@ } }, "postcss": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz", - "integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==", + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.5.tgz", + "integrity": "sha512-wMcb7BpDcm3gxQOQx46NDNT36Kk0Ao6PJLLI2ed5vehbbbxCEuslSQzbQ2sfSKy+gkYxhWcGWSeaK+gwm4KIZg==", "dev": true, "requires": { "colorette": "^1.2.1", @@ -8346,9 +8346,9 @@ } }, "watchpack": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.0.tgz", - "integrity": "sha512-UjgD1mqjkG99+3lgG36at4wPnUXNvis2v1utwTgQ43C22c4LD71LsYMExdWXh4HZ+RmW+B0t1Vrg2GpXAkTOQw==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", + "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -8356,9 +8356,9 @@ } }, "webpack": { - "version": "5.20.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.20.1.tgz", - "integrity": "sha512-cStILc8W14WZXsgfeJmNIQlmQU06F7THfCJ6id3pIB/EXuR6nquolJ2ZJoaLNb6zdec6O2jOAzVKtBYc7vGDjg==", + "version": "5.21.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.21.2.tgz", + "integrity": "sha512-xHflCenx+AM4uWKX71SWHhxml5aMXdy2tu/vdi4lClm7PADKxlyDAFFN1rEFzNV0MAoPpHtBeJnl/+K6F4QBPg==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", diff --git a/src/js/controls/NorthArrow.css b/src/js/controls/NorthArrow.css index 1609a38..0455b0f 100644 --- a/src/js/controls/NorthArrow.css +++ b/src/js/controls/NorthArrow.css @@ -3,9 +3,10 @@ bottom: 0; left: 0; border: none; - width: 120px; - height: 120px; + width: 100px; + height: 100px; z-index: 9999999; + margin-bottom: 0; } /* label */ @@ -40,8 +41,8 @@ user-select: none; } -.blue-label { - color: #00bfff; +.gray-label { + color: #6b716f; padding: 2px; text-shadow: -1px -1px #FFF, 0 -1px #FFF, 1px -1px #FFF, -1px 0 #FFF, 1px 0 #FFF, -1px 1px #FFF, 0 1px #FFF, 1px 1px #FFF; position: absolute; diff --git a/src/js/controls/NorthArrow.js b/src/js/controls/NorthArrow.js index bd4420f..31d856a 100644 --- a/src/js/controls/NorthArrow.js +++ b/src/js/controls/NorthArrow.js @@ -8,13 +8,13 @@ import * as domEvent from '../core/domEvent'; import { WebGLRenderer } from 'three/src/renderers/WebGLRenderer'; import { Scene } from 'three/src/scenes/Scene'; import { PerspectiveCamera } from 'three/src/cameras/PerspectiveCamera'; -import { BoxGeometry } from 'three/src/geometries/BoxGeometry'; -import { MeshBasicMaterial } from 'three/src/materials/MeshBasicMaterial'; -import { Mesh } from 'three/src/objects/Mesh'; +// import { BoxGeometry } from 'three/src/geometries/BoxGeometry'; +// import { MeshBasicMaterial } from 'three/src/materials/MeshBasicMaterial'; +// import { Mesh } from 'three/src/objects/Mesh'; import './NorthArrow.css'; -export class NortArrow extends Control { +export class NorthArrow extends Control { renderer; _mainMap; @@ -25,8 +25,8 @@ export class NortArrow extends Control { labels = []; options = { position: 'bottomleft', - width: 120, - height: 120, + width: 100, + height: 100, headLength: 1, headWidth: 1, }; @@ -48,124 +48,78 @@ export class NortArrow extends Control { domEvent.on(this._container, 'mousewheel', domEvent.stopPropagation); let renderer = this.renderer = new WebGLRenderer({ alpha: true }); - renderer.setSize(120, 120); - // renderer.setSize(container.innerWidth, container.innerHeight); + renderer.setSize(this.options.width, this.options.height); container.appendChild(renderer.domElement); this._scene = new Scene(); - // this._camera = new PerspectiveCamera(60, 1, 0.1, 1000); - - this._camera = new PerspectiveCamera(30, this.options.width / this.options.height, 0.1, 10000); - // this._camera.position.copy(map.camera.position); - // this._camera.up = map.camera.up; + this._camera = new PerspectiveCamera(30, this.options.width / this.options.height, 0.1, 10000); this._camera.lookAt(map.center); - - - const camDirection = new Vector3(-0.5, -Math.SQRT1_2, 0.5); // const camDirection = new Vector3(0, 0, 1); const camOffset = camDirection.multiplyScalar(map.size * 2); - this._camera.position.copy(map.center); - this._camera.position.add(camOffset); - - this._camera.far = map.size * 25; - this._camera.near = map.size * 0.1; - // this._camera.far = 1000 * 25; - // this._camera.near = 10; + this._camera.position.copy(map.center); + this._camera.position.add(camOffset); this._camera.lookAt(map.center); + this._camera.up = this._map.camera.up; this._camera.updateProjectionMatrix(); - - var A = this._map.center; - var B = this._map.camera.position - var C = new Vector3(); - this.oldLength = A.distanceTo(B); - this._createArrow(this._scene); - // this._buildLabels(); + this._buildLabels(); - - - this.geometry = new BoxGeometry(10000, 10000, 10000); - this.material = new MeshBasicMaterial({ - color: 800080 - }); - this.materials = []; - this.materials.push(this.material); - this.mesh = new Mesh(this.geometry, this.material); - // this.mesh.position.x = 4282010; - // this.mesh.position.y = 2302070; - // this.mesh.position.z = -13616.3; - this.mesh.position.set(map.center.x, map.center.y, map.center.z); - this._scene.add(this.mesh); + // this.geometry = new BoxGeometry(10000, 10000, 10000); + // this.material = new MeshBasicMaterial({ + // color: 800080 + // }); + // this.materials = []; + // this.materials.push(this.material); + // this.mesh = new Mesh(this.geometry, this.material); + // this.mesh.position.set(map.center.x, map.center.y, map.center.z); + // this._scene.add(this.mesh); return container; } animate() { - - // this._camera.position.copy(this._map.camera.position); - // this._camera.up = this._map.camera.up; - // // // this._camera.lookAt(this._scene.position); + // this._camera.position.copy(this._map.camera.position); + // // this._camera.position.normalize().multiplyScalar(100); + // // this._camera.position.setLength(this.oldLength); + // // this._camera.up = this._map.camera.up; // this._camera.lookAt(this._map.center); - - - // var A = this._map.center; - // var B = this._map.camera.position - // var C = new Vector3(); - // var oldLength = A.distanceTo(B); - // var newLength = 1000;// oldLength + 100; - // if(oldLength > 0) - // { - // C.x = A.x + (B.x - A.x) * newLength / oldLength; - // C.y = A.y + (B.y - A.y) * newLength / oldLength; - // } - - - this._camera.position.copy(this._map.camera.position); - // this._camera.position.normalize().multiplyScalar(100); - // this._camera.position.setLength(this.oldLength); - this._camera.up = this._map.camera.up; - this._camera.lookAt(this._map.center); - // this._camera.lookAt(this._scene.position); - + this._camera.position.sub(this._map.target); + this._camera.position.setLength(35); + this._camera.lookAt(this._scene.position); + // this._camera.near =10; // this._camera.far = 1000 * 25; // this._camera.lookAt(this._map.center); // this._camera.updateProjectionMatrix(); this.renderer.render(this._scene, this._camera); - // this._updateInsetLabelPositions(); + this._updateInsetLabelPositions(); } - _createArrow(app_scene) { - let from = this._map.center;//new Vector3(0, 0, 0); + _createArrow(app_scene, size = 6) { + let from = new Vector3(0, 0, 0); let headLength = this.options.headLength;//1; let headWidth = 1;//this.options.headWidth;//1; let xTo = new Vector3(1, 0, 0); // let xTo = new Vector3(from.x + 1, from.y, from.z); // let xDirection = xTo.clone().sub(from); - this.objectGroup.add(new ArrowHelper(xTo, from, this._map.size* 0.5, 0xf00000, headLength, headWidth)); // Red = x + //(this.objectGroup.add(new ArrowHelper(xTo, from, this._map.size * 0.5, 0xf00000, headLength, headWidth)); // Red = x + this.objectGroup.add(new ArrowHelper(xTo, from, size, 0xff0000, headLength, headWidth)); // Red = x - let yTo = new Vector3(0, 1, 0); + let yTo = new Vector3(0, -1, 0); // let yTo = new Vector3(from.x, from.y + 1, from.z); // let yDirection = yTo.clone().sub(from); - this.objectGroup.add(new ArrowHelper(yTo, from, this._map.size * 0.5, 0x7cfc00, headLength, headWidth)); // Green = y + this.objectGroup.add(new ArrowHelper(yTo, from, size, 0x3ad29f, headLength, headWidth)); // Green = y let zTo = new Vector3(0, 0, 1);//blue z // let zTo = new Vector3(from.x, from.y, from.z + 1); // let zDirection = zTo.clone().sub(from); - this.objectGroup.add(new ArrowHelper(zTo, from, this._map.size * 0.5, 0x00bfff, headLength, headWidth)); //8 is the length, Blue = z; 20 and 10 are head length and width - - // let opt = { r: 200, c: 0x38eeff, o: 0.8 }; - // this._queryMarker = new Mesh(new SphereGeometry(opt.r), - // new MeshLambertMaterial({ color: opt.c, opacity: opt.o, transparent: false })); - // this._queryMarker.visible = true; - // this._queryMarker.position.set(0, 0, -1); - // this.objectGroup.position.set(this._map.center.x, this._map.center.y, this._map.center.z); + this.objectGroup.add(new ArrowHelper(zTo, from, size, 0x6b716f, headLength, headWidth)); //8 is the length, Gray = z; 20 and 10 are head length and width if (app_scene) { app_scene.add(this.objectGroup); @@ -175,44 +129,41 @@ export class NortArrow extends Control { _buildLabels() { let f = [ - { a: ["X"], cl: "red-label", centroid: [[7, 0, 0]] }, - { a: ["Y"], cl: "green-label", centroid: [[0, 7, 0]] }, - { a: ["Z"], cl: "blue-label", centroid: [[0, 0, 7]] } + { a: ["x"], cl: "red-label", centroid: [[8, 0, 0]] }, + { a: ["y"], cl: "green-label", centroid: [[0, -8, 0]] }, + { a: ["z"], cl: "gray-label", centroid: [[0, 0, 8]] } ]; - var zFunc, getPointsFunc = function (f) { return f.centroid; }; + let getPointsFunc = function (f) { return f.centroid; }; // create parent element for labels var e = document.createElement("div"); this._container.appendChild(e); e.style.display = (this.objectGroup.visible) ? "block" : "none"; - let labelParentElement = e; //lable parent div for this layer + let labelParentElement = this.labelParentElement = e; //lable parent div for this layer for (let i = 0, l = f.length; i < l; i++) { - var labelInfo = f[i]; + let labelInfo = f[i]; // labelInfo.aElems = []; // labelInfo.aObjs = []; - var text = labelInfo.a[0]; + let text = labelInfo.a[0]; if (text === null || text === "") continue; - var classLabel = labelInfo.cl; + let classLabel = labelInfo.cl; if (classLabel === undefined || classLabel === "") classLabel = "label"; - //var horizontalShiftLabel = f.hs; - //if (horizontalShiftLabel === undefined || horizontalShiftLabel === "") horizontalShiftLabel = 0; - let pts = getPointsFunc(labelInfo); for (let j = 0, m = pts.length; j < m; j++) { let pt = pts[j]; // create div element for label - var e = document.createElement("div"); + let e = document.createElement("div"); e.appendChild(document.createTextNode(text)); e.className = classLabel;// "label"; labelParentElement.appendChild(e); - var pt1 = new Vector3(pt[0], pt[1], pt[2]); // top + let pt1 = new Vector3(pt[0], pt[1], pt[2]); // top this.labels.push({ labelDiv: e, pt: pt1 }); } @@ -223,10 +174,10 @@ export class NortArrow extends Control { } _updateInsetLabelPositions() { - var widthHalf = this.options.width / 2; - var heightHalf = this.options.height / 2; + let widthHalf = this.options.width / 2; + let heightHalf = this.options.height / 2; // var autosize = appSettings.Options.label.autoSize; - // var camera = app.camera2; + let camera_pos = this._camera.position; let target = new Vector3(0, 0, 0); let c2t = target.sub(camera_pos); @@ -234,7 +185,7 @@ export class NortArrow extends Control { let v = new Vector3(); // make a list of [label index, distance to camera] - var idx_dist = []; + let idx_dist = []; for (let i = 0, l = this.labels.length; i < l; i++) { idx_dist.push([i, camera_pos.distanceTo(this.labels[i].pt)]); } @@ -246,7 +197,7 @@ export class NortArrow extends Control { return 0; }); - let label, labelDiv, x, y, dist, fontSize; + let label, labelDiv, x, y; // var minFontSize = appSettings.Options.label.minFontSize; for (let i = 0, l = idx_dist.length; i < l; i++) { label = this.labels[idx_dist[i][0]]; diff --git a/src/js/main.js b/src/js/main.js index 0ea52e8..44ba4ee 100644 --- a/src/js/main.js +++ b/src/js/main.js @@ -10,7 +10,7 @@ import { DemLayer } from './layer/DemLayer'; import { Map } from './core/Map'; import * as domEvent from './core/domEvent'; import { Coordinates } from './controls/Coordinates'; -// import { NortArrow } from './controls/NorthArrow'; +import { NorthArrow } from './controls/NorthArrow'; import { LayerControl } from './controls/LayerControl'; import { BasemapControl } from './controls/BasemapControl'; import { SliderControl } from './controls/SliderControl'; @@ -183,7 +183,7 @@ class Application { // this.animate(); // }, this); } - // this.northArrow = new NortArrow({ headLength: 1, headWidth: 1 }).addTo(this.map); + this.northArrow = new NorthArrow({ headLength: 1, headWidth: 1 }).addTo(this.map); let demLayer = new DemLayer({ q: 0, shading: true, type: 'dem', name: 'DEM Layer', color: 16382457, "baseExtent": baseExtent, @@ -313,7 +313,7 @@ class Application { animate() { this.renderer.render(this.scene, this.camera); - // this.northArrow.animate(); + this.northArrow.animate(); this.gridlayer.animate(); }