No documents found

řešení je několik, které fungují?

Friday, 14. November 2008

Nedávno jsme se dostal na změnu hlášky "No documents found", kterou nám Lotus Domino zobrazí v případě, že v pohledu není žádný dokument. Je několik postupů, jak se této hlášky zbavit. Každý z nich má dle mého uplatnění někde jinde. Na serveru searchdomino.techtarget.com je zajímavé řešení pomocí js.

Neříkám, že je to nejlepší řešení, nicméně pokud zobrazuji jeden form s embedded pohledem, na který aplikuji uživatelský filtr, můžu ho použít.

Nicméně jsem slepě, dle postupu ctrl+c a ctrl+v, kýženého výsledku nedosáhl. Pointa řešení je vcelku jednoduchá. Využije se hlášky "No documents found", kterou domino zobrazuje v blokovém tagu h2. Stačí tedy zadat do sekce objektu formuláře "HTML Head Content" tento stylopis:

"<style> h2 {display:none;} </style>"

Poté je na již zmíněné stránce uveden zdroj javascriptu. Ten se dle návodu dá do sekce objektu formuláře "JS Head". Nicméně tak, jak je js udělán, nemůže fungovat. Za prvé jsou zde uvedeny ne zcela vždy a ve všem funkční objekty body.all.tags.

Řešením byl script:

var noDocumentsFound = document.getElementsByTagName('h2');
var tagH2, textH2;
for (var i = 0; i < noDocumentsFound.length; i++){
tagH2 = noDocumentsFound[i];
textH2 = tagH2.innerHTML;
if (textH2.toLowerCase() == "no documents found"){
tagH2.innerHTML = 'No documents found';
}
tagH2.style.display = "block";
}

Místo body.all.tags jsem využil getElementsByTagName, který vrací pole blokového tagu h2. A místo innerText jsem použil innerHTML. InnerText je výmysl Microsoftu, ale innerHTML funguje dobře. Lepší by byl samozřejmě přístup přes DOM.

 


systém spravován pomocí webmaker.ooo.cz
©2006-2017 Tomáš Hanus | ixulot | ixodesign.cz | RSS