history now works. JS needs locale month names
This commit is contained in:
parent
0f9500b2cc
commit
455f850ac0
1 changed files with 66 additions and 0 deletions
|
|
@ -32,6 +32,11 @@ WebGUI.Admin = function(cfg){
|
||||||
var self = this;
|
var self = this;
|
||||||
// Initialize these things AFTER the i18n is fetched
|
// Initialize these things AFTER the i18n is fetched
|
||||||
var _init = function () {
|
var _init = function () {
|
||||||
|
// TODO: This should be i18n
|
||||||
|
self.localeMonths = [
|
||||||
|
'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August',
|
||||||
|
'September', 'October', 'November', 'December'
|
||||||
|
];
|
||||||
self.adminBar = new WebGUI.Admin.AdminBar( self.cfg.adminBarId, { expandMax : true } );
|
self.adminBar = new WebGUI.Admin.AdminBar( self.cfg.adminBarId, { expandMax : true } );
|
||||||
self.adminBar.afterShow.subscribe( self.updateAdminBar, self );
|
self.adminBar.afterShow.subscribe( self.updateAdminBar, self );
|
||||||
YAHOO.util.Event.on( window, 'load', function(){ self.adminBar.show( self.adminBar.dt[0].id ) } );
|
YAHOO.util.Event.on( window, 'load', function(){ self.adminBar.show( self.adminBar.dt[0].id ) } );
|
||||||
|
|
@ -226,6 +231,7 @@ WebGUI.Admin.prototype.navigate
|
||||||
this.currentAssetDef = assetDef;
|
this.currentAssetDef = assetDef;
|
||||||
this.treeDirty = 1;
|
this.treeDirty = 1;
|
||||||
this.updateAssetHelpers( assetDef );
|
this.updateAssetHelpers( assetDef );
|
||||||
|
this.updateAssetHistory( assetDef );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fire event
|
// Fire event
|
||||||
|
|
@ -650,6 +656,66 @@ WebGUI.Admin.prototype.addNewContent
|
||||||
this.gotoAsset( appendToUrl( this.currentAssetDef.url, urlFragment ) );
|
this.gotoAsset( appendToUrl( this.currentAssetDef.url, urlFragment ) );
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* updateAssetHistory( assetDef )
|
||||||
|
* Update the history list of the current asset
|
||||||
|
*/
|
||||||
|
WebGUI.Admin.prototype.updateAssetHistory
|
||||||
|
= function ( assetDef ) {
|
||||||
|
// Clear old revisions
|
||||||
|
var historyEl = document.getElementById( 'history_list' );
|
||||||
|
while ( historyEl.childNodes.length > 0 ) {
|
||||||
|
historyEl.removeChild( historyEl.childNodes[0] );
|
||||||
|
}
|
||||||
|
|
||||||
|
var now = new Date();
|
||||||
|
// Add new ones
|
||||||
|
for ( var i = 0; i < assetDef.revisions.length; i++ ) {
|
||||||
|
var revisionDate = assetDef.revisions[i];
|
||||||
|
var li = document.createElement('li');
|
||||||
|
|
||||||
|
// Create a descriptive date string
|
||||||
|
var rDate = new Date( revisionDate * 1000 ); // JS requires milliseconds
|
||||||
|
var minutes = rDate.getMinutes();
|
||||||
|
minutes = minutes < 10 ? "0" + minutes : minutes;
|
||||||
|
|
||||||
|
var dateString;
|
||||||
|
// Last year or older
|
||||||
|
if ( rDate.getFullYear() < now.getFullYear() ) {
|
||||||
|
dateString = this.localeMonths[rDate.getMonth()] + " " + rDate.getDate() + ", "
|
||||||
|
+ rDate.getFullYear();
|
||||||
|
}
|
||||||
|
// Earlier this year
|
||||||
|
else if ( rDate.getMonth() < now.getMonth() || rDate.getDate() < now.getDate() - 1 ) {
|
||||||
|
dateString = this.localeMonths[rDate.getMonth()] + " " + rDate.getDate() + " "
|
||||||
|
+ rDate.getHours() + ":" + minutes;
|
||||||
|
}
|
||||||
|
// Yesterday
|
||||||
|
else if ( rDate.getDate() < now.getDate() ) {
|
||||||
|
dateString = "Yesterday " + rDate.getHours() + ":" + minutes;
|
||||||
|
}
|
||||||
|
// Today
|
||||||
|
else {
|
||||||
|
dateString = "Today " + rDate.getHours() + ":" + minutes;
|
||||||
|
}
|
||||||
|
|
||||||
|
li.appendChild( document.createTextNode( dateString ) );
|
||||||
|
this.addHistoryHandler( li, assetDef, revisionDate );
|
||||||
|
historyEl.appendChild( li );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* addHistoryHandler( elem, revisionDate )
|
||||||
|
* Add the click handler to view the desired revision
|
||||||
|
*/
|
||||||
|
WebGUI.Admin.prototype.addHistoryHandler
|
||||||
|
= function ( elem, assetDef, revisionDate ) {
|
||||||
|
var self = this;
|
||||||
|
var url = appendToUrl( assetDef.url, 'func=view;revision=' + revisionDate );
|
||||||
|
YAHOO.util.Event.on( elem, "click", function(){ self.gotoAsset( url ) }, self, true );
|
||||||
|
};
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* WebGUI.Admin.LocationBar
|
* WebGUI.Admin.LocationBar
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue