From de0600b75c3eeff15352f58e2631f2e19da4b252 Mon Sep 17 00:00:00 2001 From: Mateja Date: Sun, 8 Nov 2020 20:17:01 +0100 Subject: Show special call description. --- app/Http/Controllers/SpecialCallsController.php | 7 ++ public/js/reserve.js | 120 ++++++++++++++++++++++++ public/mix-manifest.json | 3 +- resources/js/reserve.js | 9 ++ resources/views/layouts/app.blade.php | 2 +- resources/views/pages/reserve.blade.php | 10 ++ routes/web.php | 1 + webpack.mix.js | 1 + 8 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 public/js/reserve.js create mode 100644 resources/js/reserve.js 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 ?? '

This special callsign doesn\'t have a description.

'; + } + + 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 @@
@yield('content')
- + @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 +
+
+
+
+
+
@@ -229,3 +235,7 @@
@endsection() + +@section('scripts') + +@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', [ // ]); -- cgit v1.2.3