From 0a1e7f9f2035a33dbec3a03515f716638d6383ee Mon Sep 17 00:00:00 2001 From: kappa4head Date: Fri, 11 Aug 2017 12:44:30 +0200 Subject: [PATCH 1/2] Added Event IDs and removeEvent() function The removeEvent() function allows removal of events by their ID --- dist/scripts/timetable.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/dist/scripts/timetable.js b/dist/scripts/timetable.js index c7ecb6a..903e286 100644 --- a/dist/scripts/timetable.js +++ b/dist/scripts/timetable.js @@ -11,6 +11,8 @@ var Timetable = function() { this.events = []; }; +var id = 0; + Timetable.Renderer = function(tt) { if (!(tt instanceof Timetable)) { throw new Error('Initialize renderer using a Timetable'); @@ -94,7 +96,18 @@ Timetable.Renderer = function(tt) { }); return this; - } + }, + removeEvent: function(id){ + var index; + for(var i = 0; i < this.events.length; i++){ + if(this.events[i].id == id){ + index = i; + } + } + if (index > -1) { + this.events.splice(index, 1); + } + } }; function emptyNode(node) { @@ -199,6 +212,7 @@ Timetable.Renderer = function(tt) { aNode.className = hasAdditionalClass ? 'time-entry ' + event.options.class : 'time-entry'; aNode.style.width = computeEventBlockWidth(event); aNode.style.left = computeEventBlockOffset(event); + aNode.id = event.id; smallNode.textContent = event.name; } function computeEventBlockWidth(event) { From 5870f889215d75e247ba6f3a8d131c1dfbdd3b1e Mon Sep 17 00:00:00 2001 From: kappa4head Date: Mon, 14 Aug 2017 15:22:41 +0200 Subject: [PATCH 2/2] ID is now assigned in addEvent() Added a line that assigns an ID to a timetable - entry item on its creation in addEvent() --- dist/scripts/timetable.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dist/scripts/timetable.js b/dist/scripts/timetable.js index 903e286..fce040f 100644 --- a/dist/scripts/timetable.js +++ b/dist/scripts/timetable.js @@ -1,3 +1,4 @@ +/* eslint-disable multiline-ternary */ /*jshint -W079*/ 'use strict'; @@ -92,9 +93,10 @@ Timetable.Renderer = function(tt) { location: location, startDate: start, endDate: end, - options: optionsHasValidType ? options : undefined + options: optionsHasValidType ? options : undefined, + id: "time-entry-" + id }); - + id++; return this; }, removeEvent: function(id){