Popis k modifikátroru cubes

Bližší popis k modifikátoru comex.table.data.cubes určeného z tabulkových dat.

Popisy obsahují také grafické znázornění.


Vytvoření modifikátoru cubes


Zadání pro vytvoření nové komponenty pro stránky systému flexideo / comex.

Nový modifikátorcubes patří do třídy table a jejího rozsahu data. Ve jmenném prostoru platformy flexideo je řazen takto:

comex.table.data.cubes

Cílem je vizualizace datových řádků vrácených serverem v podobě standardizovaných kostiček s názvem, dodatečným popisem, případnou ikonou a příp. nástroji. Data jsou získávána buď dotazem nebo jako výsledek akce. Způsob získávání dat závisí tom, jak jsou definována table data.

Nadpis, ikona a další obsah každé kostky je dán výběrem sloupce v page-editoru při vkládání kostky na stránku. Nástroje pro otevření, náhled, editaci či spuštění akce jsou definovány pomocí row-tool . Mimo to může být pro kostku také určen doprovodný statusový symbol, například v semaforové sémantice.

Kostky mohou být různě široké, přičemž šířka může být vhodně s ohledem na využití parametrizována, např. jako minimální či pevně daná. Kostky mohou být v prostoru komponenty seskupovány dle určeného údaje, například dle čísla fáze, přičemž pak číslu je v parametru přidělen název. Jedním z možných využití tak může být vizualizace kostek do vývojové pipeline:

Pokud seskupování nebude mít charakter fází (musí být určeno parametrem), bude mít záhlaví skupin také formu kostek, jen budou tenčí a zvýrazněné a nebudou mít funkcionalitu kostek obsahových:

Obsah hlaviček pak může být dán obsahem hodnoty seskupení, nebo může být přiřazen parametrem nebo může být předmětem pomocné tabulky, která bude parametrem vybrána.


Struktura

Každá kostka má možnost zobrazovat tyto prvky:

subject - předmět, který je tučně vyznačen a tvoří majoritní sdělení jako název;

timestamp - datum a čas daného záznamu reprezentovaného kostkou;

icon - výběr sloupce obsahujícího název souboru ikony ze složky ikon;

avatar - odkaz na obrázek ze souborů příloh, vyžaduje autentifikaci;

symbol - název souboru gr. symbolu se složky unk/symbols či její podsložky;

subtitle - pole prvků pro sestavení textu druhého řádku formou štítek: hodnota;

Prvek subject je jediný povinný. Ostatní nebudou zahrnovány, pokud nebudou definována jejich napojení na datový řádek parametrem.

Vedle textů či obrázků bude v kostičce možné zobrazit ovládací prvek ve formě symbolu zobrazeného v pravém horním rohu. Ovládací prvky jsou definovány pomocí cxd:row-tool.

Ovládací prvky mohou být k dispozici i pro celou komponentu, ty jsou definovány pomocí uzlů cxd-table-toolcxd-table-tool. Jde o akce přidání, exportu či spouštění většinou položkově nezávislých akcí.


Grafické prvky

Avatar je chápán především jako celý odkaz od kmene webu a většinou obsahuje celý odkaz files/0000000/00… vč. autentifikačního řetězce příloh.

Naproti tomu ikona je unifikovaný obrázek ze složky ikon. Mohou být definovány jak avatar tak i icon parametr s tím, že avatar má jako více vypovídající hodnota přednost, ale nemusí být vždy uveden. Ikonu naproti tomu je možné definovat buď odkazem na některou hodnotu řádku (prefix $) nebo může být hodnota názvu souboru ikony vepsána přímo v parametru.


Textové prvky

Zatímco název není opatřován štítkem (názvem údaje - sloupce) a je propojen vždy právě s jedním údajem, může být textace druhého řádku tvořena více údaji a mělo by být parametrem volitelné, zda tyto údaje mají být “prefixovány” štítkem či nikoli.

Textové údaje ve druhém a třetím řádku nemusí být definovány nebo mohou být skryty a dodatečně zobrazeny či naopak skryty patřičnými volbami uživatele (viz. “Řazení, filtrace, volitelné údaje”). Některé údaje pro druhý řádek tak mohou již definicí mít výchozí stav skryto a je na uživateli, aby si je v případě potřeby zobrazil. Nebo naopak bude mít uživatel možnost vybrané nebo všechny údaje druhého řádku ze zobrazení vypnout. A pokud tyto vypnuté nejsou označeny jako povinné, neměly by být ani součástí dotazu.


