From b5e6a4a94b08722851dc74239c37eb804c901715 Mon Sep 17 00:00:00 2001 From: Miguel N Date: Fri, 1 May 2020 05:42:19 +0100 Subject: [PATCH] Added Outstanding applications page This commit also includes Chart.js for the whole project using Webpack. It also updates NPM packages to support ChartJS, and suppresses locale.js warnings from Webpack builds. Gitignore removes the webpack bundle file since that file should be built each time dependencies/js code are modified. --- .gitignore | 1 + .../Controllers/ApplicationController.php | 5 + package-lock.json | 46 ++++++++- package.json | 6 ++ public/css/app.css | 10 -- resources/js/app.js | 1 + resources/js/application_charts.js | 45 +++++++++ .../appmanagement/outstandingapps.blade.php | 96 +++++++++++++++++++ routes/web.php | 6 ++ webpack.mix.js | 8 +- 10 files changed, 210 insertions(+), 14 deletions(-) create mode 100644 resources/js/application_charts.js create mode 100644 resources/views/dashboard/appmanagement/outstandingapps.blade.php diff --git a/.gitignore b/.gitignore index a7a2d10..cbc1634 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/public/js/app.js /node_modules /public/hot /public/storage diff --git a/app/Http/Controllers/ApplicationController.php b/app/Http/Controllers/ApplicationController.php index 4b76111..a13c323 100644 --- a/app/Http/Controllers/ApplicationController.php +++ b/app/Http/Controllers/ApplicationController.php @@ -22,4 +22,9 @@ class ApplicationController extends Controller return view('dashboard.user.approvedapplications'); } + public function showAllPendingApps() + { + return view('dashboard.appmanagement.outstandingapps'); + } + } diff --git a/package-lock.json b/package-lock.json index 01d75a2..1040128 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2092,6 +2092,32 @@ "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", "dev": true }, + "chart.js": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.3.tgz", + "integrity": "sha512-+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==", + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "requires": { + "color-name": "^1.0.0" + } + }, "chokidar": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", @@ -2280,7 +2306,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -2288,8 +2313,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=" }, "color-string": { "version": "1.5.3", @@ -3181,6 +3205,12 @@ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true }, + "empty-module": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/empty-module/-/empty-module-0.0.2.tgz", + "integrity": "sha1-E7TdjUr+3dNeUMGNzXiMUQh/FUU=", + "dev": true + }, "encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -5678,6 +5708,11 @@ } } }, + "locale-js": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/locale-js/-/locale-js-1.1.1.tgz", + "integrity": "sha1-pUtQtNFYDIKxd1Y7Eb24+DF9m3w=" + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -6118,6 +6153,11 @@ "minimist": "^1.2.5" } }, + "moment": { + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.25.0.tgz", + "integrity": "sha512-vbrf6kJGpevOxmDRvCCvGuCSXvRj93264WcFzjm3Z3pV4lfjrXll8rvSP+EbmCte64udj1LkJMILxQnjXAQBzg==" + }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", diff --git a/package.json b/package.json index 64609fb..8521bde 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,7 @@ "axios": "^0.19", "bootstrap": "^4.0.0", "cross-env": "^7.0", + "empty-module": "0.0.2", "jquery": "^3.2", "laravel-mix": "^5.0.1", "lodash": "^4.17.13", @@ -22,5 +23,10 @@ "sass-loader": "^8.0.0", "vue": "^2.5.17", "vue-template-compiler": "^2.6.10" + }, + "dependencies": { + "chart.js": "^2.9.3", + "locale-js": "^1.1.1", + "moment": "^2.25.0" } } diff --git a/public/css/app.css b/public/css/app.css index ffc31c1..41395b9 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -44,11 +44,6 @@ box-sizing: border-box; } -.view { - background: url("/slides/06.png")no-repeat center center; - background-size: cover; -} - html { font-family: sans-serif; line-height: 1.15; @@ -4532,11 +4527,6 @@ input[type=button].btn-block { padding: 0.5rem 1rem; } -.navbar-style { - background: rgb(132,235,173); - background: linear-gradient(90deg, rgba(132,235,173,1) 10%, rgba(110,182,207,1) 29%, rgba(109,146,255,1) 92%); -} - .navbar .container, .navbar .container-fluid, .navbar .container-sm, diff --git a/resources/js/app.js b/resources/js/app.js index aa19e31..6ac5809 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -4,6 +4,7 @@ * building robust, powerful web applications using Vue and Laravel. */ +require('chart.js'); require('./bootstrap'); window.Vue = require('vue'); diff --git a/resources/js/application_charts.js b/resources/js/application_charts.js new file mode 100644 index 0000000..8cad579 --- /dev/null +++ b/resources/js/application_charts.js @@ -0,0 +1,45 @@ +var ctx = document.getElementById('appOverviewChart').getContext('2d'); +var chart = new Chart(ctx, { + // The type of chart we want to create + type: 'line', + + // The data for our dataset + data: { + labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'], + datasets: [{ + label: 'Approved Apps.', + backgroundColor: 'rgb(26,246,40)', + borderColor: 'rgb(26,246,40)', + data: [0, 10, 5, 2, 20, 30, 45], + fill: false + }, + { + label: 'Denied Apps.', + backgroundColor: 'rgb(247, 43, 43)', + borderColor: 'rgb(247, 43, 43)', + data: [0, 10, 20, 0, 20, 14, 10], + fill: false + }] + }, + + // Configuration options go here + options: { + elements: { + point:{ + radius: 0 + } + }, + scales: { + xAxes: [{ + gridLines: { + display:false + } + }], + yAxes: [{ + gridLines: { + display:false + } + }] + } + } +}); diff --git a/resources/views/dashboard/appmanagement/outstandingapps.blade.php b/resources/views/dashboard/appmanagement/outstandingapps.blade.php new file mode 100644 index 0000000..192f6b4 --- /dev/null +++ b/resources/views/dashboard/appmanagement/outstandingapps.blade.php @@ -0,0 +1,96 @@ +@extends('adminlte::page') + +@section('title', 'Raspberry Network | Profile') + +@section('content_header') + +

Application Management / Outstanding Applications

+ +@stop + +@section('js') + + + +@stop + + +@section('content') + +
+ +
+ +
+ +
+ +

Outstanding Applications

+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#Applicant NameStatusApplied OnActions
1Jonathan SmithUnder Review2020-04-20 + + +
+ +
+ +
+ +
+ +
+ +
+
+

Applications at a Glance

+ +
+ +
+
+
+
+ +
+
+ +
+ +
+ +
+ +@stop diff --git a/routes/web.php b/routes/web.php index 6564d17..5552250 100644 --- a/routes/web.php +++ b/routes/web.php @@ -38,6 +38,12 @@ Route::group(['middleware' => 'auth'], function(){ }); + Route::group(['prefix' => '/applications'], function (){ + + Route::get('/staff/outstanding', 'ApplicationController@showAllPendingApps'); + + }); + }); //Route::get('/dashboard/login', ''); diff --git a/webpack.mix.js b/webpack.mix.js index 19a48fa..2e7494f 100644 --- a/webpack.mix.js +++ b/webpack.mix.js @@ -11,5 +11,11 @@ const mix = require('laravel-mix'); | */ -mix.js('resources/js/app.js', 'public/js') +mix.js(['resources/js/app.js', 'resources/js/application_charts.js'], 'public/js') .sass('resources/sass/app.scss', 'public/css'); + +mix.webpackConfig({ + stats: { + warnings: false + } +});