ReadViewEntries to Array

Toutes les astuces sur le langage JavaScript dans Lotus Notes

ReadViewEntries to Array

Messagepar Michael DELIQUE » 21 Oct 2008 à 14:46

[syntax="javascript"]function RVEToArray(XMLResponse, iFiSNull, IDDoc){

try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === "" || isNaN(nbRow) === true || nbRow === "0" || nbRow === 0) {
return [];
}
}
catch (e) {
return [];
}

if (iFiSNull === undefined || iFiSNull === null) {
iFiSNull = null;
}
if (IDDoc === undefined || IDDoc === null || IDDoc !== true) {
IDDoc = false;
}

var arrayRetour = [];

var nbIndex = 0;
var nbIndex_old = 0;
var nbIndexColonne = 0;
var nbIndexColonne_old = 0;
var valeur = iFiSNull;
arrayRetour[nbIndex] = [];
var a = 0;
var a2 = 0;
var b = 0;
var b2 = 0;
var c = 0;
var c2 = 0;
var i = 0;

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
}
catch (e) {
return [];
}

for (a = 0, a2 = entries.length; a < a2; a++) {

var XMLEntry = entries[a];

for (b = 0, b2 = XMLEntry.childNodes.length; b < b2; b++) {

var entryData = XMLEntry.getElementsByTagName('entrydata')[b];
if (entryData !== null) {
valeur = iFiSNull;
if (entryData.hasChildNodes() === true) {
nbIndexColonne = Number(entryData.getAttributeNode('columnnumber').value) + 1;

for (c = 0, c2 = entryData.childNodes.length; c < c2; c++) {
try {
valeur = entryData.childNodes[c].lastChild.nodeValue;
}
catch (e) {
valeur = iFiSNull;
}

if (nbIndexColonne < nbIndexColonne_old) {
if (nbIndexColonne > 1) {
nbIndex_old = nbIndex;
nbIndex++;
arrayRetour[nbIndex] = [];
for (i = 0; i < nbIndexColonne; i++) {
arrayRetour[nbIndex][i] = arrayRetour[nbIndex_old][i];
}
nbIndex_old = 0;
}
else {
nbIndex++;
arrayRetour[nbIndex] = [];
}
if (IDDoc === true) {
var XMLEntry_Old = entries[a - 1];
if (XMLEntry_Old.hasAttribute('unid') === true) {
arrayRetour[nbIndex - 1][nbIndexColonne_old + 1] = XMLEntry_Old.getAttribute('unid');
if (XMLEntry_Old.hasAttribute('noteid') === true) {
arrayRetour[nbIndex - 1][nbIndexColonne_old + 2] = XMLEntry_Old.getAttribute('noteid');
}
else {
arrayRetour[nbIndex - 1][nbIndexColonne_old + 2] = '';
}
}
}
}
arrayRetour[nbIndex][nbIndexColonne] = valeur;
nbIndexColonne_old = nbIndexColonne;
}
}
}
}
}
return arrayRetour;
}

function RVEEntryDataIsCategorized(entryData){
if (entryData === undefined || entryData === null) {
return false;
}
if (entryData.hasAttribute('category') === false) {
return false;
}
if (entryData.getAttributeNode('category').value.toLowerCase() === 'true') {
return true;
}
return false;
}

function RVENBRaw(XMLResponse){
try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return 0;
}
}
catch (e) {
return 0;
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return 0;
}
}
catch (e) {
return 0;
}

var nbRawRetour = 0;
var nbIndexColonne_old = 0;
var nbIndexColonne = -1;
var a = 0;
var a2 = 0;
var b = 0;
var b2 = 0;

for (a = 0, a2 = entries.length; a < a2; a++) {
var XMLEntry = entries[a];
for (b = 0, b2 = XMLEntry.childNodes.length; b < b2; b++) {
var entryData = XMLEntry.getElementsByTagName('entrydata')[b];
if (entryData !== null) {
if (entryData.hasChildNodes() === true) {
nbIndexColonne = Number(entryData.getAttributeNode('columnnumber').value);
if (nbIndexColonne < nbIndexColonne_old) {
nbRawRetour++;
}
nbIndexColonne_old = nbIndexColonne;
}
}
}
}
return nbRawRetour + 1;
}

function RVENBColumn(XMLResponse){
if (XMLResponse === undefined || XMLResponse === null) {
return 0;
}

try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return 0;
}
}
catch (e) {
return 0;
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return 0;
}
}
catch (e) {
return 0;
}

