PageRenderTime 38ms CodeModel.GetById 8ms RepoModel.GetById 0ms app.codeStats 0ms

/kalite/coachreports/static/js/coachreports/student_progress/models.js

https://gitlab.com/gregtyka/ka-lite
JavaScript | 40 lines | 30 code | 9 blank | 1 comment | 0 complexity | 13815a6ed21d98b61460e4df1ec74cbc MD5 | raw file
  1. var Backbone = require("base/backbone");
  2. var sprintf = require("sprintf-js").sprintf;
  3. var PlaylistProgressModel = Backbone.Model.extend();
  4. var PlaylistProgressDetailModel = Backbone.Model.extend();
  5. // Collections
  6. var PlaylistProgressCollection = Backbone.Collection.extend({
  7. model: PlaylistProgressModel,
  8. initialize: function(model, options) {
  9. this.user_id = options.user_id;
  10. },
  11. url: function() {
  12. return sprintf("%(playlist_url)s?user_id=%(user_id)s", {"playlist_url": PLAYLIST_PROGRESS_URL, "user_id": this.user_id});
  13. }
  14. });
  15. var PlaylistProgressDetailCollection = Backbone.Collection.extend({
  16. model: PlaylistProgressDetailModel,
  17. initialize: function(models, options) {
  18. this.playlist_id = options.playlist_id;
  19. this.user_id = options.user_id;
  20. },
  21. url: function() {
  22. var base = sprintf("%(playlist_url)s?user_id=%(user_id)s&playlist_id=", {"playlist_url": PLAYLIST_PROGRESS_DETAIL_URL, "user_id": this.user_id});
  23. return base + this.playlist_id;
  24. }
  25. });
  26. module.exports = {
  27. PlaylistProgressModel: PlaylistProgressModel,
  28. PlaylistProgressDetailModel: PlaylistProgressDetailModel,
  29. PlaylistProgressCollection: PlaylistProgressCollection,
  30. PlaylistProgressDetailCollection: PlaylistProgressDetailCollection
  31. };