@fieldia/core 0.30.1 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +362 -1
- package/package.json +1 -1
- package/schema/page.schema.json +758 -1
- package/src/index.d.mts +13 -2
- package/src/index.d.ts +13 -2
- package/src/index.js +45 -2
- package/src/index.js.map +1 -1
- package/src/index.mjs +18 -2
- package/src/index.mjs.map +1 -1
- package/src/lib/format/actions.d.mts +16 -16
- package/src/lib/format/actions.d.ts +16 -16
- package/src/lib/format/actions.js +3 -0
- package/src/lib/format/actions.js.map +1 -1
- package/src/lib/format/actions.mjs +3 -0
- package/src/lib/format/actions.mjs.map +1 -1
- package/src/lib/format/address-search.js +3 -0
- package/src/lib/format/address-search.js.map +1 -1
- package/src/lib/format/address-search.mjs +3 -0
- package/src/lib/format/address-search.mjs.map +1 -1
- package/src/lib/format/duplicates.js +3 -0
- package/src/lib/format/duplicates.js.map +1 -1
- package/src/lib/format/duplicates.mjs +3 -0
- package/src/lib/format/duplicates.mjs.map +1 -1
- package/src/lib/format/endings.js +3 -0
- package/src/lib/format/endings.js.map +1 -1
- package/src/lib/format/endings.mjs +3 -0
- package/src/lib/format/endings.mjs.map +1 -1
- package/src/lib/format/field.d.mts +669 -0
- package/src/lib/format/field.d.ts +669 -0
- package/src/lib/format/field.js +42 -4
- package/src/lib/format/field.js.map +1 -1
- package/src/lib/format/field.mjs +42 -4
- package/src/lib/format/field.mjs.map +1 -1
- package/src/lib/format/flow-checks.d.mts +14 -0
- package/src/lib/format/flow-checks.d.ts +14 -0
- package/src/lib/format/flow-checks.js +61 -0
- package/src/lib/format/flow-checks.js.map +1 -0
- package/src/lib/format/flow-checks.mjs +58 -0
- package/src/lib/format/flow-checks.mjs.map +1 -0
- package/src/lib/format/flow.d.mts +43 -0
- package/src/lib/format/flow.d.ts +43 -0
- package/src/lib/format/flow.js +22 -0
- package/src/lib/format/flow.js.map +1 -0
- package/src/lib/format/flow.mjs +19 -0
- package/src/lib/format/flow.mjs.map +1 -0
- package/src/lib/format/from-schema.d.mts +70 -0
- package/src/lib/format/from-schema.d.ts +70 -0
- package/src/lib/format/from-schema.js +599 -0
- package/src/lib/format/from-schema.js.map +1 -0
- package/src/lib/format/from-schema.mjs +591 -0
- package/src/lib/format/from-schema.mjs.map +1 -0
- package/src/lib/format/jitless.d.mts +1 -0
- package/src/lib/format/jitless.d.ts +1 -0
- package/src/lib/format/jitless.js +27 -0
- package/src/lib/format/jitless.js.map +1 -0
- package/src/lib/format/jitless.mjs +24 -0
- package/src/lib/format/jitless.mjs.map +1 -0
- package/src/lib/format/json-schema.js +3 -0
- package/src/lib/format/json-schema.js.map +1 -1
- package/src/lib/format/json-schema.mjs +3 -0
- package/src/lib/format/json-schema.mjs.map +1 -1
- package/src/lib/format/json.js +3 -0
- package/src/lib/format/json.js.map +1 -1
- package/src/lib/format/json.mjs +3 -0
- package/src/lib/format/json.mjs.map +1 -1
- package/src/lib/format/languages-checks.d.mts +2 -1
- package/src/lib/format/languages-checks.d.ts +2 -1
- package/src/lib/format/languages-checks.js +8 -2
- package/src/lib/format/languages-checks.js.map +1 -1
- package/src/lib/format/languages-checks.mjs +8 -2
- package/src/lib/format/languages-checks.mjs.map +1 -1
- package/src/lib/format/later-checks.d.mts +3 -1
- package/src/lib/format/later-checks.d.ts +3 -1
- package/src/lib/format/later-checks.js +3 -1
- package/src/lib/format/later-checks.js.map +1 -1
- package/src/lib/format/later-checks.mjs +3 -1
- package/src/lib/format/later-checks.mjs.map +1 -1
- package/src/lib/format/layout.d.mts +13192 -7550
- package/src/lib/format/layout.d.ts +13192 -7550
- package/src/lib/format/layout.js +61 -3
- package/src/lib/format/layout.js.map +1 -1
- package/src/lib/format/layout.mjs +59 -1
- package/src/lib/format/layout.mjs.map +1 -1
- package/src/lib/format/layout.types.d.mts +3 -1
- package/src/lib/format/layout.types.d.ts +3 -1
- package/src/lib/format/limits.js +3 -0
- package/src/lib/format/limits.js.map +1 -1
- package/src/lib/format/limits.mjs +3 -0
- package/src/lib/format/limits.mjs.map +1 -1
- package/src/lib/format/list-checks.d.mts +1 -1
- package/src/lib/format/list-checks.d.ts +1 -1
- package/src/lib/format/list-checks.js +67 -22
- package/src/lib/format/list-checks.js.map +1 -1
- package/src/lib/format/list-checks.mjs +67 -22
- package/src/lib/format/list-checks.mjs.map +1 -1
- package/src/lib/format/list-rows-checks.d.mts +11 -0
- package/src/lib/format/list-rows-checks.d.ts +11 -0
- package/src/lib/format/list-rows-checks.js +62 -0
- package/src/lib/format/list-rows-checks.js.map +1 -0
- package/src/lib/format/list-rows-checks.mjs +59 -0
- package/src/lib/format/list-rows-checks.mjs.map +1 -0
- package/src/lib/format/media-options.d.mts +84 -0
- package/src/lib/format/media-options.d.ts +84 -0
- package/src/lib/format/media-options.js +86 -0
- package/src/lib/format/media-options.js.map +1 -0
- package/src/lib/format/media-options.mjs +80 -0
- package/src/lib/format/media-options.mjs.map +1 -0
- package/src/lib/format/outbox-checks.d.mts +11 -0
- package/src/lib/format/outbox-checks.d.ts +11 -0
- package/src/lib/format/outbox-checks.js +12 -0
- package/src/lib/format/outbox-checks.js.map +1 -0
- package/src/lib/format/outbox-checks.mjs +9 -0
- package/src/lib/format/outbox-checks.mjs.map +1 -0
- package/src/lib/format/page.d.mts +3057 -966
- package/src/lib/format/page.d.ts +3057 -966
- package/src/lib/format/page.js +15 -0
- package/src/lib/format/page.js.map +1 -1
- package/src/lib/format/page.mjs +15 -0
- package/src/lib/format/page.mjs.map +1 -1
- package/src/lib/format/part-checks.d.mts +3 -0
- package/src/lib/format/part-checks.d.ts +3 -0
- package/src/lib/format/payment-checks.d.mts +13 -0
- package/src/lib/format/payment-checks.d.ts +13 -0
- package/src/lib/format/payment-checks.js +30 -0
- package/src/lib/format/payment-checks.js.map +1 -0
- package/src/lib/format/payment-checks.mjs +27 -0
- package/src/lib/format/payment-checks.mjs.map +1 -0
- package/src/lib/format/payment.d.mts +37 -0
- package/src/lib/format/payment.d.ts +37 -0
- package/src/lib/format/payment.js +15 -0
- package/src/lib/format/payment.js.map +1 -0
- package/src/lib/format/payment.mjs +12 -0
- package/src/lib/format/payment.mjs.map +1 -0
- package/src/lib/format/phone.js +3 -0
- package/src/lib/format/phone.js.map +1 -1
- package/src/lib/format/phone.mjs +3 -0
- package/src/lib/format/phone.mjs.map +1 -1
- package/src/lib/format/picker-options.d.mts +12 -0
- package/src/lib/format/picker-options.d.ts +12 -0
- package/src/lib/format/picker-options.js +21 -3
- package/src/lib/format/picker-options.js.map +1 -1
- package/src/lib/format/picker-options.mjs +20 -2
- package/src/lib/format/picker-options.mjs.map +1 -1
- package/src/lib/format/prefill-checks.d.mts +13 -0
- package/src/lib/format/prefill-checks.d.ts +13 -0
- package/src/lib/format/prefill-checks.js +35 -0
- package/src/lib/format/prefill-checks.js.map +1 -0
- package/src/lib/format/prefill-checks.mjs +32 -0
- package/src/lib/format/prefill-checks.mjs.map +1 -0
- package/src/lib/format/prefill.d.mts +33 -0
- package/src/lib/format/prefill.d.ts +33 -0
- package/src/lib/format/prefill.js +20 -0
- package/src/lib/format/prefill.js.map +1 -0
- package/src/lib/format/prefill.mjs +17 -0
- package/src/lib/format/prefill.mjs.map +1 -0
- package/src/lib/format/quiz.d.mts +58 -0
- package/src/lib/format/quiz.d.ts +58 -0
- package/src/lib/format/quiz.js +24 -0
- package/src/lib/format/quiz.js.map +1 -0
- package/src/lib/format/quiz.mjs +21 -0
- package/src/lib/format/quiz.mjs.map +1 -0
- package/src/lib/format/records.js +3 -0
- package/src/lib/format/records.js.map +1 -1
- package/src/lib/format/records.mjs +3 -0
- package/src/lib/format/records.mjs.map +1 -1
- package/src/lib/format/references.d.mts +1 -1
- package/src/lib/format/references.d.ts +1 -1
- package/src/lib/format/references.js +56 -7
- package/src/lib/format/references.js.map +1 -1
- package/src/lib/format/references.mjs +57 -8
- package/src/lib/format/references.mjs.map +1 -1
- package/src/lib/format/schedule-checks.d.mts +8 -0
- package/src/lib/format/schedule-checks.d.ts +8 -0
- package/src/lib/format/schedule-checks.js +16 -0
- package/src/lib/format/schedule-checks.js.map +1 -0
- package/src/lib/format/schedule-checks.mjs +13 -0
- package/src/lib/format/schedule-checks.mjs.map +1 -0
- package/src/lib/format/signature-checks.d.mts +8 -0
- package/src/lib/format/signature-checks.d.ts +8 -0
- package/src/lib/format/signature-checks.js +21 -0
- package/src/lib/format/signature-checks.js.map +1 -1
- package/src/lib/format/signature-checks.mjs +20 -0
- package/src/lib/format/signature-checks.mjs.map +1 -1
- package/src/lib/format/signature-options.js +3 -0
- package/src/lib/format/signature-options.js.map +1 -1
- package/src/lib/format/signature-options.mjs +3 -0
- package/src/lib/format/signature-options.mjs.map +1 -1
- package/src/lib/format/slots-options.js +3 -0
- package/src/lib/format/slots-options.js.map +1 -1
- package/src/lib/format/slots-options.mjs +3 -0
- package/src/lib/format/slots-options.mjs.map +1 -1
- package/src/lib/format/templates-checks.d.mts +6 -0
- package/src/lib/format/templates-checks.d.ts +6 -0
- package/src/lib/format/templates-checks.js +16 -0
- package/src/lib/format/templates-checks.js.map +1 -0
- package/src/lib/format/templates-checks.mjs +13 -0
- package/src/lib/format/templates-checks.mjs.map +1 -0
- package/src/lib/format/translate.d.mts +2 -0
- package/src/lib/format/translate.d.ts +2 -0
- package/src/lib/format/translate.js +6 -2
- package/src/lib/format/translate.js.map +1 -1
- package/src/lib/format/translate.mjs +4 -2
- package/src/lib/format/translate.mjs.map +1 -1
- package/src/lib/format/typed-options.d.mts +43 -0
- package/src/lib/format/typed-options.d.ts +43 -0
- package/src/lib/format/typed-options.js +50 -0
- package/src/lib/format/typed-options.js.map +1 -0
- package/src/lib/format/typed-options.mjs +46 -0
- package/src/lib/format/typed-options.mjs.map +1 -0
- package/src/lib/format/upgrade.d.mts +5 -1
- package/src/lib/format/upgrade.d.ts +5 -1
- package/src/lib/format/upgrade.js +5 -1
- package/src/lib/format/upgrade.js.map +1 -1
- package/src/lib/format/upgrade.mjs +5 -1
- package/src/lib/format/upgrade.mjs.map +1 -1
- package/src/lib/format/validate.js +3 -0
- package/src/lib/format/validate.js.map +1 -1
- package/src/lib/format/validate.mjs +3 -0
- package/src/lib/format/validate.mjs.map +1 -1
- package/src/lib/format/verify-checks.d.mts +10 -0
- package/src/lib/format/verify-checks.d.ts +10 -0
- package/src/lib/format/verify-checks.js +44 -0
- package/src/lib/format/verify-checks.js.map +1 -0
- package/src/lib/format/verify-checks.mjs +41 -0
- package/src/lib/format/verify-checks.mjs.map +1 -0
- package/src/lib/format/version.d.mts +2 -2
- package/src/lib/format/version.d.ts +2 -2
- package/src/lib/format/version.js +2 -2
- package/src/lib/format/version.js.map +1 -1
- package/src/lib/format/version.mjs +2 -2
- package/src/lib/format/version.mjs.map +1 -1
- package/src/lib/format/week.d.mts +18 -0
- package/src/lib/format/week.d.ts +18 -0
- package/src/lib/format/week.js +58 -0
- package/src/lib/format/week.js.map +1 -0
- package/src/lib/format/week.mjs +55 -0
- package/src/lib/format/week.mjs.map +1 -0
- package/src/lib/record/approvals-part.d.mts +1 -1
- package/src/lib/record/approvals-part.d.ts +1 -1
- package/src/lib/record/approvals-part.js +2 -2
- package/src/lib/record/approvals-part.js.map +1 -1
- package/src/lib/record/approvals-part.mjs +1 -1
- package/src/lib/record/approvals-part.mjs.map +1 -1
- package/src/lib/record/data-source.d.mts +331 -0
- package/src/lib/record/data-source.d.ts +331 -0
- package/src/lib/record/data-source.js.map +1 -1
- package/src/lib/record/data-source.mjs.map +1 -1
- package/src/lib/record/day-words.d.mts +22 -1
- package/src/lib/record/day-words.d.ts +22 -1
- package/src/lib/record/day-words.js +29 -2
- package/src/lib/record/day-words.js.map +1 -1
- package/src/lib/record/day-words.mjs +24 -2
- package/src/lib/record/day-words.mjs.map +1 -1
- package/src/lib/record/files-part.d.mts +1 -0
- package/src/lib/record/files-part.d.ts +1 -0
- package/src/lib/record/files-part.js +7 -1
- package/src/lib/record/files-part.js.map +1 -1
- package/src/lib/record/files-part.mjs +5 -1
- package/src/lib/record/files-part.mjs.map +1 -1
- package/src/lib/record/form-approvals.d.mts +12 -17
- package/src/lib/record/form-approvals.d.ts +12 -17
- package/src/lib/record/form-approvals.js +14 -8
- package/src/lib/record/form-approvals.js.map +1 -1
- package/src/lib/record/form-approvals.mjs +13 -7
- package/src/lib/record/form-approvals.mjs.map +1 -1
- package/src/lib/record/form-limits.d.mts +4 -28
- package/src/lib/record/form-limits.d.ts +4 -28
- package/src/lib/record/form-limits.js +8 -5
- package/src/lib/record/form-limits.js.map +1 -1
- package/src/lib/record/form-limits.mjs +8 -5
- package/src/lib/record/form-limits.mjs.map +1 -1
- package/src/lib/record/form.d.mts +115 -3
- package/src/lib/record/form.d.ts +115 -3
- package/src/lib/record/form.js +262 -65
- package/src/lib/record/form.js.map +1 -1
- package/src/lib/record/form.mjs +263 -66
- package/src/lib/record/form.mjs.map +1 -1
- package/src/lib/record/history-steps.d.mts +38 -0
- package/src/lib/record/history-steps.d.ts +38 -0
- package/src/lib/record/history-steps.js +63 -0
- package/src/lib/record/history-steps.js.map +1 -0
- package/src/lib/record/history-steps.mjs +58 -0
- package/src/lib/record/history-steps.mjs.map +1 -0
- package/src/lib/record/history.d.mts +16 -0
- package/src/lib/record/history.d.ts +16 -0
- package/src/lib/record/history.js +3 -0
- package/src/lib/record/history.js.map +1 -0
- package/src/lib/record/history.mjs +2 -0
- package/src/lib/record/history.mjs.map +1 -0
- package/src/lib/record/input-rules.d.mts +2 -0
- package/src/lib/record/input-rules.d.ts +2 -0
- package/src/lib/record/input-rules.js +4 -1
- package/src/lib/record/input-rules.js.map +1 -1
- package/src/lib/record/input-rules.mjs +2 -0
- package/src/lib/record/input-rules.mjs.map +1 -1
- package/src/lib/record/joins.d.mts +143 -0
- package/src/lib/record/joins.d.ts +143 -0
- package/src/lib/record/joins.js +28 -0
- package/src/lib/record/joins.js.map +1 -0
- package/src/lib/record/joins.mjs +24 -0
- package/src/lib/record/joins.mjs.map +1 -0
- package/src/lib/record/limits.js +7 -4
- package/src/lib/record/limits.js.map +1 -1
- package/src/lib/record/limits.mjs +8 -5
- package/src/lib/record/limits.mjs.map +1 -1
- package/src/lib/record/link-values.d.mts +31 -0
- package/src/lib/record/link-values.d.ts +31 -0
- package/src/lib/record/link-values.js +132 -0
- package/src/lib/record/link-values.js.map +1 -0
- package/src/lib/record/link-values.mjs +125 -0
- package/src/lib/record/link-values.mjs.map +1 -0
- package/src/lib/record/live-later.d.mts +15 -0
- package/src/lib/record/live-later.d.ts +15 -0
- package/src/lib/record/live-later.js +10 -0
- package/src/lib/record/live-later.js.map +1 -0
- package/src/lib/record/live-later.mjs +7 -0
- package/src/lib/record/live-later.mjs.map +1 -0
- package/src/lib/record/live-part.d.mts +6 -0
- package/src/lib/record/live-part.d.ts +6 -0
- package/src/lib/record/live-part.js +12 -0
- package/src/lib/record/live-part.js.map +1 -0
- package/src/lib/record/live-part.mjs +7 -0
- package/src/lib/record/live-part.mjs.map +1 -0
- package/src/lib/record/live.d.mts +8 -0
- package/src/lib/record/live.d.ts +8 -0
- package/src/lib/record/live.js +133 -0
- package/src/lib/record/live.js.map +1 -0
- package/src/lib/record/live.mjs +129 -0
- package/src/lib/record/live.mjs.map +1 -0
- package/src/lib/record/locales/all.d.mts +5 -5
- package/src/lib/record/locales/all.d.ts +5 -5
- package/src/lib/record/locales/all.js +3 -3
- package/src/lib/record/locales/all.js.map +1 -1
- package/src/lib/record/locales/all.mjs +3 -3
- package/src/lib/record/locales/all.mjs.map +1 -1
- package/src/lib/record/locales/ar.js +8 -0
- package/src/lib/record/locales/ar.js.map +1 -1
- package/src/lib/record/locales/ar.mjs +8 -0
- package/src/lib/record/locales/ar.mjs.map +1 -1
- package/src/lib/record/locales/de.js +8 -0
- package/src/lib/record/locales/de.js.map +1 -1
- package/src/lib/record/locales/de.mjs +8 -0
- package/src/lib/record/locales/de.mjs.map +1 -1
- package/src/lib/record/locales/es.d.mts +8 -0
- package/src/lib/record/locales/es.d.ts +8 -0
- package/src/lib/record/locales/es.js +111 -0
- package/src/lib/record/locales/es.js.map +1 -0
- package/src/lib/record/locales/es.mjs +108 -0
- package/src/lib/record/locales/es.mjs.map +1 -0
- package/src/lib/record/locales/fa.d.mts +5 -0
- package/src/lib/record/locales/fa.d.ts +5 -0
- package/src/lib/record/locales/fa.js +117 -0
- package/src/lib/record/locales/fa.js.map +1 -0
- package/src/lib/record/locales/fa.mjs +114 -0
- package/src/lib/record/locales/fa.mjs.map +1 -0
- package/src/lib/record/locales/fr.js +8 -0
- package/src/lib/record/locales/fr.js.map +1 -1
- package/src/lib/record/locales/fr.mjs +8 -0
- package/src/lib/record/locales/fr.mjs.map +1 -1
- package/src/lib/record/locales/later.d.mts +8 -0
- package/src/lib/record/locales/later.d.ts +8 -0
- package/src/lib/record/locales/later.js +16 -0
- package/src/lib/record/locales/later.js.map +1 -0
- package/src/lib/record/locales/later.mjs +13 -0
- package/src/lib/record/locales/later.mjs.map +1 -0
- package/src/lib/record/locales/tr.d.mts +6 -0
- package/src/lib/record/locales/tr.d.ts +6 -0
- package/src/lib/record/locales/tr.js +118 -0
- package/src/lib/record/locales/tr.js.map +1 -0
- package/src/lib/record/locales/tr.mjs +115 -0
- package/src/lib/record/locales/tr.mjs.map +1 -0
- package/src/lib/record/locales/ur.d.mts +9 -0
- package/src/lib/record/locales/ur.d.ts +9 -0
- package/src/lib/record/locales/ur.js +118 -0
- package/src/lib/record/locales/ur.js.map +1 -0
- package/src/lib/record/locales/ur.mjs +115 -0
- package/src/lib/record/locales/ur.mjs.map +1 -0
- package/src/lib/record/memory-codes.d.mts +37 -0
- package/src/lib/record/memory-codes.d.ts +37 -0
- package/src/lib/record/memory-codes.js +50 -0
- package/src/lib/record/memory-codes.js.map +1 -0
- package/src/lib/record/memory-codes.mjs +47 -0
- package/src/lib/record/memory-codes.mjs.map +1 -0
- package/src/lib/record/memory-data-source.d.mts +56 -2
- package/src/lib/record/memory-data-source.d.ts +56 -2
- package/src/lib/record/memory-data-source.js +67 -1
- package/src/lib/record/memory-data-source.js.map +1 -1
- package/src/lib/record/memory-data-source.mjs +67 -1
- package/src/lib/record/memory-data-source.mjs.map +1 -1
- package/src/lib/record/memory-kept.d.mts +3 -1
- package/src/lib/record/memory-kept.d.ts +3 -1
- package/src/lib/record/memory-kept.js +7 -2
- package/src/lib/record/memory-kept.js.map +1 -1
- package/src/lib/record/memory-kept.mjs +7 -2
- package/src/lib/record/memory-kept.mjs.map +1 -1
- package/src/lib/record/memory-later.d.mts +3 -1
- package/src/lib/record/memory-later.d.ts +3 -1
- package/src/lib/record/memory-later.js +9 -5
- package/src/lib/record/memory-later.js.map +1 -1
- package/src/lib/record/memory-later.mjs +8 -4
- package/src/lib/record/memory-later.mjs.map +1 -1
- package/src/lib/record/memory-live.d.mts +8 -0
- package/src/lib/record/memory-live.d.ts +8 -0
- package/src/lib/record/memory-live.js +70 -0
- package/src/lib/record/memory-live.js.map +1 -0
- package/src/lib/record/memory-live.mjs +67 -0
- package/src/lib/record/memory-live.mjs.map +1 -0
- package/src/lib/record/memory-views.d.mts +11 -0
- package/src/lib/record/memory-views.d.ts +11 -0
- package/src/lib/record/memory-views.js +60 -0
- package/src/lib/record/memory-views.js.map +1 -0
- package/src/lib/record/memory-views.mjs +57 -0
- package/src/lib/record/memory-views.mjs.map +1 -0
- package/src/lib/record/messages.d.mts +21 -3
- package/src/lib/record/messages.d.ts +21 -3
- package/src/lib/record/messages.js +15 -2
- package/src/lib/record/messages.js.map +1 -1
- package/src/lib/record/messages.mjs +15 -2
- package/src/lib/record/messages.mjs.map +1 -1
- package/src/lib/record/order.d.mts +21 -0
- package/src/lib/record/order.d.ts +21 -0
- package/src/lib/record/order.js +129 -0
- package/src/lib/record/order.js.map +1 -0
- package/src/lib/record/order.mjs +122 -0
- package/src/lib/record/order.mjs.map +1 -0
- package/src/lib/record/outbox-form.d.mts +79 -0
- package/src/lib/record/outbox-form.d.ts +79 -0
- package/src/lib/record/outbox-form.js +291 -0
- package/src/lib/record/outbox-form.js.map +1 -0
- package/src/lib/record/outbox-form.mjs +286 -0
- package/src/lib/record/outbox-form.mjs.map +1 -0
- package/src/lib/record/outbox-part.d.mts +6 -0
- package/src/lib/record/outbox-part.d.ts +6 -0
- package/src/lib/record/outbox-part.js +13 -0
- package/src/lib/record/outbox-part.js.map +1 -0
- package/src/lib/record/outbox-part.mjs +7 -0
- package/src/lib/record/outbox-part.mjs.map +1 -0
- package/src/lib/record/pay-part.d.mts +6 -0
- package/src/lib/record/pay-part.d.ts +6 -0
- package/src/lib/record/pay-part.js +11 -0
- package/src/lib/record/pay-part.js.map +1 -0
- package/src/lib/record/pay-part.mjs +7 -0
- package/src/lib/record/pay-part.mjs.map +1 -0
- package/src/lib/record/payment-form.d.mts +25 -0
- package/src/lib/record/payment-form.d.ts +25 -0
- package/src/lib/record/payment-form.js +98 -0
- package/src/lib/record/payment-form.js.map +1 -0
- package/src/lib/record/payment-form.mjs +95 -0
- package/src/lib/record/payment-form.mjs.map +1 -0
- package/src/lib/record/prefill-part.d.mts +7 -0
- package/src/lib/record/prefill-part.d.ts +7 -0
- package/src/lib/record/prefill-part.js +15 -0
- package/src/lib/record/prefill-part.js.map +1 -0
- package/src/lib/record/prefill-part.mjs +8 -0
- package/src/lib/record/prefill-part.mjs.map +1 -0
- package/src/lib/record/press-undo.d.mts +42 -0
- package/src/lib/record/press-undo.d.ts +42 -0
- package/src/lib/record/press-undo.js +115 -0
- package/src/lib/record/press-undo.js.map +1 -0
- package/src/lib/record/press-undo.mjs +110 -0
- package/src/lib/record/press-undo.mjs.map +1 -0
- package/src/lib/record/quiz.d.mts +36 -0
- package/src/lib/record/quiz.d.ts +36 -0
- package/src/lib/record/quiz.js +90 -0
- package/src/lib/record/quiz.js.map +1 -0
- package/src/lib/record/quiz.mjs +87 -0
- package/src/lib/record/quiz.mjs.map +1 -0
- package/src/lib/record/record-words.js +1 -1
- package/src/lib/record/record-words.js.map +1 -1
- package/src/lib/record/record-words.mjs +1 -1
- package/src/lib/record/record-words.mjs.map +1 -1
- package/src/lib/record/run.d.mts +54 -2
- package/src/lib/record/run.d.ts +54 -2
- package/src/lib/record/run.js +30 -6
- package/src/lib/record/run.js.map +1 -1
- package/src/lib/record/run.mjs +28 -5
- package/src/lib/record/run.mjs.map +1 -1
- package/src/lib/record/survey-kit.d.mts +37 -0
- package/src/lib/record/survey-kit.d.ts +37 -0
- package/src/lib/record/survey-kit.js +99 -0
- package/src/lib/record/survey-kit.js.map +1 -0
- package/src/lib/record/survey-kit.mjs +96 -0
- package/src/lib/record/survey-kit.mjs.map +1 -0
- package/src/lib/record/survey.d.mts +16 -0
- package/src/lib/record/survey.d.ts +16 -0
- package/src/lib/record/survey.js +17 -0
- package/src/lib/record/survey.js.map +1 -0
- package/src/lib/record/survey.mjs +13 -0
- package/src/lib/record/survey.mjs.map +1 -0
- package/src/lib/record/surveyflow-part.d.mts +9 -0
- package/src/lib/record/surveyflow-part.d.ts +9 -0
- package/src/lib/record/surveyflow-part.js +20 -0
- package/src/lib/record/surveyflow-part.js.map +1 -0
- package/src/lib/record/surveyflow-part.mjs +10 -0
- package/src/lib/record/surveyflow-part.mjs.map +1 -0
- package/src/lib/record/timing.d.mts +76 -0
- package/src/lib/record/timing.d.ts +76 -0
- package/src/lib/record/timing.js +112 -0
- package/src/lib/record/timing.js.map +1 -0
- package/src/lib/record/timing.mjs +104 -0
- package/src/lib/record/timing.mjs.map +1 -0
- package/src/lib/record/undo-later.d.mts +9 -0
- package/src/lib/record/undo-later.d.ts +9 -0
- package/src/lib/record/undo-later.js +10 -0
- package/src/lib/record/undo-later.js.map +1 -0
- package/src/lib/record/undo-later.mjs +7 -0
- package/src/lib/record/undo-later.mjs.map +1 -0
- package/src/lib/record/undo-part.d.mts +8 -0
- package/src/lib/record/undo-part.d.ts +8 -0
- package/src/lib/record/undo-part.js +17 -0
- package/src/lib/record/undo-part.js.map +1 -0
- package/src/lib/record/undo-part.mjs +9 -0
- package/src/lib/record/undo-part.mjs.map +1 -0
- package/src/lib/record/upload-to-later.d.mts +10 -0
- package/src/lib/record/upload-to-later.d.ts +10 -0
- package/src/lib/record/upload-to-later.js +15 -0
- package/src/lib/record/upload-to-later.js.map +1 -0
- package/src/lib/record/upload-to-later.mjs +12 -0
- package/src/lib/record/upload-to-later.mjs.map +1 -0
- package/src/lib/record/uploads.d.mts +5 -0
- package/src/lib/record/uploads.d.ts +5 -0
- package/src/lib/record/uploads.js.map +1 -1
- package/src/lib/record/uploads.mjs.map +1 -1
- package/src/lib/record/values.d.mts +6 -0
- package/src/lib/record/values.d.ts +6 -0
- package/src/lib/record/values.js.map +1 -1
- package/src/lib/record/values.mjs.map +1 -1
- package/src/lib/record/verify-form.d.mts +24 -0
- package/src/lib/record/verify-form.d.ts +24 -0
- package/src/lib/record/verify-form.js +65 -0
- package/src/lib/record/verify-form.js.map +1 -0
- package/src/lib/record/verify-form.mjs +62 -0
- package/src/lib/record/verify-form.mjs.map +1 -0
- package/src/lib/record/verify-part.d.mts +6 -0
- package/src/lib/record/verify-part.d.ts +6 -0
- package/src/lib/record/verify-part.js +11 -0
- package/src/lib/record/verify-part.js.map +1 -0
- package/src/lib/record/verify-part.mjs +7 -0
- package/src/lib/record/verify-part.mjs.map +1 -0
- package/src/lib/record/words-chunks.d.mts +37 -0
- package/src/lib/record/words-chunks.d.ts +37 -0
- package/src/lib/record/words-chunks.js +94 -0
- package/src/lib/record/words-chunks.js.map +1 -0
- package/src/lib/record/words-chunks.mjs +86 -0
- package/src/lib/record/words-chunks.mjs.map +1 -0
- package/src/runtime.d.mts +28 -6
- package/src/runtime.d.ts +28 -6
- package/src/runtime.js +35 -6
- package/src/runtime.js.map +1 -1
- package/src/runtime.mjs +15 -3
- package/src/runtime.mjs.map +1 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { FilterCondition, Fields, Option, PropertyDefinition } from '../format/field.mjs';
|
|
2
|
+
import type { QuizResults } from './quiz.mjs';
|
|
2
3
|
import type { JsonValue } from '../format/json.mjs';
|
|
3
4
|
import type { Page } from '../format/page.mjs';
|
|
4
5
|
import type { FileValue, RecordId, RelatedRecord, Values } from './values.mjs';
|
|
5
6
|
import type { RunStop } from './run.mjs';
|
|
6
7
|
import type { DateInterval } from './periods.mjs';
|
|
8
|
+
import type { Facet } from './search.mjs';
|
|
7
9
|
/**
|
|
8
10
|
* How Fieldia reaches data. Fieldia knows no backend: an app implements this
|
|
9
11
|
* interface for its own (a Flectra adapter, a REST client, a survey store),
|
|
@@ -35,6 +37,23 @@ export interface DataSource {
|
|
|
35
37
|
list?(request: ListRequest): Promise<ListResult>;
|
|
36
38
|
/** How many records fall under each value of a field, for a list's Group By. */
|
|
37
39
|
groups?(request: GroupRequest): Promise<Group[]>;
|
|
40
|
+
/**
|
|
41
|
+
* The views kept for a list on the app's server: each a name and how the list stands — its search, its order and
|
|
42
|
+
* its columns — the person's own and those shared with their team, the same on every device. Asked as the list
|
|
43
|
+
* opens, before its records: it opens on the person's own default view, else the team's. Without it, a person's
|
|
44
|
+
* searches are kept as favourites in their browser (the viewer's `preferences`), as before.
|
|
45
|
+
*/
|
|
46
|
+
views?(request: ViewsRequest): Promise<SavedView[]>;
|
|
47
|
+
/**
|
|
48
|
+
* Keep a view: a new one (no `id`), or one of the person's own again (its `id`) — its name, how the list stands,
|
|
49
|
+
* shared with the team or not, the default or not. Answer with it as kept, its `id` given. A view kept as the default
|
|
50
|
+
* is the only one: the person's own default, or the team's (a shared one) — let go of the one before. Refused
|
|
51
|
+
* (thrown, its message in the person's words), the menu says so and nothing is kept. Without it, views are listed
|
|
52
|
+
* and put on, and none is saved.
|
|
53
|
+
*/
|
|
54
|
+
saveView?(request: SaveViewRequest): Promise<SavedView>;
|
|
55
|
+
/** Delete one of the person's own views. Without it, the menu deletes none. */
|
|
56
|
+
deleteView?(request: DeleteViewRequest): Promise<void>;
|
|
38
57
|
/** The choices of one of the app's lists, for a selection with `optionsFrom` — a page's field, or a table's line by its values. */
|
|
39
58
|
options?(request: OptionsRequest): Promise<Option[]>;
|
|
40
59
|
/** The definitions of a properties field with `definitionsFrom`: those the linked record keeps. */
|
|
@@ -210,6 +229,59 @@ export interface DataSource {
|
|
|
210
229
|
* this (a search that finds few, a model your server does not gather). To fail, throw: the map says so.
|
|
211
230
|
*/
|
|
212
231
|
clusters?(request: ClustersRequest): Promise<ClustersResult | false>;
|
|
232
|
+
/**
|
|
233
|
+
* Send a code that proves the person owns an email or a phone, for a field whose node says `options.verify`: by
|
|
234
|
+
* email, SMS, WhatsApp — your app's own way (its mail service, Twilio, a WhatsApp gateway); Fieldia sends nothing and
|
|
235
|
+
* holds no keys. Answer with how long it works, how soon another may be asked for and how many digits it has; throw
|
|
236
|
+
* `saveRefused({ kind: 'rule', message })` to refuse it in your words ("Too many codes for this number: try in an
|
|
237
|
+
* hour"). With `checkCode`; without both, no field asks for a code.
|
|
238
|
+
*/
|
|
239
|
+
sendCode?(request: SendCodeRequest): Promise<SentCode>;
|
|
240
|
+
/**
|
|
241
|
+
* Check the code the person typed for the value it was sent to: right, wrong (with the tries left), or expired. Answer
|
|
242
|
+
* right with a `proof` of your own — a signed token — and every send carries it (`verified`), so your server trusts
|
|
243
|
+
* the value without asking again. With `sendCode`.
|
|
244
|
+
*/
|
|
245
|
+
checkCode?(request: CheckCodeRequest): Promise<CodeChecked>;
|
|
246
|
+
/**
|
|
247
|
+
* Take a payment the answers wait for (a page's `payment`): a reservation fee, a deposit — your app's own way, through
|
|
248
|
+
* its own provider (Stripe, Paymob, Fawry, PayPal…); Fieldia holds no keys and no provider's code. Called inside the
|
|
249
|
+
* person's press of Pay, so you may open the provider's checkout in a window of its own; or draw it in `slot`, an
|
|
250
|
+
* element in the payment step. Answer once it is over: paid (with the provider's reference, which the send carries),
|
|
251
|
+
* failed (with why) or cancelled; nothing is sent until it is paid. Stop when `signal` aborts (the person pressed
|
|
252
|
+
* Cancel, or left). `key` is the same for every try of one response's payment: hand it to your provider as its
|
|
253
|
+
* idempotency key, so a payment is never taken twice. Without it, no payment is asked and the page sends as before.
|
|
254
|
+
*/
|
|
255
|
+
pay?(request: PayRequest): Promise<PayResult>;
|
|
256
|
+
/**
|
|
257
|
+
* The record templates people saved for a page (`templates` on the page): each by its id, its name and the values it
|
|
258
|
+
* keeps — this person's own and those the team shares, as the app decides. With `saveTemplate` and `deleteTemplate`,
|
|
259
|
+
* a template saved and named, or let go, on the app's server; without the three, the viewer keeps them in its
|
|
260
|
+
* `preferences`, the person's own.
|
|
261
|
+
*/
|
|
262
|
+
templates?(request: TemplatesRequest): Promise<RecordTemplate[]>;
|
|
263
|
+
/** Keep a template — a new one, or one again by its `id` (renamed, its values replaced) — answered with it as kept. */
|
|
264
|
+
saveTemplate?(request: SaveTemplateRequest): Promise<RecordTemplate>;
|
|
265
|
+
deleteTemplate?(request: TemplateRequest): Promise<void>;
|
|
266
|
+
/**
|
|
267
|
+
* Changes to the record shown, pushed as they happen elsewhere — over the app's own socket, server-sent events, a
|
|
268
|
+
* database's listener: call `push` with each, and return what stops it. Asked as a record is shown (once it has an
|
|
269
|
+
* id), stopped as another is shown or the form goes. A change arriving while the person has changed nothing is laid
|
|
270
|
+
* on the record at once, and said; after a change of theirs, it is the conflict a save would meet — who changed it
|
|
271
|
+
* and when, what both changed, with Reload and Keep mine — and their typing is never touched. Without it, a change
|
|
272
|
+
* elsewhere is found as the person saves (`versions`).
|
|
273
|
+
*
|
|
274
|
+
* The same call as @fieldia/chatter's `subscribe(record, push)` (`{ model, id }`, a push, a stop): one function of
|
|
275
|
+
* the app's may serve both, pushing every kind of change; each takes only its own `type` — the record's `record`
|
|
276
|
+
* and `deleted`, the chatter's `message` and `delivery` — and lets the rest go.
|
|
277
|
+
*/
|
|
278
|
+
subscribe?(record: RecordRequest, push: (change: RecordChange) => void): () => void;
|
|
279
|
+
/**
|
|
280
|
+
* Who else has the record shown open, pushed as it changes (the app's socket, a heartbeat): call `push` with the
|
|
281
|
+
* people — never this person — and return what stops it. Asked as a record is shown, with whether this person is
|
|
282
|
+
* changing it (`editing`), and asked again as that changes. Without it, nobody else is shown.
|
|
283
|
+
*/
|
|
284
|
+
presence?(request: PresenceRequest, push: (people: PresentPerson[]) => void): () => void;
|
|
213
285
|
}
|
|
214
286
|
/** Whose approvals are asked: the record shown, and the person, as the app told the form. */
|
|
215
287
|
export interface ApprovalsRequest {
|
|
@@ -438,6 +510,169 @@ export interface MapCluster {
|
|
|
438
510
|
/** With `weight` asked: that field added up over its records. */
|
|
439
511
|
weight?: number;
|
|
440
512
|
}
|
|
513
|
+
/** What `pay` is asked: what is due, what for, the answers it pays for, and where its checkout may be drawn. */
|
|
514
|
+
export interface PayRequest {
|
|
515
|
+
pageId: string;
|
|
516
|
+
/** The page's model; empty for a page of responses. */
|
|
517
|
+
model: string;
|
|
518
|
+
recordId: RecordId | null;
|
|
519
|
+
/** How much, in the currency's own units (10000 for EGP 10,000.00). */
|
|
520
|
+
amount: number;
|
|
521
|
+
/** ISO 4217: "EGP". */
|
|
522
|
+
currency: string;
|
|
523
|
+
/** What it is for, in the page's words: "Reservation fee". */
|
|
524
|
+
label: string;
|
|
525
|
+
description?: string;
|
|
526
|
+
/** The same for every try of this response's payment: the provider's idempotency key. */
|
|
527
|
+
key: string;
|
|
528
|
+
/** The answers it pays for, as the send would carry them. */
|
|
529
|
+
values: Values;
|
|
530
|
+
/** The page's language, by tag. */
|
|
531
|
+
language: string;
|
|
532
|
+
/** Where the provider's checkout may be drawn in the payment step: an element, in a browser. */
|
|
533
|
+
slot?: unknown;
|
|
534
|
+
/** Aborts when the person presses Cancel or leaves: stop, and answer cancelled (or reject with an error named AbortError). */
|
|
535
|
+
signal?: UploadSignal;
|
|
536
|
+
}
|
|
537
|
+
/** How a payment ended. */
|
|
538
|
+
export interface PayResult {
|
|
539
|
+
status: 'paid' | 'failed' | 'cancelled';
|
|
540
|
+
/** The provider's reference for a payment taken, sent with the answers. */
|
|
541
|
+
reference?: string;
|
|
542
|
+
/** Why it failed, in the person's words, said as it is: "The card was declined." */
|
|
543
|
+
message?: string;
|
|
544
|
+
}
|
|
545
|
+
/** What a page's payment asks now: the amount, its currency, what for, and its key. */
|
|
546
|
+
export interface PaymentDue {
|
|
547
|
+
amount: number;
|
|
548
|
+
currency: string;
|
|
549
|
+
label: string;
|
|
550
|
+
description?: string;
|
|
551
|
+
key: string;
|
|
552
|
+
}
|
|
553
|
+
/** A payment taken, as a send carries it (`payment`). */
|
|
554
|
+
export interface PaidPayment {
|
|
555
|
+
amount: number;
|
|
556
|
+
currency: string;
|
|
557
|
+
key: string;
|
|
558
|
+
reference?: string;
|
|
559
|
+
}
|
|
560
|
+
/** What `sendCode` is asked: the field, the value to prove, and how the person asked to get the code. */
|
|
561
|
+
export interface SendCodeRequest {
|
|
562
|
+
pageId: string;
|
|
563
|
+
/** The page's model; empty for a page of responses. */
|
|
564
|
+
model: string;
|
|
565
|
+
/** The record edited; null for a new one or a response. */
|
|
566
|
+
recordId: RecordId | null;
|
|
567
|
+
/** The email or phone field, by name. */
|
|
568
|
+
field: string;
|
|
569
|
+
/** What it holds now: an email address, or a phone number (E.164 where the page reads phones the world over). */
|
|
570
|
+
value: string;
|
|
571
|
+
/** What the value is: an email, or a phone. */
|
|
572
|
+
kind: 'email' | 'phone';
|
|
573
|
+
/** The way the person picked to get it — `sms`, `whatsapp`, `call`, `email`, or one of the page's own — where the page offers more than one. */
|
|
574
|
+
by?: string;
|
|
575
|
+
/** The page's language, by tag: the code's message is written in it. */
|
|
576
|
+
language: string;
|
|
577
|
+
}
|
|
578
|
+
/** A code on its way. Each part is told where the app knows it. */
|
|
579
|
+
export interface SentCode {
|
|
580
|
+
/** When it stops working, as ISO: said ("The code works for 10 minutes"), and after it, a new one is asked for. */
|
|
581
|
+
expiresAt?: string;
|
|
582
|
+
/** Seconds before another may be asked for: Send again waits so long, its count said. */
|
|
583
|
+
retryAfter?: number;
|
|
584
|
+
/** How many digits it has: its box takes so many, and checks it once they are all typed. 6 unless said. */
|
|
585
|
+
length?: number;
|
|
586
|
+
/** Your own id for it, handed back to `checkCode`. */
|
|
587
|
+
id?: string;
|
|
588
|
+
/** Words of your own, said as they are: "We sent a code to +20 10 1234 5678 on WhatsApp." */
|
|
589
|
+
message?: string;
|
|
590
|
+
}
|
|
591
|
+
/** What `checkCode` is asked: the code typed, for the value it was sent to. */
|
|
592
|
+
export interface CheckCodeRequest {
|
|
593
|
+
pageId: string;
|
|
594
|
+
model: string;
|
|
595
|
+
recordId: RecordId | null;
|
|
596
|
+
field: string;
|
|
597
|
+
value: string;
|
|
598
|
+
/** What the person typed, its digits as 0-9, without spaces. */
|
|
599
|
+
code: string;
|
|
600
|
+
/** The id `sendCode` gave it, where it gave one. */
|
|
601
|
+
id?: string;
|
|
602
|
+
}
|
|
603
|
+
/** Whether a code was right. */
|
|
604
|
+
export interface CodeChecked {
|
|
605
|
+
ok: boolean;
|
|
606
|
+
/** Right: a proof of your own (a signed token), sent with the answers so your server trusts the value as proved. */
|
|
607
|
+
proof?: string;
|
|
608
|
+
/** Wrong: how many tries are left; 0, a new code must be asked for. */
|
|
609
|
+
triesLeft?: number;
|
|
610
|
+
/** Too late: the code no longer works, and a new one must be asked for. */
|
|
611
|
+
expired?: boolean;
|
|
612
|
+
/** Words of your own, said as they are, in place of Fieldia's. */
|
|
613
|
+
message?: string;
|
|
614
|
+
}
|
|
615
|
+
/** An email or a phone the person proved they own, by a code: the value proved, and the app's proof of it. */
|
|
616
|
+
export interface VerifiedValue {
|
|
617
|
+
value: string;
|
|
618
|
+
proof?: string;
|
|
619
|
+
}
|
|
620
|
+
/** The templates of a page's records, as `templates` is asked. */
|
|
621
|
+
export interface TemplatesRequest {
|
|
622
|
+
model: string;
|
|
623
|
+
pageId: string;
|
|
624
|
+
}
|
|
625
|
+
/** One template, by its id. */
|
|
626
|
+
export interface TemplateRequest extends TemplatesRequest {
|
|
627
|
+
id: RecordId;
|
|
628
|
+
}
|
|
629
|
+
/** A template kept as `saveTemplate` is asked: without `id`, a new one. */
|
|
630
|
+
export interface SaveTemplateRequest extends TemplatesRequest {
|
|
631
|
+
template: {
|
|
632
|
+
id?: RecordId;
|
|
633
|
+
name: string;
|
|
634
|
+
values: Values;
|
|
635
|
+
};
|
|
636
|
+
}
|
|
637
|
+
/** A record's values kept by a name, to start a new one from: "Botox package". `by`, who saved it, where it is shared. */
|
|
638
|
+
export interface RecordTemplate {
|
|
639
|
+
id: RecordId;
|
|
640
|
+
name: string;
|
|
641
|
+
values: Values;
|
|
642
|
+
by?: string;
|
|
643
|
+
}
|
|
644
|
+
/**
|
|
645
|
+
* A change to a record made elsewhere (`subscribe`): `record`, its version and values now — where it leaves them out,
|
|
646
|
+
* the form reads the record again (`load`) — and who changed it and when, where no version tells; `deleted`, it is gone.
|
|
647
|
+
*/
|
|
648
|
+
export type RecordChange = {
|
|
649
|
+
type: 'record';
|
|
650
|
+
version?: RecordVersion;
|
|
651
|
+
values?: Values;
|
|
652
|
+
by?: string;
|
|
653
|
+
at?: string;
|
|
654
|
+
} | {
|
|
655
|
+
type: 'deleted';
|
|
656
|
+
by?: string;
|
|
657
|
+
at?: string;
|
|
658
|
+
};
|
|
659
|
+
/** The record shown, and this person, as `presence` is asked: whether they have changes not saved in it (`editing`). */
|
|
660
|
+
export interface PresenceRequest {
|
|
661
|
+
model: string;
|
|
662
|
+
id: RecordId;
|
|
663
|
+
user?: {
|
|
664
|
+
id: RecordId | null;
|
|
665
|
+
name?: string;
|
|
666
|
+
};
|
|
667
|
+
editing: boolean;
|
|
668
|
+
}
|
|
669
|
+
/** Someone else with the record open: their name, whether they are changing it, and their picture's address. */
|
|
670
|
+
export interface PresentPerson {
|
|
671
|
+
id: RecordId;
|
|
672
|
+
name: string;
|
|
673
|
+
editing?: boolean;
|
|
674
|
+
avatar?: string;
|
|
675
|
+
}
|
|
441
676
|
/** Whose possible duplicates were let be: what `notDuplicates` is asked. */
|
|
442
677
|
export interface NotDuplicatesRequest {
|
|
443
678
|
model: string;
|
|
@@ -491,6 +726,10 @@ export interface StoredDraft {
|
|
|
491
726
|
}>;
|
|
492
727
|
/** The fields the person answered (changed), in the page's order: where they got to. */
|
|
493
728
|
answered?: string[];
|
|
729
|
+
/** On a page that draws its order or some of its questions: the draw they were answering, kept so it opens the same. */
|
|
730
|
+
order?: Record<string, string[]>;
|
|
731
|
+
/** On a page with time limits: when each started, as ISO — the page's under `#form`, a step's by its id. */
|
|
732
|
+
timers?: Record<string, string>;
|
|
494
733
|
/** When it was kept, as ISO. */
|
|
495
734
|
savedAt: string;
|
|
496
735
|
}
|
|
@@ -777,6 +1016,18 @@ export interface SaveRequest {
|
|
|
777
1016
|
version?: RecordVersion;
|
|
778
1017
|
/** The key of the draft these changes were kept in on the server (`saveDraft`): the source may let it go. */
|
|
779
1018
|
draft?: string;
|
|
1019
|
+
/** The emails and phones proved by a code (`options.verify`), by field: the value and the app's own proof, to trust it by. */
|
|
1020
|
+
verified?: Record<string, VerifiedValue>;
|
|
1021
|
+
/** The payment the answers waited for (a page's `payment`), taken: its amount, currency, key and the provider's reference. */
|
|
1022
|
+
payment?: PaidPayment;
|
|
1023
|
+
/**
|
|
1024
|
+
* A send kept on the device without signal and sent later (a page's `outbox`): its key — the same for every try, so a
|
|
1025
|
+
* server that kept the first can tell a second — and when it was made.
|
|
1026
|
+
*/
|
|
1027
|
+
queued?: {
|
|
1028
|
+
key: string;
|
|
1029
|
+
at: string;
|
|
1030
|
+
};
|
|
780
1031
|
}
|
|
781
1032
|
export interface SaveResult {
|
|
782
1033
|
id: RecordId;
|
|
@@ -867,6 +1118,57 @@ export interface ListedRecord {
|
|
|
867
1118
|
/** What the person may do with it: its row's buttons and a bulk edit keep to it. */
|
|
868
1119
|
can?: RecordPermissions;
|
|
869
1120
|
}
|
|
1121
|
+
/** Which list's views (`views`, `saveView`, `deleteView`): the page, its model and the list on it. */
|
|
1122
|
+
export interface ViewsRequest {
|
|
1123
|
+
pageId: string;
|
|
1124
|
+
model: string;
|
|
1125
|
+
/** The list's id on the page (its layout's `id`): a page may hold more than one. */
|
|
1126
|
+
list: string;
|
|
1127
|
+
}
|
|
1128
|
+
/** A column as a list keeps it for a person: shown or hidden, in its place in their order, and its width in pixels where they sized it. */
|
|
1129
|
+
export interface ColumnState {
|
|
1130
|
+
colId: string;
|
|
1131
|
+
width?: number | null;
|
|
1132
|
+
hide?: boolean;
|
|
1133
|
+
}
|
|
1134
|
+
/** How a list stands, as a saved view keeps it. */
|
|
1135
|
+
export interface ViewState {
|
|
1136
|
+
/** Its search, as the search bar's chips: the filters on, the fields grouped by, a field's values, a person's own conditions. */
|
|
1137
|
+
facets: Facet[];
|
|
1138
|
+
/** The keys chosen from its headers, the first leading; none or left out: the list's own order. */
|
|
1139
|
+
sort?: SortOrder[];
|
|
1140
|
+
/** The columns, in the person's order, those hidden marked — where the list lets a person choose (`optionalColumns`). */
|
|
1141
|
+
columns?: ColumnState[];
|
|
1142
|
+
}
|
|
1143
|
+
/** A view kept on the app's server: what `views` answers, and `saveView` gives back. */
|
|
1144
|
+
export interface SavedView {
|
|
1145
|
+
/** The source's own key for it. */
|
|
1146
|
+
id: string;
|
|
1147
|
+
name: string;
|
|
1148
|
+
state: ViewState;
|
|
1149
|
+
/** Shared with the team: everyone who opens this list is offered it. Else the person's own alone. */
|
|
1150
|
+
shared?: boolean;
|
|
1151
|
+
/** The list opens on it: the person's own default first, else the team's (a shared one). */
|
|
1152
|
+
isDefault?: boolean;
|
|
1153
|
+
/** The person's own: theirs to keep again and delete. Another's shared view is only put on. */
|
|
1154
|
+
mine?: boolean;
|
|
1155
|
+
/** Who made it, said beside another's shared view: "Mona Adel". */
|
|
1156
|
+
by?: string;
|
|
1157
|
+
}
|
|
1158
|
+
/** A view to keep: new, or one of the person's own by its `id`. */
|
|
1159
|
+
export interface SaveViewRequest extends ViewsRequest {
|
|
1160
|
+
view: {
|
|
1161
|
+
id?: string;
|
|
1162
|
+
name: string;
|
|
1163
|
+
state: ViewState;
|
|
1164
|
+
shared?: boolean;
|
|
1165
|
+
isDefault?: boolean;
|
|
1166
|
+
};
|
|
1167
|
+
}
|
|
1168
|
+
/** One of the person's own views to delete, by its `id`. */
|
|
1169
|
+
export interface DeleteViewRequest extends ViewsRequest {
|
|
1170
|
+
id: string;
|
|
1171
|
+
}
|
|
870
1172
|
/**
|
|
871
1173
|
* How a date's records are grouped: by the day, week, month, quarter or year
|
|
872
1174
|
* each falls in rather than by its exact value. Each group's `value` is then
|
|
@@ -1009,6 +1311,30 @@ export interface SubmitRequest {
|
|
|
1009
1311
|
bot?: BotReport;
|
|
1010
1312
|
/** The key of the draft these answers were kept in on the server (`saveDraft`): the source may let it go, or mark it sent. */
|
|
1011
1313
|
draft?: string;
|
|
1314
|
+
/**
|
|
1315
|
+
* On a page that draws its order or some of its questions (`order: "random"`, `draw`): for each part drawn, its parts'
|
|
1316
|
+
* ids in the order this person was shown — those not drawn left out, their answers not among `values`.
|
|
1317
|
+
*/
|
|
1318
|
+
order?: Record<string, string[]>;
|
|
1319
|
+
/**
|
|
1320
|
+
* On a page with a time limit (`timeLimit`): when the person pressed Start, as ISO, and whether the time ran out — the
|
|
1321
|
+
* answers then sent as they stood. A step's limit run out says `timeUp: false` with no `started`. The browser's clock:
|
|
1322
|
+
* a server that must be sure keeps its own.
|
|
1323
|
+
*/
|
|
1324
|
+
started?: string;
|
|
1325
|
+
timeUp?: boolean;
|
|
1326
|
+
/** The emails and phones proved by a code (`options.verify`), by field: the value and the app's own proof, to trust it by. */
|
|
1327
|
+
verified?: Record<string, VerifiedValue>;
|
|
1328
|
+
/** The payment the answers waited for (a page's `payment`), taken: its amount, currency, key and the provider's reference. */
|
|
1329
|
+
payment?: PaidPayment;
|
|
1330
|
+
/**
|
|
1331
|
+
* A send kept on the device without signal and sent later (a page's `outbox`): its key — the same for every try, so a
|
|
1332
|
+
* server that kept the first can tell a second — and when it was made.
|
|
1333
|
+
*/
|
|
1334
|
+
queued?: {
|
|
1335
|
+
key: string;
|
|
1336
|
+
at: string;
|
|
1337
|
+
};
|
|
1012
1338
|
}
|
|
1013
1339
|
/**
|
|
1014
1340
|
* What a page's bot check saw as its answers were sent. A person never fills the hidden box and takes longer than a
|
|
@@ -1034,6 +1360,11 @@ export interface SubmitResult {
|
|
|
1034
1360
|
* answers themselves stay as they were sent.
|
|
1035
1361
|
*/
|
|
1036
1362
|
values?: Values;
|
|
1363
|
+
/**
|
|
1364
|
+
* A quiz's results as the app marked them on its server (`quiz` on the page), shown in place of those the page works
|
|
1365
|
+
* out: for a test that keeps its right answers out of the page. See `QuizResults`.
|
|
1366
|
+
*/
|
|
1367
|
+
quiz?: QuizResults;
|
|
1037
1368
|
}
|
|
1038
1369
|
/**
|
|
1039
1370
|
* What changed, using the operation names Odoo gives its x2many commands, so
|