JS alerts an diversen Stellen

Topics from older beta tests.
Antworten
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

JS alerts an diversen Stellen

Beitrag von Jochen »

Hi,
sollten die JS alerts nich auch auf colorbox umgestellt werden? Noch sind nämlich ein paar drin:

Code: Alles auswählen

adm_program
    administration
        members
             members_new.php
                 34: alert("'.$g_l10n->get('SYS_FIELDS_EMPTY').'");  
        roles
             roles_new.php
                188: alert("'.$g_l10n->get('ROL_SAVE_ROLES').'");  
    modules
        ecards
            ecard.js (3 matches)
                125: alert(error_message);  
                280: alert(ecardJS.ajaxExecution_ErrorText.replace('[ERROR]',"\n\tResponse text: "+xhr.responseText+"\n\tAjax options: "+ajaxOptions+"\n\tTrown error: "+thrownError));  
                466: alert( this.messageTooLong.replace("[MAX]",this.max_ecardTextLength) );  
        lists
            members.php (4 matches)
                163: alert("'.$g_l10n->get('LST_MUST_HAVE_WEBMASTER').'");  
                191: alert("'.$g_l10n->get('SYS_ROLE_MAX_MEMBERS', $role->getValue('rol_name')).'");  
                195: alert("'.$g_l10n->get('SYS_NO_RIGHTS').'");  
                199: alert("'.$g_l10n->get('SYS_INVALID_PAGE_VIEW').'");  
            mylist.php
                118: alert("'.$g_l10n->get('LST_NO_MORE_COLUMN').'");  
        profile
            profile.js
                115: alert(this.changeRoleDates_ErrorText);  
    system
        js
            form.js
                143: alert('Error: Form elements must not be named "submit".');  
Werde leider noch nicht ganz schlau wie Fasse das gemacht hat. :wink:
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hi Jochen,

Du kannst die Colorbox aus JavaScript eigentlich immer mit:

Code: Alles auswählen

jQuery().colorbox()
aufrufen.

Ich habes es mal am Beispiel der roles_new.php nachgestellt. Ersetze die Zeile 188

Code: Alles auswählen

alert("'.$g_l10n->get('ROL_SAVE_ROLES').'");
durch

Code: Alles auswählen

jQuery().colorbox({href:"'.$g_root_path.'/adm_program/system/msg_window.php?message_id=ROL_SAVE_ROLES", open:true, iframe:true, width:350, height:150});
Das sollte den gewünschten Effekt bringen. Ich kann das gerne an den von Dir selektierten Stellen einbauen, jedoch vermutlich erst am Sonntag...

Gruss,
Matze
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hi Matze,

so in etwa hatte ich mir das vorgestellt. Mit einem OK-Button wie bei alert fände ichs noch besser. Wenn niemand was dagegen hat kannst Du es gerne einbauen, sobald Du die Zeit findest.

UPDATE: Vielleicht wäre es clever eine eigene alert Funkton zentral zu hinterlegen. Das macht den Aufruf in Zukunft deutlich einfacher.

Schönes Wochenende
Gruß Jochen
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

So, ist jetzt eingebaut. Ich dokumentiere das noch im Wiki.
Ich habe es nicht an allen stellen testen können, aber alles was ich gesehen habe lief einwandfrei.

Ich habe es in die common.js als Funktion mit untergebracht, die Syntax lautet sinngemäss:

Code: Alles auswählen

jQueryAlert("Systemtext aus Languagefile", "Optinale Variable 1 für Languagefile", "Optinale Variable 2 für Languagefile", "Breite", "Höhe")
// Erforderlich ist nur der Systemtext, Breite wird per default auf 350px gesetzt, Höhe auf 175px)
Und so siehts dann zB bei den Rollen aus:
Bild
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hi,
habs mir gerade mal angeschaut. Gefällt mir schon gut. Eine falsche TextId hab ich ausgetauscht.

Leider scheint das mit der Variable nicht zu funktionieren.

Beispiel members.php Zeile 191, wenn die maximale Mitgliederzahl überschritten würde.

Gruß Jochen
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Jochen hat geschrieben:Leider scheint das mit der Variable nicht zu funktionieren.
Hi Jochen,

da habe ich eine alte Version eingecheckt... :oops:
In der common.js fehlt bei der Übergabe der Variablen noch jeweils ein "=".

Code: Alles auswählen

urlparameter = urlparameter + "&message_var1=" + messageVAR1;
Check ich heute abend ein, dann sollte es richtig funktionieren.

