billing/articles.html
<HTML>
<HEAD>
<script>var
dFrameFilePath = '../../../../'</script>
<script
language="Javascript"
src="../../../../lib/dFrameAPI.js"></script>
<script
language="Javascript">
//Global
var baseAll, dFrameDetail, dFrameList
var dbDomTree
var gCurrentArticleOrdinal = 0;
var gCurrentArticle
//var mainPage = null
//additional library
DynAPI.setLibraryPath('../../../../dynapi/src/lib/');
DynAPI.include("dynapi.gui.list.js")
//Style
if (window.parent && window.parent != self &&
window.parent.getDFrameValues) {
//Setup mainPage
window.parent.getDFrameValues()
dFrameStyle = mainPage.dFrameStyle
} else DFrameAPI.include('styles/blue/styleBlue.js')
//XML for <SCRIPT>
DFrameAPI.include('ext/xml_for_script-2.0/jsXMLParser/xmldom.js')
DFrameAPI.onLoad = function(){
//if (mainPage != null) {
// alert('squeeze
style')
// dFrameStyle =
mainPage.dFrameStyle
// alert(dFrameStyle.getContentBgColor())
//}
baseAll = new DFrame([3, 3, 97, 97], 'articles.html',
dFrameStyle);
baseAll.setTitleBar(false)
//Create at one the DFrame that will receive the list
//and insert a "blank" document in it to create a
IFrame
dFrameList = new DFrame(['10', '10', '350', 97], 'Articles
list',dFrameStyle, baseAll)
dFrameList.setTitleBar(false)
dFrameList.setURL('./blank.html')
var position = [0, '10', 97, 97]
position[0] = [dFrameList, 'Right', 0]
dFrameDetail = new DFrame(position, 'Article
detail',dFrameStyle, baseAll)
dFrameDetail.setTitleBar(false)
dFrameDetail.bubbleKey = 'dFrameDetail'
dFrameDetail.addButton('First',
'displayArticles("first")')
dFrameDetail.addButton('Previous',
'displayArticles("previous")')
dFrameDetail.addButton('Next',
'displayArticles("next")')
dFrameDetail.addButton('Last',
'displayArticles("last")')
dFrameDetail.setDragEnabled(true)
dFrameDetail.show()
DFrameAPI.getContent('./articles/articles_XML.html',
'load1')
}
DFrameAPI.onContentLoad = function(contentValue, key) {
if (key == 'load1') {
XMLString = contentValue.slice(1)
dbDom = new XMLDoc(XMLString, xmlError);
dbDomTree = dbDom.docNode;
displayArticlesAsAList()
}
}
function displayArticlesAsAList() {
articlesList = new List()
articlesList.moveTo(10,10)
articlesList.setWidth(dFrameList.getWidth()-40)
articlesList.setBgColor('#000000')
articlesList.boldOnSelect(true)
var l = new EventListener(articlesList);
l.onmousedown = function(e) {
var o = e.getTarget();
var i = o.getSelectedIndex()
showArticleDetail(i)
}
articlesList.addEventListener(l)
objUser = navigateUserList("first");
while(objUser != null) {
code =
trim(objUser.getElements(cTCC("CODE"))[0].getText(),true, true);
designation =
trim(objUser.getElements(cTCC("DESIGNATION"))[0].getText(), true,
true);
articlesList.add(designation + ' ' + code,1)
objUser = navigateUserList("next");
status = ''
}
DynDoc = dFrameList.createDynAPIDocument()
DynDoc.addChild(articlesList)
}
function displayArticles(direction) {
objUser = navigateUserList(direction);
if (objUser!= null) {
displayUserData(objUser);
articlesList.select(articlesList.items[gCurrentArticleOrdinal])
}
}
function showArticleDetail(i) {
objUser = getArticleByOrdinalValue(i)
if (objUser!= null) {
displayUserData(objUser);
gCurrentArticle = objUser
}
}
function displayUserData(objUser) {
var txt = formatXML(objUser)
dFrameDetail.alert(txt)
dFrameDetail.show(true)
}
function formatXML(objUser) {
code = trim(objUser.getElements(cTCC("CODE"))[0].getText(),true,
true);
designation =
trim(objUser.getElements(cTCC("DESIGNATION"))[0].getText(), true,
true);
description =
trim(objUser.getElements(cTCC("DESCRIPTION"))[0].getText(), true,
true);
var font = '<font size=2 color=white face=Arial>'
var txt = '<table width=' + (dFrameDetail.getWidth() -
50) + '><tr><td>' + font + '<b>Code:</b> ' + code +
'</td></tr><tr><td>' + font +
'<b>Designation</b>: ' + designation + '</td></tr><tr><td>'
+ font + '<b>Description: </b>:' + description +
'</td></tr></table>'
return txt
}
function selectArticle() {
baseAll.getParentDFrame().receiveData(gCurrentArticle)
}
function cTCC (string) {
//cTCC: convertToCorrectCase = lowerCase for NS6
if (is.ns6) return string.toLowerCase()
else return string
}
/************************************************************************
From formFunction.js
************************************************************************/
function xmlError(e) {
alert("There has
been an error accessing the XML Database. The error is:\n" + e)
}
function navigateUserList(direction) {
var objUser;
switch (direction) {
case
"next":
objUser =
getArticleByOrdinalValue(gCurrentArticleOrdinal + 1);
break;
case
"previous":
objUser =
getArticleByOrdinalValue(gCurrentArticleOrdinal - 1);
break;
case
"first":
objUser =
getArticleByOrdinalValue(0);
break;
case
"last":
objUser =
getArticleByOrdinalValue(dbDomTree.getElements(cTCC("CONTACT")).length
-1);
break;
case
"current":
objUser =
getArticleByOrdinalValue(gCurrentArticleOrdinal);
break;
} // end switch
//set the global
currently displayed user
gCurrentArticle =
objUser;
return (objUser)
}
function getArticleByOrdinalValue(value){
var tmpNode =
dbDomTree.getElements(cTCC("ARTICLE"))[value];
gCurrentArticleOrdinal = value;
return tmpNode;
}
</script>
</HEAD>
</HTML>