diff --git a/README.md b/README.md index f282ca1f8..cb1ed59f6 100644 --- a/README.md +++ b/README.md @@ -20,333 +20,7 @@ We continue to publish the following packages to npm: ### Feature matrix -This section is auto generated. Please update `feature-matrix.json` and then run `npm run feature-matrix` from the repository's root to update it. - - - -
- - - - ##### Question types (basic functionality)
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜ 91\% - -
-
- -| Feature | Progress | -| ---------------------------------------------------------- | :------: | -| text | ✅ | -| integer | ✅ | -| decimal | ✅ | -| note | ✅ | -| select_one | ✅ | -| select_multiple | ✅ | -| select\_\*\_from_file | ✅ | -| repeat | ✅ | -| group | ✅ | -| geopoint | ✅ | -| geotrace | ✅ | -| geoshape | ✅ | -| start-geopoint | ✅ | -| range | ✅ | -| image | ✅ | -| barcode | | -| audio | ✅ | -| background-audio | | -| video | ✅ | -| [file](https://github.com/getodk/web-forms/issues/370) | ✅ | -| [date](https://github.com/getodk/web-forms/issues/311) | ✅ | -| [time](https://github.com/getodk/web-forms/issues/590) | ✅ | -| [datetime](https://github.com/getodk/web-forms/issues/697) | ✅ | -| rank | ✅ | -| csv-external | ✅ | -| acknowledge | ✅ | -| start | ✅ | -| end | ✅ | -| today | ✅ | -| deviceid | ✅ | -| username | ✅ | -| phonenumber | ✅ | -| email | ✅ | -| audit | | - -
- -
- - - - ##### Appearances
🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜ 47\% - -
-
- -| Feature | Progress | -| --------------------------------------------------------------- | :------: | -| numbers | ✅ | -| multiline | ✅ | -| url | | -| ex: | | -| thousands-sep | ✅ | -| bearing | | -| [vertical](https://github.com/getodk/web-forms/issues/271) | | -| [no-ticks](https://github.com/getodk/web-forms/issues/271) | | -| picker | | -| [rating](https://github.com/getodk/web-forms/issues/711) | ✅ | -| new | | -| new-front | | -| draw | | -| [annotate](https://github.com/getodk/web-forms/issues/15) | | -| signature | | -| [no-calendar](https://github.com/getodk/web-forms/issues/781) | | -| [month-year](https://github.com/getodk/web-forms/issues/782) | ✅ | -| [year](https://github.com/getodk/web-forms/issues/782) | ✅ | -| [ethiopian](https://github.com/getodk/web-forms/issues/315) | | -| [coptic](https://github.com/getodk/web-forms/issues/315) | | -| [islamic](https://github.com/getodk/web-forms/issues/315) | | -| [bikram-sambat](https://github.com/getodk/web-forms/issues/315) | | -| [myanmar](https://github.com/getodk/web-forms/issues/315) | | -| [persian](https://github.com/getodk/web-forms/issues/315) | | -| placement-map | ✅ | -| maps | ✅ | -| hide-input | | -| minimal | ✅ | -| search / autocomplete | ✅ | -| [quick](https://github.com/getodk/web-forms/issues/515) | | -| columns-pack | ✅ | -| columns | ✅ | -| columns-n | ✅ | -| no-buttons | ✅ | -| image-map | | -| likert | ✅ | -| map | ✅ | -| field-list | ✅ | -| label | ✅ | -| list-nolabel | ✅ | -| list | ✅ | -| table-list | ✅ | -| counter | | -| hidden-answer | | -| printer | | -| masked | ✅ | - -
- -
- - - - ##### Parameters
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜⬜ 66\% - -
-
- -| Feature | Progress | -| ---------------------------------------------------------------------------------------------------------------------------------- | :------: | -| randomize | ✅ | -| seed | ✅ | -| value | ✅ | -| label | ✅ | -| rows | ✅ | -| geopoint capture-accuracy,
warning-accuracy, allow-mock-accuracy | ✅ | -| range start, end, step | ✅ | -| [image max-pixels](https://github.com/getodk/web-forms/issues/397) | ✅ | -| audio quality | | -| Audit: location-priority,
location-min-interval, location-max-age,
track-changes, track-changes-reasons,
identify-user | | -| [geotrace/shape incremental=true](https://github.com/getodk/web-forms/issues/562) | | -| range labels, placeholder | | - -
- -
- - - - ##### Form logic
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 100\% - -
-
- -| Feature | Progress | -| ----------------------------------------------- | :------: | -| calculate | ✅ | -| relevant | ✅ | -| required | ✅ | -| required message | ✅ | -| custom constraint | ✅ | -| constraint message | ✅ | -| read only | ✅ | -| dynamic defaults (including trigger
column) | ✅ | -| choice filter | ✅ | -| default | ✅ | -| repeat_count | ✅ | -| create or update Entities | ✅ | - -
- -
- - - - ##### Descriptions and annotations
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜⬜⬜⬜ 75\% - -
-
- -| Feature | Progress | -| -------------------------------------------------------------- | :------: | -| label | ✅ | -| hint | ✅ | -| [guidance hint](https://github.com/getodk/web-forms/issues/53) | | -| form translations | ✅ | -| form translations with ref to other
field | ✅ | -| Markdown | ✅ | -| Inline HTML | ✅ | -| [image](https://github.com/getodk/web-forms/issues/30) | ✅ | -| big-image | | -| [audio](https://github.com/getodk/web-forms/issues/30) | ✅ | -| [video](https://github.com/getodk/web-forms/issues/30) | ✅ | -| autoplay | | - -
- -
- - - - ##### Theme and layouts
🟩🟩🟩🟩⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ 30\% - -
-
- -| Feature | Progress | -| -------------------------------------------------------------------------- | :------: | -| [grid](https://github.com/getodk/web-forms/issues/16) | | -| [pages](https://github.com/getodk/web-forms/issues/254) | | -| [logo](https://github.com/getodk/web-forms/issues/353) | | -| [application translations](https://github.com/getodk/web-forms/issues/332) | | -| [theme color](https://github.com/getodk/web-forms/issues/43) | | -| preview form | ✅ | -| send instance | ✅ | -| view instance | | -| edit instance | ✅ | -| table of contents | | - -
- -
- - - - ##### XPath
🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩⬜ 98\% - -
-
- -| Feature | Progress | -| ------------------------------------------------------------------------------------------------------------- | :------: | -| operators | ✅ | -| predicates | ✅ | -| axes | ✅ | -| string(\* arg) | ✅ | -| concat(string arg*\|node-set arg*) | ✅ | -| join(string separator, node-set nodes\*) | ✅ | -| substr(string value, number start,
number end?) | ✅ | -| substring-before(string, string) | ✅ | -| substring-after(string, string) | ✅ | -| translate(string, string, string) | ✅ | -| string-length(string arg) | ✅ | -| normalize-space(string arg?) | ✅ | -| contains(string haystack, string needle) | ✅ | -| starts-with(string haystack, string
needle) | ✅ | -| ends-with(string haystack, string
needle) | ✅ | -| uuid(number?) | ✅ | -| digest(string src, string algorithm,
string encoding?) | ✅ | -| pulldata(string instance_id, string
desired_element, string query_element,
string query) | ✅ | -| if(boolean condition, _ then, _ else) | ✅ | -| coalesce(string arg1, string arg2) | ✅ | -| once(string calc) | ✅ | -| true() | ✅ | -| false() | ✅ | -| boolean(\* arg) | ✅ | -| boolean-from-string(string arg) | ✅ | -| not(boolean arg) | ✅ | -| regex(string value, string expression) | ✅ | -| checklist(number min, number max, string
v\*) | ✅ | -| weighted-checklist(number min, number
max, [string v, string w]\*) | ✅ | -| number(\* arg) | ✅ | -| random() | ✅ | -| int(number arg) | ✅ | -| sum(node-set arg) | ✅ | -| max(node-set arg\*) | ✅ | -| min(node-set arg\*) | ✅ | -| round(number arg, number decimals?) | ✅ | -| pow(number value, number power) | ✅ | -| log(number arg) | ✅ | -| log10(number arg) | ✅ | -| abs(number arg) | ✅ | -| sin(number arg) | ✅ | -| cos(number arg) | ✅ | -| tan(number arg) | ✅ | -| asin(number arg) | ✅ | -| acos(number arg) | ✅ | -| atan(number arg) | ✅ | -| atan2(number arg, number arg) | ✅ | -| sqrt(number arg) | ✅ | -| exp(number arg) | ✅ | -| exp10(number arg) | ✅ | -| pi() | ✅ | -| count(node-set arg) | ✅ | -| count-non-empty(node-set arg) | ✅ | -| position(node arg?) | ✅ | -| instance(string id) | ✅ | -| current() | ✅ | -| randomize(node-set arg, number seed) | ✅ | -| today() | ✅ | -| now() | ✅ | -| format-date(date value, string format) | ✅ | -| format-date-time(dateTime value, string
format) | ✅ | -| date(\* value) | ✅ | -| decimal-date-time(dateTime value) | ✅ | -| decimal-time(time value) | ✅ | -| selected(string list, string value) | ✅ | -| selected-at(string list, number index) | ✅ | -| count-selected(node node) | ✅ | -| jr:choice-name(node node, string value) | ✅ | -| jr:itext(string id) | ✅ | -| indexed-repeat(node-set arg, node-set
repeat1, number index1, [node-set
repeatN, number indexN]{0,2}) | ✅ | -| area(node-set ns\|geoshape gs) | ✅ | -| distance(node-set ns\|geoshape
gs\|geotrace gt\|(geopoint\|string)
arg\*) | ✅ | -| geofence(geopoint p, geoshape gs) | ✅ | -| base64-decode(base64Binary input) | ✅ | -| [intersects(geoshape gs\|geotrace gt)](https://github.com/getodk/web-forms/issues/572) | | - -
- -
- - - - ##### Misc
⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜⬜ 0\% - -
-
- -| Feature | Progress | -| -------------------------------------------------------------------------------- | :------: | -| [last saved instance](https://github.com/getodk/web-forms/issues/306) | | -| [defaults from query parameters](https://github.com/getodk/web-forms/issues/464) | | -| multi-form app-like experience | | -| [prevent multiple submissions](https://github.com/getodk/web-forms/issues/461) | | -| configure end of form experience | | -| save as draft | | -| offline entities | | -| MBtiles / offline map layers | | -| [submission encryption](https://github.com/getodk/web-forms/issues/448) | | - -
- - +The Feature Matrix has moved. View the updated version [here](https://github.com/getodk/central-frontend/tree/master/packages/web-forms#feature-matrix). ## Q&A