The aim is to have a pure JS+CSS single-page application that can be compiled into a single HTML file and used without any web server. It relies on localStorage, exports an ADIF file and uploads to on-line services.
This is a work in progress and not usable at the moment.
Just copy dist/jsog_bundle.html
to your favourite device and open it in your web browser.
npm install --save-dev parcel
npx parcel build src/jslog.html
Optional Android ADB push (or use preferred method)
adb push dist/jslog.html /storage/self/primary/Download
For local development it is convenient to run a local development web server (otherwise js imports would be blocked). The final single-file version in dist does not require a running web server after it has been bundled.
npm install http-server
npx http-server src # listen on localhost:8080 by default
CSS taken from mutedblues (@mutedblues) https://codepen.io/mutedblues/pen/MmPNPG
- flex 'callsign' column in table row
- move js and css to separate dirs and test w/bundler
- switch between list and editing button - for now, we are using the app name/logo
- switch qso edit / list mode
- save qso from form
- display qsos in list
- reinit qso list from the log in memory
- clear qso in the editor
- edit qso from list (edit mode)
- clear list as UI action
- confirm before clear list
- export JSON
- export adif
- after saving qso, refocus on callsign textfield
- callsign uppercase tranform
- datetime auto-advancer (turn off when field touched before save, turn off when editing existing qso)
- default rst switch with mode change (RS vs RST)
- date editor
- time editor
- json upload
- qso variables editor
- manage >1 logs on device
- a nice icon for mode switch button
- date validator
- utc validator
- rst validator
- qso should be a formalized data class instance
- qso editor - keep previous values like date/time/mode/freq (from previous saved qso, pileup mode)
- nice responsive confirm dialogs
- when editing a qso, cache the data in the editor so that anything in progress is not overwritten