зеркало из https://github.com/mozilla/gecko-dev.git
Added code to update the cardview pane with data from datasource
This commit is contained in:
Родитель
31ed6648ad
Коммит
a6ebf372cc
|
@ -1,15 +1,60 @@
|
|||
var rdf;
|
||||
var cvData;
|
||||
|
||||
function OnLoadAddressBook()
|
||||
{
|
||||
// This should be in an onload for the card view window, but that is not currently working
|
||||
rdf = Components.classes["component://netscape/rdf/rdf-service"].getService();
|
||||
rdf = rdf.QueryInterface(Components.interfaces.nsIRDFService);
|
||||
|
||||
var doc = frames["cardViewFrame"].document;
|
||||
|
||||
/* data for address book, prefixes: "cvb" = card view box
|
||||
"cvh" = crad view header
|
||||
"cv" = card view (normal fields) */
|
||||
cvData = new Object;
|
||||
|
||||
/* Card View - Title */
|
||||
cvData.CardTitle = doc.getElementById("CardTitle");
|
||||
/* Name section */
|
||||
cvData.cvhName = doc.getElementById("cvhName");
|
||||
cvData.cvNickname = doc.getElementById("cvNickname");
|
||||
cvData.cvEmail1 = doc.getElementById("cvEmail1");
|
||||
cvData.cvEmail2 = doc.getElementById("cvEmail2");
|
||||
/* Home section */
|
||||
cvData.cvhHome = doc.getElementById("cvhHome");
|
||||
cvData.cvHomeAddress = doc.getElementById("cvHomeAddress");
|
||||
cvData.cvHomeCityStZip = doc.getElementById("cvHomeCityStZip");
|
||||
/* Other section */
|
||||
cvData.cvhOther = doc.getElementById("cvhOther");
|
||||
cvData.cvNotes = doc.getElementById("cvNotes");
|
||||
/* Phone section */
|
||||
cvData.cvhPhone = doc.getElementById("cvhPhone");
|
||||
cvData.cvPhWork = doc.getElementById("cvPhWork");
|
||||
cvData.cvPhHome = doc.getElementById("cvPhHome");
|
||||
cvData.cvPhFax = doc.getElementById("cvPhFax");
|
||||
cvData.cvPhCellular = doc.getElementById("cvPhCellular");
|
||||
cvData.cvPhPager = doc.getElementById("cvPhPager");
|
||||
/* Work section */
|
||||
cvData.cvhWork = doc.getElementById("cvhWork");
|
||||
cvData.cvJobTitle = doc.getElementById("cvJobTitle");
|
||||
cvData.cvOrganization = doc.getElementById("cvOrganization");
|
||||
cvData.cvWorkAddress = doc.getElementById("cvWorkAddress");
|
||||
cvData.cvWorkCityStZip = doc.getElementById("cvWorkCityStZip");
|
||||
}
|
||||
|
||||
function ChangeDirectoryByDOMNode(dirNode)
|
||||
{
|
||||
var uri = dirNode.getAttribute('id');
|
||||
dump(uri + "\n");
|
||||
ChangeDirectoryByURI(uri);
|
||||
var uri = dirNode.getAttribute('id');
|
||||
dump(uri + "\n");
|
||||
ChangeDirectoryByURI(uri);
|
||||
}
|
||||
|
||||
|
||||
function ChangeDirectoryByURI(uri)
|
||||
{
|
||||
var tree = frames[0].frames[1].document.getElementById('resultTree');
|
||||
tree.childNodes[7].setAttribute('id', uri);
|
||||
var tree = frames[0].frames[1].document.getElementById('resultTree');
|
||||
tree.childNodes[7].setAttribute('id', uri);
|
||||
}
|
||||
|
||||
|
||||
|
@ -48,66 +93,69 @@ function EditCardCancelButton()
|
|||
dump("Cancel Hit\n");
|
||||
}
|
||||
|
||||
function DisplayCardViewPane(messageNode)
|
||||
function DisplayCardViewPane(abNode)
|
||||
{
|
||||
/* Setup vars - this should move to a global var */
|
||||
/* data for address book, prefixes: "cvb" = card view box
|
||||
"cvh" = crad view header
|
||||
"cv" = card view (normal fields) */
|
||||
|
||||
var doc = parent.frames["cardViewFrame"].document;
|
||||
|
||||
/* Card View - Title */
|
||||
var CardTitle = doc.getElementById("CardTitle");
|
||||
/* Name section */
|
||||
var cvbName = doc.getElementById("cvbName");
|
||||
var cvhName = doc.getElementById("cvhName");
|
||||
var cvNickname = doc.getElementById("cvNickname");
|
||||
var cvEmail1 = doc.getElementById("cvEmail1");
|
||||
var cvEmail2 = doc.getElementById("cvEmail2");
|
||||
/* Home section */
|
||||
var cvbHome = doc.getElementById("cvbHome");
|
||||
var cvHomeAddress = doc.getElementById("cvHomeAddress");
|
||||
var cvHomeCityStZip = doc.getElementById("cvHomeCityStZip");
|
||||
/* Other section */
|
||||
var cvbOther = doc.getElementById("cvbOther");
|
||||
var cvNotes = doc.getElementById("cvNotes");
|
||||
/* Phone section */
|
||||
var cvbPhone = doc.getElementById("cvbPhone");
|
||||
var cvPhWork = doc.getElementById("cvPhWork");
|
||||
var cvPhHome = doc.getElementById("cvPhHome");
|
||||
var cvPhFax = doc.getElementById("cvPhFax");
|
||||
var cvPhCellular = doc.getElementById("cvPhCellular");
|
||||
var cvPhPager = doc.getElementById("cvPhPager");
|
||||
/* Work section */
|
||||
var cvbWork = doc.getElementById("cvbWork");
|
||||
var cvJobTitle = doc.getElementById("cvJobTitle");
|
||||
var cvOrganization = doc.getElementById("cvOrganization");
|
||||
var cvWorkAddress = doc.getElementById("cvWorkAddress");
|
||||
var cvWorkCityStZip = doc.getElementById("cvWorkCityStZip");
|
||||
|
||||
var uri = abNode.getAttribute('id');
|
||||
var cardResource = parent.parent.rdf.GetResource(uri);
|
||||
var card = cardResource.QueryInterface(Components.interfaces.nsIAbCard);
|
||||
|
||||
var data = parent.parent.cvData;
|
||||
var visible;
|
||||
var name = card.personName;
|
||||
|
||||
/* set fields in card view pane */
|
||||
CardTitle.childNodes[0].nodeValue = "Card for Winnie the Pooh";
|
||||
visible = cvSetNode(data.CardTitle, "Card for " + name);
|
||||
|
||||
// FIX ME!
|
||||
// Code needs to be fixed to make the entire box visible or not. Current hack just hides
|
||||
// the header of the section that should be visible.
|
||||
|
||||
/* Name section */
|
||||
cvhName.childNodes[0].nodeValue = "Winnie the Pooh";
|
||||
cvNickname.childNodes[0].nodeValue = "\"Pooh\"";
|
||||
cvEmail1.childNodes[0].nodeValue = "wpooh@netscape.com";
|
||||
cvEmail2.childNodes[0].nodeValue = "poohbear@netscape.net";
|
||||
cvSetNode(data.cvhName, name);
|
||||
cvSetNode(data.cvNickname, "\"" + card.nickname + "\"");
|
||||
cvSetNode(data.cvEmail1, card.email);
|
||||
cvSetNode(data.cvEmail2, "poohbear@netscape.net");
|
||||
/* Home section */
|
||||
cvHomeAddress.childNodes[0].nodeValue = "123 Treehouse Lane";
|
||||
cvHomeCityStZip.childNodes[0].nodeValue = "Hundred Acre Wood, CA 94087";
|
||||
visible = cvSetNode(data.cvHomeAddress, "123 Treehouse Lane");
|
||||
visible = cvSetNode(data.cvHomeCityStZip, "Hundred Acre Wood, CA 94087") && visible;
|
||||
cvSetVisible(data.cvhHome, visible);
|
||||
/* Other section */
|
||||
cvNotes.childNodes[0].nodeValue = "This data is fake. It is inserted into the DOM from JavaScript.";
|
||||
visible = cvSetNode(data.cvNotes, "This data is fake. It is inserted into the DOM from JavaScript.");
|
||||
cvSetVisible(data.cvhOther, visible);
|
||||
/* Phone section */
|
||||
cvPhWork.childNodes[0].nodeValue = "Work: (650) 937-1234";
|
||||
cvPhHome.childNodes[0].nodeValue = "Home: (408) 732-1212";
|
||||
cvPhFax.childNodes[0].nodeValue = "Fax: (650) 937-3434";
|
||||
cvPhCellular.childNodes[0].nodeValue = "Cellular: (408) 734-9090";
|
||||
cvPhPager.childNodes[0].nodeValue = "Pager: (408) 732-6545";
|
||||
visible = cvSetNode(data.cvPhWork, "Work: " + card.workPhone);
|
||||
visible = cvSetNode(data.cvPhHome, "Home: (408) 732-1212") && visible;
|
||||
visible = cvSetNode(data.cvPhFax, "Fax: (650) 937-3434") && visible;
|
||||
visible = cvSetNode(data.cvPhCellular, "Cellular: (408) 734-9090") && visible;
|
||||
visible = cvSetNode(data.cvPhPager, "Pager: (408) 732-6545") && visible;
|
||||
cvSetVisible(data.cvhPhone, visible);
|
||||
/* Work section */
|
||||
cvJobTitle.childNodes[0].nodeValue = "Interaction Designer";
|
||||
cvOrganization.childNodes[0].nodeValue = "Netscape Communications Corp.";
|
||||
cvWorkAddress.childNodes[0].nodeValue = "501 E Middlefield Road";
|
||||
cvWorkCityStZip.childNodes[0].nodeValue = "Mountain View, CA 94043";
|
||||
visible = cvSetNode(data.cvJobTitle, "Interaction Designer");
|
||||
visible = cvSetNode(data.cvOrganization, card.organization) && visible;
|
||||
visible = cvSetNode(data.cvWorkAddress, "501 E Middlefield Road") && visible;
|
||||
visible = cvSetNode(data.cvWorkCityStZip, card.city + ", CA 94043") && visible;
|
||||
cvSetVisible(data.cvhWork, visible);
|
||||
}
|
||||
|
||||
function cvSetNode(node, text)
|
||||
{
|
||||
node.childNodes[0].nodeValue = text;
|
||||
if ( text == "" )
|
||||
{
|
||||
node.style.display = "none";
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
node.style.display = "block";
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function cvSetVisible(node, visible)
|
||||
{
|
||||
if ( visible )
|
||||
node.style.display = "block";
|
||||
else
|
||||
node.style.display = "none";
|
||||
}
|
||||
|
|
|
@ -106,12 +106,10 @@
|
|||
<window xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||
title="&addressbookWindow.title;"
|
||||
style="width:100%;height:100%">
|
||||
style="width:100%;height:100%"
|
||||
onload="OnLoadAddressBook()">
|
||||
|
||||
<html:script src="chrome://messenger/content/widgetglue.js"/>
|
||||
<html:script src="chrome://messenger/content/commandglue.js"/>
|
||||
<html:script src="chrome://messenger/content/shareglue.js"/>
|
||||
<html:script src="chrome://addressbook/content/addressbook.js"/>
|
||||
<html:script language="JavaScript" src="chrome://addressbook/content/addressbook.js"/>
|
||||
|
||||
<menubar>
|
||||
<menu name="&fileMenu.label;">
|
||||
|
|
|
@ -27,11 +27,13 @@ div[class="CardViewHeading"] {
|
|||
color: white;
|
||||
background-color: #5050ff;
|
||||
font-weight: bold;
|
||||
display: none;
|
||||
}
|
||||
|
||||
div[class="CardViewText"] {
|
||||
padding-left: 20px;
|
||||
padding-right: 2px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
box[class="CardView"] {
|
||||
|
@ -39,6 +41,7 @@ box[class="CardView"] {
|
|||
padding-top: 12px;
|
||||
padding-bottom: 4px;
|
||||
border: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
spring[class="CardViewHeadingSpace"] {
|
||||
|
|
Загрузка…
Ссылка в новой задаче