[3.3] [Fork] Recent Topics NG

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2252
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von LukeWCS »

IMC hat geschrieben: 23.10.2023 12:30 Eigentlich bin ich ein Fan von einem einheitlichen Erscheinungsbild für den Benutzer. Da kämen dann nur die in phpBB integrierten JS oder PHP Confirmboxen in Frage.
Denselben Standpunkt vertrete ich ebenfalls. Nicht ohne Grund sieht z.B. EMP auf den ersten Blick aus wie der Original ExtMgr, obwohl mein Konzept es mir erlauben würde, die Seite radikal umbauen zu können, so das es keinerlei Wiedererkennung zum Original gäbe. :wink:

Aber wenn das phpBB Konzept zu starr ist, weiche ich von meinem Standpunkt ab. Die phpBB confirm_box setze ich ja auch ein, bei EMP werden damit die Rückfragen beim Deaktivieren/Aktivieren geregelt. Das Konzept ist aber Overkill für simple Sicherheits-Rückfragen, deren Ergebnis man nicht auswerten muss und ist ungeeignet/umständlich, wenn es darum geht, mehr als eine Rückfrage pro Einstellungs-Seite zu realisieren.

Davon abgesehen, die JS ConfirmBox ist dem Layout der phpBB confirm_box nachempfunden.
Deine Lösung hat jedoch 2 entscheidende Vorteile. Sie blockiert nicht die weiteren Eingaben auf der Seite und die Meldung ist dem Switch zugehörig angeordnet. Dadurch wird es für den Nutzer übersichtlicher. Deshalb war die Entscheidung nicht sonderlich schwer, ich werde die in EMP verwendete Technik verwenden.
Die Rückfrage wird auch codetechnisch simpel dem gewünschten Control zugeordnet, so das es im Template sehr einfach ist, einen Schalter mit einer Rückfrage auszustatten und zwar beliebig viele davon auf der gleichen Seite. Daher flexibel.

Okay, in dem Fall würde ich vorschlagen, das ich das initial in RT einbaue, weil ich die ConfirmBox Funktionalität dann noch umbauen und universell und transportabel gestalten würde, da ich WWH ebenfalls damit ausstatten will. Denn momentan ist das eine Funktionalität, die auf EMP spezialisiert ist.

Aktueller Zustand (bei EMP):
  • 1 Twig Makro
  • 3 CSS Definitionen
  • 3 JS Funktionen
  • 3 JS Event Registrierungen (pro Control)
Geplanter Zustand:
  • 1 Twig Makro
  • 3 CSS Definitionen
  • 1 JS Klasse die sich um alles kümmert
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
IMC
Mitglied
Beiträge: 551
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von IMC »

LukeWCS hat geschrieben: 23.10.2023 15:31 Okay, in dem Fall würde ich vorschlagen, das ich das initial in RT einbaue, weil ich die ConfirmBox Funktionalität dann noch umbauen und universell und transportabel gestalten würde, da ich WWH ebenfalls damit ausstatten will.
Ups, habe ich schon Fertig, aber noch nicht hochladen.
Wenn du deinen Code universeller gestalten möchtest werde meine Änderungen verwerfen. Kein Problem.

Edit:
Ich hatte der Box einen dezenten Schatten hinzugefügt. Vielleicht gefällt er dir auch.

Code: Alles auswählen

	-webkit-box-shadow: 2px 2px 10px 1px rgba(121, 162, 179, 0.5);
	box-shadow: 2px 2px 10px 1px rgba(121, 162, 179, 0.5);
Gruß, Thorsten
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2252
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von LukeWCS »

IMC hat geschrieben: 23.10.2023 21:36 Ups, habe ich schon Fertig, aber noch nicht hochladen.
Wenn du deinen Code universeller gestalten möchtest werde meine Änderungen verwerfen. Kein Problem.
Ist doch prima. Wenn du die aktuelle Technik von EMP übernommen hast, dann hast du jetzt auch schon den Grossteil umgebaut, den ich ansonsten hätte umbauen müssen.

Du könntest das als pl11 einpflegen, dann setze ich darauf auf. Den Schatten könntest auch gleich dazu packen, dann kann ich mir das auch anschauen.

Mit der geplanten JS Klasse hatte ich einige Probleme und auch ziemlich geflucht in den letzten Tagen, weil bei JS auch bei Klassen mal wieder einiges anders ist, als man das von anderen Sprachen kennt. Das verflixte this hat mich einige Nerven gekostet. :evil: Inzwischen hab ich das aber im Griff und die Klasse wird jetzt so, wie ich mir das vorgestellt habe.

edit: Hab bei mir im TB wo ich gerade an der ConfirmBox Klasse arbeite, mal testweise den Schatten eingebaut. Gefällt mir sehr gut! :) Dadurch gibts einen kleinen Tiefeneffekt und die Box "hebt" sich optisch ein wenig vom Hintergrund ab, quasi wie ein eingeblendetes Fenster. Das übernehme ich dann auch bei mir als Standard.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
IMC
Mitglied
Beiträge: 551
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von IMC »

LukeWCS hat geschrieben: 23.10.2023 22:22 Du könntest das als pl11 einpflegen, dann setze ich darauf auf.
pl11 ist jetzt online.
LukeWCS hat geschrieben: 23.10.2023 22:22 Das verflixte this hat mich einige Nerven gekostet.
Damit hatte ich neulich auch Probleme. Es verwies nur bei jedem 2. bis 3. Aufruf auf das Element. :x
Gruß, Thorsten
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2252
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von LukeWCS »

IMC hat geschrieben: 24.10.2023 00:30 pl11 ist jetzt online.
Habs im TB übernommen und gesichtet.

