View item interface prototype (click View, Metadata, Notes, to toggle.) Styles need a lot of work.

This commit is contained in:
David Norton 2006-05-31 17:50:33 +00:00
parent 233a2414e7
commit a1ae5c13c9
5 changed files with 139 additions and 2 deletions

View file

@ -22,7 +22,23 @@ Scholar.ItemTreeView.prototype.setTree = function(treebox)
Scholar.ItemTreeView.prototype.getCellText = function(row, column)
{
var obj = this._getItemAtRow(row);
return obj.getField(column.id);
var val = obj.getField(column.id);
if(column.id == 'dateAdded' || column.id == 'dateModified') //this is not so much that we will use this format for date, but a simple template for later revisions.
{
//
var d = val.split(' ');
var date = d[0].split('-');
var time = d[1].split('-');
var myDate = new Date();
myDate.setFullYear(date[0],date[1]-1,date[2]);
val = myDate.getMonth()+1 + '/' + myDate.getDate() + '/' + myDate.getFullYear();
}
return val;
}

View file

@ -68,7 +68,7 @@ var ScholarPane = new function()
{
var item = itemsView._getItemAtRow(itemsView.selection.currentIndex);
document.getElementById('content').loadURI('chrome://scholar/content/view.xul?url='+encodeURIComponent('http://www.google.com/search?q='+encodeURIComponent('"'+item.getField("title")+'"')+'&btnI'));
document.getElementById('content').loadURI('chrome://scholar/content/view.xul?id='+encodeURIComponent(item.getID()));
}
else
{

View file

@ -0,0 +1,35 @@
var thisItem;
function init()
{
thisItem = Scholar.Items.get(getArgument("id"));
document.getElementById('view').setAttribute('src','http://www.google.com/search?q='+encodeURIComponent('"'+thisItem.getField("title")+'"')+'&btnI');
}
function toggle(id)
{
var button = document.getElementById('tb-'+id);
var elem = document.getElementById(id);
button.checked = !button.checked;
elem.hidden = !elem.hidden;
}
//thanks to: http://evolt.org/node/14435
function getArgument (name)
{
var arguments = document.location.search.slice(1).split('&');
var r = '';
for (var i = 0; i < arguments.length; i++)
{
if (arguments[i].slice(0,arguments[i].indexOf('=')) == name)
{
r = arguments[i].slice(arguments[i].indexOf('=')+1);
return (r.length > 0 ? unescape(r).split(',') : '');
}
}
return '';
}
addEventListener("load", function(e) { init(e); }, false);

View file

@ -0,0 +1,36 @@
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://scholar/skin/scholar.css" type="text/css"?>
<?xml-stylesheet href="chrome://scholar/skin/view.css" type="text/css"?>
<page
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="view.js"/>
<script src="include.js"/>
<toolbar id="view-toolbar">
<toolbarbutton class="toggler" id="tb-view" label="View" checked="true" oncommand="toggle('view')"/>
<toolbarbutton class="toggler" id="tb-metadata" label="Metadata" checked="true" oncommand="toggle('metadata')"/>
<toolbarbutton class="toggler" id="tb-notes" label="Notes" checked="true" oncommand="toggle('notes')"/>
</toolbar>
<stack flex="1">
<browser id="view" flex="1"/>
<vbox>
<stack id="metadata">
<box id="metadata-background"/>
<vbox id="metadata-pane">
<textbox value="Title"/>
<textbox value="Rights"/>
<textbox value="Etc."/>
<textbox value="Etc."/>
<textbox value="Etc."/>
</vbox>
</stack>
<stack id="notes">
<box id="notes-background"/>
<vbox id="notes-pane">
<textbox value="Notes.... lorem ispum delorum..." multiline="true" flex="1"/>
</vbox>
</stack>
</vbox>
</stack>
</page>

View file

@ -0,0 +1,50 @@
#view-toolbar
{
}
#view-toolbar .toggler
{
}
#metadata-background
{
position: relative;
margin-top: 10px;
left: 10px;
width: 400px;
height: 100px;
background-color: black;
opacity: 0.4;
}
#metadata-pane
{
position: relative;
margin-top: 10px;
left: 10px;
width: 400px;
height: 100px;
overflow: auto;
}
#notes-background
{
position: relative;
margin-top: 10px;
left: 10px;
width: 400px;
height: 100px;
background-color: black;
opacity: 0.4;
}
#notes-pane
{
position: relative;
margin-top: 10px;
left: 10px;
width: 400px;
height: 100px;
}