MDL-58301 block_myoverview: Show overdue items in Timeline
authorAndrew Nicols <andrew@nicols.co.uk>
Tue, 21 Mar 2017 02:53:47 +0000 (10:53 +0800)
committerDamyon Wiese <damyon@moodle.com>
Mon, 3 Apr 2017 03:37:08 +0000 (11:37 +0800)
Part of MDL-55611 epic.

blocks/myoverview/amd/build/event_list.min.js
blocks/myoverview/amd/build/event_list_by_course.min.js
blocks/myoverview/amd/src/event_list.js
blocks/myoverview/amd/src/event_list_by_course.js
blocks/myoverview/lang/en/block_myoverview.php
blocks/myoverview/templates/course-event-list.mustache
blocks/myoverview/templates/event-list-group.mustache
blocks/myoverview/templates/event-list.mustache

index e1dba0c..7ebbaf3 100644 (file)
Binary files a/blocks/myoverview/amd/build/event_list.min.js and b/blocks/myoverview/amd/build/event_list.min.js differ
index 32dfbb3..589626c 100644 (file)
Binary files a/blocks/myoverview/amd/build/event_list_by_course.min.js and b/blocks/myoverview/amd/build/event_list_by_course.min.js differ
index dbe2006..3c5147d 100644 (file)
@@ -230,7 +230,7 @@ define(['jquery', 'core/notification', 'core/templates',
             timeUntilContainerEnd = +container.attr('data-end-day') * SECONDS_IN_DAY,
             timeUntilEventNeedsAction = timeUntilEvent(todayTime, event);
 
-        if (!timeUntilContainerEnd) {
+        if (container.attr('data-end-day') === '') {
             return timeUntilContainerStart <= timeUntilEventNeedsAction;
         } else {
             return timeUntilContainerStart <= timeUntilEventNeedsAction &&
@@ -313,7 +313,11 @@ define(['jquery', 'core/notification', 'core/templates',
             courseId = +root.attr('data-course-id'),
             lastId = root.attr('data-last-id'),
             date = new Date(),
-            todayTime = Math.floor(date.setHours(0, 0, 0, 0) / 1000);
+            startTime;
+
+        date.setDate(date.getDate() - 14);
+        date.setHours(0, 0, 0, 0);
+        startTime = Math.floor(date / 1000);
 
         // Don't load twice.
         if (isLoading(root)) {
@@ -326,7 +330,7 @@ define(['jquery', 'core/notification', 'core/templates',
         // data then we will load our own.
         if (typeof promise == 'undefined') {
             var args = {
-                starttime: todayTime,
+                starttime: startTime,
                 limit: limit,
             };
 
index 8abf35e..26b74f6 100644 (file)
@@ -47,7 +47,9 @@ function($, EventList, EventsRepository) {
         }
 
         var date = new Date();
-        var todayTime = Math.floor(date.setHours(0, 0, 0, 0) / 1000);
+        date.setDate(date.getDate() - 14);
+        date.setHours(0, 0, 0, 0);
+        var startTime = Math.floor(date / 1000);
         var limit = courseBlocks.attr('data-limit');
         var courseIds = courseBlocks.map(function() {
             return $(this).attr('data-course-id');
@@ -58,7 +60,7 @@ function($, EventList, EventsRepository) {
         // there could be lots of them.
         var coursesPromise = EventsRepository.queryByCourses({
             courseids: courseIds,
-            starttime: todayTime,
+            starttime: startTime,
             limit: limit
         });
 
index 64dc24f..fd8c83f 100644 (file)
@@ -34,3 +34,4 @@ $string['pluginname'] = 'My overview';
 $string['sortbycourses'] = 'Sort by courses';
 $string['sortbydates'] = 'Sort by dates';
 $string['timeline'] = 'Timeline';
+$string['recentlyoverdue'] = 'Recently overdue';
index 3c3b8a8..6fea4da 100644 (file)
      id="event-list-container-{{$courseid}}{{/courseid}}">
 
     <div data-region="event-list-content">
+        {{< block_myoverview/event-list-group }}
+            {{$title}}{{#str}} recentlyoverdue, block_myoverview {{/str}}{{/title}}
+            {{$extratitleclasses}}text-danger{{/extratitleclasses}}
+            {{$startday}}-14{{/startday}}
+            {{$endday}}0{{/endday}}
+            {{$eventlistitems}}
+                {{> block_myoverview/course-event-list-items }}
+            {{/eventlistitems}}
+        {{/ block_myoverview/event-list-group }}
         {{< block_myoverview/event-list-group }}
             {{$title}}{{#str}} today {{/str}}{{/title}}
+            {{$extratitleclasses}}{{/extratitleclasses}}
             {{$startday}}0{{/startday}}
             {{$endday}}1{{/endday}}
             {{$eventlistitems}}
@@ -41,6 +51,7 @@
         {{/ block_myoverview/event-list-group }}
         {{< block_myoverview/event-list-group }}
             {{$title}}{{#str}} next7days, block_myoverview {{/str}}{{/title}}
+            {{$extratitleclasses}}{{/extratitleclasses}}
             {{$startday}}1{{/startday}}
             {{$endday}}7{{/endday}}
             {{$eventlistitems}}
@@ -49,6 +60,7 @@
         {{/ block_myoverview/event-list-group }}
         {{< block_myoverview/event-list-group }}
             {{$title}}{{#str}} next30days, block_myoverview {{/str}}{{/title}}
+            {{$extratitleclasses}}{{/extratitleclasses}}
             {{$startday}}7{{/startday}}
             {{$endday}}30{{/endday}}
             {{$eventlistitems}}
@@ -57,8 +69,9 @@
         {{/ block_myoverview/event-list-group }}
         {{< block_myoverview/event-list-group }}
             {{$title}}{{#str}} future, block_myoverview {{/str}}{{/title}}
+            {{$extratitleclasses}}{{/extratitleclasses}}
             {{$startday}}30{{/startday}}
-            {{$endday}}0{{/endday}}
+            {{$endday}}{{/endday}}
             {{$eventlistitems}}
                 {{> block_myoverview/course-event-list-items }}
             {{/eventlistitems}}
index bac74d6..340fdcb 100644 (file)
@@ -66,7 +66,7 @@
      data-end-day="{{$endday}}{{/endday}}"
      class="hidden">
 
-    <h5 class="h6 m-t-1" id="event-list-title-{{uniqid}}"><strong>{{$title}}{{/title}}</strong></h5>
+    <h5 class="h6 m-t-1 {{$extratitleclasses}}{{/extratitleclasses}}" id="event-list-title-{{uniqid}}"><strong>{{$title}}{{/title}}</strong></h5>
     <ul class="list-group unstyled" data-region="event-list" aria-describedby="event-list-title-{{uniqid}}">
         {{$eventlistitems}}
             {{> block_myoverview/event-list-items }}
index cd98ed8..898acd9 100644 (file)
      id="event-list-container-{{$courseid}}{{/courseid}}">
 
     <div data-region="event-list-content">
+        {{< block_myoverview/event-list-group }}
+            {{$title}}{{#str}} recentlyoverdue, block_myoverview {{/str}}{{/title}}
+            {{$extratitleclasses}}text-danger{{/extratitleclasses}}
+            {{$startday}}-14{{/startday}}
+            {{$endday}}0{{/endday}}
+        {{/ block_myoverview/event-list-group }}
         {{< block_myoverview/event-list-group }}
             {{$title}}{{#str}} today {{/str}}{{/title}}
+            {{$extratitleclasses}}{{/extratitleclasses}}
             {{$startday}}0{{/startday}}
             {{$endday}}1{{/endday}}
         {{/ block_myoverview/event-list-group }}
         {{< block_myoverview/event-list-group }}
             {{$title}}{{#str}} next7days, block_myoverview {{/str}}{{/title}}
+            {{$extratitleclasses}}{{/extratitleclasses}}
             {{$startday}}1{{/startday}}
             {{$endday}}7{{/endday}}
         {{/ block_myoverview/event-list-group }}
         {{< block_myoverview/event-list-group }}
             {{$title}}{{#str}} next30days, block_myoverview {{/str}}{{/title}}
+            {{$extratitleclasses}}{{/extratitleclasses}}
             {{$startday}}7{{/startday}}
             {{$endday}}30{{/endday}}
         {{/ block_myoverview/event-list-group }}
         {{< block_myoverview/event-list-group }}
             {{$title}}{{#str}} future, block_myoverview {{/str}}{{/title}}
+            {{$extratitleclasses}}{{/extratitleclasses}}
             {{$startday}}30{{/startday}}
-            {{$endday}}0{{/endday}}
+            {{$endday}}{{/endday}}
         {{/ block_myoverview/event-list-group }}
 
         <div class="text-xs-center text-center m-y-2">