gruenewald / zaehlerverwaltung Goto Github PK
View Code? Open in Web Editor NEWZählerverwaltung
Zählerverwaltung
Bei der Anlage eines Zählers ist es notwendig eine der bereits vorkonfigurierten Zählerarten auszuwählen.
Es soll möglich sein, dass der Anwender selbst neue Zählerarten anlegen kann. Bereits existierende Zählerarten sollen editierbar sein, oder gelöscht werden können.
Beim Löschen ist zu beachten, dass nur eine Zählerart gelöscht werden kann, die keinen zugeordneten Zähler besitzt.
Wenn ein neuer Zählerstand erfasst wird, wird der erfasste Wert nicht angezeigt. Wenn man aber "Zurück"-geht und dann wieder auf den Zähler, wird der Wert angezeigt.
Aktuell wird jQuery-Mobile noch remote eingebunden. Grund hierfür ist, dass jQuery Mobile für seine css- und image-Files eine andere Verzeichnisstruktur als unser cordova Projekt gewählt hat.
Es ist also notwendig diese Verzeichnisstruktur entsprechend anzupassen.
Als Anwender möchte ich die Möglichkeit haben eine angelegte Zählerkategorie zu bearbeiten und zu löschen.
Weiterhin soll es möglich sein, die anlegte Zählerkategorie einem Zähler zuzuordnen.
Die Anzeige der Zähler soll gruppiert nach den zugeordneten Zählerkategorie erfolgen.
Wenn ich einen Zähler bearbeiten will, kann ich den Zähler nicht bearbeiten / ändern, sondern nur neue Werte erfassen.
Es sind die Dateien
js/date.js bzw.
js/date-de-DE.js
vorhanden. Sie unterscheiden sich nur in der Zeile
Date.CultureInfo={name:"en-US"... bzw.
Date.CultureInfo={name:"de-DE"...
Gibt es einen Weg englishe / deutsche Datumsformatierung anzubieten ohne die Dateien zu doppeln? Ist es nicht einfach möglich die Date.CultureInfo zu setzen?
Web SQL wird nicht mehr weiterentwickelt, siehe http://www.w3.org/TR/webdatabase/
Stattdessen sollten wir IndexedDB verwenden. Dazu folgende Links:
Spezifikation: https://developer.mozilla.org/en/docs/IndexedDB
Anwendung: https://developer.mozilla.org/en-US/docs/IndexedDB/Using_IndexedDB
Tutorial, Beispiel und Tipps (2 Teile): http://www.peterkroener.de/indexed-db-die-neue-html5-datenbank-im-browser-teil-1-ein-kurzer-ueberblick/ und http://www.peterkroener.de/indexed-db-die-neue-html5-datenbank-im-browser-teil-2-browsermacken-tools-und-polyfills/
Ich würde dazu gleich empfehlen db.js zu verwenden. Das sieht etwas einfacher aus.
Die Initialisierung der DB ist in index.js (DDL), der restliche Code in database.js (DML). Das soll in einer oder wenigen Klassen gebündelt werden.
Aktuell werden Testdaten und Konfigurationsdaten in der index.js vermischt.
Sowohl die Datenstrukturen als auch die Test- und Konfigurationsdaten werden über ein statisches SQL-Statement angelegt.
Ziel sollte es sein, die Testdaten in ein JSON-File zu packen und konfigurativ einzuspielen. Die gesamte Initialisierung der Datenstrukturen und die Einspielung der Konfigurationsdaten, sollte in ein eigenes Script ausgelagert werden.
Zähler müssen manchmal ausgetauscht werden. Es muss also Möglich sein ein Zähler als "Nachfolger" eines anderen Zählers zu definieren. Hintergrund ist, dass der Gesamtjahresverbrauch dann über zwei Zähler ermittelt werden muss. Ebenso soll der Graph durchgängig sein und nicht abgebrochen werden.
Zähler sollen (logisch) gelöscht werden können. Rückfrage einbauen, ob wirklich gelöscht werden soll. Sie sollen also in der Zählerübersicht nicht mehr angezeigt werden.
Ggf. die Möglichkeit einbauen den Fehler anhand der Zählernummer wiederherzustellen. Der Zähler soll also in der Datenbank nur logisch gelöscht werden und dann wieder aktiviert werden.
Zur grafischen Auswertung der Zählerstände soll die Chart-Library chart.js zum Einsatz kommen.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.