View item interface prototype (click View, Metadata, Notes, to toggle.) Styles need a lot of work.
This commit is contained in:
parent
233a2414e7
commit
a1ae5c13c9
5 changed files with 139 additions and 2 deletions
|
@ -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;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
35
chrome/chromeFiles/content/scholar/view.js
Normal file
35
chrome/chromeFiles/content/scholar/view.js
Normal 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);
|
36
chrome/chromeFiles/content/scholar/view.xul
Normal file
36
chrome/chromeFiles/content/scholar/view.xul
Normal 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>
|
50
chrome/chromeFiles/skin/default/scholar/view.css
Normal file
50
chrome/chromeFiles/skin/default/scholar/view.css
Normal 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;
|
||||
}
|
Loading…
Reference in a new issue