Skip to content

Commit

Permalink
Bug 791395 - Remove live pan in favor of swipe. Week view frame group…
Browse files Browse the repository at this point in the history
…ing. r=michalbe
  • Loading branch information
lightsofapollo committed Oct 4, 2012
1 parent 70d10f6 commit 24a7ef0
Show file tree
Hide file tree
Showing 22 changed files with 746 additions and 1,291 deletions.
6 changes: 3 additions & 3 deletions apps/calendar/index.html
Expand Up @@ -82,14 +82,14 @@
<script defer src="/js/views/calendar_colors.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/time_header.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/day_based.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/time_parent.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/month.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/month_child.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/day_child.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/week_child.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/months_day.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/time_parent.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/month.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/day.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/week.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/week_child.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/settings.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/advanced_settings.js" type="text/javascript" charset="utf-8"></script>
<script defer src="/js/views/create_account.js" type="text/javascript" charset="utf-8"></script>
Expand Down
20 changes: 13 additions & 7 deletions apps/calendar/js/calc.js
Expand Up @@ -401,14 +401,22 @@ Calendar.Calc = (function() {
);
},

/**
* Returns localized day of week.
*/
dayOfWeek: function(date) {
// XXX: we need to localize this further.
return date.getDay();
},

/**
* Finds localized week start date of given date.
*
* @param {Date} date any day the week.
* @return {Date} first date in the week of given date.
*/
getWeekStartDate: function(date) {
var currentDay = date.getDay();
var currentDay = Calc.dayOfWeek(date);
var startDay = date.getDate() - currentDay;

return Calc.createDay(date, startDay);
Expand Down Expand Up @@ -489,12 +497,10 @@ Calendar.Calc = (function() {
},

/**
* Returns an array of weekdays
* based on the start date.
* Will always return the 7 days
* of that week regardless of what the start date is
* but they will be returned in the order
* of their localized getDay function.
* Returns an array of weekdays based on the start date.
* Will always return the 7 daysof that week regardless of
* what the start date isbut they will be returned
* in the order of their localized getDay function.
*
* @param {Date} startDate point of origin.
* @return {Array} a list of dates in order of getDay().
Expand Down
7 changes: 4 additions & 3 deletions apps/calendar/js/ordered_map.js
Expand Up @@ -16,9 +16,6 @@ Calendar.OrderedMap = (function() {
};

OrderedMap.prototype = {
_compare: function(a, b) {
return this.compare(a[0], b[0]);
},

has: function(value) {
var idx = this.indexOf(value);
Expand Down Expand Up @@ -79,6 +76,10 @@ Calendar.OrderedMap = (function() {
},

get: function(item) {
if (typeof(item) === 'undefined') {
throw new Error('cannot search "undefined" values');
}

var idx = this.indexOf(item);
if (idx !== null) {
return this.items[idx][1];
Expand Down
4 changes: 3 additions & 1 deletion apps/calendar/js/view.js
Expand Up @@ -36,9 +36,11 @@

const INVALID_CSS = /([^a-zA-Z\-\_0-9])/g;

View.ACTIVE = 'active';

View.prototype = {
seen: false,
activeClass: 'active',
activeClass: View.ACTIVE,

get element() {
return this._findElement('element');
Expand Down
24 changes: 5 additions & 19 deletions apps/calendar/js/views/day.js
Expand Up @@ -13,14 +13,16 @@ Calendar.ns('Views').Day = (function() {

scale: 'day',

childClass: Calendar.Views.DayChild,

selectors: {
element: '#day-view'
},

_initEvents: function() {
Parent.prototype._initEvents.call(this);

this.delegate(this.childContainer, 'click', '[data-id]', function(e, target) {
this.delegate(this.frameContainer, 'click', '[data-id]', function(e, target) {
Calendar.App.router.show('/event/' + target.dataset.id + '/');
});
},
Expand All @@ -33,15 +35,11 @@ Calendar.ns('Views').Day = (function() {
switch (e.type) {
case 'selectedDayChange':
case 'dayChange':
this._activateTime(e.data[0]);
this.changeDate(e.data[0]);
break;
}
},

_getId: function(date) {
return date.valueOf();
},

_nextTime: function(time) {
return new Date(
time.getFullYear(),
Expand All @@ -58,20 +56,8 @@ Calendar.ns('Views').Day = (function() {
);
},

/**
* Creates child day view.
*
* @param {Date} time date.
*/
_createChild: function(time) {
return new Calendar.Views.DayChild({
date: time,
app: this.app
});
},

render: function() {
this._activateTime(
this.changeDate(
this.app.timeController.day
);
},
Expand Down
15 changes: 9 additions & 6 deletions apps/calendar/js/views/day_child.js
Expand Up @@ -78,10 +78,9 @@ Calendar.ns('Views').DayChild = (function() {
* a time.
*
* @param {Date} date used to calculate events & range.
* @param {Boolean} clear when true clears out all elements.
*/
changeDate: function(date) {
this._resetHourCache();

changeDate: function(date, clear) {
++this._changeToken;

var controller = this.controller;
Expand All @@ -93,8 +92,11 @@ Calendar.ns('Views').DayChild = (function() {

controller.observeTime(this.timespan, this);

// clear out all children
this.events.innerHTML = '';
if (clear) {
this._resetHourCache();
// clear out all children
this.events.innerHTML = '';
}

this._loadRecords(this.controller.queryCache(
this.timespan
Expand Down Expand Up @@ -291,7 +293,6 @@ Calendar.ns('Views').DayChild = (function() {
*/
create: function() {
var el = this._buildElement();
this.changeDate(this.date);

if (this.renderAllHours) {
var hour = 0;
Expand All @@ -301,6 +302,8 @@ Calendar.ns('Views').DayChild = (function() {
}
}

this.changeDate(this.date);

return el;
},

Expand Down
8 changes: 5 additions & 3 deletions apps/calendar/js/views/month.js
Expand Up @@ -21,6 +21,8 @@ Calendar.ns('Views').Month = (function() {
selectedDay: 'li.selected'
},

childClass: Calendar.Views.MonthChild,

SELECTED: 'selected',

_clearSelectedDay: function() {
Expand All @@ -38,7 +40,7 @@ Calendar.ns('Views').Month = (function() {
this._clearSelectedDay();

id = Calc.getDayId(date);
id = this.currentChild._dayId(id);
id = this.currentFrame._dayId(id);

el = document.getElementById(id);

Expand Down Expand Up @@ -73,7 +75,7 @@ Calendar.ns('Views').Month = (function() {

case 'monthChange':
this._clearSelectedDay();
this._activateTime(e.data[0]);
this.changeDate(e.data[0]);
break;
}
},
Expand Down Expand Up @@ -116,7 +118,7 @@ Calendar.ns('Views').Month = (function() {
*/
render: function() {
var time = this.controller.month;
this._activateTime(time);
this.changeDate(time);
}

};
Expand Down
1 change: 0 additions & 1 deletion apps/calendar/js/views/month_child.js
Expand Up @@ -385,7 +385,6 @@
var controller = this.controller;
var element = document.createElement('section');

element.id = this.id;
element.classList.add('month');
element.classList.add('weeks-' + this.weeks);
element.innerHTML = html;
Expand Down
2 changes: 1 addition & 1 deletion apps/calendar/js/views/months_day.js
Expand Up @@ -55,7 +55,7 @@ Calendar.ns('Views').MonthsDay = (function() {

switch (e.type) {
case 'selectedDayChange':
this.changeDate(e.data[0]);
this.changeDate(e.data[0], true);
this._updateHeader();
break;
}
Expand Down

0 comments on commit 24a7ef0

Please sign in to comment.