PageRenderTime 25ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/assets/js/dashboard/timesheet.js

https://gitlab.com/oytunistrator/92five
JavaScript | 65 lines | 63 code | 0 blank | 2 comment | 3 complexity | 77c30eb4776daf3d39317854dda63238 MD5 | raw file
  1. var url = window.location.href;
  2. var tempurl = url.split('dashboard')[0];
  3. var TimesheetEntryModel = Backbone.Model.extend({});
  4. var TimesheetEntryList = Backbone.Collection.extend({
  5. model: TimesheetEntryModel,
  6. initialize: function(models, options) {
  7. this.selectedDate = options.selectedDate;
  8. this.fetch({
  9. 'reset': true
  10. });
  11. },
  12. url: function() {
  13. return tempurl + 'dashboard/timesheet/entry/' + this.selectedDate;
  14. }
  15. });
  16. var TimesheetEntryView = Backbone.View.extend({
  17. template: _.template($('#timesheet-entry').html()),
  18. initialize: function() {
  19. this.model.on('change', this.render, this);
  20. },
  21. events: {
  22. "click .delevent": "deleteEvent"
  23. },
  24. deleteEvent: function(e) {
  25. var eventid = $(e.target).attr('eventid');
  26. //alert(eventid);
  27. $('#entryId').attr('value', eventid);
  28. $('#myModal-item-delete').modal('show');
  29. },
  30. render: function() {
  31. // console.log(this.model.toJSON());
  32. this.$el.html(this.template(this.model.toJSON()));
  33. return this;
  34. }
  35. });
  36. var TimesheetView = Backbone.View.extend({
  37. el: '#timesheet-detail',
  38. initialize: function() {
  39. _.bindAll(this, "render");
  40. this.collection.bind('reset', this.render, this);
  41. },
  42. render: function() {
  43. if (this.collection.length == 0) {
  44. $('#timesheet-detail').empty();
  45. this.$el.append("<div><div class=nodatadisplay_main><div class=nodatadisplay><h2>Sorry. Couldn't find any entry for this day.</h2><div class=nodata_inner><div class=nodata_left></div><div class=nodata_right></div><div class=nodata_detail_2><img src=" + tempurl + "assets/images/dashboard/smile_icon.png alt=></div></div></div></div></div>");
  46. } else {
  47. $('#timesheet-detail').empty();
  48. this.collection.forEach(this.addOne, this);
  49. }
  50. },
  51. addOne: function(eventItem) {
  52. var starttimeformat = moment(eventItem.get('start_time'), 'hh:mm:ss').format('h:mm a');
  53. var endtimeformat = moment(eventItem.get('end_time'), 'hh:mm:ss').format('h:mm a');
  54. eventItem.set({
  55. 'start_time': starttimeformat
  56. });
  57. eventItem.set({
  58. 'end_time': endtimeformat
  59. });
  60. var eventsTempView = new TimesheetEntryView({
  61. model: eventItem
  62. });
  63. this.$el.append(eventsTempView.render().el);
  64. }
  65. });