diff --git a/Display/angular.json b/Display/angular.json index 8e95e27..7a03c6c 100644 --- a/Display/angular.json +++ b/Display/angular.json @@ -28,10 +28,14 @@ "src/assets" ], "styles": [ - "./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css", + "node_modules/@clr/icons/clr-icons.min.css", + "node_modules/@clr/ui/clr-ui.min.css", "src/styles.scss" ], - "scripts": [] + "scripts": [ + "node_modules/@webcomponents/custom-elements/custom-elements.min.js", + "node_modules/@clr/icons/clr-icons.min.js" + ] }, "configurations": { "production": { @@ -94,7 +98,6 @@ "src/assets" ], "styles": [ - "./node_modules/@angular/material/prebuilt-themes/deeppurple-amber.css", "src/styles.scss" ], "scripts": [] diff --git a/Display/package-lock.json b/Display/package-lock.json index 2dab0d9..85dfa62 100644 --- a/Display/package-lock.json +++ b/Display/package-lock.json @@ -5,28 +5,28 @@ "requires": true, "dependencies": { "@angular-devkit/architect": { - "version": "0.803.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.3.tgz", - "integrity": "sha512-PInK3JTLZ+r/3MK52rocD0IwmxKVULnoed4XuxdklD1zh7e7Aj9WIoTGdVgzaTwdUFaeuBdAy4UqwfhHEmn5MQ==", + "version": "0.803.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.803.4.tgz", + "integrity": "sha512-Ek+xb9GfzHLbD+ATmupbzTSNFGddkH6dbb36cB6gme+vnlBVfXP0dxOg5lRKZoUIFJyREl9jSrA5zUhVwXaoVg==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.3", + "@angular-devkit/core": "8.3.4", "rxjs": "6.4.0" } }, "@angular-devkit/build-angular": { - "version": "0.803.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.803.3.tgz", - "integrity": "sha512-jvLABWxu8odXDZ3VimVaG9h1ZWVT7Qit9gxg1oHzgjsu1uZWsKDuVshZ3AW6H8glfpw+oZzwthpiyibObP1zVQ==", + "version": "0.803.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.803.4.tgz", + "integrity": "sha512-tL0MdAPtUjqG+F6Hc0xhaKb2gk8g55AeBjSZognlJkqPRS+b+gF1qDmyW0n5HXbyDk+zIGZyvYpzkBBL8VI6bg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.803.3", - "@angular-devkit/build-optimizer": "0.803.3", - "@angular-devkit/build-webpack": "0.803.3", - "@angular-devkit/core": "8.3.3", + "@angular-devkit/architect": "0.803.4", + "@angular-devkit/build-optimizer": "0.803.4", + "@angular-devkit/build-webpack": "0.803.4", + "@angular-devkit/core": "8.3.4", "@babel/core": "7.5.5", "@babel/preset-env": "7.5.5", - "@ngtools/webpack": "8.3.3", + "@ngtools/webpack": "8.3.4", "ajv": "6.10.2", "autoprefixer": "9.6.1", "browserslist": "4.6.6", @@ -76,12 +76,20 @@ "webpack-subresource-integrity": "1.1.0-rc.6", "worker-farm": "1.7.0", "worker-plugin": "3.2.0" + }, + "dependencies": { + "parse5": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", + "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", + "dev": true + } } }, "@angular-devkit/build-optimizer": { - "version": "0.803.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.3.tgz", - "integrity": "sha512-Qc2F+9vXeNhIiMau2u0B4kGAspFWmslRtSEXC4xLWFje2noX4BSLz61c2H0Ugzm4B96pzwCnSgTaSYdqXpYESw==", + "version": "0.803.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.803.4.tgz", + "integrity": "sha512-VGkHCyU/OC0BoTeoERb0cFG00Ippjhtx2du+7JgwGNU1GF+g2H6Ka1NJRQf/TrwgH5ATmagvlTKQRDOMo51jqg==", "dev": true, "requires": { "loader-utils": "1.2.3", @@ -92,21 +100,21 @@ } }, "@angular-devkit/build-webpack": { - "version": "0.803.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.803.3.tgz", - "integrity": "sha512-VQxQwZl5QRW5M2ClFEWkx1xX8ao+tKlCLOoakq/sV7cqdwjxCVDsA+xHuTqztMqj6ooVf2o/oUw/7zg3AmGzAg==", + "version": "0.803.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.803.4.tgz", + "integrity": "sha512-IbXoKyhdfaza+K8orCwDx3r7C/8qaTwiXUlarW/adoH5XBwzAtYGGsMmmWRffBnBiZtI2LT3VK21QAostklNxg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.803.3", - "@angular-devkit/core": "8.3.3", + "@angular-devkit/architect": "0.803.4", + "@angular-devkit/core": "8.3.4", "rxjs": "6.4.0", "webpack-merge": "4.2.1" } }, "@angular-devkit/core": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.3.tgz", - "integrity": "sha512-E49GCnn06q79Xd5SC/+8CDRF1wp9wQqP6HKJVVMijoi3NOrMQTuHTesPURvve2xbkCYqQOVlMEonhOJF5vpnoQ==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-8.3.4.tgz", + "integrity": "sha512-QjUN9EakpQ+sFYeMfBMecxVhgI4Vdg0k20h6PZDjZ9lqYNXjpaQVtBo7qiPYHh5kQeJEvdrzca6yeYuCP3TvZw==", "dev": true, "requires": { "ajv": "6.10.2", @@ -117,19 +125,19 @@ } }, "@angular-devkit/schematics": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.3.tgz", - "integrity": "sha512-t5I77YeRCWpr5PJMQn8iCu2zHqnQt7qqxt66ejmsDnFgCQDw2G1IQl48AzjegJybIoRCaWX12yUZaS5aaJm5Cg==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-8.3.4.tgz", + "integrity": "sha512-+QXhrAEcReQJL4fn+35NbcdW5d1vawqSZUokqga8E971YUVUk55mHpIQ39Vpj3S9jhTRYwxsHl+7v9N7UaREmg==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.3", + "@angular-devkit/core": "8.3.4", "rxjs": "6.4.0" } }, "@angular/animations": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-8.2.5.tgz", - "integrity": "sha512-t4TT11YIRGKSNYz5ngZ7trVPKZMtEql2LaPaVQnAZ6Cefrf+1s431mVh7ndPtGTLxRwr6RPTUe+Tc+5e2ROcmg==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-8.2.6.tgz", + "integrity": "sha512-beakpSjzF+bP2jCDmeGHwSim04u9x1Uf3dCFAj1CqRwJGb8POpUA1KlnGrEm2pzWzHKVqQH6VQ+8uGPLl17PFA==", "requires": { "tslib": "^1.9.0" } @@ -141,27 +149,19 @@ "requires": { "parse5": "^5.0.0", "tslib": "^1.7.1" - }, - "dependencies": { - "parse5": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", - "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", - "optional": true - } } }, "@angular/cli": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.3.tgz", - "integrity": "sha512-i4gFlRbksaMFYJR0wxxSnPR7orEx6TYbtNsj0/GmIk20avpx//BwA1bS1bleaTHXV8LdNOdYD1/myBgISba3HA==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.3.4.tgz", + "integrity": "sha512-5Jp7a1/Yepm2JkrMHY2Q7nO1FxlNvGp1Zc3m9dp4ydH08qO6/Z8WO0HF+/BxAsHZzB+XV91E1ZzbLR0RdsM8ag==", "dev": true, "requires": { - "@angular-devkit/architect": "0.803.3", - "@angular-devkit/core": "8.3.3", - "@angular-devkit/schematics": "8.3.3", - "@schematics/angular": "8.3.3", - "@schematics/update": "0.803.3", + "@angular-devkit/architect": "0.803.4", + "@angular-devkit/core": "8.3.4", + "@angular-devkit/schematics": "8.3.4", + "@schematics/angular": "8.3.4", + "@schematics/update": "0.803.4", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.1", "debug": "^4.1.1", @@ -186,25 +186,25 @@ } }, "@angular/common": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-8.2.5.tgz", - "integrity": "sha512-7iSDLVhS+jbVRkECpbTzU9+6IQPS3Wl0CF73EA0sdzPbTC2GKvGfM9WLnIZZIxewkii6Wn1Yb0x0qRdWMT2STA==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-8.2.6.tgz", + "integrity": "sha512-OlU3LCPShHJEsOHS+qczY52P0kWtjJD8N7NDHaGMB6Xp8GMgItjQIeeO6yf8DJyaCIC4qk4G7jPdnQk6IE1SbQ==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-8.2.5.tgz", - "integrity": "sha512-u3OgSBTupn9DN1uDF+NmXqN7w9m6bbrIalJkwdw+kFXnXt8JpdIeJmeV2jN4wLuGp6A3sWS1ze+6u4kpFHMqTw==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-8.2.6.tgz", + "integrity": "sha512-NdTY2n0XNRmKixbKDWB++9tEDLFwN0/Bp/1lXJ4qF/8V5Wju6IJ/UZZKjR5C4uiKtF17T3GzubhXgghumt5UVA==", "requires": { "tslib": "^1.9.0" } }, "@angular/compiler-cli": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-8.2.5.tgz", - "integrity": "sha512-Q10AdqC3rPZyEU9hGuZYDJeP92tXRS4S8SloHNsYLQkXDgnWwJvA8h1DInyE+lOL7+3kZoPBgdsn99e4jpUvJg==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-8.2.6.tgz", + "integrity": "sha512-WLlBO/oGcQBKE8rYcENZQ4HgkbrmMqSNJXHLK/HnZpvbot2+mPiDXykI/p5rKdpAei/lgTU8g8GskoiDeLXsgw==", "dev": true, "requires": { "canonical-path": "1.0.0", @@ -983,55 +983,47 @@ } }, "@angular/core": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-8.2.5.tgz", - "integrity": "sha512-cBEiHhLE8VFIdB53seR+nQYNQFlNloKgD7ro26eMazvRF94wBSzO9VrD3+/XmNWdIYibU7PBaXhDCOKTe+ZSHw==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-8.2.6.tgz", + "integrity": "sha512-l+BrvPGwtPUh/rQyB9mjtonMsFEAoRHgDYWeQu/QukIZbItNdFqrhewn2zQ8Skx75BpwFLAVIVXp9ioDyvP2eQ==", "requires": { "tslib": "^1.9.0" } }, "@angular/forms": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-8.2.5.tgz", - "integrity": "sha512-USJdzopslLC7JVMu7v58SA/g0NWeQeAM16qcR4LHj+wdMbJ+5G64LdZQe9vEHRdgGpgrZU4c2ODAwDEa1MzIDA==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-8.2.6.tgz", + "integrity": "sha512-sYUspJYJGq0OaBuxgdUXPf0TwYyED9OVWNCl9jDJCW//2NAbrZG8BSujvV54Dtg2emY1Uc7EFyQ8Wc8yxS7KSg==", "requires": { "tslib": "^1.9.0" } }, "@angular/language-service": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-8.2.5.tgz", - "integrity": "sha512-F+KWf3wa1+ZN5CRu9BQP5crHY/cwB02fMIMXF/23Y+2o/orMEc1Ib/dUMxt6PuiEvhPZ0KA6iXSUd/nm/SCT9g==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-8.2.6.tgz", + "integrity": "sha512-43h8WFJsk0wK5v1AaTjvDppb0y1ReKEuOkvlcBffb+IIYM8pwuiIvMYGnjstV1jvOd80HPO5wQ8gXhutY52fpQ==", "dev": true }, - "@angular/material": { - "version": "8.1.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-8.1.4.tgz", - "integrity": "sha512-HV1qU63MaOtAc+cWg21Y2ygQKdEDjsGQ/3d3qym9sfR0xU2vvY7OG6gH48BfPeU63oMYxQkhxfoGP8wWMXSU1w==", - "requires": { - "tslib": "^1.7.1" - } - }, "@angular/platform-browser": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-8.2.5.tgz", - "integrity": "sha512-JIm4uOcgQq0oX1oTzRbQpwxFYAEYKiLi/uAPUf2CZeU2lVxMkhScAW0b8+tVFLIJ7IaVx5d2QxZ6HK81r+QSVg==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-8.2.6.tgz", + "integrity": "sha512-wUgcdTXItforNA+6qykPL9SDmV1uSIUQcEZrm3YCoVt7CuwMav3dq9Lg1zZ7HKv0A8It0fAKpXBkamzpRxvZEw==", "requires": { "tslib": "^1.9.0" } }, "@angular/platform-browser-dynamic": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.2.5.tgz", - "integrity": "sha512-4Ewg8I3T0t6/ClLt5ZFZ6ncDTqvEyI84h0K1cnNTsyoup3QKrY/FnklFbZbNl4ONVioHS6fkEg3R+xt1WthhYQ==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-8.2.6.tgz", + "integrity": "sha512-4azHzNBYYeyzIsktN2P+d0stCisOvYfxU7U0oD+FaGalxg2Ch1mGjnZA+5UcmbMZOOXo4TMcKmzpB6VcLGe+Hw==", "requires": { "tslib": "^1.9.0" } }, "@angular/router": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-8.2.5.tgz", - "integrity": "sha512-htkxrbB8rbOKIcfd0fV9KcxJGnVg8bAJ6atIMPETeI3dBORq6crzvML0B/yx6R+Ooy5e3Td3yXBsolexMxT0mg==", + "version": "8.2.6", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-8.2.6.tgz", + "integrity": "sha512-XAqhrPbU+z/ztf2b0VxFytHPJRpWfhnhCJ2qf9Tie1Cov6zOlgIKInOSF+WtsFEUZAnwSbAfGk4KSXrwBWw8zA==", "requires": { "tslib": "^1.9.0" } @@ -1877,13 +1869,31 @@ "to-fast-properties": "^2.0.0" } }, + "@clr/angular": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@clr/angular/-/angular-2.2.0.tgz", + "integrity": "sha512-+E93SBFlOZVQgZTD3lDsmdaSrv9ylE1r2siTDZeTqRtFz5W/NI055wFqVKAj3U3+/5kUYApeUEmfvSgE0cs80A==", + "requires": { + "tslib": "^1.9.0" + } + }, + "@clr/icons": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@clr/icons/-/icons-2.2.0.tgz", + "integrity": "sha512-6qh9ahGJqEpw5Mv/JvN5KMjb8A4puSgT4RkSSYJMhlk0sN/OVBz6b0I8o9KPhXYEJrZLQeK1H9PaeSdeVXb6mA==" + }, + "@clr/ui": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@clr/ui/-/ui-2.2.0.tgz", + "integrity": "sha512-nJ7eVnvAcSy+3O0HsVB482xq4lh51cjw7qRsMIehnX8VVLtdq7Stq+Av/nsrL1b1NxlsRo4DCnNOd3C024jT/Q==" + }, "@ngtools/webpack": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-8.3.3.tgz", - "integrity": "sha512-iH6NH6JSKg/Fs9LOx/fwu0kureW0yNnFzDBjLLQAPjeRT3S817P34RsAxqyBGWP5PntmScCl/T+yWyDkNnbZzA==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-8.3.4.tgz", + "integrity": "sha512-hNikQ6cjvCmA/bK8dor+oijPKF9sQAcM29FCPn3t0l3ucoVSOvbFpvtMYqlIHN5pw6WitZpImnkk2OW3o1JaDA==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.3", + "@angular-devkit/core": "8.3.4", "enhanced-resolve": "4.1.0", "rxjs": "6.4.0", "tree-kill": "1.2.1", @@ -1891,23 +1901,23 @@ } }, "@schematics/angular": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.3.tgz", - "integrity": "sha512-8dRe7mBPqesscXG56pg7bWgDz+xb8jmU/Yp6LizOL3U0EoO/QV6yuVgPkgiIMSaGQaP3PBzZ7h0xuOOogWJ6ig==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.3.4.tgz", + "integrity": "sha512-/HO6vZosULsJnwZLG9JLePyaR2g4MePrk27c3H/WbFNN4ajBePe1Mj34q6HCzje30NduLV8B3SykPnG1CoNy5Q==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.3", - "@angular-devkit/schematics": "8.3.3" + "@angular-devkit/core": "8.3.4", + "@angular-devkit/schematics": "8.3.4" } }, "@schematics/update": { - "version": "0.803.3", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.803.3.tgz", - "integrity": "sha512-CtCt+aSLR9VzKA2mwBdl6wZxK7YdRI/7LLBaRAOvk0HPGCg5tmrZy2slSv55W+9WCEHJnsRmJfkaDCoYXOvqnA==", + "version": "0.803.4", + "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.803.4.tgz", + "integrity": "sha512-ZLCUR7VpUkv3zjeOmcny3UAtwHbQLeBeDsoLYIVQZyepqk3kRPBGaW/xYwmNng04bVfMCtcTx9yrs7n4+Lt/Iw==", "dev": true, "requires": { - "@angular-devkit/core": "8.3.3", - "@angular-devkit/schematics": "8.3.3", + "@angular-devkit/core": "8.3.4", + "@angular-devkit/schematics": "8.3.4", "@yarnpkg/lockfile": "1.1.0", "ini": "1.3.5", "pacote": "9.5.5", @@ -2173,6 +2183,11 @@ "@xtuc/long": "4.2.2" } }, + "@webcomponents/custom-elements": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@webcomponents/custom-elements/-/custom-elements-1.2.4.tgz", + "integrity": "sha512-WiTlgz6/kuwajYIcgyq64rSlCtb2AvbxwwrExP3wr6rKbJ72I3hi/sb4KdGUumfC+isDn2F0btZGk4MnWpyO1Q==" + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -3081,6 +3096,14 @@ "base64-js": "^1.0.2", "ieee754": "^1.1.4", "isarray": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + } } }, "buffer-alloc": { @@ -3520,10 +3543,9 @@ "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" }, "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, "component-inherit": { "version": "0.0.3", @@ -3568,6 +3590,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true } } }, @@ -3646,6 +3674,14 @@ "dev": true, "requires": { "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "content-type": { @@ -3661,13 +3697,20 @@ "dev": true, "requires": { "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" }, "cookie-signature": { "version": "1.0.6", @@ -4271,9 +4314,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.253", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.253.tgz", - "integrity": "sha512-LAwFRWViiiCSxQ2Lj3mnyEP8atkpAoHSPUnkFoy4mNabbnPHxtfseWvPCGGhewjHQI+ky/V4LdlTyyI0d3YPXA==", + "version": "1.3.257", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.257.tgz", + "integrity": "sha512-EcKVmUeHCZelPA0wnIaSmpAN8karKhKBwFb+xLUjSVZ8sGRE1l3fst1zQZ7KJUkyJ7H5edPd4RP94pzC9sG00A==", "dev": true }, "elliptic": { @@ -4328,30 +4371,22 @@ } }, "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", - "dev": true, + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.3.2.tgz", + "integrity": "sha512-AsaA9KG7cWPXWHp5FvHdDWY3AMWeZ8x+2pUVLcn71qE5AtAzgGbxuclOytygskw8XGmiQafTmnI9Bix3uihu2w==", "requires": { "accepts": "~1.3.4", "base64id": "1.0.0", "cookie": "0.3.1", "debug": "~3.1.0", "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" + "ws": "~6.1.0" }, "dependencies": { - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -4359,27 +4394,22 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "async-limiter": "~1.0.0" } } } }, "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.3.2.tgz", + "integrity": "sha512-y0CPINnhMvPuwtqXfsGuWE8BB66+B6wTtCofQDRecMQPYX3MYUZXFNKDhdrSe3EVjgOu4V3rxdeqN/Tr91IgbQ==", "requires": { "component-emitter": "1.2.1", "component-inherit": "0.0.3", @@ -4389,22 +4419,15 @@ "indexof": "0.0.1", "parseqs": "0.0.5", "parseuri": "0.0.5", - "ws": "~3.3.1", + "ws": "~6.1.0", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" }, "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -4412,18 +4435,14 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" + "async-limiter": "~1.0.0" } } } @@ -4725,6 +4744,12 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", "dev": true }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, "debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -4745,6 +4770,12 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true } } }, @@ -5363,13 +5394,6 @@ "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", "requires": { "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - } } }, "has-cors": { @@ -5861,9 +5885,9 @@ "dev": true }, "is-absolute-url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.1.tgz", - "integrity": "sha512-c2QjUwuMxLsld90sj3xYzpFYWJtuxkIn1f5ua9RTEYJt/vV2IsM+Py00/6qjV7qExgifUvt7qfyBGBBKm+2iBg==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.2.tgz", + "integrity": "sha512-+5g/wLlcm1AcxSP7014m6GvbPHswDx980vD/3bZaap8aGV9Yfs7Q6y6tfaupgZ5O74Byzc8dGrSCJ+bFXx0KdA==", "dev": true }, "is-accessor-descriptor": { @@ -6099,10 +6123,9 @@ "dev": true }, "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" }, "isbinaryfile": { "version": "3.0.3", @@ -6576,6 +6599,48 @@ "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", "dev": true }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "engine.io": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", + "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.0", + "ws": "~3.3.1" + } + }, + "engine.io-client": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", + "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + } + }, "extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", @@ -7178,6 +7243,12 @@ "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==", "dev": true }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, "readdirp": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", @@ -7189,6 +7260,53 @@ "readable-stream": "^2.0.2" } }, + "socket.io": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", + "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "dev": true, + "requires": { + "debug": "~3.1.0", + "engine.io": "~3.2.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.1.1", + "socket.io-parser": "~3.2.0" + } + }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", + "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", + "dev": true, + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "engine.io-client": "~3.2.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.2.0", + "to-array": "0.1.4" + } + }, + "socket.io-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", + "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "dev": true, + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + } + }, "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -7204,6 +7322,25 @@ "is-number": "^3.0.0", "repeat-string": "^1.6.1" } + }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } + } } } }, @@ -7726,9 +7863,9 @@ } }, "minizlib": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.1.tgz", - "integrity": "sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.2.2.tgz", + "integrity": "sha512-hR3At21uSrsjjDTWrbu0IMLTpnkpv8IIMFDFaoz43Tmu4LkmAXfH44vNNzpTnf+OAQQCHrb91y/wc2J4x5XgSQ==", "dev": true, "requires": { "minipass": "^2.2.1" @@ -7881,149 +8018,6 @@ "zone.js": "^0.10.1" }, "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" - }, - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" - }, - "engine.io": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.3.2.tgz", - "integrity": "sha512-AsaA9KG7cWPXWHp5FvHdDWY3AMWeZ8x+2pUVLcn71qE5AtAzgGbxuclOytygskw8XGmiQafTmnI9Bix3uihu2w==", - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~6.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "engine.io-client": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.3.2.tgz", - "integrity": "sha512-y0CPINnhMvPuwtqXfsGuWE8BB66+B6wTtCofQDRecMQPYX3MYUZXFNKDhdrSe3EVjgOu4V3rxdeqN/Tr91IgbQ==", - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~6.1.0", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "socket.io": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.2.0.tgz", - "integrity": "sha512-wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w==", - "requires": { - "debug": "~4.1.0", - "engine.io": "~3.3.1", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.2.0", - "socket.io-parser": "~3.3.0" - } - }, - "socket.io-client": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.2.0.tgz", - "integrity": "sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA==", - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.3.1", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "socket.io-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", - "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } - } - }, - "ws": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", - "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", - "requires": { - "async-limiter": "~1.0.0" - } - }, "zone.js": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.2.tgz", @@ -8210,9 +8204,9 @@ } }, "npm-registry-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.0.tgz", - "integrity": "sha512-Jllq35Jag8dtv0M17ue74XtdQTyqKzuAYGiX9mAjOhkmNjib3bBUgK6mUY61+AHnXeSRobQkpY3/xIOS/omptw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.1.tgz", + "integrity": "sha512-1ZQ+yjnxc698R5h9Yje9CASapzAZr7aYDkJDdERg9xg2hOEY0vRJwskOaJAXq8N/eLavzvW4g564YAfq6zMn/A==", "dev": true, "requires": { "JSONStream": "^1.3.4", @@ -8220,7 +8214,8 @@ "figgy-pudding": "^3.4.1", "lru-cache": "^5.1.1", "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0" + "npm-package-arg": "^6.1.0", + "safe-buffer": "^5.2.0" } }, "npm-run-path": { @@ -8620,10 +8615,10 @@ } }, "parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz", + "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==", + "optional": true }, "parseqs": { "version": "0.0.5", @@ -9348,6 +9343,20 @@ "safe-buffer": "~5.1.1", "string_decoder": "~1.1.1", "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "readdir-scoped-modules": { @@ -9432,9 +9441,9 @@ } }, "regexpu-core": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz", - "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==", + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz", + "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==", "dev": true, "requires": { "regenerate": "^1.4.0", @@ -9643,9 +9652,9 @@ } }, "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" }, "safe-regex": { "version": "1.1.0", @@ -10143,34 +10152,16 @@ } }, "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", - "dev": true, + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.2.0.tgz", + "integrity": "sha512-wxXrIuZ8AILcn+f1B4ez4hJTPG24iNgxBBDaJfT6MsyOhVYiTXWexGoPkd87ktJG8kQEcL/NBvRi64+9k4Kc0w==", "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", + "debug": "~4.1.0", + "engine.io": "~3.3.1", "has-binary2": "~1.0.2", "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "socket.io-client": "2.2.0", + "socket.io-parser": "~3.3.0" } }, "socket.io-adapter": { @@ -10179,38 +10170,30 @@ "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=" }, "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.2.0.tgz", + "integrity": "sha512-56ZrkTDbdTLmBIyfFYesgOxsjcLnwAKoN4CiPyTVkMQj3zTUh0QAx3GbvIvLpFEOvQWu92yyWICxB0u7wkVbYA==", "requires": { "backo2": "1.0.2", "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", "component-emitter": "1.2.1", "debug": "~3.1.0", - "engine.io-client": "~3.2.0", + "engine.io-client": "~3.3.1", "has-binary2": "~1.0.2", "has-cors": "1.1.0", "indexof": "0.0.1", "object-component": "0.0.3", "parseqs": "0.0.5", "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", + "socket.io-parser": "~3.3.0", "to-array": "0.1.4" }, "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } @@ -10218,48 +10201,32 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", - "dev": true, + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", "requires": { "component-emitter": "1.2.1", "debug": "~3.1.0", "isarray": "2.0.1" }, "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, "debug": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, "requires": { "ms": "2.0.0" } }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -10657,23 +10624,23 @@ } }, "string.prototype.trimleft": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.0.0.tgz", - "integrity": "sha1-aLaqjhYsaoDnbjqKDC50cYbicf8=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz", + "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.0.2" + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" } }, "string.prototype.trimright": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.0.0.tgz", - "integrity": "sha1-q0pW2AKgH75yk+EehPJNyBZGYd0=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz", + "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==", "dev": true, "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.0.2" + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" } }, "string_decoder": { @@ -10683,6 +10650,14 @@ "dev": true, "requires": { "safe-buffer": "~5.1.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + } } }, "strip-ansi": { @@ -11262,6 +11237,12 @@ "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true } } }, diff --git a/Display/package.json b/Display/package.json index 67a8577..cf61368 100644 --- a/Display/package.json +++ b/Display/package.json @@ -17,18 +17,21 @@ "@angular/compiler": "~8.2.4", "@angular/core": "~8.2.4", "@angular/forms": "~8.2.4", - "@angular/material": "^8.1.4", "@angular/platform-browser": "~8.2.4", "@angular/platform-browser-dynamic": "~8.2.4", "@angular/router": "~8.2.4", "@aspnet/signalr": "^1.1.4", + "@clr/angular": "^2.2.0", "angular-highcharts": "^8.0.3", "hammerjs": "^2.0.8", "highcharts": "^7.2.0", "ngx-socket-io": "^3.0.1", "rxjs": "~6.4.0", "tslib": "^1.10.0", - "zone.js": "~0.9.1" + "zone.js": "~0.9.1", + "@clr/ui": "2.2.0", + "@clr/icons": "2.2.0", + "@webcomponents/custom-elements": "^1.0.0" }, "devDependencies": { "@angular-devkit/build-angular": "~0.803.3", diff --git a/Display/src/app/app-routing.module.ts b/Display/src/app/app-routing.module.ts index edce114..efa68c1 100644 --- a/Display/src/app/app-routing.module.ts +++ b/Display/src/app/app-routing.module.ts @@ -1,6 +1,5 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; -import { WeatherComponent } from './weather/weather.component'; import { DashboardComponent } from './dashboard/dashboard.component'; import { LaundryComponent } from './laundry/laundry.component'; import { WeatherChartsComponent } from './weather/charts/weather-charts.component'; @@ -13,22 +12,11 @@ const routes: Routes = [ }, { path: 'weather', - component: WeatherComponent, - children: [ - { - path: '', - redirectTo: 'current', - pathMatch: 'full' - }, - { - path: 'current', - component: WeatherCurrentComponent - }, - { - path: 'charts', - component: WeatherChartsComponent - } - ] + component: WeatherCurrentComponent + }, + { + path: 'weather-charts/:type', + component: WeatherChartsComponent }, { path: 'laundry', diff --git a/Display/src/app/app.component.html b/Display/src/app/app.component.html index 381ecaa..2f863f0 100644 --- a/Display/src/app/app.component.html +++ b/Display/src/app/app.component.html @@ -1,12 +1,51 @@ - - -

Home Status

- -
- Weather - Laundry +
+
+ - - - - +
+
+ +
+ +
+
+
diff --git a/Display/src/app/app.component.scss b/Display/src/app/app.component.scss index a80e4fe..00fde58 100644 --- a/Display/src/app/app.component.scss +++ b/Display/src/app/app.component.scss @@ -1,3 +1,7 @@ -.menu-spacer { - margin-right: 14px; +.app-logo { + color: white; + width: 1.2rem !important; + height: 1.2rem !important; + position: relative; + top: -2px; } diff --git a/Display/src/app/app.module.ts b/Display/src/app/app.module.ts index ec046ad..7040bd4 100644 --- a/Display/src/app/app.module.ts +++ b/Display/src/app/app.module.ts @@ -1,6 +1,8 @@ import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; -import { MatToolbarModule, MatIconModule, MatSidenavModule, MatListModule, MatButtonModule } from '@angular/material'; +import { ChartModule } from 'angular-highcharts'; +import { HttpClientModule } from '@angular/common/http'; +import { ClarityModule } from '@clr/angular'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; @@ -28,12 +30,10 @@ const config: SocketIoConfig = { url: 'http://home.kaczorzoo.net:9091', options: BrowserModule, AppRoutingModule, BrowserAnimationsModule, - MatToolbarModule, - MatSidenavModule, - MatListModule, - MatButtonModule, - MatIconModule, - SocketIoModule.forRoot(config) + SocketIoModule.forRoot(config), + ChartModule, + HttpClientModule, + ClarityModule ], providers: [], bootstrap: [AppComponent] diff --git a/Display/src/app/dashboard/dashboard.component.html b/Display/src/app/dashboard/dashboard.component.html index 9c5fce9..12be361 100644 --- a/Display/src/app/dashboard/dashboard.component.html +++ b/Display/src/app/dashboard/dashboard.component.html @@ -1 +1 @@ -

dashboard works!

+dashboard works! diff --git a/Display/src/app/laundry/laundry.component.scss b/Display/src/app/laundry/laundry.component.scss index 84605df..ebc56b3 100644 --- a/Display/src/app/laundry/laundry.component.scss +++ b/Display/src/app/laundry/laundry.component.scss @@ -1,5 +1,4 @@ .laundry-current { - margin: 10px; font-size: 14px; } diff --git a/Display/src/app/weather/charts/weather-charts.component.html b/Display/src/app/weather/charts/weather-charts.component.html index ecd34cb..09e3b15 100644 --- a/Display/src/app/weather/charts/weather-charts.component.html +++ b/Display/src/app/weather/charts/weather-charts.component.html @@ -1 +1,2 @@ -

weather-charts works!

+{{loading}} +
diff --git a/Display/src/app/weather/charts/weather-charts.component.scss b/Display/src/app/weather/charts/weather-charts.component.scss index e69de29..faa2512 100644 --- a/Display/src/app/weather/charts/weather-charts.component.scss +++ b/Display/src/app/weather/charts/weather-charts.component.scss @@ -0,0 +1,4 @@ +#chart { + height: 100%; + width: 100%; +} diff --git a/Display/src/app/weather/charts/weather-charts.component.ts b/Display/src/app/weather/charts/weather-charts.component.ts index fa38718..6060159 100644 --- a/Display/src/app/weather/charts/weather-charts.component.ts +++ b/Display/src/app/weather/charts/weather-charts.component.ts @@ -1,15 +1,84 @@ import { Component, OnInit } from '@angular/core'; +import { Chart } from 'angular-highcharts'; +import { SeriesLineOptions } from 'highcharts'; +import { HttpClient } from '@angular/common/http'; +import { WeatherValue } from 'src/app/weather/service/weather-value'; +import { ActivatedRoute, ParamMap } from '@angular/router'; @Component({ - selector: 'app-weather-charts', - templateUrl: './weather-charts.component.html', - styleUrls: ['./weather-charts.component.scss'] + selector: 'app-weather-charts', + templateUrl: './weather-charts.component.html', + styleUrls: ['./weather-charts.component.scss'] }) export class WeatherChartsComponent implements OnInit { - constructor() { } + private loading = true; - ngOnInit() { - } + constructor(private route: ActivatedRoute, private httpClient: HttpClient) { } + ngOnInit() { + this.route.params.subscribe(params => { + this.loading = true; + + const chartType = params.type; + + switch (chartType) { + case 'temperature': + this.loadChart('PressureTemperature'); + return; + + case 'humidity': + this.loadChart('Humidity'); + return; + + case 'pressure': + this.loadChart('Pressure'); + return; + } + }); + } + + private loadChart(chartType: string) { + const request = this.httpClient.get(`http://172.23.10.3/api/weather/readings/value-history?weatherValueType=${chartType}&start=2019-09-11T00:00:00-04:00&end=2019-09-12T00:00:00-04:00&bucketMinutes=5`); + + request.subscribe(data => { + const array = []; + + data.forEach(dataElement => array.push([Date.parse(dataElement.bucket), dataElement.averageValue / 100])); + + const chart = new Chart({ + chart: { + type: 'line' + }, + title: { + text: 'Linechart' + }, + credits: { + enabled: true + }, + xAxis: { + type: 'datetime', + }, + yAxis: { + labels: { + format: '{value:.2f}' + } + }, + time: { + useUTC: false + }, + tooltip: { + valueDecimals: 2 + }, + series: [ + { + name: 'Line 1', + data: array + } as SeriesLineOptions + ] + }); + + this.loading = false; + }); + } } diff --git a/Display/src/app/weather/current/weather-current.component.html b/Display/src/app/weather/current/weather-current.component.html index cd189d6..665b134 100644 --- a/Display/src/app/weather/current/weather-current.component.html +++ b/Display/src/app/weather/current/weather-current.component.html @@ -1,60 +1,58 @@ -
-
-
- Loading... -
+
+
+ Loading... +
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
- Temperature - - {{ latestReading.HumidityTemperature.toFixed(2) }}°F -
- Humidity - - {{ latestReading.Humidity.toFixed(2) }}% -
- Pressure - - {{ (latestReading.Pressure / 100).toFixed(2) }} mbar -
- Wind - - {{ latestReading.WindSpeed.toFixed(2) }} {{ latestReading.WindDirection }} -
- Rain - - {{ latestReading.Rain.toFixed(2) }} -
- Light - - {{ latestReading.LightLevel.toFixed(2) }} -
-
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ Temperature + + {{ latestReading.HumidityTemperature.toFixed(2) }}°F +
+ Humidity + + {{ latestReading.Humidity.toFixed(2) }}% +
+ Pressure + + {{ (latestReading.Pressure / 100).toFixed(2) }} mbar +
+ Wind + + {{ latestReading.WindSpeed.toFixed(2) }} {{ latestReading.WindDirection }} +
+ Rain + + {{ latestReading.Rain.toFixed(2) }} +
+ Light + + {{ latestReading.LightLevel.toFixed(2) }} +
diff --git a/Display/src/app/weather/current/weather-current.component.scss b/Display/src/app/weather/current/weather-current.component.scss index 4281c4e..57d8551 100644 --- a/Display/src/app/weather/current/weather-current.component.scss +++ b/Display/src/app/weather/current/weather-current.component.scss @@ -1,5 +1,4 @@ .weather-current { - margin: 10px; font-size: 14px; } diff --git a/Display/src/app/weather/service/weather-value.ts b/Display/src/app/weather/service/weather-value.ts new file mode 100644 index 0000000..7c2094d --- /dev/null +++ b/Display/src/app/weather/service/weather-value.ts @@ -0,0 +1,4 @@ +export class WeatherValue { + bucket: string; + averageValue: number; +} diff --git a/Display/src/app/weather/weather.component.html b/Display/src/app/weather/weather.component.html deleted file mode 100644 index f889ab2..0000000 --- a/Display/src/app/weather/weather.component.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - Current - Charts - - - - - - diff --git a/Display/src/app/weather/weather.component.scss b/Display/src/app/weather/weather.component.scss deleted file mode 100644 index 17f87c1..0000000 --- a/Display/src/app/weather/weather.component.scss +++ /dev/null @@ -1,3 +0,0 @@ -mat-sidenav { - width: 150px; -} diff --git a/Display/src/app/weather/weather.component.spec.ts b/Display/src/app/weather/weather.component.spec.ts deleted file mode 100644 index 927c663..0000000 --- a/Display/src/app/weather/weather.component.spec.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { async, ComponentFixture, TestBed } from '@angular/core/testing'; - -import { WeatherComponent } from './weather.component'; - -describe('WeatherComponent', () => { - let component: WeatherComponent; - let fixture: ComponentFixture; - - beforeEach(async(() => { - TestBed.configureTestingModule({ - declarations: [ WeatherComponent ] - }) - .compileComponents(); - })); - - beforeEach(() => { - fixture = TestBed.createComponent(WeatherComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); -}); diff --git a/Display/src/app/weather/weather.component.ts b/Display/src/app/weather/weather.component.ts deleted file mode 100644 index 3d19651..0000000 --- a/Display/src/app/weather/weather.component.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Component, OnInit } from '@angular/core'; - -@Component({ - selector: 'app-weather', - templateUrl: './weather.component.html', - styleUrls: ['./weather.component.scss'] -}) -export class WeatherComponent implements OnInit { - constructor() { } - - ngOnInit() { - } -} diff --git a/Display/tslint.json b/Display/tslint.json index f0adae9..b8dd260 100644 --- a/Display/tslint.json +++ b/Display/tslint.json @@ -28,8 +28,7 @@ "interface-name": false, "max-classes-per-file": false, "max-line-length": [ - true, - 140 + false ], "member-access": false, "member-ordering": [ @@ -89,4 +88,4 @@ "rulesDirectory": [ "codelyzer" ] -} \ No newline at end of file +}