www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit 2be758e4882b52d056b36e4a571c6d02634afa7b
parent 03637a6c6374bbea48ac68cc16bafdb49e16c654
Author: David Norton <david@nortoncrew.com>
Date:   Thu,  1 Jun 2006 03:50:34 +0000

Updated trees to work with new setup. Some New Item functionality. etc.


Diffstat:
Mchrome/chromeFiles/content/scholar/folderTreeView.js | 40++++++++++++++++++++--------------------
Mchrome/chromeFiles/content/scholar/metadataPane.js | 2+-
Mchrome/chromeFiles/content/scholar/overlay.js | 10+++++-----
Mchrome/chromeFiles/content/scholar/overlay.xul | 19++++++++++---------
Mchrome/chromeFiles/content/scholar/view.js | 20++++++++++++++++----
Mchrome/chromeFiles/content/scholar/view.xul | 10+++++-----
Mchrome/chromeFiles/locale/en-US/scholar/scholar.dtd | 4++--
Mchrome/chromeFiles/skin/default/scholar/overlay.css | 2++
8 files changed, 61 insertions(+), 46 deletions(-)

diff --git a/chrome/chromeFiles/content/scholar/folderTreeView.js b/chrome/chromeFiles/content/scholar/folderTreeView.js @@ -12,9 +12,9 @@ Scholar.FolderTreeView.prototype.setTree = function(treebox) return; this._treebox = treebox; - var newRows = Scholar.Items.getTreeRows(0,'folders'); + var newRows = Scholar.getCollections(); for(var i = 0; i < newRows.length; i++) - this._showItem(new Scholar.ItemGroup('folder',newRows[i]), 0, this._dataItems.length); //item ref, level, beforeRow + this._showItem(new Scholar.ItemGroup('collection',newRows[i]), 0, this._dataItems.length); //item ref, level, beforeRow this._refreshHashMap(); } @@ -29,13 +29,13 @@ Scholar.FolderTreeView.prototype.getCellText = function(row, column) return ""; } -Scholar.FolderTreeView.prototype.isContainer = function(row) { return this._getItemAtRow(row).isFolder(); } +Scholar.FolderTreeView.prototype.isContainer = function(row) { return this._getItemAtRow(row).isCollection(); } Scholar.FolderTreeView.prototype.isContainerOpen = function(row) { return this._dataItems[row][1]; } Scholar.FolderTreeView.prototype.isContainerEmpty = function(row) { var itemGroup = this._getItemAtRow(row); - if(itemGroup.isFolder()) - return !itemGroup.ref.hasChildFolders(); + if(itemGroup.isCollection()) + return !itemGroup.ref.hasChildCollections(); else return true; } @@ -79,12 +79,12 @@ Scholar.FolderTreeView.prototype.toggleOpenState = function(row) } else { - var newRows = Scholar.Items.getTreeRows(this._getItemAtRow(row).ref.getID(),'folders'); //Get children + var newRows = Scholar.getCollections(this._getItemAtRow(row).ref.getID()); //Get children for(var i = 0; i < newRows.length; i++) { count++; - this._showItem(new Scholar.ItemGroup('folder',newRows[i]), thisLevel+1, row+i+1); //insert new row + this._showItem(new Scholar.ItemGroup('collection',newRows[i]), thisLevel+1, row+i+1); //insert new row } } this._dataItems[row][1] = !this._dataItems[row][1]; //toggle container open value @@ -117,12 +117,12 @@ Scholar.FolderTreeView.prototype.deleteSelection = function() if(this.selection.count == 0) return; - //collapse open folders + //collapse open collections for(var i=0; i<this.rowCount; i++) if(this.selection.isSelected(i) && this.isContainer(i) && this.isContainerOpen(i)) this.toggleOpenState(i); - //create an array of selected items/folders + //create an array of selected items/collections var rows = new Array(); var start = new Object(); var end = new Object(); @@ -137,7 +137,7 @@ Scholar.FolderTreeView.prototype.deleteSelection = function() this._treebox.beginUpdateBatch(); for (var i=0; i<rows.length; i++) { - //erase item/folder from DB: + //erase item/collection from DB: this._getItemAtRow(rows[i]-i).erase(); //remove row from tree: @@ -152,15 +152,15 @@ Scholar.FolderTreeView.prototype.deleteSelection = function() Scholar.FolderTreeView.prototype._refreshHashMap = function() { - // Create hash map of folder and object ids to row indexes + // Create hash map of collection and object ids to row indexes - this._folderRowMap = new Array(); + this._collectionRowMap = new Array(); for(var i=0; i < this.rowCount; i++){ if (this.isContainer(i)){ - this._folderRowMap[this._getItemAtRow(i).ref.getID()] = i; + this._collectionRowMap[this._getItemAtRow(i).ref.getID()] = i; } } - //Scholar.debug(Scholar.varDump(this.folderRowMap)); + //Scholar.debug(Scholar.varDump(this.collectionRowMap)); //Scholar.debug(Scholar.varDump(this.objectRowMap)); } @@ -175,14 +175,14 @@ Scholar.ItemGroup.prototype.isLibrary = function() return this.type == 'library'; } -Scholar.ItemGroup.prototype.isFolder = function() +Scholar.ItemGroup.prototype.isCollection = function() { - return this.type == 'folder'; + return this.type == 'collection'; } Scholar.ItemGroup.prototype.getName = function() { - if(this.isFolder()) + if(this.isCollection()) return this.ref.getName(); else if(this.isLibrary()) return "Library"; @@ -192,10 +192,10 @@ Scholar.ItemGroup.prototype.getName = function() Scholar.ItemGroup.prototype.getChildItems = function() { - if(this.isFolder()) - return Scholar.Items.getTreeRows(this.ref.getID(),'items'); + if(this.isCollection()) + return Scholar.getItems(this.ref.getID()); else if(this.isLibrary()) - return Scholar.Items.getAll(); + return Scholar.getItems(); else return null; } \ No newline at end of file diff --git a/chrome/chromeFiles/content/scholar/metadataPane.js b/chrome/chromeFiles/content/scholar/metadataPane.js @@ -127,7 +127,7 @@ MetadataPane = new function() function getFullFieldList(item) { var fields = Scholar.ItemFields.getItemTypeFields(item.getField("itemTypeID")); - var fieldNames = new Array("title","dateAdded","dateModified","source","rights"); + var fieldNames = new Array("title","dateAdded","dateModified"); for(var i = 0; i<fields.length; i++) fieldNames.push(Scholar.ItemFields.getName(fields[i])); return fieldNames; diff --git a/chrome/chromeFiles/content/scholar/overlay.js b/chrome/chromeFiles/content/scholar/overlay.js @@ -8,7 +8,7 @@ var ScholarPane = new function() this.init = init; this.toggleScholar = toggleScholar; this.newItem = newItem; - this.newFolder = newFolder; + this.newCollection = newCollection; this.folderSelected = folderSelected; this.itemSelected = itemSelected; this.deleteSelection = deleteSelection; @@ -18,7 +18,7 @@ var ScholarPane = new function() { foldersView = new Scholar.FolderTreeView(); //pass params here? document.getElementById('folders-tree').view = foldersView; - document.getElementById('items-tree').view = null; + foldersView.selection.select(0); var addMenu = document.getElementById('tb-add').firstChild; var itemTypes = Scholar.ItemTypes.getTypes(); @@ -41,12 +41,12 @@ var ScholarPane = new function() function newItem(typeID) { - alert("new item of type: "+typeID); + document.getElementById('content').loadURI('chrome://scholar/content/view.xul?new='+typeID); } - function newFolder() + function newCollection() { - alert("new folder"); + alert("new collection"); } function folderSelected() diff --git a/chrome/chromeFiles/content/scholar/overlay.xul b/chrome/chromeFiles/content/scholar/overlay.xul @@ -13,21 +13,22 @@ <script src="itemTreeView.js"/> <script src="folderTreeView.js"/> - <command id="cmd_scholar_newItem" oncommand="ScholarPane.newItem(1);"/> - <command id="cmd_scholar_newFolder" oncommand="ScholarPane.newFolder();"/> - <command id="cmd_scholar_search" oncommand="ScholarPane.search();"/> - + <commandset id="mainCommandSet"> + <command id="cmd_scholar_newItem" oncommand="ScholarPane.newItem(1);"/> + <command id="cmd_scholar_newCollection" oncommand="ScholarPane.newCollection();"/> + <command id="cmd_scholar_search" oncommand="ScholarPane.search();"/> + </commandset> + <vbox id="appcontent"> <vbox id="scholar-pane" position="1" persist="height collapsed"> <hbox flex="1"> - <tree id="folders-tree" - style="-moz-user-focus: ignore;" hidecolumnpicker="true" - onselect="ScholarPane.folderSelected();" + <tree id="folders-tree" hidecolumnpicker="true" + onselect="ScholarPane.folderSelected();" seltype="single" persist="width" flex="1"> <treecols> <treecol id="name_column" - label="&folders.name_column;" + label="&collections.name_column;" flex="1" primary="true"/> </treecols> @@ -75,7 +76,7 @@ </tree> </hbox> <toolbar id="scholar-toolbar" align="center"> - <toolbarbutton label="&menuitem.newFolder.label;" command="cmd_scholar_newFolder"/> + <toolbarbutton label="&menuitem.newCollection.label;" command="cmd_scholar_newCollection"/> <toolbarbutton id="tb-add" label="&menuitem.newItem.label;" type="menu"> <menupopup> </menupopup> diff --git a/chrome/chromeFiles/content/scholar/view.js b/chrome/chromeFiles/content/scholar/view.js @@ -2,10 +2,22 @@ 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'); - MetadataPane.viewItem(thisItem); + if(thisItem) + return; + + var id = getArgument("id"); + if(id) + { + thisItem = Scholar.Items.get(id); + document.getElementById('view').setAttribute('src','http://www.google.com/search?q='+encodeURIComponent('"'+thisItem.getField("title")+'"')+'&btnI'); + MetadataPane.viewItem(thisItem); + } + else + { + thisItem = new Scholar.Item(getArgument('new')); + MetadataPane.viewItem(thisItem); + MetadataPane.toggleEdit(); + } } function toggle(id) diff --git a/chrome/chromeFiles/content/scholar/view.xul b/chrome/chromeFiles/content/scholar/view.xul @@ -9,11 +9,6 @@ <script src="include.js"/> <?xul-overlay href="metadataPane.xul" ?> - <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 align="end"> @@ -23,4 +18,9 @@ </vbox> </vbox> </stack> + <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> </page> \ No newline at end of file diff --git a/chrome/chromeFiles/locale/en-US/scholar/scholar.dtd b/chrome/chromeFiles/locale/en-US/scholar/scholar.dtd @@ -5,7 +5,7 @@ <!ENTITY items.dateAdded_column "Date Added"> <!ENTITY items.dateModified_column "Date Modified"> -<!ENTITY folders.name_column "Name"> +<!ENTITY collections.name_column "Name"> <!ENTITY creators.firstname "First name"> <!ENTITY creators.lastname "Last name"> @@ -18,7 +18,7 @@ <!ENTITY menuitem.newItem.label "New Item..."> <!ENTITY menuitem.newItem.accesskey "n"> -<!ENTITY menuitem.newFolder.label "New Folder..."> +<!ENTITY menuitem.newCollection.label "New Collection..."> <!ENTITY menuitem.newFolder.accesskey "o"> diff --git a/chrome/chromeFiles/skin/default/scholar/overlay.css b/chrome/chromeFiles/skin/default/scholar/overlay.css @@ -13,6 +13,7 @@ tree #folders-tree #scholar-tree-splitter { + background: #f5f5f5; } @@ -24,6 +25,7 @@ tree #items-tree #scholar-toolbar { border-bottom: none; + background: #f5f5f5; } #scholar-toolbar toolbarbutton