Hallo Florian, habe mal geschaut, was man mit der Todo-Liste noch so machen kann....
1. Mir ist da noch ein Fehler aufgefallen: Normalerweise speichert die ToDo-Liste alles automatisch, aber wenn man die Taste F5 drückt oder ein Neustart einleitet, funktioniert es nicht bei allen Browsern. Nur der FireFox bekommt das hin. Lässt sich hier etwas machen?
2. Erweiterungen: Aus diesem Grunde habe ich einem Speicher-Button eingebaut. Wenn man sich mit der ToDo-Liste beschäftigt, kann sie eine ganze Menge. Habe mal alles aufgelistet, was möglich ist.
Frage: Wenn man die Liste so richtig nutzt, kann sie in der Breite zu schmal sein. Habe hierzu einem Maximier-Button eingebaut. Schön wäre es die Einstellung zu Speichern. Wie geht das? Habe es nicht hinbekommen.....
Oder über jQueryUi und "Resizable" das Fenster größer ziehen. Das währe perfekt! Leider habe ich es nicht hinbekommen, dass sich die komplette ToDo-Liste vergrößert. Entweder hat sich nur die Titelleiste vergrößert oder das Textfeld..... Wenn man hier die Einstellung abspeichert, währe auch super! Aber.... Gibt es hier eine nicht zu große Lösung?
sorry, wird vielleicht erstmal nichts. Wäre bei der ToDo-Liste wahrscheinlich noch einiges an Feinarbeit, die müsste übrigens dementsprechend dann auch noch zusätzlich im FoXum dokumentiert werden, da dies ein dort angefangenes und gemeinsam entwickeltes Plugin ist. Vielleicht kann ich aber für's erste mit ein paar kleinen Ideen aushelfen.
Bei jedem Loslassen einer Taste (keyup) wird ein kurzes Timeout ausgelöst, welches nach einer kurzen Verzögerung das Speichern vornimmt. Dabei wird das Timeout allerdings bei jedem Herunterdrücken einer Taste (keydown) abgebrochen, um nicht für z. B. 50 Tastenanschläge 50 mal zu speichern. Nach dem letzten Loslassen sorgt aber der Timeout nach einer kurzen Verzögerung für das Speichern. Evtl. kann auch immer sofort bei jedem keyup gespeichert werden, wenn der LocalStorage da schnell genug ist, da er keine Daten über das Netzwerk senden muss, bei Datenbanken an sich ist diese Methode mit der Verzögerung jedoch praktisch, um nicht zu viele Anfragen nacheinander rauszuschicken.
Im LS müsste eigentlich nur eine neue Eigenschaft abgelegt werden, welche z. B. als true gesetzt wird, wenn das Fenster maximiert wurde. Ähnlich wie die Variable, welche für den Textinhalt dort abgelegt wird.
Vielleicht geht's mit CSS3 resize Property schneller und einfacher … Gut wer einen halbwegs aktuellen Browser nutzt.
Hallo Florian, habe die folgende CSS eingetragen. Funktioniert super, bis auf dem IE. Vielleicht ändert sich das ja mal..... Damit auch die Titelleiste mitzieht, musste ich "#notesbox" für "resize" nutzen und nicht "#notesbox #edit"..... Der Pfeil zum Ziehen ist dadurch etwas versetzt (im Xobor-Design)....
1 2 3 4 5 6 7
#notesbox { min-height:310px; /*ausblenden verticaler Scrollbalken - Für das Xobor-Design*/ resize: horizontal;overflow: auto; /*Fensterbreiten-Funktion*/ max-width:100% !important; /*Aufheben Breitenbegrenzung im PI - Kann auch im PI geändert werden!*/ min-width:350px;/*Verhindert ein komplettes Zusammenschieben des Fensters*/ width:350px; }
Mit der Speicherung habe ich noch nichts vernünftiges hinbekommen...