fragen zu pagebutton in eval 2.2: schachtelung und url aufruf unterseite?

Begonnen von FhemPiUser, 10 August 2016, 21:40:26

Vorheriges Thema - Nächstes Thema

FhemPiUser

ich habe 2 fragen zum pagebutton in eval 2.2:

1) kann man pagebuttons verschachteln, d.h. auf einer unterseite von pagebutton eine weitere pagebuttonleiste mit unterseiten auf der unterseite anlegen?

2) kann man direkt per url auf pagebutton unterseiten springen? ich möchte gerne per webviewcontrol von fhem auf die kamera unterseite springen, wenn die haustuer klingelt...

ext23

Guten Morgen,

da würde ich gerne meine Frage hinzufügen. Das ganze funktioniert nur so wie in dem Beispiel, das ich also ein Bereich definiere den ich dann über pagebutton neu lade, richtig? Im Moment ist es so, das ich die komplette Seite neu lade, da funktioniert das aber nicht, oder doch?!? Sprich ich müsste doch einiges umstellen, damit das auch sauber klappt. Und wann wird der speicher gelöscht, wenn ich ein kompletten Refresh der Seite mache? Das ist nämlich nicht so einfach das bei bestimmten Unterseiten neue Menüs erscheinen mit denen ich wieder andere Seite aufrufe und mhh naja kompliziert kompliziert ;-) Aber es nützt alles nicht, auf meinem Tablet ist der Seitenaufbau so extram langsam, da gibt es leider keine Alternative also die neue Funktion zu nutzen.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

setstate

Im eval habe ich zwei Beispiele für pagebutton mit dabei, einmal Menü oben und einmal rechts.
Das ist aber immer nur ein Menü auf der Hauptseite und viele Unterseiten. Unterseite heißt: auf der Hauptseite wird ein bestimmter Bereich nur ausgetauscht, ohne Neuladen der Hauptseite und auch mit automatischem Cache und optionalem Prefetch. Wenn man den Cache nicht möchte und bei jedem Umschalten die Subs neu laden möchte, muss class="nocache" gesetzt werden.
Pagebuttons auf der Unterseite, die andere Bereiche umschalten sollen, dürfte zur Zeit nicht gehen. Aktuell wird die Unterseite als # Hash in die URL aufgenommen. Zwei pagebutton Gruppen würden sich vermutlich gegenseitig behindern. Man könnte versuchen, bei einer Gruppe die Hash Funktionen zu unterdrücken und nur das Inhalt-Ändern benutzen. Das müsste ich mal austesten, was machbar ist. 

FhemPiUser

ok, danke setstate.

und kann ich eine unterseite direkt aufrufen z.b. über "http...#page_content1.html" (frage 2 oben)? Es scheint zu gehen....

Tobias

Hi,
gibt es hier etwas Neues?
ich habe nämlich gerade genau das Problem.
Ich baue gerade meine pagetabs nach pagebuttons um.
Habe eine linke Navigation wie die Demo von setstate, einige Unterseiten haben aber nochmal eine UnterNavigation - eine art erweitere Navigation
Zb. Linkes Menü: Living. Klicke ich drauf, erscheint die Unterseite die recht widerrum ein zusätzliches Menü hat: OG - EG - KG - DG
Wenn ich allerdings dieses rechte Menü in die Unterseite einbringe, spielt die komplette FTUI Seite verrückt, nichts geht mehr. Es entwickelt sozusagen ein Eigenleben ;)

Ev. kann man auf der Indexseite standardmäßig ein linkes und rechtes Meü vorsehen, allerdings ist das Rechte Menü von der jeweiligen unterseite abhängig und muss immer ausgetauscht werden.

Alle NaviSeiten ins linke Menü zu legen geht nicht, dafür sind es zu viele.

Was mache ich nun?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Andy89

Zitat von: Tobias am 07 November 2016, 15:11:51
Alle NaviSeiten ins linke Menü zu legen geht nicht, dafür sind es zu viele.