var XMLEntry = null;
var entryData = null;
var nbColumn = 0;
var nbColumn2 = 0;
var i = 0;
var i2 = 0;
var j = 0;
var j2 = 0;
for (i = 0, i2 = entries.length; i < i2; i++) {
XMLEntry = entries[i];
for (j = 0, j2 = XMLEntry.childNodes.length; j < j2; j++) {
entryData = XMLEntry.getElementsByTagName('entrydata')[j];
if (entryData !== null) {
nbColumn2 = Number(entryData.getAttributeNode('columnnumber').value);
if (nbColumn2 > nbColumn) {
nbColumn = nbColumn2;
}
}
}
}
return nbColumn + 1;
}

function RVEFlatToArray(XMLResponse, iFiSNull, nbIDDoc){

try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return [];
}
}
catch (e) {
return [];
}

if (iFiSNull === undefined || iFiSNull === null) {
iFiSNull = null;
}
if (nbIDDoc === undefined || nbIDDoc === null || isNaN(nbIDDoc) || nbIDDoc !== true) {
nbIDDoc = false;
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return [];
}
}
catch (e) {
return [];
}

var arrayRetour = [];
var nbIndex = 0;
var nbIndexColonne = 0;
var entryData = null;
var i = 0;
var i2 = 0;
var j = 0;
var j2 = 0;

for (i = 0, i2 = entries.length; i < i2; i++) {
nbIndex = i;
arrayRetour[nbIndex] = [];
entryData = entries[i].getElementsByTagName("entrydata");
for (j = 0, j2 = entryData.length; j < j2; j++) {
nbIndexColonne = j + 1;
try {
arrayRetour[nbIndex][nbIndexColonne] = entryData.item(j).lastChild.firstChild.nodeValue;
}
catch (e) {
arrayRetour[nbIndex][nbIndexColonne] = iFiSNull;
}
}
if (nbIDDoc === true) {
nbIndexColonne++;
if (entries[i].hasAttribute('unid')) {
arrayRetour[nbIndex][nbIndexColonne] = entries[i].getAttribute('unid');
}
else {
arrayRetour[nbIndex][nbIndexColonne] = '';
}
nbIndexLigne++;
if (entries[i].hasAttribute('noteid')) {
arrayRetour[nbIndex - 1][nbIndexLigne] = entries[i].getAttribute('noteid');
}
else {
arrayRetour[nbIndex - 1][nbIndexLigne] = '';
}
}
nbIndexColonne = 0;
}

return arrayRetour;
}


function RVEIsCategorized(XMLResponse){
try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return false;
}
}
catch (e) {
return false;
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return false;
}
}
catch (e) {
return false;
}

var valeurTest = /^\d+$/;
var i = 0;
var i2 = 0;

for (i = 0, i2 = entries.length; i < i2; i++) {
if (valeurTest.test(entries[i].getAttribute('position')) === false) {
return true
}
}

return false;

}

function RVEnbIDDoc(XMLResponse){
if (XMLResponse === undefined || XMLResponse === null) {
return [];
}

try {
var nbRow = parseInt(XMLResponse.getElementsByTagName("viewentries")[0].getAttribute("toplevelentries"), 10);
if (nbRow === undefined || nbRow === null || isNaN(nbRow) === true || nbRow === '' || nbRow === '0' || nbRow === 0) {
return [];
}
}
catch (e) {
return [];
}

try {
var entries = XMLResponse.documentElement.getElementsByTagName("viewentry");
if (entries === undefined || entries === null) {
return [];
}
}
catch (e) {
return [];
}

var arrayRetour = [];
var nbIndex = 0;
var a = 0;
var a2 = 0;

for (a = 0, a2 = entries.length; a < a2; a++) {
var XMLEntry = entries[a];
if (XMLEntry.hasAttribute('unid') === true) {
nbIndex++;
arrayRetour[nbIndex] = [];
arrayRetour[nbIndex][1] = XMLEntry.getAttribute('unid');
if (XMLEntry.hasAttribute('noteid') === true) {
arrayRetour[nbIndex][2] = XMLEntry.getAttribute('noteid');
}
else {
arrayRetour[nbIndex][2] = '';
}
}
}
return arrayRetour;
}
[/syntax]
Cordialement

Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN
Avatar de l’utilisateur
Michael DELIQUE
Administrateur
Administrateur
 
Message(s) : 12183
Inscrit(e) le : 16 Déc 2004 à 10:36
Localisation : Paris/Cergy

Retour vers JavaScript