Projekt

Obecné

Profil

Požadavek #1077

Navigace mezi detaily prvků dle filtrů

Přidáno uživatelem Ondřej Fibich před více než 1 rok. Aktualizováno před asi 2 měsíců.

Stav:
Nový
Priorita:
Normální
Přiřazeno:
Kategorie:
Jádro systému
Cílová verze:
Začátek:
2017-10-04
Uzavřít do:
% Hotovo:

0%

Odhadovaná doba:
15.00 hod

Popis

Umožnit postupně procházet detaily (např. profil člena, detail zařízení atp.) pomocí tlačítek Zpět a Vpřed v pořadí, ve kterém byly prvky vyfiltrovány ve zdrojové tabulce.

Příklad: Uživatel si vyfiltruje 10 členů a u prvního z nich si zobrazí jeho profil. V profilu provede operaci, např. editaci. Následně chce přejít na dalšího člena v pořadí a opět provést nějakou operaci. Díky tlačítku Vpřed nemusí přecházet zpět na vyfiltrovanou tabulku, ale může okamžitě zobrazit dalšího nebo předchozího člena v pořadí.

Návrh realizace

  • Po aplikaci filtru na tabulku s podporou navigace mezi detaily, se uloží seznam ID prvků zobrazených v tabulce.
    • Uložení proběhne pouze pro prvky z aktuální strany tabulky. Přechod mezi detaily na různých stranách tabulky tedy není možný (protože je obtížné jej implementovat, může způsobit velké zatížení systému v případě vyfiltrování velkého počtu položek).
    • Uložení probíhá lokálně pro aktuální tab webového prohlížeče a nepřenáší se do nových oken. Díky tomu je možné procházet různě vyfiltrované detaily v různých oknech.
  • Zobrazený detail detekuje uložený seznam ID prvků. Pokud v seznamu nachází své ID, pak zobrazí v levém a pravém rohu obsahu stránky tlačítka Vpřed a Zpět.
    • Pokud je zobrazený detail první nebo poslední v pořadí, je příslušné tlačítko s neplatnou operací "zašedlé".
  • V první fázi bude implementováno u:
    1. Profil člena,
    2. Detail zařízení.

Poznámky k implementaci

  • Uložení bude probíhat v rámci HTML5 localStorage.
    • Starší prohlížeče (IE 7 <=) nebudou podporovány.
    • Musí být řešeno omezení velikosti úložiště mazáním starších záznamů. Lze realizovat odchytávání výjimky.
  • JavaScriptová funkcionalita pro uložení by měla být součástí implementace gridu a aktivována jednoduchou volbou při jeho tvorbě v controlleru. Aktivace funkcionality v detailu musí probíhat jednoduše, aby bylo možné snadno rozšířit o další detaily.

Historie

#1 Aktualizováno uživatelem Ondřej Fibich před 9 měsíců

  • Cílová verze změněn z 1.1.22 na 1.1.23

#2 Aktualizováno uživatelem Ondřej Fibich před asi 2 měsíců

  • Cílová verze změněn z 1.1.23 na 1.2

Také k dispozici: Atom PDF