Zum Beispiel das CSS das du übernommen hast, da ist einiges EMP spezifisch. Das ist gemischt, weil ich das damals nicht eingeplant hatte, die ConfirmBox transportabel zu gestalten. Ich habe inzwischen wohl alles isoliert, das werde ich sehen, sobald ich das woanders (RT/WWH) einbaue.

Die Klasse ist grundsätzlich fertig, die wird jetzt erst noch in EMP getestet. Seit etwa einem Monat läuft die Entwicklung zu 1.1.3. Da ich jetzt zum ersten Mal mit Klassen bei JS hantiere, war da viel Recherche und auch einige Abende mit Try&Error angesagt. :wink:

Die Klasse wird so wie sie ist, ins bestehende JS eingefügt und dann braucht es lediglich 1 Codezeile, um die Klasse zu initialisieren. Bei RT würde das dann so aussehen:

Code: Alles auswählen

$(window).ready(function() {
	'use strict';

	$('input[name="reset"]').on('click', RecentTopics.FormReset);

	RecentTopics.ConfirmBox = new LukeWCSphpBBConfirmBox('input[name="submit"]');
});
Also keine Funktionen mehr umbenennen und auch kein hardcoded Submit-Selector mehr, letzterer wird einfach als Parameter übergeben. Das wars, den Rest macht die Klasse. Dann wäre nur noch das Twig Makro und CSS einfügen.
Es verwies nur bei jedem 2. bis 3. Aufruf auf das Element. :x
Na super, das braucht auch niemand. Hast die Ursache gefunden, oder einen Workaround benutzt?
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
IMC
Mitglied
Beiträge: 551
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von IMC »

LukeWCS hat geschrieben: 24.10.2023 22:36 Die Klasse wird so wie sie ist, ins bestehende JS eingefügt und dann braucht es lediglich 1 Codezeile, um die Klasse zu initialisieren.
Das hört sich sehr vielversprechend an.
LukeWCS hat geschrieben: 24.10.2023 22:36 Na super, das braucht auch niemand. Hast die Ursache gefunden, oder einen Workaround benutzt?
Die Ursache habe ich nicht gefunden. Ich denke das es ein Timing Problem bei jQuery ist. Mein Workaround war event.target. An einer anderen Stelle musste ich ein Timeout von 1000ms setzen, 500ms hatte nicht gereicht.
Hatte ich vorher noch nie. Das hat mich jedoch in meiner Entscheidung bestärkt alles in Vanilla JS zu Programmieren. jQuery mache ich nur noch wenn ich bestehenden Code ergänzen muss.
Gruß, Thorsten
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2252
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von LukeWCS »

IMC hat geschrieben: 24.10.2023 23:45 Das hört sich sehr vielversprechend an.
In der neuesten EMP Beta ist das bereits integriert, ist aber erstmal nur ein funktionierender Zwischenstand an dem ich noch feile.
Stelle musste ich ein Timeout von 1000ms setzen, 500ms hatte nicht gereicht.
Hatte ich vorher noch nie.
Urgs... Mich würde bei Gelegenheit mal der Code Kontext interessieren. Versuchst du evtl. Events für Elemente zu registrieren, die vielleicht noch gar nicht im DOM vorhanden sind? Das wäre eine Erklärung für derlei Probleme.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
IMC
Mitglied
Beiträge: 551
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von IMC »

LukeWCS hat geschrieben: 26.10.2023 23:41Versuchst du evtl. Events für Elemente zu registrieren, die vielleicht noch gar nicht im DOM vorhanden sind?
Ja, es geht um Events. Die Elemente sind auch im DOM vorhanden. Es wird daran liegen das es meinen Eventhandler, und noch mindesten einen weiteren gibt. Ich habe mich aber noch nicht weiter damit beschäftigt, weil es im Moment gut funktioniert. Zur Zeit bin ich gedanklich bei einer anderen Extension die ich für mich abändern möchte. Danach werde ich mich wieder darum kümmern. Dann werde ich den anderen Handler entfernen, und falls nötig mit den meinigen zusammenführen.

Edit:
Weil du mich wieder auf das Thema gestoßen hast habe ich eben einen kurzen Test gemacht. Die zwei Handler haben sich beeinflusst. Dies war die Ursache und ist leicht zu lösen.
Gruß, Thorsten
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2252
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von LukeWCS »

IMC hat geschrieben: 27.10.2023 19:12 Weil du mich wieder auf das Thema gestoßen hast habe ich eben einen kurzen Test gemacht. Die zwei Handler haben sich beeinflusst. Dies war die Ursache und ist leicht zu lösen.
Das hört sich doch gut an. Weil, wenn ich irgendwas lese von Timing Problemen im Code die mittels sleep/wait/delay/pause/etc/pp gelöst werden müssen, dann krieg ich Bauchweh. :D Mit dem Hintergrund das ich sowas natürlich auch kenne und daher weiss, dass derlei Workarounds einen mit absoluter Sicherheit früher oder später böse in den Hintern kneifen.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
IMC
Mitglied
Beiträge: 551
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3][Fork] Recent Topics

Beitrag von IMC »

LukeWCS hat geschrieben: 28.10.2023 18:52... Timing Problemen im Code die mittels sleep/wait/delay/pause/etc/pp gelöst werden müssen, dann krieg ich Bauchweh.
Ich auch.
Manchmal kriegt man bei der Fehlersuche einen Tunnelblick und ist froh irgendeine Lösung gefunden zu haben. Mit etwas Abstand schaut man etwas anders auf das Problem. In diesem Fall warst du mein Trigger. Danke dafür.
Gruß, Thorsten
Antworten

Zurück zu „Extensions in Entwicklung“