Řazení, filtrace, volitelné údaje

Na rozdíl od modifikátoru comex.table.data.grid neobsahuje modifikátor cubes hlavičku:

V hlavičce jsou ovladače pro užitečné nástroje řazení ▼▲, sloupcovou filtraci F a skryté sloupce ±. Nicméně rozsah comex.table.data těmito možnostmi disponuje a je žádoucí, aby je modifikátor cubes byl schopen zpřístupnit

V pravém horním rohu komponenty bude k tomuto účelu k dispozici rozbalovací menu skryté pod symbolem drop-down šipky:

Menu bude obsahovat jednotlivé údaje datové tabulky (názvy sloupců), která je podkladem modifikátoru a u každého z těchto údajů budou k dispozici šipky řazení ▼▲ a možnost zobrazení filtrační nabídky F. Z této nabídky budou vyloučeny grafické údaje (icon, avatar a symbol). Nad seznamem (jako první položka menu) bude k dispozici i volba ± pro možnost vypnutí či zapnutí doplňkové textace (obsah 2. řádku), pokud bude parametrem druhý řádek vůbec určen.


Seskupování

Výchozí podoba kostek je prostý seznam (ať již s ikonami a symboly či bez nich), šířka kostiček vyplní celý prostor pro komponentu s příp. paddingem:

Pokud je určena šířka nebo maximální šířka, budou kostky organizovány do prostoru komponenty tak, aby ji vyplnily:

Kostky v případě více sloupců jsou vždy řazeny shora dolů a zleva do prava podobně, jako je řazen obsah novinových sloupků. Pokud by bylo možné bez velkých komplikací volit mezi orientací “shora dolů” a orientací “zleva doprava” parametrem, bude dobré takovou parametrizaci zavést. Mimo to mohou být kostky v prostoru komponenty seskupovány dle jednoho určeného údaje. Pokud dojde k seskupení přidá se první zvýrazněný řádek, jehož kostičky budou obsahovat hodnotu či hodnoty, podle kterých je seskupováno:

V druhém řádku se mohou objevit sumarizace, pokud jsou nastaveny v aplikační definici zobrazované instance třídy table. Volitelně by s k názvu připojil počet položek skupiny.

Pokud je seskupováno dle celočíselné hodnoty a seskupování je parametrizováno jako fáze, je komponenta zobrazena s progresovými šipkami do formy pipeline:

Jednotlivým číslům by se pomocí seznamové parametrizace měl přiřadit ke každému číslu, které se může vyskytnout platný název. Názvy je třeba zadávat s ohledem na potenciální vícejazyčnost. Přiřazení názvů parametrem není povinné a pokud není provedeno pak se v šipkách zobrazí pouze velké číslovky seskupení.

Při větší délce seznamů (tj. výšce) je třeba též zajistit rolování seskupení tak, aby hlavička seskupení vždy zůstala ve viditelné části na horním okraji podobně, jako hlavička komponenty comex.table.data.grid.

Při větším počtu skupin (tj. šířce) je třeba zachovat horizontální rozložení skupin opět obdobně, jako je tomu u širokých tabulek komponenty table.data.grid, které se pomocí rolovacích nástrojů prohlížeče (roll-baru) posouvají po vertikální ose.


Kombinovatelnost s jinými komponentami

Přirozenou schopností komponent z třídy a rozsahu comex.table.data je přijímat instrukce pro filtraci obsahu dotazem z komponent typu comex.table.form.filter.

Zde pomocí definovaných konektivit (connections) může docházet k filtraci obsahů přednastavenými hledáčky a filtry.

Na akce kostek pak mohou být rovněž navázány další konektivity podobně jako u jiných modifikátorů. Například tak po provedení řádkové akce (tj. akce s jednou či více kostičkami) je možné provést refresh i jiné komponenty (refresh samotné komponenty po provedení nástroje typu akce by měl být automatický). Výčet všech akcí je třeba porovnat a případně převzít z modifikátoru table.data.grid.

Dokumentace, prostředí - při tvorbě kódu je třeba zachovávat systém komentářů v js kódu tak, aby bylo možné jej využívat pro generování integrovanými nástroji comex.


Popis k modifikátoru graphsPopis k modifikátroru cubes