Merge branch 'developer' of s412146/angular-develop-client into master

This commit is contained in:
Dawid Kubicki 2019-01-12 20:10:16 +00:00 committed by Gogs
commit 2263d9bd73
7 changed files with 671 additions and 292 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules/

View File

@ -22,11 +22,9 @@
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.app.json",
"assets": [
"src/favicon.ico",
"src/assets"
],
"assets": ["src/favicon.ico", "src/assets"],
"styles": [
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"src/styles.less"
],
"scripts": []
@ -82,26 +80,16 @@
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "src/karma.conf.js",
"styles": [
"src/styles.less"
],
"styles": ["src/styles.less"],
"scripts": [],
"assets": [
"src/favicon.ico",
"src/assets"
]
"assets": ["src/favicon.ico", "src/assets"]
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"src/tsconfig.app.json",
"src/tsconfig.spec.json"
],
"exclude": [
"**/node_modules/**"
]
"tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"],
"exclude": ["**/node_modules/**"]
}
}
}
@ -127,9 +115,7 @@
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": "e2e/tsconfig.e2e.json",
"exclude": [
"**/node_modules/**"
]
"exclude": ["**/node_modules/**"]
}
}
}

643
package-lock.json generated
View File

@ -15,29 +15,29 @@
}
},
"@angular-devkit/build-angular": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.11.3.tgz",
"integrity": "sha512-jFsCs4g0LLesd4bzbrwe4X7o38oo/xrLTrVeEuEPXSu5x/qEzWNhPsOAngJnXvcaILXdimXi6xr6DQazHsiuag==",
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.12.1.tgz",
"integrity": "sha512-TpaMgKECEm1Tta4jkvZVzWdbq2OakIwVyYSzZ/7ARVe0FXhEjVLgWB1pYAdhRx+Hv4/E2ZSPJW1J3N3DTE4W4Q==",
"dev": true,
"requires": {
"@angular-devkit/architect": "0.11.3",
"@angular-devkit/build-optimizer": "0.11.3",
"@angular-devkit/build-webpack": "0.11.3",
"@angular-devkit/core": "7.1.3",
"@ngtools/webpack": "7.1.3",
"ajv": "6.5.3",
"autoprefixer": "9.3.1",
"@angular-devkit/architect": "0.12.1",
"@angular-devkit/build-optimizer": "0.12.1",
"@angular-devkit/build-webpack": "0.12.1",
"@angular-devkit/core": "7.2.1",
"@ngtools/webpack": "7.2.1",
"ajv": "6.6.2",
"autoprefixer": "9.4.3",
"circular-dependency-plugin": "5.0.2",
"clean-css": "4.2.1",
"copy-webpack-plugin": "4.5.4",
"copy-webpack-plugin": "4.6.0",
"file-loader": "2.0.0",
"glob": "7.1.3",
"istanbul": "0.4.5",
"istanbul-instrumenter-loader": "3.0.1",
"karma-source-map-support": "1.3.0",
"less": "3.8.1",
"less": "3.9.0",
"less-loader": "4.1.0",
"license-webpack-plugin": "2.0.2",
"license-webpack-plugin": "2.0.4",
"loader-utils": "1.1.0",
"mini-css-extract-plugin": "0.4.4",
"minimatch": "3.0.4",
@ -63,21 +63,58 @@
"tree-kill": "1.2.0",
"webpack": "4.23.1",
"webpack-dev-middleware": "3.4.0",
"webpack-dev-server": "3.1.10",
"webpack-dev-server": "3.1.14",
"webpack-merge": "4.1.4",
"webpack-sources": "1.3.0",
"webpack-subresource-integrity": "1.1.0-rc.6"
},
"dependencies": {
"@angular-devkit/architect": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.12.1.tgz",
"integrity": "sha512-1ozBP0ZAApkSfuPpZ7b9vShU8smNxb98jW+65S12cPOxv1bVVxCj5sTmC3sSfXapgq/pMzblbaVSKOG7Ajz0vQ==",
"dev": true,
"requires": {
"@angular-devkit/core": "7.2.1",
"rxjs": "6.3.3"
}
},
"@angular-devkit/core": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.2.1.tgz",
"integrity": "sha512-zOozPswSM1cTkltw5LeSPoZ/fJ2d3vN304IVgKgrM5/Fs54bd7nTaBcAK+HvjKS+5KmykYrXW47Q4CdFJikluQ==",
"dev": true,
"requires": {
"ajv": "6.6.2",
"chokidar": "2.0.4",
"fast-json-stable-stringify": "2.0.0",
"rxjs": "6.3.3",
"source-map": "0.7.3"
}
},
"ajv": {
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
"integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
}
}
},
"@angular-devkit/build-optimizer": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.11.3.tgz",
"integrity": "sha512-CcRKITGpw1ALwLlU090ZcV1R18RTT4tCk5lP1abT3Hr+ql41HabS4GfRlCb16+ugpi4TWWibmBj3xehKGQaVYQ==",
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.12.1.tgz",
"integrity": "sha512-zYea22pJ5kvMud8UBrdzIcR9F1FDYWJ3vwj5WRUFM0sF7mbbrmTC+OsIvNI7qDJuXWNZGySwNlHw0e+rhv30gg==",
"dev": true,
"requires": {
"loader-utils": "1.1.0",
"source-map": "0.5.6",
"typescript": "3.1.6",
"typescript": "3.2.2",
"webpack-sources": "1.2.0"
},
"dependencies": {
@ -87,6 +124,12 @@
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
"dev": true
},
"typescript": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.2.2.tgz",
"integrity": "sha512-VCj5UiSyHBjwfYacmDuc/NOk4QQixbE+Wn7MFJuS0nRuPQbof132Pw4u53dm264O8LPc2MVsc7RJNml5szurkg==",
"dev": true
},
"webpack-sources": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.2.0.tgz",
@ -108,14 +151,51 @@
}
},
"@angular-devkit/build-webpack": {
"version": "0.11.3",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.11.3.tgz",
"integrity": "sha512-Sm1WkuY9JKExEkfEd16DKQhq2LLNqiTTQMX9r+FSy0GF2WW/PG21+lj9/Wb00eNSZdNYTYkgxZGHcFtDGjwvMQ==",
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.12.1.tgz",
"integrity": "sha512-eDNgR2EV9/l4xYTkvS3861TthUv8ERBroWpMkkniX3HhpyjgaLyI5P1OB7fVMcF3RvJsxIlqYGRZ6zx7PjCbcA==",
"dev": true,
"requires": {
"@angular-devkit/architect": "0.11.3",
"@angular-devkit/core": "7.1.3",
"@angular-devkit/architect": "0.12.1",
"@angular-devkit/core": "7.2.1",
"rxjs": "6.3.3"
},
"dependencies": {
"@angular-devkit/architect": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.12.1.tgz",
"integrity": "sha512-1ozBP0ZAApkSfuPpZ7b9vShU8smNxb98jW+65S12cPOxv1bVVxCj5sTmC3sSfXapgq/pMzblbaVSKOG7Ajz0vQ==",
"dev": true,
"requires": {
"@angular-devkit/core": "7.2.1",
"rxjs": "6.3.3"
}
},
"@angular-devkit/core": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.2.1.tgz",
"integrity": "sha512-zOozPswSM1cTkltw5LeSPoZ/fJ2d3vN304IVgKgrM5/Fs54bd7nTaBcAK+HvjKS+5KmykYrXW47Q4CdFJikluQ==",
"dev": true,
"requires": {
"ajv": "6.6.2",
"chokidar": "2.0.4",
"fast-json-stable-stringify": "2.0.0",
"rxjs": "6.3.3",
"source-map": "0.7.3"
}
},
"ajv": {
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
"integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
}
}
},
"@angular-devkit/core": {
@ -142,16 +222,16 @@
}
},
"@angular/animations": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.1.3.tgz",
"integrity": "sha512-l5Dnm1XFrZjkicpcCxwyqIyGflCFlEZJDZj3FCwf/Y8YUHYOlYspPbCSHj8bpPJKS9PVLM77fJCu8AZaam5iJA==",
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.1.4.tgz",
"integrity": "sha512-877LZ83scksJtflVz97CUWlSsZnxduBxPD+ls5OTrTT/bq3muzHCm8rgTO7S8fBwwrEVXLorvMAlhDPpMg5Swg==",
"requires": {
"tslib": "^1.9.0"
}
},
"@angular/cdk": {
"version": "5.2.4",
"resolved": "http://registry.npmjs.org/@angular/cdk/-/cdk-5.2.4.tgz",
"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-5.2.4.tgz",
"integrity": "sha1-wKQpqHENj+2xV/VG4hy0nUM19/c=",
"requires": {
"tslib": "^1.7.1"
@ -551,7 +631,7 @@
},
"@angular/material": {
"version": "5.2.4",
"resolved": "http://registry.npmjs.org/@angular/material/-/material-5.2.4.tgz",
"resolved": "https://registry.npmjs.org/@angular/material/-/material-5.2.4.tgz",
"integrity": "sha1-noI3mDJCg9I+qDkVb6xby3NEPVU=",
"requires": {
"tslib": "^1.7.1"
@ -742,23 +822,42 @@
}
},
"@ngtools/webpack": {
"version": "7.1.3",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.1.3.tgz",
"integrity": "sha512-WQB4La834DyRjZxT15w9IuwohgOwpJWBI5V6jWl1vBn3/oBUW5sMhq1fx/iclOLJBw8xCOl7Ni57g+H2WlK6Mg==",
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-7.2.1.tgz",
"integrity": "sha512-/mpXSyaHBP+wfiEt/ZYNsnUmnDmdUkLL1rcNxDyxMxlrL246CtNUcMzYSVqYiKp7ufz6GNklY2QqUa9pcOlW6Q==",
"dev": true,
"requires": {
"@angular-devkit/core": "7.1.3",
"@angular-devkit/core": "7.2.1",
"enhanced-resolve": "4.1.0",
"rxjs": "6.3.3",
"tree-kill": "1.2.0",
"webpack-sources": "1.2.0"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
"@angular-devkit/core": {
"version": "7.2.1",
"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-7.2.1.tgz",
"integrity": "sha512-zOozPswSM1cTkltw5LeSPoZ/fJ2d3vN304IVgKgrM5/Fs54bd7nTaBcAK+HvjKS+5KmykYrXW47Q4CdFJikluQ==",
"dev": true,
"requires": {
"ajv": "6.6.2",
"chokidar": "2.0.4",
"fast-json-stable-stringify": "2.0.0",
"rxjs": "6.3.3",
"source-map": "0.7.3"
}
},
"ajv": {
"version": "6.6.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
"integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
"dev": true,
"requires": {
"fast-deep-equal": "^2.0.1",
"fast-json-stable-stringify": "^2.0.0",
"json-schema-traverse": "^0.4.1",
"uri-js": "^4.2.2"
}
},
"webpack-sources": {
"version": "1.2.0",
@ -768,6 +867,14 @@
"requires": {
"source-list-map": "^2.0.0",
"source-map": "~0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
}
}
@ -832,6 +939,31 @@
"integrity": "sha512-4GbNCDs98uHCT/OMv40qQC/OpoPbYn9XdXeTiFwHBBFO6eJhYEPUu2zDKirXSbHlvDV8oZ9l8EQ+HrEx/YS9DQ==",
"dev": true
},
"@types/source-list-map": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz",
"integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==",
"dev": true
},
"@types/webpack-sources": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.5.tgz",
"integrity": "sha512-zfvjpp7jiafSmrzJ2/i3LqOyTYTuJ7u1KOXlKgDlvsj9Rr0x7ZiYu5lZbXwobL7lmsRNtPXlBfmaUD8eU2Hu8w==",
"dev": true,
"requires": {
"@types/node": "*",
"@types/source-list-map": "*",
"source-map": "^0.6.1"
},
"dependencies": {
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
}
}
},
"@webassemblyjs/ast": {
"version": "1.7.10",
"resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.7.10.tgz",
@ -1379,17 +1511,67 @@
"dev": true
},
"autoprefixer": {
"version": "9.3.1",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.3.1.tgz",
"integrity": "sha512-DY9gOh8z3tnCbJ13JIWaeQsoYncTGdsrgCceBaQSIL4nvdrLxgbRSBPevg2XbX7u4QCSfLheSJEEIUUSlkbx6Q==",
"version": "9.4.3",
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.3.tgz",
"integrity": "sha512-/XSnzDepRkAU//xLcXA/lUWxpsBuw0WiriAHOqnxkuCtzLhaz+fL4it4gp20BQ8n5SyLzK/FOc7A0+u/rti2FQ==",
"dev": true,
"requires": {
"browserslist": "^4.3.3",
"caniuse-lite": "^1.0.30000898",
"browserslist": "^4.3.6",
"caniuse-lite": "^1.0.30000921",
"normalize-range": "^0.1.2",
"num2fraction": "^1.2.2",
"postcss": "^7.0.5",
"postcss": "^7.0.6",
"postcss-value-parser": "^3.3.1"
},
"dependencies": {
"chalk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
"dev": true,
"requires": {
"ansi-styles": "^3.2.1",
"escape-string-regexp": "^1.0.5",
"supports-color": "^5.3.0"
},
"dependencies": {
"supports-color": {
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"postcss": {
"version": "7.0.10",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.10.tgz",
"integrity": "sha512-wuaQVkYI+mgMud6UwID/XX9w0Zf1Rh/ZHK0rIz0o08q3rUaPrezdl/oJD9aWma4Pw6q7mgRBJQS4xA1yZAHptA==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"source-map": "^0.6.1",
"supports-color": "^6.1.0"
}
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
"dev": true
},
"supports-color": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
"integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
"dev": true,
"requires": {
"has-flag": "^3.0.0"
}
}
}
},
"aws-sign2": {
@ -1731,6 +1913,11 @@
"multicast-dns-service-types": "^1.1.0"
}
},
"bootstrap": {
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-3.3.7.tgz",
"integrity": "sha1-WjiTlFSfIzMIdaOxUGVldPip63E="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -1848,14 +2035,14 @@
}
},
"browserslist": {
"version": "4.3.6",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.3.6.tgz",
"integrity": "sha512-kMGKs4BTzRWviZ8yru18xBpx+CyHG9eqgRbj9XbE3IMgtczf4aiA0Y1YCpVdvUieKGZ03kolSPXqTcscBCb9qw==",
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.4.0.tgz",
"integrity": "sha512-tQkHS8VVxWbrjnNDXgt7/+SuPJ7qDvD0Y2e6bLtoQluR2SPvlmPUcfcU75L1KAalhqULlIFJlJ6BDfnYyJxJsw==",
"dev": true,
"requires": {
"caniuse-lite": "^1.0.30000921",
"electron-to-chromium": "^1.3.92",
"node-releases": "^1.1.1"
"caniuse-lite": "^1.0.30000928",
"electron-to-chromium": "^1.3.100",
"node-releases": "^1.1.3"
}
},
"browserstack": {
@ -2005,9 +2192,9 @@
}
},
"caniuse-lite": {
"version": "1.0.30000921",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000921.tgz",
"integrity": "sha512-Bu09ciy0lMWLgpYC77I0YGuI8eFRBPPzaSOYJK1jTI64txCphYCqnWbxJYjHABYVt/TYX/p3jNjLBR87u1Bfpw==",
"version": "1.0.30000928",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000928.tgz",
"integrity": "sha512-aSpMWRXL6ZXNnzm8hgE4QDLibG5pVJ2Ujzsuj3icazlIkxXkPXtL+BWnMx6FBkWmkZgBHGUxPZQvrbRw2ZTxhg==",
"dev": true
},
"canonical-path": {
@ -2039,6 +2226,49 @@
"integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
"dev": true
},
"chart": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/chart/-/chart-0.1.2.tgz",
"integrity": "sha1-adnpFsJqi+2Fsp34Asdjq1KX0xg=",
"requires": {
"hashish": "^0.0.4",
"hat": "^0.0.3",
"mrcolor": "https://github.com/rook2pawn/mrcolor/archive/master.tar.gz"
}
},
"chart.js": {
"version": "2.7.3",
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.3.tgz",
"integrity": "sha512-3+7k/DbR92m6BsMUYP6M0dMsMVZpMnwkUyNSAbqolHKsbIzH2Q4LWVEHHYq7v0fmEV8whXE0DrjANulw9j2K5g==",
"requires": {
"chartjs-color": "^2.1.0",
"moment": "^2.10.2"
}
},
"chartjs-color": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.2.0.tgz",
"integrity": "sha1-hKL7dVeH7YXDndbdjHsdiEKbrq4=",
"requires": {
"chartjs-color-string": "^0.5.0",
"color-convert": "^0.5.3"
},
"dependencies": {
"color-convert": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz",
"integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0="
}
}
},
"chartjs-color-string": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz",
"integrity": "sha512-amWNvCOXlOUYxZVDSa0YOab5K/lmEhbFNKI55PWc4mlv28BDzA7zaoQTGxSBgJMHIW+hGX8YUrvw/FH4LyhwSQ==",
"requires": {
"color-name": "^1.0.0"
}
},
"chokidar": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
@ -2243,8 +2473,7 @@
"color-name": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
},
"colors": {
"version": "1.1.2",
@ -2384,9 +2613,9 @@
}
},
"connect-history-api-fallback": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
"integrity": "sha1-sGhzk0vF40T+9hGhlqb6rgruAVo=",
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz",
"integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==",
"dev": true
},
"console-browserify": {
@ -2464,9 +2693,9 @@
"dev": true
},
"copy-webpack-plugin": {
"version": "4.5.4",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.5.4.tgz",
"integrity": "sha512-0lstlEyj74OAtYMrDxlNZsU7cwFijAI3Ofz2fD6Mpo9r4xCv4yegfa3uHIKvZY1NSuOtE9nvG6TAhJ+uz9gDaQ==",
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz",
"integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==",
"dev": true,
"requires": {
"cacache": "^10.0.4",
@ -2873,12 +3102,11 @@
}
},
"dir-glob": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
"integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.1.tgz",
"integrity": "sha512-UN6X6XwRjllabfRhBdkVSo63uurJ8nSvMGrwl94EYVz6g+exhTV+yVSYk5VC/xl3MBFBTtC0J20uFKce4Brrng==",
"dev": true,
"requires": {
"arrify": "^1.0.1",
"path-type": "^3.0.0"
}
},
@ -2954,9 +3182,9 @@
"dev": true
},
"electron-to-chromium": {
"version": "1.3.92",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.92.tgz",
"integrity": "sha512-En051LMzMl3/asMWGZEtU808HOoVWIpmmZx1Ep8N+TT9e7z/X8RcLeBU2kLSNLGQ+5SuKELzMx+MVuTBXk6Q9w==",
"version": "1.3.102",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.102.tgz",
"integrity": "sha512-2nzZuXw/KBPnI3QX3UOCSRvJiVy7o9+VHRDQ3D/EHCvVc89X6aj/GlNmEgiR2GBIhmSWXIi4W1M5okA5ScSlNg==",
"dev": true
},
"elliptic": {
@ -4576,9 +4804,9 @@
"dev": true
},
"handle-thing": {
"version": "1.2.5",
"resolved": "http://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz",
"integrity": "sha1-/Xqtcmvxpf0W38KbL3pmAdJxOcQ=",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.0.tgz",
"integrity": "sha512-d4sze1JNC454Wdo2fkuyzCr6aHcbL6PGGuFAz0Li/NcOm1tCHGnWDRmJP85dh9IhQErTc2svWFEX5xHIOo//kQ==",
"dev": true
},
"handlebars": {
@ -4736,6 +4964,19 @@
"minimalistic-assert": "^1.0.1"
}
},
"hashish": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz",
"integrity": "sha1-bWC8b/r3Ebav1g5CbQd5iAFOZVQ=",
"requires": {
"traverse": ">=0.2.4"
}
},
"hat": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz",
"integrity": "sha1-uwFKnmSzeIrtgAWRdBPU/z1QLYo="
},
"hmac-drbg": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
@ -4995,9 +5236,9 @@
}
},
"p-limit": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
"integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
"integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
@ -5758,9 +5999,9 @@
"dev": true
},
"js-base64": {
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.4.9.tgz",
"integrity": "sha512-xcinL3AuDJk7VSzsHgb9DvvIXayBbadtMZ4HFPx8rUszbW1MuNMlwYVC4zzCZ6e1sqZpnNS5ZFYOhXqA39T7LQ==",
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.5.0.tgz",
"integrity": "sha512-wlEBIZ5LP8usDylWbDNhKPEFVFdI5hCHpnVoT/Ysvoi/PRhJENm/Rlh9TvjYB38HFfKZN7OzEbRjmjvLkFw11g==",
"dev": true,
"optional": true
},
@ -6023,9 +6264,9 @@
}
},
"less": {
"version": "3.8.1",
"resolved": "https://registry.npmjs.org/less/-/less-3.8.1.tgz",
"integrity": "sha512-8HFGuWmL3FhQR0aH89escFNBQH/nEiYPP2ltDFdQw2chE28Yx2E3lhAIq9Y2saYwLSwa699s4dBVEfCY8Drf7Q==",
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/less/-/less-3.9.0.tgz",
"integrity": "sha512-31CmtPEZraNUtuUREYjSqRkeETFdyEHSEPAGq4erDlUXtda7pzNmctdljdIagSb589d/qXGWiiP31R5JVf+v0w==",
"dev": true,
"requires": {
"clone": "^2.1.2",
@ -6070,11 +6311,12 @@
}
},
"license-webpack-plugin": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.2.tgz",
"integrity": "sha512-GsomZw5VoT20ST8qH2tOjBgbyhn6Pgs9M94g0mbvfBIV1VXufm1iKY+4dbgfTObj1Mp6nSRE3Zf74deOZr0KwA==",
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.0.4.tgz",
"integrity": "sha512-FQgOqrrIcD4C/VQo6ecWgXZULK5rs0kIDJtHcSVO6SBUrD63kEHZwmKOvBTquFQSgMQn/yeH68qooKDfqiBF2Q==",
"dev": true,
"requires": {
"@types/webpack-sources": "^0.1.5",
"webpack-sources": "^1.2.0"
}
},
@ -6647,6 +6889,11 @@
"minimist": "0.0.8"
}
},
"moment": {
"version": "2.23.0",
"resolved": "https://registry.npmjs.org/moment/-/moment-2.23.0.tgz",
"integrity": "sha512-3IE39bHVqFbWWaPOMHZF98Q9c3LDKGTmypMiTM2QygGXXElkFWIH7GxfmlwmY2vwa+wmNsoYZmG2iusf1ZjJoA=="
},
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@ -6661,6 +6908,20 @@
"run-queue": "^1.0.3"
}
},
"mrcolor": {
"version": "https://github.com/rook2pawn/mrcolor/archive/master.tar.gz",
"integrity": "sha512-feteSepg0FRp0fW3RafigAjU7gXiiaa4OlMW39FEmcvQPbD7Zlpc2PSu4hVBPSBR4XNee8n6EjCTfK0O37DL5A==",
"requires": {
"color-convert": "0.2.x"
},
"dependencies": {
"color-convert": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.2.1.tgz",
"integrity": "sha1-NjyrI8lLMaDWTbcQSLjGqUD4xow="
}
}
},
"ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@ -6820,9 +7081,9 @@
}
},
"node-releases": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.1.tgz",
"integrity": "sha512-2UXrBr6gvaebo5TNF84C66qyJJ6r0kxBObgZIDX3D3/mt1ADKiHux3NJPWisq0wxvJJdkjECH+9IIKYViKj71Q==",
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.3.tgz",
"integrity": "sha512-6VrvH7z6jqqNFY200kdB6HdzkgM96Oaj9v3dqGfgp6mF+cHmU4wyQKZ2/WPDRVoR0Jz9KqbamaBN0ZhdUaysUQ==",
"dev": true,
"requires": {
"semver": "^5.3.0"
@ -8621,9 +8882,9 @@
}
},
"serialize-javascript": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.5.0.tgz",
"integrity": "sha512-Ga8c8NjAAp46Br4+0oZ2WxJCwIzwP60Gq1YPgU+39PiTVxyed/iKE/zyZI6+UlVYH5Q4PaQdHhcegIFPZTUfoQ==",
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.6.1.tgz",
"integrity": "sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==",
"dev": true
},
"serve-index": {
@ -9151,32 +9412,75 @@
"dev": true
},
"spdy": {
"version": "3.4.7",
"resolved": "https://registry.npmjs.org/spdy/-/spdy-3.4.7.tgz",
"integrity": "sha1-Qv9B7OXMD5mjpsKKq7c/XDsDrLw=",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.0.tgz",
"integrity": "sha512-ot0oEGT/PGUpzf/6uk4AWLqkq+irlqHXkrdbk51oWONh3bxQmBuljxPNl66zlRRcIJStWq0QkLUCPOPjgjvU0Q==",
"dev": true,
"requires": {
"debug": "^2.6.8",
"handle-thing": "^1.2.5",
"debug": "^4.1.0",
"handle-thing": "^2.0.0",
"http-deceiver": "^1.2.7",
"safe-buffer": "^5.0.1",
"select-hose": "^2.0.0",
"spdy-transport": "^2.0.18"
"spdy-transport": "^3.0.0"
},
"dependencies": {
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
}
}
},
"spdy-transport": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-2.1.1.tgz",
"integrity": "sha512-q7D8c148escoB3Z7ySCASadkegMmUZW8Wb/Q1u0/XBgDKMO880rLQDj8Twiew/tYi7ghemKUi/whSYOwE17f5Q==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
"integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
"dev": true,
"requires": {
"debug": "^2.6.8",
"detect-node": "^2.0.3",
"debug": "^4.1.0",
"detect-node": "^2.0.4",
"hpack.js": "^2.1.6",
"obuf": "^1.1.1",
"readable-stream": "^2.2.9",
"safe-buffer": "^5.0.1",
"wbuf": "^1.7.2"
"obuf": "^1.1.2",
"readable-stream": "^3.0.6",
"wbuf": "^1.7.3"
},
"dependencies": {
"debug": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
"integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
"dev": true,
"requires": {
"ms": "^2.1.1"
}
},
"ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
"dev": true
},
"readable-stream": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.1.1.tgz",
"integrity": "sha512-DkN66hPyqDhnIQ6Jcsvx9bFjhw214O4poMBcIMgPVpQvNy9a0e0Uhg5SqySyDKAmUlwt8LonTBz1ezOnM8pUdA==",
"dev": true,
"requires": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
}
}
}
},
"speed-measure-webpack-plugin": {
@ -9491,9 +9795,9 @@
}
},
"terser": {
"version": "3.11.0",
"resolved": "https://registry.npmjs.org/terser/-/terser-3.11.0.tgz",
"integrity": "sha512-5iLMdhEPIq3zFWskpmbzmKwMQixKmTYwY3Ox9pjtSklBLnHiuQ0GKJLhL1HSYtyffHM3/lDIFBnb82m9D7ewwQ==",
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/terser/-/terser-3.14.1.tgz",
"integrity": "sha512-NSo3E99QDbYSMeJaEk9YW2lTg3qS9V0aKGlb+PlOrei1X02r1wSBHCNX/O+yeTRFSWPKPIGj6MqvvdqV4rnVGw==",
"dev": true,
"requires": {
"commander": "~2.17.1",
@ -9526,24 +9830,24 @@
},
"dependencies": {
"cacache": {
"version": "11.3.1",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.1.tgz",
"integrity": "sha512-2PEw4cRRDu+iQvBTTuttQifacYjLPhET+SYO/gEFMy8uhi+jlJREDAjSF5FWSdV/Aw5h18caHA7vMTw2c+wDzA==",
"version": "11.3.2",
"resolved": "https://registry.npmjs.org/cacache/-/cacache-11.3.2.tgz",
"integrity": "sha512-E0zP4EPGDOaT2chM08Als91eYnf8Z+eH1awwwVsngUmgppfM5jjJ8l3z5vO5p5w/I3LsiXawb1sW0VY65pQABg==",
"dev": true,
"requires": {
"bluebird": "^3.5.1",
"chownr": "^1.0.1",
"figgy-pudding": "^3.1.0",
"glob": "^7.1.2",
"graceful-fs": "^4.1.11",
"lru-cache": "^4.1.3",
"bluebird": "^3.5.3",
"chownr": "^1.1.1",
"figgy-pudding": "^3.5.1",
"glob": "^7.1.3",
"graceful-fs": "^4.1.15",
"lru-cache": "^5.1.1",
"mississippi": "^3.0.0",
"mkdirp": "^0.5.1",
"move-concurrently": "^1.0.1",
"promise-inflight": "^1.0.1",
"rimraf": "^2.6.2",
"ssri": "^6.0.0",
"unique-filename": "^1.1.0",
"ssri": "^6.0.1",
"unique-filename": "^1.1.1",
"y18n": "^4.0.0"
}
},
@ -9577,6 +9881,15 @@
"path-exists": "^3.0.0"
}
},
"lru-cache": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"requires": {
"yallist": "^3.0.2"
}
},
"mississippi": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
@ -9596,9 +9909,9 @@
}
},
"p-limit": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
"integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
"integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
@ -9652,6 +9965,12 @@
"requires": {
"figgy-pudding": "^3.5.1"
}
},
"yallist": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.3.tgz",
"integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==",
"dev": true
}
}
},
@ -9773,6 +10092,11 @@
}
}
},
"traverse": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
},
"tree-kill": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz",
@ -10363,9 +10687,9 @@
}
},
"webpack-dev-server": {
"version": "3.1.10",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.10.tgz",
"integrity": "sha512-RqOAVjfqZJtQcB0LmrzJ5y4Jp78lv9CK0MZ1YJDTaTmedMZ9PU9FLMQNrMCfVu8hHzaVLVOJKBlGEHMN10z+ww==",
"version": "3.1.14",
"resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.1.14.tgz",
"integrity": "sha512-mGXDgz5SlTxcF3hUpfC8hrQ11yhAttuUQWf1Wmb+6zo3x6rb7b9mIfuQvAPLdfDRCGRGvakBWHdHOa0I9p/EVQ==",
"dev": true,
"requires": {
"ansi-html": "0.0.7",
@ -10387,12 +10711,14 @@
"portfinder": "^1.0.9",
"schema-utils": "^1.0.0",
"selfsigned": "^1.9.1",
"semver": "^5.6.0",
"serve-index": "^1.7.2",
"sockjs": "0.3.19",
"sockjs-client": "1.3.0",
"spdy": "^3.4.1",
"spdy": "^4.0.0",
"strip-ansi": "^3.0.0",
"supports-color": "^5.1.0",
"url": "^0.11.0",
"webpack-dev-middleware": "3.4.0",
"webpack-log": "^2.0.0",
"yargs": "12.0.2"
@ -10432,6 +10758,19 @@
}
}
},
"cross-spawn": {
"version": "6.0.5",
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
"integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
"dev": true,
"requires": {
"nice-try": "^1.0.4",
"path-key": "^2.0.1",
"semver": "^5.5.0",
"shebang-command": "^1.2.0",
"which": "^1.2.9"
}
},
"debug": {
"version": "3.2.6",
"resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
@ -10450,6 +10789,21 @@
"xregexp": "4.0.0"
}
},
"execa": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
"integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
"dev": true,
"requires": {
"cross-spawn": "^6.0.0",
"get-stream": "^4.0.0",
"is-stream": "^1.1.0",
"npm-run-path": "^2.0.0",
"p-finally": "^1.0.0",
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
}
},
"find-up": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
@ -10459,6 +10813,15 @@
"locate-path": "^3.0.0"
}
},
"get-stream": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
"integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
"dev": true,
"requires": {
"pump": "^3.0.0"
}
},
"invert-kv": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
@ -10497,20 +10860,20 @@
"dev": true
},
"os-locale": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz",
"integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
"integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
"dev": true,
"requires": {
"execa": "^0.10.0",
"execa": "^1.0.0",
"lcid": "^2.0.0",
"mem": "^4.0.0"
}
},
"p-limit": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz",
"integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.1.0.tgz",
"integrity": "sha512-NhURkNcrVB+8hNfLuysU8enY5xn2KXphsHBaC2YmRNTZRc7RWusw6apSpdEj3jo4CMb6W9nrF6tTnsJsJeyu6g==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
@ -10531,6 +10894,22 @@
"integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==",
"dev": true
},
"pump": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
}
},
"semver": {
"version": "5.6.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
"integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
"dev": true
},
"string-width": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",

