From 282ac8e73507c430230eb02c097c53c29c377312 Mon Sep 17 00:00:00 2001 From: frederikpyt Date: Tue, 28 Jul 2020 09:21:41 +0200 Subject: [PATCH 1/4] Fixed washing reservation bugs --- .../WashingReservationController.php | 1 + skolehjem/public/css/webapp.css | 66 ++--- skolehjem/resources/js/calendar/calendar.js | 49 +--- skolehjem/resources/sass/webapp/_default.scss | 64 ++--- .../views/app/bookings/index.blade.php | 245 ------------------ .../app/washing-reservations/index.blade.php | 22 -- 6 files changed, 85 insertions(+), 362 deletions(-) delete mode 100644 skolehjem/resources/views/app/bookings/index.blade.php diff --git a/skolehjem/app/Http/Controllers/WashingReservationController.php b/skolehjem/app/Http/Controllers/WashingReservationController.php index 612ef94..8557c4f 100644 --- a/skolehjem/app/Http/Controllers/WashingReservationController.php +++ b/skolehjem/app/Http/Controllers/WashingReservationController.php @@ -154,3 +154,4 @@ class WashingReservationController extends Controller return redirect()->route("washing-reservations.index", [ "reservations" => $reservations]); } } + diff --git a/skolehjem/public/css/webapp.css b/skolehjem/public/css/webapp.css index 514644a..4c99857 100644 --- a/skolehjem/public/css/webapp.css +++ b/skolehjem/public/css/webapp.css @@ -6669,13 +6669,6 @@ main { width: 80px; } -.header__btn:hover, -.header__btn:focus { - background: #005561; - transition: all 0.3s ease-in; - outline: none; -} - .header__btn .icon { display: inline-block; } @@ -6712,25 +6705,22 @@ main { color: #E9E8E8; } -.calendar-container__btn:hover, -.calendar-container__btn:focus { - color: #9FAAB7; - transition: all 0.3s ease-in; -} - .calendar-container__title { color: #222741; font-size: 20px; font-weight: 700; } +.calendar-table__col.selected > .calendar-table__item { + color: white; +} + .calendar-table { margin-top: 12px; width: 100%; } .calendar-table__item { - border: 2px solid transparent; border-radius: 50%; color: #424588; font-size: 12px; @@ -6743,12 +6733,6 @@ main { cursor: pointer; } -.calendar-table__item:hover { - background: RGBA(0, 120, 138, 0.6); - box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1); - transition: 0.2s all ease-in; -} - .calendar-table__item:hover > span { color: white; } @@ -6775,38 +6759,60 @@ main { height: 18px; } -@media (min-width: 360px) { +@media (min-width: 350px) { .calendar-table__header .calendar-table__col { width: 46px; + height: 20.7px; } } -@media (min-width: 410px) { +@media (min-width: 390px) { .calendar-table__header .calendar-table__col { - width: 47.5px; + width: 56px; + height: 25.2px; } } .calendar-table__body .calendar-table__col { width: 40px; - height: 42px; - padding-bottom: 2px; + height: 40px; + border-radius: 50%; } -@media (min-width: 360px) { +@media (min-width: 350px) { .calendar-table__body .calendar-table__col { width: 46px; - height: 24px; + height: 46px; + } +} + +@media (min-width: 390px) { + .calendar-table__body .calendar-table__col { + width: 56px; + height: 56px; } } @media (min-width: 410px) { .calendar-table__body .calendar-table__col { - width: 54px; + width: 56px; height: 56px; } } +@media (min-width: 460px) { + .calendar-table__body .calendar-table__col { + width: 61px; + height: 61px; + } +} + +.calendar-table__body .calendar-table__col.selected { + background: #00788a; + transition: all 0.3s ease-in; + outline: none; +} + .calendar-table__today .calendar-table__item { border-color: #FEFEFE; background-color: #00788a; @@ -6826,7 +6832,6 @@ main { .calendar-table__event--long .calendar-table__item { border-radius: 0; - border-width: 2px 0; } .calendar-table__event--start .calendar-table__item { @@ -6872,7 +6877,10 @@ main { } .events-container { + display: flex; + flex-direction: column; padding: 0 15px; + padding-bottom: 1rem; } .events__title { diff --git a/skolehjem/resources/js/calendar/calendar.js b/skolehjem/resources/js/calendar/calendar.js index 3af9468..f76dff7 100644 --- a/skolehjem/resources/js/calendar/calendar.js +++ b/skolehjem/resources/js/calendar/calendar.js @@ -52,6 +52,7 @@ function generateCalendar(weekOffset = 0) { let calendarRow = document.createElement("div"); calendarRow.classList.add("calendar-table__row") + calendarRow.id = "calenderRow"; weekDays.forEach(function (weekDay) { let headerDay = document.createElement("div"); @@ -76,7 +77,7 @@ function generateCalendar(weekOffset = 0) { dayHolder.appendChild(day); dayHolder.onclick = function() { - onDateSelect(date); + onDateSelect(date, dayHolder); } calendarRow.appendChild(dayHolder); @@ -90,13 +91,21 @@ function generateCalendar(weekOffset = 0) { calendar.appendChild(calendarBody); } -function onDateSelect(date) { +function onDateSelect(date, dayHolder) { let events; let machinez; let buttonz; let container = document.getElementById("event-container"); + NodeList.prototype.forEach = Array.prototype.forEach + var children = document.getElementById("calenderRow").childNodes; + + children.forEach(function(item){ + item.classList.remove("selected"); + }); + + dayHolder.classList.add("selected"); if(document.getElementById("washing-machines") != undefined) machinez = document.getElementById("washing-machines"); @@ -133,28 +142,22 @@ function onDateSelect(date) { if(document.getElementById("create-reservation") != undefined) buttonz = document.getElementById("create-reservation"); else { - // let span = document.createElement("span"); - // span.classList.add("events__title"); - // span.innerText = "Tider"; - let button = document.createElement("button"); - // button.classList.add("events__title"); + button.id = "create-reservation"; button.innerText = "Reserver"; - // container.appendChild(span); container.appendChild(button); buttonz = document.getElementById("events"); } - // events.innerHTML = ""; - const machines = [ "Maskine 1", "Maskine 2" ] + machinez.innerHTML = ""; for (let i = 0; i < machines.length; i++) { let option = document.createElement("option"); option.text = machines[i]; @@ -163,37 +166,13 @@ function onDateSelect(date) { } + events.innerHTML = ""; for (let hour = 8; hour <= 20; hour++) { let option = document.createElement("option"); option.text = prependZero(hour); events.appendChild(option); - - // let item = document.createElement("li"); - // item.classList.add("events__item"); - // - // let itemData = document.createElement("div"); - // - // let head = document.createElement("span"); - // head.classList.add("events__name"); - // head.innerText = "Vaskemaskine Tid"; - // - // let dat = document.createElement("span"); - // dat.classList.add("events__date"); - // dat.innerText = "Klokken " + prependZero(hour); - // - // itemData.appendChild(head); - // itemData.appendChild(dat); - // item.appendChild(itemData); - // - // let button = document.createElement("span"); - // button.classList.add("events__tag"); - // button.innerText = "Book"; - // - // item.appendChild(button); - // - // events.appendChild(item); } } diff --git a/skolehjem/resources/sass/webapp/_default.scss b/skolehjem/resources/sass/webapp/_default.scss index dcde956..f1a4c7c 100644 --- a/skolehjem/resources/sass/webapp/_default.scss +++ b/skolehjem/resources/sass/webapp/_default.scss @@ -184,13 +184,6 @@ $primary-color: $blue; top: -25px; width: 80px; - &:hover, - &:focus { - background: darken($primary-color, 8%); - transition: all 0.3s ease-in; - outline: none; - } - .icon { display: inline-block; } @@ -226,12 +219,6 @@ $primary-color: $blue; font-size: 16px; outline: none; color: $calendar-button-color; - - &:hover, - &:focus { - color: palette(gray-shades, darker); - transition: all 0.3s ease-in; - } } @include e(title) { @@ -241,12 +228,15 @@ $primary-color: $blue; } } +.calendar-table__col.selected > .calendar-table__item { + color: white; +} + .calendar-table { margin-top: 12px; width: 100%; @include e(item) { - border: 2px solid transparent; border-radius: 50%; color: $calendar-item-text; font-size: $sm-font-size; @@ -258,14 +248,6 @@ $primary-color: $blue; justify-content: center; cursor: pointer; - &:hover { - background: RGBA(0, 120, 138, 0.6); - -moz-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1); - -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1); - box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.1); - transition: 0.2s all ease-in; - } - &:hover > span { color: white; } @@ -291,12 +273,14 @@ $primary-color: $blue; width: 40px; height: 18px; - @include mq(360) { + @include mq(350) { width: 46px; + height: 20.7px; } - @include mq(410) { - width: 47.5px; + @include mq(390) { + width: 56px; + height: 25.2px; } } } @@ -304,18 +288,34 @@ $primary-color: $blue; @include e(body) { .calendar-table__col { width: 40px; - height: 42px; - padding-bottom: 2px; + height: 40px; + border-radius: 50%; - @include mq(360) { + @include mq(350) { width: 46px; - height: 24px; + height: 46px; + } + + @include mq(390) { + width: 56px; + height: 56px; } @include mq(410) { - width: 54px; + width: 56px; height: 56px; } + + @include mq(460) { + width: 61px; + height: 61px; + } + } + .calendar-table__col.selected { + background: $blue; + + transition: all 0.3s ease-in; + outline: none; } } @@ -344,7 +344,6 @@ $primary-color: $blue; .calendar-table__item { border-radius: 0; - border-width: 2px 0; } } @@ -407,7 +406,10 @@ $primary-color: $blue; } .events-container { + display: flex; + flex-direction: column; padding: 0 15px; + padding-bottom: 1rem; } .events { diff --git a/skolehjem/resources/views/app/bookings/index.blade.php b/skolehjem/resources/views/app/bookings/index.blade.php deleted file mode 100644 index b9202f6..0000000 --- a/skolehjem/resources/views/app/bookings/index.blade.php +++ /dev/null @@ -1,245 +0,0 @@ -@extends("app.layout.base") -@extends("app.layout.header") -@section("title") - Booking Liste -@endsection - -@section("content") -
-

Booking Liste

-
-
-
- -

{Måned} {År}

- -
-
-
-
-{{--
--}} -
Mon
-
Tue
-
Wed
-
Thu
-
Fri
-
Sat
-
Sun
-{{--
--}} -
-
-
-
-
- 30 -
-
-
-
- 1 -
-
-
-
- 2 -
-
-
-
- 3 -
-
-
-
- 4 -
-
-
-
- 5 -
-
-
-
- 6 -
-
-
-
-
-
- 7 -
-
-
-
- 8 -
-
-
-
- 9 -
-
-
-
- 10 -
-
-
-
- 11 -
-
-
-
- 12 -
-
-
-
- 13 -
-
-
-
-
-
- 14 -
-
-
-
- 15 -
-
-
-
- 16 -
-
-
-
- 17 -
-
-
-
- 18 -
-
-
-
- 19 -
-
-
-
- 20 -
-
-
-
-
-
- 21 -
-
-
-
- 22 -
-
-
-
- 23 -
-
-
-
- 24 -
-
-
-
- 25 -
-
-
-
- 26 -
-
-
-
- 27 -
-
-
-
-
-
- 28 -
-
-
-
- 29 -
-
-
-
- 30 -
-
-
-
- 31 -
-
-
-
- 1 -
-
-
-
- 2 -
-
-
-
- 3 -
-
-
-
-
-
-
-
- Tider - -
-
-
-@endsection diff --git a/skolehjem/resources/views/app/washing-reservations/index.blade.php b/skolehjem/resources/views/app/washing-reservations/index.blade.php index d0749f4..46d803f 100644 --- a/skolehjem/resources/views/app/washing-reservations/index.blade.php +++ b/skolehjem/resources/views/app/washing-reservations/index.blade.php @@ -30,28 +30,6 @@

Maskiner skal dynamisk opdateres alt efter om det er en fra bygning E eller en af de andre bygninger der vil vaske, da bygning E har egen vaskekælder!

-{{-- Maskiner--}} -{{-- --}} - -{{-- Tider--}} -{{-- From c4e4d640146627e6125264ab52ae07bae6363185 Mon Sep 17 00:00:00 2001 From: frederikpyt Date: Tue, 28 Jul 2020 14:26:32 +0200 Subject: [PATCH 2/4] Washing Reservation dynamic content --- skolehjem/app/Console/Kernel.php | 3 +- .../WashingReservationController.php | 11 ++ skolehjem/resources/js/app.js | 57 ------ skolehjem/resources/js/calendar/calendar.js | 158 ++++++++-------- .../resources/views/app/layout/base.blade.php | 1 + .../app/washing-reservations/index.blade.php | 173 ++++++++++++++++++ skolehjem/routes/web.php | 2 +- skolehjem/webpack.mix.js | 1 + 8 files changed, 263 insertions(+), 143 deletions(-) diff --git a/skolehjem/app/Console/Kernel.php b/skolehjem/app/Console/Kernel.php index 69914e9..b8bb32c 100644 --- a/skolehjem/app/Console/Kernel.php +++ b/skolehjem/app/Console/Kernel.php @@ -2,6 +2,7 @@ namespace App\Console; +use App\Console\Commands\GenerateRoutesForJavascript; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; @@ -13,7 +14,7 @@ class Kernel extends ConsoleKernel * @var array */ protected $commands = [ - // + ]; /** diff --git a/skolehjem/app/Http/Controllers/WashingReservationController.php b/skolehjem/app/Http/Controllers/WashingReservationController.php index 8557c4f..29f5881 100644 --- a/skolehjem/app/Http/Controllers/WashingReservationController.php +++ b/skolehjem/app/Http/Controllers/WashingReservationController.php @@ -153,5 +153,16 @@ class WashingReservationController extends Controller return redirect()->route("washing-reservations.index", [ "reservations" => $reservations]); } + + public function api(Request $request){ + if($request->ajax()){ + $date = $request->date; + + $machines = WashingMachine::all(); + + $output = json_encode(['date' => $date, 'washingmachines' => $machines]); + return Response($output); + } + } } diff --git a/skolehjem/resources/js/app.js b/skolehjem/resources/js/app.js index 4dd2dd9..76dab0a 100644 --- a/skolehjem/resources/js/app.js +++ b/skolehjem/resources/js/app.js @@ -1,8 +1,3 @@ -/** - * First we will load all of this project's JavaScript dependencies which - * includes Vue and other libraries. It is a great starting point when - * building robust, powerful web applications using Vue and Laravel. - */ //Bootstrap require('./bootstrap'); @@ -17,58 +12,6 @@ require('./sites/menuplan'); //Webapp hamburger menu import { toggleMenu } from './navmenu/menu'; -// require("./calendar/calendar"); - -// import { nextMonth, previousMonth, countDays, createCalendar, months, month, currentMonth, days, calendar } from "./calendar/calendar"; - -// window.Vue = require('vue'); - -import { generateCalendar } from "./calendar/calendar"; - -// createCalendar(); -// -// document.getElementById("month-next").onclick = nextMonth; -// document.getElementById("month-previous").onclick = previousMonth; - -/** - * The following block of code may be used to automatically register your - * Vue components. It will recursively scan this directory for the Vue - * components and automatically register them with their "basename". - * - * Eg. ./components/ExampleComponent.vue -> - */ - -// const files = require.context('./', true, /\.vue$/i) -// files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) - -// Vue.component('example-component', require('./components/ExampleComponent.vue').default); - -/** - * Next, we will create a fresh Vue application instance and attach it to - * the page. Then, you may begin adding components to this application - * or customize the JavaScript scaffolding to fit your unique needs. - */ - -// const app = new Vue({ -// el: '#app', -// }); - -let weekOffset = 0; - -if(document.getElementById("calendar")) { - generateCalendar(); - - document.getElementById("week-previous").onclick = function () { - weekOffset--; - generateCalendar(weekOffset); - } - - document.getElementById("week-next").onclick = function () { - weekOffset++; - generateCalendar(weekOffset); - } -} - if(document.getElementById("toggle")) document.getElementById("toggle").onclick = function () { toggleMenu('menu'); diff --git a/skolehjem/resources/js/calendar/calendar.js b/skolehjem/resources/js/calendar/calendar.js index f76dff7..767f96e 100644 --- a/skolehjem/resources/js/calendar/calendar.js +++ b/skolehjem/resources/js/calendar/calendar.js @@ -1,34 +1,5 @@ -// class Calendar { -// constructor() { -// -// } -// -// nextMonth() { -// -// } -// -// previousMonth() { -// -// } -// -// addEvent() { -// -// } -// -// removeEvent() { -// -// } -// } - const moment = require("moment"); -// const calendar = document.getElementById("calendar"); -// const title = document.getElementById("month"); - - - -// calendar.innerHTML = ""; - function generateCalendar(weekOffset = 0) { const week = (moment().week() + weekOffset); @@ -107,73 +78,96 @@ function onDateSelect(date, dayHolder) { dayHolder.classList.add("selected"); - if(document.getElementById("washing-machines") != undefined) - machinez = document.getElementById("washing-machines"); - else { - let span = document.createElement("span"); - span.classList.add("events__title"); - span.innerText = "Maskiner"; - let select = document.createElement("select"); - select.classList.add("events__title"); - select.id = "washing-machines"; + axios({ + method: 'get', + url: '/washing-reservationsapi', + data: { date: date } + }).then(function (response) { + var data = response.data(); + console.log(data); + }); - container.appendChild(span); - container.appendChild(select); + $.ajax({ + type: 'get', + url: "/washing-reservationsapi", + data: {'date': date}, + success:function (data) { + console.log(data); - machinez = document.getElementById("washing-machines"); - } - if(document.getElementById("events") != undefined) - events = document.getElementById("events"); - else { - let span = document.createElement("span"); - span.classList.add("events__title"); - span.innerText = "Tider"; + /*if(document.getElementById("washing-machines") != undefined) + machinez = document.getElementById("washing-machines"); + else { + let span = document.createElement("span"); + span.classList.add("events__title"); + span.innerText = "Maskiner"; - let select = document.createElement("select"); - select.classList.add("events__title"); - select.id = "events"; + let select = document.createElement("select"); + select.classList.add("events__title"); + select.id = "washing-machines"; - container.appendChild(span); - container.appendChild(select); + container.appendChild(span); + container.appendChild(select); - events = document.getElementById("events"); - } - if(document.getElementById("create-reservation") != undefined) - buttonz = document.getElementById("create-reservation"); - else { - let button = document.createElement("button"); + machinez = document.getElementById("washing-machines"); + } + if(document.getElementById("events") != undefined) + events = document.getElementById("events"); + else { + let span = document.createElement("span"); + span.classList.add("events__title"); + span.innerText = "Tider"; - button.id = "create-reservation"; - button.innerText = "Reserver"; + let select = document.createElement("select"); + select.classList.add("events__title"); + select.id = "events"; - container.appendChild(button); + container.appendChild(span); + container.appendChild(select); - buttonz = document.getElementById("events"); - } + events = document.getElementById("events"); + } + if(document.getElementById("create-reservation") != undefined) + buttonz = document.getElementById("create-reservation"); + else { + let button = document.createElement("button"); - const machines = [ - "Maskine 1", - "Maskine 2" - ] + button.id = "create-reservation"; + button.innerText = "Reserver"; - machinez.innerHTML = ""; - for (let i = 0; i < machines.length; i++) { - let option = document.createElement("option"); - option.text = machines[i]; + container.appendChild(button); - machinez.appendChild(option); - } + buttonz = document.getElementById("events"); + } + + const machines = [ + "Maskine 1", + "Maskine 2" + ] + + machinez.innerHTML = ""; + for (let i = 0; i < machines.length; i++) { + let option = document.createElement("option"); + option.text = machines[i]; + + machinez.appendChild(option); + } - events.innerHTML = ""; - for (let hour = 8; hour <= 20; hour++) { + events.innerHTML = ""; + for (let hour = 8; hour <= 20; hour++) { - let option = document.createElement("option"); - option.text = prependZero(hour); + let option = document.createElement("option"); + option.text = prependZero(hour); - events.appendChild(option); - } + events.appendChild(option); + }*/ + }, + error:function (data) { + console.log("FEJL"); + console.log(data); + } + }); } function prependZero(value) { @@ -181,7 +175,3 @@ function prependZero(value) { return "0" + value; return value; } - -module.exports = { - generateCalendar -}; diff --git a/skolehjem/resources/views/app/layout/base.blade.php b/skolehjem/resources/views/app/layout/base.blade.php index ed3c8fa..741c04b 100644 --- a/skolehjem/resources/views/app/layout/base.blade.php +++ b/skolehjem/resources/views/app/layout/base.blade.php @@ -4,6 +4,7 @@ @yield("title") {{-- --}} +{{-- --}} diff --git a/skolehjem/resources/views/app/washing-reservations/index.blade.php b/skolehjem/resources/views/app/washing-reservations/index.blade.php index 46d803f..d8b22a9 100644 --- a/skolehjem/resources/views/app/washing-reservations/index.blade.php +++ b/skolehjem/resources/views/app/washing-reservations/index.blade.php @@ -34,3 +34,176 @@ @endsection + +@section("scripts") + + + +@endsection diff --git a/skolehjem/routes/web.php b/skolehjem/routes/web.php index 00e6079..9c3f1be 100644 --- a/skolehjem/routes/web.php +++ b/skolehjem/routes/web.php @@ -35,7 +35,7 @@ Route::get("/eventsapi", "EventController@search")->name("events.search"); Route::get("/menuplansapi", "MenuPlanController@search")->name("menu-plans.search"); Route::get("/rolesapi", "RolesController@search")->name("roles.search"); Route::get("/userapi", "UserController@search")->name("users.search"); - +Route::get("/washing-reservationsapi", "WashingReservationController@api")->name("washing-reservations.api"); diff --git a/skolehjem/webpack.mix.js b/skolehjem/webpack.mix.js index 1d8fe53..5216944 100644 --- a/skolehjem/webpack.mix.js +++ b/skolehjem/webpack.mix.js @@ -14,6 +14,7 @@ const mix = require('laravel-mix'); //JS mix.js('resources/js/app.js', 'public/js'); + //SCSS mix.sass('resources/sass/app/app.scss', 'public/css'); mix.sass('resources/sass/webapp/webapp.scss', 'public/css'); From 606e13560b67e1f4f1fedcdddefed3c61eb857d8 Mon Sep 17 00:00:00 2001 From: frederikpyt Date: Tue, 28 Jul 2020 15:03:17 +0200 Subject: [PATCH 3/4] Washing Reservation create --- .../views/app/washing-reservations/index.blade.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/skolehjem/resources/views/app/washing-reservations/index.blade.php b/skolehjem/resources/views/app/washing-reservations/index.blade.php index d8b22a9..19c252f 100644 --- a/skolehjem/resources/views/app/washing-reservations/index.blade.php +++ b/skolehjem/resources/views/app/washing-reservations/index.blade.php @@ -25,12 +25,12 @@ -
- +
+ @csrf

Maskiner skal dynamisk opdateres alt efter om det er en fra bygning E eller en af de andre bygninger der vil vaske, da bygning E har egen vaskekælder!

-
+ @endsection @@ -116,7 +116,6 @@ params: { 'date': date } }).then(function (response) { var data = response.data; - //console.log(data); if(document.getElementById("washing-machines") != undefined) machinez = document.getElementById("washing-machines"); @@ -128,6 +127,7 @@ let select = document.createElement("select"); select.classList.add("events__title"); select.id = "washing-machines"; + select.name = "machine"; container.appendChild(span); container.appendChild(select); @@ -144,6 +144,7 @@ let select = document.createElement("select"); select.classList.add("events__title"); select.id = "events"; + select.name = "time"; container.appendChild(span); container.appendChild(select); @@ -157,6 +158,7 @@ button.id = "create-reservation"; button.innerText = "Reserver"; + button.type = "submit"; container.appendChild(button); @@ -169,6 +171,7 @@ for (let i = 0; i < machines.length; i++) { let option = document.createElement("option"); option.text = machines[i]["name"]; + option.value = machines[i]["id"]; machinez.appendChild(option); } @@ -177,7 +180,8 @@ for (let hour = 8; hour <= 20; hour++) { let option = document.createElement("option"); - option.text = prependZero(hour); + option.text = prependZero(hour) + ":00"; + option.value = data["date"].split("T")[0].slice(1, data["date"].split("T")[0].length) + "T" + prependZero(hour) + ":00"; events.appendChild(option); } From b4f9065d798ea2ab8bdb5272c68b48470aad2c1f Mon Sep 17 00:00:00 2001 From: frederikpyt Date: Tue, 28 Jul 2020 15:13:33 +0200 Subject: [PATCH 4/4] Fixes --- skolehjem/resources/js/calendar/calendar.js | 177 --------------- skolehjem/resources/js/calendar/month.js | 31 --- .../resources/views/app/layout/base.blade.php | 2 +- .../views/app/layout/header.blade.php | 34 --- .../app/washing-reservations/create.blade.php | 213 ++++++++++++++++++ .../app/washing-reservations/index.blade.php | 181 +-------------- 6 files changed, 215 insertions(+), 423 deletions(-) delete mode 100644 skolehjem/resources/js/calendar/calendar.js delete mode 100644 skolehjem/resources/js/calendar/month.js delete mode 100644 skolehjem/resources/views/app/layout/header.blade.php create mode 100644 skolehjem/resources/views/app/washing-reservations/create.blade.php diff --git a/skolehjem/resources/js/calendar/calendar.js b/skolehjem/resources/js/calendar/calendar.js deleted file mode 100644 index 767f96e..0000000 --- a/skolehjem/resources/js/calendar/calendar.js +++ /dev/null @@ -1,177 +0,0 @@ -const moment = require("moment"); - -function generateCalendar(weekOffset = 0) { - const week = (moment().week() + weekOffset); - - document.getElementById("title").innerText = week; - - let weekDays = Array.apply(null, Array(7)).map((value, index) => { - return moment(index, "e").locale("da").startOf("week").weekday(index).format("ddd"); - }); - // weekDays.push(weekDays.shift()); - - // console.log(week); - // console.log(weekDays); - - const calendar = document.getElementById("calendar"); - - let header = document.createElement("div"); - header.classList.add("calendar-table__header", "calendar-table__row"); - - let calendarBody = document.createElement("div"); - calendarBody.classList.add("calendar-table__body"); - - let calendarRow = document.createElement("div"); - calendarRow.classList.add("calendar-table__row") - calendarRow.id = "calenderRow"; - - weekDays.forEach(function (weekDay) { - let headerDay = document.createElement("div"); - headerDay.classList.add("calendar-table__col"); - - headerDay.innerText = weekDay; - - header.appendChild(headerDay); - - - let date = moment().locale("da").day(weekDay).week(week); - - // onDateSelect(date); - - let dayHolder = document.createElement("div"); - dayHolder.classList.add("calendar-table__col"); - - let day = document.createElement("div"); - day.classList.add("calendar-table__item"); - day.innerText = date.date(); - - dayHolder.appendChild(day); - - dayHolder.onclick = function() { - onDateSelect(date, dayHolder); - } - - calendarRow.appendChild(dayHolder); - }); - - calendarBody.appendChild(calendarRow); - - calendar.innerHTML = ""; - - calendar.appendChild(header); - calendar.appendChild(calendarBody); -} - -function onDateSelect(date, dayHolder) { - let events; - let machinez; - let buttonz; - - let container = document.getElementById("event-container"); - - NodeList.prototype.forEach = Array.prototype.forEach - var children = document.getElementById("calenderRow").childNodes; - - children.forEach(function(item){ - item.classList.remove("selected"); - }); - - dayHolder.classList.add("selected"); - - - axios({ - method: 'get', - url: '/washing-reservationsapi', - data: { date: date } - }).then(function (response) { - var data = response.data(); - console.log(data); - }); - - $.ajax({ - type: 'get', - url: "/washing-reservationsapi", - data: {'date': date}, - success:function (data) { - console.log(data); - - /*if(document.getElementById("washing-machines") != undefined) - machinez = document.getElementById("washing-machines"); - else { - let span = document.createElement("span"); - span.classList.add("events__title"); - span.innerText = "Maskiner"; - - let select = document.createElement("select"); - select.classList.add("events__title"); - select.id = "washing-machines"; - - container.appendChild(span); - container.appendChild(select); - - machinez = document.getElementById("washing-machines"); - } - if(document.getElementById("events") != undefined) - events = document.getElementById("events"); - else { - let span = document.createElement("span"); - span.classList.add("events__title"); - span.innerText = "Tider"; - - let select = document.createElement("select"); - select.classList.add("events__title"); - select.id = "events"; - - container.appendChild(span); - container.appendChild(select); - - events = document.getElementById("events"); - } - if(document.getElementById("create-reservation") != undefined) - buttonz = document.getElementById("create-reservation"); - else { - let button = document.createElement("button"); - - button.id = "create-reservation"; - button.innerText = "Reserver"; - - container.appendChild(button); - - buttonz = document.getElementById("events"); - } - - const machines = [ - "Maskine 1", - "Maskine 2" - ] - - machinez.innerHTML = ""; - for (let i = 0; i < machines.length; i++) { - let option = document.createElement("option"); - option.text = machines[i]; - - machinez.appendChild(option); - } - - - events.innerHTML = ""; - for (let hour = 8; hour <= 20; hour++) { - - let option = document.createElement("option"); - option.text = prependZero(hour); - - events.appendChild(option); - }*/ - }, - error:function (data) { - console.log("FEJL"); - console.log(data); - } - }); -} - -function prependZero(value) { - if(value < 10) - return "0" + value; - return value; -} diff --git a/skolehjem/resources/js/calendar/month.js b/skolehjem/resources/js/calendar/month.js deleted file mode 100644 index c271448..0000000 --- a/skolehjem/resources/js/calendar/month.js +++ /dev/null @@ -1,31 +0,0 @@ -class Month { - constructor(year, monthOffsetNormalized) { - this.year = year; - this.normalizedOffset = monthOffsetNormalized; - } - - init() { - this.firstDay = (new Date(this.year, month - 1)).getDay(); - - - } - - draw(render) { - this.clearRender(render); - - - } - - clearRender(render) { - let renderElement = document.getElementById(render); - renderElement.innerHTML = ""; - } - - createDay() { - - } - - countDays() { - return 32 - new Date(this.year, this.normalizedOffset - 1, 32).getDate(); - } -} diff --git a/skolehjem/resources/views/app/layout/base.blade.php b/skolehjem/resources/views/app/layout/base.blade.php index e2c9a11..ece30a4 100644 --- a/skolehjem/resources/views/app/layout/base.blade.php +++ b/skolehjem/resources/views/app/layout/base.blade.php @@ -25,7 +25,7 @@ Aktiviteter Aktiviteter - + Reservationer Reservationer diff --git a/skolehjem/resources/views/app/layout/header.blade.php b/skolehjem/resources/views/app/layout/header.blade.php deleted file mode 100644 index 73a27d1..0000000 --- a/skolehjem/resources/views/app/layout/header.blade.php +++ /dev/null @@ -1,34 +0,0 @@ -@section("header") -
- - - - - -
- -@endsection diff --git a/skolehjem/resources/views/app/washing-reservations/create.blade.php b/skolehjem/resources/views/app/washing-reservations/create.blade.php new file mode 100644 index 0000000..19c252f --- /dev/null +++ b/skolehjem/resources/views/app/washing-reservations/create.blade.php @@ -0,0 +1,213 @@ +@extends("app.layout.base") +@extends("app.layout.header") +@section("title") + Booking Liste +@endsection + +@section("content") +
+

Booking Liste

+
+
+
+ +

{Måned} {År}

+ +
+
+
+
+
+
+
+
+
+ @csrf +

+ Maskiner skal dynamisk opdateres alt efter om det er en fra bygning E eller en af de andre bygninger der vil vaske, da bygning E har egen vaskekælder! +

+
+
+
+@endsection + +@section("scripts") + + + +@endsection diff --git a/skolehjem/resources/views/app/washing-reservations/index.blade.php b/skolehjem/resources/views/app/washing-reservations/index.blade.php index 19c252f..fd31075 100644 --- a/skolehjem/resources/views/app/washing-reservations/index.blade.php +++ b/skolehjem/resources/views/app/washing-reservations/index.blade.php @@ -25,189 +25,10 @@ -
- @csrf -

- Maskiner skal dynamisk opdateres alt efter om det er en fra bygning E eller en af de andre bygninger der vil vaske, da bygning E har egen vaskekælder! -

-
+
@endsection @section("scripts") - - - @endsection