Wq-app

Latest version: v1.0.0

Safety actively analyzes 682387 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 5

1.0.0a1

**wq.app 1.0.0a1** is an alpha release of the upcoming 1.0 version of [wq.app](https://wq.io/wq.app). A number of components and configuration options were refactored as part of the overall "patterns API cleanup" discussed in the [wq.db 0.8 release notes](https://github.com/wq/wq.db/releases/v0.8.0).

`wq.db.patterns` API Refactor
- Update to support the new [XLSForm](http://xlsform.org)-style configuration object generated by the serializers in [wq.db 1.0.0a1](https://github.com/wq/wq.db/releases/v1.0.0a1) (38)
- Remove references to `wq.db.patterns` models (wq/wq.db35)
- Better handling of nested forms/attachments in outbox (56)

API Cleanup
- Simplify plugin `run()` arguments (58)
- Add testing framework and Travis CI (13)
- Update `Leaflet` and `Leaflet.Draw` versions

0.8.2

**wq.app 0.8.2** brings a couple of enhancements to [wq/chart.js](https://wq.io/docs/chart-js) and bugfixes to the other modules.
- [wq/chart.js](https://wq.io/docs/chart-js)
- Show units for y axis (8)
- Show values when hovering on lines (18)
- Update boxplot value accessors to match DRP 0.4 field names (see wq/django-rest-pandas17). The accessors can now be overridden if needed.
- [wq/map.js](https://wq.io/docs/map-js):
- Don't autoZoom to hidden layers
- Break out GeoJSON `FeatureCollections` for better compatibility with marker cluster plugin
- Make marker clusters JSON-configurable
- Update [wq/autocomplete.js](https://wq.io/docs/other-modules) and `wq/owl.js` to new [wq/app.js](https://wq.io/docs/app-js) plugin structure
- Better fallback in case of [wq/store.js](https://wq.io/docs/store-js) errors
- [wq/outbox.js](https://wq.io/docs/outbox-js): Simple `validate()` hook when saving items to outbox

0.8.1

**wq.app 0.8.1** builds on [0.8.0](https://github.com/wq/wq.app/releases/v0.8.0) to add a number of new features and enhancements, in particular to [wq/map.js](https://wq.io/docs/map-js) and [wq/photos.js](https://wq.io/docs/photos-js).

New Plugin API

[wq/map.js](https://wq.io/docs/map-js) is now a formal "plugin" for [wq/app.js](https://wq.io/docs/app-js). This means instead of the following:

javascript
define(['wq/app', 'wq/map', './config'], function(app, map, config) {
app.init(config).then(function() {
map.init(config.map);
});
});


The following is preferred:

javascript
define(['wq/app', 'wq/map', './config'], function(app, map, config) {
app.use(map);
app.init(config);
});


A [wq/app.js](https://wq.io/docs/app-js) plugin is essentially just an object with three properties:
- `name`: An identifier for the plugin
- `init()`: A function to call during `app.init()`
- `run()`: A function to call on `pageshow` event.

See the documentation for [wq/app.js](https://wq.io/docs/app-js) for more information on the new plugin API.

Map Configuration & Layer Editing (41, 36)

[wq/map.js](https://wq.io/docs/map-js) is now more easily configured via pure JSON. The JSON configuration can be specified within the [wq configuration object](https://wq.io/docs/config) for a page by creating the `map` property as an object instead of a boolean. The old JavaScript-based configuration still works, but is mostly deprecated and parts will be removed in 1.0.

As part of this change, basemaps and overlays can now have custom types in addition to the default `TileLayer` and `GeoJSON` formats. The types need to be registered via JavaScript but the actual layers can be registered via JSON configuration.

The layer configuration can now be different for list, detail, and edit views. Edit view layers can also be configured as editable with a new `edit` property. The new map editing tools are powered by Leaflet.Draw (36).

See the documentation for [wq/map.js](https://wq.io/docs/map-js) for more information on the new JSON-based configuration and drawing tools.

PhoneGap (Cordova) Camera Integration

[wq/photos.js](https://wq.io/docs/photos-js) has finally been fully updated to integrate with the new [wq/store.js](https://wq.io/docs/store-js) API. Specifically, `photos.take()` and `photos.pick()` store PhoneGap-requested photos as `Blob`s for later retrieval. [wq/app.js](https://wq.io/docs/app-js) and [wq/outbox.js](https://wq.io/docs/outbox-js) have been updated to upload these `Blob`s during an outbox sync. This makes fully-offline file storage and sync (22) possible, even when using the PhoneGap Camera API. (In wq wq.app 0.8.0, this feature only worked for files selected via `<input type=file>`).

Like [wq/map.js](https://wq.io/docs/map-js), [wq/photos.js](https://wq.io/docs/photos-js) has also been updated to work as a [wq/app.js](https://wq.io/docs/app-js) plugin. A number of `data-wq-` attributes can be used to indicate which buttons and inputs to use with [wq/photos.js](https://wq.io/docs/photos-js).

See the [Species Tracker templates](https://github.com/powered-by-wq/species.wq.io/blob/master/templates/partials/new_photo.html) and the new documentation for [wq/photos.js](https://wq.io/docs/photos-js) for more information.

Bug Fixes
- Ensure wq/store.js doesn't break if offline storage is disabled (50)
- Fix race condition during CSRF token loading (a916aa1)
- Fix outbox model updating bug (c0d1cc2d107f990bad3d1c39b9224a6056a15fe9)
- Don't use unreliable `navigator.onLine` when determining whether to sync in background (33)
- Ensure multiple files can be submitted via the same input (or via inputs with the same name)
- Check for existence of `FormData` before using it (2c34f05)
- Fix bug in `router_info.params` calculation (c1a1722)
- Fix list view filter bug (05ce9643e31a3072eb494dff2a421955e9c81960)
- Fix SCSS build paths on Windows (085a7dc)

Minor Improvements
- Better detection of the path to Leaflet image assets (23)
- Include reference to model config in `info()` for [wq/model.js](https://wq.io/docs/model-js)
- Ensure `page_config` is set on all template context variants; preserve non-page attributes on `wq_config` (42685a6)
- Add `app.emptyOutbox()` shortcut function
- Add ability to display nested object errors (0c28fd2)

0.8.0

**wq.app 0.8.0** brings a long-overdue [overhaul](https://github.com/wq/wq.app/issues/20) of [wq/store.js](https://wq.io/docs/store-js) to clean up technical debt and bring it up-to-date with modern browser capabilities. This release also introduces a more extensible [click](http://click.pocoo.org/)-based `wq` CLI.

API Changes
- [wq/store.js](https://wq.io/docs/store-js) overhaul (20, 48)
- Use [localForage](https://mozilla.github.io/localForage) instead of `localStorage` to handle offline data storage (20). This brings the option of using `IndexedDB` in browsers that support it.
- Switch to an almost entirely asynchronous API (17), using promises (5) which are provided with `localForage`.
- Split `getList()` and related functionality into a separate module, [wq/model.js](https://wq.io/docs/model-js) (20). Also split outbox features into separate [wq/outbox.js](https://wq.io/docs/outbox-js) module.
- rename `unsavedItems()` and `obitem.saved` to `unsyncedItems()` and `obitem.synced` (27)
- [wq/app.js](https://wq.io/docs/app-js) + wq/store.js
- enable saving of Blobs (i.e. user-contributed photos) in the outbox until network is available (22)
- make `backgroundSync` the default, unify `postsave` and `postsubmit` into a single method, and simplify method signatures
- use current auth data when syncing outbox (49)
- [wq/pages.js](https://wq.io/docs/router-js)
- rename to `wq/router.js` (26)
- parts of the internal implementation (related to injecting rendered HTML into the DOM) have been moved to [wq/template.js](https://wq.io/docs/template-js).
- [wq/map.js](https://wq.io/docs/outbox-js):
- Require bounds instead of center+zoom for default extent (44)
- [wq/photos.js](https://wq.io/docs/other-modules):
- Use `URL.createObjectURL` rather than `FileReader` for image previews. (4b05b5a070206ba8c72e3d5ee51a6e28d0b50adf)
- [wq build](https://wq.io/docs/build):
- update to use new [click](http://click.pocoo.org/)-powered [wq.core](https://github.com/wq/wq.core) API (39)
- Remove automatic search for old `app.build.json` (29)
- General API Cleanup
- simplify `init()` usage in [wq/app.js](https://wq.io/docs/app-js), [wq/store.js](https://wq.io/docs/store-js), [wq/pages.js](https://wq.io/docs/router-js), [wq/template.js](https://wq.io/docs/template-js) (28)
- use namespace for data- properties (42)
- Code style: enforce curly braces over one-line conditionals
- Add `{{rt}}` and `{{svc}}` as template variable aliases for `{{router_info.base_url}}` and `{{app_config.store.service}}`, respectively (c500ceec8257917f910ca07e81384914dac40d78)

Upgrade Notes

If you are installing wq.app for the first time, you do not need to worry about the notes in this section.
- The core `wq` CLI was previously part of wq.app, but is now in a separate package, [wq.core](https://github.com/wq/wq.core). If you are upgrading an existing wq.app installation, we recommend uninstalling and re-installing wq.app. If you don't do this, the upgrade will likely install wq.core before upgrading wq.app, which will cause the new `wq` executable to be wiped out while uninstalling the old wq.app. If this happens, you may see an error like the following: `bash: /usr/local/bin/wq: No such file or directory`.
The fix is to uninstall both wq.core and wq.app and then install wq.app again.
- If you are using [wq/store.js](https://wq.io/docs/store-js) directly, note that the API has changed significantly since previous versions. In particular, be sure to read up on the new [wq/model.js](https://wq.io/docs/model-js) and [wq/outbox.js](https://wq.io/docs/outbox-js) modules. Also, if you are using [wq/store.js](https://wq.io/docs/store-js) together with [wq/app.js](https://wq.io/docs/app-js), you may want to take advantage of the new built-in `app.models` object that will contain model API instances for all models listed in the [wq configuration](https://wq.io/docs/config).
- If you are using [wq/app.js](https://wq.io/docs/app-js), [wq/pages.js](https://wq.io/docs/router-js), [wq/store.js](https://wq.io/docs/store-js), or [wq/template.js](https://wq.io/docs/template-js), note that the configuration structure has been changed so that each module takes a single `init()` configuration argument. See the respective module documentation pages for details.
- Make sure you have a file called `wq.yml` or specify a filename when running the `wq build` process. JSON is YAML, so if you have an existing `app.build.json` you should be able to rename it to `wq.yml` and use it as-is.
- Update your templates to reference all wq-specific attributes as e.g. `data-wq-json` rather than `data-json`.

0.7.4

**wq.app 0.7.4** brings a couple of minor changes to [wq/app.js](https://wq.io/wq.app) for forward compatibility with [wq.db 0.8.0](https://wq.io/wq.db/releases/v0.8.0). This version of wq.app is still compatible with wq.db 0.7.x.

Changes:
- Added `{{csrf_token}}` context variable in addition to existing `{{csrftoken}}` (the latter will be removed in wq.app 0.8.0).
- Added `{{index}}` context variable to facilitate rendering inputs with array subscripts (see wq/wq.db33)

0.7.3

This release of [wq.app](https://wq.io/wq.app) brings an important bug fix and a couple new features:

Bug Fixes
- [wq/store.js](https://wq.io/docs/store-js): Avoid application crash when `localStorage` is accessed on an iOS device that has cookies disabled (37)

New Features
- The [wq command line tool](https://wq.io/docs/build) now supports YAML configuration files by default. The default filename is accordingly changed from `app.build.json` to `wq.yml`. Support for `app.build.json` is preserved for now but will be removed in future versions (29).
- Added a new [wq mustache](https://wq.io/docs/mustache-build) command for generating static HTML pages from Mustache templates. (d98e19f)
- `wq appcache` now has an option to ignore paths found in CSS - in particular the `icons-png/` folder referenced by jQuery Mobile's CSS but not needed by most modern browsers (35)

Page 2 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.