зеркало из 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)
|
function ChangeDirectoryByDOMNode(dirNode)
|
||||||
{
|
{
|
||||||
var uri = dirNode.getAttribute('id');
|
var uri = dirNode.getAttribute('id');
|
||||||
dump(uri + "\n");
|
dump(uri + "\n");
|
||||||
ChangeDirectoryByURI(uri);
|
ChangeDirectoryByURI(uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function ChangeDirectoryByURI(uri)
|
function ChangeDirectoryByURI(uri)
|
||||||
{
|
{
|
||||||
var tree = frames[0].frames[1].document.getElementById('resultTree');
|
var tree = frames[0].frames[1].document.getElementById('resultTree');
|
||||||
tree.childNodes[7].setAttribute('id', uri);
|
tree.childNodes[7].setAttribute('id', uri);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,66 +93,69 @@ function EditCardCancelButton()
|
||||||
dump("Cancel Hit\n");
|
dump("Cancel Hit\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
function DisplayCardViewPane(messageNode)
|
function DisplayCardViewPane(abNode)
|
||||||
{
|
{
|
||||||
/* Setup vars - this should move to a global var */
|
var uri = abNode.getAttribute('id');
|
||||||
/* data for address book, prefixes: "cvb" = card view box
|
var cardResource = parent.parent.rdf.GetResource(uri);
|
||||||
"cvh" = crad view header
|
var card = cardResource.QueryInterface(Components.interfaces.nsIAbCard);
|
||||||
"cv" = card view (normal fields) */
|
|
||||||
|
var data = parent.parent.cvData;
|
||||||
var doc = parent.frames["cardViewFrame"].document;
|
var visible;
|
||||||
|
var name = card.personName;
|
||||||
/* 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");
|
|
||||||
|
|
||||||
/* set fields in card view pane */
|
/* 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 */
|
/* Name section */
|
||||||
cvhName.childNodes[0].nodeValue = "Winnie the Pooh";
|
cvSetNode(data.cvhName, name);
|
||||||
cvNickname.childNodes[0].nodeValue = "\"Pooh\"";
|
cvSetNode(data.cvNickname, "\"" + card.nickname + "\"");
|
||||||
cvEmail1.childNodes[0].nodeValue = "wpooh@netscape.com";
|
cvSetNode(data.cvEmail1, card.email);
|
||||||
cvEmail2.childNodes[0].nodeValue = "poohbear@netscape.net";
|
cvSetNode(data.cvEmail2, "poohbear@netscape.net");
|
||||||
/* Home section */
|
/* Home section */
|
||||||
cvHomeAddress.childNodes[0].nodeValue = "123 Treehouse Lane";
|
visible = cvSetNode(data.cvHomeAddress, "123 Treehouse Lane");
|
||||||
cvHomeCityStZip.childNodes[0].nodeValue = "Hundred Acre Wood, CA 94087";
|
visible = cvSetNode(data.cvHomeCityStZip, "Hundred Acre Wood, CA 94087") && visible;
|
||||||
|
cvSetVisible(data.cvhHome, visible);
|
||||||
/* Other section */
|
/* 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 */
|
/* Phone section */
|
||||||
cvPhWork.childNodes[0].nodeValue = "Work: (650) 937-1234";
|
visible = cvSetNode(data.cvPhWork, "Work: " + card.workPhone);
|
||||||
cvPhHome.childNodes[0].nodeValue = "Home: (408) 732-1212";
|
visible = cvSetNode(data.cvPhHome, "Home: (408) 732-1212") && visible;
|
||||||
cvPhFax.childNodes[0].nodeValue = "Fax: (650) 937-3434";
|
visible = cvSetNode(data.cvPhFax, "Fax: (650) 937-3434") && visible;
|
||||||
cvPhCellular.childNodes[0].nodeValue = "Cellular: (408) 734-9090";
|
visible = cvSetNode(data.cvPhCellular, "Cellular: (408) 734-9090") && visible;
|
||||||
cvPhPager.childNodes[0].nodeValue = "Pager: (408) 732-6545";
|
visible = cvSetNode(data.cvPhPager, "Pager: (408) 732-6545") && visible;
|
||||||
|
cvSetVisible(data.cvhPhone, visible);
|
||||||
/* Work section */
|
/* Work section */
|
||||||
cvJobTitle.childNodes[0].nodeValue = "Interaction Designer";
|
visible = cvSetNode(data.cvJobTitle, "Interaction Designer");
|
||||||
cvOrganization.childNodes[0].nodeValue = "Netscape Communications Corp.";
|
visible = cvSetNode(data.cvOrganization, card.organization) && visible;
|
||||||
cvWorkAddress.childNodes[0].nodeValue = "501 E Middlefield Road";
|
visible = cvSetNode(data.cvWorkAddress, "501 E Middlefield Road") && visible;
|
||||||
cvWorkCityStZip.childNodes[0].nodeValue = "Mountain View, CA 94043";
|
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"
|
<window xmlns:html="http://www.w3.org/TR/REC-html40"
|
||||||
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
|
||||||
title="&addressbookWindow.title;"
|
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 language="JavaScript" src="chrome://addressbook/content/addressbook.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"/>
|
|
||||||
|
|
||||||
<menubar>
|
<menubar>
|
||||||
<menu name="&fileMenu.label;">
|
<menu name="&fileMenu.label;">
|
||||||
|
|
|
@ -27,11 +27,13 @@ div[class="CardViewHeading"] {
|
||||||
color: white;
|
color: white;
|
||||||
background-color: #5050ff;
|
background-color: #5050ff;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
div[class="CardViewText"] {
|
div[class="CardViewText"] {
|
||||||
padding-left: 20px;
|
padding-left: 20px;
|
||||||
padding-right: 2px;
|
padding-right: 2px;
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
box[class="CardView"] {
|
box[class="CardView"] {
|
||||||
|
@ -39,6 +41,7 @@ box[class="CardView"] {
|
||||||
padding-top: 12px;
|
padding-top: 12px;
|
||||||
padding-bottom: 4px;
|
padding-bottom: 4px;
|
||||||
border: none;
|
border: none;
|
||||||
|
display: block;
|
||||||
}
|
}
|
||||||
|
|
||||||
spring[class="CardViewHeadingSpace"] {
|
spring[class="CardViewHeadingSpace"] {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче