MDL-58098 block_myoverview: various fixes
authorSimey Lameze <simey@moodle.com>
Tue, 28 Feb 2017 08:14:21 +0000 (16:14 +0800)
committerDamyon Wiese <damyon@moodle.com>
Mon, 3 Apr 2017 03:36:33 +0000 (11:36 +0800)
- remove unnecessary amd modules
- fix wrong template names
- fix undefined variable JS error

Part of MDL-55611 epic.

blocks/myoverview/amd/build/calendar_events_repository.min.js
blocks/myoverview/amd/build/courses_view.min.js [deleted file]
blocks/myoverview/amd/build/courses_view_repository.min.js [deleted file]
blocks/myoverview/amd/src/calendar_events_repository.js
blocks/myoverview/amd/src/courses_view.js [deleted file]
blocks/myoverview/amd/src/courses_view_repository.js [deleted file]
blocks/myoverview/templates/course-paging-content-item.mustache
blocks/myoverview/templates/courses-view-by-status.mustache
blocks/myoverview/templates/courses-view-course-item.mustache
blocks/myoverview/templates/paging-content-item.mustache
blocks/myoverview/templates/paging-content.mustache

index 2d4e643..54e286b 100644 (file)
Binary files a/blocks/myoverview/amd/build/calendar_events_repository.min.js and b/blocks/myoverview/amd/build/calendar_events_repository.min.js differ
diff --git a/blocks/myoverview/amd/build/courses_view.min.js b/blocks/myoverview/amd/build/courses_view.min.js
deleted file mode 100644 (file)
index 25036fb..0000000
Binary files a/blocks/myoverview/amd/build/courses_view.min.js and /dev/null differ
diff --git a/blocks/myoverview/amd/build/courses_view_repository.min.js b/blocks/myoverview/amd/build/courses_view_repository.min.js
deleted file mode 100644 (file)
index 468a5f9..0000000
Binary files a/blocks/myoverview/amd/build/courses_view_repository.min.js and /dev/null differ
index 141bbb4..5e64dd2 100644 (file)
@@ -807,7 +807,7 @@ define(['jquery', 'core/ajax', 'core/notification'], function($, Ajax, Notificat
 
     var groupEventsByCourseAndTime = function(courseId, startTime, limit, offset) {
         var eventsByCourse = {};
-
+        var events = {};
         $.each(dataCache, function(index, value) {
             if (!eventsByCourse[value.courseid]) {
                 eventsByCourse[value.courseid] = {
@@ -822,8 +822,13 @@ define(['jquery', 'core/ajax', 'core/notification'], function($, Ajax, Notificat
             eventsByCourse[value.courseid].calendarEvents.push(value);
         });
 
+        if (typeof eventsByCourse[courseId] !== 'undefined') {
+            // There are events for this course.
+            events = eventsByCourse[courseId].calendarEvents.slice(offset, offset + limit);
+        }
+
         return {
-            events: eventsByCourse[courseId].calendarEvents.slice(offset, offset + limit),
+            events: events
         };
     };
 
diff --git a/blocks/myoverview/amd/src/courses_view.js b/blocks/myoverview/amd/src/courses_view.js
deleted file mode 100644 (file)
index a47d42f..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-/**
- * Javascript module to load courses view actions.
- *
- * @module     block_myoverview/courses-view
- * @package    block_myoverview
- * @copyright  2016 Simey Lameze <simey@moodle.com>
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-define(['jquery', 'core/templates', 'block_myoverview/courses_view_repository', 'core/notification'],
-    function($, Templates, CoursesRepository, Notification) {
-
-    var SELECTORS = {
-        COURSES_IN_PROGRESS_CONTAINER: '[data-region="courses-in-progress-container"]',
-        LOADING_ICON_CONTAINER: '[data-region="loading-icon-container"]'
-    };
-
-    /**
-     * Load the module.
-     *
-     * @method load
-     * @param {Object} root The root element of courses view by status.
-     * @param {Object} pagingRoot The root element of paging bar.
-     */
-    var load = function(root, pagingRoot) {
-
-        root = $(root);
-
-        var limit  = +root.attr('data-limit'),
-            offset = +root.attr('data-offset'),
-            status = root.attr('data-status'),
-            total = CoursesRepository.getTotalByStatus('past');
-
-        // Don't load twice.
-        if (isLoading(root)) {
-            return $.Deferred().resolve();
-        }
-
-
-        // Request data from the server.
-        return CoursesRepository.queryFromStatus(status, limit, offset).then(function(courses) {
-
-            if (!courses.length || (courses.length < limit)) {
-                // We have no more events so mark the list as done.
-                setLoadedAll(root);
-            }
-
-            if (courses.length) {
-                root.attr('data-offset', offset + courses.length);
-
-                // Render the courses.
-                render(root, courses);
-
-            }
-        }).fail(
-            Notification.exception
-        ).always(function() {
-            stopLoading(root);
-
-            renderPagingBar(pagingRoot, limit, total);
-        });
-    };
-
-
-    /**
-     * Render the list of courses.
-     *
-     * @param root
-     * @param courses
-     */
-    var render = function(root, courses) {
-        root = $(root);
-
-        // We need to delete the content before append the new content.
-        root.empty();
-
-        $.each(courses, function(index, value) {
-            Templates.render(
-                'block_myoverview/courses-view-course-item', value
-            ).done(function(html, js) {
-                Templates.appendNodeContents(root, html, js);
-            });
-        });
-    };
-
-    return {
-        init: function(root, pagingRoot) {
-            root = $(root);
-            pagingRoot = $(pagingRoot);
-
-            registerEventListener(root, pagingRoot);
-            load(root, pagingRoot);
-        }
-    };
-});
diff --git a/blocks/myoverview/amd/src/courses_view_repository.js b/blocks/myoverview/amd/src/courses_view_repository.js
deleted file mode 100644 (file)
index 6e8720b..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-// This file is part of Moodle - http://moodle.org/
-//
-// Moodle is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// Moodle is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
-
-/**
- * A javascript module to retrieve courses from the server.
- *
- * @module     block_myoverview/courses_view_repository
- * @package    block_myoverview
- * @copyright  2017 Simey Lameze <simey@moodle.com>
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-define(['jquery'], function($) {
-
-    var STATUS = {
-        PAST: 0,
-        IN_PROGRESS: 1,
-        FUTURE: 2
-    },
-
-    dataCache = {
-        0: [
-            {
-                courseid: 1,
-                shortname: 'Course 1',
-                summary: 'This is a brief summary of course 1',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 2,
-                shortname: 'Course 2',
-                summary: 'This is a brief summary of course 2',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 3,
-                shortname: 'Course 3',
-                summary: 'This is a brief summary of course 3',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 4,
-                shortname: 'Course 4',
-                summary: 'This is a brief summary of course 4',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 5,
-                shortname: 'Course 5',
-                summary: 'This is a brief summary of course 5',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 6,
-                shortname: 'Course 6',
-                summary: 'This is a brief summary of course 6',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 7,
-                shortname: 'Course 7',
-                summary: 'This is a brief summary of course 7',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 8,
-                shortname: 'Course 8',
-                summary: 'This is a brief summary of course 8',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 9,
-                shortname: 'Course 9',
-                summary: 'This is a brief summary of course 9',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 10,
-                shortname: 'Course 10',
-                summary: 'This is a brief summary of course 10',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 11,
-                shortname: 'Course 11',
-                summary: 'This is a brief summary of course 11',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            },
-            {
-                courseid: 12,
-                shortname: 'Course 12',
-                summary: 'This is a brief summary of course 12',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.PAST
-            }
-        ],
-        1: [
-            {
-                courseid: 13,
-                shortname: 'Course 13',
-                summary: 'This is a brief summary of course 13',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 14,
-                shortname: 'Course 14',
-                summary: 'This is a brief summary of course 14',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 15,
-                shortname: 'Course 15',
-                summary: 'This is a brief summary of course 15',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 16,
-                shortname: 'Course 16',
-                summary: 'This is a brief summary of course 16',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 17,
-                shortname: 'Course 17',
-                summary: 'This is a brief summary of course 17',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 18,
-                shortname: 'Course 18',
-                summary: 'This is a brief summary of course 18',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 19,
-                shortname: 'Course 19',
-                summary: 'This is a brief summary of course 19',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 20,
-                shortname: 'Course 20',
-                summary: 'This is a brief summary of course 20',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 21,
-                shortname: 'Course 21',
-                summary: 'This is a brief summary of course 21',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 22,
-                shortname: 'Course 22',
-                summary: 'This is a brief summary of course 22',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 23,
-                shortname: 'Course 23',
-                summary: 'This is a brief summary of course 23',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 24,
-                shortname: 'Course 24',
-                summary: 'This is a brief summary of course 24',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            },
-            {
-                courseid: 25,
-                shortname: 'Course 25',
-                summary: 'This is a brief summary of course 25',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.IN_PROGRESS
-            }
-        ],
-        2: [
-            {
-                courseid: 26,
-                shortname: 'Course 26',
-                summary: 'This is a brief summary of course 26',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 27,
-                shortname: 'Course 27',
-                summary: 'This is a brief summary of course 27',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 28,
-                shortname: 'Course 28',
-                summary: 'This is a brief summary of course 28',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 29,
-                shortname: 'Course 29',
-                summary: 'This is a brief summary of course 29',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 30,
-                shortname: 'Course 30',
-                summary: 'This is a brief summary of course 30',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 31,
-                shortname: 'Course 31',
-                summary: 'This is a brief summary of course 31',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 32,
-                shortname: 'Course 32',
-                summary: 'This is a brief summary of course 32',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 33,
-                shortname: 'Course 33',
-                summary: 'This is a brief summary of course 33',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 34,
-                shortname: 'Course 34',
-                summary: 'This is a brief summary of course 34',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 35,
-                shortname: 'Course 35',
-                summary: 'This is a brief summary of course 35',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 36,
-                shortname: 'Course 36',
-                summary: 'This is a brief summary of course 36',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            },
-            {
-                courseid: 37,
-                shortname: 'Course 37',
-                summary: 'This is a brief summary of course 37',
-                startdate: 'Oct 1, 2016',
-                enddate: 'Oct 6, 2016',
-                status: STATUS.FUTURE
-            }
-        ]
-    };
-
-    /**
-     * Retrieve a list of courses by status.
-     *
-     * @method queryFromStatus
-     * @param {int}         status      The status of the course.
-     * @param {int}         limit       Limit the number of results returned
-     * @param {int}         offset      Offset the result set by the given amount
-     * @return {promise}    Resolved with an array of courses
-     */
-    var queryFromStatus = function(status, limit, offset) {
-        var deferred = $.Deferred();
-        offset = parseInt(offset);
-        limit = parseInt(limit);
-        setTimeout(function() {
-            deferred.resolve(dataCache[status].slice(offset, offset + limit));
-        }, 1000);
-
-        return deferred.promise();
-    };
-
-    /**
-     * Get the number of courses by status (past, inprogress and future).
-     *
-     * @param {String} status Status of the course to be fetched.
-     * @returns {int} Total of course by status.
-     */
-    var getTotalByStatus = function(status) {
-        return dataCache[status].length;
-    };
-
-    return {
-        queryFromStatus: queryFromStatus,
-        getTotalByStatus: getTotalByStatus
-    };
-});
index 02063c6..57d4dc3 100644 (file)
@@ -15,7 +15,7 @@
     along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 }}
 {{!
-    @template block_myoverview/paging-bar
+    @template block_myoverview/course-paging-content-item
 
     This template renders the each course block containing a summary and calendar events.
 
index 91d7d12..ea7f72d 100644 (file)
@@ -15,7 +15,7 @@
     along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 }}
 {{!
-    @template block_myoverview/courses-view
+    @template block_myoverview/courses-view-by-status
 
     This template renders the courses view for the myoverview block.
 
@@ -23,7 +23,6 @@
     {}
 }}
 <div id="{{$id}}courses-view-status-{{uniqid}}{{/id}}"
-     data-limit="{{$limit}}6{{/limit}}"
      data-status="{{$status}}{{/status}}">
 
     {{> block_myoverview/course-paging-content }}
index c72d9f3..8e7fd2f 100644 (file)
@@ -15,7 +15,7 @@
     along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 }}
 {{!
-    @template block_myoverview/course-summary
+    @template block_myoverview/course-view-course-item
 
     This template renders the course summary (view by courses) for the myoverview block.
 
index 8a2e43f..4021a56 100644 (file)
@@ -15,7 +15,7 @@
     along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 }}
 {{!
-    @template block_myoverview/paging-bar
+    @template block_myoverview/paging-content-item
 
     This template renders the each course block containing a summary and calendar events.
 
index 4728e8b..5fbc5c2 100644 (file)
@@ -15,7 +15,7 @@
     along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
 }}
 {{!
-    @template block_myoverview/paging-bar
+    @template block_myoverview/paging-content
 
     This template renders the each course block containing a summary and calendar events.