From 3ea939c3ce3a662230f9981feb9da4fc87ab8b7d Mon Sep 17 00:00:00 2001 From: Matt Isenhower Date: Tue, 12 Sep 2017 16:29:51 -0700 Subject: [PATCH] Make it easier to add Salmon Run dates --- .../splatoon/SalmonRunAdminDialog.vue | 89 +++++++++++++++++-- 1 file changed, 83 insertions(+), 6 deletions(-) diff --git a/src/js/components/splatoon/SalmonRunAdminDialog.vue b/src/js/components/splatoon/SalmonRunAdminDialog.vue index c345f6d..db738c6 100644 --- a/src/js/components/splatoon/SalmonRunAdminDialog.vue +++ b/src/js/components/splatoon/SalmonRunAdminDialog.vue @@ -7,12 +7,12 @@

Salmon Run Times

-
- {{ event.start_time | date }} - {{ event.start_time | time }} - – - {{ event.end_time | date }} - {{ event.end_time | time }} +
+ {{ event.start_time | date }} + {{ event.start_time | time }} + – + {{ event.end_time | date }} + {{ event.end_time | time }}
@@ -32,7 +32,39 @@
+ +
+ +
+
+ +
+ +
+ +
+ +  –  + +
+ +
+ +
+ +
+ + +
@@ -85,6 +117,12 @@ export default { weaponSearchTerm: '', schedules: null, selectedSchedule: null, + dates: [], + times: [], + selectedStartDate: null, + selectedStartTime: null, + selectedEndDate: null, + selectedEndTime: null, }; }, computed: { @@ -97,6 +135,29 @@ export default { }, }, created() { + // Set up dates/times + for (let i = 0; i < 20; i++) { + let date = new Date; + date.setHours(0); + date.setMinutes(0); + date.setSeconds(0); + date.setDate(date.getDate() + i); + this.dates.push(Math.floor(date.getTime() / 1000)); + } + this.selectedStartDate = this.dates[0]; + this.selectedEndDate = this.dates[0]; + + for (let i = 0; i < 24; i++) { + let date = new Date; + date.setHours(i); + date.setMinutes(0); + date.setSeconds(0); + this.times.push(Math.floor(date.getTime() / 1000)); + } + this.selectedStartTime = this.times[0]; + this.selectedEndTime = this.times[0]; + + // Update weapons this.updateWeapons(); // Load existing weapon/map selections @@ -132,6 +193,22 @@ export default { if (!schedule.weapons.length) Vue.delete(schedule, 'weapons'); }, + removeSchedule(schedule) { + let index = this.schedules.indexOf(schedule); + this.schedules.splice(index, 1); + }, + addSchedule() { + let startTime = new Date(this.selectedStartDate * 1000); + startTime.setHours((new Date(this.selectedStartTime * 1000)).getHours()); + + let endTime = new Date(this.selectedEndDate * 1000); + endTime.setHours((new Date(this.selectedEndTime * 1000)).getHours()); + + this.schedules.push({ + start_time: Math.floor(startTime.getTime() / 1000), + end_time: Math.floor(endTime.getTime() / 1000), + }) + }, }, }