0 Dtaz typu Cmmn Inf v MarushkaDesignu
OBSAH 1 CÍL TUTORIÁLU...2 2 PRÁCE S TUTORIÁLEM...2 3 UKÁZKA DIALOGOVÉHO OKNA...3 4 STRUČNÝ POPIS TUTORIÁLU V MARUSHKADESIGNU...4-1 -
1 Cíl tutriálu V tmt tutriálu si ukážeme funkčnst a pužitelnst dtazu typu becné infrmace v MarushkaDesignu. Tutriál byl vytvřen ve verzi 4.0.1.0 a nemusí tedy být kmpatibilní se staršími verzemi. 2 Práce s tutriálem D slžky C:\MarushkaExamples\ rzbalíme bsah subru CmmnInf_CZ.zip. Cílvu slžku je nutné respektvat kvůli prvázansti cest s prjektem. V případě umístění subrů d jiné cesty by nebyl mžné s tutriálem pracvat. V prstředí MarushkaDesignu tevřeme prjekt CmmnInf_CZ.xml. Označíme frmální vrstvu Uliční čára z datvéh skladu SQLite (WKB), v kntextvém menu vybereme Data Načti vše: V mapvém kně zvlíme zbrazit Vše : Spustíme lkální webvý server: - 2 -
3 Ukázka Dialgvéh kna Obr 1: Výsledek dtazu Obecné infrmace, zbrazený v panelu Obr 2: Prvnání výsledků dtazu Obecné infrmace zbrazených v nvém kně, s prázdným parametrem ResultTemplate, vlev pužit TableStyle = ngrid, vprav TableStyle = grid - 3 -
4 Stručný ppis tutriálu v MarushkaDesignu Cílem tht tutriálu je demnstrvat funkčnst a pužitelnst dtazu typu Obecné infrmace v MarushkaDesignu. Dtaz Obecné infrmace umžňuje zbrazení becných infrmací bez výběru grafickéh elementu v mapvém kně. Ve webvé publikaci je tent typ dtazů standardně zbrazván v kartě Infrmace. Dtaz umžňuje definvat více vstupních parametrů, parametry mhu být i číselníky, ppřípadě číselníky/seznamy hdnt definvané v kaskádě. Tent druh dtazu není spjen s prvkem LayerName, tent údaj je ttiž uveden v parametru SlqStmtTemplate. Pmcí tht dtazu, k němuž jsu vytvřeny seznamy hdnt, je mžné vyhledat kaskádvitě bec, část bce a ulici a k tmut výsledku zbrazit libvlné infrmace, například v pdbě HTML stránky. Prjekt kvůli jednduchsti a přehlednsti zahrnuje puze 3 bce z POÚ Nvý Bydžv, části těcht bcí a ulice. Knkrétně se jedná bce Nvý Bydžv, Skřivany a Smidary. Frmální vrstva Uliční čára zbrazuje uliční čáry těcht bcí a texty z datvéh skladu SQLite (WKB), kvůli lepší viditelnsti jsu uliční čáry zbrazvány žlutu barvu a texty červenu. K prjektu je rvněž připjena pmcí WMS 1.3.0 pdkladvá rtft mapa České republiky (frmální vrstva Ortft v datvém skladu WMS 1-3-0). V knihvně dtazů jsu vytvřeny celkem 3 seznamy hdnt k dtazu Obecné infrmace. Pr každý z definvaných parametrů existuje právě jeden seznam hdnt: pr výběr bce, části bce a ulice. Všechny tyt seznamy hdnt, vyjma prvníh, mají nastavenu plžku Dependency ve vlastnstech seznamu hdnt na hdntu True, t znamená, že jsu závislé na výsledcích předchzích dsazených prměnných. U dtazu Obecné infrmace je nutné definvat mim jiné parametry QueryParams (pčet parametrů je v rzmezí 0 N), SlqStmtTemplate a vlitelně ResultTemplate. O těcht parametrech více v kapitle 4.1 tht dkumentu. V praxi je pmcí tht dtazu mžné zbrazit k vyhledaným názvům bcí, částem bcí a ulicím například jejich ID, jak je t uveden v přilženém prjektu. Namíst ID by byl mžné zbrazit jakukliv jinu becnu infrmaci z databáze, například pčet byvatel, vlební účast, či kterýkliv jiný údaj přiřazený k danému prstrvému prvku. 4.1 Vlastnsti dtazu Obecné infrmace: V následujícím výčtu je uveden výběr vlastnstí, kterými je mžné vlivnit chvání dtazu typu Obecné infrmace. Jedntlivé plžky jsu pr přehlednst rzřazeny d kategrií, stejně jak tmu je ve vlastnstech frmálních vrstev v MarushkaDesignu. 4.1.1 Kategrie 2. Vlastnsti dtazu QueryBuf Maximální pčet výsledků jednh dtazu, implicitní hdnta je 1. QueryParameters Definice parametrů, které služí jak parametry pr vyhledávání v SQL dtazu. ResultTemplate Tat vlastnst dtazu je vlitelná, může bsahvat kmpletní HTML, včetně stylů javascriptu (zde knkrétně červená, žlutá a fialvá barva výsledků dtazu). Vše mezi ~DETAIL~ a ~DETAIL_END~ se bude pakvat pdle pčtu výsledků. Jména uvzená znaky ~~ (tilda) jsu pjmenvané aliasy z SQL query dtazu. Následuje ukázka vlastnsti ResultTemplate, bsahující HTML frmulář z přilženéh prjektu, pzn. fialvu barvu jsu uvedeny pznámky, uvedené zde puze jak dplňující infrmace, v samtném HTML frmuláři uvedeny nejsu: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitinal//EN" "http://www.w3.rg/tr/xhtml1/dtd/xhtml1-transitinal.dtd"> <html xmlns="http://www.w3.rg/1999/xhtml"> <head> <title>test</title> Infrmace platné k datu: ~SYSDATE~ </head> <bdy - 4 -
Pkud template vrací alespň jeden řádek, lze jeh hdnty pužít i v hlavičce pužívá se například pr knstanty, kdy se u všech řádků vrací SYSDATE (aktuální datum) a v hlavičce se pak vypíše text: Infrmace platné k datu: ~DATE~, kde bude hdnta ~DATE~ nahrazena hdntu aktuálníh data. Zde je začátek stránky, může sem být vlžena kmpletní HTML, včetně stylů javascriptu atd. Vše mezi ~DETAIL~ a ~DETAIL_END~ se bude pakvat pdle pčtu výsledků. Hdnta prvníh řádku: ~DETAIL~ <hr> Obec: <span style="clr: red">~bec~</span> ID bce: <span style="clr: yellw">~id bce~</span> Část bce: <span style="clr: red">~část bce~</span> ID části bce: <span style="clr: yellw">~id části bce~</span> Ulice: <span style="clr: red">~ulice~</span> ID ulice: <span style="clr: yellw">~id ulice~</span> Datum: <span style="clr: green">~sysdate~</span> ~DETAIL_END~ <hr> <br> Zde je knec stránky, cž je také kmpletní HTML </bdy> </html> SlqStmtTemplate SQL šablna dtazu Následuje ukázka SQL dtazu SlqStmtTemplate z přilženéh prjektu: SELECT A.NAZEV "ulice", A.ULICE_ID "id ulice", B.NAZEV "část bce", B.COBCI_ID "id části bce", C.NAZEV "bec", C.OBCE_ID "id bce" FROM UIR_ULICE A, UIR_COBCI B, UIR_OBCE C WHERE A.NAZEV LIKE '~3~%' AND A.OBCE_ID = B.OBCE_ID AND B.NAZEV LIKE '~2~' AND B.OBCE_ID = C.OBCE_ID AND C.NAZEV LIKE '~1~' ORDER BY A.NAZEV ASC Pmcí dtazu výše je definván, jaké infrmace z databáze se zbrazí ve výsledku dtazu Obecné infrmace. Rvněž jsu zde nadefinvány aliasy slupců, ty jsu ptm dsazvány d HTML frmuláře ResultTemplate. Dtaz bsahuje parametry ~(string)1~ ~(string)3~, kde 1 3 jsu indexy přadí parametrů uvedených ve slupci QueryParameters ascivanéh dtazu Obecné infrmace. - 5 -
4.1.2 Kategrie 4. Zbrazení výsledku ResultHeight výška infrmační bubliny (v pixelech) ResultWidth šířka infrmační bubliny (v pixelech) TableStyle typ zbrazení dtazu v klientvi (grid s mřížku / ngrid - bez mřížky), viz Obr 2 TargetName dtaz se zbrazí v kně s daným názvem ViewStyle typ zbrazení dtazu v klientvi (InNewWindw výsledek se zbrazí v nvém kně, InPanel výsledek se zbrazí v panelu Infrmace (viz Obr 1), InPpUpBubble výsledek se zbrazí ve vyskakvací bublině) WindwLeft dsazení kna zleva při tevření nvéh kna WindwOrigin pčátek kna určuje rh klienta pr výpčet jeh plhy WindwTp dsazení shra při tevření nvéh kna - 6 -