Removed unused frontend Stats module
This commit is contained in:
parent
3d0a4648d3
commit
703d07e636
73
frontend/package-lock.json
generated
73
frontend/package-lock.json
generated
@ -1074,14 +1074,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"@types/chart.js": {
|
|
||||||
"version": "2.9.24",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/chart.js/-/chart.js-2.9.24.tgz",
|
|
||||||
"integrity": "sha512-AQI7X+ow3SaONl44JrHoL/5B+lCsJyG31UHZ5RP98Uh15hI/zjEkDsAb4EIm4P9TGfNhZLXw/nMc5w0u10+/fQ==",
|
|
||||||
"requires": {
|
|
||||||
"moment": "^2.10.2"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"@types/color-name": {
|
"@types/color-name": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
|
||||||
@ -3291,13 +3283,15 @@
|
|||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
|
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"is-glob": {
|
"is-glob": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
|
||||||
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
|
"integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-extglob": "^2.1.1"
|
"is-extglob": "^2.1.1"
|
||||||
}
|
}
|
||||||
@ -7717,7 +7711,8 @@
|
|||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
|
||||||
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
|
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"string-width": {
|
"string-width": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
@ -7735,6 +7730,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
|
||||||
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
|
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ansi-regex": "^3.0.0"
|
"ansi-regex": "^3.0.0"
|
||||||
}
|
}
|
||||||
@ -10750,7 +10746,8 @@
|
|||||||
"version": "2.2.2",
|
"version": "2.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
|
||||||
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
|
"integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"pify": {
|
"pify": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
@ -12361,7 +12358,8 @@
|
|||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz",
|
||||||
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
|
"integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"rx-lite-aggregates": {
|
"rx-lite-aggregates": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
@ -14409,14 +14407,6 @@
|
|||||||
"pc-bootstrap4-datetimepicker": "^4.17.50"
|
"pc-bootstrap4-datetimepicker": "^4.17.50"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"vue-chartjs": {
|
|
||||||
"version": "3.5.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-3.5.1.tgz",
|
|
||||||
"integrity": "sha512-foocQbJ7FtveICxb4EV5QuVpo6d8CmZFmAopBppDIGKY+esJV8IJgwmEW0RexQhxqXaL/E1xNURsgFFYyKzS/g==",
|
|
||||||
"requires": {
|
|
||||||
"@types/chart.js": "^2.7.55"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"vue-eslint-parser": {
|
"vue-eslint-parser": {
|
||||||
"version": "2.0.3",
|
"version": "2.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz",
|
||||||
@ -14611,13 +14601,15 @@
|
|||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
|
||||||
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
|
"integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"array-unique": {
|
"array-unique": {
|
||||||
"version": "0.3.2",
|
"version": "0.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
|
||||||
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
|
"integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"binary-extensions": {
|
"binary-extensions": {
|
||||||
"version": "1.13.1",
|
"version": "1.13.1",
|
||||||
@ -14631,6 +14623,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
|
||||||
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
|
"integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"arr-flatten": "^1.1.0",
|
"arr-flatten": "^1.1.0",
|
||||||
"array-unique": "^0.3.2",
|
"array-unique": "^0.3.2",
|
||||||
@ -14649,6 +14642,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-extendable": "^0.1.0"
|
"is-extendable": "^0.1.0"
|
||||||
}
|
}
|
||||||
@ -14681,6 +14675,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
@ -14690,6 +14685,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
|
||||||
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
|
"integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "^2.3.3",
|
"debug": "^2.3.3",
|
||||||
"define-property": "^0.2.5",
|
"define-property": "^0.2.5",
|
||||||
@ -14705,6 +14701,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
|
"resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
|
||||||
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
|
"integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-descriptor": "^0.1.0"
|
"is-descriptor": "^0.1.0"
|
||||||
}
|
}
|
||||||
@ -14714,6 +14711,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-extendable": "^0.1.0"
|
"is-extendable": "^0.1.0"
|
||||||
}
|
}
|
||||||
@ -14723,6 +14721,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
|
||||||
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
|
"integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"kind-of": "^3.0.2"
|
"kind-of": "^3.0.2"
|
||||||
},
|
},
|
||||||
@ -14732,6 +14731,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
||||||
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-buffer": "^1.1.5"
|
"is-buffer": "^1.1.5"
|
||||||
}
|
}
|
||||||
@ -14743,6 +14743,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
|
||||||
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
|
"integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"kind-of": "^3.0.2"
|
"kind-of": "^3.0.2"
|
||||||
},
|
},
|
||||||
@ -14752,6 +14753,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
||||||
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-buffer": "^1.1.5"
|
"is-buffer": "^1.1.5"
|
||||||
}
|
}
|
||||||
@ -14763,6 +14765,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
|
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
|
||||||
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
|
"integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-accessor-descriptor": "^0.1.6",
|
"is-accessor-descriptor": "^0.1.6",
|
||||||
"is-data-descriptor": "^0.1.4",
|
"is-data-descriptor": "^0.1.4",
|
||||||
@ -14773,7 +14776,8 @@
|
|||||||
"version": "5.1.0",
|
"version": "5.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
|
||||||
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
|
"integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -14782,6 +14786,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
|
||||||
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
|
"integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"array-unique": "^0.3.2",
|
"array-unique": "^0.3.2",
|
||||||
"define-property": "^1.0.0",
|
"define-property": "^1.0.0",
|
||||||
@ -14798,6 +14803,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
|
||||||
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
|
"integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-descriptor": "^1.0.0"
|
"is-descriptor": "^1.0.0"
|
||||||
}
|
}
|
||||||
@ -14807,6 +14813,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-extendable": "^0.1.0"
|
"is-extendable": "^0.1.0"
|
||||||
}
|
}
|
||||||
@ -14818,6 +14825,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
|
||||||
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
|
"integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"extend-shallow": "^2.0.1",
|
"extend-shallow": "^2.0.1",
|
||||||
"is-number": "^3.0.0",
|
"is-number": "^3.0.0",
|
||||||
@ -14830,6 +14838,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
|
||||||
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
"integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-extendable": "^0.1.0"
|
"is-extendable": "^0.1.0"
|
||||||
}
|
}
|
||||||
@ -14874,6 +14883,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
|
||||||
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
|
"integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"kind-of": "^6.0.0"
|
"kind-of": "^6.0.0"
|
||||||
}
|
}
|
||||||
@ -14893,6 +14903,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
|
||||||
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
|
"integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"kind-of": "^6.0.0"
|
"kind-of": "^6.0.0"
|
||||||
}
|
}
|
||||||
@ -14902,6 +14913,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
|
||||||
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
|
"integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-accessor-descriptor": "^1.0.0",
|
"is-accessor-descriptor": "^1.0.0",
|
||||||
"is-data-descriptor": "^1.0.0",
|
"is-data-descriptor": "^1.0.0",
|
||||||
@ -14912,7 +14924,8 @@
|
|||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
|
||||||
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
|
"integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"is-glob": {
|
"is-glob": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
@ -14929,6 +14942,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
|
||||||
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
|
"integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"kind-of": "^3.0.2"
|
"kind-of": "^3.0.2"
|
||||||
},
|
},
|
||||||
@ -14938,6 +14952,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
|
||||||
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
"integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-buffer": "^1.1.5"
|
"is-buffer": "^1.1.5"
|
||||||
}
|
}
|
||||||
@ -14948,19 +14963,22 @@
|
|||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
|
||||||
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
|
"integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"kind-of": {
|
"kind-of": {
|
||||||
"version": "6.0.3",
|
"version": "6.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
|
||||||
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
|
"integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"micromatch": {
|
"micromatch": {
|
||||||
"version": "3.1.10",
|
"version": "3.1.10",
|
||||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
|
||||||
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
|
"integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"optional": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"arr-diff": "^4.0.0",
|
"arr-diff": "^4.0.0",
|
||||||
"array-unique": "^0.3.2",
|
"array-unique": "^0.3.2",
|
||||||
@ -14981,7 +14999,8 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
|
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
|
||||||
"dev": true
|
"dev": true,
|
||||||
|
"optional": true
|
||||||
},
|
},
|
||||||
"normalize-path": {
|
"normalize-path": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
"vue-awesome": "^3.5.4",
|
"vue-awesome": "^3.5.4",
|
||||||
"vue-axios": "^2.1.5",
|
"vue-axios": "^2.1.5",
|
||||||
"vue-bootstrap-datetimepicker": "^5.0.1",
|
"vue-bootstrap-datetimepicker": "^5.0.1",
|
||||||
"vue-chartjs": "^3.5.1",
|
|
||||||
"vue-router": "^3.4.3",
|
"vue-router": "^3.4.3",
|
||||||
"vuex": "^3.5.1",
|
"vuex": "^3.5.1",
|
||||||
"webstomp-client": "^1.2.6"
|
"webstomp-client": "^1.2.6"
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
<b-navbar-nav>
|
<b-navbar-nav>
|
||||||
<b-nav-item to="/new">New Observation</b-nav-item>
|
<b-nav-item to="/new">New Observation</b-nav-item>
|
||||||
<b-nav-item to="/observations">View Observations</b-nav-item>
|
<b-nav-item to="/observations">View Observations</b-nav-item>
|
||||||
<b-nav-item to="/stats">Graphs</b-nav-item>
|
|
||||||
</b-navbar-nav>
|
</b-navbar-nav>
|
||||||
<!-- Right aligned nav items -->
|
<!-- Right aligned nav items -->
|
||||||
<b-navbar-nav class="ml-auto">
|
<b-navbar-nav class="ml-auto">
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
<script>
|
|
||||||
import { Pie, mixins } from "vue-chartjs";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
extends: Pie,
|
|
||||||
mixins: [mixins.reactiveProp],
|
|
||||||
props: ["chartData", "options"],
|
|
||||||
mounted() {
|
|
||||||
this.renderChart(this.chartData, this.options);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -1,12 +0,0 @@
|
|||||||
<script>
|
|
||||||
import { Line, mixins } from "vue-chartjs";
|
|
||||||
|
|
||||||
export default {
|
|
||||||
extends: Line,
|
|
||||||
mixins: [mixins.reactiveProp],
|
|
||||||
props: ["chartData", "options"],
|
|
||||||
mounted() {
|
|
||||||
this.renderChart(this.chartData, this.options);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
@ -3,7 +3,6 @@ import Router from "vue-router";
|
|||||||
const Home = () => import("./views/Home.vue");
|
const Home = () => import("./views/Home.vue");
|
||||||
const StartNew = () => import("./views/StartNew.vue");
|
const StartNew = () => import("./views/StartNew.vue");
|
||||||
const Observation = () => import("./views/Observation.vue");
|
const Observation = () => import("./views/Observation.vue");
|
||||||
const Stats = () => import("./views/Stats.vue");
|
|
||||||
const NewSite = () => import("./views/NewSite.vue");
|
const NewSite = () => import("./views/NewSite.vue");
|
||||||
const NewTutor = () => import("./views/NewTutor.vue");
|
const NewTutor = () => import("./views/NewTutor.vue");
|
||||||
const ViewObservations = () => import("./views/ViewObservations.vue");
|
const ViewObservations = () => import("./views/ViewObservations.vue");
|
||||||
@ -32,11 +31,6 @@ export default new Router({
|
|||||||
name: "observation",
|
name: "observation",
|
||||||
component: Observation
|
component: Observation
|
||||||
},
|
},
|
||||||
{
|
|
||||||
path: "/stats",
|
|
||||||
name: "stats",
|
|
||||||
component: Stats
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
path: "/newsite",
|
path: "/newsite",
|
||||||
name: "newSite",
|
name: "newSite",
|
||||||
|
@ -27,14 +27,6 @@
|
|||||||
>
|
>
|
||||||
</b-col>
|
</b-col>
|
||||||
</b-row>
|
</b-row>
|
||||||
<b-row class="my-3" align-h="center">
|
|
||||||
<b-col lg="6" sm="12">
|
|
||||||
<b-button class="scale-in-center" size="lg" to="/stats" block
|
|
||||||
><v-icon name="chart-line" /> View daily observation
|
|
||||||
statistics</b-button
|
|
||||||
>
|
|
||||||
</b-col>
|
|
||||||
</b-row>
|
|
||||||
<!--
|
<!--
|
||||||
<b-row class="my-3" align-h="center">
|
<b-row class="my-3" align-h="center">
|
||||||
<b-col lg="6" sm="12">
|
<b-col lg="6" sm="12">
|
||||||
|
@ -1,216 +0,0 @@
|
|||||||
<template>
|
|
||||||
<b-container fluid>
|
|
||||||
<b-modal
|
|
||||||
ref="errorModal"
|
|
||||||
class="text-center"
|
|
||||||
centered
|
|
||||||
hide-header
|
|
||||||
hide-footer
|
|
||||||
>
|
|
||||||
<div class="modal-header">
|
|
||||||
<h3 class="modal-title w-100">{{ errorStatus }}</h3>
|
|
||||||
</div>
|
|
||||||
<div class="d-block">
|
|
||||||
<br />
|
|
||||||
<span style="font-size:20px;" v-html="errorMessage" />
|
|
||||||
<button class="btn btn-warning" @click="$refs.errorModal.hide()">
|
|
||||||
<v-icon name="exclamation-circle" />
|
|
||||||
Dismiss
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</b-modal>
|
|
||||||
<b-row class="pb-2">
|
|
||||||
<b-col>
|
|
||||||
<b-button-group size="sm">
|
|
||||||
<b-button variant="dark">Select Chart:</b-button>
|
|
||||||
<b-button
|
|
||||||
variant="outline-primary"
|
|
||||||
@click="
|
|
||||||
chartMode = 0;
|
|
||||||
getFilteredAverage();
|
|
||||||
"
|
|
||||||
>Trends</b-button
|
|
||||||
>
|
|
||||||
<b-button
|
|
||||||
variant="outline-primary"
|
|
||||||
@click="
|
|
||||||
chartMode = 1;
|
|
||||||
getFilteredAverage();
|
|
||||||
"
|
|
||||||
>AFIs</b-button
|
|
||||||
>
|
|
||||||
</b-button-group>
|
|
||||||
</b-col>
|
|
||||||
<b-col>
|
|
||||||
<b-button-group size="sm">
|
|
||||||
<b-button variant="dark">Quick Interval:</b-button>
|
|
||||||
<b-button
|
|
||||||
variant="outline-primary"
|
|
||||||
v-on:click="
|
|
||||||
setInterval(1, 'w');
|
|
||||||
getFilteredAverage();
|
|
||||||
"
|
|
||||||
>1 Week</b-button
|
|
||||||
>
|
|
||||||
<b-button
|
|
||||||
variant="outline-primary"
|
|
||||||
v-on:click="
|
|
||||||
setInterval(1, 'M');
|
|
||||||
getFilteredAverage();
|
|
||||||
"
|
|
||||||
>1 Month</b-button
|
|
||||||
>
|
|
||||||
<b-button
|
|
||||||
variant="outline-primary"
|
|
||||||
v-on:click="
|
|
||||||
setInterval(3, 'M');
|
|
||||||
getFilteredAverage();
|
|
||||||
"
|
|
||||||
>3 Months</b-button
|
|
||||||
>
|
|
||||||
<b-button
|
|
||||||
variant="outline-primary"
|
|
||||||
v-on:click="
|
|
||||||
setInterval(1, 'y');
|
|
||||||
getFilteredAverage();
|
|
||||||
"
|
|
||||||
>1 Year</b-button
|
|
||||||
>
|
|
||||||
</b-button-group>
|
|
||||||
</b-col>
|
|
||||||
</b-row>
|
|
||||||
<observation-search-bar
|
|
||||||
v-on:refresh="getFilteredAverage()"
|
|
||||||
></observation-search-bar>
|
|
||||||
<b-row v-if="chartData != null && chartData.labels.length > 0 && !loading">
|
|
||||||
<b-col v-if="chartMode == 0">
|
|
||||||
<stats-view
|
|
||||||
v-bind:chartData="chartData"
|
|
||||||
style="position: relative; height:80vh"
|
|
||||||
:options="options"
|
|
||||||
/>
|
|
||||||
</b-col>
|
|
||||||
<b-col v-else-if="chartMode == 1">
|
|
||||||
<afi-pie :chartData="chartData" :options="pieOptions" />
|
|
||||||
</b-col>
|
|
||||||
</b-row>
|
|
||||||
<b-row v-else-if="loading">
|
|
||||||
Loading...
|
|
||||||
</b-row>
|
|
||||||
<b-row v-else>
|
|
||||||
<b-col>
|
|
||||||
<v-icon name="search"></v-icon>
|
|
||||||
<p>No data found with the given search parameters.</p>
|
|
||||||
</b-col>
|
|
||||||
</b-row>
|
|
||||||
</b-container>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import Vue from "vue";
|
|
||||||
import StatsView from "../components/StatsView";
|
|
||||||
import AfiPie from "../components/AfiPie";
|
|
||||||
import ObservationSearchBar from "../components/ObservationSearchBar";
|
|
||||||
import "vue-awesome/icons/exclamation-circle";
|
|
||||||
import "vue-awesome/icons/search";
|
|
||||||
|
|
||||||
var moment = require("moment");
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: "stats",
|
|
||||||
title: "Statistics",
|
|
||||||
components: { StatsView, AfiPie, ObservationSearchBar },
|
|
||||||
data: function() {
|
|
||||||
return {
|
|
||||||
chartMode: 0,
|
|
||||||
endpoints: ["/observations/chartdata", "/observations/afipie"],
|
|
||||||
loading: false,
|
|
||||||
chartData: null,
|
|
||||||
options: {
|
|
||||||
responsive: true,
|
|
||||||
maintainAspectRatio: false,
|
|
||||||
spanGaps: true,
|
|
||||||
tooltips: {
|
|
||||||
mode: "index",
|
|
||||||
intersect: false
|
|
||||||
},
|
|
||||||
hover: {
|
|
||||||
mode: "nearest",
|
|
||||||
intersect: true
|
|
||||||
},
|
|
||||||
scales: {
|
|
||||||
xAxes: [
|
|
||||||
{
|
|
||||||
display: true,
|
|
||||||
scaleLabel: {
|
|
||||||
display: true,
|
|
||||||
labelString: "Date"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
],
|
|
||||||
yAxes: [
|
|
||||||
{
|
|
||||||
display: true,
|
|
||||||
scaleLabel: {
|
|
||||||
display: true,
|
|
||||||
labelString: "Average Score"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
pieOptions: {
|
|
||||||
maintainAspectRatio: false
|
|
||||||
},
|
|
||||||
errorStatus: null,
|
|
||||||
errorMessage: null
|
|
||||||
};
|
|
||||||
},
|
|
||||||
computed: {
|
|
||||||
startDate: {
|
|
||||||
get() {
|
|
||||||
return this.$store.state.search.start;
|
|
||||||
},
|
|
||||||
set(data) {
|
|
||||||
this.$store.commit("setSearchStartDate", data);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
endDate: {
|
|
||||||
get() {
|
|
||||||
return this.$store.state.search.end;
|
|
||||||
},
|
|
||||||
set(data) {
|
|
||||||
this.$store.commit("setSearchEndDate", data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getFilteredAverage: function() {
|
|
||||||
this.loading = true;
|
|
||||||
Vue.axios
|
|
||||||
.post(this.endpoints[this.chartMode], {
|
|
||||||
site: this.$store.state.search.site,
|
|
||||||
tutor: this.$store.state.search.tutor,
|
|
||||||
startDate: moment(this.startDate).format("YYYY-MM-DD"),
|
|
||||||
endDate: moment(this.endDate).format("YYYY-MM-DD"),
|
|
||||||
whom: this.$store.state.search.whom,
|
|
||||||
person: this.$store.state.search.person
|
|
||||||
})
|
|
||||||
.then(response => {
|
|
||||||
this.chartData = response.data;
|
|
||||||
this.loading = false;
|
|
||||||
})
|
|
||||||
.catch(error => {
|
|
||||||
this.errorStatus = error.response.status;
|
|
||||||
this.errorMessage = error.response.data;
|
|
||||||
this.$refs.errorModal.show();
|
|
||||||
this.loading = false;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
setInterval: function(amount, timeType) {
|
|
||||||
this.endDate = moment();
|
|
||||||
this.startDate = moment().subtract(amount, timeType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
</script>
|
|
Loading…
Reference in New Issue
Block a user