View File

@ -11,16 +11,19 @@
},
"private": true,
"dependencies": {
"@angular/animations": "~7.1.0",
"@angular/cdk": "5.2.4",
"@angular/animations": "^7.1.4",
"@angular/cdk": "^5.2.4",
"@angular/common": "~7.1.0",
"@angular/compiler": "~7.1.0",
"@angular/core": "~7.1.0",
"@angular/forms": "~7.1.0",
"@angular/material": "5.2.4",
"@angular/material": "^5.2.4",
"@angular/platform-browser": "~7.1.0",
"@angular/platform-browser-dynamic": "~7.1.0",
"@angular/router": "~7.1.0",
"bootstrap": "^3.3.7",
"chart": "^0.1.2",
"chart.js": "^2.7.3",
"core-js": "^2.5.4",
"rxjs": "~6.3.3",
"rxjs-compat": "^6.3.3",
@ -28,13 +31,13 @@
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.11.0",
"@angular-devkit/build-angular": "^0.12.1",
"@angular/cli": "~7.1.3",
"@angular/compiler-cli": "~7.1.0",
"@angular/language-service": "~7.1.0",
"@types/node": "~8.9.4",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.5.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",

View File

@ -8,9 +8,10 @@ import "rxjs/Rx";
})
export class StatusService {
private url_pilkarzyki1 =
"http://localhost:3000/chillroom-server?ip=http://192.168.8.106/json";
"http://localhost:3000/chillroom-server?ip=192.168.8.107";
private url_db = "http://localhost:3000/all";
private status_url = "http://localhost:3000/status/";
constructor(private http: HttpClient) {}
@ -20,4 +21,7 @@ export class StatusService {
getDB(): Observable<any> {
return this.http.get(this.url_db);
}
getStatus(ip: string): Observable<any> {
return this.http.get(this.status_url + ip);
}
}

View File

@ -1,81 +1,67 @@
<div class="lists">
<span>Wybierz urządzenie:</span>
</div>
<div class="lists"><span>Wybierz urządzenie:</span></div>
<div class="machine-list">
<div class="row row-list">
<div class="col-md-3 col-xs-3">
<button class="room-button" style="color: green; border-color: green;">
PLAYSTATION
<div class="col-md-3 col-xs-3" *ngFor="let device of devices">
<button
class="room-button"
[ngStyle]="{
color: device.lastStatus == 1 ? 'red' : 'green',
borderColor: device.lastStatus == 1 ? 'red' : 'green'
}"
>
{{ device.name }}
</button>
</div>
<div class="col-md-3 col-xs-3">
<button class="room-button">
PIŁKARZYKI 1
</button >
</div>
<div class="col-md-3 col-xs-3">
<button class="room-button">
PIŁKARZYKI 2
</button>
</div>
<div class="col-md-3 col-xs-3">
<button class="room-button">
DART
</button>
</div>
{{ device.lastStatus == 1 ? "Zajęte" : "Wolne" }}
</div>
</div>
</div>
<div class="row machine-row">
<div class="col-md-5 col-xs-11">
<p class="text-center machine-text">
- <span>Playstation</span> -
- <span>{{ activeDevice.name }}</span> -
</p>
<p class="machine-status">
Status: <img src="../assets/img/busy.png" alt="{{status}}">
<span>Zajęte</span>
Status:
<img
[src]="
activeDevice.lastStatus == 1
? '../assets/img/busy.png'
: '../assets/img/free.png'
"
alt=""
/>
<span>{{ activeDevice.lastStatus == 1 ? "Zajęte" : "Wolne" }}</span>
</p>
<p class="machine-status2">
Zajęte od: <span>23 min</span>
<p *ngIf="activeDevice.lastStatus == 1" class="machine-status2">
Zajęte od: <span>{{ this.time }}</span>
</p>
</div>
<div class="col-md-7 col-xs-1">
<img class="machine-image" src="../assets/img/football2.jpg" alt="{{status}}">
<img
class="machine-image"
src="../assets/img/football2.jpg"
alt="{{ status }}"
/>
</div>
</div>
<div class="row statistics-row">
<div class="col-md-6 stat-wrapper">
<p class="stat-text">
<span>Statystyki szczegółowe:</span>
</p>
<p class="stat-text"><span>Statystyki szczegółowe:</span></p>
<ul class="list-group">
<p style="margin-bottom:15px">
<span>Średni czas gry: </span> <span class="boldMe">23</span
><span> min</span><br />
</p>
<p style="margin-bottom:15px"> <span>Średni czas gry: </span> <span class="boldMe">23</span><span> min</span><br/></p>
<span>Przewidywane zakończenie: </span> <span class="boldMe">10</span><span> min</span>
<span>Przewidywane zakończenie: </span>
<span class="boldMe">10</span
><span> min</span>
</ul>
</div>
</div>
<div class="row">
<div id="tabel" class="col-md-6">
<canvas id="lineChart"></canvas>
<div id="tabel" class="col-md-6"><canvas id="lineChart"></canvas></div>
<div id="tabel" class="col-md-6"><canvas id="barChart"></canvas></div>
</div>
<div id="tabel" class="col-md-6">
<canvas id="barChart"></canvas>
</div>
</div>

