Team:WITS-CSIR SA/client/CalendarModel.js
From 2011.igem.org
Line 73: | Line 73: | ||
this.months.add(new Month({ name: 'September' })); | this.months.add(new Month({ name: 'September' })); | ||
- | + | ||
}, | }, | ||
year: null, | year: null, | ||
Line 152: | Line 152: | ||
$.fling('subscribe', 'ready', function () { | $.fling('subscribe', 'ready', function () { | ||
var calendar = new Calendar(), week = null, month = null; | var calendar = new Calendar(), week = null, month = null; | ||
- | |||
- | |||
- | |||
month = calendar.year.getMonth('february'); | month = calendar.year.getMonth('february'); | ||
Line 190: | Line 187: | ||
week = new Week({ name: 'Week 4' }); | week = new Week({ name: 'Week 4' }); | ||
week.days.add(new Day({ name: 'Saturday', content: '<p>Standard PCR of CheZ from genomic DNA</p>' })); | week.days.add(new Day({ name: 'Saturday', content: '<p>Standard PCR of CheZ from genomic DNA</p>' })); | ||
- | |||
- | |||
- | month | + | month.weeks.add(week); |
- | + | month = calendar.year.getMonth('june'); | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | month.weeks.add(week); | + | week = new Week({ name: 'Week 5' }); |
+ | week.days.add(new Day({ name: 'Monday', content: '<p>CheZ extraction and purification(Did not work).</p>' })); | ||
+ | week.days.add(new Day({ name: 'Tuesday', content: '<p>Gradient PCR of CheZ from genomic DNA</p>' + | ||
+ | '<p>Digested lox66 and lo71. Ligated into the PSB1C3 backbone (Did not work)</p>' + | ||
+ | '<p>Round one ThRS1-CheZ, ThRS2-CheZ, ThRS1-Venus and ThRS2-Venus standard PCR (ThRS1-Venus did not work) </p>' + | ||
+ | '<p>Round one AtRS-cheZ standard PCR (Worked) </p>' + | ||
+ | '<p>Round one AtRS-mRFP1 standard PCR (Did not work)</p>' + | ||
+ | '<p>mRFP1 C-Fusion standard PCR (Did not work)</p>' + | ||
+ | '<p>Venus C-Fusion PCR (Did not work)</p>' | ||
+ | })); | ||
+ | |||
+ | month.weeks.add(week); | ||
month = calendar.year.getMonth('july'); | month = calendar.year.getMonth('july'); | ||
Line 227: | Line 225: | ||
week.days.add(new Day({ name: 'Wednesday', content: '<p>This is a test</p>' })); | week.days.add(new Day({ name: 'Wednesday', content: '<p>This is a test</p>' })); | ||
month.weeks.add(week); | month.weeks.add(week); | ||
- | |||
calendar.render(); | calendar.render(); | ||
}); | }); | ||
}); | }); |
Revision as of 09:47, 19 September 2011
/// <reference path="../../js/lib/backbone.js" /> /// <reference path="../../js/lib/underscore.js" /> /// <reference path="../../js/lib/jlayout.border.js" /> /// <reference path="../../js/lib/jquery-1.5.1.min.js" /> /// <reference path="../../js/lib/jquery-ui-1.8.14.custom.min.js" /> /// <reference path="../../js/lib/jQuery.BlockUI.js" /> /// <reference path="../../js/lib/jquery.fling.js" /> /// <reference path="../../js/lib/jquery.jlayout.js" /> /// <reference path="../../js/lib/jquery.sizes.js" /> /// <reference path="../../js/lib/modernizr-1.7.min.js" /> /// <reference path="../../js/lib/sammy-latest.min.js" /> /// <reference path="../../js/common.js" />
$(function () {
var Day = Backbone.Model.extend({ name: null, content: null });
var Days = Backbone.Collection.extend({ initialize: function (models, options) { this.opts = options; }, hasContent: function () { return this.length > 0; } });
var Week = Backbone.Model.extend({ initialize: function () { this.days = new Days(null, { Week: this }); }, name: null, hasContent: function () { return this.days.hasContent(); } });
var Weeks = Backbone.Collection.extend({ initialize: function (models, options) { this.opts = options; }, hasContent: function () { for (var i = 0; i < this.length; i++) if (this.models[i].hasContent()) { return true; }
return false; } });
var Month = Backbone.Model.extend({ initialize: function () { this.weeks = new Weeks(null, { Month: this }); }, name: null, hasContent: function () { return this.weeks.hasContent(); } });
var Months = Backbone.Collection.extend({ initialize: function (models, options) { this.opts = options; } });
var Year = Backbone.Model.extend({ initialize: function () { this.months = new Months(null, { Year: this }); this.months.add(new Month({ name: 'February' })); this.months.add(new Month({ name: 'March' })); this.months.add(new Month({ name: 'April' })); this.months.add(new Month({ name: 'May' })); this.months.add(new Month({ name: 'June' })); this.months.add(new Month({ name: 'July' })); this.months.add(new Month({ name: 'August' })); this.months.add(new Month({ name: 'September' }));
}, year: null, getMonth: function (name) { var caller = this; var m = $.grep(caller.months.models, function (n, i) { return n.get('name').toLowerCase() == name.toLowerCase(); });
return m.length > 0 ? m[0] : null; }, hasContent: function () { return this.months.hasContent(); } });
var Calendar = Backbone.View.extend({ el: $('div.calendar'), initialize: function () { this.year = new Year({ year: 2011 });this.template = '
' +
'
' <% } %>' + ' <% }); %>' +' ' + ' | ' +
' ' +
' <% _.forEach(year.months.models, function(month) { %>' + ' <% if(month.hasContent()){ %>' + ' <div class="month <%= month.get(\'name\') %>" id="<%= month.get(\'name\') + \'_\' + month.cid %>">' +'
' <% }); %>' +' ' + ' <% _.forEach(month.weeks.models, function(week) { %>' + ' <div id="<%= month.get(\'name\') + \'_week_\' + week.cid %>">' + ' <% _.forEach(week.days.models, function(day) { %>' +' <%= day.get(\'name\') %>' +' <%= day.get(\'content\') %>' + ' <% }); %>' + ' </div>' + ' <% }); %>' + ' </div>' + ' <% } %>' + ' <% }); %>' +' | ' +
'