Wikipedia/History.js
author ivanl
Tue, 09 Mar 2010 10:34:58 +0000
changeset 20 918767a9c8d3
permissions -rw-r--r--
Adding Wikipedia Widget 1.0rc5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
20
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     1
// ////////////////////////////////////////////////////////////////////////////
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     2
// Symbian Foundation Example Code
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     3
//
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     4
// This software is in the public domain. No copyright is claimed, and you 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     5
// may use it for any purpose without license from the Symbian Foundation.
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     6
// No warranty for any purpose is expressed or implied by the authors or
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     7
// the Symbian Foundation. 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     8
// ////////////////////////////////////////////////////////////////////////////
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
     9
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    10
var MILLIS_IN_A_DAY = 24*60*60*1000;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    11
var KEEP_HISTORY_FOR = 90 * MILLIS_IN_A_DAY; // 90 days
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    12
var KEEP_CONTENT = false;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    13
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    14
function HistoryViewItem(articleTitle, articleContent, articleBase, pos) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    15
	var d = new Date();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    16
	this.articleTitle = articleTitle;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    17
	this.articleContent = articleContent; 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    18
	this.articleBase = articleBase;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    19
	this.pos = pos;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    20
	this.timestamp = d.getTime();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    21
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    22
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    23
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    24
function HistoryView (){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    25
	try {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    26
		ListView.prototype.init.call(this, null, null);	
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    27
		var caption = new NavigationButton(1, "titlebar.png", "History", true);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    28
		caption.addEventListener("ActionPerformed", function(){wikiHomeView.show();});
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    29
		this.addControl(caption);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    30
		this.previousView = null;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    31
		this.items = new Array();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    32
		this.startindex = 0;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    33
		this.endindex = 0;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    34
		this.current = 0;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    35
		this.lastRender = 0;	
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    36
		this.todayControl = null;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    37
		this.loadItems();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    38
	}catch(w) {alert(w);}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    39
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    40
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    41
HistoryView.prototype = new ListView(null, null);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    42
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    43
HistoryView.prototype.items = null;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    44
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    45
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    46
HistoryView.prototype.addItem = function(articleTitle, articleContent, articleBase){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    47
	// do not store it if its the same as previous one
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    48
	if ( this.items[this.current] != undefined && this.items[this.current] != null && articleTitle == this.items[this.current].articleTitle){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    49
		return;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    50
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    51
	var item = null;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    52
	this.current = this.endindex;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    53
	if ( KEEP_CONTENT ){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    54
		item = new HistoryViewItem(articleTitle, articleContent, articleBase, this.current);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    55
	} else {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    56
		item = new HistoryViewItem(articleTitle, null, articleBase, this.current);	
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    57
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    58
	this.items[this.current-this.startindex]= item;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    59
	this.endindex++;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    60
	this.saveItem(item);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    61
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    62
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    63
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    64
HistoryView.prototype.saveItem = function(item){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    65
	if ( window.widget ) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    66
//		alert("Saving item: pos=" + item.pos +", title=" + item.articleTitle +", ts=" + item.timestamp
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    67
//		+ "titlekey:" + getHistoryTitleKey(item.pos) + ", timekey: " + getHistoryTimeKey(item.pos)	);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    68
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    69
		widget.setPreferenceForKey(item.articleTitle, getHistoryTitleKey(item.pos));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    70
		if (KEEP_CONTENT) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    71
			widget.setPreferenceForKey(item.articleContent, getHistoryContentKey(item.pos));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    72
		}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    73
		widget.setPreferenceForKey(item.articleBase, getHistoryBaseKey(item.pos));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    74
		widget.setPreferenceForKey(""+item.timestamp, getHistoryTimeKey(item.pos));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    75
		this.storeIndex();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    76
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    77
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    78
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    79
HistoryView.prototype.storeIndex = function () {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    80
	widget.setPreferenceForKey("" + this.startindex, "history.start");
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    81
	widget.setPreferenceForKey("" + this.endindex, "history.end");
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    82
	widget.setPreferenceForKey("" + this.current, "history.current");
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    83
//	alert("index stored, start:"+this.startindex + ", end:"+this.endindex + ", current:"+this.current);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    84
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    85
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    86
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    87
HistoryView.prototype.clear = function(){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    88
	this.items = new Array();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    89
	if (window.widget) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    90
		for (var i = this.startindex; i < this.endindex + 1; i++) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    91
			widget.setPreferenceForKey(null, getHistoryTitleKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    92
			if (KEEP_CONTENT) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    93
				widget.setPreferenceForKey(null, getHistoryContentKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    94
			}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    95
			widget.setPreferenceForKey(null, getHistoryTimeKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    96
		}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    97
		this.startindex = 0;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    98
		this.endindex = 0;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
    99
		this.current = 0;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   100
		this.storeIndex();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   101
		this.lastRender = 0;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   102
		this.render();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   103
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   104
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   105
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   106
HistoryView.prototype.loadItems = function(){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   107
	uiManager.showNotification(-1, "wait", "Loading...");
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   108
	var self = this;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   109
	setTimeout(function(){self.doLoadItems();},0);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   110
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   111
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   112
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   113
HistoryView.prototype.doLoadItems = function(){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   114
	if ( window.widget ) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   115
		var d = new Date();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   116
		var now = d.getTime();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   117
		this.items = new Array();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   118
		var tmpstart 	= 	widget.preferenceForKey("history.start");
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   119
		var tmpend 		= 	widget.preferenceForKey("history.end");
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   120
		var tmpcurr		=	widget.preferenceForKey("history.current");
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   121
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   122
		this.startindex = (( tmpstart != undefined && tmpstart != null ) ? parseInt(tmpstart) : 0);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   123
		this.endindex = (( tmpend != undefined && tmpend != null ) ? parseInt(tmpend) : 0);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   124
		this.current = (( tmpcurr != undefined && tmpcurr != null ) ? parseInt(tmpcurr) : 0);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   125
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   126
//		alert("startindex=" + this.startindex +", endindex=" + this.endindex+ ", current=" + this.current);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   127
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   128
		for (var i = this.startindex; i < this.endindex; i++) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   129
			var pos =  i - this.startindex;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   130
			var title = widget.preferenceForKey(getHistoryTitleKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   131
//			alert("Examining item: i=" + i + ", pos=" + pos +", title=" + title );
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   132
			if ( !title || title == null || title == "null") continue;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   133
			var item = new HistoryViewItem(title,null,null,i);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   134
			if (KEEP_CONTENT) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   135
				item.articleContent = widget.preferenceForKey(getHistoryContentKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   136
			}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   137
			item.articleBase = widget.preferenceForKey(getHistoryBaseKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   138
			item.timestamp = parseFloat(widget.preferenceForKey(getHistoryTimeKey(i)));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   139
			// delete items older than KEEP_HISTORY_FOR
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   140
			if (item.timestamp < (now - KEEP_HISTORY_FOR)) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   141
//				alert("Deleting old item: ts="+ item.timestamp + ", th=" + (now - KEEP_HISTORY_FOR));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   142
				widget.setPreferenceForKey(null, getHistoryTitleKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   143
				if (KEEP_CONTENT) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   144
					widget.setPreferenceForKey(null, getHistoryContentKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   145
				}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   146
				widget.setPreferenceForKey(null, getHistoryBaseKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   147
				widget.setPreferenceForKey(null, getHistoryTimeKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   148
			}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   149
			else {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   150
				item.pos = i;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   151
				this.items[pos] = item;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   152
			}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   153
//			alert("Loaded item: i=" + i + ", pos=" + pos +", title=" + title +", ts=" + item.timestamp);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   154
		}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   155
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   156
	uiManager.hideNotification();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   157
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   158
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   159
HistoryView.prototype.render = function(){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   160
	var d = new Date();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   161
	var now = d.getTime();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   162
	// what needs to be rendered?
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   163
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   164
	if (now - this.lastRender > MILLIS_IN_A_DAY || this.todayControl == null) { // render all
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   165
		
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   166
		// clear components
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   167
		this.removeAllControls();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   168
		var caption = new NavigationButton(1, "titlebar.png", "History", true);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   169
		caption.addEventListener("ActionPerformed", function(){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   170
			wikiHomeView.show();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   171
		});
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   172
		this.addControl(caption);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   173
		
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   174
		// add components for history items, up to today
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   175
		
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   176
		this.todayControl = new ContentPanel(null, "Last 24 hours", "", true, true);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   177
		this.todayControl.setContent(this.renderHistoryContent(now-MILLIS_IN_A_DAY, now));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   178
		this.addControl(this.todayControl);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   179
		var weekControl = new ContentPanel(null, "Last 7 days", "", true, false);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   180
		weekControl.setContent(this.renderHistoryContent(now-7*MILLIS_IN_A_DAY,now-MILLIS_IN_A_DAY));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   181
		this.addControl(weekControl);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   182
		var moreControl = new ContentPanel(null, "More than 7 days", "", true, false);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   183
		moreControl.setContent(this.renderHistoryContent(0,now-7*MILLIS_IN_A_DAY));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   184
		this.addControl(moreControl);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   185
	} else {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   186
		// render only today
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   187
		this.todayControl.setContent(this.renderHistoryContent(now-MILLIS_IN_A_DAY, now));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   188
	} 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   189
	
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   190
	this.lastRender = now;		
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   191
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   192
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   193
HistoryView.prototype.renderHistoryContent = function (from , to) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   194
	var buf = "<table class='historytable'>";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   195
	for ( var i = this.endindex ; i >= this.startindex ; i -- ) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   196
		var ind = i - this.startindex;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   197
		if ( this.items[ind] == undefined || this.items[ind] == null ) continue;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   198
		if ( this.items[ind].timestamp < from ) break;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   199
		if ( this.items[ind].timestamp < to ) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   200
			buf += this.renderHistoryItem(this.items[ind]);			
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   201
		}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   202
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   203
	buf += "</table>"
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   204
	return buf;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   205
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   206
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   207
HistoryView.prototype.renderHistoryItem = function(item){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   208
	if ( item == undefined || item == null ) return "";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   209
    var buf = "<tr><td><small>";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   210
	buf += shortFormatTime(item.timestamp);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   211
	buf += "</small></td><td  width=70%>";	 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   212
	buf += "<div class=\"FeedItemLink\">";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   213
	buf += "<a href=\"JavaScript:void(0)\" onclick=\"event.stopPropagation();wikiHistoryView.goTo(" ;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   214
	buf += item.pos;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   215
	buf +=  "); return false;\">";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   216
	buf += "<strong>";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   217
	buf += shorten(item.articleTitle, 30);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   218
	buf += "</strong></a>";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   219
	buf += "</div>";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   220
	buf += "</td><td><div class=\"FeedItemLink\">";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   221
	buf += "<a href=\"JavaScript:void(0)\" onclick=\"event.stopPropagation();wikiHistoryView.deleteItem(" ;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   222
	buf += item.pos;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   223
	buf +=  "); return false;\">";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   224
	buf += "<img src=delete.png border=0></a>";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   225
	buf += "</div>";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   226
	buf += "</td></tr>";
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   227
	return buf;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   228
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   229
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   230
HistoryView.prototype.deleteItem = function(pos){	
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   231
	this.items[pos-this.startindex] = null;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   232
	if ( window.widget ) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   233
		widget.setPreferenceForKey(null, getHistoryTitleKey(pos));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   234
		if (KEEP_CONTENT) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   235
			widget.setPreferenceForKey(null, getHistoryContentKey(pos));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   236
		}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   237
		widget.setPreferenceForKey(null, getHistoryBaseKey(pos));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   238
		widget.setPreferenceForKey(null, getHistoryTimeKey(pos));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   239
		this.storeIndex();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   240
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   241
	this.lastRender = 0;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   242
	this.render();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   243
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   244
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   245
HistoryView.prototype.show = function(){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   246
	try {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   247
		this.render();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   248
	}catch(e){ alert(e);}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   249
	View.prototype.show.call(this);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   250
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   251
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   252
HistoryView.prototype.goTo = function(pos){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   253
	this.current = pos;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   254
	wikiBrowse(this.items[pos-this.startindex].articleTitle, true, this.items[pos-this.startindex].articleBase); // true means don't re-add to history	 	
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   255
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   256
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   257
HistoryView.prototype.go = function(offset){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   258
	var newcurrent = this.current + offset;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   259
	var idx = newcurrent-this.startindex;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   260
	if ( newcurrent >= this.startindex && newcurrent <= this.endindex
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   261
		 && idx >= 0 && this.items[idx] != undefined && this.items[idx] != null	) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   262
		this.current = newcurrent;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   263
		wikiBrowse(this.items[idx].articleTitle, true, this.items[idx].articleBase);	 	
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   264
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   265
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   266
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   267
HistoryView.prototype.hasNext = function(){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   268
	var newidx = this.current + 1; 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   269
	return ( newidx < this.endindex && this.items[newidx] != undefined && this.items[newidx] != null );  
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   270
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   271
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   272
// abstract function for updating per-view menu
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   273
// only called if window.widget is defined
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   274
HistoryView.prototype.setupMenu = function(){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   275
	if ( window.widget ) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   276
		menu.clear();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   277
		var clearMenuItem = new MenuItem("Clear", MENU_ITEM_HISTORY_CLEAR);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   278
		var self = this; 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   279
		clearMenuItem.onSelect = function(){self.clear();};
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   280
		menu.append(clearMenuItem);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   281
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   282
		var self = this;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   283
		var searchMenuItem = new MenuItem("Search", MENU_ITEM_MAIN_SEARCH); 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   284
		searchMenuItem.onSelect = function(){wikiHomeView.show();};
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   285
		menu.append(searchMenuItem);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   286
		var historyMenuItem = new MenuItem("History", MENU_ITEM_MAIN_HISTORY); 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   287
		historyMenuItem.onSelect = function(){wikiHistoryView.previousView = self; wikiHistoryView.show();};
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   288
		menu.append(historyMenuItem);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   289
		var bookmarksMenuItem = new MenuItem("Bookmarks", MENU_ITEM_MAIN_BOOKMARKS); 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   290
		bookmarksMenuItem.onSelect = function(){wikiBookmarksView.show();};
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   291
		menu.append(bookmarksMenuItem);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   292
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   293
		addHelpMenuItems();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   294
	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   295
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   296
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   297
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   298
function getHistoryKeyBase(pos) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   299
	return "hist." + pos + "."; 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   300
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   301
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   302
function getHistoryTitleKey(pos) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   303
	return getHistoryKeyBase(pos) + "title"; 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   304
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   305
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   306
function getHistoryContentKey(pos) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   307
	return getHistoryKeyBase(pos) + "content"; 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   308
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   309
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   310
function getHistoryBaseKey(pos) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   311
	return getHistoryKeyBase(pos) + "base"; 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   312
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   313
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   314
function getHistoryTimeKey(pos) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   315
	return getHistoryKeyBase(pos) + "time"; 
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   316
}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   317
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   318
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   319
//HistoryView.prototype.removeItem = function(articleTitle){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   320
//	// find index
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   321
//	var ind = this.findItemIdFromTitle(articleTitle)
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   322
//	if ( ind == -1 ) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   323
//		return;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   324
//	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   325
//
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   326
//	// remove item
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   327
//	this.items[ind-this.startindex] = null;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   328
//	if (window.widget) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   329
//		widget.setPreferenceForKey(null, getHistoryTitleKey(ind));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   330
//		if (KEEP_CONTENT) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   331
//			widget.setPreferenceForKey(null, getHistoryContentKey(ind));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   332
//		}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   333
//		widget.setPreferenceForKey(null, getHistoryTimeKey(ind));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   334
//	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   335
//	this.current = ind;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   336
//	this.endindex = ind;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   337
//	this.render();
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   338
//}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   339
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   340
//HistoryView.prototype.findItemIdFromTitle = function(title) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   341
//	var ind = -1;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   342
//	for ( var i = this.startindex ; i < this.endindex + 1 ; i ++ ) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   343
//		var arrind = i-this.startindex;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   344
//		if ( this.items[arrind] && this.items[arrind] != null && title == this.items[arrind].articleTitle) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   345
//			ind = i;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   346
//			break;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   347
//		}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   348
//	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   349
//	return ind;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   350
//}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   351
// return already downloaded content for an article or null
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   352
// if we don't have it
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   353
//HistoryView.prototype.getContentForArticle = function(articleTitle){
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   354
//	if (window.widget && KEEP_CONTENT) {
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   355
//		var i = this.findItemIdFromTitle(articleTitle);
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   356
//		return widget.preferenceForKey(getHistoryContentKey(i));
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   357
//	}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   358
//	return null;
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   359
//}
918767a9c8d3 Adding Wikipedia Widget 1.0rc5
ivanl
parents:
diff changeset
   360