Was mache ich nun?
das Problem hatte ich auch, deswegen habe ich das Problem umgangen, indem ich links CircleMenüs genutzt habe. Mit dem transparenten Hintergrund sehen die ähnlich aus wie PageButtons, nur dass man hinter einem Symbol mehrere PageButtons verstecken kann.

Beste Grüße
Andy
FHEM 6.0 auf rPi4 docker (mit Alexa & Siri); dbLog, FTUI, Sonos, XiaomiMapCreator auf rPi4 docker;
raspimatic auf rPi3+ > diverse Aktoren und Sensoren;
LGW > (PCA301),EC3000,LaCrosse; MQTT2 > WLAN-Steckdosen,Xiaomi Map;
Harmony Hub;Sonos;Onkyo AVR;RGB WLAN Controller;Netatmo;Withings;Unifi;AMAD

setstate

ich bereite ein paar Demo-Seiten vor ...

getan ...

unter https://github.com/knowthelist/fhem-tablet-ui/blob/master/examples/pagebutton/index_main_sub_demo.html ist ein kleines Demo für Menü in Menü.
Das Wichtigste war nur, die Namen für die Seiten und Abschnitte passend zu vergeben, damit es nicht zu Vermischungen kommt und die Pattern für die Is-Active Erkennung mit Wildcards zu versehen, damit es für das Main-Menü auch funktioniert, wenn das Sub-Menü benutzt wird, da der URL-Hash nur einmal existiert. Dieser muss also die Info für Main und Sub enthalten.

Tobias

Hab mir es mal angeschaut, hab es aber noch nicht geschnallt...
Hast du etwas geändert? Oder nur ein Demo bereitgestellt?
Worauf muss ich genau auf welcher seite achten? Was sind die Key-facts?

Warum hat die erste page dieses Pattern, die anderen aber nur ein vereinfachtes?

data-active-pattern="(.*/||.*page_main1.html||.*#page_main1_sub1.html)"
data-active-pattern=".*#page_main1_sub2.html"
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

setstate

Es gehören nur die 9 Files dazu, die Main oder/und Sub im Namen haben.
Funktioniert out of the Box ohne Änderungen.
Ich hoffe, durch die Namensgebung ist der Aufbau selbsterklärend.

Tobias

Danke, funktioniert jetzt :)

Kannst du dazu noch etwas sagen??
ZitatWarum hat die erste page dieses Pattern, die anderen aber nur ein vereinfachtes?

data-active-pattern="(.*/||.*page_main1.html||.*#page_main1_sub1.html)"
data-active-pattern=".*#page_main1_sub2.html"

Was macht die Class=prefetch genau?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

setstate

Das data-active-pattern wird mit der aktuellen URL verglichen. Wenn es matched, wird dieser Button ON gesetzt.

Den ersten habe ich immer als Default gesetzt. D.h. er wird als activ gesetzt, wenn die URL noch ganz "jungfräulich" ist. Also kein Hash gesetzt -> kein Button wurde bis jetzt gedrückt.

Prefetch holt den Part schon im Hintergrund, zeigt ihn aber noch nicht. Beim Umschalten ist der Inhalt dann schneller da, weil nix mehr geladen werden muss.

HoTi

Bei mir funktioniert das Beispiel leider nicht. Ist da etwas geändert worden?
Viele Grüße aus  Oberbayern
Tim (RettungsTim)


HoTi

Mit neuer fhem-tablet-ui-custom.css funktioniert es.  ;D

Danke  8)
Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Gunther

Sind die Dateien weg? Ich kann nur die eine Datei mit Klick auf RAW runterladen. Oder übersehe ich etwas?
FHEM@Proxmox@Nuc: TabletUI als User-Interface (4 Wandtablets) / IOs per ser2net gekapselt
Homematic: Heizung, Fenster, Bewegung | Jeelink: Temperatur | Z-Wave: Bewegung, Temperatur | FS20: Temperatur, Fenster | Viessmann-Heizung eingebunden