View File

@ -2,7 +2,7 @@ import { Component, OnInit } from "@angular/core";
import { StatusService } from "../shared/status/status.service";
import { Observable } from "rxjs";
import { Time } from "@angular/common";
import {Chart} from 'chart.js';
import { Chart } from "chart.js";
@Component({
selector: "app-status-list",
@ -14,78 +14,100 @@ export class StatusListComponent implements OnInit {
//statusesKeys = Object.keys(this.statuses);
LineChart = [];
BarChart = [];
devices = [];
activeDevice = { name: "", lastStatus: "", ip: "", _id: "" };
time = 0;
ngOnInit() {
this.statusService.getDB().subscribe(data => {
this.devices = data;
this.activeDevice = this.devices[0];
this.statusService.getStatus(this.activeDevice._id).subscribe(status => {
const index = status.findIndex(item => {
return item.value != status[0].value;
});
const newStatus = status.splice(0, index);
const first = new Date(newStatus[0].time).getTime();
const last = new Date(newStatus[newStatus.length - 1].time).getTime();
const time = first - last;
this.time = time / 1000;
console.log(time);
});
});
setInterval(
() =>
this.statusService.getDB().subscribe(data => {
this.devices = data;
}),
1000
);
this.LineChart = new Chart('lineChart', {
this.showChart();
}
type: 'line',
showChart() {
this.LineChart = new Chart("lineChart", {
type: "line",
data: {
labels: ["8:00", "10:00", "12:00", "14:00", "16:00"],
datasets: [{
label: 'Ruch w ciągu dnia',
datasets: [
{
label: "Ruch w ciągu dnia",
data: [6, 7, 8, 5, 4],
fill: false,
lineTension: 0.2,
borderColor:'rgba(75,192,192,0.6)',
borderColor: "rgba(75,192,192,0.6)",
borderWidth: 1
}]
}
]
},
scales: {
yAxes: [{
yAxes: [
{
ticks: {
beginAtZero: true
}
}]
}
]
}
});
this.BarChart = new Chart('barChart', {
type: 'bar',
this.BarChart = new Chart("barChart", {
type: "bar",
data: {
labels: ["Jan", "Feb", "March", "Apr", "May"],
datasets: [{
label: 'Rozegranych gier',
datasets: [
{
label: "Rozegranych gier",
data: [60, 70, 80, 50, 40],
fill: true,
lineTension: 0.2,
borderColor: "white",
borderWidth: 1,
backgroundColor: [
'rgba(255,99,132,0.6)',
'rgba(54,162,235,0.6)',
'rgba(255,206,86,0.6)',
'rgba(75,192,192,0.6)',
'rgba(153,102,255,0.6)',
],
}]
"rgba(255,99,132,0.6)",
"rgba(54,162,235,0.6)",
"rgba(255,206,86,0.6)",
"rgba(75,192,192,0.6)",
"rgba(153,102,255,0.6)"
]
}
]
},
scales: {
yAxes: [{
yAxes: [
{
ticks: {
beginAtZero: true
}
}]
}
]
}
});
setInterval(
() => this.statusService.getPilkarzyki1().subscribe(this.readSensors),
1000
);
this.statusService.getDB().subscribe(data => {
console.log(data);
});
}
constructor(private statusService: StatusService) {}
readSensors = data => {
@ -95,6 +117,4 @@ export class StatusListComponent implements OnInit {
//this.statusesKeys = Object.keys(this.statuses);
//this.statuses = [JSON.parse(data)];
};
}