UNPKG

@tutor/exercise-list

Version:
69 lines (62 loc) 2.7 kB
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.exerciseList = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){ module.exports = function(ko) { var ExerciseViewModel, OverviewPageViewModel; ExerciseViewModel = (function() { function ExerciseViewModel(data) { this.id = data.id; this.number = data.number; this.dueDate = ko.observable(new Date(Date.parse(data.dueDate))); this.points = 2; this.maxPoints = data.tasks.reduce((function(previousValue, currentValue) { return previousValue + currentValue.maxPoints; }), 0); this.formattedDueDate = ko.computed((function(_this) { return function() { return _this.dueDate().toLocaleDateString(); }; })(this)); this.isOld = ko.computed((function(_this) { return function() { return _this.dueDate().getTime() < Date.now(); }; })(this)); } return ExerciseViewModel; })(); OverviewPageViewModel = (function() { function OverviewPageViewModel() { this.exercises = ko.observableArray(); this.getExercises((function(_this) { return function(exercises) { return _this.exercises(exercises.map(function(e) { return _this.createExerciseViewModel(e); }).sort(function(a, b) { if (a.isOld()) { if (b.isOld()) { return 0; } else { return 1; } } else { if (b.isOld()) { return 1; } else { return 0; } } })); }; })(this)); } OverviewPageViewModel.prototype.createExerciseViewModel = function(e) { return new ExerciseViewModel(e); }; return OverviewPageViewModel; })(); return { ExerciseViewModel: ExerciseViewModel, OverviewPageViewModel: OverviewPageViewModel }; }; },{}]},{},[1])(1) });