Skip to content

[ENH] PWA offline trackers

Victor Emanouilov requested to merge tiki-pwa-offline-trackers into master

We have more or less fully functional offline trackers app with limited set of fields. You can do:

  • choose which trackers to make available offline
  • load offline page while having connection to cache necessary data
  • work offline by inserting items in all available trackers
  • delete temporarily stored items if you made a mistake or edit the temporarily stored items
  • sync items when you get back online
  • auto-sync if you are actually online during usage of offline page
  • jquery validation working with the vue components - pretty much mandatory validation of different fields. The other validation types requiring remote checks (unique, format, etc.) is a work in progress (TODO)
  • vue components for the following fields:
    • Text - support all options but the multilingual option
    • TextArea - support all options but multilingual and wysiwyg (need initialization via vue)
    • Dropdown - full support with all forms - radios, checkboxes, select, multi-select, select with other
    • DateTime - traditional datetime field with dropdowns for month, year, etc. - full support
    • ItemLink - single/multi selection with field formatting fully working (table display and other fancy stuff is postponed for a future date)
    • ItemsList - relatively full support in both input/output mode
    • Files - support for basic options - type/name filter, maximum uploads
    • UserSelector - full support except the group-list selection (users by groups)
    • AutoIncrement - full support
    • Checkbox - full support
    • JsCalendar - reusing datetime-picker vue widget - mostly full support
    • DynamicList - relatively full support like ItemsList

We need to add more components now. I will work firstly on ItemLink and ability to insert linked items as well as Files field as these are the trickiest from the remaining. The rest could be added more easily.

If anyone is willing to test, feel free to do so. Note that you will need to simulate offline mode in Chrome via the Application->Service Worker -> Offline checkbox.

When offline items are stored and errors occur, user is informed but items are not created. These remain in the local storage, so user can correct and re-sync or delete and go to add online. We can easily add a dump of json data as discussed with Benoit.

Edited by Victor Emanouilov

Merge request reports

Loading