Gruss,
Matze
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Nachtrag: Dokumentiert ist es jetzt auch. :D
http://www.admidio.org/dokuwiki/doku.ph ... t_colorbox
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hi Matze,

da kann ich Dich ja direkt weiter mit Hinweisen versorgen :-)

- Innerhalb der Colorbox scheint irgendwie das CSS nicht gülitig zu sein.

- Außerdem wäre es glaube ich gut es optisch analog zur Löschabfrage zu halten. Also etwa so:

Code: Alles auswählen

echo '
    <div class="formLayout" id="message_window">
        <div class="formHead">'.$g_l10n->get('SYS_NOTE').'</div>';
            
        // Ausgabe der Meldung
        echo '<div class="formBody">'.$display_message.'</div>';
        
        // Html des Modules ausgeben
        echo '
        <div style="position: relative; top: 5px">
        	<button id="btnDelete" type="button"
        		onclick="parent.$.colorbox.close()"><img src="'. THEME_PATH. '/icons/ok.png" alt="'.$g_l10n->get('SYS_OK').'" />&nbsp;'.$g_l10n->get('SYS_OK').'</button>
        </div>
    <div>';
- Die Größenangabe sollten wir glaube ich besser der jQuery Automatik überlassen, wer weiß wieviel Platz andere Sprachen da brauchen.

Gruß Jochen
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hi Jochen,

warum das CSS nicht gültig ist, lässt sich auf den ersten Blick nicht sagen. Da muss ich mal schauen.
Den Hinweistext kann ich gerne noch mit einarbeiten, schien mir bei einer Alert-Box nicht wirklich brauchbar zu sein... :roll:

Die Grössenangaben allerdings müssen erhalten bleiben, weil die Colorbox beim Direktaufruf sonst als Breite/Höhe jeweils "0" annimmt. Sonst müsste man einen festen Rahmen im Anzeigefenster definieren, aber auch da bleibt dann wieder die Frage "Welche Grösse?"

Gruss,
matze
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

So ist jetzt eingecheckt, ich habe das jetzt als Hinweis-Fenster wie vorgeschlagen umgesetzt. Es fehlte der Verweis auf die CSS Datei (wird ja in einem eigenständigen Fenster geladen, daher wird die nicht durchgereicht). :P

Wenn keiner mehr Anmerkungen hat ist es für mich erledigt.
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hi,

sehr schön. Ich war lediglich so frei die Defaultgröße etwas rauf zu setzten. Mit der Überschrift und dem OK-Button, passten jetzt auch sehr kleine Texte nicht mehr.

Gruß Jochen
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Hi,
muss das Thema doch noch mal öffnen. Weil mir noch zwei Sachen aufgefallen sind.

In der jquery_alert Funktion bekommen wir den Hintergrund angezeigt im msg_window nicht.

Darüber hab ich mir die Funktion mal angeschaut und gesehen, dass das msg_window nicht in einem iframe geladen wird, somit ist auch ein reload der css Datei nicht notwendig. Nachgestellt bekommen hab ichs leider noch nicht.

Gruß Jochen
prami
Team
Beiträge: 26
Registriert: 24. Mär 2011, 13:56

Beitrag von prami »

Hallo

Bin noch Neuling in Admidio und lese mir halt einiges durch.
Dabei ist mir aufgefallen, das unter
http://www.admidio.org/dokuwiki/doku.ph ... t_colorbox
2 Variablen benutzt werden können.

Unter
http://www.admidio.org/dokuwiki/doku.ph ... nweistexte
beliebig viele Variablen

Unter
http://www.admidio.org/dokuwiki/doku.ph ... rachigkeit
steht "Momentan können 4 Platzhalter pro Text ..."

Wäre hier nicht ein "allignment" sinnvoll ?

Btw: Ich habe kein Problem damit, wie gesagt es ist mir nur aufgefallen.

Viele Grüsse und weiterhin viel Spass bei der Entwicklung ;-)
Wolfgang
matzman2000
Former team member
Beiträge: 1087
Registriert: 2. Sep 2007, 17:12
Wohnort: Itzstedt
Kontaktdaten:

Beitrag von matzman2000 »

Hallo Wolfgang,

das sind aber verschiedene Stellen bzw. verscheidene Nutzungshintergründe:
- JS Alert wird i.d.R. nur an sehr wenigen Stellen benötigt und soll keine umfassenden Texte (= Variablen) umfassen.
- Message Texte können aus verschiedenen Textbausteinen bestehen und ebnötigen damit n Variablen.
- Mehrsprachigkeit ist von Fasse auf 4 Variablen limitiert, die reichen bislang vollkommen aus.

Gruss,
Matze :wink:
Antworten