Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Datums- und Uhrzeit-Plugin basierend auf strftime

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • swiss
    antwortet
    Das musst du noch von Hand in die CSS Datei eintragen. Siehe den anderen Thread in dem ich bereits darauf geantwortet habe

    Einen Kommentar schreiben:


  • alexmosel
    antwortet
    hallo,

    habe das Template von Swiss als Grundstock genommen. Wie schaffe ich es,d ass die Zeit auch mit dem Srtf time plugin angezeigt wird. Bei mir steht sie nur als standart- text dort. ?

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Noch eine Ergänzung...

    Durch das neue Attribut class wird die config nicht mehr als valide angesehen und der neue Editor lässt sich nicht mehr aufrufen.

    Ich habe jetzt mal in der visu_config.xsd den Eintrag wie folgt angepasst:

    Code:
      <xsd:complexType name="strftime">
        <xsd:choice maxOccurs="unbounded" minOccurs="1">
          <xsd:element name="layout" type="layout" minOccurs="0" maxOccurs="1" />
        </xsd:choice>
        <xsd:attribute name="lang" use="optional">
          <xsd:simpleType>
            <xsd:restriction base="xsd:string">
              <xsd:enumeration value="en" />
              <xsd:enumeration value="de" />
              <xsd:enumeration value="fr" />
            </xsd:restriction>
          </xsd:simpleType>
        </xsd:attribute>
        <xsd:attribute name="format" type="xsd:string" use="optional" />
        <xsd:attribute name="class" type="xsd:string" use="optional" />
      </xsd:complexType>
    So wird die config wieder als valide betrachtet und der Editor funktioniert wieder. Er bekommt sogar eine neue Option "class" für das strftime Widget. ->toll

    Die frage ist, ob ich das so korrekt gelöst habe und ob das jemand von den Profis einchecken mag?

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Hallo Carsten

    Ich habe auch gleich mal das strftime Plugin mit deiner css konfig in das metal Design eingebaut. Leider bin ich in css überhaubt nicht fit. Ich habe es zwar hin bekommen die Schriftgrösse anzupassen aber wie bekomme ich es hin, dass das Datumfeld gleich hoch ist wie das Timefeld trotz der kleineren Schrift?

    Hier meine aktuelle css:

    Code:
    /*
     * custom local css to overload declarations in each design (basic.css)
     */
    .custom_timebig {
        padding: 0;
        margin: 0;
        color: #75d5ff;
        min-height: 0mm;
        line-height: 8mm;
        font: bold 12mm "Lucida Grande", Lucida, Verdana, sans-serif;
    }
    
    .custom_timebig > div.strftime_value {
        text-align: center;
        line-height: 14mm;
    }
    
    .custom_timedate {
        padding: 0;
        margin: 0;
        min-height: 0mm;
        line-height: 8mm;
        font: bold 3mm "Lucida Grande", Lucida, Verdana, sans-serif;
    }
    
    .custom_timedate > div.strftime_value {
            text-align: center;
    }
    Im Anhang mal ein Screenschot.
    Angehängte Dateien

    Einen Kommentar schreiben:


  • netsrac
    antwortet
    Zitat von swiss Beitrag anzeigen
    Danke!
    Bitte bitte :-)

    Wobei ich es primär aus Eigennutz (oder besser damit es Mausi auch gefällt)

    Einen Kommentar schreiben:


  • swiss
    antwortet
    Gefällt mir sehr gut.

    Danke!

    Einen Kommentar schreiben:


  • netsrac
    antwortet
    So....ich habe dem srtftime-plugin noch einen optionalen class-Parameter spendiert. Damit lässt sich dann sowas machen, wie im Bild unten gezeigt.

    Config dafür:
    Code:
          <group name="Aktuelle Zeit" class="tempclass">
            <layout colspan="3" />
    
            <group nowidget="true">
              <layout colspan="3" />
              <strftime lang="de" format='%H:%M' class="timebig"><layout colspan="3"/></strftime>
              <break />
              <strftime lang="de" format='%A, %d. %B %Y' class="timedate"><layout colspan="3"/></strftime>
            </group>
    
          </group>
    Im custom.css dann wie folgt definiert:
    Code:
    .custom_timebig {
        padding: 0;
        margin: 0;
        color: #75d5ff;
        min-height: 0mm;
        line-height: 8mm;
        font: bold 14mm "Lucida Grande", Lucida, Verdana, sans-serif;
    }
    
    .custom_timebig > div.strftime_value {
        text-align: center;
        line-height: 16mm;
    }
    
    .custom_timedate > div.strftime_value {
            text-align: center;
    }
    Dadurch, dass es optional ist, sollte es niemanden stören, der es nicht verwendet ;-)

    Gruß, Netsrac
    Angehängte Dateien

    Einen Kommentar schreiben:


  • makki
    antwortet
    Nachtrag: Nein, keine Einwände

    Makki

    Einen Kommentar schreiben:


  • MicHau
    antwortet
    Zitat von makki Beitrag anzeigen
    - jqclock kann damit im Prinzip weg, weil es ist dasselbe, nur in hässlicher
    Wie sieht es eigentlich damit aus, soll das jqclock-Plugin wegen Redundanz entfernt werden? Gibt es irgendwelche Einsprüche gegen ein Entfernen?

    Wenn nein, würde ich das in den nächsten Tagen durchführen.

    Einen Kommentar schreiben:


  • hannes loehr
    antwortet
    Hi,

    ich hatte makki und netsrac so verstanden, dass das nicht in eine navbar sollte, sondern ganz oben in die Zeile, wo der Pfad zu den Seiten dynamisch drinsteht (siehe Funktion updateTopNavigation).

    ChrisM hat ja gestern abend noch den Hinweis gegeben, wie man es besser machen könnte. Ich hatte es erst auch so gebaut, dass man generisch Inhalte oben rechts in die Zeile setzen konnte, es dann aber wieder auf ein reines strftime reduziert.

    Entweder entferne ich es jetzt wieder oder mache es generischer. Weitere Meinungen dazu?

    Gruß
    Hannes

    Einen Kommentar schreiben:


  • MicHau
    antwortet
    Zitat von peuter Beitrag anzeigen
    Wenn Du eine Top-Navbar benutzt gäbe es eventuell einen Trick. Dann kannst Du die Uhr als letztes Element in die Navbar setzen und einfach ein wenig nach oben verschieben.
    Code:
    #navbarTop .navbar .widget_container:last-child { position: absolute; right: 0; top: -12px;}
    #navbarTop .navbar .widget_container:last-child .widget {  background: none; }
    Sorry, war gestern anderweitig beschäftigt, daher komme ich erst heute dazu, weiter daran zu arbeiten.
    Ich hätte als Lösung des Problems den folgenden Vorschlag, den man meines Erachtens auch dauerhaft ins Metal-Design einbauen kann. Immer wenn das letzte Element im Navbar (Top oder Bottom) ein Element mit der Klasse 'strftime' enthält, wird dieses rechtsbündig positioniert.
    Code:
    #navbarTop .navbar .widget_container:last-child .strftime, #navbarBottom .navbar .widget_container:last-child .strftime{ position: absolute; right: 0; }
    Ist das zu einfach gedacht, habe ich irgendetwas übersehen?

    Einen Kommentar schreiben:


  • Chris M.
    antwortet
    Mir geht es v.a. darum, dass das nicht generisch ist, so wie es implementiert ist ist es eine extreme Sonderlocke. Und es missbraucht die navbar für etwas, das eben keine Navigation ist.
    Ich hab's mit Planet noch nicht ausprobiert - aber dort wird z.B. die Navbar in der Seite verschoben. Oder andere Designs blenden die ganz aus...

    Nun, wir könnten definieren, dass man da (optional) die Uhrzeit einblenden kann (so wie jetzt implementiert). Doch dann kommt der nächste, der sagt: wie? Uhrzeit kann ich im Footer haben, oben will ich ein Info-Widget das mir etwas über den grundsätzlichen Status des Hauses sagt. Oder ...

    Oder wir können dann einfach einen weiteren Bereich definieren, der rechts von der navbar sitzt und beliebig mit Widgets vollgestellt werden kann (dann würde strftime und info gehen. Und ein pagejump. ...).
    Dann würde aber sicher auch der Bedarf kommen entsprechend flexibel mit dem Footer umzugehen.

    Fazit: Stand jetzt bin ich(*) noch der Meinung, dass wir hier das Optimum überschritten haben. Die Text-Seiten sind in ihrer Struktur nun mal limitiert. Das ist deren große Schwäche - aber eben auch die stärke: ich kaufe mir eine übersichtliche Konfiguration und schnelle Erstellbarkeit mit mangelnder Flexibilität.

    Wenn ich freier sein möchte, dann muss ich zu 2D Seiten greifen. Dauert im Erstellen länger, gibt mir aber freie Platzierbarkeit der Elemente.

    --
    (*) Natürlich bin ich offen für Diskussionen. Sowohl über die Relevanz dieses Features als auch möglicher generischer Implementierungen.

    Einen Kommentar schreiben:


  • hannes loehr
    antwortet
    Ok, entschuldigung, das war mir nicht bewußt. Die Anzeige in der obersten Zeile ist ja etwas an der Basisstruktur unabhängig von irgendwelchen pages. Wäre es anzudenken, die Logik aus dem Plugin evtl. in eine Funktion der template_engine.js teils zu kopieren?

    Ich wäre dankbar für einen kleinen Wink, wie ich das sauberer überarbeiten könnte. Ansonsten bitte negatives Feedback oder Kritik gerade heraus schreiben, damit ich etwas dazulernen kann.

    Danke für den Hinweis.

    Einen Kommentar schreiben:


  • Chris M.
    antwortet
    Zitat von hannes loehr Beitrag anzeigen
    ich habe gerade einmal eine entsprechende Änderung eingecheckt
    Hi Hannes,

    mit dem Check-In bin ich nicht ganz so glücklich:
    strftime ist ein Plugin, d.h. es wird nur geladen wenn der User das explizit will - aber templateengine.js checkt jetzt immer ob da ein strftime ist und das sogar nur ganz spezifisch in der topbar.

    Wenn etwas ein Plugin ist (d.h. es erzeugt einen Overhead den man nicht zwingend haben möchte, sei es irgend etwas zur Laufzeit oder etwas deutliches beim Laden), dann sollte es keinerlei Effekt zeigen, wenn es nicht aktiviert ist.

    Und egal ob Widget oder Plugin, es sollte immer gleich funktionieren, egal ob und wo es platziert ist.

    Einen Kommentar schreiben:


  • hannes loehr
    antwortet
    Hallo zusammen,

    ich habe gerade einmal eine entsprechende Änderung eingecheckt, um Datum und/oder Uhrzeit oben rechts in der topbar anzuzeigen.

    In der XML-Defintion habe ich im meta-Tag eine entsprechende Definition eingebaut. Angepasst habe ich das CSS erstmal nur für metal. Wenn meine Änderungen bleiben sollen, passe ich die anderen Designs noch an.

    Bzgl. Format habe ich im Beispiel keine Sekunden angegeben, auf meinem Nexus 7 wurden machmal Sekunden übersprungen. Das Widget hat keine feste Breite, beim Minutenwechsel kann der Text ein paar Pixel nach links oder rechts springen.

    Um das zu vermeiden, müsste das Widget eine feste Breite bekommen; dies wiederum hängt aber natürlich vom Formatstring ab. Makki, netsrac, schaut bitte mal, ob das so für Euch passen würde. Ansonste mache ich die Änderungen wieder rückgängig.

    Gruß
    Hannes

    Einen Kommentar schreiben:

Lädt...
X