aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMateja <mail@matejamaric.com>2020-11-08 20:17:01 +0100
committerMateja <mail@matejamaric.com>2020-11-08 20:17:01 +0100
commitde0600b75c3eeff15352f58e2631f2e19da4b252 (patch)
treedde19872d13b29a946dde312b50a971bdde17643
parentd5691453f708ff5a288daeec21a00a19e888ca40 (diff)
downloadyota-laravel-de0600b75c3eeff15352f58e2631f2e19da4b252.tar.gz
yota-laravel-de0600b75c3eeff15352f58e2631f2e19da4b252.zip
Show special call description.
-rw-r--r--app/Http/Controllers/SpecialCallsController.php7
-rw-r--r--public/js/reserve.js120
-rw-r--r--public/mix-manifest.json3
-rw-r--r--resources/js/reserve.js9
-rw-r--r--resources/views/layouts/app.blade.php2
-rw-r--r--resources/views/pages/reserve.blade.php10
-rw-r--r--routes/web.php1
-rw-r--r--webpack.mix.js1
8 files changed, 151 insertions, 2 deletions
diff --git a/app/Http/Controllers/SpecialCallsController.php b/app/Http/Controllers/SpecialCallsController.php
index b99b7ac..025d955 100644
--- a/app/Http/Controllers/SpecialCallsController.php
+++ b/app/Http/Controllers/SpecialCallsController.php
@@ -39,6 +39,13 @@ class SpecialCallsController extends Controller
return Redirect::back()->with('status', "Special callsign added.");
}
+ public function show($sign)
+ {
+ $call = SpecialCall::where('sign', $sign)->first();
+ return $call->description ?? '<p><i>This special callsign doesn\'t have a description.</i></p>';
+ }
+
+
public function edit(Request $request, int $id)
{
$data = SpecialCall::findOrFail($id);
diff --git a/public/js/reserve.js b/public/js/reserve.js
new file mode 100644
index 0000000..11e9af5
--- /dev/null
+++ b/public/js/reserve.js
@@ -0,0 +1,120 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ // The module cache
+/******/ var installedModules = {};
+/******/
+/******/ // The require function
+/******/ function __webpack_require__(moduleId) {
+/******/
+/******/ // Check if module is in cache
+/******/ if(installedModules[moduleId]) {
+/******/ return installedModules[moduleId].exports;
+/******/ }
+/******/ // Create a new module (and put it into the cache)
+/******/ var module = installedModules[moduleId] = {
+/******/ i: moduleId,
+/******/ l: false,
+/******/ exports: {}
+/******/ };
+/******/
+/******/ // Execute the module function
+/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ // Flag the module as loaded
+/******/ module.l = true;
+/******/
+/******/ // Return the exports of the module
+/******/ return module.exports;
+/******/ }
+/******/
+/******/
+/******/ // expose the modules object (__webpack_modules__)
+/******/ __webpack_require__.m = modules;
+/******/
+/******/ // expose the module cache
+/******/ __webpack_require__.c = installedModules;
+/******/
+/******/ // define getter function for harmony exports
+/******/ __webpack_require__.d = function(exports, name, getter) {
+/******/ if(!__webpack_require__.o(exports, name)) {
+/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ }
+/******/ };
+/******/
+/******/ // define __esModule on exports
+/******/ __webpack_require__.r = function(exports) {
+/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ }
+/******/ Object.defineProperty(exports, '__esModule', { value: true });
+/******/ };
+/******/
+/******/ // create a fake namespace object
+/******/ // mode & 1: value is a module id, require it
+/******/ // mode & 2: merge all properties of value into the ns
+/******/ // mode & 4: return value when already ns object
+/******/ // mode & 8|1: behave like require
+/******/ __webpack_require__.t = function(value, mode) {
+/******/ if(mode & 1) value = __webpack_require__(value);
+/******/ if(mode & 8) return value;
+/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ var ns = Object.create(null);
+/******/ __webpack_require__.r(ns);
+/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ return ns;
+/******/ };
+/******/
+/******/ // getDefaultExport function for compatibility with non-harmony modules
+/******/ __webpack_require__.n = function(module) {
+/******/ var getter = module && module.__esModule ?
+/******/ function getDefault() { return module['default']; } :
+/******/ function getModuleExports() { return module; };
+/******/ __webpack_require__.d(getter, 'a', getter);
+/******/ return getter;
+/******/ };
+/******/
+/******/ // Object.prototype.hasOwnProperty.call
+/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ // __webpack_public_path__
+/******/ __webpack_require__.p = "/";
+/******/
+/******/
+/******/ // Load entry module and return exports
+/******/ return __webpack_require__(__webpack_require__.s = 1);
+/******/ })
+/************************************************************************/
+/******/ ({
+
+/***/ "./resources/js/reserve.js":
+/*!*********************************!*\
+ !*** ./resources/js/reserve.js ***!
+ \*********************************/
+/*! no static exports found */
+/***/ (function(module, exports) {
+
+jQuery('select#special-call').change(setCallDesc);
+jQuery(document).ready(setCallDesc);
+
+function setCallDesc() {
+ sign = jQuery('select#special-call').first().val();
+ jQuery.get('/special-calls/show/' + sign, function (data, status) {
+ jQuery('div#call-desc').html(data);
+ });
+}
+
+/***/ }),
+
+/***/ 1:
+/*!***************************************!*\
+ !*** multi ./resources/js/reserve.js ***!
+ \***************************************/
+/*! no static exports found */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = __webpack_require__(/*! /srv/http/laravel.komp.com/resources/js/reserve.js */"./resources/js/reserve.js");
+
+
+/***/ })
+
+/******/ }); \ No newline at end of file
diff --git a/public/mix-manifest.json b/public/mix-manifest.json
index 2d60117..9c01802 100644
--- a/public/mix-manifest.json
+++ b/public/mix-manifest.json
@@ -1,4 +1,5 @@
{
"/js/app.js": "/js/app.js",
- "/css/app.css": "/css/app.css"
+ "/css/app.css": "/css/app.css",
+ "/js/reserve.js": "/js/reserve.js"
}
diff --git a/resources/js/reserve.js b/resources/js/reserve.js
new file mode 100644
index 0000000..7a20c37
--- /dev/null
+++ b/resources/js/reserve.js
@@ -0,0 +1,9 @@
+jQuery('select#special-call').change(setCallDesc);
+jQuery(document).ready(setCallDesc);
+
+function setCallDesc() {
+ sign = jQuery('select#special-call').first().val();
+ jQuery.get('/special-calls/show/' + sign, function (data, status) {
+ jQuery('div#call-desc').html(data);
+ });
+}
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php
index 8d2d01a..3cb8667 100644
--- a/resources/views/layouts/app.blade.php
+++ b/resources/views/layouts/app.blade.php
@@ -16,7 +16,7 @@
<div class="container pt-3">
@yield('content')
</div>
- <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
+ <script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script>
@yield('scripts')
diff --git a/resources/views/pages/reserve.blade.php b/resources/views/pages/reserve.blade.php
index 16bdda5..868ae24 100644
--- a/resources/views/pages/reserve.blade.php
+++ b/resources/views/pages/reserve.blade.php
@@ -31,6 +31,12 @@
@enderror
</div>
+<div class="card mb-3">
+ <div class="card-body pb-2">
+ <div class="card-text" id="call-desc"></div>
+ </div>
+</div>
+
<!-- START TIME -->
<div class="form-group">
<label for="start-date">Start date:</label>
@@ -229,3 +235,7 @@
</div>
</form>
@endsection()
+
+@section('scripts')
+ <script src="{{ asset('js/reserve.js') }}"></script>
+@endsection
diff --git a/routes/web.php b/routes/web.php
index fc9297e..bba3ab5 100644
--- a/routes/web.php
+++ b/routes/web.php
@@ -46,6 +46,7 @@ Route::post('/special-calls/reservations', [ReservationsController::class, 'upda
Route::get('/special-calls/add', [SpecialCallsController::class, 'create'])->name('addSign')->middleware(['auth']);
Route::post('/special-calls/add', [SpecialCallsController::class, 'store'])->name('addSignForm')->middleware(['auth']);
+Route::get('/special-calls/show/{name}', [SpecialCallsController::class, 'show']);
Route::get('/special-calls/edit/{id}', [SpecialCallsController::class, 'edit'])->name('editSign')->middleware(['auth']);
Route::post('/special-calls/edit/{id}', [SpecialCallsController::class, 'update'])->name('editSignForm')->middleware(['auth']);
Route::get('/special-calls/delete/{id}', [SpecialCallsController::class, 'destroy'])->name('deleteSign')->middleware(['auth']);
diff --git a/webpack.mix.js b/webpack.mix.js
index 2a22dc1..d789eae 100644
--- a/webpack.mix.js
+++ b/webpack.mix.js
@@ -12,6 +12,7 @@ const mix = require('laravel-mix');
*/
mix.js('resources/js/app.js', 'public/js')
+ .js('resources/js/reserve.js', 'public/js')
.postCss('resources/css/app.css', 'public/css', [
//
]);